Archive for the ‘tech’ Category.

Presenting Trelby (and it’s history)

Today we announce Trelby. This post documents how it came about, from my perspective.

The Backstory

Around mid-2011, when I decided to make a film, I went around searching for a simple, free, multiplatform screenwriting software. Note the three adjectives.

As an Ubuntu user, I needed something multiplatform. I did not want to switch my OS just to write a screenplay.

I needed a program that would be fast and easy to use. Hey, I like bells and whistles as much as the next person, but a screenwriter also needs to get out of your way and let you write.

And I’m an free software enthusiast. I like the freedom of being able to tinker with my software, of not having to wait for the BIGCORP, INC overlords to deign my feature request worthy of attention.

The Past

So, I went around on a google hunt. And the software that came the closest? Celtx.

Celtx is pretty good. It is multiplatform. It’s free, and it has a lot of bells and whistles.

It’s good enough that I wrote my first film with it.

But celtx was never simple. It had quirks. It did not look right. It provided limited configurablily of the interface. It called itself open source, but the build-sauce was difficult, and you needed to jump through hoops to work on it. It was tied to the company’s services. PDF functionality wasn’t built into the software! It was on a remote server, so you had to have an internet connection to generate a PDF.. I never understood that! And I could not disable the distracting bottom bar, that always showed the latest news update and things.

And it grew slooowww. Longer screenplays would start crawling. The editor would update in jerks, like you were magically typing words, and not letters. Granted I use a netbook, but a screenwriter is just a text editor! It should not require a supercomputer to run properly.

Being a little disappointed with this option, I searched for others.

There were none. Final Draft seemed to be the “standard” but  it cost  a lot. (And I mean a LOT).

The search did lead me to many tiny little gems. The most memorable one was called Pago. A vim script, that modified vim into a screenwriter. I now had fast and multiplatform. But not simple. Pago only had the (limited) intelligence to format the text to screenplay style, but that was it. However, it had one thing over Celtx – simple offline PDF generation. And I had settled on Pago for my then screenwriting needs.

So I forked a project on Github, and created a Pago repository. And while I was on github.. why not search for “screenwriting”. With the thousands of project on there, perhaps there would be some other Pago like tiny solutions.

And so I discovered Blyte. “Chanced” might be a better word. Talk about hitting gold.

Years ago Osku Salerma had entered the fray of  screenwriting software, creating a very well written piece of free, simple, multiplatform software. But it’s revenue stream did not justify the time spent on it, and it was killed. Thankfully, it was made open. Osku created the github repository, and pushed the code in. This code has since been in hibernation.

Blyte had not show up on my extensive google searches. I suspect it hadn’t in Kent Tessman’s searches either, who grew tired of the incumbent playing field as well, and set out to create Fade In Pro, which is multiplatform and simple, but not free!

The Present

In October, I started working on Blyte. It was written in python! I installed the wxpython libraries, and ran the program, wondering how a five year old codebase would’ve aged.

(beat)

It worked! the colors looked odd, the interface seemed a little clunky, and the ancient widget library did not look great on Ubuntu.

But it ran without issues. And it was good. It had full PDF support (including font embedding). It was lightning fast. It was configurable. It had a tiny little fancy features too.

And the big three-adjective hole in free software was filled. I got in touch with Osku, who had not looked at Blyte in years, but enthusiastically agreed to take up maintaining Blyte’s modern fork: Trelby. (it took a while to settle on a name!)

The Future

Trelby is polished Blyte, with many (many!) additional features, a clean uncluttered interface, ported to the current generation libraries.

In my initial discussions with Osku, here’s what he wrote about Blyte’s dormancy:

The main problem, I suppose, is that the intersection of “people who care about screenwriting programs” and “people who can code” is quite small, so the potential pool of developers is tiny.

I can attest to that statement. With all my frantic searching for a good alternative I ran across very few developers. By and large, screenwriters are Joe Consumers.

But to the people in that tiny intersection: Find a feature lacking in Trelby? Why not join the Trelby team, and help improve it?

Getting OpenChronos building on Ubuntu 11.04

Chronos

The Chronos kit

“.. and how to avoid the pain”

TI was running a deal, and I snagged myself a Chronos ez430. It’s an excellent low power dev. platform, and you can program your watch! How cool is that?

However, my enthusiasm was constantly battling the dismal state of information online on building OpenChronos (a fork of the official Chronos firmware, so you don’t have to use the restrictive and proprietary TI compilers, and stick with good ol’ gcc!).

mspgcc4, not mspgcc

These are two different projects. mspgcc4 is what you use to build OpenChronos. mspgcc will NOT work (unless you port the codebase. Update: done. see below!). mspgcc4 is also deprecated and no longer maintained. There are no official packages on Ubuntu. The source will not build on Ubuntu 11.04. There is no binary tarball (that i could find) anywhere. Long story short.. you really tear your hair trying to figure out a way to get OpenChronos to build.

I reached out to a bunch of folks who have forked OpenChronos on github,to see if any of them are on Ubuntu, and if they could share their compiler set. rdmiller3 responded, and I now have the pleasure of sharing this binary build widely.

Download msp430-gcc-4.4.5_gdb_7.2.tar.bz2 [mirror] for Ubuntu 11.04 -x86.

Building OpenChronos

It’s as simply as grabing the copy from github, make config, and make!

I have some ideas on how I want to change the firmware. I’ll hopefully get time to work on it.

Centralizing the Information

I’ve been considering throwing up a wiki to organize all the information there is on the platform, in one accessible place. If you are a Chronos developer what do you think?

[update] : dobfek successfully got mspgcc4 to build on Ubuntu 11.04, and sent across these instructions.

[update 2] : not 24 hours have passed, and i found out work was afoot to port to mspgcc. I’ve merged these changes into my github fork. Thanks to Angelo Arrifano. You can install the mspgcc package from this repository on Ubuntu 11.04.

[update 3] : All of us OpenChronos devs are rallying around at the google group. It’s the place to get answers or collaborate on Chronos development.The current effort is to make the code structure more modular, so you don’t have to edit a bunch of files to get your app in there. It’s shaping up well!

sshlist – an appindicator/unity replacement for sshmenu

sshlist in action

sshlist in action

[Note: SSHlist has been deprecated,in favor of SSHplus. SSHlist will no longer be developed, but is still made available]

Since moving to Ubuntu Natty, I’ve missed the sshmenu applet a lot.

So I spent an hour to writeup a functionally equivalent appindicator menu. And so sshlist was born.

Using sshlist is simple. From the instructions:

  • Copy file sshlist.py (this file) to /usr/local/bin
  • Edit file .sshlist in home directory to add ssh host (one per line)
  • You can if you wish add additional ssh options. The line is appended to the ssh command
  • Launch sshlist.py
  • Or better yet, add it to gnome startup programs list so it’s run on login.

Of course, much of that could be automated, patched and/or packaged. For now simply head to the repository, click on “sshlist.py” and grab the raw file, and follow the above instructions.

Patches welcome.

Update: Benjamin Heil extended sshlish for simplestarter, which allows launch of multiple applications with various arguments. It might suit your needs.

Update 2: SSHplus is better! This version will no longer be maintained.

My experience with Ubuntu Natty so far

In two words: Pretty good!

Continuing the series on customizing and reviewing Ubuntu releases (Lucid here, Maverick here), below are my random thoughts on the latest release.

  • All the vertical space saved by default! The various hacks you needed to pull (mentioned in previous articles) to get more vertical space on netbook are no longer needed. And the dedicated effort towards it shows.
  • Menu bar, Titlebar, and panel have been combined to one. The menubar/title bar changes on hovering in the panel.
  • Try to treat this setup as normal gnome desktop, with docky on the left side, and you’ll feel right at home. Because that is exactly what Unity is. Having used it for a week or so, I dont see what the big brouhaha was about the move from Gnome 2 classic desktop to Unity. It is not a revolution, just simple evolution. And it looks good.
  • This release continues the Canonical/Mark Shuttleworth push to focus on polish. The font is looking more integrated than ever.
  • You do need to set a g-conf value to have classical taskbar status icons. You’ll almost always require this if you want to use anything from gnote to audacious to others that have not yet implemented app-indicator support. The command you need to run in terminal is:
  • gsettings set com.canonical.Unity.Panel systray-whitelist “['all']“
  • Chrome seems noticeably faster than firefox on my netbook. Of course, the 15 different addons I have installed might have something to do with that.
  • Reduce the font size by 2 points to get more on the screen. The values in my Appearance Preferences > Fonts read 8.5, 8.5, 8.5, 9, 8.5
  • Start following OMG!Ubuntu. It’s the best Ubuntu blog around now. By some margin.

There are tiny bugs in Unity, but none that come in the way of a power user working on the setup. I recommend an upgrade to this release for all, specially on your non-tech uncle’s PC.

E-governance sites and bad web design, and how-to setup E-Mudhra/e2gov on windows 7

So local Indian laws requires tenders to be filed online. This required buying a 3000Rs (!!), about 60$ USB dongle that has a “Class 3 Platinum” certificate signed by the CA E-Mudhra. There’s zero documentation online on setting it up, and sites that process tenders work on “IE6 or IE7 only”. They do not work with Windows 7/IE8 by default. Below are the steps on how-to get things working on Windows 7, followed by a rant.

Setting up E-Mudhra on Windows 7/ IE 8

  • Pop in the CD that came with the dongle and install the driver. Skip the other reader and download manager crapware.
  • Once installed (and rebooted if you wish), plug in the USB. Windows will ask you if you want to add the root CA E-Mudhra. Answer yes.
  • Now to setup IE8 to behave well with the tender sites. Note this will render IE8 highly insecure. Once you make the below changes, use IE8 only for tenders. For all other internet activities use Google Chrome or Mozilla Firefox.
  • The tender sites require full ActiveX control to work correctly. Do the below to setup IE8 to behave like earlier versions.
  • Goto Internet options in IE8, and set compatibility mode to on. Next click under security, and choose the lowest level (which is Medium). Click on “Advanced”, and enable all the disabled ActiveX features. You will note that these new options are labelled “Insecure” and will turn red when you choose them.
  • Save, Reboot. You will have done all the things correctly if you are not presented with any “ActiveX popup warnings” when browsing a site, i.e, all ActiveX requires are accepted by default.

Rant

Why the hell do the Indian government website designers choose the most lax practices of the lot. They need to be strung up and given a lesson on webdesign after the year 2003. Jesus fusking christ.

And what’s behind the REQUIREMENT to use e2gov.in for digital certificates. There’s free ones, or others with a nominal fee available. One which don’t bloddy require you to add a FRIGGING ROOT CERTIFICATE to your machine.

And activeX?!!!@!!!!!! Microsoft has basically disavowed it. And I counted 2-3 different controls that are loaded. May I introduce you to much more modern alternatives, like perhaps a reasonable java applet, or even better, a native app? Or just don’t require a login process that requires a friggin digital certificate. There’s simpler way of digital identity that what’s currently setup. Like squishing out the fluid from my eyeballs and mailing it out to you.

FUCK!

Criminals and harbingers of future

In Schneier’s latest post talking about the Johannesburg SIM card theft

These crimes are a harbinger of the future: evolutionary pressure on our society, if you will. Criminals are often referred to as social parasites, but they are an early warning system of societal changes. Unfettered by laws or moral restrictions, they can be the first to respond to changes that the rest of society will be slower to pick up on.

Very interesting thought. Turns more interesting when applied to all of the scams being uncovered locally (3G, Satyam, etc).

***

This would be a good time to recommend the Pragati Magazine. If you look at upcoming magazine startups and think-tanks locally, Pragati is perhaps the most promising one. It has a very knowledgeable editorial team, with focus on issues from a national interest viewpoint. I love the free-trade outlook that is normally taken, something I believe is needed for higher levels of local prosperity, and general happiness.

You can read articles online, download the magazine as a PDF, or subscribe for the dead-tree version. I got my first copy via mail today.

***

Anyone aware of sociology institutions in Bangalore? I’ve had a growing interest on this topic.

Glance: Better word lookup

Glance is an offline dictionary lookup utility written with the intent to make looking up words quick, and as intuitive as possible to your work on the computer or internet.

Why

When on Windows, I was a big fan of WordWeb, which is a nifty dictionary utility, that sat in the taskbar, and made it simple to lookup words by selecting, and hitting a keyboard shortcut. The closest equivalent on Ubuntu is gnome-dictionary, but it lacks the ability to lookup selected words. By default it is configured to look things up online, so you were out of a dictionary when not connected. You also can’t make anything beyond simple exact-match calls (until you figure out what the heck strategies are, and how to use them).

So I wrote glance to fill my specific needs. They weren’t many.

  • Lookup a word by simply selecting it in browser/text-editor/ebook reader and hitting a key (like F7.. who uses that anyway?)
  • Search for prefix/suffixed words with *. Ex: *arch, matri*, *morph*.
  • Provide definition of the word, etymology (along with meaning of the root words), Similar words, usage, etc (These depend on the dictionaries installed)

Setup

These instructions are for Ubuntu (and should work on Debian). Install equivalent packages on other distributions.

First install dependencies, and local dictionary via

apt-get install python-gtk2 xsel
apt-get install dictd dict dict-wn dict-gcide

This installs the Wordnet and the Comprehensive English dictionary. You can also install:

dict-moby-thesaurus – Largest and most comprehensive thesaurus
dict-jargon – Jargon definitions
dict-foldoc – FOLDOC dictionary database
dict-vera – Dictionary of computer related acronyms
dict-bouvier – John Bouvier’s Law Dictionary for the USA
dict-devil – A satirical, cynical and irreverent dictionary of common words
dict-gazetteer – Place names, population and location provided by the U.S. Census Bureau

There are multiple language A to B dictionaries available as well. To see all available dictionaries, run:

apt-cache search dict | grep ^dict

glance is a single file utility. Copy the file to /usr/local/bin

sudo cp glance /usr/local/bin

Setup keyboard shortcut F7 (or other), Add a custom shortcut for glance. Do this by running gnome-keyboard-properties.

All done. Select a word and press F7 anytime to view in all it’s defined glory.

Where

You can grab the utility from https://bitbucket.org/anilg/misc/src. Click on glance, and grab the raw file.

Screenshot

And we end with an obligatory screenshot.

Glance

Glance Screenshot

Simple, no-frills look. Just the way I like it. Hope others out there like it too.

[Update]

So looks like google-fu failed me initially, and I missed out on multiple good dictionary lookup choices, that did many of the things I was looking for. Special mentions goto Artha, Stardict and qstardict. There’s things to like about all of these, but my favorite is still Glance (biased much, eh?).

Having used Glance incessantly over the past week, I simply love the no frills look of it. It pops up, and there isnt much to do apart from scrolling up or down. No tabs separating definition, similar words, etc, no menu items. All information is presented upfront.

Also I like to to be dependent on system packages (rather than extracting pre-archived packages ala Stardict, though this makes it hard to port). Glance being tiny does help too.

A couple of updates that I’d like to implement would be syntax highlighting the definition to make it easier on the eyes (patches welcome). Glance will never have any cluster of tabs or menu items or screens. All the information will be presented in the one scrollable page. Another quick feature would be to automatically add a shortcut, and install itself into /usr/local/bin, with a confirmation from the user. Just need to figure out pygtk interface to desktop shortcuts.

Kudos Notion Ink team

For a long time I’ve bemoaned to friends the lack of any kind of product vision coming from the Indian subcontinent. The developing economy coupled with English-speaking engineering populace made for a prime target for outsourcing, which meant easy (and mundane) jobs for fresh graduates- the lifeblood of new enterprises.

Which is why it is heartening to see the frenzy around Notion Ink Adam! Go on, head over to the notionink blog, and read the comments on the posts. When was the last time you read such excited discussions, and saw folks waiting for a product. The Ipad perhaps.

Rohan’s posts on the blog are raw, from the heart.. I suspect Woznaik would have blogged like this when he built the first Apple computers. There was a short time at the beginning of the year when Notion ink seemed to have gone the way of so many exciting new products, into the hole of vaporware country, but it was simply the NI team working in the background to build something special. They seem to have discarded the default Android launcher, and built something more tablet friendly.

Still not excited? The Adam will have the following words engraved: “Created with Love by Notion Ink”. When was the last time you saw anything say that.

Well done, NI team!

Ubuntu and Asus EEEpc: Optimizing your netbook experience

Asus EEE PC

Asus EEE

I recently became the owner of an Asus 1005HA netbook. It’s a nice lightweight little machine, that runs spiffy, and looks good.

It came installed with Windows XP by default, and I replaced that with Ubuntu Netbook Remix. Well (EasyPeasy, actually.. but it’s just UNR + some additional apps). Below are various mods I made to make the netbook interface much better, and more useful.

  • The gnome-panel in the Netbook interface is locked.. so you cannot add additional items, nor remove unnecessary ones. To fix this follow the instructions on this page.
  • The applet I wanted to add was sshmenu. As a lot of my work is on multiple remote machines, this applet is a must have. apt-get install sshmenu-gnome should install this applet.
  • A Thinkpad T61 being my other machine, I missed the dedicated middle-click a lot on the Eee. Follow the instructions here to map the useless menu button to middle click (Need to add a script to startup applications).
  • Multitouch. Though the Eee has a multitouch capable touchpad, it is not enabled by default. Just append the following to the startup script you wrote in the previous step:

# Now setup multitouch
sleep 2
xinput set-int-prop “SynPS/2 Synaptics TouchPad” “Two-Finger Scrolling” 8 1
xinput set-int-prop “SynPS/2 Synaptics TouchPad” “Synaptics Two-Finger Scrolling” 8 1 1
xinput set-int-prop “SynPS/2 Synaptics TouchPad” “Synaptics Two-Finger Pressure” 32 10
xinput set-int-prop “SynPS/2 Synaptics TouchPad” “Synaptics Two-Finger Width” 32 8

  • Install sshfs, and pysshfs for remote access to filesystems.
  • Uninstall Tomboy notes. Install Gnotes.. much faster.
  • Mic wont work with Skype. There’s 2 mics on the Eee.. and apparently the fix is to zero volume on one. This and this post helped me get it working.
  • Grab the Lucida/Mac fonts from the net and set your Appearance settings to use these at Size 9. Looks good.
  • Install games for when you have a few minutes to kill. I setup some online multiplayer games like Frozen-bubble, Teeworlds, Gtetrinet. There’s a whole bunch of games out there.
  • Install Pidgin, tsclient, vnc if you are an IRC user, and work remotely.
  • Firefox default eats up some screen estate. Install the addons AutoHideStatusbar, AdBlock Plus, Hide Menubar, Download StatusBar. These will free up space. Also get rid of the bookmarks bar (View > Toolbars > Uncheck Bookmarks)
  • Install gnome-do. All your actions are now Win + Spacebar away. (apt-get install gnome-do)
  • Install Audacious as the music player : apt-get install audacious.
  • Install VLC and mplayer from Medibuntu.
  • Disable unnecessary items from Preferences > Startup applications. In my case these were Bluetooth, Check for New Hardware, Ubuntu One, Update Notifier, Visual Assistance.

With these changes, your netbook is a meaner, more efficient version of itself. If there’s some other things you’ve done to customize your Eee, leave a comment.

An important milestone in space travel

Falcon 9 Maiden launch

Falcon 9 Maiden launch

About a couple years ago, in an argument on space and science, I took the position that the government should invest more in science, and space travel. I lost the debate.. the government has no business using public funds for endeavours like these, and that it’s only true calling should be maintaining liberty. Everything else would follow.

I’ve since watched the evolution of SpaceX, through it’s many failures, rallied on by  it’s gritty founder and chief Elon Musk.

“We’re not going to cut and run if we have a few issues. We’re not going to cut and run if we have a lot of issues. We’re going to see this through.”

Elon’s been called “a Renaissance man in an era that needs them.”. Read a very-well written profile of him at GQ.

Yesterday, SpaceX successfully launched it’s indigenously built Falcon 9 into orbit.

Congratulations, Elon Musk. Many more successes to you.