IT'S PUBLIC!
This is what I have been working on for the past year and months.
Canonical Launches Web-Based Systems Management Tool For Ubuntu Deployments
Tales of a Programming Hobo
This is what I have been working on for the past year and months.
Canonical Launches Web-Based Systems Management Tool For Ubuntu Deployments
Posted by
Christopher Armstrong
at
Monday, July 23, 2007
2
comments
Links to this post
Sometimes computing jargon is pretty idiotic.
Take the words "synchronous" and "asynchronous".
A synchronous API is one which blocks until a result is available.
An asynchronous API is one which returns immediately and lets you do other things until it notifies you of the result.
Now take the English definitions:
Synchronous \Syn"chro*nous\, a. [Gr. ?; sy`n with + ? time. Cf.
{Chronicle}.]
Happening at the same time; simultaneous.
Asynchronous \A*syn"chro*nous\, a. [Gr. ? not + synchronous.]
Not simultaneous; not concurrent in time; -- opposed to
{synchronous}.
Posted by
Christopher Armstrong
at
Monday, July 16, 2007
6
comments
Links to this post
Last month I ordered a copy of the Nintendo DS Browser (by Opera) from Amazon. When it arrived I was all ready to start syphoning porns from the very air we breathe, but my dreams were to be cut short, as I discovered that the Opera browser requires a Memory Expansion Pak, which, while included, was incompatible with my *original* DS. It would only actually fit in a DS Lite. Through observation I deduced that the physical interface was basically the same and that it would probably work in my original DS, if it weren't for the lip that was on the top of the cartridge preventing me from actually pushing the thing far enough into the DS for it to make electronic contact. I decided that it was time for a hardware hack.
All I needed to find was a file to rip off the lip so that it could be jammed in there. I didn't have one, of course, so I got the closest thing I could find: a giant bolt that Jp had left over from a table he built.
After filing the lip off, my room smelled like burnt plastic all night. Oh well. 
Then I tested that it would fit into the DS by half-inserting it upside down to see if the lip would fit past.
I then realized that if I actually put the cartridge into the DS, I would have no mechanism with which to remove it. I tried taping a twist-tie onto the cartridge but that proved pretty weak; I then realized that putting packing tape on both sides of the cartridge would be the best.
Going in..
I then jammed it the rest of the way in with the back end of my stylus.
It works wonderfully. There may be other DS Lite-only expansion cartridges out there, and this technique will probably work on those. Tell me if you have any luck.
Posted by
Christopher Armstrong
at
Saturday, July 14, 2007
8
comments
Links to this post
Canonical just released a Python-based ORM called Storm.
http://storm.canonical.com/
Mostly it was developed by Gustavo Niemeyer, but since we're in the same team at Canonical and it's developed primarily for our project, I have contributed bits and pieces.
Communal ties will of course require me to mention Storm in relation to Axiom. While I'm still a big fan of Axiom, I do think Storm is definitely the best ORM (now) available for any project which needs to talk to a database other than SQLite, especially remotely.
The design is simple and straightforward, and the code is well-tested. As a cranky, bitter young man, I must maintain my image; frankly, I'm really shocked by the low quality of the Leading ORMs available for Python or any other language. Storm, fortunately, does many of the things that are obvious to most people who are familiar with how to write software which uses an SQL database, and leaves out the useless crap. Of course, it's not perfect, but now that it's open source, we can accept your patches :-)
Figuring out the best way to use Storm from an asynchronous codebase will be a challenge, probably, but there are techniques for it that are usable right now—one of them being "Just block because your indexes are defined to be fast"—but that isn't always appropriate. There are some other simple options, and maybe some complex ones too. I'll probably post (or get someone else to post) about those in the future.
Posted by
Christopher Armstrong
at
Monday, July 09, 2007
9
comments
Links to this post