Archive for the ‘technology’ Category

Smart phone?

Friday, August 12th, 2011

I have been a hater of smart phones for as long as I can remember. Until recently, I was using the Samsung Smooth – which contrary to its name is more brick-like than smooth – and I was very happy with it. It did what I wanted it to, make calls, send and receive text messages, have a super long battery life, and not break when I treated it like a tennis ball. I was so old-school that I hadn’t even adopted T9 for texting. Then, earlier this summer I caved into the pressure and got an iPhone 4. Everyone says getting a smart phone will change your life in a positive way, but I was always kind of skeptical. After a couple of months with my fancy new phone, I still don’t really feel like it has dramatically changed my life, and in fact it might be making me more introverted, which is terrible.

When I really think about it, I don’t really use my iPhone’s capabilities all that much. On a daily basis, the only third-party app I really use is twitter, and pretty much I only check that while I’m eating breakfast, which I could just as easily do in front of my computer. I also listen to music on my phone a lot, but this just replaced my ipod shuffle. I will say that it is convenient to not have to carry so many things around (i.e. phone, mp3 player, camera, etc.). On rarer occasions, I use the maps app and the camera feature, particularly when I’m travelling, but again this is just a substitute for planning ahead. I also occasionally use twitter in places where I don’t have access to a computer, although I’m not sure how much utility this is really adding to my life. I don’t really think it’s necessary to stay that up to date with whatever’s going on the world (to the point where you know what happened in the last 20 minutes), and my personal tweets are mostly pointless.

The times when I use my phone most are the times when I could/should be interacting with other people. For example, I have recently started writing blog posts while waiting for the bus on the way to and from work. Instead of staring at my phone, I could make small talk with the other commuters and maybe meet some cool, interesting people. This would actually be really useful for me since I don’t have a established social network where I live. This also happens when I carpool to ultimate practices and tournaments; my teammates and I spend most of the car ride checking news and other things on our phones rather than talking to each other. This was primarily the reason why I didn’t want a smart phone in the first place.

I’ve considered the possibility that I don’t have the right suite of apps to make the most of my device, but I haven’t found many of the apps my friends recommend to be all that useful. A lot of people recommend games to me, but their novelty dies out really quickly and I find that they soon just clutter my home screen. This is also true of most of the social apps, I’m not that big a Facebook/Google+ user as it is, so I rarely see the need to check these things while I’m away from a computer.

I’ve pretty much realized that the phone provides convenience, that can mostly be negated by thinking ahead and planning. And in return, you pay for it by missing out on social interactions, since it’s so much easier to get lost in your phone than take some effort and talk to people.

I don’t mean to sound so negative, I honestly think that smart phone technology is incredible; I’m just not sure how positively life changing the technology is.

Ubigraph visualization

Friday, May 1st, 2009

My professor pointed Ubigraph to me as a way to make some visualizations for a project I’m working on. I’m incredibly impressed. Watch the demos, especially the algorithmic visualization one.

I messed around with this for a couple of hours today and it’s really easy to use. It’s am XML-RPC interface so you can interact with it from almost any language, the commands are intuitive and simple, and you don’t have to worry about a lot of the details in your visualizations. I had a relatively complex graph up in less than an hour.

If you ever find yourself in need of visualizing graphs, I strongly recommend Ubigraph.

Frustrations with Linux

Friday, August 8th, 2008

Check this out. After 11 weeks of work or so I think I’ve think reached the height of frustration with linux but at the same time I’ve learned a lot about dealing with those frustrations. I’ve always known that things are a little more complicated when dealing with linux, but I didn’t expect to get so annoyed with it. Anyway this xckd comic reminded me of some of the pains of messing with linux.

I spent most of today trying to install 1 (yes 1) perl module (DBD::Pg for those that care) and this was one of the most painful processes I’ve had to deal with. So I first had to configure CPAN which wasn’t that difficult but still required my attention for a bit. And when I tried install DBD::Pg the compilation failed with some C related error message. I spent some time trying to debug the module code, which I was pretty sure wasn’t the right thing to do (other people have installed it right?) Eventually after several hours, I found out that my machine had an old version of perl, an old version of a pre-requisite module, among other configuration issues so I fixed all of that and eventually got things to install.

And the other day, I got another monitor and was trying to set up TwinView on my machine and that opened another can of worms. I messed with my xorg.conf (the same as in the comic), and eventually I realized I had to install a new driver. This involved booting in a different run level and running through an installer which failed the first time for some strange reason. Eventually I got this to work, but this also took me a couple of hours.

And I guess what’s good is that I’ve come to accept that linux is more frustrating. At the same time, it’s good that I’m given a lot of flexibility to configure things and mess around with my system settings, so I guess it’s a tradeoff. A lot of stuff is oriented towards programmers; when I found compiler errors installed the perl module, I looked at the source code and made changes (although that’s probably not such a good idea in general).

Along similar lines, Vivek came over one day and he was all excited about partitioning his mac and installing linux on one partition. I warned him that linux isn’t all fun and games, especially if you’re not that computer savvy. When I stumbled on this comic, I promptly showed it to him as further proof that the warning is not to be taken lightly. But I’d still use linux over windows any day.

Drug mimics effects of exercise

Saturday, August 2nd, 2008

For all you lazy people out there: Check this out.

Researchers in San Diego have synthesized a compound that affects the metabolic pathways in muscle tissue to simulate exercise. What’s cooler for me is that they’ve come up with another drug that dramatically improves endurance when performing exercise.

Looks like the producers of Wall-E didn’t think that science would solve the obesity problems of the future

dude… use python

Thursday, July 31st, 2008

So haven’t written a techy/nerdy post in awhile and I presume that’s because my life outside of work hasn’t been that nerdy during the summer. But I thought it’s time to return to my normal self and so… lets talk about python.

This article is titled the way it is because I’ve heard that phrase uttered so many times in the past year or two that it’s insanse. So I spent a little bit of time last summer learning python and the interns and I worked on a project in python, but it wasn’t too involved and I promptly forgot a lot of it in the months to come. I still used php or perl for a lot of my scripting purposes because I was familiar with them and my friends would continuously nag me to make the move over to python, but I never really got around to it.

So this summer, I was initially given the option to write in whatever language I wanted and thought that it would be a good time to learn python, especially because it’s used in a class I’m taking next semester anyway. I took about a week in the beginning of my internship to learn about python and ported some of my old code over to python. I already knew that python was pretty cool, but it seriously makes programming much much faster. And even though I ended up using perl for my intern project, I’m pretty happy that I learned python and I think I’ll be using it more in the years to come.

Ok so why is python so cool. First there are the reasons that everyone says, it’s like writing pseudo-code, but then it actually works. That’s pretty cool because programmers learn to think in pseudo-code but then have to translate that to whatever language. The closer the language is to pseudo-code the better.

It’s interpreted, which has pros and cons. Interpreted languages are generally slower than compiled languages, and yes I think python is slower than C, but for internal scripts where performance isn’t that critical, python being interpreted is pretty helpful.

Python is a lot like scheme/lisp with lambda expressions and functions as first-class data. I was disappointed that you can only have 1 line lambdas, but they’re still pretty useful. And passing functions around is amazing and extremely useful. Also has built in functions like map() and filter() which just make list manipulation so much easier.

Consider this, lets say I have a list of numbers and I want to make a sorted list of all the even numbers. In python…
sorted ( filter (lambda x: return x % 2 == 0, myList))
In most other languages (except lisp)… I’m pretty sure it would be a lot less concise. And yes the same sort of thing can be done in scheme, but I like scheme a lot too.

I like the way that python allows me to include my test cases of a module within that actual module. The if __name__='__main__': feature is pretty cool. You can’t really do that in perl and it’s annoying because I need to have a testModule.pl script for every Module.pm. With python I pretty much reduce the number of files I have to worry about by a factor of 2.

Also python is pretty easy to read and that makes your programs easier to maintain. I’ve been experiencing this problem where perl isn’t that easy to read (especially if you use a lot of the uncommon features) and now that I have to go back and make changes to my code it’s pretty hard to figure out where I’m supposed to look and how I’m supposed to make the change. And not that I’ve done this, but I think it’d be a lot easier if I wrote in python.

Anyway, I’m not really an expert on python or programming languages in general. In fact I haven’t even used python for a substantial project or anything, but I have been reading about it and playing with it so I found some things that I like. And I think I’ll be using python more in the future so I’ll become more and more familiar with it and probably find more things I like and also some things that I can’t stand.

Disclaimer: If my facts are wrong here please feel free to correct me because these were the impressions that I got and it would be good if I got them corrected.