December 2011
1 post
Hysterical Raisins
This tumblog is now retired in favor of our G+ page. Just search there for “Firepear” and there we’ll be.
Dec 30th
June 2011
1 post
Setting up a Chromebook 3
The command to make the Chrome OS filesystem writable has changed. It’s now: chronos@localhost / $ sudo /usr/share/vboot/bin/make_dev_ssd.sh --remove_rootfs_verification --partitions 4 So the whole process now boils down to: Turn on dev switch Reboot Let machine reimage itself Reboot Run above command Reboot Edit /usr/bin/cros-term Why they persist in using a 12pt antialiased font,...
Jun 24th
April 2011
1 post
Setting up a Chromebook 2
Just some corrections and addenda from the last post. There actually is an editor on the system, which simplifies things enormously. Of all things, it’s qemacs. I found it by reading the credits page. The credits page says there’s vim as well, but there’s not. The urxvt in CrOS is not compiled with 256 color support, so you shouldn’t tell it that it’s xterm-256color...
Apr 5th
March 2011
4 posts
Setting up a Chromebook 1
Got my Cr-48 today. Immediately set about poking some of the things I’d been poking at in the Chromium source repository. First things first, you need to root the device and make its filesystem readable. Flip the dev switch, poweron, hit C-d at the frowny face prompt, and let it reinstall itself. Then reboot and C-d again to get to the OS. Open a terminal via C-M-t. Type...
Mar 24th
Remember Carrot?
I do. I think about it every day. I’ve more-or-less thought about it every day since 2002. Today I did some housekeeping on its repo, to make way for the stuff which will come after Roundabout.
Mar 18th
Bootstrapping
What sucks about finally giving in; about finally silencing that voice in the back of your head who tells you that it’s downright unreasonable to write so much software from scratch, and that if you just keep looking you’ll find something good enough that almost does what you need; what sucks about letting that go and deciding “Fuck it; no; no one else is ever going to write the...
Mar 7th
Halt
Roundabout development has been moving very nicely over the past 2 weeks. I think it’s time for a temporary hold, though. I need to generate a checklist from the spec, so that I can… well, you know what a checklist is for. And there’s a lot of things to be checked here. It’ll keep things much smoother once it’s done. In the future, I plan to have software support...
Mar 2nd
More about error messages
One further benefit of Carrot using Roundabout is that it will be possible to have amazingly specific and detailed error messages. Anytime an error is found in document processing, it will be easy to communicate that there was an error, what sort of error it was, where it happened, why it happened, and the full context of it happening. Basically, I’ll be able to do stack traces of documents...
Mar 1st
February 2011
3 posts
Carrot everywhere
As I’m working on Roundabout and learning Go, new possibilities for Carrot keep springing into my mind. This is refreshing and relaxing, because for a long time I was concerned (it might be fair to say “obsessed”) with convincing myself that I was not simply, pointlessly reinventing the wheel — which is to say that I was simply reimplementing TeX with different markup...
Feb 28th
Go
I think I’m really digging on Go (the language, not the game). It’s significantly more interesting than Google — always bad at telling people why their stuff is awesome/interesting — made it sound at public release, when they basically positioned it as “C, only not, and it compiles sooooo fast!” If I make it through the introductory material, I’ll...
Feb 13th
October 2010
7 posts
4 tags
Small update
urxvt can also change color definitions, and works very nicely. The only caveat is that you need to make sure TERM is set to ‘rxvt-unicode’ or terminfo will puke, and so will curses.
Oct 31st
3 tags
Oct 21st
4 tags
Curses!
After a seemingly-fabulous start, I almost immediately hit a stumbling block which has stoppered me since my last post. The problem: awesome, soothing colors in an actual xterm; angry fruit salad fail in iTerm. I have just now worked out the problem. The problem was not that iTerm didn’t have its terminal mode set to xterm-256color. The problem was also not that I didn’t have TERM set...
Oct 21st
4 tags
Oct 13th
4 tags
Oct 13th
New project
I say “new”, but really, all my projects for the past couple years have fed into/branched off of each other in very interesting ways, and this is just the latest sprout. I’m not going to say much about it, really, because it’s still on the amorphous side in my head, though it’s solidifying nicely. I will say that it involves my pending abandonment of Curses::UI. I...
Oct 12th
4 tags
Oct 12th
August 2010
3 posts
3 tags
GNUstep, works
Turns out that even if you don’t want to compile with gcc-objc, you need it installed because it’s where the base ObjC headers are. Once that was done, this worked: [mdxi@fornax test]$ make This is gnustep-make 2.4.0. Type 'make print-gnustep-make-help' for help. Making all for tool Hello... Compiling file hello.m ... Linking tool Hello ... Nice! But clang kept complaining of the...
Aug 17th
3 tags
GNUstep, First try
I’m crazy, so I’d really like to have Objective C as a target for Roundabout. If Perl is my first-implementation and reference language, I’d like to have ObjC as the “speed and power” language. The first step to making this happen is making ObjC — or more correctly, Cocoa — code compile on Linux with GNUstep. It’s been a really long time since I...
Aug 17th
2 tags
Work update
After a lot of thought and re-reading old notes, I’ve ironed out the Roundabout “reliable” message protocol. That is, how to handle message delivery in a way that guarantees no data or state loss, even over unreliable links. I’m probably just reimplementing TCP at a higher level, since the problem is so basic. Regardless, it gives me something to code against, and also to...
Aug 7th
July 2010
6 posts
2 tags
Planning
A lot of work tonight on wrangling Roundabout ideas and trying to shove them into spec form. Split the spec in two: one for the messaging protocol itself and one for defining how Messengers and Routers should behave in their interactions with each other. Writing a spec without writing an implementation in prose is an unexpectedly difficult thing. The Roundabout work led to the realization that...
Jul 29th
1 tag
Catechesis 1.002 is released
Bug fixes in the test suite; no functional changes.
Jul 29th
1 tag
And back to Roundabout.
I’m picking my notes back up and putting them all back in my head. They are surprisingly few in number. I really thought I wrote down a lot more than this. Ah, well. This here message format ain’t gonna define itself.
Jul 21st
2 tags
Catechesis 1.001 is released
No substantive code changes. All updates to the examples and docs for clarification of various things. Available on github now; CPAN once indexing is done.
Jul 19th
2 tags
Catechesis 1.000 is released
Get it while it’s hot, if you’re into that sort of thing. Please forgive the rough edges! I’m not used to delivering software in less than, say, 5 years, and github tells me it’s been “only” 13 weeks since I started work on this :)
Jul 17th
4 tags
Are we there yet, Papa Smurf?
Catechesis is almost ready for its initial release; all that’s left is doc cleanup and packaging. When processing this file, which is a test suite against this specification, this output is produced: $ catechist -s examples/math.pl examples/test_suite.txt # Running the standard Catechesis test suite! 1..11 # These tests should succeed if you have implemented the spec commands correctly ok 1...
Jul 16th
April 2010
1 post
5 tags
How to test specs
I want my software to be to-spec. This means spec tests, which is fine, because I love testing. However, I don’t want to rewrite the entire spectest suite for every language or version of a piece of software that I create. My answer to this problem is as follows: Since these are tests of conformance to a spec or API, write the tests once only, expressing them as messages These messages...
Apr 23rd
March 2010
2 posts
4 tags
Error messages are important, all the time
The title of this post has two clauses. I was already very much aware of the first one. I complain bitterly about software with shitty messages, no matter its target audience. I’ve always thought that cruddy messages in production software were a sure sign of lazy/thoughtless/rushed developers, and I’ve expended huge amounts of thought and effort making sure that Carrot (the language,...
Mar 31st
4 tags
This space got trendy all of a sudden
I started groping toward the message-passing idea (or, more correctly, groping toward coming to terms with it as a viable idea) late last year, and put an incomplete, impure, frankly bad, first whack at it inside a buildbot I wrote for work. Out of that experience came the solid ideas for Roundabout, which I started writing down around mid-January. Now, suddenly, people all over the Perl world...
Mar 4th
February 2010
3 posts
4 tags
“Since then we have witnessed the proliferation of baroque, ill-defined and,...”
– Edsger W. Dijkstra, A Discipline of Programming, 1976
Feb 24th
3 tags
Pre-viewing Roundabout
Over on the FP twitter, there’s a mention of something named “Worq”. As work on that project progressed, a new name suggested itself which was more descriptive and — more importantly — less twee. That name is Roundabout, and this post will tell you what it’s all about. It’s a message-passing framework. Or, if you prefer, a toolkit for building...
Feb 24th
4 tags
Feb 24th