2008
Aye, ye are a scum!
ScummC: A Scumm Compiler - write your own SCUMM games! Man this takes me back to the first two Monkey Island games. I still think the best examples of the point and click adventure game genre were from LucasArts. (Via _why)
Designing with type
Techniques for designing with type characters ~ Authentic Boredom:
Typography and typefaces, without a doubt, are two of the most fascinating aspects of visual design. Great designers can execute great designs with typefaces and nothing else, if required, and certainly if preferred. Design legends Saul Bass and Paula Scher have proved this many times over, and they comprise only a fraction of a very long list of luminaries who can wield type brilliantly.
As I’ve tried to better grasp typography and designing with it, I’ve found its ideal for developers looking to improve their visual design skills. You don’t need drawing skills and you can work in monochromes until you’re ready to try fancy color palettes.
"Science Machine" from birth to completion
How Chad Pugh’s brilliant “Science Machine” came to life:
This illustration is the inspiration behind the Vimeo login page, which is itself a pretty outstanding example of the genre. If you’re quick, you can order a print of the illustration itself.
(Just for my own ego gratification, I’d like to note that I saw this before it appeared on Kottke. And thus, I am a wonderful and unique snowflake.)
Interviewed by RubyLearning
Ruby Interview: Adam Keys of FiveRuns - Satish’s ability to find an absurd picture of me from five years ago is impressive. The interview focuses on ideas for buddying Rubyists. So if you’re budding, check it out. Really, you should at least check it out for the picture.
I'll see you at Dallas TechFest
For the past couple of months I’ve been -procrastinating- helping to organize the Ruby track for the Dallas TechFest Dallas TechFest. Its is a language and technology agnostic conference on May 3rd. There are tracks covering Ruby, Java, .NET, Emerging Technologies and Flex. Its a great opportunity to see sessions on your own language of choice while learning what the other guys are up to, all under one roof.
Confirmed speakers for the Ruby track are:
- Jim Hughes
- Yehuda Katz
- Glenn Vanderburg
…and myself. Other presentations of interest to Rubyists:
- Getting started with the ASP.NET MVC framework
- REST: the basics and the not so basic
- Pardon the interruption: what’s the deal with Groovy?
- Developing native applications for the iPhone
- Google Android
I hope you’ll come out on May 3rd, 2008 learn something new, either in the area you work with today, or in a new technology that interests you.
Cost: $0 (!) Where: Addison Conference and Theatre Center When: May 3rd, 2008, 8 AM to 7 PM
Dean Allen on LOST
Dean Allen on LOST:
It’s crap. Utter, arbitrary crap. They make it up as they go along.
I’m not judging, but he could prove correct. Oddly enough I found this on his colophon page. Interesting information architecture there.
Save it for your iVillage blog
I started playing Halo 3 again this week. I am quite rusty at it now - I think I regressed while others greatly advanced. But, that’s a digression.
So I dropped into matchmaking on Xbox Live this morning and joined a group playing the new maps. As I entered the game lobby, a guy was yammering on. It wasn’t your typical “UR GAY” banter you normally get on Xbox Live. This guy was going on about his very mundane Sunday afternoon, even detailing the sandwich he’d had. Now, since the level of decorum on Xbox Live is pretty low (read: non-existent), I put him in his place.
I told him to “save it for his iVillage blog.”
Dead silence…lesson learned! 30 Rock viewers and those playing Halo 3 are a pretty disparate set.
Rails Scenarios
Rails Scenarios - a sane way to specify really complex fixtures in Rails. Lets you write classes to specify data and helpers to operate on that data. There’s a sane way to compose data and create relationships, as well as support for test/unit and RSpec. Personally, I’m currently in a not-unhappy place with YAML fixtures, but if you aren’t, this is worth a look.
Ballmen for Half Life 2
Ballmen Mod - a Half Life 2 mod where you can walk on walls and do all sorts of insane jumping due to weird gravity. Please tell me someone is making a Möbius strip map for this mod. I'd always wanted to make one of those for Quake 2.
Corrupted by cosmic rays
ACID Databases: Fact and Fiction
"A final note: There are other things that can go wrong, such as the disk not writing the data properly, a bit in memory being flipped by a cosmic ray, etc which only redundancy can solve. "
There is something distinctly awesome about mentioning data loss by cosmic rays. I do it whenever I have the means.
LOL License
Boy, do I have a treat for you! And by “treat”, I mean embarrassing for me, hilarious for you.
I found the license I got on my eighteenth birthday. Back in the day when I had long hair and looked, more or less, like Jesus. And, wore Hawaiian shirts quite frequently. For some reason, I decided not to smile. As you can see, the sum of all this is that I end up looking like a convict.
Laugh it up, fuzzballs.
Its a musical rollercoaster
If jazz is more your thing, then you should watch this animation based on “Giant Steps”.
Say it quickly
Like everyone on the internet, I’m trying this whole Flickr video thing:
90 seconds is tough, but I love the idea. Chris Griego also had a great idea about the coolness of what’s going on here:
Sweet, just like Flickr legitimized posting screenshots and illustration, videos can be marked as screencasts and animation.
Ryan Norbauer's got the right idea
Amy Hoy interviews Ryan Norbauer. This got my attention:
"Simplification, unification, and reduction: these are the values of a great craftsperson, whether she's a tradesperson in the guild of ideas, words, paintings, or software."
Tackling complexity in software:
Programming should be about making things that seem complicated easy to handle.
The world of the programmer:
In this way, programmers are really lucky. Unlike biologists or mechanical engineers, who have to deal with the world on its own terms, programmers deal in a world that is entirely of their own making. We have the luxury of being able to re-work and re-invent our world to make it easier to understand. Physicists don't have the option of re-writing the laws of relativity in order to make the cosmos easier to understand for everyone, but programmers do have an analogous power. If something like the exchange of data over the web, or the modeling of database records as programmatic objects is too complex, we have the power to invent a new world that makes everything easier to get our head around.
Its a long interview, but worth it if any of the above resonates with you.
IIS 7, IE 8, Iron Ruby MEGA-MIX
Not only do you get a Mega-MIX, I’ll try it in haiku form. Because, I’m feeling sassy.
h2. On IIS
Metabase to angle brackets; FastCGI now, Mongrel later on
Decoded: they dropped the metabase for XML configuration, they can PHP and Rails apps through FastCGI now and they’re working on something like @mod_proxy_balancer@
h2. On IE 8
Security blah Many fancy features; ask Chris for IE validator
Decoded: even more security improvements, lots of fancy new features (see Ajaxian for more coverage), and over beers, Chris Wilson thought it was not entirely implausible to build some manner of Firebug extension that warns you about possible IE incompatibilities in the current page.
h2. On IronRuby
Rails someday; outside people build test suite; polyglot code reality
Decoded: they want to run Rails on IIS at some point, some non-MS contributors built them a test suite so they know what Ruby interpreter APIs they need to build but didn’t have to poke around in MRI to figure it out, programming in multiple languages using the DLR on top of the CLR is possible.
Anders Hejlsberg is your new bicycle
Ding Ding Ding! We have a winner. Anders Hejlsberg is quite possibly the most clued-in designer of a mainstream programming language. The work that Anders Hejlsberg is doing with C# is amazingly progressive and forward thinking. He’s putting ideas like lambdas, type inference and anonymous classes in a mainstream languages used by armies of programmers. This, to a programming language nerd like myself, is a big deal.
So what’s the motivation behind all this? Well, he started off by saying that data does not equal objects. We’ve got data in XML, databases and all manners of weird files. Thus begat LINQ (Language Integrated Query) which makes querying data a first class citizen in C#. In doing so, you start to insinuate a declarative language inside an imperative one.
During his quick tour of LINQ, Anders made a point to emphasize his idea that “we over-specify the solution” in our programs, leaving little room for the execution infrastructure to do intelligent things. He shows some imperative code for ordering, grouping and filtering data, basically a rats nest of loops and conditionals. Using LINQ he refactors the code down to a simple, albeit SQL-ish query.
Once you’ve declared just the essence of your program to the implementation, it can do clever things to make it go faster. For instance, there’s a parallel version of LINQ in the works. Your average developers gets this “for free” by expressing his queries in LINQ. Thankfully, LINQ is just sugar for a straight-up .NET API, so the younger generation of developers who have never used SQL, let alone @malloc@ can still play. ;)
When he was wrapping up, Anders made a comment that, in the future, they are looking into making languages more like services. I think this is a strategy that they share with Sun – it’s not so much about Java or C# as the interesting runtime bits they ship with. I’m not sure where this idea will go, but I like the sound of it.
Some other great Anders pseudo-quotes:
- Pure Functional programming is fantastic…the only problem is that it doesn’t work for real applications
- Transactional memory is the string theory of computer science
- Dynamic versus static typing is a pendulum that is currently swung towards the dynamic side. The answer is somewhere down the middle. (I think he’s doing a pretty decent job of dragging mainstream languages towards the middle)
- Languages shouldn’t solve a problem until the solutions is known. Otherwise, you just slap a bunch of crap onto your language.
This was my favorite presentation of the week. I’m looking forward to talking to friends who use C# about the clever programming tricks I use every day in Ruby. And it should prove fun to gang up on Java folks too! ;)
Two Microsofts
I get the impression that there are really two Microsofts. There’s Ray Ozzie’s Microsoft. He’s a geek. He gets developers. He understands technology and users. Then there’s Steve Ballmer’s Microsoft. He’s an old-school businessman in the mold of Scrooge McDuck. If Ray Ozzie is calling the shots, then there is reason to be hopeful for the future. If the buck stops with Steve Ballmer however, Microsoft is f**ked.