I’m the type of person who loves to learn and experience new and different things whenever I can. My Parents have always shown me how exposure and experiences can enrich your life, and often times the more awkward or uncomfortable it is, the more you get out of it.
Continue reading I don’t want to miss a single life experience — even death
Climbing Mount Shasta
UPDATE: I’ve written a follow-up post which contains a lot of new information and how my two 2009 trips went.
As 2009 rolled around I decided that this would be a great year to go backpacking up Mount Shasta again. I have attempted the mountain twice in the past and topped out (i.e. reached the summit) once. This year I’m organizing a group trip, which is why I’ve started planning so early and the reason for this post. Here I will outline my experience with the mountain and what to expect.
Ganzbot: An Arduino robot who reads Twitter
This funny little robot has eyes, eyebrows and a mouth and will verbally read your latest Twitter status to you. It uses an Arduino Decima to control the head actions and receives the latest Twitter status information over USB from a host computer.
You can also send the robot something to say directly from the command line with a few Ganzbot moods to choose from. More information after the videos.
Continue reading Ganzbot: An Arduino robot who reads Twitter
Ruby on Rails: Hash#Except and Converting Arrays to Args
Tonight I was working on rewriting the event creation flow for MixerMixer, the social event community I’ve been building, and couldn’t figure out why the Hash#except method wasn’t working.
Continue reading Ruby on Rails: Hash#Except and Converting Arrays to Args
TinyUrl 2.0 supports multiple services
One of the most requested features for the TinyUrl Creator extension is to support other URL shrinking services like bit.ly and is.gd. After some dedicated research and development I have been able to add the following seven URL shrinking services to the latest version of TinyUrl (v2.0):
To change the service you’re using click Tools > Options and select the service from the dropdown list.
If you prefer another URL shrinking service and would like it to be added to this extension, leave a comment here to let me konw. Be sure to check if the service has an API, because if they don’t the extension will have to resort to screen scraping; which is pretty ugly.
Thanks for all your support.
New Feature in the TinyUrl Creator Firefox Extension
Along with upgrading all my extensions to work in Firefox 3 I also added a new feature to the TinyUrl creator extension: Link Preview.
Now the extension will find all links which have a tinyurl.com address and add a tooltip to tell you what the actual URL is. Simply hover your mouse over the link for a moment and the tooltip will appear with the full URL. Here’s an example:
I can’t actually take full credit for this idea, last month my friend Stephanie Trimble suggested it over twitter. Thanks Stephanie for the idea!
I also plan to add support for other URL shrinking services in this feature. Please post a comment here with your favorite URL shrinking service so I can be sure to add it to the list.
You can install the extension from this page: http://mozmonkey.com
As always, I really appreciate the support of my users. Thanks.
Extensions for Firefox 3 are LIVE!
I just finished updating all my extensions for Firefox 3! Thank you for your support and patients during this upgrade. The Firefox code and extension API changed a bit which required me to go back and refactor some of the code and deployment scripts. Currently the Firefox 3 versions are only available from my site (http://mozmonkey.com) and I’m working on getting them to the official addons site now.
If you have problems with any of the extensions, please leave a comment to this blog post.
Thanks for all your support.
Extensions for Firefox 3
This is just a quick blog post to let everyone know that I will be upgrading all my extensions to support Firefox 3 by the end of this week. I’m sorry for the delay, it has been hard to find time for extension development in recent months.
On a related note, I feel bad that I have not had the opportunity to spend time on my extensions and would like to see if anybody wants to step up and either help me maintain them or take them over completely. If you’re interested, please post a comment to this blog post. I do not check my mozmonkey email much anymore, due to the amount of spam it gets, so the blog comments are the best way to reach me.
Viewing localhost in VirtualBox on your Mac
Heads Up! This post is now very outdated. There’s a MUCH easier way to access localhost in VirtualBox.
Last week I explained how to convert the IE6 – IE8 VirtualPC disk images to VirtualBox on the Mac. This week I noticed something critically wrong, I can’t access localhost or any LAN IP address from inside VirtualBox. This is a huge problem if you want to do local testing in IE.
The problem is that Mac support is still rather early with VirtualBox and they only provide a NAT networking option. I wont explain what NAT is because I don’t completely understand it myself. If you’re on Linux or Windows you can simply use the bridged network and it’ll work fine.
As with any problem, there is a solution! You could go buy VMWare Fusion, which should support this out of the box, but what’s the fun and challenge in that? The fun and free solution is to use a service called DynDNS.
What is DynDNS
If you’re like most people your ISP gives you a dynamic IP, which means that your home network doesn’t always have the same IP address and every so often your ISP will assign you a different one. DynDNS will give you a free domain name that always points to your ever changing home network IP address.
This means that when you’re done you’ll load a URL like “http://<you>.dyndns.org/” instead of “localhost” inside VirtualBox. This also assumes that you have some sort of web server running on your computer to serve up the pages.
Step 1 – Web Server
Setup a simple web server like Apache or the free version of LightSpeed (free version is at the bottom of the download page).
Make sure the server is installed and running properly before proceeding.
Step 2 – DynDNS Account
Go to DynDNS, register an account and create a new host. The site has good help sections to assist you through any issues or questions you run into. (see the DynDNS How-To section)
After creating the new host, download, install and run the DNS update program. This will update the service with your new IP address every time it changes.
Step 3 – Router
If your network uses a router, you might need to update it’s settings to let the requests through to your computer inside the network. At this point it is important to realize that your router has the “main” IP, which is provided by your ISP, and each computer inside your network will get their own “internal” IP address, provided by the router itself.
First test the new DynDNS URL you created. When you load the URL in your browser does it show pages from your local web server or does the browser sit there and mock you as it endlessly spins the “loading” animation?
If your web server didn’t load anything, you might need to alter your firewall settings and/or setup port forwarding in your router. Start by checking your router manual for information on how to login and change settings on it. On my SMC wireless router after logging in I found the settings I needed under Advanced Setup > NAT > Virtual Server. There I entered the last number from my “internal” IP address (IP on my computer) and the port that should direct to that computer. So if my internal IP is 192.160.2.53 and my web server is setup to respond to port 80, I enter “53” and “80” into the fields.
Step 4 – Static Internal IP
If you had to setup port forwarding in the last step, you should also create a static internal IP on your computer. Otherwise next time you restart your computer it’s IP might be different and your URL wont work.
This step is surprisingly simple:
- Open your network preferences
- Go to the network you use (in my case “Airport”)
- Click Advanced (or similar button — I’m using Mac Leopard)
- Go to the “TCP/IP” area.
- Change the dropdown menu from “Using DHCP” to “Using DHCP with manual address”
- Enter the internal IP address you added to the port forwarding setting in your router.
- Done
Troubleshooting
If you have any problems with the setup, check out the troubleshooting page at DynDns.
Done
Now you should be able to access your local computer from inside VirtualBox with your new URL.
Running IE6, IE7 and IE8 on your Mac
UPDATE – May 6th, 2013:
Microsoft has now officially released copies of their OS/Browser bundles for all OSes using VirtualBox, Parallels or VMWare! You can get them from modern.ie.
I use a Mac, which means testing my work in IE6, IE7 and IE8 is a pain. I have Parallels installed but I don’t want to buy extra copies of Windows just to test in IE. Plus, Parallels doesn’t compress the virtual hard drive so each OS takes about 10 – 20GB of space.
The good news is that Microsoft provides free VirtualPC disk images for each of their browsers:
http://www.microsoft.com/downloads/details.aspx?FamilyId=21EABB90-958F-4B…
The bad news is that they wont run on Mac and VirtualPC wont run inside Parallels or VMWare Fusion — but I’ve found a solution! We can convert the disk images to work for VMWare Fusion or VirtualBox.
Setup
First go and download the versions of IE you want to use:
http://www.microsoft.com/downloads/details.aspx?FamilyId=21EABB90-958F-4B…
To do the conversion you’ll need a copy of the Qemu command line tool. I couldn’t get it to work on Mac, so you’ll probably need to use it on a Linux or Windows machine. (you can do this through Parallels or VMWare Fusion too) Download, extract and install Qemu tool on your computer.
Linux
WILL NOT work on windows because it was not compiled to support files over 2GB.
http://fabrice.bellard.free.fr/qemu/
Windows
Download “Qemu-0.9.1-windows.zip” from:
http://lassauge.free.fr/qemu/
VMWare Fusion
This is the easiest way to go and has superior support for shared network and clipboard between Mac and PC, except it means you’ll need to buy a copy of VMWare Fusion. I wrote these instructions using the trial version, someday I’ll buy my own full version.
The process will probably take less than an hour and require about 2Gb of space. These instructions are tailored towards using Windows for the file conversion with qemu. If you’re using Linux you’re probably smart enough to adapt these instructions to your system. Several people in the comments have mentioned being able to use Q on the Mac to do the file conversion.
- Open a command prompt: Start > Run and type “cmd”
- Use “cd” to go to the directory you download and extracted Qemu.
- Run:
qemu-img.exe convert -f vpc "XP SP2 with IE7.vhd" -O vmdk XPIE7.vmdk
- “XP SP2 with IE7.vhd” is the path to the IE VPC file you downloaded
- “XPIE7.vmdk” is the new file that VMWare Fusion will use.
- Wait…(will probably take 15 – 30 minutes)
- Move the new “.vmdk” file to your mac.
- Open VMWare Fusion and click File > New
- Go through the wizard and when you get to the “Virtual Hard Disk” page, expand “Advanced disk options”, check “Use an existing virtual disk” and use the dropdown to find the new “.vmdk” file.
- Finish the wizard and start it! (If prompted to upgrade the virtual harddrive, click “Yes”)
- Ignore any driver dialogs that ask you to insert a Windows CD. The VMWare Tools should install these drivers for you (see next step).
- Install the VMWare tools (Virtual Machine > Install VMWare Tools) as soon as Windows boots up. If installing the tools gives you a weird error, read the next section.
- You’re done!
Installing the VMWare Tools
If the VMWare Tools wont install automatically follow these simple steps to install it manually:
- With VMWare Fusion running click Virtual Machine > Install VMWare Tools
- Open your “My Computer” to see which drive letter the CDRom with the VMWare Tools has mounted to.
- Open a command prompt: Start > Run and type “cmd”
- Type the following and press enter (change “D” to the drive letter from step 2):
msiexec -i "D:VMware Tools.msi"
- The installation wizard should open and walk you through the rest of the install.
VirtualBox
The great thing with VirtualBox is that it’s free and available for most OSes! The process will take a little longer and will temporarily require about 20Gb – 30Gb of disk space. In the end your IE virtual disk will only be about 2Gb.
You might be tempted to do the VMWare Fusion conversion, outlined above, and use the “.vmdk” file in VirtualBox. It’s true that VirtualBox supports “.vmdk”, but everytime I tried it I ran into massive problems.
These instructions are tailored towards using Windows for the file conversion with qemu. If you’re using Linux you’re probably smart enough to adapt these instructions to your system. Several people in the comments have mentioned being able to use Q on the Mac to do the file conversion.
- Open a command prompt: Start > Run and type “cmd”
- Use “cd” to go to the directory you download and extracted Qemu.
- Run:
qemu-img.exe convert -f vpc "XP SP2 with IE7.vhd" -O raw XPIE7.bin
- “XP SP2 with IE7.vhd” is the path to the IE VPC file you just downloaded
- “XPIE7.bin” is the new file.
- Wait…(will take about an hour)
- Move the new “.bin” file to your mac. (or try the next 2 steps on the same machine)
- Install VirtualBox
- Convert and compress the “.bin” file. (This can also be done on Windows or Linux if you have VirtualBox on that machine)
- Open a terminal or command prompt.
- Go to the directory where your “.bin” file is.
VBoxManage convertdd XPIE7.bin XPIE7.vdi
(FYI: on Windows, VBoxManage is in “C:Program Filesinnotek VirtualBox”)VBoxManage modifyvdi XPIE7.vdi compact
- Open VirtualBox
- Click New
-
Go through the wizard
- Give it at least 350MB of “Base Memory”
- Use the new “.vdi” file as the “Boot Hard Disk”.
- Finish wizard and start it!
- Ignore any driver dialogs that ask you to insert a Windows CD. The VirtualBox tools should install these drivers for you (see next step).
- Be sure to install the VirtualBox tools as soon as Windows boots up. (Click: Device > Install Guest Additions)
Now you can have all IE versions running on your Mac. Enjoy!