August 23rd, 2015
This morning BBEdit reminded me it was time to upgrade to version 11, but what really caught my eye was the copyright notice in the dialog box:
Copyright Barebones Software 1992-2015.
Has it really been more than 20 years since those early freeware versions on System 7? What is it about text editors that enables them to last so long? emacs and vi are even older.
This got me thinking. What software am I still using today that I was using 20 or more years ago?
Read the rest of this entry »
Posted in Software | Comments Off on Oldies but Goodies
May 21st, 2015
Happy 20th Birthday Java! Next year I’ll buy you a drink. InfoWorld has published some of my thoughts on the occasion, “Java at 20: How it changed programming forever”.
Posted in Java | Comments Off on Happy 20th Birthday Java!
March 30th, 2013
java.util.Arrays
uses quicksort (actually dual pivot quicksort in the most recent version) for primitive types such as int
and mergesort for objects that implement Comparable
or use a Comparator
. Why the difference? Why not pick one and use it for all cases? Robert Sedgewick suggests that “the designer’s assessment of the idea that if a programmer’s using objects maybe space is not a critically important consideration and so the extra space used by mergesort maybe’s not a problem and if the programmer’s using primitive types maybe performance is the most important thing so we use the quicksort”, but I think there’s a much more obvious reason.
Read the rest of this entry »
Posted in Java | 6 Comments »
January 20th, 2013
In my day job I work with a lot of very smart developers who graduated from top university CS programs such as MIT, CMU, and Chicago. They cut their teeth on languages like Haskell, Scheme, and Lisp. They find functional programming to be a natural, intuitive, beautiful, and efficient style of programming. They’re only wrong about one of those.
Read the rest of this entry »
Posted in Java | 77 Comments »
November 26th, 2012
Something I realized in the middle of an introductory course on cryptography when the instructor said the word “commutative” for the first time: N-bit strings with the operation XOR are an abelian group.
Read the rest of this entry »
Posted in Math | 8 Comments »