c
compose new post
j
next post/next comment
k
previous post/previous comment
r
reply
e
edit
o
show/hide comments
t
go to top
esc
cancel

Recent Updates RSS Hide threads | Keyboard Shortcuts

  • erik 4:08 pm on March 12, 2010 | 0 Permalink | Reply
    Tags:

    new PyPy release. Much faster than CPython running some of my tools http://morepypy.blogspot.com/2010/03/introducing-pypy-12-release.html

     
  • erik 10:00 am on March 12, 2010 | 0 Permalink | Reply
    Tags:

    re2 – "an efficient, principled regular expression library" – Should make for interesting source code reading.
     
  • erik 9:32 am on March 11, 2010 | 0 Permalink | Reply
    Tags:

    Every time I hear stories about runaway cars, I’m reminded of the eX-Driver anime series http://en.wikipedia.org/wiki/%C3%89X-Driver

     
  • erik 7:28 pm on March 10, 2010 | 0 Permalink | Reply
    Tags:

    glad my pre-”drive by wire” car only “suddenly accelerates” when I ask it to. Mechanical controls FTW!

     
  • erik 3:54 pm on March 10, 2010 | 0 Permalink | Reply
    Tags:

    Really interesting UI for an IDE:
    http://www.cs.brown.edu/people/acb/codebubbles_site.htm Great for wall-sized, multi-touch displays ;-)

     
  • erik 1:16 pm on March 10, 2010 | 0 Permalink | Reply
    Tags:

    careful out there — it’s hailing downtown!

     
  • erik 9:00 pm on March 1, 2010 | 0 Permalink | Reply
    Tags:

    Internet Explorer: Global Variables, and Stack Overflows – File away under "Obscure details to remember about bizarre JavaScript behavior in IE" — this case, " any recursion that happens through the window object is limited to a stack depth of 12"
     
  • erik 9:00 pm on February 26, 2010 | 0 Permalink | Reply
    Tags:

    Cocoa Text System – Nice examples on how to modify OS X keybindings. I didn't realize you could define macros like this.
     
  • erik 12:00 pm on February 26, 2010 | 0 Permalink | Reply
    Tags:

    Teambox | Project collaboration – Looks like a nice way to collaborate on projects. I like the use of short status messages (ala Twitter) and simple task lists.
     
  • erik 10:10 am on February 24, 2010 | 0 Permalink | Reply
    Tags:

    I expect future cars to have location-aware speedometers that display your current speed relative to the speed limit of the road you’re on

     
  • erik 10:36 am on February 23, 2010 | 0 Permalink | Reply
    Tags:

    enjoying the surprisingly heavy snow — almost doesn’t look like Texas outside

     
  • erik 8:02 pm on February 19, 2010 | 0 Permalink | Reply
    Tags: , , ,

    jsmacro 0.2.3

    The latest jsmacro (v0.2.3) adds support for “else” clauses to “if”, “ifdef”, and “ifndef” statements. Combine this with the command-line variable definition support and you can now do fun things like this:

    
    //@ifdef IE6_BUILD
     ...custom IE6 code here
    //@else
     ...code for other browsers here
    //@end
    

    Of course, this goes against the idea that your JavaScript would remain usable for development without needing to be processed, but it’s just an example. Longer term, I hope to have a different approach available that will allow conditional code substitution so that browser specific optimizations won’t get in the way of an easy development/test/debug process.

     
  • erik 10:02 am on February 17, 2010 | 0 Permalink | Reply
    Tags: , ,

    “Coders at Work”

    Coders at Work book cover

    I finished reading “Coders at Work last night. In it, author Peter Seibel interviews 15 legendary programmers, discussing how they got started with computers, how they learned to program, how they read and debug code, etc. The interviews cover a wide range of opinions and approaches, and offers a fascinating look at “computer science” history.

    The format of the book is a little unusual, in that it’s entirely interview transcripts. No analysis. No author-interpretation. Just recorded conversations. At first it’s a little surprising that one can publish a book like this; But then you get into the content and it’s wonderfully engaging. Analysis and interpretation would just get in the way of letting these folks talk. Reading direct quotes makes the content all the more exciting.

    The book isn’t for everyone (obviously), but I rather enjoyed it. There’s some great stories about the history of our profession, and many topics raised that inspired additional research. (I went out and found a number of research papers referenced in the interviews, and bookmarked a lot of content for further exploration.) There’s also a fair amount on the history of different programming languages, and I have a fascination with programming languages, so it was a great fit.

    A few take-away themes and ideas:

    • While programming was no easy task in the early days, at least it was possible to fully-understand the hardware and all the software running it (as opposed to modern computers.) The modern computing environment presents very different challenges to present-day programmers, especially those new to the field.
    • Even some of best use print statements.
    • Passion and enthusiasm separate good programmers from great ones.
    • In academia, you have time to think about the “best” solution, without the deadlines imposed on commercial developers.
    • There’s certainly a component of “doing great work” that requires being in the right place at the right time — sometimes it’s just a matter of getting staffed on the right project.
    • There’s some negativity towards C/C++ in here, mostly due to it’s negative impact on compiler and high-level language development. (i.e., one school of thought is that you give people a high-level language and make the compiler smart. The other is that you give people a low-level language and let them do the work. Unfortunately, humans aren’t so good at hand-writing code optimized for concurrency, but once you have a language that let’s them try, it’s hard to fund compiler research.)

    Here’s a few of the quotes I highlighted while reading:

    “One of the most important things for having a successful project is having people that have enough experience that they build the right thing. And barring that, if it’s something that you haven’t built before, that you don’t know how to do, then the next best thing you can do is to be flexible enough that if you build the wrong thing you can adjust.” — Peter Norvig

    “…there are user-interface things where you just don’t know until you build it. You think this interaction will be great but then you show it to the user and half the users just can’t get it.” — Peter Norvig

    “I get so much of a thrill bringing things to life that it doesn’t even matter if it’s wrong at first. The point is, that as soon as it comes to life it starts telling you what it is.” — Dan Ingalls

    “…a complex algorithm requires complex code. And I’d much rather have a simple algorithm and simple code…” — Ken Thompson

    “If you can really work hard and get some little piece of a big program to run twice as fast, then you could have gotten the whole program to run twice as fast if you had just waited a year or two.” — Ken Thompson

    “if they’d have asked, ‘How did you fix the bug?’ my answer would have been, ‘I couldn’t understand the code well enough to figure out what it was doing, so I rewrote it.’” — Bernie Cosell

    “You have to supplement what your job is asking you to do. If your job requires that you do a Tcl thing, just learning enough Tcl to build the interface for the job is barely adequate. The right thing is, that weekend start hacking up some Tcl things so that by Monday morning you’re pretty well versed in the mechanics of it.” — Bernie Cosell

    “…computer-program source code is for people, not for computers. Computers don’t care.” — Bernie Cosell

    “if you rewrite a hundred lines of code, you may well have fixed the one bug and introduced six new ones.” — Bernie Cosell

    “I had two convictions, which actually served me well: that programs ought to make sense and there are very, very few inherently hard problems. Anything that looks really hard or tricky is probably more the product of the programmer not fully understanding what they needed to do” — Bernie Cosell

    “You never, ever fix the bug in the place where you find it. My rule is, ‘If you knew then what you know now about the fact that this piece of code is broken, how would you have organized this piece of the routine?’” — Bernie Cosell

    “Part of what I call the artistry of the computer program is how easy it is for future people to be able to change it without breaking it.” — Bernie Cosell

     
  • erik 5:00 pm on February 16, 2010 | 0 Permalink | Reply
    Tags:

    textorize: Pristine font rendering for the web – OS X command-line tool (in Ruby) for rendering bitmap text.
     
  • erik 12:00 pm on February 16, 2010 | 0 Permalink | Reply
    Tags:

    manuel’s cyberlisp at master – GitHub – "A Lisp-to-JavaScript compiler"
     
  • erik 5:02 pm on February 9, 2010 | 0 Permalink | Reply
    Tags:

    django-devserver – GitHub – A replacement for django's runserver that supports additional debugging/profiling for request handling. Could be handy in development.
     
  • erik 9:48 am on February 4, 2010 | 0 Permalink | Reply
    Tags: , ,

    jsmacro 0.2.2

    jsmacro 0.2 was a full rewrite (because version 0.2’s are always a full rewrite.) It’s now a little closer to what I was originally thinking. Instead of a line-by-line state machine, the parser now uses regex, and dynamically calls macro-handling methods based on the name of the macro. That’s a little vague, but in practice it means that extending the macro language is easier, and it may be possible to do it on-the-fly (as in, writing new macro implementations within the JavaScript source file that’s being parsed — which is a geeky goal I’m going for.)

    Other new additions:

    • Test files are now picked-up automatically when named correctly. This makes it painless to add more tests.
    • Added support for setting DEFINE flags from the command-line. Handy if you automate builds for different environments (like IE6 vs. the rest of the world.)
    • Added support for #ifdef and #ifndef

    The next big hurdles will be how to handle else statements, and coming up with a reason to implement some type of #inline capability.

     
  • erik 5:00 pm on January 28, 2010 | 0 Permalink | Reply
    Tags:

    XUI | javascript micro-framework – A JavaScript "framework" for mobile devices. Something to dig into later…
     
  • erik 1:59 pm on January 27, 2010 | 2 Permalink | Reply
    Tags:

    Bummer, the iPad SDK is for paid developers only.

     
    • Kevin J 9:20 pm on January 27, 2010 Permalink | Reply

      iPad = o-ver rat-ed, *clap* *clap* *clapclapclap*

      • erik 9:44 pm on January 27, 2010 Permalink | Reply

        I’ll remember that when you want to borrow mine ;-)

  • erik 9:00 pm on January 25, 2010 | 0 Permalink | Reply
    Tags:

    Common Lisp: A Gentle Introduction to Symbolic Computation – Yet another Lisp book. Apparently I can't get enough of these…