Only 2 Weeks Left to Apply: Get Funding for Local News and Community Related Ideas!

October 20, 2008  by Alok  filed in Really Interesting Stuff

The Knight Foundation is distributing up to $5 million to individuals to develop web services to expand news and information delivery on the community, local, or regional level. The 2008 winners are a mixed bag…some with a bit more impressive and precise goals than others…so if you have an idea (whether for-profit or not-for-profit) for a community or news-related service with some local or regional aspect, we’d encourage you to apply!!!

http://www.newschallenge.org

Reflect: Where did the idea of “News” Come From?

September 25, 2008  by Alok  filed in Really Interesting Stuff

With a lot of talk these days of the demise of newspapers–it’s not just talk, newspaper subscriptions decline every year for most newspapers in the U.S. at least (in India, it’s probably a different story) and the evening paper did die out decades ago–it’s probably not a bad idea to look into where and how newspapers actually came into being and reflect on what really is or should be “the news.” It’s a particularly ripe time for reflection since the web is changing how we find “news”, who makes the “news”, and what we call “news” with new movements including citizen journalism, user-voted journalism, blogging or personal life reporting, social network friend news, lifestreaming, rss feeds and aggregators, and more interaction via commenting and discussion boards.

Here are three quick and hopefully stimulating reads:

A small bit of Thoreau, a famous 19th century American writer and accidental activist, who denigrates newspapers as a kind of mental pollution that move a person into an artificial “world” and away from the natural world:
News is Gossip

Marc Andreeson wrote a summary of reading he did on the origins of newspapers:
Birth of the Newspaper

A nice, short summary of the history of newspapers in Nevada including the days when being a journalist meant being ready to settle accusations of libel via duels with guns rather than lawyers:
A Brief History of Journalism in Nevada

The Hacker from Mars: the Funniest Technical Interview EVER!

July 23, 2008  by Hidden Reflex  filed in Technical Thoughts

We had the FUNNIEST technical interview EVER a month or two back on labor day with a candidate we’ll call the Hacker from Mars (THFM).

THFM walks in. He looks normal, wearing casuals. This normal appearance proves to be deceptive as he quickly de-materializes and becomes an amorphous entity bouncing all over our office. THFM never sits down but rather walks from place to place, fidgeting while he walks, often shouting answers from the opposite end of the room to the interviewing developer.

He answers our first technical question, a simple C data structure question, without incident though THFM makes some sinusoidal variations in his speech and a few inscrutable hand gestures while giving the answer which do disturb us. On hearing the second technical question, admittedly slightly complicated, he suggested a few changes to the question itself. When we insisted on answering our question as stated (mainly because we didn’t understand his changes), we were taken back by his retort, “come on boy.” For half or more of our subsequent questions, we’d hear a ‘boy’ variation, “just leave me boy,” “oh boy these people are going to ask me a lot more questions,” or “boy this is the longest interview” peppered with the occasional interjection, “give me google and I’ll give you any answer.” When we asked him to work out an algorithm in pseudocode, he instructed us: “give me a computer and I’ll work wonders.

For problems THFM couldn’t solve, we gave him hint after hint and ended up basically solving them entirely ourselves. He’d tell us at the end, “I had it with that first hint” or “that works but that’s not at all up to my level.” When we asked him for a solution ‘up to his level’, he told us “if I solve that, I’ll lose my remaining hair.”

For many questions, THFM was kind enough to voluntarily share some great tips such as: “Never use a hash table” because it takes a lot of time for a programmer to write a hashing function. It’s presumably better to jeopardize software performance than to tax the programmer with the task of creating a hash function.

For one problem, he devised an ingenious though utterly unfathomable data structure: a hash table with random keys. To our understanding both key generation and look-up were random–we’ve dubbed this the Clint Eastwood data structure (”are you feeling lucky punk?”) since you’ll have to be pretty lucky to hit the intended data record.

Coming near to the end of the interview we asked THFM to tell us about any outside-of-work programming or technical work he had done. He quickly told us about a new design for computer memory he had invented: no hard drives, no RAM, rather everything in the CPU register. First we asked him how will he store gigabytes of data in the register? He had a pretty straightforward answer: really big registers. We advised him on the danger of lack of persistence–in such a design when you turn the computer off, all register memory is lost and thus you’d have to re-code every program you had stored in the register. So what about this persistent data problem? THFM was unflappable; he quickly suggested the use of solid state devices. We were speechless. Amit decided to test his hardware knowledge.

Amit tried most valiantly to get THFM to solve a circuit problem related to one of THFM’s earlier projects. Every time Amit would make a diagram, THFM would re-route some of the circuits with his pen commenting “there are 1000 possibilities, what about this?” Amit would cross out the re-routed drawing and make a new one but THFM would just as quickly add some new elements and routes. Finally, Amit told THFM, “imagine you don’t have a pen…and you have to solve THIS problem [pointing to his diagram]…” THFM said, “hmmmmm.” After five minutes, we let THFM off the hook and sent him home. He most confidently informed us he had the solution and would revert it back to us (probably he just needed google or a computer?!).

We’re still waiting for an answer.

Country of Polyglots + Funny and Interesting Stuff in Resumes

July 15, 2008  by Alok  filed in Technical Thoughts

India is a country of polyglots. The *average* Indian speaks three languages: his or her state language (in Bangalore, the capital of the state of Karnataka, it’s Kannada), Hindi and English. Many Indians speak and or understand several more languages in addition to this. For example, Bharath reads, writes and speaks fluent Hindi, English and Kannada. He also understands and speaks broken Telugu, and understands Konkani, Tulu, and a fair amount of Tamil. Indians are linguistically amongst the most capable around.

Despite these prodigious skills, we do occasionally receive some interesting and amusing resumes. The items are posted as is without making any spelling, capitalization or grammar corrections.

1. Quite impressive accomplishments.

As my résumé demonstrates, I have Turned around big companies like QUANTAS, VODAFONE, TELKOM, NESTLÉ, HAL, FORD with designs for their e-learning projects.

2. Some candidates are quite candid.

Strengths and Weaknesses

Strengths– Adjusting nature, Eloquent, having quick wit, Versatile, Creative, progressive, Oriented to noble professions, punctual

Weaknesses- Sensitive, bit emotional, overwhelming respect for intelligence, not overtly ambitious, gets depressed with small failures

from another resume

Strengths-…I have a tendency of revolting against wrongs

Weaknesses-Temperamental, Over- emotional

from yet another resume

Strong Point : Hard working, Honesty, Good communication

Week Point : Emotional, Family Problems

3. Who doesn’t like an ambitious grand objective?

Objective:

To satisfy my zeal and add to the zest of my life by acquiring a platform from where I can serve by developing interfaces and tools for which I would be remembered forever.

4. Some candidates apparently mistake me for the now-deposed Maharajah Wodeyar. Here’s the introduction from a cover letter:

Dear Sir/ Madam,

Most submissively, I would like to present the following few lines before your esteemed honor….Thanks.

With adoration.

5. Indians have diverse interests. Here are some from several different resumes:

Interests lie in character reading. Numerology forms another interest.

Reading Objectivist literature…

Flair for taking technical trainings.

Hobbies: … Crisis Management.

Keep myself updated with the developments in natural sciences, technologies, humanities and arts to the possible extent, with a keen interest in natural sciences, linguistics, business, economics, psychology, sociology and current events.

Real-time thinker

Hobbies : …Playing

Hobbies : Designing Logos, Watching Cartoons, Long Drives,

6. The Brain Machine is available during school vacation…

… It would be my privilege to associate and work in your organization. I sincerely
believe in myself, my abilities and my brain machine. I am looking
for an opening to not only to gather work experience but allow my brain
machine an outlet to churn out ideas unlimited. My target sectors are
Advt./ Events dept../ Communications/ Brand/ Media. My vacation is on
till end of May 08 only. …

7. If there was a “cheak (cheek?) and mate” feature in chess, I think chess would be a far more popular and widely played game.

Minor: CHESS GAME

Duration: 45 days

Team member: 3

Description: we made CHESS GAME in VIth semester as a minor project using only C with some graphics feature. It was run through keyboard not with mouse. cheak and mate condition is a future enhancement of this project.

8. Here are some sentences with typos or poor word choice that have some funny results…

The software also helps marinating the schemes and the scheme rates accordingly.

It was with great interest that I read your recent posting in the xxxxxxxxx newspaper for the position of xxxxxxx.

I hereby make an application for a position in your company. My prime motivation is to exercise accumulative abilities to the fullest extent.

I will be much leased To be an excellent Electrical and Electronics professional…

Having a flair for writing with good communication skills and inquisition in learning new technologies

provide me an opportunity to work in an Internationally competent ambience like yours

Since it is confidential Product I don’t want to describe it here, I will discuss the things Only in words.

Some brain-trust put this last line together as I’ve encountered it in several resumes

I shall try my utmost to prove my worth and talent,accomplishing the
sole aim of an asset.

8. Sometimes when you’re too lazy to customize each cover letter (to say how you found out about a job opening in this case), a generic line can come off as creepy.

I have come to know through some reliable sources that you have a vacancy [position] for fresher.

9. An absolutely, brilliant security tip from Google’s Orkut service (massively popular in India so I thought I’d put it in here):

Orkut Security tip: Protect your account: Never share your username and password with anyone.

10. I can’t remember ever reading another resume with a life motto in it, but based on this one, I don’t think it’s a bad idea to have one:

Motto in life: After I have given my best I should await the result in peace.

Fantastic Alternate Analysis of the Microsoft Bid for Yahoo

July 11, 2008  by Alok  filed in Really Interesting Stuff

Usman Latif from Pakistan doesn’t write on his personal website/blog very often, but when he does, it’s usually pretty stimulating.

Most recently, he makes a compelling case that Microsoft had no real intention of acquiring Yahoo with its recent offer (which Yang and others claim), but rather wanted to drive Yahoo into corporate raiders’ hands to get a new management team more Microsoft-friendly and particularly ready to negotiate a better deal on a pay-per-click advertising patent Yahoo owns (patent ‘361).

Read Usman’s full analysis.

If you like this article, check out some of Usman’s others particularly his earlier post on patent ‘361.

Git and Trac - A Love Story.

June 26, 2008  by Amit  filed in Technical Thoughts

Git and Trac, both got married very recently (at our setup :) ), and the newlywed couple are quite a charm to work with. It all started with the search for a version control tool which could be used now, with just four of us using it, and that would scale beautifully to hundreds and thousands of users. The version control system would be the groom. Meanwhile we were also in search for a perfect partner (the bride), an issue tracking system, that would gel with our choice of version control seamlessly.

To begin with, we all (at Hidden Reflex) were leaning towards a central repository setup. This bias was there as we all had years of experience using them. The first obvious candidate was CVS, the next being SVN. But we wanted things to be lean and fast. As Alok researched the pros and cons of various version control systems, I installed Bazaar on my system and started playing with it. Bazaar is a distributed version control system, developed by the Ubuntu community. On their web-pages, Bazaar mentioned that it supported the the distributed as well as central version control setup. We started getting curious, and it was almost decided that Bazaar would be the groom.

Bazaar has CVS/SVN like commands and was very easy to pick up. While we were testing Bazaar, other candidates were knocking at the door. After a lot of online research, we zeroed on two more choices: Mercurial and Git. By this point we had a pretty good grasp of distributed version control systems and their pros and cons. We still wanted the best of both worlds, a centralized repository to keep track of things, and every developer using a version control on their local machines. I’ll discuss the benefit of this setup later in this post. Meanwhile, Bazaar was starting to look good as it promised to integrate and work with the setup we wanted. CVS, SVN and the like were out of the race for being too bulky.

Then at home, on the weekend, I happened to try Git on my laptop. I was amazed at the speed of this stupid version control. It was 2 to 10 times faster than Bazaar. The installation was smooth, the usage seamless. I do not know why it is mentioned in version control comparisons that Git is complicated and lacks documentation. The command line tools itself guide you on how to go about things and the man pages have good content and adequate examples to get you going. Even the online resources are pretty much exhaustive.

The very next day, I headed to our office. Alok was happy to see me, as it was Sunday and he was feeling lonely ;). Well, I presented the advantages of Git over Bazaar to Alok and so we decided to include it into the list of would be grooms. Mercurial didn’t show many advantages over the final two contenders, hence it too was out of the race now. So the final showdown was between Git and Bazaar. The speed of Git made this lean guy look very handsome, Bazaar on the other hand had a pretty face. The next criteria was support for a central repository. Though Git did not have that feature explicitly, it came pretty naturally that we can always create a repository on our server and call it central. That’s it! What came to us naturally is described in this post from Linus Torvalds, the creator of Git. We happened to stumble upon his post while doing a last round of research after making the final choice. The post clarifies how and why Git can be used as a central repository. To summarize (well almost) the post from Linus ; “It’s how you view things. Git never says you cannot maintain a central repository. You can always call one of the repositories the central one, to which all developers push changes. Along with this Git provides version control on your local system as well. That is where the power of Git lies. It lets you decide the setup you want and the work-flow you desire. Apart from that, it’s blazing fast and provides a rich set of commands to make it the macho man.” Git, is not stupid at all :), he is that Mr. Perfect all girls are looking for.

Meanwhile, the search for a compatible bride, the issue/bug tracking system, was on. We all had used and knew Bugzilla, and knew how big and heavy it was. And Bugzilla was not a good name for a bride to be ;) . After a lot of research, gazing over comparison charts, reading other users’ experiences and trying demos, we selected Trac. For Git it was love at first sight. Trac had that perfect figure (very light weight), was beautiful (easy and nice web-based UI) and powerful. Though the last quality is not what you’d look for in a bride, but Git liked that, and so did we.

Trac is highly configurable and happily accepted the Git repository (on our central server). It provides an extensive library of plugins to add that extra feature you need and online documentation is good. We didn’t have problems setting it up on our server. And yes, Trac works with multiple repositories,a very good feature to have in an issue tracking system. The command line tool, trac-admin, is simple but very powerful, allowing you to customize a lot of things viz. fields for tickets, permissions etc. We also got E-Mail notifications working in no time (just edit the self explanatory trac.ini file).

To reiterate, the setup we went for was a central issue tracking system with a central cum distributed version control system. A local version control is a big plus for the developers. After checking out the code from the central repository (as in our setup) on their local machines, they can create experimental branches locally to test out new features, without worrying about breaking anything; or use the power of version control to keep track of the changes they make without even being on the network. A distributed system also helps developers to work in a collaborative environment for effectively sharing their local code-base; sending patches; merging code locally before pushing to the central repository. To be a little grandiloquent: the possibilities are endless and exciting. This allows for more experimentation, better local testing and better shared development. The central repository works as usual: it is used as the main code-base where the tested revisions are checked in; it enables the accountability desired in a collaborative environment by keeping proper track of the different code-development phases. Trac on the other hand provides all the necessary features in a small package, a really nice bride and bug tracking system.

The honeymoon period is still on and we hope that the couple stays happy; like a fairy tale “…and they lived happily every after.”