Yuvi Panda

JupyterHub | MyBinder | Kubernetes | Open Culture

DevLog: December 5, 2011

Am migrating to per-day posts now. More granularity + I can fit more info in. The ultimate aim of the DevLog is to keep me on my toes and make sure I don’t relapse into no-productivity hellholes. Daily DevLogs should do a better job at them.

  • Spent some more time trying to get Kiwix to compile under OS X. Macports issue fixed, but more issues persist. It’s one damn complicated build system :| Not to mention that OS X sucks balls. Still no luck.
  • Moved my extension from GPoC to SelectionSifter, as picked by Sumanah (and remembered by Siebrand)
  • Added more content to my ‘How to become a mediawiki hacker‘ page. Outline in shape, needs content. (This is the page I am rewriting)
  • Cleaned up my Mediawiki.org userpage. Added stuff I’m working on there. Archived lots of older pages.
  • Published livetrains to GitHub. As expected Kishore cleaned it up a bit. Have figured out how to do the time modelling (Thanks lifeeth!). Should finish up when I get time



Devlog December 2011

With me back to a place where I can be completely open about what code I am writing (yay!), I think it’s time I restart my devlog :)

Last time, I was using my old blogging engine, and hand-wrote them in a markdown file on my netbook. Things have changed a lot since then, and this time I’ll be directly writing/publishing them daily from WordPress

Dec 4

I finally grokked Indexes in databases. It all makes perfect sense now. Yay! (And this was thanks to being able to read on the Kindle, so yay for that too). Nothing productive done though.

Dec 3

Serious push to get livetrains project out within a few days. GeoJSON output done properly. Moved from OpenLayers to Leaflet.js on geohacker’s suggestion. Don’t regret that a bit. Also, coffeescript is fun!

I got to a point where I’ve got GeoJSON rendering routes. No live animation yet. Spent some time trying to find a easy screenshot saving app, found none. All the ones I found suck. Sigh.

Dec 1 – 2

Kindle arrived. Loading it up with books to read. SICP is good enough on it. Loading up as much as I can find about Hacker Culture/History.  Moved my entire vim setup to vundle. Not bad.



Devlog May 2011

May 25-June 13

Loads of things happened.

Finished/polished up ShortUrl. Pending review. Would go into not just tawiki, but possibly all wmf wikis. YAY!

Moved to a dual monitor setup. Dual 23″ Monitors, one Samsung LED and one Acer LCD. Also moved to 8G of RAM. VMs are much less painful now.

Did a few back/forths with the GSoC extension architecture. It’s still blocking, so working with the non-blocking parts of GSoC now.

Moved to bangalore, atleast temperoarily for now.

Did a tiny bit of work for a friend organizing MP3s with a script. Was fun, operating at that scale. Helped me get back in touch with bash/awk etc.

Rooted/Flashed my Galaxy 3 with a custom ROM. SO MUCH FRIGGIN BETTER, WHY DID I NOT DO THIS BEFORE? The audio is now atleast a few orders of magnitude better.

Moved blog to wordpress. Archived the HiSlain project.

Got my camera. Need to postprocess more. But still :D

May 25

Put in a lot of effort into ShortUrl. Want to finish it up and push it to prod before ‘leaving’. Also learnt a bit more vimfoo. Moved it to svn and got it ready in translatewiki

May 17-24

Nothing positive done. Whatsoever. At all. Exams done, yeah. That’s about it.

May 16

Some TwitterBots work. Increased vim-fu a bit more. Got started on interviewStreet.

Also some work done on new version of ShortURL extension.

May 13-15

Talked out with mentor about components in my GSoC. Got toolserver account. More work on MarathonSin – @ssnbot now runs on it. Moved them all to a server. Increased my vim-fu a bit. Released 2 new versions of yenWikipedia, using a cache to reduce network traffic.

Still not productive enough. The number of Commits I’m doing per day is at an all time low…

May 12-13

Wrote MarathonSin (Declarative Twitter Bots) to keep myself awake. Started on the detailed plans for Mediawiki GSoC.


May 10-11

Nothing got done for last 3 days. Tried resetting sleep cycle twice, failed.

Did some SICP exercises. Whiteboarded components for GSoC. Nothing much. Sigh.

May 9

Reasonably productive day.

Finished PoC. Talked about bringing back ShortUrl Development. Started doing design work for rest of GSoC project. Read up on MySQL a bit more.

The other thing is coming along nicely too.

May 8

Not very productive day again.

Wrote sql for PoC. Read up on the db functions. Looks like I’ll be done with the PoC by monday.

Went on a Star Trek mini-binge. Tapestry was incredibly timely, even more than usual. Ended with me laughing alongside Picard when he gets finally stabbed. I think I made the right decision :)

May 7

Half of PoC is done. Calling it GPoC. Went off to sleep, but couldn’t so came back and worked. Feels good.

Have a basic extension. Figured out that I can’t just grab a preprocessed DOM off any hook. Need to work that out, but since this is just a ‘Proof of Concept’, I can get away with just running preprocess again. Also investigated the Job Queue and the data table update stuff.

Helped out @msnarain with the #goldenrulesofchennai bit. Wrote code to retreive more tweets further back out.

May 6

Need to break free. Not productive much. Got started on PoC. Ran around trying to get myself camera. Failed.

Helped msnarain with some ‘goldenrulesofchennai’ bits. Let’s see how that works out.

Three days of failure in one day.

Ah, took heart after that, sketched out plan for completing PoC. Looks like one – two days work to me now. Let’s see :)

May 5

Again, not much code. Slight work on geekweekend.in. More progress on planning for PoC. Turns out I don’t have much of a chance making it to Israel. Sigh.

Again, not a very productive day.

May 4

Nice productive discussions with rkirti about various issues. Thanks for doing that :)

Started writing design docs for my GSoC Project. Need to codename that.

Unproductive day code wise.

May 3

My Language Wikipedia works on DuckDuckGo standard. Had given up getting it to work, but the DDG guys pinged me on twitter about it and I had to respect that, no?

My pull req for opensearch module was accepted. Yay.

Made geekcalendar.in. Built a very very tiny static generator that generates it. Deployed it. Tried compass/sass, but in the end came back to plain blueprint+CSS.

Got Ubuntu+Unity and Win7+Photoshop+Fireworks to work under Virtualbox. Yay! Fixed hard disk too.

May 2

Started talking to awjr about beginning GSoC work. My prelim work starts tomorrow, with a Proof of Concept.

Started work on making My Language Wikipedia work on DuckDuckGo.com as well.

Also started work on transliterated search for wikipedia. Fundamental ideas are in place.

Made a commit + pull req for opensearch python module, to let it support setting useragent (since wikipedia will 403 you if you don’t identify yourself)

Met vimzard, sujeet, kashyap and others today. Was fun. vimzard has grown taller.

May 1

Made two releases of My Language Wikipedia extension (formerly yenWikipedia). Works in Google Instant, and Options page auto opens now.

Did some brainfuck related language work. Should complete those soon.

Bought a new domain (geekcalendar.in). Should build/launch it soon.

DevLog: April 2011

I’ve started keeping devlogs, recording productive activity every day in an attempt to publicly shame myself into doing productive things. This is the delayed april edition

Apr 30

Impromptu talk at ChennaiPy meet. Then fun discussions at Nerd Dinner. No code, sadly.

Apr 29

Google Instant mostly works on yenWikipedia. Made a release. More exams.

Apr 22 – 28

Nothing much done. Exams and stuff.

Tecoholic forked yenWikipedia and created a Firefox extension. Adding features faster than me. Yay! :)

Apr 21

Started exam mode. Two units in OOAD done. Fixed proto.in.

Apr 20

Long discussions with Kishore about data model for BRi. We’re going with the simpler one. Also, spent a lot of time discussing ideas for his new project with @notnarainan. Was fun!

Scraped entire Pune bus data into neatly structured JSON files and sent ’em to Planemad. Let’s see how that turns out.

Started using SIO. Installed Variables Extension and started on Loop Extensions.

Apr 19

Updated ShortURL to use base64 instead of 36. Helped Kishore start writing tests. Nothing productive much

Apr 18

Removed / private / from LoadBalancer and Title. Patch got through. hexmode believes I’ll not have any problems getting commit access. Nice :)

Met gsathya, genghiz9, stattrav, superkiddo and idlecool at bessie beach today. Was fun.

Apr 17

Not so productive day. Finally applied for commit access after more prodding. Removed one more / private / from Title.php. And that’s about it. Incredibly unproductive day today.

Apr 16

Slept through most of the day. @since calculator turned into a statistics generator, and lead to discussions about removing / private / declarations. I poked around, found a change to $wgLanguageNames that tstarling had made that had broken a few extensions. Went in, fixed them (except one of them, which was so incredibly broken beyond repair). bawolf committed them (YAY!). Unlike the UtfNormal patch, which was second hand, this was my own code so felt good :)

They (Happy-melon and bawolff) also suggested that I apply for commit access, since I seem to ‘not break things too often’ :) Let’s see if I can keep that reputation.

Have work lined up for tomororw – get rid of as many / private / bits as possible.

Woke up, checked/fixed visibility modifiers in 3 more files. My sleep schedule is very messed up.

Apr 15

Meat of code for @since calculator ready. Not many people enthusiastic about it in ###mediawiki though. Sigh. Think I’ll sleep early today.

Apr 14

Chrome extension close to v0.2. Options page now pretty. Learnt some more awk. Slight IRC stats mentioned on ###mediawiki (Reedy came out on top!). Have my own bug to fix now. Might have to resort to awk and grep skills (hope it won’t come down to that though).

Kishore came home. Fun time. Spent lots of time discussing BRiWiki and how it fits into the new architecture. He tried to build out 21H with his ‘Segments’ idea, but (as I had predicted :P) it was rather very complicated. Let’s see how this turns out.

Apr 13

Chrome Extension for adding links to other language wikis works! Took me a while to figure out the entire thing, but finally! Wheee! Have it ‘released’ on Chrome Extensions site. Srikanth paid the one time 5$ fee for me (Thanks:D). Wrote an email to wikimediaindia-l, should wait till tomorrow for response.

Learnt quite a bit about Chrome extensions. Not bad at all. Also started learning awk. Useful tool.

Apr 12

Working on Chrome Extension to add links to other language wikis when english wikipedia link turns up in google results. Reasonably working (with Instant turned off, that is). Need to figure out a few more things and I can get it to ‘run’ and release.

Discussion about Extension:ShortUrl on wikitech-l. Apparently IDs aren’t exactly unique ‘identifiers’ in MediaWiki. Need to find a way around.

Fixed a bug in the MediaWiki API documentation. Yay!

Apr 11

After long winded attempts to fix Extension:ShortUrl’s toolbox functionality ended with me banging my head repeatedly on dead ends, I finally fixed it. The issue was addHTML not doing what I thought it would (add HTML to current position), misunderstanding what die() does (kill output at current location, not output in general) and not asking clear enough questions on ###mediawiki.

Also hit a bug when it wasn’t documented when (version) a particular method was added to a class. While I was able to workaround, might work on a script that adds ‘since’ information to all functions.

Chat with PlaneMad about good things for briwiki. Kishore is doing wonderful work with the recursive RDF export. Should be fun, the days ahead!

Also, fixed audio issues on desktop by moving to PulseAudio.

Apr 10

Slept most of the day. Fixed mwclient issues and made 0.6.5 available from PyPI. Tried installing GNOME 3 again (via jhbuild, released moduleset). Failed miserably again.

Apr 9

Played Cricket with Kishore. I won (HAHAHAHA).

Spent the night there. Packaged mwclient 0.6.5 to fix login bug. Kishore wrote code to import current stage data into briwiki. Yay.

Apr 7-8

Frantic last minute grab to get GSoC proposal done. It still has typos and style issues I didn’t have time to fix :(

Everyone has their GSoC proposal in. Madhu’s went in after a bit of late drama about her application status being set to ‘withdrawn’ in mentor’s dashboard. Intervention by _ke fixed things up, and everyone lived happily ever after :)

Apr 6

Madhu’s patch was accepted :)

Wrote good amount of GSoC proposal. awjr says it’s in good shape. Sumanah suggested I fix more bugs, so on the lookout. Had a skype convo with awjr about the current, twisted manual workflow that I’m going to help automate.

Apr 5

Helped madhu write a patch. Pointed karthik in right direction for sound systems.

Started writing proposal. First long chat with awjr. Helped Kishore a bit with his GSoC proposal.

Apr 4

Helped Madhu with GSoC a bit more. Started working on the wikipedia offline bits. Finally got in touch with awjr.

Apr 3

Speech at GNOME.asia. Best I’ve given so far. Hall of around 100 poeple was full, and people were actually sitting on the damn stairs! I was damn in the zone, and it was quite well receieved. Even the jokes went over well! After the GStreamer talk, I gave a pitch about GSoC. Then there were lots of questions. Fun!

And then hung out with people from #h-i. Super fun :D Then spent a few hours at jace’s place, trying to coax mwclient to work.

Left bangalore and landed in chennai in a bus.

Apr 2

Nothing at all. Developed parts of my presentation for GNOME.asia. Missed first day ‘coz I overslept.

Apr 1

Went to bangalore by unreserved general compartment for GNOME.asia. Fixed up CV on the way – stealing template from lut4rp. Also talked on IRC to apergos from the train – prompting her to tell me to ‘set a Hitman on her’.

Wrote Extension:ShortUrl, my first mediawiki extension. Works, and was well received in the Indian Wikimedia community.

DevLog: Mar 2011

I’ve started keeping devlogs, recording productive activity every day in an attempt to publicly shame myself into doing productive things. This is the delayed march edition

Mar 20 – 31

More contract work for more money.

My dump patch to meidawiki got commited, then blasted during Code Review. This is what I get for trusting other people’s code blindly, especially after 5 years. Lesson learnt. Fixed all issues, and now waiting for a review before commit.

More help for Madhu’s GSoC, on and off. Same for Arun and Karthik.

Decide to give up on dumps (no concrete work found) and pick up wikipedia offline, after post to wikitech-l by the offline guy saying he is looking for people.

Channels #mediawiki and #wikimedia-tech are quite fun, actually. Not bad at all.

Started writing php code. Not that ugh, actually.

Spent 3 days at In50Hrs. Prototyped the CollegeReviews thing I was always dreaming about. Concepts were fleshed out really well. Need to spend more time on this thing.

Mar 15 – 20

Almost got fix to Mediawiki that made dumps 5% faster. Now just need to prove it on a larger scale before it gets accepted.

Did contracting work for some decent money. Feels pretty good.

Started helping madhu with her gsoc. She’s darn smart.

Mar 14

Did bits of resume.

Mar 1-13

Some amount of Mediawiki work – getting it to run, learning how to profile it, profiling the import and export process. Identified a hotspot in the export process (UtfNormal), need to try to get a fix in.

Moved main system from Ubuntu 32 bit to Debian 64 bit. Yay. Tried to jhbuild gnome-shell and failed miserably. Boo.

Started helping other folks with their GSoC. Yay.

DevLog: Feb 2011

I’ve started keeping devlogs, recording everyday productive activity in an attempt to publicly shaming myselfinto doing something productive everyday. This is the delayed february editin

Links: 32HourStartup, PiTiVi, TEDxSSN

Feb 26

Initial work on Busroutes.in wiki import script.

Feb 25

Audio Save Dialog mostly works now.

Feb 23

Started implementing Audio Name dialog box in PiTiVi. Dad fixed laptop – new Ethernet port, and working speakers.

Feb 22

Started doing layouts for WhyKCGRocks.com

Feb 18 – 21

Spent at NIT Trichy. Gave GNOME Talk. Started on briclient. Discussed various models with Kishore (for the wiki). Helped lut4rp compile gstreamer. Started contributing to PyLINQ

Feb 16

Worked on pitivi a bit more. Once recording is done, the track gets inserted into the timeline.

Feb 15

Worked on pitivi a bit. Moved recording inside main pipeline itself. Started #chennai-hackers for people from Chennai who are planning to do GSoC. Madhu, Karthik, Arun, Bala, Feroze on it so far. Fun!

Wrote a simple color changer in gtk that is controlled by the wii. Roll controls hue and pitch controls s and v. Fun!

Feb 9 – Feb 14

TEDxSSN, Banagalore, etc. Nothing got done.

Feb 8

‘Open House Project Day’ demo at college. Showed off gstreamer based video streaming via nn ad-hoc network, then wii+torcs. Fun with gibberwocky :P

Feb 5-6

32HourStartup. Ran around helping people out. Worked with Karthik and Madhu on a PHP/FB app. Fun :)

Feb 3-4

More 32HourStartup stuff. Busroutes.in still down.

Feb 2

Read ~100 pages of the libc manual. Worked on badges for 32HourStartup.

Busroutes.in is down. DNS issue. Out of our control – We’re trying to bring it to our control.

Feb 1

Wrote ‘Functionalish’ C# to be posted in response to the Accumulator in Java thread at fpug-c. Haven’t posted it yet.

DevLog: Jan 2011

I’ve started keeping devlogs, recording everyday ‘productive’ activity I do everyday. Publicly shaming myself into doing something productive every day. Just records for this month, next month on should provide time spent as well. There’s an entry for every day when I’ve touched a computer. I’ll be continuously refining this format, so feedback welcome

Links: 32HourStartup, Busroutes.in Wiki, PiTiVi, Geekweekend

27 Jan

More of nothing productive. 32HourStartup is eating into my dev time.

26 Jan

Nothing productive. Ugh. 32hourstartup website.

25 Jan

Nothing productive. 32hourstartup website finally properly done.

24 Jan

PiTiVi can now record audio into proper temp files, and insert them into the sources list when done. Also have a neat, complicated looking (:() VUMeter integrated.

Worked on the 32hourstartup website. Deployment is a bitch.

Couldn’t sleep. Woke up, fixed site. Fucking slow.

23 Jan

Not much code. Worked on 32 Hour Startup website. Read more clojure books.

22 Jan

Attended Geekweekend. Was fun. I’m now gonna learn myself some clojure. Setup a clojure dev environment. Trying to kill my JVM Biases.

21 Jan

Read more PiTiVi code. Refactored the audiorecord bits off. Registered and put up a landing page on 32hourstartup.com

20 Jan

Did nothing today. Read parts of PiTiVi code. Built up my ohloh profile a bit more. That is it. Sad

19 Jan

Busroutes.in wiki

Nothing major got done. Unable to figure out easy way to start out on chennai (the center and zoom properties don’t seem to work – maybe parser caching?). Need to spend more time on this


Finally settled on a UI that both me and @nekohayo liked (‘inspired’ in no small way by iMovie :P). Should start working on the actual implementation now. Sent first email to the FSF folks with some semblance of ‘work done’. Feels good.

Misc Sysadmin Stuff

Setup server for Mohan.

18 Jan

Busroutes.in Wiki

Got Semantic Forms to work with Map input. Pulled in @kidbees (Bala) who did most of the Train routes entry. Templatized ‘Type’ for host. Need to find easier way to geocode.


Preliminary UI work/discussion with the PiTiVi guys. The dialog box approach didn’t quite work out, so we’re now moving to something more elegant and simplistic. It’s fun working with a responsive community (@nekohayo)

12-17 Jan

Busroutes.in Wiki

http://wiki.busroutes.in is up and running, thanks to AWS Free and @logic’s credit card. Semantic Mediawiki and a few extensions on. Getting to work figuring out all the templates and the extensions that turn SMW into something rather close to a programming language (It has conditionals! And templates can really be thought of as retarded functions). Started adding MRTS data – aim to complete Chennai Suburban Rails too fully and expose that data.

Tamilbeat.com Script

Simple python script that scraped Tamilbeat.com, located all songs for all movies and spat out a shell script that used wget to download them into properly organized folders. The script also used eyeD3 to set artist information on the songs. The script produced was incredibly dirty (no error checking, HUGE fuck you to ‘seperation of code and data’) – but worked wonderfully. Too wonderfully infact – I quickly used up 20G of my 25G allowance per month of usage, and it shows no sign of quitting. Will re run once I cross 25G.

The template output method was neat (template contained in .py file as triple quoted string, jinja2 template). Should rework it to seperate code and data.


Planning on helping out with the port to gtk3. Spent good few hours on 17th setting up a gtk3 env (no jhbuild, uses –prefix and a custom activate script). Maybe I should try and learn how to use jhbuild – but my experience (and that of others in general) seems to be one of pain. Maybe next time I need to setup something custom.

Work that needed to be done, but not done

PiTiVi. I’ll give it more love next week.

The Backup Thingy. I do need to do this. But when?

Personal Domains. Ugh.

Misc. Sysadmin stuff

  • Setup SSN’s Lakshya website on my server (webfaction). I personally found http://ssnlakshya.cloud10.in hilarious ;)
  • Setup PHP for Sriram on pirayalpha. Need to setup wsgi for him. Also gave him ownership of his nginx conf file, so he can actually do edits – but I’ve to be around to restart it. Proved a good decision, as he accidentally left out a } the first time he edited anything and bought the server to a halt. He’s incredibly remarkable for a 12 year old.
  • Tried upgrading my system to Natty. Botched. Main system getting more and more fucked by the day. Fresh install of Maverick, or is it finally time to move to Debian on my main system too?

Till Jan 12th

NEN First Dot work too much to let me do much else.