Month: December 2012

Happy New Year, 2013!

Happy New Year! I think 2013 is one of my favorite holidays, among those religious and secular both.

Too bad I don’t do much in the way of celebrating it. Not like in 2009/10 when we threw a huge college freshmen party and trashed the dorms (3 knocked-out girls still claim the drinks were spiked, which I doubt), or 2008/9 when we partied with the villagers at Cerro Castillo, Chile, or 2005/6 when I was in the guard tower on duty in the tiny outpost of Malkishua, between Jenin and Beit She’an.

Good times; perhaps my 2013 New Year’s Resolution should be to celebrate New Years more extravagantly. I’ve already got 364 days to prepare for next one.

Some of my New Year’s Resolutions:

  • Work-out, every day. This is my usual resolution, and I am consistent in ignoring it. Let’s hope this year will turn out for the better.
  • Post here at least once a day. Similar to the above resolution, but I gave myself a head-start of a few days on both to see if feasible. So far so good.
  • Have a good time, as much as possible. Life’s short; enjoy it while you can.

And on that sappy cliche note, let’s all have as much fun as possible in 2013.

Happy New Years! 🙂

Advertisements

Watching More TV

Limor and I don’t watch a lot of TV.

(As with entire other classes of technology, such as CD-ROMs or car-phones, the TV is rapidly becoming a defunct term, an old wrapper replaced by more enlightened paradigms, as demonstrated by the ilks of Hulu and Netflix. Even in remote (Hulu & Netflix-less) Israel, we get by almost without using the big box itself. But anyway, I digress, that’s IAP.)

This is a rarity amongst our student community (though we have both recently finished our BSc’s, I guess we still view ourselves as students, at least subconsciously): most people watch lots of TV shows. One good friend mine refers to series he didn’t like as in “he only saw 2 or 3 seasons of that; didn’t care for it.” I don’t think I’ve seen much more than 2-3 seasons of any show, altogether, during my entire degree.

This isn’t something I’m proud of. Nor ashamed of. I think seeing TV shows is a valid, sensible form of entertainment. You can do it excessively, but no-one I know does it to an extent overbearing on their personal nor professional life, and I see no reason to view it objectively as worse than debating politics on Facebook or other forms of Internetizing, or any form of entertainment. Certainly we would not judge anyone who watched the theater every day.

Sometimes I wonder why Limor and I don’t see that much TV. It’s a social liability at times.

Although I generally daydream rather about productivity, perhaps one of my resolutions for 2013 should actually be to see more TV. I shall start this non-resolution immediately, as go off to see a before-bed-time show.

Musings on Professional Path for 2013

In a period of much deliberation, here are my (temporary) conclusions regarding the professional path I should be pursuing in 2013:

1. Programming languages: Go depth-first and work on building up my core competencies and interests of JavaScript and Python (instead of branching out and strengthening languages I know but am less comfortable in such as Java, C, C++, or learning new languages such as PHP, Scala, etc.).

2. Role: Get further hands-on experience as a coder for a year or two (or until I find a competent partner with whom to build our own thing.).

3. Sphere: (Full-stack) web development is the area that excites me the most. I haven’t enjoyed mucking around with AWS EC2 instances or fine-tuning CSS, but it’s good to learn how to get things to work. Perhaps unsurprisingly, I am particularly fond of frameworks such as Django and Backbone.js.

4. Studies: am not getting an MSc this year, but perhaps studying up online on some of the topics that I would want to work in some day (notably ML & NLP). E-learning is taking off and mastering that proficiency is worth-while in of itself.

5. Writing: I am trying to commit myself to at least one post a day. Doesn’t matter about what. I view this as a professional ability, which in turn deserves practice and honing.

(‘DFS’ pun credit to my Dad.)

2012 Trip to Central America

One day somebody’s gonna ask me about my trip to Central America — either for concrete information pertaining to their own plans, or run-of-the-mill “how was it” questions. (That very person might be senile me, starting now) So although the end result might bear more resemblance to a grocery list than a prose entry, here goes.

In the summer of 2012, Limor and I had been planning on going traveling to Central America as a post-degree trip. (We had both finished our Computer Science & Cognitive Sciences/Psychology degree at the Hebrew University of Jerusalem) A few years earlier I had traveled around South America. I both loved it and learned pretty decent Spanish, which I felt transformed the trip into a much deeper experience than could ever be accomplished otherwise. Imagine the differences of traveling in your own country (a country where you speak the language) between a tourist who speaks the language and one who doesn’t. So some years later, when Limor and I got around to talking about it, I pushed strongly for Central America — a different (sub-)continent, but at least the same language. Limor is a very fast learner (and I’m a decent enough teacher) that a crash-course of everyday phrases and some Beyonce “Imprescindible” lyrics sufficed for her to understand Spanish-only (no-hand-gestures) conversations from day one. But I get ahead of myself.

My family are heavy travelers. About once a year we fly abroad for a couple weeks. Recent years have seen us go off to India, Ireland, Russia, South Africa; after a few years (and with the right inclination) you start getting exotic. (Central America isn’t super exotic, but it’s definitely above the cut for Eastern-Hemisphere families.) We combined our trip with theirs, as follows (hey, grocery-list warning was acknowledged):

  • Limor and Sella (9 days in Costa Rica)
  • Everybody: 6 days in Cuba
  • Everybody: 8 days in Guatemala
  • Agam and Limor and Sella: another 9 days in Guatemala
  • Limor and Sella: another 10 days in Guatemala.

Altogether, for Limor and myself, it was about a week in Costa Rica, a week in Cuba, and four weeks in Guatemala. This was around September-October, which is an excellent time to be traveling in that area. It’s the end of the rainy season, (or not. Sources differ, but I can at least share our experience) which for us meant the occasional afternoon rain, but consistently clear mornings to afternoons. Importantly, since it’s the “off-season”, you see very little other tourists. This is especially noteworthy since at select spots you do see the scope of the tourist infrastructure set up — hotel billboards and the ilk — and you get the feeling that come high tourist tide, there should be thousands of people. (One guard at Semuc Champey, Guatemala, told us that in Semana Santa (Easter, peak traffic) they get +170,000 visitors a day. I sort of doubt his math, but the point remains that things could get hectic. Bottom line: come in the Fall.

332535_10151018693521949_1802203352_o

The next posts will cover each country in detail.

Wikipedia Redefined

Man, I love wikis so much.

Anyone who’s worked with me in the IDF could tell you about my obsession with wiki[s] there. It was my first challenge with a corporate wiki: as all knowledge-management endeavors, total victory is never achieved, but substantial, years-long success which dramatically affects users’ effectiveness is a ‘good enough’ in that field.

Wikipedia itself, of course, needs no introduction or praise: everyone knows the magnitude of effect it has had on the way we know and the way we learn.

“Wikipedia Redefined” (link below) is a project of unclear proportions, discussing the a graphic overhaul of Wikipedia’s UI. Wikipedia is a bit “2006”ish in its graphic design (though my personal choice of Wiki skins and UI is the über-old 1.15.1 style).

It’s an interesting read,  (easy, mostly-graphics-based) for anyone interested in Wikipedia and/or graphic UI/UX.

On you go: Wikipedia Redefined.

(Another gossipy tidbit of good reading on this is Jimmy Wales’ comment on the project on Quora: http://www.quora.com/Wikipedia/What-does-Jimmy-Wales-think-of-Wikipedia-Redefined)

(Post-script note: In our wiki’s early, “underground” days we used pictures of girls in bikinis for the logo. Not sure that would fly so good with Wikipedia.)

No Rest For the Wicked

No rest for the wicked” (or “No peace for the wicked“) is a phrase originating from the Book of Isaiah verses 48:22 and 57:20-21. (No rest for the wicked – Wikipedia, the free encyclopedia)

The Biblical translation to “rest” is interesting, since the original Hebrew word (as Wikipedia points out) is “Shalom”, which is more commonly used as “peace” or perhaps “well-being.” I suppose the concept of the Lord (and us, his faithful minions?) constantly pursuing ‘the wicked’ is romantic enough to grant picturesque gravitas befitting the Anglo-Saxon interpretation. (“Smite” is another word that succeeds in the same manner.) Reminds me of Batman Begins’ “Death does not wait for you to be ready!”, which might as well have come from the Bible.

 

Closure Tools — Google Developers

I’m thinking about in which tech areas I want to develop myself (“להתפתח”, for which I have not found a suitable English translation) and JavaScript (with a capitalized “S”, as any decent spellchecker shall correct you) seems to the first on the list. It’s on the server, it’s in the browser, developing in it has super-fast iterations and feedback, etc. Hopefully I’ll expand on this dilemma in another post, but for now the main issue was a heap data structure.

For various reasons I’ve found myself with some spare time on my hands and decided it would be a good time to read up on and practice my data structures. My last job (JS SWE @ NDS [♥ acronyms]) sadly included little practice with advanced data structures, so I was kind of out of practice. Thinking in a testable mindset (which is something I should do while coding, btw) I decided to practice it in Java. Sadly, both my own Java skills and the language itself make that an annoying experience with frustrating debuggers, slow response, and lots of boilerplate oh no that’s not the proper way to instantiate a non-Generic abstract type — curmudgeons, we’re not here to practice syntax, we’re here to practice theory! This is why I fell in love with JS in the first place. It took me a while to break a surprising mental barrier and decide to just get on with it and implement it in JS anyway. It would be faster, funner development iteration doing it, and I might as well just focus on JS anyway, seeing as I would probably not be looking for Java work anytime soon. 

Happily, I had the rare presence of mind to check has anybody done this before me? (The answer to which, surprisingly or not, seems to almost always be a resounding ‘yes’, and this fact is not stressed enough with young programmers) Reading through a couple GitHub implementations, I stumbled across the how-have-I-not-heard-of-this-yet Google Closure Tools library. It is a “broad, well-tested, modular, and cross-browser JavaScript library”, made by the folks at Google, and familiar to you if you’ve ever used Gmail, Google Docs, etc. Standard very high-level implementations of the various JS widgets you’re all-too-familiar with. A dizzying array (snicker) of them, in fact. And top of all of that, a JS data-structures library with complete (read: documented, tests-included) implementations of your favorite CS 101 friends, re: our friend the heap priority queue.

I was/am amazed at the folks at Google continuously raising the bar. I do need to point out this project seems on the lower end of Google’s what-we-care-about ladder; the documentation contains some typos and the demos (or perhaps the library itself!) contained some easy-to-spot bugs. Well, this less-than-complete-perfection is only noteworthy by Google’s standards anyway, I guess.

I was also happy/impressed to see JS getting some full-fledged 3rd-party support for major operations. A decent 3rd-party implementation for data structures and major operable classes (including UI widgets, as JS is heavily used in View context) was to be expected, and I’m surprised I haven’t heard of it before. (Wikipedia says Closure is around since 2009, which isn’t that long ago, but isn’t exactly yesterday either). Perhaps I’m the only one new to the game, and these are my standard first steps in entering the web development world.

Check it out yourself (link below). JavaScript is so non-verbose that reading the docs on the data structures (and making sure you understand what’s going on) is not a bad way to just practice the CS theory itself.

Via: Closure Tools — Google Developers.