Archive for the ‘review’ Category
iPad review
I bought an iPad (32G, WiFi only) last month and it rocks. I don’t buy new technology simply because it’s new. I buy new technology when I think that it will really help improve the way I (want) to work. My style of work is three-fold: 1) I’m at a coffee shop or the university doing research 2) I’m writing something long (papers, blog posts, presentations, etc.) or 3) I’m programming. I have a laptop to do #3 and I bought a new MacBook Pro 13 to do number #2. It’s for #1 that I envisioned an iPad helping me.
In past years I found myself lugging a laptop around everywhere but really only to use the Internet and emails. I wanted something much smaller and lighter and that’s precisely what an iPad gives me. Now I leave a laptop in my office and one (two, actually) at home and I carry my iPad with me everywhere. In the past I wasn’t a busy person, but these days I take classes, teach classes, and work for Percona, so I relay heavily on Google Calendar, emails, and other such technologies like MobileMe to keep all my info in sync and available anytime, anywhere.
Thus the iPad is perfect for a person like me who (fortunately or not) always needs access to such information. It’s responsive, light, and simpler than a full-blown laptop with a full-blown OS. Its battery lasts me days (I only use it a couple of hours in total each day, turning it off and on constantly to check stuff). I had never used any touch-related Apple products before (i.e. no iPhone or iPod Touch), but I’ve found it to be intuitive. The touchscreen keyboard is nice even though it requires adjusting from a real typing style to “hunt and peck” (unless you can float your fingers above the “keys” without touching them).
Overall I have no complains. The device just works and it’s the first time in a long time that I think a product is revolutionary, not just evolutionary. An iPad costs as much as larger, more powerful laptops, but if you have a need for it like me, then its simplicity makes it worth its price.
First date with Python
I began learning Python a few months back by reading Programming in Python 3. I didn’t know at the time that Python 3 was devel and that Python 2 was production. Regardless, I got the chance yesternight to sit down and use Python in the real world. My first languages where BASIC (pre-Microsoft), Pascal and C–primarily the latter. Then I learned C++, PHP, JavaScript and finally Perl some years ago. Now Python.
I think Perl is a perfect language; I absolutely love it. Sure it’s not the fastest in all cases, and it’s memory consumption is epic at times, but Perl is beautiful, expressive and tremendously helpful. It’s been said that Python has a beautiful heart and I may agree because I’m attracted to simplicity. In Perl there’s always a multitude of ways to do things and no one way is “correct”, but I’ve read that in Python there’s one way to do things and that’s the Python way. I’ve also read that “Python is not C” (when I couldn’t figure out why i++ wouldn’t work). Python may be a little obstinate but as André Gide said, “Il vaut mieux d’être détesté pour ce qu’êtes vous que pour être aimé pour ce que n’êtes pas vous.”
It’s no use doing a strict side-by-side comparison because there’s very little similarity between the languages other than they’re higher-level than C. Since I use languages to express business ideas and solve business problems, my concern is efficacy; i.e. does this language help or hinder me? Of course, one’s skill in the language is an important factor, but that aside (because my skill in Python is not even half my skill in Perl), I feel Python itself was helpful. What I found to be a hindrance was the Python documentation.
The docu is fantastically detailed, but that’s also the problem. One of Perl docu’s greatest features is the SYNOPSIS section of modules. A language’s syntax and built-in/basic data types is the trivial part of its learning curve. To do something useful with the language requires modules/classes. At first I don’t care about the details of these things, I just want to know the most basic usage–I want a synopsis. From that I get a feel for the module/class and can intuit how the other stuff is going to work.
Perhaps that’s only a Perl influence due to Perl modules having zero standard interface. To Python’s advantage its classes seem to have a much more consistent look and feel. With more time I’ll probably learn to read pydocs more efficiently. Also, since there’s one correct Python way to do things, I may even achieve Python proficiency more quickly than I did Perl proficiency, which is an eternal struggle when it’s permissible to be lazy or obscure.
It’s odd but that’s what I look forward to discovering with Python: will it permit me to be lazy? C is an awesome language but it’s also a relentless task-master. Perl is both awesome and lazy. Perhaps Python will be somewhere in between.