Profile

Cover photo
Lex Spoon
Works at Semmle
Attended Clemson University
589 followers|75,413 views
AboutPostsPhotosYouTubeReviews

Stream

Lex Spoon

Shared publicly  - 
 
After working with a few good managers, I would just say that "scoping" is part of any mature software development effort. It's one of those things that developers do other than write code.

In the given example, like Eric says, you can't just say, "I'm going to support conversion of arbitrary CVS repositories". You obviously don't want to spend a lot of time on converting a crufty old repository that nobody even cares about any more. Rather, you want to choose what inputs you support. It's a choice, and two key factors in that choice are how useful a given kind of input is to support, and how much work it will take.
1
Joel Webber's profile photo
 
I also think it's worthwhile to try and characterize the sorts of problems that tend to drop you squarely in Zeno-territory.

I would propose that almost all non-trivial file-format conversions fall into this pit, for a simple-if-non-obvious reason: You almost never have as clear an idea what you're trying to do as you think, because in the edge cases "doing the right thing" is almost always undefined. Even converting raw, uncompressed images from one format to another produces edge cases that have no clear answer -- they support different ranges of bit-depth, different sorts of metadata, different color spaces, and so forth. You can easily spend ages trying to do the "best thing" for these conversions, yet still be left with cases where the "plugs just don't fit" and there's no good answer.
Add a comment...

Lex Spoon

Shared publicly  - 
 
Has anyone tried this package? Does it work reliably and easily? I'm wondering if it's worth the price tag compared to buying a good webcam and using individuals' laptops to join a Hangout. The latter would have the advantage of also being compatible with Webex.
Chromebox, plus everything you need for video meetings.
1
Add a comment...

Lex Spoon

Shared publicly  - 
 
I did not think they would really open source it. Neat.
8
2
Philippe Lhoste's profile photoMarkus Kohler's profile photoStephane Gallès's profile photoHilmar Hoffmann's profile photo
4 comments
 
+Philippe Lhoste goggles build system is known to be very advanced, and for sure could help those millions of Java and C/C++ programmers out there to get much more productive.  I don't think MSBuild has similar functionality (reliable incremental and parallel builds , potentially using a distributed cache with 99% hit rate)

For an older description see
http://google-engtools.blogspot.de/2011/08/build-in-cloud-how-build-system-works.html
Add a comment...

Lex Spoon

Shared publicly  - 
 
Cay describes this as a caching problem and a JRE problem, but the original sin is that XML files include a schema link at all. When you receive an XML file, what you really want to do is check the file against your version of the schema--the schema you are ready to support--not whatever random schema the sender used.
3
Markus Kohler's profile photo
 
This is a very frequent performance issue. For example several Eclipse plugins suffer from that problem (subclipse for example). But I think this is als a Java specification problem. The default seems to be that the DTD will be retrieved and schema validation will be done. Changing the default to not do schema validation would solve the problem.  
Add a comment...

Lex Spoon

Shared publicly  - 
 
If you've been doing any research or tool development around Scala, don't overlook the upcoming Scala Symposium. The paper deadline is in a few weeks.
Scala Symposium 2015. June 13-14, Portland, Oregon, USA. Co-located with PLDI'15. The leading forum for research & development related to the Scala programming language. Call for papers. Academic Contributions. Research Papers. Papers describing original research or experience reports related to ...
1
Add a comment...

Lex Spoon

Shared publicly  - 
 
Interesting comments about choice of code review tools. GitHub is both revolutionary for the open source world, and yet aggravatingly limited.
 
For those wondering why we settled on Gerrit rather than GitHub when migrating to Git from Subversion.
I'd add side-by-side diffs (split diffs) which have only been introduced last September.

https://talks.golang.org/2015/state-of-go.slide#7
View original post
3
1
Darlene Wallach's profile photo
Add a comment...

Lex Spoon

Shared publicly  - 
 
Obvious ideas in today's business world, but interestingly difficult to implement if you have to go through school boards and teachers' unions.

Imagine what it would take to get from where we are to teachers having "reliable feedback on their classroom performance". Or how about this quiet little comment: "These methods involved a lot of change at the schools involved, including changing a number of principals and teachers."
Roland Fryer offers an insightful and charming essay about his journey to becoming a K-12 school reformer in "21st Century Inequality: The Declining Significance of Discrimination," appearing in the Fall 2014 issue of  Issues...
1
Add a comment...
Have him in circles
589 people
Chris Hansen's profile photo
James Mullins's profile photo
Bill Jacky's profile photo
Unnsse Khan's profile photo
Johan Prinsloo's profile photo
Sanket Patel's profile photo
Lee Style's profile photo
Rob Heittman's profile photo
Stephane Gallès's profile photo

Lex Spoon

Shared publicly  - 
 
Nice try, Microsoft. I'm sure you've never heard of Chrome, and that's why you only list IE and Firefox as browsers one of your users might be using.
1
Joel Webber's profile photoBrian Petty's profile photo
2 comments
 
Eh, even Microsoft stuff doesn't really use Silverlight anymore.
Add a comment...

Lex Spoon

Shared publicly  - 
 
Spark seems to be a big growth area for Scala. You really don't want to write map-reduce style code in raw Java.
A new survey from startups Databricks and Typesafe revealed some interesting insights into how software developers are using the Apache Spark data-processing framework. Spark is an open source project that has attracted a lot of attention — and a lot of investment — over the past couple years as a faster, easier alternative to MapReduce…
1
Add a comment...

Lex Spoon

Shared publicly  - 
 
Every build is special
Since Semmle's business involves integrating with our customers' builds, I'm very sympathetic to Tim Boudreau's perspective on simple plain-jane builds that just work : But with time and enough consulting customers, you grow a real appreciation for projects...
Since Semmle's business involves integrating with our customers' builds, I'm very sympathetic to Tim Boudreau's perspective on simple plain-jane builds that just work: But with time and enough consulting customers, you grow ...
1
Add a comment...

Lex Spoon

Shared publicly  - 
 
There shouldn't be any issue with annotations being recursive. Like with non-final variables referenced by inner classes, I don't understand the quantity of ink being spilled by Java designers over this. With Scala annotations, we just made them recursive without thinking about it, and nothing goes wrong.

I increasingly think that every CS fan should learn about algebraic data types (ADTs). They're the algebraic version of data definition, and they show up all over the place once you start recognizing them. In the case of annotations, every annotation is associated--via its arguments--with some sort of model of the sorts of things the annotation can say. To define that model, you want to at least have what you can do with ADTs, or it's going to frustrate users.

It's just common to want to say, for example, that a unit of measure is either meters, or seconds, or the product of two measures, or the quotient of two measures. Those last two cases are recursive.
2
1
Hilmar Hoffmann's profile photo
Add a comment...

Lex Spoon

Shared publicly  - 
 
The paper predicts a steady decline in the development of new software, but the opposite is happening, which suggests the model is missing some important factor. As one possibility, maybe they haven't properly accounted for the growth of new firms and business models. For example, the demand for Unix kernel developers has indeed plummeted over time, like the article predicts. However, humanity hasn't just stopped working as a result. Instead, new companies are forming, and they are writing tremendous amounts of software.

A typical megacorp will have hundreds if not thousands of software developers. Their work is mostly invisible to the outside world, because they write software to make their own business work better. Software development will only die off once company formation dies off.
Seth G. Benzell, Laurence J. Kotlikoff, Guillermo LaGarda, and Jeffrey D. Sachs write, over time, as the stock of legacy code grows, the demand for new code and, thus for high-tech workers, falls. ...
1
Daniel Egnor's profile photoJoel Webber's profile photo
3 comments
 
+Daniel Egnor Indeed. I think that we can expect the development of old classes of things to asymptotically approach epsilon.

The same thing's true of other design problems. Every once in a blue moon, someone comes along and revisits the core design of things we've been doing for thousands of years, like bridges or cookware. But for the most part, the basic design of these things is pretty static.
Add a comment...
People
Have him in circles
589 people
Chris Hansen's profile photo
James Mullins's profile photo
Bill Jacky's profile photo
Unnsse Khan's profile photo
Johan Prinsloo's profile photo
Sanket Patel's profile photo
Lee Style's profile photo
Rob Heittman's profile photo
Stephane Gallès's profile photo
Collections Lex is following
Education
  • Clemson University
  • Georgia Institute of Technology
Links
YouTube
Contributor to
Story
Tagline
Software engineer at Semmle
Work
Occupation
software engineer
Employment
  • Semmle
    2012 - present
  • LogicBlox
    2012
  • Google
  • IBM
  • EPFL
Basic Information
Gender
Male
We've always had good experience with Estes, both for repair and for sales. Thanks to Raymond, Patrick, and Jonathan for excellent repairs and installation, and thanks to Chris on sales for telling me what I need to know but skipping any hard-sell tactics.
Public - 9 months ago
reviewed 9 months ago
They have excellent pizza and a good selection of beer. Definitely try the "monster slice". It is cooked to order and is accurately named.
Food: ExcellentDecor: GoodService: Excellent
Public - a year ago
reviewed a year ago
2 reviews
Map
Map
Map