A LITTLE BIT OF HISTORY I remember the sinking feeling I had when the Communications Decency Act (CDA) passed, back in the 1990s. I was stunned. A veil was ripped off for me. I had grown up with...
http://blog.lexspoon.org/2024/03/coevolving-with-new-technology.html
In 2003, Dan Bernstein wrote about the IPv6 mess , focusing primarily on the lack of viable migration plan. Avery Pennarun wrote again about the problem in 2011, also with a focus on the lack of...
Today I ran into a great book chapter by Erik Kuefler and Lisa Carey about Google's build system philosophy . It's all very good, but one part that stood out to me is the distinction between a ta...
http://blog.lexspoon.org/2023/09/task-based-build-systems.html
I've been hacking in M4 recently, and I ran across a great article about M4 by Michael Breen. I highly recommend it for anyone either using M4 (e.g. for Autotools or for Bison), or considering M...
http://blog.lexspoon.org/2023/06/why-m4-macro-syntax-goes-so-wrong.html
Here's a sampling trick that comes up all the time in industry, but that took me a while to work out. The problem goes like this: > Suppose a server is receiving a sequence of events,�...
In a previous post, I showed that the standard build rules for C code are unreliable . Let me describe two ways to do better. In the interest of brevity, I will describe the build rules using a...
http://blog.lexspoon.org/2016/05/supporting-c-in-build-system.html
The standard way of integrating C into a build system is to use automatic dependencies generated from the compiler . Gcc and Clang can emit a list of the header files they read if you run them wi...
http://blog.lexspoon.org/2016/05/standard-build-rules-for-c-are.html
When geeking out about language design, it's tempting to focus on the things that require learning something new to even understand how it works. SAM types require understanding target typing, an...
http://blog.lexspoon.org/2016/04/two-little-things-i-wish-java-would-add.html
Discussion on the Scala collections revamp is starting to get mystical. It really bugs me: good language design makes a huge difference, but it's hard to see unless you actually deal with thousa...
http://blog.lexspoon.org/2015/11/the-mystics-are-coming-out.html
It looks like Martin Odersky is considering an overhaul of Scala's collections : > A redesign of the standard library is on the roadmap for one of the > next Scala versions (c...
http://blog.lexspoon.org/2015/10/initial-input-on-scala-collections.html
Ken Clark has posted the top seven things he likes about shame mobs . Here's a taste: > 5) Internet shame mobs weigh the evidence carefully and deliberately > before attacking, so�...
http://blog.lexspoon.org/2015/08/ken-clark-has-posted-top-seven-things.html
It's hard to beat lines of code as a complexity metric: the subjective complexity of a piece of code seems to correlate very well with its length. Over the years, many other metrics have been dev...
http://blog.lexspoon.org/2015/07/finding-and-fixing-complicated-code.html
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�...
http://blog.lexspoon.org/2015/03/every-build-is-special.html
While clamping down on private encryption is bad policy, both for the economy and for privacy, I don't think it's technically impossible to implement. Let me draw a couple of comparisons to show ...
http://blog.lexspoon.org/2015/01/surveillance-states-are-possible.html
Don't take me wrong. I know a dog is just a dog, and a pet is just a pet. There are people reading this who have cancer, and there are some who have outlived their human children. On the scal...
It's nice to see someone else reach the following conclusion : > "For those familiar with SSH, you should realize that public key > pinning is nearly identical to SSH's Strict...
> The FCC’s latest proposal for network neutrality rules creates > space for broadband carriers to offer “paid prioritization” > services. While the sale of such pri...
http://blog.lexspoon.org/2014/11/fcc-inches-away-from-neutrality.html
Via Arnold Kling , I see Jesse Rothstein trying to prove that you can't measure teaching ability, or perhaps even that teaching ability doesn't matter: > Like all quasi-experiments, this o...
http://blog.lexspoon.org/2014/10/three-tiers-of-classrooms.html
I previously wrote that predictable performance is a practical challenge for using attribute grammars on real work . It does little good to quickly write the first version of a compiler pass if y...
http://blog.lexspoon.org/2014/06/edoardo-vacchi-on-attribute-grammars.html
Apple has put out Swift , which sounds like a nice language overall. Here is my flagrantly non-humble opinion about how its features line up with what I consider modern, well-established aspects ...
http://blog.lexspoon.org/2014/06/my-analysis-of-swift-language.html
I forwarded a link about Network Neutrality to Google Plus, and it got a lot of comments about how Internet access should be treated like a utility. I think that's a reasonable perspective to st...
http://blog.lexspoon.org/2014/01/is-internet-access-utility.html
I see continued assumptions by people that the real names policies of Facebook and Google Plus have actual teeth. I've posted before on whether real names are truly enforced on Facebook , and ...
http://blog.lexspoon.org/2013/11/its-ad-targeting-isnt-it.html
Type inference can make code much better. It can save you from writing down something that is completely obvious, and thus a total waste of space to write down. For example, type inference is hel...
http://blog.lexspoon.org/2013/06/when-to-best-use-type-inference.html
I've been exclusively using Google Voice for months now, and just for voice mail for more than a year. I feel like the plain-old telephone system (POTS) is an unreasonably high toll to pay given ...
http://blog.lexspoon.org/2013/04/google-voice-after-several-months.html
It's getting out of hand the way C compilers exploit undefined behavior. I see via John Regehr's blog that there is a SPEC benchmark being turned into a noop via an undefined-behavior argument . ...
http://blog.lexspoon.org/2013/03/c-compilers-exploiting-undefined.html