Earlier this year, I decided I would try to create my own toy language. I'd been reading about language design, compilers, interpreters, and seriously geeking out over it. Sometimes I can really get excited by an idea that just won't leave me alone, and I'll devour everything I can find that's related. When my interest hadn't dissipated for a few months I decided the best way to get it out would be to bite the bullet and actually do something — write my own language. I wanted to create a grammar for a language and an interpreter that could take in some source code in that language and execute it. In the end, I called it Braid — feel free to check out the source on GitHub.
I went into this project with a keen interest, some vague ideas from my research, but no academic background in language design and pretty much NO IDEA WHAT I WAS DOING!
In this first part I'll talk about the tools I've picked and the lexing and parsing steps. In the second follow-up post I'll talk about bytecode, interpreters, and RPython pitfalls.
This was originally posted on the Hello Code blog.
Some of the best solutions are born of laziness. To be a programmer, after all, is to find the laziest solution to a problem. So it's quite handy that my solution for our Hello Code email addresses turned out to have a valuable side effect.
In February, I decided I would get rid of my side project of the last two years, blaster.fm. I listed it on Flippa and hoped that someone would buy it, but if not, I would just shut it down.
I wrote a blog post about the experience that had led to this point and submitted it to Hacker News, hoping that it would give the listing more exposure.
I started blaster.fm in late 2010 with only a vague idea of what I wanted to do with it. Over the next two years I would work on it for at least a few hours every week; tweaking, refining, all-out rewriting, trying to get it as close as I could to the image in my head of what it could be. It was a one-man project and I was the only developer, though I had the support of friends and early users (with a large amount of the former making up the latter) to keep me going.
I finally updated the site to reflect current standards. It was starting to get a little long in the tooth.
The results are not aesthetically amazing, but it's now HTML5 and fully responsive, so I'm happy. For now.
I have been trying to find a basic proof-of-concept for twitter user streams. I couldn't find a complete example, so I rolled my own.
I wanted to avoid the external pyCurl dependency (which means curl needs to be installed separarely on Windows) so I switched the pyCurl callback method you might have come across with some rather naive urllib2 buffering.
It works, though, and that's the important part.
If you use Firefox 5, 6, 7, 8, or greater in Windows, without ClearType, you've probably noticed how abysmal the font rendering is.
However, there's an easy fix. In about:config, find the preference gfx.direct2d.disabled and toggle this to true. Restart and your fonts will now look as they used to, which is to say, not nearly as horrible.
I don't consider myself a designer at all, but I do enjoy pushing pixels. So recently I've done a tiny bit of work designing icons for various projects other than my own.
On the left is the icon for MahTunes, from The League of Paul. I think only the source is available at this stage.
On the right is the icon for Convertor, a webOS app by Coding Bees.
While not incredibly awesome, they're a start and hopefully something I can look back on in twelve months and laugh at scornfully because I'll be so much better.
...unless it can show you all of your open app windows and let you switch between them with a swipe and a tap.
This is by far my favourite feature of webOS.
I recently signed up as to the Android Market as a developer so I could buy a "Google Dev Phone 1" which is an unlocked HTC Dream/G1. I've been interested in Android as an open-source competitor to the iPhone for a while, and given that the Dream has officially launched in Australia, and Australian developers are now able to submit (free only) apps to the Market, I thought I'd get a device to evaluate and maybe hack some apps on.
I'm quite interested in Palm's Pre OS too so I hope I don't end up with a Pre as well, "just to play with" :\
When the G1 was first announced I was very underwhelmed. It looked decidedly average. I maintained this opinion for a long time until I had a play with one in person a little while back. It's actually not a bad device. It fits comfortably in your hand (at least when held vertically) and though it's a bit bulky the rubberised finish is nice to hold. Specs-wise it has all the nice things — wifi, GPS, compass, QWERTY keyboard and of course a touch screen.
Older posts >