“The Quiz”

Today and tomorrow, we’re getting a Perl Guru to come in and teach a boot camp on Perl (the main programming language we use at FreeCause.)

I’ve only really heard two things about him:
1) He’s created packages that are actually distributed with the Perl programming language now.
2) He sweats unapologetically.

The first step in his boot camp is a “programming test” which is not really a knowledge test as much as it is  a series of questions he uses to expand how you think about programming.  I’m not sure how effective this was while just answering the questions, but the first thing today will be a discussion of everyone’s answers.  I think that’ll be more eye opening.

At any rate, time to get to work!  But for fun, the questions are included below, with my answers:

what is a computer?
A machine that can compute things

what is code?
A set of instructions that tell the computer what to do

what is a program?
One cohesive chunk of code that can be run as a whole

what is programming?
The act (art?) of creating programs

what is a programmer?
One who programs

what is a programming language?

A set of rules and syntax by which a programmer programs a program

what is a script?
Can also be a program, but is often smaller, with minimal GUI elements, and is usually interpreted rather than compiled directly into machine language

what is a compiler?
A program that changes what a programmer programmed into what a computer computes

what is an interpreter?
A program that performs the actions programmed without compiling into machine language

what is a virtual machine?

A program that provides a common “machine” language, to remove the need to compile for each possible “real” machines your program would run on

why is programming easy?
Like learning any country’s language, getting by only takes a week or so of practice.

why is programming hard?
If you want to be a lawyer in that language, that’s a whole other story.

when you code, who is the most important PERSON you should be thinking
about?

The person who will be using it.

other than comments, what is the most important HUMAN oriented aspect of
your code?

The interface and help

what is the number one PURPOSE of comments?

messages into the future – documenting the code for someone else to understand later.  (preventing code-rot)

bonus question (hint – it is a trick answer):
what is the opposite of spaghetti code?

antipasto code?

The Bodega

One of the (very welcome) interruptions during the marathon IKEA construction effort of 2008. was when Casey came in with his roommate Pablo and asked if we wanted to go with them on a quest to find a secret shoe store they’d heard of called “The Bodega.”

We drove into Boston, picked up Casey’s 3rd roommate, and started our quest.  Technically, I guess the quest proper ended about 60 seconds later because Casey had somehow found its address online on some obscure forum.

It turned out to be closed early on Sunday.  (We were 15 minutes late at 5:15!  Blast!)  But here’s why I don’t care that it took a half hour away from quality pizza and IKEA building time:

The Bodega has no website, no phone number, and not even sign outside.  In fact, the storefront is actually a run-down dirty completely unremarkable convenience store, also with no sign.  Apparently, some people walk in, grab some food, a touristy thing, or a drink… then pay at the register and leave, never knowing any better.

But supposedly, if you go up to the Snapple machine in the back, find a specific broken tile, and push it down with your foot… the Snapple machine rolls to the side and reveals an entranceway to… The Bodega.

According to what Casey heard, The Bodega itself is a secret shoe store that has rare or vintage shoes that are extremely hard to find anywhere else.  I’m not even that into the whole shoe culture (a friend of mine from UMD’s art program used to collect rare shoes and had a collection worth many 1000′s of dollars) but I’m ridiculously excited to see what they’ve got.

When we got there and the door was locked, we did get the girl at the convenience store cash register to come to the door though.  We got some minor verification when she didn’t question anything when we asked about The Bodega’s business hours.  They close at 6 tomorrow.

So we hopped back into Casey’s car, disappointed but bouncing from excitement that we actually may have found it.  Then – and I’m not making this up – as we pulled away, over the top of soap boxes and ancient-looking cans of food in the window, through the dirty yellowed glass, we saw the Snapple machine in the back corner of the convenience store.  It was sliding away to the left, and a bright light shone from behind it.

I can’t friggin wait.

Finally Settled In

*phew*

Today was a busy day.

The apartment we’re taking over used to be Casey’s (The CFO at FreeCause.)  He and his roommates happened to be moving out just in time.  After we got there, FreeCause realized that their new office space wouldn’t be ready in two weeks like they planned, making the old office – an awesome loft – not available for us to live in when they move like they planned.  So, luckily for us, Casey and his roommates were moving next door to a bigger place, so we just took over their old apartment.  Sweet timing, not to mention the perks of having 3 friends next-door when you need help moving and the yet-to-be-discovered perks of living next-door to the CFO of your company.

Casey went to MIT before he left to help start FreeCause, so this place is right on MIT’s campus, overlooking the Charles river.  It’s a really great view.

Last night was Lauren’s birthday (the girlfriend of Justin, one of our co-founders) and they had a party at Justin’s apartment complex’s swanky game room until about 1.  Then we tried to head to someone’s favorite bar in Cambridge, only to discover that Cambridge bars close at 1.  (Note to self:  never again leave somewhere for a Cambridge bar)

I woke up around 9:30 and we all took the T into Boston to have breakfast at FreeCause and go to the gym we joined, which is right across the street.  Then we had to be back in Cambridge at our apartment by 2 to wait for IKEA to bring us our bedrooms.  (Late last week Casey took us apartment shopping for beds, desks, a dining room table, chairs etc.)  The unloading itself wasn’t that bad.  But then constructing all our stuff took from about 3 until 11.  (Interspersed with pizza and NFL playoff games on TV)

Also, I learned something about myself today:  I’m really terrible at reading IKEA instructions.  In my defense, some of the pictures don’t actually look like the screws they should.  And certain details like “the front and back chair pieces are exactly the same, except one is an inch longer and it won’t work if you switch them.” are glossed over, showing two seemingly identical pieces of wood with dotted lines going into the chair sides.  It’s not even that I’m bad with tools – I’ve made bookcases, bunkbeds, entertainment centers, etc before… but something just did NOT click with IKEA’s instructions.  It took me 3 tries to put together a simple dining room chair…  I blazed my way through it in roughly the time it took Pat to assemble the other 3 plus the table itself.  Then I fell asleep on the couch.

When I woke up, Pat and Paul had already finished their beds and tables.

From there, I think you can guess the theme of the evening :)   BUT!  I’m all settled in now.  My bed frame is built, bed is made, desk is built, my desk chair is built, and my computer is set up.

I officially live in Cambridge.