Looks like Mrs. sirhc has created a web site for our little sirhc in the oven. A baby blog, if you will.
So Mrs. sirhc is pregnant. Eight weeks today. In seven months, there will be a little sirhc or sirhcette in the house.
We broke the news to our parents today, so it’s finally safe to write about it. The urge to post about it here has been difficult to suppress, but my family does occasionally pay a visit. Today happens to be my mother’s birthday. So, after making sure my dad had the camera ready, we let her unwrap her gift—a tiny bib that reads, “I Love Grandma.” The expression on her face was priceless.
I figure that, by now, my entire family—and countless others I’m sure—have heard the news.
Allison Randal‘s session, Programming Parrot, is the first, and likely the last, session I have attended at SCALE. I’m primarily a Perl programmer and only wear my sysadmin hat because I’m paid by my employer to do so. Also, being a computer science nerd, I also really enjoy compiler theory, so here I am.
Jumping right into the talk, Allison started off with the general idea of Parrot. It is a virtual machine (VM) meant to be a target for multiple (or all, really) dynamic languages. Think Perl, Python, Ruby, TCL, Lua, etc. Much like Perl itself, the overarching idea is to provide tools to make the act of writing compilers not only possible, but relatively easy.
When Parrot started, some seven years ago, people laughed when they said it would be a VM for dynamic languages. The JVM and .NET VM were all the rage at the time, and they are targeted at static languages. Today, those same people are touting how their VMs contain support for dynamic languages.
The rest of the session was a general overview of Parrot’s features and functionality. In brief,
- Similar to .NET, Parrot would allow any language to use libraries written in any other;
- Parrot is a register-based virtual machine, instead of the traditional stack-based design;
- Continuation objects are used to pass call state, instead of the usual method of pushing onto a call stack;
- PASM, the Parrot virtual machine’s assembly language;
- PIR, a layer on top of PASM, intended to be more programmer-friendly;
- NQP, an even higher layer, implementing many of the features from high level dynamic languages (Not Quite P(erl|ython|HP|ruby));
Following this simple, but educational, overview, Allison gave some examples for how to use the Parrot tools to write a Python compiler. This is something the Parrot team has, of course, already done. It’s called Pynie (a bit of an inside joke&emdash;see Ponie and Punie). It’s not really that much code to implement, either. Certainly not compared to what I wrote to parse “Turing” in college using Lex, Yacc, and lots of C code. It just goes to show how powerful the Parrot tools are.
I had read about much of this before, but unused information tends to slip away when not used. It was nice to have a refresher course for the overall architecture of the system. It’s all very much clearer now. I’m looking forward to finding a use for Parrot.
It’s Sunday morning and the third day of SCALE 6x. However, I didn’t attend on Friday, so it’s only day two for me. Unlike other conferences, this one doesn’t get started until 10:00 AM. That didn’t stop me from waking up at 7:00 AM and getting down to the lobby around 8:00 AM, where I now sit typing this.
I won a couple of books at the reception and raffle last night. It felt just like a KPLUG meeting, and not just because half of the membership was in attendance and several of us won prizes. I actually won three books, but I gave one away. Once you’re name has been called, they don’t give you very much time to pick out your books, and the selection was uninteresting.
After the reception, Brian took us to the Third Street Promenade in Santa Monica last night. It’s a nice area to walk around and have dinner. After dinner at FatBurger, we came back to the hotel for drinks; which was good, since I was driving.
I’ll likely spend most of my day in the Perl Mongers booth again. There is a talk on Parrot being given by Allison Randal, but I expect many of my fellow booth-sitters will also want to attend. We may have to draw straws.
It’s mid-afternoon on the expo floor. I’ve spent most of the day in the Perl Mongers booth, answering questions about Perl, and demonstrating MisterHouse and a game of pong running in Parrot, written by LA.pm‘s Juan Jose Natera. It’s my first experience hanging out in a booth and, so far, I’m really enjoying it.
I’ve just made a circuit of the expo floor, and it was pretty cool. I visited all the booths required to enter tonight’s raffle. And, just for fun, I visited a few more. It’s a lot of fun to have so many members of my local Linux User Group here, as I keep running into them in various parts of the expo hall.
There’s a full flight simulator running Linux in the row behind our booth. Unfortunately, it was crashed when I walked by, but I’m hoping to check it out later. Other than that, it’s the usual suspects: Red Hat, Novell, IBM, Sun, etc. In fact, the Google booth is a mere two stalls to my left. I firmly believe we’re taking advantage of their coolness factor to draw people to our corner. Not that I have any idea what Google’s demonstrating in their booth.
Well, I’ve arrived at SCALE 6x and, after picking up my exhibitor badge and a quick stop to introduce myself at the Perl Mongers booth (where I’m exhibiting), I’m sitting in the keynote, sort of. I’m actually in an overflow room watching the keynote via a streaming video feed being projected by someone with a laptop and a network cable. I like that, though. Keynote fills up? No problem, you can still see it.
My day hasn’t been off to a great start. After a bout of insomnia and a near collision on the 405, I arrived at the Los Angeles Airpot Westin to find the parking garage full. There was some parking that we were told was off limits, despite the lack of barrier and hidden signs. I am, instead, parked in a supposedly free garage down the block. Hopefully my car will still be there this afternoon.
As it seems the network connection for the keynote has failed, I’m going to wrap this up and see if I can find any of my fellow KPLUGgers.
On the plus side, things can really only go up from here, right?
False alarm. Seems the keynote is back on. More to come later.
Start by writing a lousy résumé. Be sure to be as general as possible so it’s impossible to understand what was actually done. Don’t forget to say in 14 bullet points what can easily be said in five. Should the desire surface to have someone proof-read the document, ignore it; it’s obviously a waste of time for something that will only be read once. Use (or should I say utilize?) as many industry buzz words as possible; nothing better indicates a long and illustrious career.
Lastly, make absolutely sure you request to reschedule your phone interview half an hour prior to its commencement. This one works especially well when I’ve cut my sleep short and arrived at work early just for your interview.