Caffe Compilation for UTCS

cmake -DCMAKE_BUILD_TYPE=Release -DCUDNN_INCLUDE=~/cudnn-7.0-linux-x64-v3.0-prod/include/ -DCUDNN_LIBRARY=~/cudnn-7.0-linux-x64-v3.0-prod/lib64/ -DCUDA_ARCH_NAME=All ..

UTCS GPU Cluster

To submit a GPU job to the UTCS cluster, your condor submit file must: 1) specify a requirement TARGET.GPUSlot and 2) add a line +GPUJob = true. It is also possible to specify additional requirements: These are added by specifying Requirements = (REQ_1 && REQ_2 && ...). Some useful requirements to choose from:
            Choose GPU Type: [TitanBlack|TitanX|GTX980|GTX980i|TeslaK40] == True
            Choose Condor Node: Name == ""
            Stay in Eldar: Eldar == True
Example: Requirements = (TARGET.GPUSlot && TitanBlack == True)

Caffe Build Example: Since there are a variety of GPU types in the cluster, we build for all architectures:

mkdir build && cd build && cmake -DCUDNN_INCLUDE=/u/mhauskn/.local/include/ -DCUDNN_LIBRARY=/u/mhauskn/.local/lib/ -DCUDA_ARCH_NAME=All ..

Creating Sharable Git Repos

5/21/2012 - Recently I've been struggling with creating a git repository that can be used both by me and my advisor. Getting the permissions correct for both of us push/pull has been tough, however we have a common unix group (larg) which, with a little magic, turns out to be sufficient. Here's how.

First setup the remote repository. The --shared flag tells git to make all commits group writable by the gitusers group. Combined with the set gid this allows anyone in the group gitusers to push/pull.

          mkdir myproject.git
          chgrp gitusers myproject.git
          chmod g+s myproject.git
          cd myproject.git
          git init --bare --shared

Next, on the local machine:

          cd myproject
          git init
          git add *
          git commit -m "Initial commit"
          git remote add origin
          git push -u origin master

Team members belonging to the gitusers group can now checkout and commit using the following:

          git clone

Re-thinking Political Representation

12/11/2010 - Representation based on geographical location is a thing of the past.

Ever feel like no-one in government truly represents your interests? I feel this way more often than I'd like to admit. The problem is not a lack of representation in government, nor is it the fault of our representatives when they fail to accurately represent people's interests. Simply put, it is an impossible task for a congressman or senator to represent the myriad beliefs of his constituency. This is a direct result of the fact that representatives are elected based on geographic location. In the days of our founding fathers, in which states were strongly independent entities, people sharing a common geographical location typically shared similar political interests (namely those of their state), which allowed geographically based representatives to accurately mirror the interests of their constituents. This is no longer the case. My district of 650,000 contains people passionate about nearly every topic, who often disagree about the same topics. Look at the homosexual population for example. There has never been a congressman (to my knowledge) elected explicitly to represent the interests of the LGBT community. Furthermore, under geographical representation, there can be no such congressman until enough LGBT-friendly people gather in the same congressional district to elect one. As it is, homosexuals are present in all states but remain a strict minority in each, guaranteeing that they will get no representation under our current geographical representation system.

To solve this problem, representation should no longer be grounded in the soil on which a person lives, but on the passions which drive us all. Representatives need to be elected nationally via direct election and be given power proportional to the percentage of the votes they receive. This would allow the LGBT community to elect a representative who could explicitly represent LGBT interests regardless of where each constituent resides. This would allow those close to my own heart, the believers in information freedom, net neutrality, and transparency of government, to elect a representative to protect the interests of internet junkies (better yet internauts). This representative, like LGBT's, may still possess only a small share of political power in comparison to other representatives who won a higher percentage of the direct vote, but importantly there would be someone in congress to care about, someone to go out of ones way on election day to vote for, someone who remains accountable and was elected explicitly to represent my interests. No longer would people be clueless about who their representatives were, what they stood for, and how they voted. No longer would people be apathetic about their government. No longer would people bemoan the fact that they have no influence on the workings of Washington. Fix our broken representation system and I predict nothing less than full change in the way people regard the US government and politics in general.

A Cell-Free Month

9/16/2010 - Investigating viable alternatives to cell phones.

In an age where cell phones are as commonplace as house keys, I plan to go a month without carrying, answering or powering on my cell. Sometimes it pays to re-examine deeply ingrained habits, like carrying a cell phone, and assess how they impact ones life.

A little history first: for the past 3 years I've been a reasonably satisfied Verizon wireless customer talking on my trusty LG Chocolate (VX8550). However, the chocolate has progressively developed something of a battery life issue and now gives me about 3 full minutes of talk time before powering down. So perhaps I've been nearly without a cell phone for some time now, but fortunately Verizon came to the rescue offering new phones so long as my family renewed our contract. But here's the catch: any new "smart phone" had to be accompanied by a $30/month data plan. Now my family only pays ~$100/month for our voice only plan, and 4 new smart phones with accompanying data plans would have more than doubled the monthly bill. Of course we could opt to get new "non-smart" phones and stick at the current rate, but whats the fun in that? Verizon, the option we were looking for was to get new smart phones and use them with local wifi networks (since many do have this capability) while paying our current rate. After a few calls to Verizon customer service, it was clear that this was obviously not an option. Thus began my search for cell phone alternatives.

In my opinion, cell companies should simply charge for data transferred, because, lets face it, voice/sms/net usage is all simply data. Why are we getting charged separately for all three services? There are several interesting options when it comes to this: The Virgin Mobile Mifi card costs ~$150, fits in the palm of ones hand, and creates a local wifi hotspot using Sprints 3G service. Even better it costs only $40/month for unlimited data. Couple this with an ipod touch, and it should be possible to route all calls/texts/internet usage through wifi (many apps such as Skype are capable of this).

The other good alternative, which I will be using over the next month is Google voice. Since Google has now integrated calling functionality into gchat, it's possible to both send and receive calls with one's computer (as well as forwarding calls to landlines and a host of other services). The service is free until the end of 2010, and it seems likely that after 2010 it will be quite affordable or free with ads. Since I already spend the majority of my waking time in front of a computer (such is graduate CS life), I expect to be able to field the vast majority of my calls through gchat. The trick will be those uncommon situations, like having your car break down, in which a cell phone would be really hand to call someomone. This next month will hopefully expose the necessity or superfluity of the cell phone.

11/6/2010 - Reflections

Its been well over a month since my original post. During that time I've only powered on my cell phone once to retrieve my grandparents phone number. Largely I haven't missed it. It's one less thing to carry around and worry about keeping charged. Google Voice has performed admirably: my conversations are clear -- everyone who I talk to says I sound much clearer through my headset than over the cell phone; the voicemail utility works fine and although transcription is spotty it's good enough to get the gist of a message. I've been able to forward calls to my work phone without issue. The only real question left in my mind is if they will decided to start charging after the new year.

There were a few times I missed having a cell. Specifically I had to pick up a friend who was downtime. She's new to Austin and didn't really know her way around and although we agreed to meet at a specific location, had she not been able to find this place, we would have had no way to contact each other. There have also been a few times where I'd prefer the privacy afforded by a cell phone. I feel bad receiving private calls on my desk phone at lab because they're likely disturbing to anyone trying to concentrate in the area. I used to simply walk out the door and talk on my cell, but now I'll just typically wait to return home before making these calls.

So where do we go from here? I'm through with Verizon and my cell phone. As chance would have it though, my grandma has a prepaid phone with At&t but wants to switch over to my family's plan so she can talk more. So she's going to take over my spot in the Verizon plan and I'll carry her prepaid phone for stuff like roadtrips and coordinating pickups. I suspect this arrangement will likely work out quite well for all parties involved. Looking forwards I predict that we will see a more data oriented market with all voice calls simply routed through data services. Once the market stabilizes around data devices, offers reasonably priced plans, and there is native support for making/receiving calls through wifi or 4G I may rejoin the cell users. Until then you can reach me at my Google voice number.