August 2011
1 post
2 tags
GSOC 2011: ssc Week 10
Tasks completed this week:
Implemented checkout of an existing appliance from Studio. ssc checkout --appliance-id=APPLIANCE_ID now works.
Integration tests for the appliance, package and repository handlers. (Currently at about 50% test coverage).
Completed the refactoring and migration to the New DirectoryManager module.
Added the build and build_status commands
Schedule for next week:
...
July 2011
2 posts
2 tags
GSOC 2011: ssc Week 9
Tasks completed this week:
Replacing of ArgumentParser with Thor. I’d given a mid-week update about this [1] on the mailing list. Please check there for complete details.
Implementing the general commands (checkout, commit and status). As a direct consequence of using thor for the command line parsing, we get to use the invoke method to call other actions. This made writing these...
2 tags
GSOC 2011: ssc Week 6
Most of the work this week has gone into the File Handler. Adding and removing files in appliances has been implemented although there is a lot of work left to be done to make this robust. Right now its pretty basic. However I’m going to ease up on adding functionality right now to make the app more robust and usable. The mid-term evaluations are coming up and the plan is to have a usable...
June 2011
3 posts
2 tags
GSOC 2011: ssc - Week 4
The DirectoryManager module has been polished and it now handles duplicate entries in the software and repositories files. The app now handles errors better and crashes more gracefully with meaningful error messages. As for functionality, I’ve added package banning and unbanning. Also package importing has been included in the current release.
I’ve started work on the file handling...
2 tags
GSOC 2011: ssc - Week 3
This week I was working on the local storage feature of the client. As proposed we were going to add and remove packages, repositories and files with a git-like workflow. i.e. ssc package add gnuchess would make a local record of the intention to add that package and on ssc commit the changes would actually be pushed.
In order to facilitate this I’m abstracting all the directory management...
3 tags
GSOC 2011: ssc - Week 2
In terms of user functionality, searching for software, templates, appliances and packages has been implemented this week. The actual api calls are performed by handler classes like SSC::Handler::Appliance which exposes public methods like list, show, repositories and installed_software. I’m trying to follow a template that allows any command of the type ssc <class> <action>...
May 2011
1 post
3 tags
GSOC 2011: ssc - Week 1
Introduction:
My proposal for a command-line client for Suse Studio has been accepted for this year’s Google Summer of Code. You can see the full proposal here. In short, the project is pretty self-evident from the title. In case you don’t know what Suse Studio is, its a web service that allows you to design custom ISOs of linux distributions. As you can imagine, designing a custom...
December 2010
1 post
2 tags
Bye Bye NerdTree. Hello CommandT
CommandT is an awesome vim plugin made by Wincent Colaiuta of http://wincent.com . Its been around for a while but I wasn’t able to use it earlier since it requires vim complied with ruby support which the standard Ubuntu vim package lacks. I tried compiling it from source but after a couple of hours of struggling to meet dependencies, I gave it up. Recently, I heard that v1.0 of the plugin...
October 2010
3 posts
3 tags
node.js+ mogodb+ websockets
Now there’s an amazingly buzz-word laden title, if I ever saw one. Anyway, if you, like me, have been hearing more and more about of these terms floating around the interwebs in additions to things like ‘coffee script’, ‘nosql’, ‘event driven programming’, ‘document-oriented databases’ etc. etc. read on for a gentle introduction to new...
2 tags
rxvl: The making of
I’ve been meaning for some time to write my own blogging engine and now that I finally got the time I went for it. It was meant to be a learning excercise so I tried to use tools and libraries that I’d never used before. I ended up chosing Sinatra for the framework to write it in with an SQLite DB and using DataMapper as the ORM. Also, I intended to host it on Heroku. In this...
3 tags
Stuff I learnt writing Rubycious
Day before yesterday, I released my del.icio.us API wrapper gem rubycious. There are a couple of things I learnt while writing it that I’d like to share here. To give you a heads up on what’s inside:
Meta-Programming
class_eval
self.included
method_missing
Documentation with YARD
Publishing a gem
If that’s piqued your curiousity click on through.
Meta-Programming
Before I...
September 2010
2 posts
2 tags
vim tips
vim tips
So, I’ve been using vim for my ruby/rails dev of late and I thought I’d share a few things I picked up along the way. Another tool that I’ve begun relying on heavily is GNU screen. It didn’t make sense to put that in a separate post so I’m going to include some of my screen setup here as well. This is primarily aimed at people who’ve already begun...
4 tags
passenger + apache + NameVirtualHosts
Everyone knows how to setup passenger and apache on a linux box. But if you have multiple apps, its a pain keeping track of all the localhost port numbers that point to each of them. In this article I discuss you can have addresses like myapp.mybox.lan to point ot specific apps. I’ve written this for a linux system but it should work just as well for a Mac. Also, I haven’t tried...
August 2010
1 post
3 tags
Some notes on cron, whenever and rake
I recently had to set up some cron jobs from an app that I was writing. I learned a couple of things so I thought I’d put them here. I’ve covered setting up precisely fortnightly cron jobs, setting up the whenever gem and how I tackled some of the errors that I came up against while trying to set it up.
Fortnightly Jobs
Setting up precisely fortnightly jobs that need to run on...