Reducing CrashPlan's Disk Space Usage on OSX
I have CrashPlan backing up almost every file on my Hackintosh, and when CrashPlan runs, it caches a ton of data so it can run faster. However, they don't let you configure where that data is stored. In my case, I'm backing up around 1TB of data, and thus the cache is a whopping 8GB. 8GB might not seem like that much these days, but when it's sitting on your small SSD, it's quite annoying. Fixing this problem was pretty easy, and since plenty of people were complaining about this on their forums in different threads, I thought I'd post my simple solution here.
sudo launchctl unload /Library/LaunchDaemons/com.crashplan.engine.plist
rm -r /Library/Caches/CrashPlan
ln -s /Volumes/OtherDrive/path/to/new/cache/ /Library/Caches/CrashPlan
sudo launchctl load /Library/LaunchDaemons/com.crashplan.engine.plist
6. Restart CrashPlan
View Comments
Django-Celery on Webfaction using RabbitMQ
Install Erlang
- Go to the webfaction control panel and create a new app -> Custom App, Listening on Port
- Download the latest version of Erlang. You can just use the command: wget http://www.erlang.org/download/otp_src_R14B03.tar.gz
- Unzip it: gunzip -c otp_src_R14B03.tar.gz | tar xf -
- cd into the directory
- Configure the build: ./configure --prefix=/home/your_webfaction_username/
- Make it: make
- Install it: make install
- Run it on the port given to you when you created the new Erlang app: epmd -port 12345 -daemon
Install RabbitMQ
- Go to the webfaction control panel and create a new app -> Custom App, Listening on Port
- Download the latest version of the RabbitMQ server generic package. You can just use the command: wget http://www.rabbitmq.com/releases/rabbitmq-server/v2.6.1/rabbitmq-server-generic-unix-2.6.1.tar.gz
- Unzip it: gunzip -c rabbitmq-server-generic-unix-2.6.1.tar.gz | tar xf -
- Simlink rabbitmq to the erlang lib directory: cd ~/lib/erlang/lib/; ln -s ../src/rabbitmq_server-2.6.1 rabbitmq_server-2.6.1
CONFIG_FILE=~/src/rabbitmq_server-2.6.1/sbin/LOG_BASE=~/logs/user/rabbitmqMNESIA_BASE=~/src/rabbitmq_server-2.6.1/sbin/
export ERL_EPMD_PORT=12708export RABBITMQ_NODE_PORT=35478export ERL_INETRC=$HOME/.erl_inetrc
127.0.0.1 localhost.localdomain localhost::1 localhost6.localdomain6 localhost6127.0.0.1 web160 web160.webfaction.com
{hosts_file, "/home/<your_user_name>/hosts"}.{lookup, [file,native]}.
./rabbitmq-server -detached./rabbitmqctl status
./rabbitmqctl add_user <username> <password>./rabbitmqctl set_user_tags <username> administrator./rabbitmqctl add_vhost <vhostpath>./rabbitmqctl set_permissions -p <vhostpath> <username> ".*" ".*" ".*"./rabbitmqctl clear_permissions -p <vhostpath> guest
Install Celery and Django-Celery
pip install django-celery
BROKER_HOST = "localhost"BROKER_PORT = 36784BROKER_USER = "username"BROKER_PASSWORD = "password"BROKER_VHOST = "vhostpath"CELERYD_CONCURRENCY = 1CELERYD_NODES="w1"CELERY_RESULT_BACKEND="amqp"
import osos.environ["CELERY_LOADER"] = "django"
Install a tool to create a Daemon
pip install django-supervisor
[program:celeryd]command={{ PYTHON }} {{ PROJECT_DIR }}/manage.py celeryd -l info[program:autoreload]exclude=true[program:runserver]exclude=true[program:celerybeat]exclude=true
python manage.py supervisor --daemonizepython manage.py supervisor stop allpython manage.py supervisor start all
daemonize /<full_path_to_django_directory>/manage.py celeryd
View Comments
Self-Incorporating a Tech Startup
- Free legal clinics. Tons of Universities with Law Schools have these now, and they are aimed at giving law students real world practice with startup law while being supervised by professionals. In Chicago, the top three are the program at Northwestern University, the Institute for Justice Clinic, and the Loyola Law Clinic. A lot of these will have long wait times, so if it's not urgent these could be a great free source of help.
- Small Business Development Centers (SBDCs). These will often give you general business advice for free, and have connections to pro-bono legal help or Certified Public Accountants (CPAs) who are plenty knowledgeable about simple legal issues. I went into the SBDC at UIC and was happy to get a lot of help from them. In fact, I still email the CPA now and then if I have a quick question and he always sends me back a clear response in an hour or two.
View Comments
One month down
View Comments
Migrating a Django Postgres DB from Concrete Inheritance to Abstract Inheritance
user1 = models.ForeignKey(User, related_name="user1")
- Add BaseModelCopy within base_app/models.py that has an identical schema to BaseModel.
- Run a schema migration (python manage.py schemamigration base_app --auto; python manage.py migrate base_app).
- Run a data migration to copy the existing objects in BaseModel to BaseModelCopy (python manage.py datamigration base_app copy_contents; (then edit the contents of the data migration); python manage.py migrate base_app).
- Add a field "tmp_id = models.IntegerField()" on both Model1 and Model2.
- Run a schema migration on app1 and app2
- Run a data migration on app1 and app2 copying the id of the corresponding base model into the "tmp_id" field.
- Add the property "abstract = True" on BaseModel.
- Add a field "id = models.IntegerField(primary_key=False)" on BaseModel
- Change the "tmp_id = models.IntegerField()" on Model1 and Model2 to be "tmp_id = models.IntegerField(primary_key=True).
- Run schema migrations on app1, app2, and base_app.
- Run a datamigration that copies the relevant data from BaseModelCopy to every corresponding object in Model1 and Model2. To do this, just make use of the "tmp_id" field we created and the new BaseModelCopy class. Make sure this datamigration also copies the "id" field.
- Remove the "tmp_id" columns from Model1 and Model2.
- Change the "id" field on BaseModel to "id = models.IntegerField(primary_key=True)".
- Remove the model BaseModelCopy.
- Run schema migrations on app1, app2, and base_app.
- On your local server, remove all of the migrations from from migrations/ folder for app1, app2, and base_app. The history is no longer important to us because we did not specify a way to do backwards migrations anyway.
- On your local server, create initial migrations using south for app1, app2, and base_app, clearing any ghost migrations (python manage.py schemamigration app1 --initial --delete-ghost-migrations).
- On your local server, run the migrations. South will tell you that nothing needs to be changed. This is good.
- Save all your changes to git or whatever you use.
- Dump the local database (pg_dump --no-owner --no-acl -U username postgres_db_dev > postgres_db_dev_dump.psql).
- Clone your working repository onto your production machine.
- Copy your sql dump to your production machine.
- Delete the production db (dropdb -U username postgres_db).
- Re-create the db (createdb -U username postgres_db).
- Load the new data (psql -U username postgres_db < postgres_db_dev_dump.psql)
View Comments
Installing libjpeg and PIL on OSX Snow Leopard with Python 2.7
If you found this article through a google search, you've probably already read through tons of articles and forums where people gave advice on how to do this. Here's some examples of what I'm talking about:
http://www.brantsteen.com/blog/python-27-libjpeg-pil-on-osx/
http://proteus-tech.com/blog/cwt/install-pil-in-snow-leopard/
http://www.thetoryparty.com/wp/2010/08/31/pil-on-snow-leopard-_jpeg_resync_to_restart-error/
http://www.brambraakman.com/blog/comments/installing_pil_in_snow_leopard_jpeg_resync_to_restart_error/
http://appelfreelance.com/2010/06/libjpeg-pil-snow-leopard-python2-6-_jpeg_resync_to_restart/
http://djangodays.com/2008/09/03/django-imagefield-validation-error-caused-by-incorrect-pil-installation-on-mac/
http://colbypalmer.com/index.php?/colbyworld/blogEntry/install_libjpeg_and_pil_on_os_x_leopard/
It's clearly an annoying problem, and I'm guessing none of those worked for you. While this is clearly an annoying problem and I spent at least a couple hours of head banging myself, I believe most of peoples' issues can be solved by completed a thorough cleanup. If you tried one or more of those approaches above, you probably have libjpeg and PIL folders in all sorts of places on your system that are screwing up stuff.
To remove the libjpeg files, make sure you remove anything that looks like libjpeg* or jpeglib*. You'll also want to remove all your PIL directories. Some of the most common directories these might be living in are:
/usr/local/include/usr/local/lib/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages//sw/lib/sw/include/opt/local/lib/opt/local/include
Be sure to do this between trying any different installation methods or you will end up wasting a lot of time.
- Download this combo installer and install it with the default settings.
- Run "pip install pil"
View Comments
Setting up my Hackintosh on my Toshiba Satellite M55-S329
- First, you should download iDeneb 1.4 via torrents. This is an iso image of an OSX installer that works phenomenally.
- Burn this iso image onto a disk. If you're already using OSX like me, use disk utility as explained here.
- Partition your harddrive. Since you probably already have windows installed on your Toshiba, you can download the free Partition Wizard which works beautifully. You need to make a fairly large OSX partition. Since you're in windows you won't be able to format this partition as Mac OS Extended Journaled, but you need to create a blank partition and give it a drive name such as "D:\".
- Insert the iDeneb disk and restart the computer. Boot from the disk by hitting F12 at startup.
- When you reach the first iDeneb install screen, it asks you to choose which drive you would like to install it on, but doesn't show any drives to choose from. This is because you need to format your blank partition. Simply choose Disk Utility from the utilities drop down, select your blank partition, and erase that partition while choosing Mac OS Extended Journaled. You can then exit the Disk Utility and choose this new partition you created as the place to install osx.
- At the screen where it prompts you to install, you need to first click on the "options" or "configuration" button to choose which drivers (kexts) you want installed. Choose exactly the options specified here.
- Click install and wait a while. Then just go through the regular startup questionaire.
- After it boots up, everything except wifi/ethernet should be working. Download the post-install files from this insanelymac thread using a computer with internet. Also download Intel PRO/Wireless 220BG driver. Place them on a flash drive, and open the folder on your Toshiba.
- Install the AppleYukon kext, then the Seatbelt Kext, and finally the Intel Pro/Wireless driver kext that you downloaded from project: camphor. You can use this guide for installing kexts.
- Reboot and cross your fingers!
View Comments
Scheduling Regular Backups on Webfaction
- Hourly backups for the past week
- Daily backups for the past month
- Monthly backups indefinitely
30 * * * * /usr/local/pgsql/bin/pg_dump -Ft -U db_username db_name > /path-to-backups/leaguevine/hourly/leaguevine-hourly-`date +\%a\%H`.tar 2>> /path-to-backups/leaguevine/hourly/backups.log && echo "Database backup completed successfully on `date`" >> /path-to-backups/leaguevine/hourly/backups.log
40 * * * * . ~/.ssh-agent; scp -o PreferredAuthentications=publickey username@web160.webfaction.com:/path-to-backups/leaguevine/hourly/leaguevine-hourly-`date +\%a\%H`.tar /local-path-to-backups/leaguevine/hourly/ 2>> /local-path-to-backups/leaguevine/hourly/backups.log && echo "Database backup completed successfully on `date`" >> /local-path-to-backups/leaguevine/hourly/backups.log
View Comments
Sanya Beaches and Relaxation
After our two nights at the Papiluo Bluehouse, we decided to pack up and change our location to a youth hostel where the owner speaks English. As nice as our room was, we felt like we were a bit stuck and had no clue how to do anything except visit beaches. We checked into the Raintree Youth Hostel for a four night stay and this turned out to be a great decision. Soon after checking in, Rachael got sick and then remained very sick through the following day. The hostel was in an area where we could go downstairs and easily find food, and there was enough to do in the hostel that we could take a full day off and not be too bored. One of the staff helped us move a DVD player into our nice AC room where we proceeded to watch a couple movies and read for most of the day. Rachael felt better after the full day of rest and we went with Justin, the owner of the hostel, and a group of about 8 out to a remote bay for a day of water activities. The bay we went to had gorgeous, clean beaches and our group and one other were the only ones swimming in the entire bay. We swam, rode on a banana boat, tried standing on body boards being pulled by a speed boat, tried wake boarding, and snorkeled for a long time. Unlike my only other snorkeling experience, this one was actually good! I had very few problems with my facemask and I was able to see a ton of cool stuff under the water. This bay was quite undeveloped so we were able to see coral, sponges, anemones, crabs, hermit crabs, fish, urchins, sea cucumbers, and even several small jellyfish.
View Comments
Looking back on our time in Yangshuo
View Comments
First week of China - Beijing, Luoyang, Hua Shan, Xi'an, And Guilin
View Comments
First day in Hainan
View Comments
Mud cave!
View Comments
The Yangshuo Countryside
View Comments
We're in China!
View Comments
Backing up my Hackintosh
I am moving soon and every time I have to physically transport a desktop computer I worry the jolting will mess up a hard drive. Because this Hackintosh took me the better part of a day to set up, I decided it would be wise to make a bootable clone of my OSX partition. I didn't want to just back up my files, but instead want a copy of the operating system so if my current boot drive dies, I am back up and running in at most a few minutes. Backing up files is easy, and to do that, just use Mozy, Carbonite or Crash Plan (I use Crash Plan and absolutely love it).
I looked at some forums that pointed me in the right direction for a solution to creating this bootable clone, but didn't find detailed instructions for the best way to do this. Thus, I'm going to write down the whole process I used here. It was surprisingly easy and free!
- Add a new hard drive to your machine or create a paritition where the backup will sit. It must be equal to or larger than the size of your OSX boot partition.
- Format this new partition using Mac OS Extended (Journaled). You can use the OSX Disk Utility for this.
- Download Carbon Copy Cloner. It's totally free and is amazing.
- Open the Carbon Copy Cloner .dmg and follow the easy instructions to make a clone of your current boot partition to your new backup partition.
- Download iBoot and burn this to a CD. You probably already have a copy from your original Hackintosh install.
- Turn off your computer, unplug the cable to the original boot drive.
- Boot your computer and open up the bios to allow you to boot from the iBoot CD you created. It will show you your new cloned partition, and you can select it and boot from it!
- You still need to install a boot loader if you don't want to always have to boot from a CD. Thus, download Multibeast and run it. Select only the option to install the Chameleon Boot loader. All the rest of the options are already installed on your clone.
- Eject your iBoot drive and restart your computer. It should boot up!
- You probably want to switch back to your original OSX partition for booting up, so just plug it back in, go into the bios to ensure it is higher on the HDD boot priority, and then restart your computer.
View Comments
To do: Combine my blogs
View Comments
Connecting to a Mac from an iPhone over 3G
A couple hours ago I realized I may need to connect to my Hackintosh this weekend while I'm out of town. Turns out, there are some really cool tools to do this securely for only $2! It took me a bit more than an hour to set up, so I thought I'd write an entry for future reference.
In this tutorial, I'll be setting up both VNC and SSH on OSX 10.6 and connecting to it over 3G using an iPhone 3GS.
The first thing you need to do, is set up a VNC server. There are a number of free VNC servers for OSX that you can download, and I chose to go with Vine Server. You can use the default configurations and simply start the server.
Next, you'll need to open up a port on your router so that incoming requests won't be rejected. The standard port for SSH is 22. I followed this tutorial for opening up my port. Basically, all I had to do was:
- Open up my router's control panel by typing http://192.168.1.1/ into my address bar. If you don't know your router's default password like me, you can look it up here.
- Find the section in the settings where you can add port forwarding, and for the port put 22 and for the IP address, use the internal IP address of your machine that the VNC server displays. This will be something like 192.168.1.101. If you can't find the settings for port forwarding, this port forwarding tutorial site has good instructions for a number of routers.
- Download an iPhone VNC client app such as Remoter VNC. This one costs $1 for basic VNC connections and has an additional $1 addon for SSH connections.
- For the SSH hostname, enter the IP address of your home computer. If you don't know this, just go to http://www.whatsmyip.org/ and it will tell you.
- For the SSH username and password, use the username and password for your Mac.
- For the VNC hostname, enter the internal IP address of your home computer. This is the one that looks something like 192.168.1.101.
- For the VNC port, enter 5900.
- If you set up a VNC password, be sure to enter that as well.
View Comments
Webfaction Rocks!
About a year ago I began using Webfaction shared hosting for this blog and a handful of webapps I'm running (2 Django apps, 1 Rails app, and a wiki). I have been blown away by the service they offer for the amazingly low price. I'll give you an example of what I'm talking about.
How they deal with bad neighbors
The first thing they do that's great is they don't overload their servers so you are not likely to see a performance drop because other people's misuse of the server.
Second, they automatically send warnings to users if they go over what they pay for, and if the user does not fix the problem, they automatically terminate some of that user's processes to ensure the server stays healthy. How do I know they do this? I was recently a bad neighbor myself (on accident of course :P).
My webapp, Leaguevine, relies on fetching data from Twitter at regular intervals to keep a local copy of relevant Twitter information up to date. This had been working fine for many months. However, when Twitter went down for a bit, the app began building up an excessive amount of processes trying to fetch this Twitter information, and I neglected to build a way to systematically kill off these processes if Twitter was down for a while. I ended up going noticeably over my alotted memory usage.
Here's my experience with webfaction when this happened:
- Webfaction contacts me with an automated and friendly worded email saying I went over the memory limit. This email is extremely helpful, and shows a list of processes and how much memory they are using. Further, it tells me how to reproduce the data that they showed me and gave me helpful links for how to reduce my memory usage.
- Webfaction sends me a second email a few hours later with the same basic information. I was away from my computer, so I didn't see the first one right away. This email, like the last, asks me to email them back to tell them if I was able to remedy the problem.
- I fix the problem by adding a single line in my crontab file.
- I send them a response to their email saying how I fix it, but wasn't overly specific since I honestly didn't expect them to read it.
- Webfaction emails me back, saying they appreciate that I fixed it, but they were concerned that my fix will hurt the performance of my webapp. This really showed that they cared about my site! Before this email, I had never experienced a hosting provider that cared about what I was actually hosting beyond simply ensuring that I didn't surpass the limits.
- I emailed them back, explaining the fix in more detail and why it wouldn't hurt my site's performance.
- Webfaction emails me back cheerfully, saying they think what I did was good.
Other things I love about them
Their documentation is absolutely amazing. They cover detailed step by step instructions for every reasonably popular web app, and a lot of less popular ones as well.
For less popular web apps, they have tons of custom install scripts with step by step instructions, so you custom installation is a breeze.
Finally, they have a great community that will help you with basically any problem you're having. I've asked three questions, and two of the three times I've asked those questions I've gotten answers that solved my problem within an hour.
Just use them! You won't regret it
I feel so strongly that you should use webfaction for shared hosting that I'm not even going to include a referral link here. I don't want you think that this entry was just a plug so that I could make a few bucks. I am honestly impressed with their service, and it has been far better than any other web hosting services I've tried in the past. If you browse the web for other reviews, I think they'll all say the same thing :)
View Comments
My Recent Hackintosh/Windows/Linux Install
I recently built my first Hackintosh and I am extremely pleased with it so I thought I would write about my experience. I needed a new computer and really like OSX, but I was not willing to pay the price for a new Macbook or iMac. Since a desktop is perfectly fine for my purposes and I already had the monitors for it, I figure I'd save some money and build an awesome machine running OSX. Thus, I bought everything on Newegg on black friday.
Here are the specs:
- Intel Core i5-750 Lynnfield 2.66GHz LGA 1156 95W Quad-Core Processor
- OCZ Vertex 2 3.5" 90GB SATA II MLC Internal Solid State Drive (SSD)
- Antec Sonata III 500 Black 0.8mm cold rolled steel ATX Mid Tower Computer Case 500W Power Supply
- ASUS DRW-24B1ST/BLK/B/AS Black SATA 24X DVD Burner
- EVGA GeForce 9500 GT 1GB 128-bit DDR2 PCI Express 2.0 x16 HDCP Ready SLI Support Video Card
- SAMSUNG Spinpoint 2TB 5400 RPM SATA 3.0Gb/s 3.5" Internal Hard Drive -Bare Drive
- G.SKILL Ripjaws Series 8GB (2 x 4GB) 240-Pin DDR3 SDRAM DDR3 1333 (PC3 10666) Desktop Memory
- GIGABYTE GA-P55-USB3 LGA 1156 Intel P55 USB 3.0 ATX Intel Motherboard
- Snow Leopard Install CD (the cheap $29 upgrade one that Apple sells)
Of those, I learned the most important things you need to check for compatibility with are the motherboard, the processor, and the video card. In short, what I found after research was that Gigabyte boards seem the most well supported, basically everyone uses the i5-750 or i7-860 processor, and there are a ton of video cards that work if you're willing to put in the time to fiddle with it.
To get going, I primarily used these four articles which I highly recommend reading:
- http://lifehacker.com/5698205/how-to-triple-boot-your-hackintosh-with-windows-and-linux
- http://lifehacker.com/5672051/how-to-build-a-hackintosh-mac-and-install-os-x-in-eight-easy-steps
- http://www.semiaccurate.com/2010/02/19/how-p55-snow-leopard-hackintosh/
- http://tonymacx86.blogspot.com/2010/04/iboot-multibeast-install-mac-os-x-on.html
I'll now go through my experience. It was a bit more complicated because for some reason I wanted a triple boot OSX, Windows 7, and Ubuntu installation.
First, I installed OSX (partitioning my hard drive into 3 partitions along the way), and updated the OS to 10.6.5 using the tonymac link above. I had no problems with this! Next, I jumped over to the first lifehacker tutorial and installed Windows 7, and had no problems there either. Finally, I installed Ubuntu 10.10 which I downloaded for free via bit torrent and didn't have any problems with that either. To get these working, I needed to play with some internals and get the chameleon boot loader working, as described on lifehacker. However, once I got the chameleon boot loader to work, OSX no longer worked for some reason... I never could figure out why.
At this point the chameleon boot loader, the Windows 7 partition, and the Ubuntu partition all worked perfectly, but I had a dead OSX partition. I decided to wipe OSX clean and start with a fresh install. I booted using iBoot, and then put the OSX 10.6.3 install disk I bought from the store in. I updated the OS using the 10.6.5 combo update (1gb free download from apple). It is important to not restart the computer after completing this update!
After doing this, my OSX partition worked, but there was no audio and the video resolution was terrible because it wasn't utilizing my video card at all. As a side note, even though OSX didn't "recognize" my video card, the display still worked even though I connected it to my video card. To get the video card and audio working, I installed Multibeast from tonymac with the following things selected:
- UserDSDT (placed the DSDT-GA-P55-USB3-2.0-F8.aml file on the desktop)
- System Utilities (all)
- Under advanced options:
- NO AUDIO
- NO DISK
- NVEnabler
- Realtek R1000SL
- FakeSMC
- 64-bit-Apple Boot Screen
After this completed, I restarted the computer. Next, I installed the realtek driver named RealtekRTL81xx-0_0_67.pkg located at http://lnx2mac.blogspot.com/p/realtekrtl81xx-osx-driver.html.
I then restarted the computer again. Next I installed VoodooHDA.kext (version 0.2.56) by downloading it from http://nawcom.com/osx86/files/10.6/Audio/VoodooHDA/0.2.56/kexts/ and dragging onto something called kext Utility which I downloaded at some point.
Finally, after restarting my computer one final time, everything worked perfectly! And now I have a relatively inexpensive iMac thanks to about a day of work and Newegg's insane deals during black friday. Its XBench score is 273 in case you were curious.
Looking back on it, I don't think I needed to partition my hard drive 3 ways. It has been working for over a month now and I never touch Windows or Linux anymore. My OSX partition absolutely never crashes which is fantastic. For reference though, if something were to happen with the OSX partition, these partitions could access each others' file systems by using this guide.
I hope this helps someone out there!
View Comments
Where are all the Naysayers?
I must be surrounded by the best group of people alive, because I can't seem to find any negative feedback on Leaguevine from anyone. I'm not so much talking about whether or not my users are happy (which they certainly appear to be), but I'm talking about friends, family, colleagues, professors, and strangers I have talked about my ideas with.
I can't tell you how many times over the past 2 months of business classes that I've been told "Don't let the naysayers slow your progress. People are going to tell you your idea sucks, but you can't let this get you down." Just tonight I was at an entrepreneurship dinner and the entrepreneur I was talking gave this same advice, saying how a lot of professors and colleagues on campus told him his idea was bad, but he had to fight through this and just kept on going.
Why is no one telling me my idea stinks?
Am I just lucky and happen to be running into only people who are super encouraging towards entrepreneurs? If this is the case, is this lucky? Could it be better to have some people shoot you down so you can learn what the opposition is thinking? Is there any way my idea really that good that everyone seems to like it?
Or is it just that no one knows anything about Twitter or Ultimate Frisbee and they don't want to reject an idea in a realm they don't know anything about? Maybe that's it.
Regardless of why, all I know is that I've had it extremely easy. These endless streams of encouragement only push me harder to produce my highest quality stuff.
If anyone out there who pushed me forward is reading this, I'd just like to say thanks!
View Comments
Just Launched Leaguevine!
I've been working really hard over the past few months on getting my ultimate site online. Over the past 2 weeks I've been fine tuning things and getting feedback from about 20-30 people. The site was actually live, but I just didn't tell anyone about it :)
Over the last few days, I slowly introduced it to a few more by posting on the Madison Ultimate Frisbee Association forum, and something like 100 people went and looked at it and several who I knew gave me some more feedback. It gave me enough confidence that the site was ready to start really telling people about it!
A few minutes ago I posted a link to it on RSD, the main Ultimate Frisbee forum in the U.S. and I'm having a blast sitting here watching where people are going through my site! I have a web analytics program called clicky analytics installed so I can see what pages are viewed most, how many people are online, and where they currently are in my site. Exciting!
View Comments
Pictures and Recap of the Kenya Trip
Just now I finally wrote up a recap of our recent trip to Kenya. Here is the blog post. I didn't even finish it because I'm so long winded and it was getting too long. I decided to just end it because I was running out of steam. Here are some publicly viewable facebook pictures of the trip!
First album of facebook pictures
Second album of facebook pictures
Enjoy!
View Comments
What is Your Proudest Achievement?
This is the first week of another semester of classes, and I was recently filling out a standard student questionnaire. I was flying through it without thinking, since the questions were the basic "why are you interested in this course" and "what are your hobbies outside of school" types of questions. However, one question came out of nowhere, and made me pause for a moment. It read:
"What is your proudest achievement?"
Within about 10 seconds I had written down "the Engineers Without Borders project that my friend Nate and I headed up". But the question stuck with me after I clicked submit.
While I was walking over to a grant hearing for our EWB project (which we were successfully rewarded, btw!), this question resurfaced and I really thought hard to narrow this down a bit more. Why did I choose EWB over my academics? What about not-so-tangible things like relationships?
When I began comparing this Engineers Without Borders project to my academics, there really was no comparison. My masters program in CS here at UW-Madison was outrageously easy and my undergrad experience at UCLA was actually much easier than my time at Naperville North High School. And since I didn't even finish in the top 10 at Naperville North (after trying really hard, I might add), I couldn't really call that a big success. So in terms of how challenging these things were, Engineers Without Borders was much tougher.
Then I decided to rule out accomplishments like relationships because comparing those to tangible things is like comparing apples and oranges. So I am glad I put down "EWB project" on that survey and continued thinking about what made me proud about it.
I realized that the moment I am proudest of in the entire time I have been working on this project came very recently. On Monday, August 23rd, 2010 to be precise. This day was the culmination of all the work Nate, myself, and several others poured into the project over the past 2 years. I am sad that Nate was not there on this trip with me to experience this, because I know that none of the other travelers were able to appreciate the magnitude of this event.
On that Monday in Kenya, we held a long meeting that consisted of the farmers of Orongo, the chief, the assistant chief, the ministry of irrigation, the ministry of agriculture, and our hosts the Springs of Life. The meeting was called to announce and discuss the selected committee that was to oversee our new irrigation project in the village. Before this meeting happened, a combination of the officials in the community had chosen to select a committee instead of elect it and thus we all knew there would be a bit of resentment from the community in regards to who was chosen. The number one goal of this meeting was to discuss this new committee structure with the farmers and make sure that everyone was okay with it.
The meeting was scheduled to start at 2pm, so naturally at 2:30pm there were about 10 farmers in attendance. We started around 3:30 once the chief arrived, and we ended up with over 100 in attendance. Our group had had a long day so we were pretty exhausted, and I could see it was a bit of a chore for all of our members to stay awake during some really long speeches. It was also very hot out and the meeting was conducted entirely in Luo so it was very hard for us to stay focused. What killed me though is that the meeting ran very late and several of our members had made prior engagements so almost all of our team left this meeting even before it finished.
Because of these annoyances, not to mention the uncomfortable chairs or ticks falling from the trees onto us, I did not get the impression that any of our other travelers enjoyed the meeting. In fact, the blog post that Caroline wrote did not even mention it! However, it was the highlight of my trip for so many reasons.
So... then what was so great about it?
The first reason was that the meeting truly gave the farmers of Orongo a forum to speak their mind and discuss the decisions made by the chiefs, ministries, and Springs of Life. Although the meeting was in Luo, I could still very obviously see lots of upset farmers at the beginning of the meeting sharing their opinions but then a lot of productive discussion following their comments. By the end of the meeting, everyone was happy and on the same page. The chief was smiling as she talked to the farmers, and the farmers were smiling and laughing when they added their final thoughts.
The second reason I enjoyed this meeting was because I did not have to say a single word. This is not because I dislike public speaking - in fact, I am kind of fond of it now. Not having to say anything meant that this project is finally standing on its own two feet. As much progress as we made in our previous January 2010 trip, the progress still revolved around Nate being a great leader and motivational talker. Neither Nate or myself contributed at this meeting. Drew said a few words about us, but the meeting was led almost entirely by Chief Kosume.
Since the very start of this project, Nate and I have been huge advocates of the phrase "this should be their project, not ours". I'm sure our mentor Dick Otis had a big hand in teaching us the fundamentals for sustainable development, so I think a lot of the credit should go to him. Despite knowing these fundamentals from the onset, we have faced incredible difficulties getting the community to take ownership of the project. Orongo is right outside of Kisumu which is filled to the brim with NGOs so they are not new to development work. The problems stem from the residents being very used to NGOs coming in, quickly doing a project (such as drilling a borehole or building latrines) and then leaving without any follow up. These projects that don't have any community involvement tend to be the ones that fail in the long run because no one in the community feels a sense of ownership in the project and thus no one is willing to maintain it and see that its benefits extend for many years. But the residents of Orongo like these types of projects. The residents are used to them, expect them, and prefer the small wages they get for constructing these projects over the benefits that a well thought out successful project might bring. Because of our difference in philosophies, getting everyone to buy into ours has taken 2 years, but it appears we have finally done it.
When we met separately with the Springs of Life, the chiefs, and the ministries, we all decided it was best for these groups to work together to select the people who would be in charge of the irrigation project. This meant that Engineers Without Borders would not be in charge of deciding whether the committee should be created by selection or by election. These groups chose to select the committee and went about doing so entirely on their own, showing a significant amount of ownership in this project. They were merely guided by Engineers Without Borders to make sure they included equal representation between the different clans as well as equal gender representation. I am very proud that our group of students have developed enough credibility within the community so that these local leaders listened to what we had to say and eventually agreed with us.
Lastly, the fact that this meeting happened at all was a huge accomplishment. Creating a committee for our project has been on our long term road map for a while, and it has been a challenge getting there. On a couple of occasions we were forced to weigh our options and figure out whether or not a project in Orongo was even possible for us, given the difficulties in politics and community mobilization we've been facing. In the end I am very proud of how we were able to grind it out during the hard times and remind ourselves that our goal is to make the biggest positive impact we can in this village. This meeting solidified our long term involvement in this Orongo irrigation project.
I heard a tree metaphor while I was in Kenya and feel like it applies nicely to this event. If the start of our project, i.e. our first trip to Kenya, can be described as planting a seed, then this meeting was taking that seedling that has been growing and planting it in our yard where it will stay permanently. The project's roots are now taking hold.
I am really proud of everyone who has been involved with this project to get it to this point.
View Comments
My 4th and possibly last trip to Kenya with Engineers Without Borders
In just a couple days I'll be heading out to Kenya again with EWB. I'm currently in a rush to take care of lots of little things before I go, but I'd like to step back and put my current thoughts down on paper so I have some documentation of this exciting time before I forget it the details.
Why this trip will be our best one yet
It took our group about 2 years to adapt to the Kenyan culture and their ways of doing things, but we are finally headed in the right direction. Our very first trip back in 2008 was purely an assessment trip where we did nothing but talk to people, so I can't say we did anything wrong there. But each of our next two trips, we went in with the mindset that we are going to get so much done and maximize every second of our time to help as many people as possible. While that sounds nice to our American ears, this was the totally wrong approach to take. We were moving too fast for our Kenyan friends, we weren't taking the time to build solid relationships with each individual in the community, and we were working so hard that the villagers began seeing the project as our project instead of theirs. In a nutshell, the villagers of Orongo began to let us do our own thing while passively watching the project unfold.
Last trip, however, we began to figure things out. Instead of continuing our fast pace and trying so hard to push people to get a project off the ground, we made a concious effort to take a step back and slow down. We spread out and talked to as many people as we could, we sat and had tea with both officials and residents, and we did not rush the process despite our short three week trip. I remember one of our main friends Steve Obongo saying at the end of our trip, "Now you understand us. Now I truly believe this project will succeed."
Indeed, by slowing down and focusing on building relationships instead of on building our project, we somehow got more done. Our main contacts are finally beginning to see this as their own project and are contributing time and effort to it.
Our trips are only 3-4 weeks long, leaving 10 months of the year when we do not have students in Kenya. The most important thing we can do is to keep our contacts contributing enthusiastically to the development of our projects while we are gone. During these past 6 months, we have received several email correspondences from our contacts giving us status updates, something we struggled mightily with before.
Now that we seem to have figured things out, I truly expect things to continue running this smoothly if not moreso.
Why it took 2 years to get to this point
It is hard to explain how difficult it was to buy into the slow pace of things. People literally show up to important meetings 2 or 3 hours late, or sometimes not at all. But the most shocking part is that if you are the person being stood up, you are expected to not get the least bit upset about it. The villagers joke that there are three meeting times in the day: "morning", "mid-day", and "night". If we schedule a meeting with someone for 3pm sharp, it is perfectly acceptable to arrive any time between 3 and 6.
I'll give an example of how much we bought into the mindset of this during this last trip. We bumped into Alex the assistant chief and scheduled a meeting at 5pm with him the next day at his home. That next day, Nate and myself were helping prepare dinner and looked at a clock and realized it was about 5:45 so we then starting on the 25 minute walk over to Alex's home. Not surprisingly, he wasn't there. We called him on his cell phone and he said he was running late but he was on his way right now and should be there in 20 minutes so we should wait for him. However, Nate and I were getting hungry and there was not much light left, so we asked him if he really would be there in 20 minutes. He hesitated, then admitted it would take him much longer to arrive and that he would just stop by the home in Orongo where we were staying. So we took the 25 minute walk back to our home, ate dinner, and never heard from Alex that night.
The surpring part of this story is not that it happened (stuff like this happens every day in Kenya), but that Nate and I were honestly not bothered by it at all.
My goal for this trip
My goal for this tirp has very little to do with technical achievements or visible milestones. My goal is simply to pass on the knowledge that Nate and I gained during our first two years working on this project.
Nate and I were the first two project managers after taken our first trip to Orongo, and very early on we learned that the people benefitting most from our project were the students. Our organization is not focused on relief where we immediately step in and save lives, and our organization is not big enough or well funded where we can quickly drop down one or more colossal projects that we can then leave and move onto the next village. Instead, we are focused on closely partnering with a single community for many years, learning as much as we can from each other, and incrementally improving the quality of life in the partnering village.
I strongly feel that this partnership benefits the students at least as much as the village.
These last two years have certainly changed both mine and Nate's lives in a positive way so I hope to use these next four weeks to inspire the same type of self-introspection. I feel that having new young members who truly care about this kind of work is the key to keeping this project thriving well after both Nate and I are gone (well, Nate is not a student anymore but he's still contributing a lot so maybe he'll be around for a while!).
It may be my last (for a little while)
I am really lucky to be able to go to Kenya 4 times with this project. However, after this trip, I feel like the project will be able to stand on its own two legs without either me or Nate doing anything. Thus, even though I'll be part of EWB for another year, it might be best if newer students are the ones traveling and learning and growing. Right now I feel like I've gotten more than my fair share of great opportunities and since I hopefully won't be needed in the future, I would like to share the wealth.
There is still a very good chance I'll be going back on my own separately from Engineers Without Borders. One possibility for next summer is for Rachael and I to go to Africa to volunteer for a while before she takes off for medical school. Knowing this, I'm really not too bummed that this may be my last official EWB trip to Kenya.
As a side note, if you want to read updates from this next trip, please check out our travel blog!
View Comments
So long for my Stall 9 name
Looks like sometime in the last few weeks, a new company sprang up and called themselves Stall 9 Ultimate. This was definitely a shocker to me. And because I'm not really the creative type, the prospect of having to come up with another suitable name ruined my night. I've done a lot of reading into what goes into a good name, and after spending several hours studying this practice and brainstorming words, I think I've come up with a new one. I'll let it sit in my head for a while first though, and decide if it really is what I want before sharing it with the world.
View Comments
Reflections on Creating Stall9
Okay, so Stall9 is not actually finished yet, but I thought I would still reflect on the journey so far. In case you haven't heard, I am building a website called Stall9 that will allow users to collaboratively update the ultimate frisbee community on what is currently going on. The premise of the site is that any person, regardless if he/she is a player, fan, or administrator, can update the information on stall9 to provide online followers with the most real time information possible. The goal is to make updating the site as easy and simple as possible, supporting already widely used technologies like twitter.
I got the idea for this site last summer in India while on a bus daydreaming about ultimate and looking forward to playing with a Madison club team called "Test Tickle Me Elmo" in a couple months. Soon after I had this idea, I went on a 21 day backpacking trip in California (the John Muir Trail if you were curious) and had just a ridiculous amount of quiet thinking time to flesh this idea out. I came back to Madison, WI to start my Master's program in September 2009 and hoped to finish this site before College Nationals came to Madison in May, 2010. However, I realized I knew nothing about programming real websites.
I had dabbled with web programming for several years, but had always used pre-built content management systems and just hacked certain extra features in. For Stall 9, I knew I would need a much more robust user permissions system, and a very dynamic way for users to enter, modify, and moderate all sorts of information. To do this, I decided to learn Python web development and a web development framework called Django. I don't want this post to turn out technical, so I won't talk about any of those specifics.
So that fall, I played around with creating a simple version of Stall 9, but was unable to get very far. I didn't put in nearly as much time as I wish I had, and instead ended up spending a lot of time getting acclimated with my new Master's program. Then I took 5 weeks off for winter break which included visiting family and a 3 week trip to Kenya with Engineers Without Borders.
By the time I got back, it was February and I still had made no progress on this site. However, by this time I had gotten comfortable with my Master's research to the point where I had enough free time to really put some good work into Stall 9. So I plugged away at it and put in a reasonable 200 hours over the next 2.5 months.
Then I hit a wall.
The code base for my site was enormous and if it wasn't already unmanageable, it was quickly become so. I took a step back and thought that there must be a better way to do this. I bought a couple programming books that were more advanced than my previous ones and learned about how to reduce redundancy and keep even the most complex projects manageable. After my first few hours of reading, I knew I still had a lot to learn.
I then completely shut down development and spent about a month intensely reading up on best practices and learning from the experts in the community. It was towards the end of May 2010 that I decided I learned enough to get by.
At this point, college Nationals in Madison was right around the corner and I was extremely disappointed I didn't have a site to show for all my hard work. I was second guessing myself for the first time in the process and wondering if I should continue on with the project. However, I was greeted with a really nice surprise that got me right back on my horse. USA Ultimate unveiled their new website and shockingly it had no more functionality than their previous one. In fact, it seemed that most Americans were really annoyed by the fact that their new site did not really do much to address a fan's needs. What fans need are real time updates and easily navigable information. Since I saw a problem that needed to be fixed, it was easy for me to get back into the swing of things.
First though, I needed to test my new found programming prowess. I built this site in about a week using the best practices I learned, and then deployed it so I could practice deploying a Django site.
Finally, about a week into June, I began working from a clean slate on a new version of Stall 9. That old site will never see the light of day, but that's probably best for everyone :). Over the last 5 or 6 weeks, I am back to the point where I was with the first version of stall 9, but this time my code base is much more concie, robust, and manageable. Instead of my development slowing down because of the size of the code base like before, it is actually accelerating at an astonishing rate. At this pace, a somewhat unpolished version of Stall 9 will be ready for launch sometime in September! As a side note, I am lucky enough to be going to Kenya for 3.5 weeks again in August followed by a bachelor's party in New Orleans, so that is why Stall 9 won't be ready sooner!
If you are interested in learning more about Stall9, please don't hesitate to contact me. I am building this site to fill a void in an ultimate fan's experience, and since I'm certainly not representative of all ultimate fans, I can always use more input from others.
View Comments
Code For This Site
I've decided to make the source code for this site publicly available. You are welcome to download it, use it, modify it or do anything else you want with it. It is available here. I have also uploaded a rather detailed README that should get the site up and running for you if you do decide to play around with it.
Getting this site up and running took a bit of time and during the process I was always wishing I could just see the full source code for some other django sites. This site uses the re-usable apps philosophy where the site itself is just a settings file and a url conf while all of the actual work is done by a number of reusable apps. While this philosophy makes perfect sense and seems like a great way to build a site, almost all of the django tutorials out there do not preach this view. Instead, they tend to show overly-simplified example sites that have a monolithic design. Thus, I hope my source code provides a useful reference to someone else out there who wants to adopt a reusable apps approach to their django site.
Enjoy!
View Comments
MySQL and Python on 32 bit Snow Leopard
I am running Mac OSX 10.6 (Snow Leopard) on my home machine and had previously been chugging along just fine with my Python 2.5 and MySQL 5 setup. However, this morning I decided to try and get MySQL to play nicely with my Python 2.6 installation and I ran into all sorts of problems. I searched online for solutions and found that a ton of other people had problems as well, but none of their solutions worked for me. I did get mine working after a couple of hours of fussing and all of the problems ended up being the result of incompatible architectures.
I'll outline the steps I would take to get this running again on my machine and why. Here is the target setup:
- MySQL 5.1, 32 bit
- OSX 10.6.2, 32 bit
- Python 2.6, 32 bit
First, I'm going to remove my previous MySQL installation. But even before that, we obviously need to back up our database. Here's how we would create a dump of it if we have the mysqladmin installed.
$ mysqldump -u username -p -v databasename > databasename.sql
Next, we need to thoroughly uninstall MySQL:
$ sudo rm -rf /usr/local/mysql*
$ sudo rm -rf /var/db/receipts/com.mysql.mysql
$ sudo rm -rf /private/var/db/receipts/com.mysql.mysql*
Now that we've removed our previous install, we'll go to MySQL's download page and download the 32 bit .dmg package. Installing this is as easy as double clicking it after the download finishes.
Once we have MySQL installed and working fine, we need to install the MySQL-Python bindings. We'll go to the download page, and download the most recent version. Once you have this installed, cd into the directory and build it using the correct architecture flags.
$ ARCHFLAGS='-arch i386' python setup.py build
$ sudo ARCHFLAGS='-arch i386' python setup.py install
Finally, we need to ensure that we are using the 32-bit version of python. One way to tell if you are using the 32-bit or 64-bit version is if you enter your python interpreter and type:
import sys
sys.maxint
If the output is 9223372036854775807 then you are using the 64-bit version of Python. If it is 2147483647 then you are using the 32-bit version.
The way to force your system to use the 32-bit version is to use the command:
$ export VERSIONER_PYTHON_PREFER_32_BIT=yes
I added this to my .bashrc and then refreshed my terminal by typing:
$ source ~/.bashrc
Other alternatives to forcing the 32-bit Python are listed here.
Having done all that, you should be up and running! Hopefully this saves someone time, and if not, hopefully it will at least be a useful refresher for me next time I need to do something similar.
UPDATE: It turns out this was not the end of my problems since I also am using virtualenv to isolate my Django project installations. With the default way virtualenv is set up, it inherits a python interpreter from somewhere that does not take into account the versioner flags we defined. Unfortunately, the default Snow Leopard installation comes with python in 64-bit mode, even if you are running OSX in 32-bit mode and thus, this is the python interpreter loaded into your virtual environment. After a lot of work and fiddling with things, I found the way to get around this is to do the following:
-
Install Python from a .dmg which you can download on the Python website. The .dmg package from the Python site is the 32-bit version so this is perfect for us in this case. Mine installed by default into the directory /Library/Frameworks/Python.framework/Versions/2.6/bin/python
-
When you create your virtual environment, specify which python interpreter you would like to use. For me, this was:
$ cd /srv/python-environments/
$ virtualenv --python=/Library/Frameworks/Python.framework/Versions/2.6/bin/python new-environment
Also, if you need to check on which version of python is being called at any given moment, the following two commands will give you useful output.
$ which python
$ python --version
View Comments
Single settings file for Django deployment on Webfaction
After only a few days of this blog being up, I already became annoyed with having to maintain separate settings files for development and production. Thankfully, fixing this problem was incredibly quick and easy and should save me some headaches in the future. All I did was determine what host the settings file resides on and then set the parts of the settings file that change between development and production. Here is what the relevant part of my Django settings file looks like:
That's it!
View Comments
I'm moving blogs again
Hi everyone. Yesterday I finished building my own site which I will use for updates such as the ones I had provided here. I'm excited about this new site because its the first blog I've had where I actually programmed it myself! Feel free to check it out here:
I hope you like it!
View Comments
Kicking Off This Site
I'm really excited to be putting this new website up today! I had been using this posterous blog for travel updates while I was in India and hiking the John Muir Trail last summer. And I was using a different blog for my recent trip to Kenya. However, I am infinitely more excited about this one.
I have recently been working with Python and the Django web development framework for an ultimate frisbee site I'm creating (I'm being a bit secretive about its details :P) and realized I missed a major step in the learning process. After learning a lot about the Django community, it seems that creating your own blog is something of a rite of passage in becoming a legit developer. Thus, I took a step back from my original project, and spent the last week or so coding this site.
The time spent on this site was well worth it, and I learned plenty of things about both development and deployment. And now that I have this blog, I actually have a place where I can talk about useful things that I've learned!
The code behind this site is fairly straightforward and after I clean it up and document it better, I'll be releasing it so you all can do whatever you want with it. Very few sites make their entire codebase open source (and there are plenty of good reasons for this!), so it would have been nice while I was writing this to be able to view the source for a full Django project like this. There are plenty of open source Django applications strewn about the web which are useful to both use and learn from, but full projects that included url confs and templates are of the most use to brand new users of the framework.
I'd like to be able to tell you how often I'll be posting to this blog, but I really can't say. Probably around once a month? I do have an idea about what I'll be posting on at least. I'll share useful information when I see something that more people should know about, especially in regards to technology and programming. And I'll also use this blog to talk about fun experiences in my life such as ultimate, hiking, or traveling. Hopefully I'll become a better writer in the process!
Thanks for stopping by!
View Comments
Trip to Kenya from 12/29/09 - 1/20/10
I will be traveling to Kenya for the third time in a few days, but instead of posting all about it here, I have instead set up a group blog so everyone on this trip can post. There are 7 of us so hopefully between us all we can give plenty of updates! This blog is located at:
http://ewb-orongo.posterous.comView Comments
Life has really calmed down
View Comments
clam chowder in a bread bowl and a day at pismo beach. awesome end to the trip.
View Comments
At Muir Trail Ranch
View Comments
I am continuing on with our two new friends John and George. I'm feeling great thankfully!
View Comments
Alyssa and Rachael have decided to go home due to foot, knee, and hip ailments. They made really far!
View Comments
over 50 miles in but Rachael has developed some nasty blisters that might force her to stop early...
View Comments
Camped on the side of a mountain last night! I've dreamed of that for quite a while.
View Comments
Day 4, 40+ miles in and we're really getting into a grove. At Donahue pass at 10000+ feet! Its amazing.
View Comments
Just set up camp on a river and took my first bath! We're all doing well minus some blisters and bruises
View Comments
Day 3, 30 miles in. Stayed at a beautiful campsite on cathedral lake last night.
View Comments
Day 2, 18 miles in. Yosemite is beautiful! Its quickly becoming one of my favorite parks.
View Comments
This will be our last reception for a long while. 5 days until our next food restock but we have plenty.
View Comments
Made it to the top of half dome! Wayyy too many people. Very nice views though.
View Comments
Our camp last night. Was awesome. We're waiting in a slow line now to climb half dome. Lame!
View Comments
got permits with no problem. Leaving from mono meadow trailhead in 15 min. Half dome tomorrow!
View Comments
We're leaving in 30 min! I'm posting this using SMS so i hope i can get service once in a while to update!
View Comments
In California, Preparing for the John Muir Trail
View Comments
Almost time to leave
Everything is wrapping up here nicely and I'm having no problems moving out thankfully! It was sad saying bye to my ultimate friends I've made here since yesterday was the last time I would be playing with them. I will probably miss them the most along with Siva when I leave here. Rachael asked me the other day what I would miss most and after a long while of thinking the only two things I could think of were the new friends I made and having so extremely little to worry about. Even though there are infinitely many perks to living in the states over living here, having almost no pressures while still having a great group of friends is amazing.
Unrelated, but I apologize for the timebeing about being slow to respond to e-mails and such because the system here is having all sorts of problems with authenticating me on certain huge sites. I can't access gmail, facebook, or even my ewbuw site. Hopefully I'll have access soon!
Tomorrow we are traveling to Mysore finally to explore a huge palace and see some extremely old temples. There is one that is 4000 years old! Then on Sunday I am leaving for the airport and will be back in Naperville Monday morning bright and early. Rachael and I then have two days to pack our bags, buy any extra camping supplies, and head out to California to meet Alyssa and get ready for the John Muir Trail. We'll be starting the actual hike one week from tomorrow! I think I would be really sad about leaving here if it weren't for this hike.
Anna, Kyle, Rachael and I are going out to dinner with Rachael's labmates now so I have to go. I hope to get in touch with all of you soon!
View Comments
A sad week
View Comments
More birthday festivities
View Comments
Sorry about the broken pictures!
View Comments
Last weekend in Kerala
View Comments
Some Pictures of Indian Food
One of the biggest differences between living here and at home is definitely the food. Apparently some foreigners at NCBS can't deal with it and end up eating a lot of cookies and bread. Luckily I find most of it quite good (except the food at B mess which I do not need to eat anymore!). One thing that is still difficult to get used to though, is eating with my hands! Some things like chappathi or pastries are of course easy to eat with your hands, but most things are not. For instance, today at lunch I ate Rice, Chappathi, Yoghurt, an Egg in a bowl of sauce, and masala. And boy was it messy. No one looked at me funny when my right hand was covered in sauce and rice because they were all doing it too! In fact, they are still slightly more messy than me because at the end of all their meals, they pour buttermilk on their remaining rice, mix it up really well, and eat the soupy concoction with just their right hand. Kind of unsightly to watch, but they do it with unbelievable efficiency!
Anyway, here is an example of some Tamil food we had on one of our trips there:[Edit] The image did not load correctly. Here is a link to someone else's picture of pretty much the same meal: http://www.chennaitransit.com/ChennaiTransit/Gimages//chennaimeal1.jpg
That green thing is a banana leaf. Some guy with three tins of different sauce walks around and continues to scoop more onto your leaf as you eat until you fold the thing closed. It was quite tasty actually, even though I'm not a big fan of their rice here.
What I am a big fan of though, is their desert. This little guy is soooo delicious. Don't know what its called though. I think it starts with a J. My other favorite desert is Mysorepak and I'll be sure to bring a bunch home with me.And I should definitely post a picture of that way too spicy Gobi Manchurian. Haven't gotten the courage to try it again but it'll happen since its probably the tastiest food I've had here.
View Comments
I had a great birthday
View Comments
July 4th Weekend in Goa
This past weekend was quite fun. A little too short though... On Friday Anna, Kyle, Rachael, and I took a 14 hour overnight bus ride from Bangalore to Goa and arrived at about 10am. The busses had AC set to extremely cold but luckily Rachael brought a jacket and I brought a sweatshirt which we put over our faces and it was tolerable. Poor Anna and Kyle though... There were not sheets on the bus and both of them had only short sleeves and shorts. Anna claimed this was colder than the time we wandered London for 4 hours in January without jackets on so I couldn't even imagine their pain! She lost her voice completely from that AC. One good part of the busride though was that when Rachael woke up at night really having to pee (there were no bathrooms on the bus), we walked up to the driver and he stopped so we could go pee on the side of the road. They only stopped 1 or 2 times during the whole 14 hour ride. I guess Indians can just hold it in better than us Americans!
Goa was really pretty and had tons of really lush forrests amidst a ton of rice fields. It was clearly a place for tourists, as the accomodations were quite nice and had a lot of white people there. We stayed at Anjuna beach at a place called Villa Anjuna in these rooms right outside a nice swimming pool. At this place there was also a cafe that served tons of western foods! Actually, the whole time we were there we ate almost all western food which was fantastic.
Unfortunately it was the monsoon season so we couldn't really lay out on the beach. It was always drizzling and the waves were just massive. It was plenty warm though so we walked along the sand and rocks for a while. Kyle and Anna got adventurous and walked onto the rocks to see the wildlife in the tide pools. While they did get to see a whole bunch of crabs, a wave knocked them down and since the rocks were really jagged, they got a bunch of small cuts on their feet and arms. They're fine now though.
Other than that, we didn't do too much there except just relax. And it really was as relaxed as I've been here in India. The trip home though was not quite as much! We took a slower bus home, 16 hours, and it only stopped for a bathroom break once! We realized how little these busses stop so we were sure to drink as little as possible in the hours leading up to it, but Anna still had to pee really badly about 4 or 5 hours in. So we decided all to try to go alongside the road and went up to the bus driver and the conductor to ask them to pee. And the conductor told us to go away. We kept pleading to him that it was an emergency and he just told us to go back and sit down and was kicking at Anna's shoe to get her to move away! So we went back and Anna survived another couple hours until we stopped. What was so surprising though, was that at the last stop when we were getting off and getting our bags, the conductor kept saying "Hello friend! Can you give me a tip? 50 rupees." I don't understand... haha
This is the bus I keep talking about:
The bus on the way back was also extremely bumpy and difficult to sleep on, so I ended up sleeping 11 hours last night to make up for it! That was sure enjoyable. Tonight us 4 plus Siva are going out to find some Chinese food for my bday which I'm sure looking forward to! Oh, and speaking of awesome luck with food, I got switched by default yesterday from B Mess to C mess because B mess all of the sudden closed for the month for some unknown reason. I had been trying to switch for over a month because the food at C mess was ten times better but they wouldn't let me because their paper book keeping system is so complex/old fashioned you can't really change things so easily. So as of today I have good food for all my meals!
View Comments
On first impression, Posterous is cooler than Tumblr
It has no way to set custom themes or make things look pretty, but its
functionality is really fun! And it is faster and much easier to use
than Tumblr after playing with it for only minutes. I thin this will be my main blogging platform for now. If you are curious about the tumbler blog I tried out for a few days it was located at:
http://wiscospike.tumblr.com/
View Comments
4th update from India
So this is my first ever blog entry on my first ever blog… I feel so behind the times that I thought I would give this a shot and see what its like! There is a good chance you’ll see future blog posts from different blogging sites while I get a feel for things. I guess what made me change to updates on blogging sites instead of those mass e-mails is I’ve been quite interested in web development recently and since I’m doing all this research about the new trends in social media, I should really start participating as well!
Anyway, I am posting this now because I’m in such a good mood right now. Today is just going amazingly. I played ultimate for the first time in India and it was as much fun as I had hoped. Ultimate people are just really cool. They are really new to the game so its not quite like playing in the states, but the players were all really friendly. One of the guys gave me a ride most of the way back and gave me his number so I can ask him questions about where to stay this weekend in Goa. Even though they play at 6:30 am, I’m pretty sure I’ll be going to 2 games a week from now on! The only problem with playing there was all of the cricket games going on around us which meant there were always about 5-10 people running around our field at all times which we had to dodge. There were also a group of 4 people just standing around in the middle of our field talking and when one of our players asked them to move they said that we don’t own this ground… That would definitely not fly in the states. First off, no one in their right mind would stand on an obvious playing field just because they can, and second, if they were asked to move, 99.9% of people in the states would get off the field. I still find that behavior shocking.
Anyway, on the way back to IISc this morning after the ultimate guy dropped me off, I took an autorickshaw the rest of the way back and he didn’t try to rip me off! He tried to get his meter working but when it was obviously broken, I suggested 20 rupees which is probably what a meter would have cost and he didn’t argue. We then had to go farther than I originally thought to a back entrance and almost got into 2 accidents while I was giving directions to him and he still didn’t complain about the price. I ended up giving him more than that anyway just because he didn’t try to rip me off. haha, I probably ended up paying the same amount as I would pay an ordinary rickshaw driver who haggled the price with me, only at least this guy knows he was doing honest business.
So recently I traveled to Kanyakumari on the southern tip of India. Siva took us there on a 14 hour train ride. The ride there was really nice. It was an air conditioned sleeper car with reasonably comfortable mats, only 2 levels of beds, and came with sheets, blankets, a pillow, and a curtain for privacy. So that was really sweet. The way back though wasn’t nearly as nice… There was no AC which meant a lot more bugs, there were 3 layers of beds which meant a lot less space, no curtains so there was exactly zero privacy, much less comfortable mats, and no blankets, sheets, or pillows. Somehow I still got a great sleep though!
While Rachael and I were at Siva’s in law’s place at Monday Market (about 20 minutes from Kanyakumari) we were treated really well. They gave us the upstairs guest room which was actually a really nice accomodation. We had our own western style bathroom with hot water for showers too. His mother in law cooked us 2-3 meals a day. Eating there was a little awkward though. Because we were the guests, we were supposed to eat first before everyone else. We would sit at a table with just food in front of Rachael and I and Siva, his Father in law, his mother in law, his brother in law, and sister in law would all be there watching us eat (sometimes not all of them since they would also do other things). His mother in law would stand literally 5-10 feet away and wait for our plates to start getting empty and whenever they reached a certain point she would come over and scoop us some more. So that was sure an interesting experience.
Probably the most shocking experience there was the early morning church. This was a Christian community and there was a very nearby church that held service every morning at 5am-6am. Simillar to the Kenyan churches I experienced last summer, this church had incredibly loud speakers pointed away from the church so everyone in the community could hear every word loudly and clearly. In our room it was significantly louder than sitting right in front of a TV set to normal listening volume. Needless to say we didn’t get much sleep for that hour either morning. The crazy thing is that that church service happens every single morning and the residents don’t seem to mind! And speaking of things similar to Kenya, we found out that Siva’s in law’s move at a speed comparable to our Kenyan friends! Friday night we were asked to be ready to go by 8:30 saturday morning so we were up and ready at that time. We ended up sitting around playing with Siva’s newphew, talking, and really doing almost nothing until leaving at about 11… So then Saturday night they apologized for leaving so late and said we should sleep in until 11 Sunday morning. But then Siva’s mother in law said breakfast would be ready at 9:30 and that we should be ready to eat then and we would leave right after breakfast. So sure enough we wake up and get down there at 9:30 to eat breakfast. But we end up sitting around waiting for people to shower, play with Siva’s nephew some more and don’t leave until after 12! haha its kind of ridiculous, but at least I’m used to it so it doesn’t make me think less of such a welcoming family.
Speaking of inefficiencies, I still can’t get a good grasp on whether or not Indians are fast paced or slow paced. Everyone is rushing around so fast on their mopeds and traffic is outrageously agressive. People are pushing and cutting in lines and always in such a hurry to get their food or any other kinds of service. But then they take these super long lunch and tea breaks every day and don’t start work until about 10 or 11! Seems conflicting so I’m still trying to understand it. haha, I saw one of the most ridiculous wastes of time the other day when I was taking water samples in a village on the border of Karnataka and Andrea Pradesh. Granted, it was not a huge village so life moves slower there but still. We needed samples from a tap and the taps weren’t currently running because the pump had been turned off for the day (people get their water during a 1 or 2 hours of pumping time each day). So we needed to turn the pump back on to get water, but it takes 15 minutes for the water to start up. So we had to wait in the blazing sun for this. First of all, I thought it was incredibly inefficient and time wasteful that all 4 members of our group was standing around waiting for this water. But on top of that, 6 other adults and 5 children were standing around just watching us wait for water to come out of the tap where we would put a bottle under it and be done. hahaha. Seriously, in the US, it would take one person to collect the samples, and during those 15 minutes of downtime (which wouldn’t exist because our water sources are so awesome!) that person would go do something else instead of look at it. 15 people*15 minutes was almost 4 wasted man hours where everyone was bored, hot and doing nothing productive or amusing… very odd.
Yet on the complete opposite side of the spectrum is their unbelievably effecient food service! After taking those water samples we went for lunch at a busy restaurant where there were about 15 tables of 6 people each. Lunch lasted a total of 15-20 minutes from the time we walked in until the time we walked out. Absolutely unbelievable considering how this was a great sit down place. In those 15 minutes, we washed our hands, ordered, got our drinks, got an appetizer (massa vada which was delicious), got another appetizer (jammoon, also delicious), got our main course (mysore masasla dosa, both delicious and filling), got our first desert (curd with lots of sugar), got our second desert (ice cream), drank tea, paid for it all, and washed our hands again. Further, this cost about $1.50. Yes, I was eating about as fast as I possibly could to keep up with everyone, and took my tea so fast I scalded my tongue, but it I enjoyed having such a great meal without wasting a second!
And speaking of food, I had the absolute best meal I’ve had here yesterday. There is a small canteen here for people from outside the campus that I tried for the first time and I had buttered poori with gobi manjuri was that amaaazing. Juicy, crispy, spicy, sweet, flavorful. Sounds a little like panda express right? haha, probably as good as that which is saying a lot considering how much I love Panda. Only problem was, I am getting used to eating meals here with no water during the meals and only taking a drink afterwards. But this meal happened to be one of the two spiciest meals I’ve had here (making it one of the three spiciest I’ve had in my life!) so I was about to die by the end. My face was covered in sweat, my eyes were beginning to tear up, I was breathing heavily, and it was a chore just to talk and order water afterwards! haha, totally worth it though. I think I’m going to get it again today but bring water with me.
This first post is getting long I think. I am going to go now and book some tickets for this weekend. We have a full schedule of weekends lined up to finish off this India trip! This weekend we’ll be going to Goa which is known for its beautiful beaches and almost no crowds during this monsoon season. The next weekend we’ll be going to Kerala which is also known for its scenery and backwaters. The following weekend we’ll be going to Pondicherry which is beautiful and hot this time of year and we can actually go swimming for the first time! And then the last weekend we’ll be visiting Siva’s house again. Hopefully we can also push our flight forward a couple of days to go see the Taj Mahal before we leave. I think I’ll send shorter, more frequent updates from now on. I think I might also add random stuff to this blog in case you want to check it more often. There’s lots of fun things on the web these days that are definitely worth sharing with anyone who cares!













