Tag Archives: linux

A New Home!

I recently decided to try Amazon’s EC2 service. They have a free tier for one year that allows for more usage per month than I’ll likely ever exceed. So I decided to try it out. I got myself a shiny new Fedora 64-bit Micro instance and am now using that to host my homepage, blog, and git server. I’ve also migrated this blog there. So the new URL is:

I’ll be posting there from now on!

1 Comment

Posted by on December 17, 2011 in Uncategorized


Tags: , , , , , ,

LHC@home 2.0

I finally had a bit of spare time today, so I decided to join the LHC@home program. For those unfamiliar, it’s basically a way for the researchers at CERN’s Large Hadron Collider to utilize the processing capabilities of thousands of computers distributed across the globe to crunch out all the calculation that need to be done. As you might expect, each time beams are collided, there are several terabytes of data created per second and it is the main task of the physicists at CERN to sift through the endless volumes and look for evidence of a conjectured, yet not-yet-seen particle called the Higgs Boson. In addition, there are tons of other experiments and tests done simultaneously. So, although CERN does have the capacity of a few hundred servers dedicated to this task, it can do a great deal of good if they can utilize volunteers’ computers too.

LHC@home is similar to other programs such as SETI@home and Folding@home, which deal with the search for extraterrestrial life and do computations for protein folding, respectively. I think it’s obviously an extremely admirable task that the folks at CERN are doing and this is one (tiny) way that I’d like to pitch in.

It’s very simple to set up and use. In order to protect their data and the user’s data, all calculations are done inside a virtual machine. Although this does cause substantial slow-downs, it’s worth the risk, as corruption could create false positive (or worse, false negatives). The VM client used is VirtualBox, which is a free and very excellent. There’s a small client called BOINC that acts in facilitating the communication between the host computer and CERN’s servers, polling for new jobs, setting up the VM, running the computation, and sending back results, as well as doing host-side monitoring, etc. I’m running a laptop with two cores, so I’ve decided one core to this program, at most 90% of it, even when the computer is being used. I’ve also given it access to my GPU and at most 10GB of space on my HD. And believe me, it’s using every last bit of it. As of this writing, I’ve been running my current task for about 2.5 hrs and it’s roughly 10% done. The setup is very painless and you can just watch it go. All the information about this program (which, by the way, runs on Linux, Mac OS, and Windows) is available here.

One final note: as a volunteer, you can choose a team to work with on this. Go Team Carl Sagan!

I’ll leave you with a screenshot of how it looks on my laptop.

Look at it go!

Leave a comment

Posted by on August 10, 2011 in Uncategorized


Tags: , , , , , ,

Rdio Wins

And the winner is...

After playing with both for a week, Rdio wins for me, at least for the time being. The mobile app is very clean and sleek and does the job well. It does take a bit of getting used to figure out how to do everything, but I like it and it functions pretty well. Although I do wish that there was a lesser lag time between song changes, it’s something I can live with. The real deal breaker was of course the web interface, which makes my music collection and everything I want entirely accessible at any web browser on any computer. The AIR-based desktop apps are also very slick and well put together for Windows, although I’ve had much less success with the Linux client. Oh, well.

So that’s how it will be for me. Just signed up for an Rdio Unlimited subscription this evening. I hope it remains awesome!

Leave a comment

Posted by on August 1, 2011 in Uncategorized


Tags: , , , , ,

Rdio vs. Spotify (vs. etc.)

Only one will survive..

So I’ve recently been looking into a music service to better fit my needs. I’m a huge fan on Pandora and use it all the time. It usually is exactly what I want because I like turning the music on and forgetting about it while I work or do something. But sometimes I like a bit more customization than just accepting whatever Pandora decides to throw at me. And sometimes I really, really want to listen to that particular song or album and it’s not so possible with the Pandora model. On my laptop, sure I can use Grooveshark, but it’s really on my phone when I’m out that I want that sometimes. Further, I have a bunch of files from way back when which are somewhat incomplete and all over the place and I want to be able to listen to the whole album if I want to, even though I don’t have the files downloaded. So it just makes sense for me. And it has to work on both my iPhone and Droid (so, sadly Grooveshark is out for me.. I don’t really want to jailbreak).

So, I decided to take a look at Spotify after it was launched last week. I work on Linux almost exclusively, so immediately there were some disadvantages to Spotify. Sure, there’s a beta Linux client. However, it’s not open to the free accounts because they haven’t figured out how to implement ads correctly yet (it is beta after all, so it’s understandable), which is a shame. And the Windows client runs somewhat decently in Wine, although it’s nowhere as smooth as I wish it was. Also it crashed every time I tried to run it until I realized that it was the Facebook/People tab that was breaking. So, no social features as of yet on Linux it seems!

However, regarding the music itself, I’m fairly happy. However, it definitely is harder to extrapolate from a song or artist on Spotify unfortunately. Unless you know what  you’re looking for, you’ll probably be fairly lost I think. I like that I can just play the “radio” from an artist’s page, but it keeps randomly stopping after songs! Not sure if that’s just a bug in running the Windows client on a Linux box or what, but it’s annoying. The music quality is pretty nice, nothing much to complain about there. I haven’t been able to really test out the mobile app because I’m still on a free account, which is sad because that’s really going to be the breaking point for me.

At the same time, I’ve also started my 7-day free trial with Rdio. I immediately like that there’s a web interface! Awesome, I can control it from any computer, including my CR-48, which basically has no hope of running Spotify :(. The web interface takes some getting used to, but after a day or so, I think I’m getting the hang of it. I like that I don’t need to use Facebook in order to the get the social features. It’s pretty nice and I’ve been checking out some playlists from people on there, which is a pleasant experience. The player on the left sometimes shifts when I click on a link, which is annoying, but otherwise it’s pretty well put together. The only downside I see so far is that I wish it wouldn’t take so long between songs! I’m not sure if they do any kind of prefetching the next song, but that would be something I’d really appreciate. Not fun to wait sometimes 3-5 seconds or more between songs. I also wish I could shuffle across my entire queue; that is, shuffle in songs from Artist A’s radio with Artist B’s radio too. The mobile app is also very smooth and nice to use, although I really kinda miss not being able to get album information from the player by hitting the top right icon. Actually, it sometimes just brings up a blank screen if I’m in a radio! Which is boring. Also, there’s no way for me to add a song to my collection from the player either! (You can do it from going to the History and doing it, but that’s just lame and stuff..). I like that the audio stops when a call/notification comes and then continues afterwards. I wonder if they support stopping when you set an alarm to turn off the iPod after X minutes (I know Pandora does this). Anyway, apart from that, it’s going really well so far. I still have to keep trying it out, but I’m leaning towards Rdio at this point due mostly to the web interface and ease of use in the UI. Oh and I did get the Adobe Air desktop mini-app working in Linux too, but it doesn’t seem to work when the Rdio tab is closed..

Finally, I’d just like to say that I wish there were some notion of Genres, which I can’t seem to find in either of these services. Sometimes I just care about genre and not really about the artist as much and I wish I could use this to do that. Of course, I understand that this a better use-case for Pandora, but I prefer not switching between services as much. Or maybe I just want to see the hot artists in a particular genre instead of overall. Anyway, those are my initial impressions. After this week is up, I’ll probably make a decision as to which one to pursue a paid account with.



Posted by on July 26, 2011 in Uncategorized


Tags: , , , , , , , ,

Fun with CR-48

Another day, another unimaginative title. Anyway, yesterday, I received my brand-new CR-48 Chrome OS netbook for free my Google. First off, thanks Google! You guys totally freaking rock and you made me day and week. 🙂

The following is a sort of review and impressions of what I have experienced so far in about 24 hours with the device. I’ve made some customizations to the software which I will describe below. If you follow any/all of the following things, you’re doing so at your own risk. I’m no expert on this device, but there are tons of resources already online for help. Leave a comment if you encounter any issues.


First of all, the box art is pretty neat. I’m sure you’ve seen tons of pictures of it online, so I won’t put my own up. It just looks all neat/trendy/hipster/etc and I like it. It’s the little stuff that makes me really love Google. For example, the brown information placard that comes with the package. It looks like your ordinary safety and usage notice but it’s written with a ton of humor and it was quite entertaining to give it a read. My absolute favorite part of the whole hardware is that there are no stickers on the whole device. Ah! Beautiful. However, I was fortunate to be in the batch where they started providing stickers along with the computer as well, so I can add those if I like. Love it. The entire outside of the computer and everything except the keyboard has a rubber matte finish. While this feels really good to the touch and avoids shine, I’ve heard reports that the corners have started peeling for some people and that concerns me a bit. But it’s okay, I understand that this is a prototype model and all so I’m pretty forgiving about that. Besides, I got this for free, so I can’t really complain.

The keyboard is nice and responsive. The keys are very comfortable and typing is a pleasure – except for one thing: the touchpad. The touchpad by itself is not bad. It’s very expansive and is a Synaptic one too! That means it support multi-touch and other gestures. However, it’s also so large that my fingers constantly brush up against it and that causes me to change the cursor position and mess up where I’m typing. Grr. There’s also other annoyances which I will get to later.

There’s also a webcam on this thing, which works reasonably well. I’ve heard that there are two ambient light sensors on either side of the webcam which is neat and allows for automatic brightness modulation. The power brick is very, very tiny (the smallest I’ve seen on a netbook) but the power cord is still 3-prong.

Apart from that, the left-hand side has a VGA output and the right-hand side has a power outlet, USB port, 3.5mm headphone jack, and an SD card slot. It surprised me that there is no microphone jack as far as I could tell and there is no Ethernet port (!). How does a web-connected machine running a cloud OS not have an Ethernet jack? Luckily, there are Ethernet-to-USB cables that help with that – unless you have any other peripherals that also need USB. It’s kind of annoying that there’s only one USB port, considering my Dell Mini 10v netbook has three. Apart from that, there’s a large, powerful battery underneath. Inside, I’ve heard that there’s a 1.66Ghz Intel Atom processor, an a/b/g/n wireless card, 2GB RAM (!), and a 16GB SSD. Apart from that, the hardware is entirely simple.


Now let’s talk software. I played around with Chrome OS for a while and I felt that a lot of it is really pretty polished. Things generally work as they should. Booting up the computer for the first time, I was first asked to connect to the Internet and it worked completely flawlessly and quickly, which was impressive. I wonder what people will do if they have a a MAC-filtered wireless network, since you can’t find out the MAC address from that step yet. It then performed an update which was pretty fast and then asked me to log in. The whole process was fast and nearly perfect. The only thing is that the animations on the Help tutorial were pretty laggy, but this is an indicator more of the machine’s hardware than software.

Flash works decently, although not perfectly, well on this. I watched a few 360p videos and they streamed somewhat decently. I need to do more testing to determine how much farther I can push this machine. This was all fine and dandy until I realized that I can’t do much unless I have a text editor and a way to write code. I looked up John Resig’s review of his CR-48 and he seemed to have the same issue, expect that he just SSH’d into wherever he needed and coded like that. Which brings me to my first happy surprise that there’s a terminal built into Chrome OS, with the familiar Ubuntu-esque shortcut Ctrl-Alt-T. Nice – except that it’s severely limited. In fact, apart from messing with the network connection, pretty much the only thing you can do is SSH. Resig talked about how this stripped-down SSH implementation doesn’t even allow for key-based authentication (!). A bit of a bummer. The other sad part of the terminal is that it seems to only support about 8 colors. While that’s more than 1 and that’s good, it’s not the 256 that I’ve been spoiled with, using gnome-terminal in Ubuntu. Lack of pretty Vim colors makes me sad.

Speaking of which, I still don’t have a text editor by default. Okay minor correction: qemacs is a text editor built into Chrome OS, but getting there as well as doing anything substantial under the hood requires me to switch into development mode.

This, by the way, is by far the coolest thing about the CR-48: there’s a secret switch under the battery, hidden by black tape, that, when flipped, enables a mode called Development Mode. Brilliant! Basically what this does is allow for the booting of non-Google-signed images and gives you deeper access into the filesystem of Chrome OS. After flipping the switch, the stateful partition is wiped and we’re back afresh, except for the warning at every boot that there’s a problem (hitting Ctrl-D evades that – but you need that warning when you want to restore Chrome OS). Now getting back to the terminal in Chrome OS, we have access to a shell! Yay, the Bash shell :). Here we find qemacs and a larger array of tools built-in. But it’s by no means complete at all. This SSH command is OpenSSH, rather than the stripped-down version from the factory mode and does support key-based authentication. There’s also access to the whole filesystem, which is nice. I immediately went to work trying to get a more decent text editor at my disposal. Reading online, I discovered that Arch Linux packages work pretty much out of the box on Chrome OS. I got xz (the file compression utility for Arch) and then was able to get vi on there! Success! In fact, I didn’t even need to copy any libraries over either! Vi works well, but I really wanted Vim. To do so required a bit more effort, but not too much. Further research revealed that I needed the i686 versions of Perl and gpm on there as well before I could get Vim. Look online for the exact versions of these files. Then, I read that since Vim 7.3 is built on a version of libc that is higher than what is on the CR-48, we could load only a 7.2.x version of Vim. But, that worked flawlessly and I was pleased, even if there were fewer colors than I hoped for.

All this was fine and dandy, but I wanted to do more.


It takes little thought to realize that this machine is pretty much the idyllic Ubuntu box. It’s small, powerful, and has a good battery life. There are effectly two ways to get Ubuntu running on there: the easy way and the freaking hard way. The hard way is by the Chromium OS team and requires VirtualBox, a 64-bit separate Linux machine, and many, many hours of time. The easy way is an elegant script that someone wrote. It’s readily available online and you can find it. That’s the path I used, mostly because my laptop is running 32-bit Linux (sigh, I know). Anyway, the instructions were perfect and the whole installation went without a hitch. I did lose wireless connection once during the download, but the script is smart enough to realize that that’s a possibility. Rebooting and continuing downloaded the half-downloaded file and the remaining and performed the installation.

I was then in Ubuntu 10.10 (as I am now)! I was able to run an update and grab real Vim with sweet 256-color goodness. I was really surprised to see that the build of Ubuntu I had downloaded came with Compiz built into it! And it’s fast. Like surprisingly fast. And the boot time is unbelieveable. We’re talking like a ~10sec boot time here, guys. It’s insane (the same goes for Chrome OS too – very, very fast booting and near instantaneous Suspend). I’m actually writing this article in Vim on Ubuntu on a CR-48 right now and I’m happy, except for this stupid touchpad.

Now, the biggest issue I have so far is that I lost multi-touch in Ubuntu and in fact I have no settings at all for the touchpad. Actually, I have no installed drivers for the touchpad either! There are some lengthy solutions I’ve read that involve downgrading Xorg and making all kinds of copies of library and scripts from Chrome OS over to Ubuntu but I haven’t ventured into that yet. Using mouseemu, I was able to get some hack at scrolling (Alt + finger slide) scrolls right now and it’s not too bad. I just wish I could disable the touchpad when I’m typing but I haven’t gotten that to work yet. Gsynaptics picks up a PS/2 Synaptics TouchPad but I still don’t have a Touchpad tab in Mouse Preferences. That’s a definite To-Do.

Apart from that, I still have to boot back into Chrome OS to ensure I haven’t screwed that up too much. There’s a command you need to run if you want to boot into the other OS and I just put that in a script that I can run from either OS. I’m yet to test that. I’m getting about 8 hours of battery life on this, which is a far, far cry from the 2.5-3 hours my poor Mini 10v gives me and so I’m thrilled.


There’s a lot I’ve gotten done in the first 24 hours of having this device, but there’s still some stuff I need to do. Hibernation seems like an impossibility under this current configuration since I do not have enough disk space. I have about 2GB free space left after installation of Ubuntu, which is not nearly enough for a memory dump partition needed for hibernation. And I don’t have multi-touch and I’m really wary of getting knee-deep in Xorg again. Last time I tried to enable two-finger scrolling, I ended up reformatting my installation. Yeah, it was that bad. Anyway, that’s a wrap for now. I’m overall extremely pleased with the CR-48 and I can’t thank Google enough. You’ve made at least one loyal consumer very, very happy 🙂

1 Comment

Posted by on January 26, 2011 in Uncategorized


Tags: , , , , , , , , , ,

Fun With Vim

I freaking love Vim. And yes, I’ve used Emacs in the past (mostly as the recommended editor for a class I took last year – did that for a few days and then switched back to Vim while in terminal or opened up the SSH directory locally and used Gedit. (Also, Gedit is almost certainly the best and most powerful built-in GUI editor you will ever come across. With plugin support, it’s incredibly extensible. It was my favorite editor for a very, very long time too.)

Obviously, Vim’s power comes in its insane customization options. Basically every conceivable thing you’d ever want to do on a text file can be done with a collection of cryptic characters which become not-so-cryptic as you begin to understand the language of Vim. Seriously, hacking and playing with this editor is also as fun as actually using it to code.

But of course, as with all good things in the world, there are some annoyances. Not so much in Vim as in Ubuntu. Hey I love Ubuntu and use it almost exclusively, but it’s kinda boring that it’s always so late to get updates into the main packages. Of course, that’s the reason behind PPAs in the first place, but still.. Anyway, as you may have heard, Vim 7.3 was finally released a few weeks back and of course I wanted to play with it. Basically the thing I wanted most was CursorColumn, which introduced a vertical column at whatever character width(s) you wanted. This is really useful at times when you have code formatting rules such as an 80-character limit on lines. RelativeNumber, which displays how many lines away other lines are from your current line instead of a fixed numbering system starting at the beginning of the file, is also a cool feature sometimes on certain motions (e.g.: copy next N lines – which was a pain before). And file encryption was the last big feature in 7.3, but that’s something I’ll likely never use (at least from within Vim).

So I decided I couldn’t wait until Ubuntu brought 7.3 into it’s main packages (apparently it’s not happening until 11.04 😦 ), so I figured I’d compile it myself. This I merrily did and modified /usr/local/bin/vim to point to the newly compiled executable. And this worked great for a while.. until I realized I was rather naive when I did that and didn’t include all the nice flags that would have enabled such things as Python support in use with certain plugins. So I tried to include stuff that I wanted and recompiled except I kept realizing there was more stuff I wanted. This went on for a while until one day I discovered a fully functional PPA for 7.3 😀 (note, I really wanted the latest release on the day it was announced, so there weren’t any PPA or straight up debs that I could use on the first day that I came across). Win! For the record, here’s the PPA in question. Okay so after finding Software Sources in Ubuntu 10.10 (wow, in Software Center until Edit and inaccessible through menus? grr..), I updated and languished in Vim glory. Very gratifying indeed.

In any case, I just got that done and now I am happy. Also, the past few days of looking through Vim help and learning random stuff from the Internet (did you know that “K” over a standard C function will open up the man-page for it?!), I arrived at my .vimrc file below:

"""  Basic Configurations

set autochdir
set autoindent
set autowrite
set bs=2
set colorcolumn=80
set cursorline
set expandtab
set foldmethod=syntax
set foldminlines=3
set hlsearch
set laststatus=2
set mouse=a
set nocompatible
set number
set ruler
set shiftwidth=4
set showcmd
set showfulltag
set showmode
set smartindent
set tabstop=4
set wildmenu
set wildmode=longest,full
set wrap
set whichwrap+=h,l,<,>

""" Options

filetype on
syn on
au FocusLost * :wa

""" Python options
autocmd BufRead *.py cinwords=if,elif,else,for,while,with,try,except,finally,def,class

""" Hard tabs in Makefiles
autocmd FileType make setlocal noexpandtab

""" Theme options

set background=dark
set t_Co=256
colors mustang

""" Misc mappings and configs

cmap w!! %!sudo tee > /dev/null %
imap <c-c> <Esc>
imap <F1> <Esc>
imap jj <Esc>
nmap <leader> <space>
nnoremap <silent> <C-Left> :tabprevious<CR>
nnoremap <silent> <C-Right> :tabnext<CR>
nnoremap <silent> <C-t> :tabnew<CR>
nnoremap ' `
vmap < <gv
vmap > >gv

Some notes here:

  • Note that the first several lines under Basic Configuration are sorted alphabetically. There’s really no reason whatsoever for this except that I was far too amused that I could do this automatically. Basically you just do :set rnu for relative numbers. Then point your cursor to the first line, do N Shift-V, where N-1 is how many lines you want to select (after getting into Linewise Visual Mode), then :!sort which takes in the selected lines as input, uses the :! to execute shell commands, and of course the shell program sort to actually do the sort. I also realized this is possible by issuing N!!sort where N-1 is again how many lines I want to sort. The !! feeds in selected lines into the shell program and then the result is read back. Oh yeah and you can also do this with N Shift-V v_!sort. Basically, the point is that Vim is powerful.
  • Be sure to do set mouse=a if you want to enjoy the ability to switch tabs using a freaking mouse inside the terminal. Cool, though I rarely use it. Note that if you do this, it will override the built-in Copy/Paste functionality and I can’t seem to figure out how to directly copy text from within the terminal to the OS (or application, if on Ubuntu) copy buffer.
  • The options for set wildmenu and set wildmode=longest,full are the coolest things ever. So basically when you are entering commands, it will suggest completions on and then will iterate through the completions with each subsequent . Also, reverses through the list. This mimics the behavior of standard Bash’s completions and is thus extremely intuitive for me.
  • Another cool command is au FocusLost * :wa. As described in the Vim wiki, this basically will Write All files when the focus is lost. Very useful in my opinion.
  • The option set t_Co=256 enables colorful magic on XTerm terminals (and others). So instead of the usual 8 colors for syntax highlighting, you now get 256. Color-schemes look better, roses smell fresher, etc.
  • The line cmap w!! %!sudo tee > /dev/null % is an interesting hack that allows you to write files for which you don’t have permission when opened. It’s a pain to open a file, edit it, and then realize you don’t have permissions to write it. Sloppy approaches include writing the file to a temporary location and then copying back with permission, but that’s not nice. (One pre-emptive indicator would be to have a [readonly] flag in the statusline.) A solution is the above hack, which allows you to gain temporary super-user access and then write the file to it. Handy. This is a pretty popular hack found all over the Internet, so I’m not sure who to credit it too. I think the first place I saw it was on Command-Fu.
  • Yeah, so map jj to Esc. Just do it. You’ll see how much time you save and it will shock you incredibly causing unbounded, unexplainable glee. YMMV.
  • Finally, the last two lines which map < and > to <gv and >gv. This restores your selection after indenting or un-indenting. In my opinion, this should be the default behavior.
  • Finally, my Color Scheme is Mustang, slightly modified. I may post that up later. It’s an extremely awesome theme and my second most favorite one is Vitamin, also from the same guy. Both very cool.

I think I’ll just leave a screenshot of my Vim configuration as a final note:


Posted by on November 2, 2010 in Uncategorized


Tags: , , , , , ,

Quick Update on Summer

I’ll write more later on but I just wanted to give a quick update on how my summer has been going. So I’ve started my research at Princeton about three and a half weeks ago and so far it’s going pretty well. Mostly it’s a lot of data analysis work and a fair bit of programming. That’s a very good thing. Honestly the more I think about it the more I realize that programming is what I love more than anything else. I’m effectively thinking about programming all the time anyway, always trying to look at the world through the lens of computer science (of what little I know of it) and so to have the opportunity to actually do it for the summer is quite cool. I’m working on servers running a variety of 64-bit Linux flavors, most of which have at least four cores and 8 gigs of RAM. The computational capacity of them is really amazing and the ability to run in parallel at acceptable speeds makes life easier. I’m extremely happy with the tools I’m using – straight manual Makefiles, gcc, gdb, and emacs/vim. As far as code is concerned, it’s mostly C, some Java, and very often Bash scripts with occasional AWK or Perl for quick things. For some reason I’ve found this setup more easy to work with than an actual high-powered IDE. Weird, perhaps, but I sure hope wherever I work in the future I will be afforded this same luxury.

The more I work with Linux, the more advantages I see. I was comfortable with Bash coming in this summer and I’ve learned even more after working exclusively with it. Linux feels like it was designed solely for the purpose of making a programmer’s easier and its done a great job at that. I’ve learned a lot more of Bash scripting now and I’m always amazed at how powerful it is. It’s an extremely useful language to know. For source control, I pretty much had the choice of deciding what I wanted to use and I chose SVN although I think I should’ve perhaps gone with Git. It’s been many months since I’ve used SVN but it was very easy to catch on again. It also forces me to be organized with my code and be more standardized so I’m not going to complain :).

For collaboration, I suggested we use Google Wave to keep a running to-do list and so far it’s working beautifully. It really is the best way to keep track of ideas (although I still maintain an ongoing to-do list on the whiteboard and on my Google Tasks because I’m weird like that). Checking off completed items is pretty damn thrilling – I love the feeling of making progress.

Apart from working on my current research, I’m also doing some light QA/Testing for Mozilla. I’m on the nightly builds (Minefield) on my Linux and Windows 7 partitions (though I use (Linux almost always). But I think that’s helpful here because there are far fewer Linux testers anyway. Mostly it’s just running Litmus tests, benchmarks, and giving feedback on UI/UX changes as they appear and/or break :). It’s a cool feeling to get daily updates and check out what new patches were made and to see the design process through the eyes of the developers. I’m also running on the dev branch of Google Chrome and there too it is interesting to witness the evolution of the interface and behavior. One day I imagine myself actually a developer at one of these companies, pushing out updates to millions of users… that’s something I like to think about everyday. I know it’s silly but I get a kick out of pretending that every commit I make has some tremendous influence. Maybe one day it will be so and all this is good preparation for that I guess :).

This summer my main goals are to of course continue my research but also to learn Python and master C++ properly. I have a somewhat adequate knowledge of C++ right now but I never learned it formally – I want to take this summer to actually learning the finer details of the language. Being that many, many applications are written in that language and that it’s widely the most popular language for programming contests too, it is certainly worth learning. As far as Python, I know that I won’t regret learning that. Seeing how much I’ve come to respect the power of quick and dirty Bash scripts, I know I’ll love the even greater power, flexibility, and ease of use of Python. A few of my friends are learning it too this summer, some for whom it is their first language and this further motivates me to learn it.

I’m going to be taking next week off from research for precisely these reasons among others. Princeton has really tired me out a great deal and I need some time to rest and regroup. I hope to take it a lot easier and to get started on learning those languages. I’ve also got to continue work on the Princeton Math Club blog. For that, I’m thinking of implementing the new Post Type feature that WordPress 3.0 brings. And for that, I need to polish up some PHP skills and get to work hacking away at the current theme. Looks rather straightforward so it shouldn’t take too long to do.

Okay so this post is freaking long and not quick at all. It also took quite a while to type out since I wrote it from the WordPress app on my Droid. More on that in an upcoming post. But for now, that’s about it.

1 Comment

Posted by on July 7, 2010 in Uncategorized


Tags: , , , , , , , , ,