Henry Cipolla

I hate blog taglines.

Just got back from The Cambridge Enterprise Web 2.0 Meetup

As the title implies, I just got back from this meetup. As with all meetups, the people were great, there was a lot of interesting people, and I’ve received several new ways of looking at the application Andrew and I are currently working on. I think it is definitely true that great ideas are not created in a room alone.

Anyway, here are some of the links for people that came up in some of the discussions I had:

I’m sure I forgot something, but hopefully this is sufficient for now. :)

P.S. I don’t see any way to change Gmail’s threading model…

Custom Super Mario World level which plays music with items

One of the convenient things about having a blog is that whenever I come across a nifty thing online I can just write about it once here and link my friends, rather than explain it time and time again.

Quick background:
Super Mario World is remembered by many as one of the greatest games of all time. It is so popular that the emulation community hacked up the game in such a way that allows the creation of custom levels. A new game was even released by the emulation community called Super Demo World which turns Mario World into a side-scrolling puzzle game.

This video:
Today, one of the popular things in the emulation community is creating levels in which the player does not touch the controls and instead, the level moves Mario about. Here is one such video except it also uses all of the items in the game to make a very well done musical score:

The link
http://kotaku.com/387830/this-hands+free-super-mario-world-level-plays-sweet-sweet-music

It kind of sounds like the songs we made in Mario Paint.

Iron Man is a Batman Clone

I went to see Iron Man last weekend and, unsurprisingly, I have three opinions to share:

  1. Does anybody else think it is slightly ridiculous that his solution to the problem of being captured by terrorists is to create an all-powerful suit powered by some futuristic reactor? The man is trapped in a bunker, being watched by cameras 24 hours a day, and surrounded by explosives. Isn’t there anything more practical? It worked out for him, but only because his captors were complete dolts.
  2. I enjoyed the movie. I was particularly partial to his interaction with his own robots. This was extremely well done and very comical. Again we get into the problem of, why a super suit? If he is so capable that he built robots with intelligence so great they can make jokes and banter with us, why is he bothering with suits and not just super-robots?
  3. I felt like the character was a lot like Batman. But I wasn’t so sure so I made the following table:
    Tony Stark Bruce Wayne
    Has no parents around Has no parents around
    Has an assistant who makes everything possible Has a butler who makes everything possible
    Is fantastically wealthy Is fantastically wealthy
    Got his money from a company his father created Got his money from a company his father created
    The company is named after his father The company is named after his father
    Was almost kicked out of his own company Was almost kicked out of his own company
    Uses technology to fight crime Uses technology to fight crime
  4. Criticism aside, it was enjoyable. I’d recommend it. It is fun being old enough that all the movies coming out are remakes of television shows I watched as a kid!

Video of Noah spinning at Lime Rock

This is my blog and it is the summer so it wouldn’t feel right if I didn’t have a video clip of some sort of car event up here. Unfortunately I have very little to show for myself since I’m saving my money for my company but 2 weeks ago Noah had a really good spin at Lime Rock I figured I’d share. He wrote a little blurb about it on pansypatrol.com.

A True Gamer’s Video Clip

One of my friends linked me to this video which made me chuckle because it appealed to the gamer in me. I wish it weren’t so, but I definitely a know a lot of guys who would rather have the Playstation than the girl. Personally, I’d take both. :)

Solutions to common problems encountered while configuring your PC to dual boot Vista and OSX

PC Laptop + OSX There are a bunch of guides out there on how to dual boot Vista and OS X on your PC. While I have listed the general steps that I followed below, this post is intended to be a troubleshooting guide for some of the weird problems you can run into while trying to do this.

hfs+ partition error on boot
This usually means that you have a problem with your master boot record (MBR) or the partition id is unrecognizable to the loader. To fix this:

  1. boot the Mac OS Installer DVD
  2. from the Utilities menu, open a terminal
  3. from the terminal run
    fdisk /dev/rdisk0 (or whatever device you are using)
  4. look for your OS X partition. If the id for it is not ‘AF’ then setting it to AF should fix your problem. This is concerning though because Apple’s Disk Utility should set this properly.
  5. if the id is AF then you can rebuild your MBR by quitting fdisk and running
    fdisk -u /dev/rdisk0

b0 error on boot
This is usually caused by the OSX partition not being marked as active. To fix this:

  1. boot the MAC OS Installer DVD and open a terminal from the Utilities menu
  2. launch fdisk with
    fdisk -e /dev/rdisk0 (or appropriate device)
  3. press p and enter to see a list of partitions
  4. find your Mac OSX partition in the list
  5. type f to make it active. For example if the partition you want to make active is number 1, type:
    f 1
  6. enter the command:
    write to commit the changes
  7. on reboot, things work.

Windows fails to boot, claiming \Windows\system32\winload.exe is missing or corrupted
There are a number of things that can cause this. Fortunately this is really easy to fix. Just pop in your Vista DVD and run through the automated recovery to have it rebuild your \boot\BCD and update the MBR. Note that this requires that your Vista partition be flagged as bootable.

Vista DVD is unable to find any installations of Windows to restore or when you try and install Vista it gives you the error “Windows is unable to find a System Volume that meets its criteria for installation” or when you are manually using bcdedit to fix your mbr it tells you it cannot write to the disk
As unintuitive as it sounds, this is usually caused by the Vista partition not being flagged as bootable. To fix this, follow the steps for making a partition active from the b0 error on boot instructions, except use the id of your Vista partition instead of your OSX partition.

You have both operating systems installed and can boot Vista but EasyBCD does not have the auto-configure Mac device option that you are looking for
The fix for this is to not use EasyBCD for this. I find this to be an unnecessary complication. Instead, simply copy the Darwin x86 bootsector (known as chain0) tor you local hard drive and use bcdedit to make Vista’s boot loader load Vista:

  1. Copy chain0 to c:\ (or the root of whichever drive Vista is installed on)
  2. from an elevanted command prompt do the following:
    bcdedit /copy {current} /d “Mac OS X”
    bcdedit /enum active
    this will display your active partitions Find the one labelled “Mac OS X”. Under it you’ll see a line titled “identifier” followed by a GUID sorrounded by {} chars. Copy that id
    bcdedit /set {IdYouCopied} PATH \chain0
  3. Reboot, you’ll see Mac OS X listed as an option. Select it. Then it will give 5 seconds to press a key to go into advanced options. Press any key. You’ll then see a list of all your partitions. Select the Mac partition and you should be good to go.

Steps I took to get my dual boot install working:

  1. I used the Disk Management snap-in to the Computer Management Console to shrink my Vista partition. This left me with a 30 GB Vista partition and a bunch of unpartitioned space. Using the same tool I created another 30 GB Partition.
  2. I booted the Mac Installer from a PC-bootable Mac DVD, used the Disk Partition utility to format the new partition with HFS+ (with journaling) and installed Mac on my box
  3. Installer finished, rebooted my machine and gave me HFS+ error
  4. I Rebooted the Mac Installer to fix that (this step is not necessary)
    Made the Vista Partition bootable and rebooted to see that Vista’s boot loader can’t find winload.exe. Used a Vista DVD to fix this
  5. booted Vista and copied chain0 to my root (c:\)
  6. used bcdedit to add an entry to the Vista Boot loader to boot Mac

Feel free to post any problems you have. Maybe somebody can answer them. :)

How to connect to your Mac from your Linux box

In a move that will surprise anybody who knows me, I’ve installed Mac OSX 10.5.2 on a Dell PC I had sitting around my office. As a side note, I was shocked at how easy it is to achieve this. I did not run into a single problem and the entire process took less than two hours from deciding I wanted to do it to having a bootable Hackintosh.

One of the first things I did was set up Screen Sharing, the Mac equivalent of remote desktop. Screen sharing is just a Macified name for VNC server which ships with OS X which means that once the server is started any VNC client should be able to connect to it. The following are instructions on how to set up Screen Sharing and connect to it from a Linux box.

Setting up the Mac

  1. On the Mac, Click on the Apple in the corner and launch System Preferences
  2. From there click sharing
  3. Click the check mark next to “Screen Sharing” this will start the VNC server.
    The sharing preferences window after Screen Sharing is started.
  4. In theory this is all you need to do. However many clients will fail with errors like “No matching Security Types” To get around this, enable vnc password-based authentication by clicking Computer Settings and clicking the checkbox next to: “VNC viewers may control screen with password:”. The Screen Sharing Settings window with a password set.

Connecting from Linux
After following these instructions the Mac should be all set as a server. So any vnc client should be able to talk to it. On my Linux box I tried TightVNC and RealVNC:

  • TightVNC: Worked by simply typing xtightvncviewer ip.of.mac.box. However, I found the performance pretty poor.
  • RealVNC: The window updates slightly quicker than TightVNC, however by default it is unable to connect to the Mac because of a problem detecting the color settings of the vnc server. So the command line to use it is
    vncviewer FullColor=1 ip.of.mac.box

In order to make the experience more palatable I recommend changing your background to a solid color. This will make a significant difference in usability. If you are using the box only as a vnc server I would also recommend changing the number of colors to as small a number as you are willing to deal with.

Took a bit of a break there

It has been a little while since I’ve written anything. Hopefully all 0 of my loyal fans will look past this slight hiatus and continue to adore me. Obviously the bulk of my time has been taken up by my quest to start a successful software company with Andrew. While we have done quite a bit of coding over the last month, our greatest achievement to date is how far we have come in terms of understanding our goals and the roadmap to them. Last night Andrew said: “this is the first time I’ve felt like I understand our plan well enough to write a very strong business plan” which I think speaks a lot for our growth in this area.

I also want to use this space to be amused. You have probably seen this already, but Apple is attacking New York city for their use of an apple in their ‘GreenNYC’ initiative to promote recycling. I find myself constantly in the company of diehard Apple fans who enjoyed pointing out all the bad/silly/unreasonable things Microsoft would do while I worked for them. Well fortunately, suing the Big Apple for copyright infringement isn’t one of them.

How to create infinite sessions with the Facebook Platform API

Like all things with Facebook Platform API, creating infinite sessions is really easy. However, there seems to be a lot of confusion and misinformation on the web about how this works. Part of this could be the fault of Facebook’s documentation. They provide a pretty good explanation of the authentication process but then the example they suggest (which is otherwise really good) relies on this line:
$facebook->set_user($user, $key);
which calls set_user() which is not referenced anywhere else that I could find in their documentation.

For some reason, people see all of this and get it in their head that the way to create an infinite session is to do the following:

  1. Send the user to www.facebook.com/login.php?api_key=key&ver=1.0
  2. Take the value that gets sent to the callback as the auth_token parameter and save it
  3. Call auth.getSession with this value
  4. Expect this to create an infinite session
  5. Instead get back error 100 “Invalid parameter” from the call to auth.getSession
  6. Write about it on the Facebook Developer’s Wiki, open bogus bugs in the Facebook bug database, and post horribly wrong things to Google Groups.

Where does the temptation to call auth.getSession come from and why are people using the auth_token when the documentation and examples clearly say you need to get the user’s session key? I tried looking to see if there was an example or tutorial somewhere that I missed that suggested this but I could not find it.

Either way, this process will yield significantly better results:

  1. Create a page which asks the user to login. You do this by directing them to the login URL: http://login.facebook.com/login.php?api_key=&v=1.0
  2. Make sure the api_key points to a valid callback page.
  3. In the callback page, get the USER’S SESSION KEY AND SAVE IT. Php Example:
    $key = $facebook->api_client->session_key;
  4. This is your infinite session key for this user. Store this along with their UID.
  5. Whenever you want to become that user, simply call
    $facebook->set_user($uid, $key);
  6. Instant infinite session.

Hopefully some confused people find this and it saves them some time and it keeps the number of bogus bugs in the Facebook database down. :)

First week, meeting people in the Boston area.

It’s been two weeks in Boston working on the startup and we are beginning to have a routine. As part of this I am going to make an effort to post weekly (ish) about what we are doing so that when all is said and done I have an entertaining log of the process.

This week Andrew and I met up with the founders of Pandemic Labs, a startup that began in the same town that I am from. They have been at this for much longer than we have so it was extremely helpful to hear what they had to say. This was an extremely encouraging meetup for me because I got to see people who had been doing this for awhile and were still passionate and happy about it.

On the topic of meetups, Andrew and I have been looking into all of the Boston area networking events that we think will be helpful for us. We have found a lot of results by searching on meetup.com. There is at least one event every week and they are all low cost which is important. The Pandemic Labs founders also recommended that we check out MITX which sounds like a very valuable resource. Finally, we are also expecting to get a lot of value out of SCORE because their name comes up a lot when talking to veterans of the startup game.

So it’s still too early to really tell anything, but the energy is good and we are moving in what feels like the right direction!

Close
E-mail It