I know you better than you know yourself.

I was reading an article about how Google+ is the future.

Why the Google+ long game is brilliant

The author is trying to make a point, and I get it. But when skimming, I just picked up the lines in bold:

  • I live in Gmail.
  • Google Voice is my phone number.
  • Google Hangouts is my new calendar invite.
  • I live in Chrome.

And then when I reached the end, I half-expected the following conclusion:
and in case I don’t see ya, good afternoon, good evening, and good night!

The Hitchhiker’s Guide to Git

One needs the following in order face a git disaster and live to tell the story:

  1. Humility, to read the fine manual.
  2. Courage, to submit your code to the will of the force.
  3. Common sense, to stop you from manually editing any file under ./.git.
  4. Luck.
  5. Tactical smarts, because sometimes you need a sniper and sometimes you need a cavalry charge.
  6. Wisdom, to know when to give up.

 

getting back to the fun in computer programming

First, a few quotes:

A computational process is indeed much like a sorcerer’s idea of a spirit. It cannot be seen or touched. It is not composed of matter at all. However, it is very real. It can perform intellectual work. It can answer questions. It can affect the world by disbursing money at a bank or by controlling a robot arm in a factory. The programs we use to conjure processes are like a sorcerer’s spells. They are carefully composed from symbolic expressions in arcane and esoteric programming languages that prescribe the tasks we want our processes to perform.

Fortunately, learning to program is considerably less dangerous than learning sorcery, because the spirits we deal with are conveniently contained in a secure way. Real-world programming, however, requires care, expertise, and wisdom. A small bug in a computer-aided design program, for example, can lead to the catastrophic collapse of an airplane or a dam or the self-destruction of an industrial robot.

If Lisp is not a mainstream language, why are we using it as the framework for our discussion of programming? Because the language possesses unique features that make it an excellent medium for studying important programming constructs and data structures and for relating them to the linguistic features that support them. The most significant of these features is the fact that Lisp descriptions of processes, called procedures, can themselves be represented and manipulated as Lisp data. The importance of this is that there are powerful program-design techniques that rely on the ability to blur the traditional distinction between “passive” data and “active” processes. As we shall discover, Lisp’s flexibility in handling procedures as data makes it one of the most convenient languages in existence for exploring these techniques.

Above and beyond these considerations, programming in Lisp is great fun.

Those of us who already know what I am talking about, wish me luck! Those of us who don’t, here’s a four-letter word for you: SICP.

horror at livejournal

Just noticed this weekend that I don’t seem to have any control over ads that LiveJournal shows on my blog. Was browsing on a borrowed PC with no AdBlock, and was shocked to see the right side occupied by a huge flash video of a blonde teenager seemingly chatting on a laptop and “pointing downwards”.

How do I get out of this mess? Can I choose which ads show up on livejournal? Or should I jump ship already?

No Mono!

Almost everyone who uses the Gnome desktop is familiar with one of either Tomboy or F-Spot … two tools that have become poster boys of the Mono project. Well, I decided to stop using them. Not only that, I decided to purge the root of evil, which is the Mono project itself from my Desktop. The philosophical and legal mind-bending around Mono is old news for those who are in touch with the times, but I had chosen to ignore all that till now, but not anymore. I just purged Mono and anything that depends on it from my desktop.

What triggered this allergic reaction was a post on Groklaw about a patch to the VFAT filesystem in the Linux kernel that circumvents Microsoft’s patent on long file names in FAT. The patent is about storing both the long name and the short name of the file on disc. The patch beats that by storing only one of the two. How lame is that!

Here’s a bunch of opinions about the whole issue, that started with Microsoft suing TomTom over eight software patents.

  • SFLC: Settled, But Not Over Yet

    The FAT filesystem patents on which Microsoft sued are now and have always been invalid patents in our professional opinion. SFLC remains committed to protecting the interests of our clients and the community. We will act forcefully to protect all users and developers of free software against further intimidation or interference from these patents.

  • Bruce Perens: Microsoft and TomTom Settle, Justice and Linux Lose

    Justice lost because there’s been no trial to overturn the FAT filesystem patents. As venture capitalist Larry Augustin wrote: “Those of us who have PhDs in computer disciplines and have studied operating systems and file systems, don’t see anything particularly innovative in FAT or its extension to support longer file names, FAT32.”

    And let’s not forget Microsoft. All of that talk about interoperability with Linux coming from them? It was just talk, because they’ve shown that anyone who tries to interoperate with Microsoft technology even as simple as the FAT filesystem will eventially be sued, or pushed into licensing, for their efforts. The way they act, the Microsoft-internal definition of “interoperability” must be “making the whole world owe us.”

    And so, you should be wary of FAT, Office Open XML, .NET (including Mono), Silverlight, and of Microsoft’s participation in standards committees that don’t have a clear royalty-free committment, or, as is the case for Office Open XML, when the royalty-free committment is less than complete. These technologies leave the door open for submarine patents to sink your business.

  • Microsoft Roils the World with FAT Patents

    1. Microsoft has abandoned its long history of not suing on software patents, in order to attack the Linux operating system. (Other patents at issue are specific to GPS systems.)

    5. By demonstrating its willingness to sue a small company, Microsoft can induce others to settle, while undermining confidence in the market for embedded Linux. By contrast, when IBM sought to impress the world with its patent portfolio, it at least picked on Amazon — a company able to defend itself and with a reputation for asserting patents aggressively. (Remember the one-click ordering patent that Amazon used in its holiday-season attack on Barnes and Noble?).

verbatim, etc. in beamer

I have been unsuccessful at creating a verbatim environment in a beamer frame. The manual says that it is fully supported, and all you have to do is set the [fragile] argument for that slide. So the following is supposed to work. (Note the weird indenting, since verbatim has to be at the beginning of the line.)

  begin{frame}[fragile]
    frametitle{Euclid says ``hello''}
    begin{verbatim}
blah...
and blah...
end{verbatim}
  end{frame}

Well, I tried compiling it, and it doesn’t. LaTeX exits with the following error.

Runaway argument?
! File ended while scanning use of next.

It took some time to get to the bottom of this. The problem is that a fragile frame must end at the start of a new line! I am an indentation-freak … I indent LaTeX files even when Emacs doesn’t. So I ended up with the end{frame} indented by a couple of spaces. That’s what choked LaTeX. So the above example works when changed as follows:

  begin{frame}[fragile]
    frametitle{Euclid says ``hello''}
    begin{verbatim}
blah...
and blah...
end{verbatim}
end{frame}

Posting this here for the record, with the hope that it will show up in the search results when some other poor sod is bugged by the same problem!

completing the circle

I have always fancied myself as a small-time free software contributor, fixing a line of code here, filing a useful bug report there, and occasionally jumping into discussions. But finally I got around to putting in a concrete contribution that is worth mentioning. The latest version of Dia is about to be released, and I have been responsible for scratching an itch that has been bothering people for years.

And in case you are an engineer that has to create lots of schematics, and you don’t know what Dia is, it’s high time you tried it out!

my kind of notebook PC is finally here!

Finally decided that I do need a notebook now. The correct segment for me seems to be ultra-thin notebooks, rather than a netbook. And just in time, here comes the HP DV2. The general opinion on the inter-tubes suggests that it’s a good buy. It fulfills the following things that I am looking for:

  1. Light (it’s only 4 pounds … 1.8kg)
  2. Comfortable keyboard
  3. 12" screen
  4. Decently powerful, for a few things beyond email and surfing.
  5. Bluetooth as well as dot-11
  6. Large hard-disc
  7. "Affordable"

Few questions remain:

  1. Does it run Ubuntu? Also, can I "upgrade" the bundled Vista to XP, sitting in India?
  2. This product is AMD’s way to break into a whole new market segment between netbooks and notebooks. Will better things come along (I think it’s not worth waiting)

Unless I hear anything really bad about it soon, I think I’ll just go for it.

on becoming a father …

After I became a father, the one question that has been asked most frequently is, of course, "So, how does it feel to be a father?". It’s impossible to describe that feeling in words, but here are a few things so you get the hint:

  1. When you have just become a father, it’s okay to walk down the road with a completely silly smile slapped on your face. You can’t control it any way, so why bother!
  2. Compared to the experience of becoming parents, the experience of being married is like holding a candle to the sun.
  3. The one thing that you will want to do is sit next to the baby and just keep looking at her. Go ahead and do that, it’s amazing … you’ll never notice how time flies by.
  4. And an important thing to remember: Try not to fight with your spouse about who gets to hold the baby more!