<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6620140718015015105</id><updated>2012-02-04T17:10:13.527-05:00</updated><category term='this is a mad mad world'/><category term='making other plans'/><category term='gradschool'/><category term='MS - the evil one'/><category term='nerd stuff'/><category term='gradschool tips'/><category term='applying to gradschool'/><title type='text'>Depression-free life</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://nerdjusttyped.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6620140718015015105/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://nerdjusttyped.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>some grad student</name><uri>http://www.blogger.com/profile/16612202566538951226</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>29</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6620140718015015105.post-162471050028561625</id><published>2012-02-01T15:35:00.000-05:00</published><updated>2012-02-02T16:01:53.986-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='nerd stuff'/><title type='text'>The pros and cons of Asus U36SD-DH51</title><content type='html'>Now that I had it for a few months, I figured it's time to actually write something meaningful about the machine. First, installing software without a CD drive can be a small headache. At least installing 64-bit Win 7 and Linux (Debian) was pretty straightforward. The only trick I found was that booting from a USB device is not a BIOS option until you plug in the USB stick, so plug in the USB stick, enter BIOS (I actually don't remember which key does that and just mashed the common ones), and change the boot order to USB.&lt;h2&gt;Installing from flash&lt;/h2&gt;Installing Windows or Linux from flash is pretty easy. The only trick is if you have a 32-bit box running (like I had) and you're trying to setup a 64-bit installer on the flash drive, you'll have to dig for the 32-bot bootsect file. Conveniently Microsoft actually posted &lt;a href="http://www.microsoftstore.com/store/msstore/html/pbPage.Help_Win7_usbdvd_dwnTool"&gt;instructions&lt;/a&gt; on how to do all this.To install Debian, you can &lt;i&gt;cat&lt;/i&gt; the &lt;i&gt;.iso&lt;/i&gt; for a &lt;a href="http://www.debian.org/CD/netinst/"&gt;netinstall&lt;/a&gt; or just the &lt;a href="http://www.debian.org/CD/"&gt;first CD/DVD&lt;/a&gt; onto the flash and boot from it &lt;a href="http://www.debian.org/releases/stable/amd64/ch04s03.html.en"&gt;(Debian's installing from USB guide)&lt;/a&gt;.&lt;h2&gt;Win 7&lt;/h2&gt;Windows runs well with all the Aero effects enabled. Considering I don't do much heavy processing in Windows, it was more than enough. One small annoyance is that I couldn't figure out how to get the two-finger scroll to work. The machine is good enough for  playing games like &lt;i&gt;Football Manager 2011&lt;/i&gt; and &lt;i&gt;Civilization 4&lt;/i&gt; on high graphics, which is all I cared about. I haven't tried measuring the fps in any games that might actually require significant processing.&lt;h2&gt;Linux/Debian gripes&lt;/h2&gt;Suspend to ram doesn't work, which is annoying. I compiled the kernel with the debugging information and got the hash of the symbol on which it stalls from the RTC, but searching through the kernel, I couldn't find a matching hash using the &lt;a href="http://lxr.linux.no/linux/Documentation/power/s2ram.txt"&gt;provided debugging functions&lt;/a&gt;. I gave up on figuring it out after that point.&lt;br /&gt;&lt;br /&gt;The audio card works out of the box with Alsa. I wanted to use Spotify on Linux, so ended up running Pulse (seriously, why do I have to do this? get your act together, Spotify people!). The only annoying thing that Pulse does is that for some reason each application resets the sound volume when the playback ends (e.g. a song) and then sets it back to what it used to be when it begins again (e.g. new track starts), which means I get sound notifications every 3 minutes (on average). I've tried looking at xfce4-volumed to try to figure out what the deal is, but it appears it gets notified by the applications? I haven't looked too much into it.&lt;br /&gt;&lt;br /&gt;Wired and wireless networking works fine, without any complaints. I haven't tried getting bluetooth to work though (how many people care about it though?).&lt;br /&gt;&lt;br /&gt;The volume control keys work fine and so does the brightness control. The brightness control, though, insists on increasing the brightness the moment I start typing when on battery -- I haven't bothered to figure out why. The touchpad also works great and can be (somewhat) easily configured through the X driver.&lt;br /&gt;&lt;br /&gt;Without using wifi and dim brightness I can get around 5-6 hours on the battery and with using 802.11 around 4. The laptop is light, easy to carry, and I'm altogether happy. The gripes I have with it are small.&lt;br /&gt;The comprehensive list of what works and doesn't can be found on the &lt;a href="https://help.ubuntu.com/community/Asus_U36SD"&gt;ubuntu community pages&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;P.S. There is no nvidia drivers for it, but I gave up on expecting Linux to make use of a GPU.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6620140718015015105-162471050028561625?l=nerdjusttyped.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdjusttyped.blogspot.com/feeds/162471050028561625/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6620140718015015105&amp;postID=162471050028561625' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6620140718015015105/posts/default/162471050028561625'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6620140718015015105/posts/default/162471050028561625'/><link rel='alternate' type='text/html' href='http://nerdjusttyped.blogspot.com/2012/02/pros-and-cons-of-asus-u36sd-dh51.html' title='The pros and cons of Asus U36SD-DH51'/><author><name>some grad student</name><uri>http://www.blogger.com/profile/16612202566538951226</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6620140718015015105.post-8564668092975363482</id><published>2011-11-25T23:08:00.001-05:00</published><updated>2012-02-02T16:02:12.881-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='nerd stuff'/><title type='text'>Laptop shopping</title><content type='html'>&lt;p&gt;I decided it's time for a new laptop. First, apparently someone cared enough to &lt;a href="http://cache.gawkerassets.com/assets/images/4/2011/10/DealWatch_Laptop.jpg"&gt;plot&lt;/a&gt; the average price of a laptop over the course of a year. Granted this was about 2 years ago now and the laptop criteria (I believe) were a Core 2 laptop with a 15" screen. However, the plot made me figure out that the difference between peak price and end of November is about 11% -- so, clearly I must buy it now.&lt;p&gt;I was trying to find a decent laptop with a 13.3" (or 14" at most) screen, core i5 sandy bridge, and ideally weighing closer to 4 than 5 lbs. Considering that Toshiba's designs are awful, Acer has reportedly issues with flimsiness, Samsung is way too expensive, and Sony didn't seem to have too many options, I settled on picking between Dell, Asus, and Lenovo. I've realized some interesting choices these companies make. For example, good luck finding anything better than 0.3MP (yes, it's a 0) webcam on most of the Asus laptops (&lt; $900). At the same time, it's also impossible to find a thin Lenovo laptop with no DVD drive for less than $1000. And with Dell the outlet store looked awesome (in terms of pricing), except the machines were still bulky for my liking.&lt;p&gt;I settled on the Asus U36SD-DH51. I'll find out pretty soon how setting up Linux on it fares, but the &lt; 4lbs weight and &lt; 1" height made the difference. For now, the reviews seemed pretty good and it looks to be a pretty decent machine to lug around.&lt;br&gt;&lt;br&gt;&lt;p&gt;&lt;img src="http://usa.asus.com/Notebooks/Superior_Mobility/U36SD/websites/Global/products/9g7Gx4mX49JhUUJ7/R0A8DOQj9K1CqbGs_500.jpg" width="320px"&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6620140718015015105-8564668092975363482?l=nerdjusttyped.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdjusttyped.blogspot.com/feeds/8564668092975363482/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6620140718015015105&amp;postID=8564668092975363482' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6620140718015015105/posts/default/8564668092975363482'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6620140718015015105/posts/default/8564668092975363482'/><link rel='alternate' type='text/html' href='http://nerdjusttyped.blogspot.com/2011/11/laptop-shopping.html' title='Laptop shopping'/><author><name>some grad student</name><uri>http://www.blogger.com/profile/16612202566538951226</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6620140718015015105.post-6352986099183827155</id><published>2011-10-11T14:11:00.000-04:00</published><updated>2012-02-02T16:02:28.980-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='nerd stuff'/><category scheme='http://www.blogger.com/atom/ns#' term='gradschool'/><title type='text'>Scipy.stats.scoreatpercentile</title><content type='html'>&lt;p&gt;This took a little bit of digging (and anyone else can just read the stats.py file), but I was trying to figure out what is the percentile algorithm used by the scipy module. The &lt;a href="http://en.wikipedia.org/wiki/Percentile"&gt;wiki&lt;/a&gt; describes a couple of possibilities. The main difference is in how the rank is computed. Scipy uses the following rank computation:&lt;blockquote&gt;&lt;i&gt;n = p/100*(N-1)&lt;/i&gt;&lt;/blockquote&gt;and the NIST version that I implemented is: &lt;blockquote&gt;&lt;i&gt;n = p/100*N&lt;/i&gt;&lt;/blockquote&gt;Aside from that, the rest is the same as the value is computed as a linear extrapolation between two points in the set. It's not a huge difference, but if one's wondering why the scipy.stats results don't agree with another percentile computation this could be the reason.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6620140718015015105-6352986099183827155?l=nerdjusttyped.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdjusttyped.blogspot.com/feeds/6352986099183827155/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6620140718015015105&amp;postID=6352986099183827155' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6620140718015015105/posts/default/6352986099183827155'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6620140718015015105/posts/default/6352986099183827155'/><link rel='alternate' type='text/html' href='http://nerdjusttyped.blogspot.com/2011/10/scipystatsscoreatpercentile.html' title='Scipy.stats.scoreatpercentile'/><author><name>some grad student</name><uri>http://www.blogger.com/profile/16612202566538951226</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6620140718015015105.post-3453879692375864739</id><published>2011-07-16T14:43:00.000-04:00</published><updated>2011-07-19T18:51:51.455-04:00</updated><title type='text'>Why Johnny can't connect?</title><content type='html'>Wireless networks are frustrating: sometimes WiFi just does not work. A skype call gets dropped, pages don't load, and reestablishing the connection may take a while. The most frustrating is when it's clear that there is a network (since you're mere 10 ft away from the router), but for some inexplicable reason the little green bars or the happy little cone of connectivity refuse to appear. The issue has cropped up a number of times in computer science literature. For example, in the paper "A Measurement Study of Vehicular Internet Access Using In Situ Wi-Fi Networks", researchers found that the average time to connect to a network is 12.9 seconds. That's a VERY long time! Consider that on an 802.11g network, at wireless transmission rate of just 24 megabits per second, a client could send almost 40 megabytes of data! I saw a similar discussion about the length of connection establishment in a &lt;a href=http://cafbit.com/entry/rapid_dhcp_or_how_do&gt;blog post&lt;/a&gt; about how quickly OS X connects to an 802.11 (WiFi) network. While the authors focused on figuring out what the OS actually, I wanted to talk a little bit more about how &lt;a href="http://http://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol"&gt;DHCP&lt;/a&gt; and 802.11 work (or sometimes, not work) together.&lt;br /&gt;&lt;br /&gt;Most commonly, each device on the network requires an IP address. As devices frequently come and go (laptops, phones, etc) or just to reduce the configuration overhead, a dynamic protocol--DHCP--is used to assign each new device an address. A client, not knowing which machine acts as a DHCP server on the network, sends a DISCOVERY packet to the broadcast address. In response, the server offers an IP address to the client in an OFFER packet. The last round is for the client to confirm the lease by sending a REQUEST for the offered address, which is confirmed by the server.&lt;br /&gt;&lt;br /&gt;This method runs into a problem when used on an 802.11 network. 802.11 standards attempt to mitigate losses on the wireless network by having the recipients send an acknowledgement (ACK) upon receiving a frame. If an ACK is not received within some time period, the sender will resend the frame, typically, up to 3 times. However, if a frame is sent to the broadcast address, ALL the clients would send acknowledgments, resulting in a flood of frames. Because of that, 802.11 does not ACK any of the frames sent to the broadcast address. This results in DHCP DISCOVER packets being particularly susceptible to be lost. The retransmission timeout in DHCP is commonly at least 1 second (and often even longer), which results in the long connection time.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;It appears that the approach OS X is taking is to cache the IP addresses on the different networks and check if the same address can be used. As the client does not need to send the DHCP discovery packets and can try using the IP earlier, the user is happy. In computer science literature, there are also other suggestions to alleviating the pain. One example is the QuickWiFi method suggested in &lt;a href="http://portal.acm.org/citation.cfm?id=1409944.1409968&amp;coll=portal&amp;dl=ACM&amp;type=series&amp;idx=SERIES395&amp;part=series&amp;WantType=Proceedings&amp;title=MobiCom"&gt;Cabernet&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6620140718015015105-3453879692375864739?l=nerdjusttyped.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdjusttyped.blogspot.com/feeds/3453879692375864739/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6620140718015015105&amp;postID=3453879692375864739' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6620140718015015105/posts/default/3453879692375864739'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6620140718015015105/posts/default/3453879692375864739'/><link rel='alternate' type='text/html' href='http://nerdjusttyped.blogspot.com/2011/07/my-wireless-is-broken1.html' title='Why Johnny can&apos;t connect?'/><author><name>some grad student</name><uri>http://www.blogger.com/profile/16612202566538951226</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6620140718015015105.post-8339845229849521916</id><published>2011-07-12T12:32:00.000-04:00</published><updated>2011-07-17T22:53:43.651-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='nerd stuff'/><title type='text'>Python, Swig, and returning a list</title><content type='html'>One thing that I would think comes up frequently with Swig and Python is how to return a python list of items. Imagine there is a &lt;i&gt;struct foo&lt;/i&gt;:&lt;br /&gt;&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 0px; overflow: auto; width: 100%"&gt;&lt;br /&gt;&lt;code&gt;struct foo {&lt;br /&gt;    uint32_t x;&lt;br /&gt;    uint32_t y;&lt;br /&gt;    double ts;&lt;br /&gt;};&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;In my particular case, when I was generating an array of these structs (&lt;i&gt;struct foo*&lt;/i&gt;), I wanted to return a list to python. The way I ended up doing this is through a function in the interface file, foo.i:&lt;br /&gt;&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 0px; overflow: auto; width: 100%"&gt;&lt;br /&gt;&lt;code&gt;%inline {&lt;br /&gt;    PyObject* foo_list(struct shm_params *shm_file){&lt;br /&gt;        PyObject *lst = NULL;&lt;br /&gt;        int entries, i;&lt;br /&gt;&lt;br /&gt;        lst = PyList_New(0);&lt;br /&gt;        for(i = map_size(shm_file)-1; i &amp;gt;= 0; i--){&lt;br /&gt;            struct packet *pkt = read_packet(i, &lt;br /&gt;                                            shm_file);&lt;br /&gt;            PyObject *o; &lt;br /&gt;            o = SWIG_NewPointerObj(pkt,&lt;br /&gt;                SWIGTYPE_p_packet, SWIG_POINTER_OWN);&lt;br /&gt;            PyList_Append(lst, o); &lt;br /&gt;            Py_DECREF(o);&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        return lst;&lt;br /&gt;    }&lt;br /&gt;}&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;The code should be pretty straightforward, but I'll explain it a little bit. This function takes one argument, &lt;i&gt;struct shm_file&lt;/i&gt;. In my particular case, I wrote an interface to access shared memory and passed the handle, as well as some parameters. The function &lt;i&gt;map_size()&lt;/i&gt; returns the number of records in this chunk of shared memory. Finally, &lt;i&gt;read_packet()&lt;/i&gt; reads a packet from the shared memory at index &lt;i&gt;i&lt;/i&gt;. These are all specific to my particular task. Creating and returning the list, however, is quite easy:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;lst = PyList_New(0);&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Creates a python list with 0 reserved size (maybe I can be smarter about this?)&lt;br /&gt;&lt;code&gt;&lt;br /&gt;o = SWIG_NewPointerObj(pkt, SWIGTYPE_p_packet, SWIG_POINTER_OWN);&lt;br /&gt;PyList_Append(lst, o); &lt;br /&gt;Py_DECREF(o);&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Here, I create a new object (&lt;i&gt;SWIG_NewPointerObj()&lt;/i&gt;) and append it to the list (&lt;i&gt;PyList_Append()&lt;/i&gt;). Afterward, it is important to call &lt;i&gt;Py_DECREF()&lt;/i&gt; to decrement the reference, since the reference count is upped when the object is appended and if we don't decrement it, the object will never be cleaned up.&lt;br /&gt;&lt;br /&gt;That's all! I don't know why I couldn't find a simple example of how to accomplish this task with swig before, but hopefully this will come in handy.&lt;br /&gt;&lt;br /&gt;Update:&lt;br /&gt;I found the &lt;a href="http://comments.gmane.org/gmane.comp.programming.swig/17248"&gt;mailing list posting&lt;/a&gt; that helped me out with getting this right. It also has a bit more explanation. My example is pretty much following that post.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6620140718015015105-8339845229849521916?l=nerdjusttyped.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdjusttyped.blogspot.com/feeds/8339845229849521916/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6620140718015015105&amp;postID=8339845229849521916' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6620140718015015105/posts/default/8339845229849521916'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6620140718015015105/posts/default/8339845229849521916'/><link rel='alternate' type='text/html' href='http://nerdjusttyped.blogspot.com/2011/07/python-swig-and-returning-list.html' title='Python, Swig, and returning a list'/><author><name>some grad student</name><uri>http://www.blogger.com/profile/16612202566538951226</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6620140718015015105.post-2267214464183288695</id><published>2010-09-07T11:29:00.000-04:00</published><updated>2010-09-07T11:33:59.207-04:00</updated><title type='text'>Movies and my life</title><content type='html'>Have any of you noticed the feeling sometimes that you're in a movie? Maybe this is only my mind playing tricks and the other minds don't do so, but I often feel like I'm in some movie sequence. The requirements for this are: to be at least somewhat excited about what I'm doing (of course, sometimes I'm doing nothing, but can still be excited) and motivational music. Here's where it gets kinda annoying: in movies whenever there is some fitting music, in any sequence lots of things happen in the time the song is played and often just half or third of the song. Sadly, I don't get as much done in that time as the movie starring me would've. I guess in the end I just have to put the song on repeat and pretend like it's an ongoing sequence :)&lt;br /&gt;&lt;br /&gt;The movie feeling is definitely the "in the zone" feeling for me and I can be quite productive those times. Now to figure out how to put myself in position to trigger it...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6620140718015015105-2267214464183288695?l=nerdjusttyped.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdjusttyped.blogspot.com/feeds/2267214464183288695/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6620140718015015105&amp;postID=2267214464183288695' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6620140718015015105/posts/default/2267214464183288695'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6620140718015015105/posts/default/2267214464183288695'/><link rel='alternate' type='text/html' href='http://nerdjusttyped.blogspot.com/2010/09/movies-and-my-life.html' title='Movies and my life'/><author><name>some grad student</name><uri>http://www.blogger.com/profile/16612202566538951226</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6620140718015015105.post-4854962115022814795</id><published>2010-08-02T16:56:00.000-04:00</published><updated>2010-09-07T11:34:50.291-04:00</updated><title type='text'>Different Datalink types?</title><content type='html'>For some of the stuff I've been doing, I could receive packets that were of different datalink types - in my case I could get an IEEE80211_HDR packet or an ETHERNET packet. The pcap library couldn't actually tell me what the correct type is, since the interface is set to Ethernet the whole time. The challenge then is how to tell the two apart. Unless someone has a better way, I've started with looking at the addresses that could be possible in one and not the other. I then looked at the presence of the LLC header.&lt;br /&gt;&lt;br /&gt;Basically, after searching around, this seems to be "state of the art". Kinda annoying, but for now hardcoding MAC addresses seems to work.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6620140718015015105-4854962115022814795?l=nerdjusttyped.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdjusttyped.blogspot.com/feeds/4854962115022814795/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6620140718015015105&amp;postID=4854962115022814795' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6620140718015015105/posts/default/4854962115022814795'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6620140718015015105/posts/default/4854962115022814795'/><link rel='alternate' type='text/html' href='http://nerdjusttyped.blogspot.com/2010/08/different-datalink-types.html' title='Different Datalink types?'/><author><name>some grad student</name><uri>http://www.blogger.com/profile/16612202566538951226</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6620140718015015105.post-6567357212646979223</id><published>2010-07-19T00:05:00.000-04:00</published><updated>2010-07-20T16:34:59.053-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='nerd stuff'/><title type='text'>Type 1 Fonts and matplotlib figures</title><content type='html'>Often times when you get a paper accepted for publication you're asked to submit the whole pdf using only Type 1 fonts and embed them in the document. I used &lt;a href="http://matplotlib.sourceforge.net/"&gt;matplotlib&lt;/a&gt; for all my figures and by default it used Type 3 fonts. In order to switch to Type 1 I had to throw in these lines:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;matplotlib.rcParams['ps.useafm'] = True&lt;br /&gt;matplotlib.rcParams['pdf.use14corefonts'] = True&lt;br /&gt;matplotlib.rcParams['text.usetex'] = True&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Finding those 3 lines somehow wasn't that trivial - I would've expected this to come up more often. Maybe my google-foo is no good here.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6620140718015015105-6567357212646979223?l=nerdjusttyped.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdjusttyped.blogspot.com/feeds/6567357212646979223/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6620140718015015105&amp;postID=6567357212646979223' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6620140718015015105/posts/default/6567357212646979223'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6620140718015015105/posts/default/6567357212646979223'/><link rel='alternate' type='text/html' href='http://nerdjusttyped.blogspot.com/2010/07/type-1-fonts-and-matplotlib-figures.html' title='Type 1 Fonts and matplotlib figures'/><author><name>some grad student</name><uri>http://www.blogger.com/profile/16612202566538951226</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6620140718015015105.post-4747292391863343153</id><published>2010-07-14T10:14:00.000-04:00</published><updated>2010-07-20T16:34:49.421-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='nerd stuff'/><title type='text'>Linksys WRT54GL and WDS</title><content type='html'>I recently found an interesting issues with this router. From a &lt;a href="http://mcentire.eecs.umich.edu/timur/linksysWRT54GL-NULLFrames.pcap"&gt;capture&lt;/a&gt; of the frames it's been sending out, I saw that it frequently tries to communicate with the other Cisco APs we have nearby. It seems like Linksys/Cisco managed to include a WDS feature, which the user can't control. Even more interesting is the fact that the router will happily try to use the nearby APs to route packets to a client. This definitely explained the 200ms delays I was periodically seeing. I managed to get around this by flashing dd-wrt firmware on it. I kept one running the Linksys firmware, though, just to see if they would ever acknowledge the problem and fix it. Oh, and if you need to call them to complain about something like that, it'll take almost a month before you actually get to talk to someone who knows what's going on. Joy. In the meantime, I had a manager talk to me who couldn't refer me to anyone who understood what's going on and also couldn't explain to me why it's happening. Great job, guys :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6620140718015015105-4747292391863343153?l=nerdjusttyped.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdjusttyped.blogspot.com/feeds/4747292391863343153/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6620140718015015105&amp;postID=4747292391863343153' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6620140718015015105/posts/default/4747292391863343153'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6620140718015015105/posts/default/4747292391863343153'/><link rel='alternate' type='text/html' href='http://nerdjusttyped.blogspot.com/2010/07/linksys-wrt54gl-and-wds.html' title='Linksys WRT54GL and WDS'/><author><name>some grad student</name><uri>http://www.blogger.com/profile/16612202566538951226</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6620140718015015105.post-8962491857496332544</id><published>2009-11-08T11:41:00.000-05:00</published><updated>2009-11-08T12:06:33.478-05:00</updated><title type='text'>The Hawkeyes</title><content type='html'>This season has already been above and beyond any expectations I had for the Hawks: 9-0, scoring drive against MSU, beating PSU in the Happy Valley, beating Wisconsin in Camp Randall and the crazy win against Indiana. If nothing else, it has been incredibly entertaining and a good time to be a Hawkeye fan.&lt;br /&gt;&lt;br /&gt;It's also funny to see how annoyed everyone in the country was with the Hawkeyes. Let's see, everyone in the Big-Ten decided they're just lucky, everyone outside of it wrote them off as a team that is getting by only because of the refs - apparently, watching the bobbling of a ball while there is a shadow under the foot is a TD and a concussion is not a good indicator of a helmet-to-helmet hit.&lt;br /&gt;&lt;br /&gt;Now we get great articles like: &lt;a href="http://www.latimes.com/sports/la-sp-spotlight8-2009nov08,0,6538658.story"&gt;Iowa must face facts after upset defeat&lt;/a&gt; or &lt;a href="http://espn.go.com/blog/bigten/post/_/id/6610/final-northwestern-17-iowa-10"&gt;Final: Northwestern 17, Iowa 10&lt;/a&gt; or &lt;a href="http://www.chicagobreakingsports.com/2009/11/growl-northwestern-upsets-iowa-17-10.html"&gt;Northwestern upsets No. 8 Iowa, 17-10&lt;/a&gt;. Clearly, Stanzi being knocked out and Vandenberg going 9/27, overthrowing wide open receivers multiple times, one for a TD, has nothing to do with this. Clearly, Oklahoma without Sam Bradford is the same team as it is with him and they're just that bad! Wait, what? Oh, we actually care when Bradford's knocked out and then make excuses for Oklahoma losing to unranked teams. If you want to keep talking trash about Iowa, go ahead, but then don't let up on Oklahoma or can we hear anything about Florida struggling against some teams?&lt;br /&gt;&lt;br /&gt;In the future, the sportwriters really should say what they're thinking: "Oh, good thing he got injured, now we can pile it on". As a matter of fact,  start mentioning injuring the starting QB as a viable gameplan, since clearly you're all about it. Heh, the sports media is utterly disgusting.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6620140718015015105-8962491857496332544?l=nerdjusttyped.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdjusttyped.blogspot.com/feeds/8962491857496332544/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6620140718015015105&amp;postID=8962491857496332544' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6620140718015015105/posts/default/8962491857496332544'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6620140718015015105/posts/default/8962491857496332544'/><link rel='alternate' type='text/html' href='http://nerdjusttyped.blogspot.com/2009/11/hawkeyes.html' title='The Hawkeyes'/><author><name>some grad student</name><uri>http://www.blogger.com/profile/16612202566538951226</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6620140718015015105.post-9001541093777957339</id><published>2009-07-10T17:36:00.000-04:00</published><updated>2010-07-20T16:35:36.401-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='nerd stuff'/><category scheme='http://www.blogger.com/atom/ns#' term='gradschool'/><title type='text'>iPhone 3GS and other things mobile</title><content type='html'>All right, &lt;a href="http://blogs.zdnet.com/BTL/?p=20328"&gt;this&lt;/a&gt; has got to be amusing.&lt;br /&gt;&lt;br /&gt;Apparently, with no hardware upgrades one can improve on the performance of JS 3 times. That seems significant. While I'm not entirely sure of the exact modifications made in software between iPhone OS 2.2.1 and iPhone OS 3.0, it just seems sketchy. Did they really find a big issue that they solved resulting in this speed improvement?&lt;br /&gt;&lt;br /&gt;On another note, there was an interesting paper in &lt;a href="http://www.sigmobile.org/mobisys/2009/"&gt;Mobisys&lt;/a&gt; (well, there are a lot of interesting papers in Mobisys '09) that described how to attempt to setup a network in a room of people. Here's the use-case: 2-8 people get together and want to share information/collaborate. Ideally, they'd like to quickly setup a network without doing crazy things like figuring out the BT names (easily spoofed) or mac addresses (harder spoofed). The idea is to use the accelerometers and leverage the fact that people in the room can point at each other. Maybe there are other interesting ways to leverage the sensors we have? What if you can hear someone? Or see?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6620140718015015105-9001541093777957339?l=nerdjusttyped.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdjusttyped.blogspot.com/feeds/9001541093777957339/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6620140718015015105&amp;postID=9001541093777957339' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6620140718015015105/posts/default/9001541093777957339'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6620140718015015105/posts/default/9001541093777957339'/><link rel='alternate' type='text/html' href='http://nerdjusttyped.blogspot.com/2009/07/iphone-3gs-and-other-things-mobile.html' title='iPhone 3GS and other things mobile'/><author><name>some grad student</name><uri>http://www.blogger.com/profile/16612202566538951226</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6620140718015015105.post-6303864480967654703</id><published>2009-06-21T18:24:00.001-04:00</published><updated>2009-06-21T18:51:59.272-04:00</updated><title type='text'>Spygate, revisited</title><content type='html'>A lot of people have written about &lt;a href="http://en.wikipedia.org/wiki/Spygate"&gt;Spygate&lt;/a&gt;. I'm not going to reiterate the same old arguments, rather I'd focus on the way the media has presented this. Here's an excerpt from the &lt;a href="http://www.math.unc.edu/Faculty/petersen/Coding/Articles07/nflspy9-14-07.html"&gt;NY Times article&lt;/a&gt; about it:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;N.F.L. policy prohibits videotaping opposing coaches giving signals. Last year, the N.F.L.’s executive vice president of football operations, Ray Anderson, sent a memo to teams reminding them of the rule. The memo is believed to have been generated in part by suspicions that the Patriots had videotaped coaches at several games last season.&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Now, I was not able to dig up the Game Operations Manual from 2007, but the only &lt;a href="http://www.patsfans.com/new-england-patriots/messageboard/10/66840-spygate-rule.html"&gt;quoted rule&lt;/a&gt; pertinent to the issue appeared to be:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;1. Page 105 of the Game Operations manual says: "No video recording devices of any kind are permitted to be in use in the coaches' booth, on the field, or in the locker room during the game." It later says: "All video shooting locations must be enclosed on all sides with a roof overhead."&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Interestingly enough, this does not explicitly state anything about the taping of signals and prohibits taping only from three locations, none of which is the sidelines (the NFL has &lt;a href="http://www.nfl.com/rulebook/field"&gt;defined&lt;/a&gt; the field to be the field proper). Of course, not in a dome, shooting from the sideline is not "enclosed with a roof" (is that really the infraction???). My point here is that it doesn't seem the rules were very explicit about the "taping of signals." The memo was, on the other hand explicit about it, but if there is a need to send it out, why is it not in the Game Operations Manual? If it's such a big issue, shouldn't there be a bylaw about it, as well as figuring out the appropriate minimum/maximum punishment, rather than making it completely arbitrary?&lt;br /&gt;&lt;br /&gt;Nevertheless, that point is now moot, and I'm more incredulous about the reporting that has been conducted about this story. If one notices, once again, in the first quote, the reporter either didn't bother to investigate that there was no explicit rule, or in search of a more biting article allowed herself more poetic freedom. If a well-respected paper, such as the NY Times, cannot produce a purely factual report about something as mundane (I'm sure some will disagree it was mundane) as a football coach's alleged infraction, how can we be expected to trust them on more serious issues? Oh, and maybe not having the media fuel the controversy, everyone could actually see it for it is?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6620140718015015105-6303864480967654703?l=nerdjusttyped.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdjusttyped.blogspot.com/feeds/6303864480967654703/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6620140718015015105&amp;postID=6303864480967654703' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6620140718015015105/posts/default/6303864480967654703'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6620140718015015105/posts/default/6303864480967654703'/><link rel='alternate' type='text/html' href='http://nerdjusttyped.blogspot.com/2009/06/spygate-revisited.html' title='Spygate, revisited'/><author><name>some grad student</name><uri>http://www.blogger.com/profile/16612202566538951226</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6620140718015015105.post-8187048171657286226</id><published>2009-05-18T17:27:00.001-04:00</published><updated>2009-05-18T17:51:43.682-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='making other plans'/><title type='text'>Time: 100 Most Influential People</title><content type='html'>Well, once again Time is being as amusing as ever with its &lt;a href="http://www.time.com/time/specials/packages/completelist/0,29569,1894410,00.html"&gt;list&lt;/a&gt;. The part that cracked me up was seeing Limbaugh's and Palin's columns written by Glenn Beck and Ann Coulter respectively. Oh, be sure to not miss Nadal's description by &lt;a href="http://www.time.com/time/specials/packages/article/0,28804,1894410_1894289_1894269,00.html"&gt;Serena&lt;/a&gt;:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;"I have never seen such tenacity, such ambition, such fight and such honor go into every shot as when I watch Rafael Nadal."&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;Yep, taking a shot is about honor. I was giving tennis too little credit. I thought it was a contest of strength, endurance, determination, and patience. All of a sudden it is above most sports, at least in my book, because I can't think of many other sports where playing them is honorable.&lt;br /&gt;&lt;br /&gt;Long story short, Time keeps setting a lower standard for itself every year. It is one giant popularity contest. Although, I suppose it fits in with the rest of the culture just fine, which means... shouldn't we blame ourselves?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6620140718015015105-8187048171657286226?l=nerdjusttyped.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdjusttyped.blogspot.com/feeds/8187048171657286226/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6620140718015015105&amp;postID=8187048171657286226' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6620140718015015105/posts/default/8187048171657286226'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6620140718015015105/posts/default/8187048171657286226'/><link rel='alternate' type='text/html' href='http://nerdjusttyped.blogspot.com/2009/05/time-100-most-influential-people.html' title='Time: 100 Most Influential People'/><author><name>some grad student</name><uri>http://www.blogger.com/profile/16612202566538951226</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6620140718015015105.post-7956162889081071610</id><published>2009-05-18T17:10:00.000-04:00</published><updated>2009-05-18T17:17:56.868-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='nerd stuff'/><title type='text'>Octave higher/lower</title><content type='html'>I'm trying to do some signal processing and realized that to visualize my traces something like &lt;a href="http://www.gnu.org/software/octave/"&gt;octave&lt;/a&gt; might be quite useful. Long story short I realized that one can really shoot oneself in the foot with it if it is allowed to pick a fortran77 compiler on its own. On the lab computer we have g77, f77, and f95 installed. f95 supplied by gcc 4 and g77/f77 by gcc 3. Long story short I ended up with: &lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;../src/liboctinterp.so: undefined reference to `std::basic_istream&amp;#060;char, std::char_traits&lt;char&gt; &gt;::ignore()'&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;So, lesson learned: supply F77= flag to configure and make! Now back to trying to convert air into data...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6620140718015015105-7956162889081071610?l=nerdjusttyped.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdjusttyped.blogspot.com/feeds/7956162889081071610/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6620140718015015105&amp;postID=7956162889081071610' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6620140718015015105/posts/default/7956162889081071610'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6620140718015015105/posts/default/7956162889081071610'/><link rel='alternate' type='text/html' href='http://nerdjusttyped.blogspot.com/2009/05/octave-higherlower.html' title='Octave higher/lower'/><author><name>some grad student</name><uri>http://www.blogger.com/profile/16612202566538951226</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6620140718015015105.post-9006253737771451910</id><published>2009-03-10T15:31:00.001-04:00</published><updated>2009-03-10T16:38:50.740-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='nerd stuff'/><title type='text'>Android: Binary solo</title><content type='html'>All right, so I got an Android and have been messing with it a bunch. One of the things I did is get tcpdump installed on it. 4.0 seems to be running fine. For the impatient ones, &lt;a href="http://www.eecs.umich.edu/~timuralp/tcpdump-arm"&gt;here's a binary&lt;/a&gt; that you can just throw on the phone.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://wiki.neurostechnology.com/index.php/Cross_Compiling_on_Linux"&gt;This guy&lt;/a&gt; was quite nice to put up ARM cross compilation steps for tcpdump/libpcap. You need a cross-compiler for this setup. I used &lt;a href="http://downloads.openmoko.org/developer/toolchains/"&gt;the openmoko toolchain&lt;/a&gt;, since it's easy to setup. You can also use the Android source to do this (I think), but I already had openmoko setup.&lt;br /&gt;&lt;br /&gt;I had to edit the tcpdump source to disable IPv6 stuff in one function, where it's not ifdefed out. &lt;a href="http://www.eecs.umich.edu/~timuralp/tcpdump.patch"&gt;Here's&lt;/a&gt; the diff.&lt;br /&gt;&lt;br /&gt;NB: make sure to edit the Makefile for tcpdump and remove the -O2 flag and add the -static flag to the linker (LD_FLAGS += -static). Happy tcpdumping :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6620140718015015105-9006253737771451910?l=nerdjusttyped.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdjusttyped.blogspot.com/feeds/9006253737771451910/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6620140718015015105&amp;postID=9006253737771451910' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6620140718015015105/posts/default/9006253737771451910'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6620140718015015105/posts/default/9006253737771451910'/><link rel='alternate' type='text/html' href='http://nerdjusttyped.blogspot.com/2009/03/android-binary-solo.html' title='Android: Binary solo'/><author><name>some grad student</name><uri>http://www.blogger.com/profile/16612202566538951226</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6620140718015015105.post-8727540184479994462</id><published>2009-02-10T23:25:00.000-05:00</published><updated>2009-02-10T23:33:09.444-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gradschool'/><title type='text'>Food for thought</title><content type='html'>So, research... what is research? why do we do it? Does anyone care about the work?&lt;br /&gt;&lt;br /&gt;As I'm thinking more about what my paper will be like and what I will write, I think answering these questions is quite important. My work recently has been on trying to improve the connection time to a wireless network. We've all been in a situation where it takes you FOREVER to get online, right? Sometimes there is nothing you can do about it... Other times, you might actually do quite a lot. Does anyone care that I managed to get your connection time better by 200ms from the best results I could find (300ms)? Maybe not, but at the same time if you're driving in a car, that's 200 ms more you can send data while associated with an AP...&lt;br /&gt;&lt;br /&gt;Ok, so the point is that I think a lot of the research work recently has become pretty pigeonholed. I think part of this is because people are driven to publish: "Publish or perish!" I understand the drive and desire of programs, departments, schools to improve/maintain their image and contribute to the academic community, but is this really a good structure? How should this be changed? I don't know, but I think most of this stems from not identifying clearly the problem we should be solving. And maybe these problems are not in our domain altogether, but the intersection of fields.&lt;br /&gt;&lt;br /&gt;We'll see how my ensuing years go, but hopefully I'll care about motivation later as much as I do now :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6620140718015015105-8727540184479994462?l=nerdjusttyped.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdjusttyped.blogspot.com/feeds/8727540184479994462/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6620140718015015105&amp;postID=8727540184479994462' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6620140718015015105/posts/default/8727540184479994462'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6620140718015015105/posts/default/8727540184479994462'/><link rel='alternate' type='text/html' href='http://nerdjusttyped.blogspot.com/2009/02/food-for-thought.html' title='Food for thought'/><author><name>some grad student</name><uri>http://www.blogger.com/profile/16612202566538951226</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6620140718015015105.post-3957444114922010451</id><published>2008-12-23T00:33:00.000-05:00</published><updated>2008-12-23T01:04:22.796-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='nerd stuff'/><title type='text'>Attansic L2 driver in Linux</title><content type='html'>So, recently I was putting together a new computer for my stepdad and was trying to figure out how to setup the ethernet card in linux. It's the Attansic L2 card that's onboard on a P5MGX motherboard. I found a blog &lt;a href="http://ihatecubicle.blogspot.com/2007/08/how-to-install-attansic-l2-network.html"&gt;entry&lt;/a&gt; about it, but it didn't list a patch for kernel &gt; 2.6.24 (actually, it did, but in the comments, and well, I'm too lazy to read them). Anyway, I found that the patch in the comments didn't apply to me in its entirety anyway. So, here's the patch I came up with:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;diff -u orig/at_ethtool.c src/at_ethtool.c&lt;br /&gt;--- orig/at_ethtool.c 2010-03-06 15:16:50.000000000 -0500&lt;br /&gt;+++ src/at_ethtool.c 2008-12-23 00:57:40.000000000 -0500&lt;br /&gt;@@ -423,7 +423,7 @@&lt;br /&gt; .get_tso                = ethtool_op_get_tso,&lt;br /&gt;#endif&lt;br /&gt;#ifdef ETHTOOL_GPERMADDR&lt;br /&gt;- .get_perm_addr          = ethtool_op_get_perm_addr,&lt;br /&gt;+ //.get_perm_addr          = ethtool_op_get_perm_addr,&lt;br /&gt;#endif&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;diff -u orig/at_main.c src/at_main.c&lt;br /&gt;--- orig/at_main.c 2010-03-06 15:17:23.000000000 -0500&lt;br /&gt;+++ src/at_main.c 2008-12-23 00:57:40.000000000 -0500&lt;br /&gt;@@ -345,7 +345,7 @@&lt;br /&gt;   if(!netdev)&lt;br /&gt;       goto err_alloc_etherdev;&lt;br /&gt; &lt;br /&gt;-    SET_MODULE_OWNER(netdev);&lt;br /&gt;+    //SET_MODULE_OWNER(netdev);&lt;br /&gt;   SET_NETDEV_DEV(netdev, &amp;amp;pdev-&gt;dev);&lt;br /&gt;&lt;br /&gt;   pci_set_drvdata(pdev, netdev);&lt;br /&gt;@@ -2078,10 +2078,8 @@&lt;br /&gt;   &lt;br /&gt;           skb_reserve(skb, NET_IP_ALIGN);&lt;br /&gt;           skb-&gt;dev = netdev;&lt;br /&gt;-      eth_copy_and_sum(&lt;br /&gt;-          skb,&lt;br /&gt;-    rxd-&gt;packet,&lt;br /&gt;-    rx_size, 0);&lt;br /&gt;+      //eth_copy_and_sum(skb, rxd-&gt;packet, rx_size, 0);&lt;br /&gt;+  skb_copy_to_linear_data(skb, rxd-&gt;packet, rx_size);&lt;br /&gt;      skb_put(skb, rx_size);&lt;br /&gt;     /*&lt;br /&gt;           memcpy(skb_put(skb, rx_size),&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;This is for the version of the driver 1.0.40.4 and tested on 2.6.24 and 2.6.26 kernels. Use at your own risk, as usual. Although, the worst that'll happen is you get a kernel panic, so just a reboot :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6620140718015015105-3957444114922010451?l=nerdjusttyped.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdjusttyped.blogspot.com/feeds/3957444114922010451/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6620140718015015105&amp;postID=3957444114922010451' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6620140718015015105/posts/default/3957444114922010451'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6620140718015015105/posts/default/3957444114922010451'/><link rel='alternate' type='text/html' href='http://nerdjusttyped.blogspot.com/2008/12/attansic-l2-driver-in-linux.html' title='Attansic L2 driver in Linux'/><author><name>some grad student</name><uri>http://www.blogger.com/profile/16612202566538951226</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6620140718015015105.post-6783109000758576134</id><published>2008-11-29T16:07:00.000-05:00</published><updated>2011-07-18T16:35:01.508-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='making other plans'/><title type='text'>Takes talent to turn gold into lead...</title><content type='html'>So, I was watching the end of the Jayhawks vs. Mizzou game. It was a pretty exciting game. 44 seconds left, the ball's on the 40 and the Jayhawks need a TD to win it. The score is 37-33. This is when I realized that commentators will take any game and turn it into crap, by rambling on about things that don't matter, like the fact that the clock should've kept running, once the review confirmed that the Jayhawks player was down at the spot of the catch, or that Reesing's throw could've been a pick. You know, guys, I'm watching the game, I'm right there with you! By rambling and trying to take my precious (yep, that's right, it's my prrreeecious) attention away, you are cheapening what was an ending to a great game, where the underdog had a chance to finish the season on a positive note against the Big-12 North champion.&lt;br /&gt;&lt;br /&gt;This happens in every sport and good commentators are hard to come by. How many times was I listening to Jerry Remy's ramblings about his house when the count was 3-2 and we had a man in scoring position? Albeit, baseball's a boring game and he did his job well when the games really were nerve wrecking. I guess the point is that if I could just have the fans and the field sounds, I wouldn't need any commentary. Then, of course, we'd have lots of former athletes out of a job (thinking of you, Herbstreit). I suppose that would not go well with boosting the economy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6620140718015015105-6783109000758576134?l=nerdjusttyped.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdjusttyped.blogspot.com/feeds/6783109000758576134/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6620140718015015105&amp;postID=6783109000758576134' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6620140718015015105/posts/default/6783109000758576134'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6620140718015015105/posts/default/6783109000758576134'/><link rel='alternate' type='text/html' href='http://nerdjusttyped.blogspot.com/2008/11/takes-talent-to-turn-gold-into-lead.html' title='Takes talent to turn gold into lead...'/><author><name>some grad student</name><uri>http://www.blogger.com/profile/16612202566538951226</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6620140718015015105.post-6685188901148033421</id><published>2008-11-18T21:23:00.000-05:00</published><updated>2011-07-18T16:32:50.339-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='nerd stuff'/><title type='text'>pyBluez</title><content type='html'>So I realized I need bluetooth to work on OpenMoko and since I'm writing it all in Python, I should recompile the thing for the Arm. That proved to be a little bit of a pain, but not too much. If you're looking for the end product, you can get it &lt;a href="http://www.eecs.umich.edu/~timuralp/pybluez-arm.tgz"&gt;here&lt;/a&gt;. Just drop it in with the rest of the site packages in /usr/lib/python (probably) and you're good to go. You have to install python-fcntl, but that's available through opkg. Last thing to keep in mind, when you turn bluetooth on by doing echo 1 to the power file in sys for the device, you gotta sleep for a few seconds before the thing loads. I figured it out after looking through how it's currently done.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6620140718015015105-6685188901148033421?l=nerdjusttyped.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdjusttyped.blogspot.com/feeds/6685188901148033421/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6620140718015015105&amp;postID=6685188901148033421' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6620140718015015105/posts/default/6685188901148033421'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6620140718015015105/posts/default/6685188901148033421'/><link rel='alternate' type='text/html' href='http://nerdjusttyped.blogspot.com/2008/11/pybluez.html' title='pyBluez'/><author><name>some grad student</name><uri>http://www.blogger.com/profile/16612202566538951226</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6620140718015015105.post-3262817742255422559</id><published>2008-11-03T00:02:00.000-05:00</published><updated>2008-11-18T21:45:53.804-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='nerd stuff'/><category scheme='http://www.blogger.com/atom/ns#' term='gradschool tips'/><title type='text'>I'll tell you what I'm blathering about. I got information, man.</title><content type='html'>Well, this is more of just random thoughts. Recently Michigan's IT department decided that to raise student awareness of certain things like phishing, they need to send out an email asking them to take a quiz testing how "savvy" they are. While the approach seems interesting and may even be beneficial, I still wonder if the people that should pay attention to it, ever do...&lt;br /&gt;&lt;br /&gt;So, after I filled it out to try to get another iPod Touch or $5, I realized I gotta get going on this whole GRFP nonsense. That was the first time I complained about the fact that I needed to squeeze introduction, hypothesis, research methodology, expected results and impact in 2 pages. Luckily, #latex came to the rescue and I was told about the savetrees package. That thing is awesome! Definitely check it out if you're fighting for space or want to, you know, save trees.&lt;br /&gt;&lt;br /&gt;Then to top off my day I got a twix and threw it in the freezer. Frozen twix is the best! It's like frozen girl scout cookies, except better.&lt;br /&gt;&lt;br /&gt;Finally, some python stuff. To mark a thread as a daemon, call its setDaemon() with a boolean argument. The default is for threads to not be daemons, so passing True turns the daemon mode on. This is the same as starting a thread in detached mode in pthreads. Pretty cool and useful if you're writing a server. Which brings me to my next point. Since in 2.5.2 you have to instantiate a class for the threads, you might make a class like worker. One of the things that's annoying, but makes sense is that the constructor is running in your main thread (or whatever thread is doing the spawning) and the destructor is in the spawned thread. I ran into trouble when I tried to open a sql connection in the constructor and then close it in the destructor. Bad idea.&lt;br /&gt;&lt;br /&gt;Finally, the best start to a license I've seen so far:&lt;br /&gt; CrossOver Linux Professional License Grant&lt;br /&gt;&lt;br /&gt;YOU REALLY WANT TO READ THIS, ESPECIALLY THE PART ABOUT &lt;br /&gt;THE MANDATORY CAR WASH FOR CODEWEAVERS EMPLOYEES...&lt;br /&gt;&lt;br /&gt;If you don't like this license grant:&lt;br /&gt;   a. Let us know, we'd appreciate the feedback.&lt;br /&gt;   b. Stop right now, and ask for a refund. We'll cheerfully do so.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6620140718015015105-3262817742255422559?l=nerdjusttyped.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdjusttyped.blogspot.com/feeds/3262817742255422559/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6620140718015015105&amp;postID=3262817742255422559' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6620140718015015105/posts/default/3262817742255422559'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6620140718015015105/posts/default/3262817742255422559'/><link rel='alternate' type='text/html' href='http://nerdjusttyped.blogspot.com/2008/11/ill-tel-you-what-im-blathering-about-i.html' title='I&apos;ll tell you what I&apos;m blathering about. I got information, man.'/><author><name>some grad student</name><uri>http://www.blogger.com/profile/16612202566538951226</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6620140718015015105.post-838433123461333199</id><published>2008-10-20T16:04:00.000-04:00</published><updated>2008-11-18T21:44:40.161-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='nerd stuff'/><title type='text'>more moko news</title><content type='html'>Ok, so I wrote the code to warwalk with my moko and there are a few things I learned the hard way. &lt;br /&gt;&lt;br /&gt;One, disable power management! Otherwise grabbing a lease can take forever. You can do this with iwconfig eth0 txpower fixed. Beware, you'll be taking a serious battery life hit.&lt;br /&gt;&lt;br /&gt;Two, to get a lease faster with udhcpc, use these flags -t 1 -n -q. This will force it to quit after one request and timeout. This lets you have some granularity over how long it should try for. Each request waits for a response for ~3 seconds, so plan accordingly, or write your own DHCP client :)&lt;br /&gt;&lt;br /&gt;Third, getting the route information can be a very time consuming operation! Running just route will attempt to resolve IPs to DNS names, no matter how useless it may be. For instance, it tries to resolve 0.0.0.0 to default. I found it to be a much better idea to just use route -n and have a statement that treats routes to 0.0.0.0 as default routes (no, it's not hard at all, but I wasn't sure why it was so time consuming at first).&lt;br /&gt;&lt;br /&gt;Oh, I also messed around a bit with mplayer and streaming video on the phone. -vo fbdev was my most successful way to accomplish this feat. You can use wget to stream things or maybe just write a simple python/java program to do this. Interestingly, our java code does not actually play nice with mplayer. "java program url | mplayer -" results in an error about not being able to seek backwards in a stream. "java program url &gt; file; mplayer file" however works fine. If anyone has some insight into this, that'd be pretty cool :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6620140718015015105-838433123461333199?l=nerdjusttyped.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdjusttyped.blogspot.com/feeds/838433123461333199/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6620140718015015105&amp;postID=838433123461333199' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6620140718015015105/posts/default/838433123461333199'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6620140718015015105/posts/default/838433123461333199'/><link rel='alternate' type='text/html' href='http://nerdjusttyped.blogspot.com/2008/10/more-moko-news.html' title='more moko news'/><author><name>some grad student</name><uri>http://www.blogger.com/profile/16612202566538951226</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6620140718015015105.post-8598444323107835495</id><published>2008-10-18T19:30:00.000-04:00</published><updated>2011-07-18T16:30:07.874-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gradschool'/><category scheme='http://www.blogger.com/atom/ns#' term='making other plans'/><title type='text'>Some things that are good for a laugh</title><content type='html'>Ok, so I was looking around at what people say about reapplying for NSF GRPF and stumbled upon thegradcafe. This place has some really great gems there, like this one:&lt;br /&gt;"Not the most pleasant topic, but I think it's one that deserves being addressed. Is any one else as concerned as I am about grad student drinking habits? I get the impression that several students in my program are decently heavy drinkers. I enjoy imbibing as much as the next person (hell, maybe even more), but I can't help but fear that the atmosphere at this school (top public university with plenty of bars and lax pot laws) might contribute to some pretty unhealthy behaviors. Anybody want to share their experiences w/regard to alcohol (and other substances) and social life? I'm curious to hear what do you guys do to maintain a balance."&lt;br /&gt;&lt;br /&gt;You know what? I am very concerned... err, I mean concerned right after my research work, academic work, and, well, pretty much everything else. Two things: 1. to each his own and as long as you get work done, more power to you; 2. where do you get the time to be concerned? Between all the projects, and side projects, and papers to read, eating is fading in the background, let alone students' drinking patterns.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6620140718015015105-8598444323107835495?l=nerdjusttyped.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdjusttyped.blogspot.com/feeds/8598444323107835495/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6620140718015015105&amp;postID=8598444323107835495' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6620140718015015105/posts/default/8598444323107835495'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6620140718015015105/posts/default/8598444323107835495'/><link rel='alternate' type='text/html' href='http://nerdjusttyped.blogspot.com/2008/10/some-things-that-are-good-for-laugh.html' title='Some things that are good for a laugh'/><author><name>some grad student</name><uri>http://www.blogger.com/profile/16612202566538951226</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6620140718015015105.post-8913514875576589060</id><published>2008-10-16T16:19:00.000-04:00</published><updated>2008-11-18T21:43:28.003-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='nerd stuff'/><category scheme='http://www.blogger.com/atom/ns#' term='gradschool'/><title type='text'>Openmoko and gradschool</title><content type='html'>Ok, so &lt;a href=openmoko.org&gt;openmoko FreeRunner&lt;/a&gt; is pretty cool, but getting things to run on it can be a pain in the ass. For instance, I realized today that playing a video with mplayer doesn't work quite as nicely as I'd want it. First of all, mplayer does not terminate gracefully and your screen is useless. One thing I found is that using fbdev or fbdev2 seems to make it work somewhat well - the video is played over your "desktop" which is fine... the problem is it doesn't disappear afterwards, leaving it somewhat unusable.&lt;br /&gt;&lt;br /&gt;Another thing, if you're going to write some python script that checks the wireless on regular basis, make sure to limit the output, otherwise you may crash the phone (ok, I don't know what the problem was but making it output less data seemed helpful).&lt;br /&gt;&lt;br /&gt;In other news, I'm applying for the &lt;a href=https://www.fastlane-beta.nsf.gov/grfp/Login.do&gt;GRFP&lt;/a&gt; and I need to think of a good topic. One way would be to build on my proposal from last year, which scored me an honorable mention. I think I might pursue that route, since I'm still interested in the same field and pursuing the same interests. The trick will be reconciling the proposals and adding a significant amount of new ideas in there. We'll see how it goes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6620140718015015105-8913514875576589060?l=nerdjusttyped.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdjusttyped.blogspot.com/feeds/8913514875576589060/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6620140718015015105&amp;postID=8913514875576589060' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6620140718015015105/posts/default/8913514875576589060'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6620140718015015105/posts/default/8913514875576589060'/><link rel='alternate' type='text/html' href='http://nerdjusttyped.blogspot.com/2008/10/openmoko-and-gradschool.html' title='Openmoko and gradschool'/><author><name>some grad student</name><uri>http://www.blogger.com/profile/16612202566538951226</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6620140718015015105.post-243163295792888338</id><published>2008-10-06T21:38:00.000-04:00</published><updated>2008-11-18T21:43:06.808-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='this is a mad mad world'/><title type='text'>Registering to vote is like herpes!</title><content type='html'>And of course I'm referring to &lt;a href=http://www.youtube.com/watch?v=0vtHwWReGU0&gt;this&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Ok, so, Sarah Silverman is clearly crazy, but the thing I found more disturbing was Dustin Hoffman. Don't get me wrong, I love the guy, but he struck me as a creepy old man... Just, just, don't stare!.. man! But seriously, that was actually quite an entertaining skit...&lt;br /&gt;&lt;br /&gt;Oh, also, apparently after deliberations the "Rescue" bill is now 450 pages. yay! I have a virtually infinite supply of sleeping pill substitutes... not sure if I'm going to attempt to read the whole damn thing.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6620140718015015105-243163295792888338?l=nerdjusttyped.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdjusttyped.blogspot.com/feeds/243163295792888338/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6620140718015015105&amp;postID=243163295792888338' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6620140718015015105/posts/default/243163295792888338'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6620140718015015105/posts/default/243163295792888338'/><link rel='alternate' type='text/html' href='http://nerdjusttyped.blogspot.com/2008/10/registering-to-vote-is-like-herpes.html' title='Registering to vote is like herpes!'/><author><name>some grad student</name><uri>http://www.blogger.com/profile/16612202566538951226</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6620140718015015105.post-7483857736529087822</id><published>2008-10-01T23:06:00.000-04:00</published><updated>2008-11-18T21:42:08.213-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='nerd stuff'/><category scheme='http://www.blogger.com/atom/ns#' term='making other plans'/><title type='text'>PT is an exercise?</title><content type='html'>"Professor Eggers approaches her free time "with a vengeance".  She is a bona fide food snob, is an avid gardener and landscaper, and enjoys active exercise (swimming, golf and physical therapy)."&lt;br /&gt;&lt;br /&gt;Ok, let's be honest. Anyone who needs PT is not doing it as an active exercise. More likely it's because of rehab... Why would you ever post that?&lt;br /&gt;&lt;br /&gt;Anyway, onto other things. I finally tracked down the "bailout" plan and it's quite a book really, 109 pages. I will look through it... eventually. Then I read people's comments about it and, well, that made me sad.&lt;br /&gt;&lt;br /&gt;Also, goallineblitz is kind of a fun game, and doesn't require much time... Also, GRFP is coming up and I'm thinking of applying for it, again. I realized that I once again missed the deadline to take GRE subject test for free, so I decided to just submit my last year's scores. They were good enough to get an honorable mention, so whatever.&lt;br /&gt;&lt;br /&gt;To those of you that like to hibernate your linux install, here's something I learnt the hard way: hibernating, then doing a fresh boot, and then a resume will seriously mess up ext3. And that's why I recently reinstalled linux :)&lt;br /&gt;&lt;br /&gt;Finally, python is pretty cool and I'm gonna do both my projects in it. The projects involve messing with GPS, Bluetooth, and 802.11. More to come, stay tuned.&lt;br /&gt;&lt;br /&gt;P.S. this turned into a giant list of things.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6620140718015015105-7483857736529087822?l=nerdjusttyped.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdjusttyped.blogspot.com/feeds/7483857736529087822/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6620140718015015105&amp;postID=7483857736529087822' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6620140718015015105/posts/default/7483857736529087822'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6620140718015015105/posts/default/7483857736529087822'/><link rel='alternate' type='text/html' href='http://nerdjusttyped.blogspot.com/2008/10/pt-is-exercise.html' title='PT is an exercise?'/><author><name>some grad student</name><uri>http://www.blogger.com/profile/16612202566538951226</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6620140718015015105.post-4266993536296316730</id><published>2008-09-26T23:40:00.000-04:00</published><updated>2008-11-18T21:41:22.082-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gradschool'/><category scheme='http://www.blogger.com/atom/ns#' term='making other plans'/><title type='text'>ramblings of a mad man</title><content type='html'>Ok, well, grad school started and I'm just gonna go ahead and blame it for not writing much here in a while... ok, that's a load of crap. So far the theme of classes is "guys, don't worry about grades! it's the effort that counts!". I'm taking OS and networking and we mostly read papers... and do 2 term projects. I'm still to get any office space, which is a sore topic at this point.&lt;br /&gt;&lt;br /&gt;I bought a 32" TV and ABC warehouse is awesome if you're looking for things like that. Got a $100 discount without even asking for one. The samsung A450 is a nice lcd, which cnet recommended... I decided to trust cnet. Now if only the things I see on the TV could be better, like patriots getting kaa-rushed by the dolphins with the secondary just being torched... Seriously, why do we have to make a conscious decision to suck at the D-back positions? Or the presidential debates... that was sad, mostly because not much was said that was tangible, albeit that may be hard.&lt;br /&gt;&lt;br /&gt;"Closing time - every new beginning comes from some other beginning's end"...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6620140718015015105-4266993536296316730?l=nerdjusttyped.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdjusttyped.blogspot.com/feeds/4266993536296316730/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6620140718015015105&amp;postID=4266993536296316730' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6620140718015015105/posts/default/4266993536296316730'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6620140718015015105/posts/default/4266993536296316730'/><link rel='alternate' type='text/html' href='http://nerdjusttyped.blogspot.com/2008/09/ramblings-of-mad-man.html' title='ramblings of a mad man'/><author><name>some grad student</name><uri>http://www.blogger.com/profile/16612202566538951226</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6620140718015015105.post-3974943153837498782</id><published>2008-08-14T01:36:00.001-04:00</published><updated>2008-11-18T21:40:55.485-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MS - the evil one'/><title type='text'>Kool-Aid test</title><content type='html'>Well, this summer I've spent working for the most evil software corporation. Actually, they were not evil at all, but did certainly spoil the interns. This was my first time living in the pacific northwest for any period of time, and it was great. The weather in seattle, despite the predictions of frequent rain and constant overcast from my friends, was gorgeous: 70s-80s, mostly sunny, sometimes cloudy, not too much rainfall, not humid at all. I would certainly consider moving here if I were looking for a place to settle and didn't own property elsewhere.&lt;br /&gt;&lt;br /&gt;The main MS campus is huge here, but is fairly easy to navigate. Sadly the area all around it feels very artificial (Redmond/Bellevue). The work environment, at least in my team, was very laid back, but it varies from manager to manager. People work hard, but I was glad to see that when I was there late (or later than usual), by 6-7 the hallway was almost empty. Seems like much better work/life balance. Also, food around the area is pretty good and there are a lot of good places to eat.&lt;br /&gt;&lt;br /&gt;Now the only thing that really rubbed me the wrong way, and not in my team, but some others (not going to point fingers), is the amount of kool-aid these guys have drunk. It's ok to stand up for what you worked on, but, guys, don't be so zealous. Outsiders might (and often do) think you're in a special geek cult, isolated from surroundings. I suppose it's understandable when there is a lot of crap thrown this way, but maintaining an objective viewpoint would certainly help mitigate the hatred...&lt;br /&gt;&lt;br /&gt;Having said that, I'm gonna finish with some things to do in seattle and around it:&lt;br /&gt;salon of shame (salonofshame.com) if you're here while it's happening&lt;br /&gt;olympic national park&lt;br /&gt;mt. st helens&lt;br /&gt;brouwer's cafe - cool beer place&lt;br /&gt;wander UW campus&lt;br /&gt;&lt;br /&gt;I'll add more later. In the meantime I'll start preparing for travelling again... reminds me of Chocolat: I guess the wind came for me again :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6620140718015015105-3974943153837498782?l=nerdjusttyped.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdjusttyped.blogspot.com/feeds/3974943153837498782/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6620140718015015105&amp;postID=3974943153837498782' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6620140718015015105/posts/default/3974943153837498782'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6620140718015015105/posts/default/3974943153837498782'/><link rel='alternate' type='text/html' href='http://nerdjusttyped.blogspot.com/2008/08/kool-aid-test.html' title='Kool-Aid test'/><author><name>some grad student</name><uri>http://www.blogger.com/profile/16612202566538951226</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6620140718015015105.post-7091622924655321332</id><published>2008-04-13T01:34:00.000-04:00</published><updated>2008-11-18T21:40:16.959-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='applying to gradschool'/><category scheme='http://www.blogger.com/atom/ns#' term='making other plans'/><title type='text'>Michigan at last</title><content type='html'>Well, I decided to settle on Michigan. Anyone considering grad school and getting stuck between a great school, but with fewer professors doing interesting (to you) things and a not so great school, would probably agonize as much. The professor I'm working with right now did his PhD there and his advisor seems to be the best fit for my interests. But then there is the whole "UIUC is ranked better" deal. My way of dealing with this was to read more papers from the different schools. After that it was a bit easier to decide. Sadly, no one can help me with making the choice, but it was a relief to make one. At least I knew I couldn't make a wrong choice :)&lt;br /&gt;&lt;br /&gt;Another thing is once you make a decision, let professors interested in you at other schools know and thank them. I found it to go over pretty well, mostly, and at least I'm not in their "bad" lists. Now I just can't wait to graduate! Oh, and Irene's going to Michigan too, so I'll already have a friend there - a small added bonus :P&lt;br /&gt;&lt;br /&gt;Another thing to do is to look up the people you're thinking of working with on ratemyprofessors.com. Sometimes you get comments from grad students there and those can be quite revealing.&lt;br /&gt;&lt;br /&gt;Finally, I won an ipod touch in a lottery drawing, which is crazy since I never win anything. But I'm pretty psyched now and spent the last few days figuring out how to play with it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6620140718015015105-7091622924655321332?l=nerdjusttyped.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdjusttyped.blogspot.com/feeds/7091622924655321332/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6620140718015015105&amp;postID=7091622924655321332' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6620140718015015105/posts/default/7091622924655321332'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6620140718015015105/posts/default/7091622924655321332'/><link rel='alternate' type='text/html' href='http://nerdjusttyped.blogspot.com/2008/04/michigan-at-last.html' title='Michigan at last'/><author><name>some grad student</name><uri>http://www.blogger.com/profile/16612202566538951226</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6620140718015015105.post-5283839037712721820</id><published>2008-03-10T20:19:00.001-04:00</published><updated>2011-07-18T16:27:06.371-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='applying to gradschool'/><category scheme='http://www.blogger.com/atom/ns#' term='making other plans'/><title type='text'>Some adventures</title><content type='html'>All right, well, since the last time I wrote anything, a few things happened. One of them is I got into grad school, which is pretty nice. Now I won't have to get a job for another 5-7 years :)&lt;br /&gt;&lt;br /&gt;Since a few people asked me what it's like to be a grad student, I suppose I'll share some of the excitement... once I get there that is. Applying though ended up pretty straightforward, and I got into some schools I had no idea I could. Well, also got rejected by some schools that I thought I'd get into...&lt;br /&gt;&lt;br /&gt;I'd say if you're considering grad school, make sure you're doing it for the right reasons. Of course mine is to postpone "real" life as much as possible :P Ok, no, just kidding. I realized that I like working on challenging problems, but I also don't like to be stuck working on one of them for a long time, i.e. after it's done taking it through the whole production bit. Eitherway, the life of a grad student appeals to me and I don't really care about making less money. Keep in mind though, grad school is &lt;span style="font-weight:bold;"&gt;&lt;span style="font-style:italic;"&gt;not&lt;/span&gt;&lt;/span&gt; any kind of "logical" or "natural" continuation of college.&lt;br /&gt;&lt;br /&gt;One of the important points in figuring out where you'd like to go is to consider the different people you could be working for. Make sure to have a few options and figure out the kind of advisor you're looking for (someone to crack the whip, someone to be blunt, someone to forget about you, etc). The best way to figure this out is to visit some schools and meet your prospective colleagues. Make sure to talk to grad students about who's good and who's not :) Anyway, I don't know why this is particularly useful to anyone, but just my two cents on the topic. I think most of it is pretty obvious...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6620140718015015105-5283839037712721820?l=nerdjusttyped.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdjusttyped.blogspot.com/feeds/5283839037712721820/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6620140718015015105&amp;postID=5283839037712721820' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6620140718015015105/posts/default/5283839037712721820'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6620140718015015105/posts/default/5283839037712721820'/><link rel='alternate' type='text/html' href='http://nerdjusttyped.blogspot.com/2008/03/some-adventures.html' title='Some adventures'/><author><name>some grad student</name><uri>http://www.blogger.com/profile/16612202566538951226</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
