Cake is yummy!

Its a few weeks since I formally started my career as a web developer and I feel I’ve got lots to say. I started working on a project writing PHP code that mixed with the view, basically a bunch of php files with lots of PHP code and html. It was easy, but it wasn’t great fun. There was indeed a lot of copy and paste and find and replace, but it was hard work to get things done though it was easier to figure out how to do things.

When I started working on a new project, I convinced my boss that we should try moving to a framework and I chose CakePHP for some reason though there was CakePHP, Codeigniter, and Symfony to chose from. Something about CakePHP pulled me towards it. It took a fair bit of experimentation before I was able to convince myself that I could do it (yeah, this was after I convinced my boss).

After about a week into development, I can happily say that it is indeed awesome and yummy. I like the inbuilt helpers and components that helps do a lot of common tasks like access control, pagination, data validation, and others quite easily. But the best part, is baking code. It takes a lot of the boring part out of coding for a web application especially when your entire application is a CMS like system that is somewhat custom made to client requirements. Being the first project I’m doing in CakePHP, I think it might take around 2 weeks for this project, but I’m pretty sure, I can cut down this time to probably a week or less once I get a feel for it.

I’ve got stuck a fair number of times and I’m really glad that most of my google searches lead me back to the Manual and its mostly what I wanted at that time too. In some cases I got stuck and lost for hours at a time, and that was when IRC came to my rescue. There was always someone online who had a good idea about cake, particularly markstory and savant, always willing to help us newbies. I look forward to more adventures and perhaps more frequent posts.

UDS-M Day 5

Phew, finally I get down to writing day 5 overview, a few days after UDS. Generally, I write the previous day’s blog post on the next day. After day 5 though, I had to get work (yeah, on a Saturday). On Friday, I decided to tackle my power trouble by going outside for the hours that I know in advance I won’t have power. Overall, good idea, but they decided to cut power at different times. Sigh.

First thing in the morning was a call with Daniel Holbach to discuss about the Cleansweep Project. Skype kinda gave us trouble and we ended up using Facebook chat in the end to discuss stuff.

Community Roundtable

A round up in the morning of all the community stuff including what we have to go ahead. My memory is faint about what we talked, but I vaguely remember everyone summing up the week and the progress that was made. Also, someone was playing music from Benjamin’s laptop, which included the Titanic song. Fun times 😉

Ubuntu Women Session

A session I didn’t want to miss. This session was very goal oriented from all the other sessions. I liked the mentorship discussion and revival of the whole thing. I’ll probably sign up to be a mentor. I’ve already helped a few friends that I know through UW in other teams like Bug Squad. The idea was not to replace the other mentorship options but to work with the others and to give a list of folks on the UW wiki who can be contacted for particular stuff.

I decided to take a break from the nest session to plan for Operation Cleansweep, a project that I have volunteered to coordinate. I put up wiki pages and came to the realization that we needed more time to get things together. I’d rather have a proper start with documentation everything ready rather than having to wait. I pinged Daniel and we decided to postpone start date to May 24th, 2010.

Lightening Talks

As usual James Tantum rocked us with pictures of slides since most of it were using slides. I forgot a lot of them, but ones that rocked including one by Jonathan from Launchpad team about ‘How to be an evil overlord’ or something to that extent, Popey’s Momubuntu talk, James Westby’s talk about launchpadlib (and yes, try try try until you succeed), a talk from Google Chrome guys about how speed matters, Chris Johnston talked about Classbot, Alan Bell about etherpad (we overloaded the pad 😉 ), and more that I’ve forgotten. I’ll wait for the videos.

Travis Hartwell talked about how he wanted a way to pull the source for all the dependencies of a package with one command instead of typing out many different commands. I was pretty sure sed or awk could do something coupled with apt-cache. My sed foo is pretty low and I asked my good friend Mackenzie Morgan wrote something up for this. Travis, this one’s for you buddy

apt-get source $ (apt-cache depends gwibber | awk '/Depends/{ print $2  }') 

That command would get you all of Gwibber’s dependencies. You can change that package name to get the source of dependencies for any package. This source will be downloaded into the current folder when you’re running it from a terminal. Perhaps someone could make the whole thing more prettier, but hey, this is a start 🙂 Thanks again maco!

Advocate the use of daily builds

One of the projects that Daniel Holbach has been assigned for this cycle. Its been given a high importance and I realize the reason. A daily build means every time you write new code, it will be built for you and a whole lot of folks can test it for you and give you bug reports. Various improvements to LP were discussed including a rollback option among the others.

Ubuntu News Team

Amber is the chief editor of the Ubuntu Weekly Newsletter, so I attended this one hoping it would be interesting and it was! A lot of discussion about unifying teams, etc. There was a thought of doing away with Fridge which I stopped right away. Reminding you folks again, We WANT the Fridge! Well, it wasn’t a serious consideration but a thought someone had. All in all, they made some tough calls, which will happen internally. Also, Fridge is going to be in WordPress soon, so that should help make a lot of things easier. I don’t remember who, I think Joey, will be working with the Design Team for a new theme, etc for the Fridge.

Closing Session

Finally, the UDS comes to a close. Everyone had great fun for a week and did lots of work. Most people were tired and close to burn out (yeah, from all the staying up late in the bar or out partying 😉 ). Seriously, it was tiring. Even from remote, I was burned out. Last 2 days I’ve been so tired. Hopefully I can recharge this week. All the track leads summed up their tracks. Important stuff include Robbie confirming that 10.10.10 could be a release date, pending TB approval. He was talking about how much time each cycle has had and it seemed okay. Jaunty cycle only had 25 weeks, so for 10.10.10, we’ll have only 23 weeks and it seems possible. Scott, talked about btrfs and how it may be the default option for Maverick. Keyword there being ‘may’. Scott blogged about what needs to happen for that. Leann summed up the kernel track decisions. I didn’t understand much of it, so skipping that. Design track, Desktop track, and cloud track also had a small summary which I don’t particular recall. This why I should perhaps write blog posts then and there. Oh yeah, now I remember one decision from desktop, Chromium will be the default browser for the netbook edition. Finally Jono summed up the community track. A huge list of summing up. Most of which I think I’ve already written in the previous posts. He announced Project Cleansweep. Well, he announced it as Project Babu and how it was renamed to Project Cleansweep. Well, I wonder why I even bothered to oppose if he was going to call it Project Cleansweep a.k.a. Project Babu 😀

The final quote from Jono ‘Lets get seriously drunk people.’ He did say he was kidding, but the tone he said it in, was awesome. Marianna arranged for a treasure hunt and she was given a small token of appreciation from the community for all the hard work she did over the week. Finally UDS is over!

Now, time to get to work.

UDS-M Day 4

I’m probably taking the blogging thing too far with 3 back-to-back posts, but whatever. One big reason I missed out on going to this UDS was my passport had expired and I hadn’t renewed. I finally decided, it was time to re-apply and set out to the nearest Bangalore One to get a form.

It took me 1 whole hour and around 20 km of roaming around to find the place. Absolutely no one knew the place when I asked around. Even a policeman I asked gave me wrong directions. Eventually, I ended up doing everything else on my things to do and was on the verge of giving up when I located the place. Turns out, its less than 4 km from my place. Sigh. I circled around for an extra 10 km. Before you talk about Google Maps, yes I tried it out there and it didn’t know what I was talking about.

Overall, Thursday was frustrating in terms of power availability. I kept on getting power cuts and missing sessions. The first half of the day was pathetic. I lost power halfway through the community roundtable and could get back online during the Maverick Governance Changes and Needs session. I can’t believe I missed the BugSquad Roadmap! Again, I lost power halfway through Debian Healthcheck. Sigh. Today, I’ll just go outside to some internet cafe for the first half. I have a call scheduled and after that I’ll just go some place for 4 hours.

Community Roundtable

Another general discussion at the roundtable, I lost a bit of that thanks to the power situation.

Maverick Governance Changes And Needs

This session was very interesting. Though I’m not on any councils, we had a lot of folks from different councils and we were exploring the possibility of working the CIVS system into Launchpad. Jono has a task for that and perhaps we’ll have an awesome voting system by the end of the cycle. Most of the council elections use the CIVS system. We even used the same system for the Beginners Team Council voting.

Debian Healthcheck

This session started with Jorge introducing the good parts and the bad parts. Zack, the DPL, was in the session and he gave some good suggestions on how to go about uploading to Debian. A lot of packages designed for Ubuntu don’t go into Debian and Zack particularly said that they wanted them. He explained how we could upload to experimental and sync from there. We’ve agreed to do this. Personally, I agreed to work on Gwibber in Debian sometime back, I guess its time to actually start working on it. In this case, I had spoken to Ken earlier and he specifically said he was happy to help me. Any delays are my fault and my lack of time. As I said earlier, I lost power halfway through this session.

‘Collaboration with Ubuntu’ Plenary

Stefano Zacchiroli, or Zack, the current DPL, talked about Collaboration with Ubuntu from the Debian point of view for the first plenary. This was the most awesome plenary. Zack totally changed my vision of Debian Developers. There are more than 1000 Debian Developers and he mentioned that though the option against Ubuntu exists, its a corner case. His talk encouraged Ubuntu to collaborate with Debian all the time. Yes, you heard me right. Debian wants us. Uploading to Debian would give all the other distros that fork from Debian a chance to get those packages. He also mentioned that if we have a bug and patch, he wants Debian to get the patch too because DMs and DDs are the people who know the package best. A growing trend that is being noticed is Ubuntu developers being Debian maintainers and Debian developers! Wow, that’s interesting. All in all, it was a very impressive talk and I’m waiting for the videos to be uploaded to watch them. Again, special mention to James Tatum for the pictures. We all love you James!

‘What does this bit do?’ Plenary

James Scott a.k.a. Keybuk talked about the plumbing layer. The past, the present, the future. Yes, it was like sitting in ‘A Christmas Carol’ about the plumbing layer. Some of the stuff flew about my head since I didn’t know much about it. But it was nice listening to it all the same. He explained about upstart and how its planned to be awesome in the coming releases. Can’t write more since I didn’t understand much about it.

In between this session, I was also in the Ubuntu Women Project meeting, so I was only listening in partly.

Crystalizing Project Cleansweep

I’ve agreed to coordinate this project. Project Cleansweep is about cleaning up all the bugs with patches by Maverick release. It needs a lot of work and lot of identity to be successful. Stephan and Daniel Holbach is going to be helping me along with Brian Murray and Jono and everyone else. We want to get a lot of community attention to this project and use the ‘buckets’ that we use in Reviewers Team into coordinating patch review for all the patches in Ubuntu. I’ve arranged for a call with Daniel to discuss the specific actions that we need to be taking. I’ll be posting more updates as time goes on.

I gave up after this. All the roaming around in the morning and the 4 days was too much for me. I switched off IRC, got off the audio feed, and started planning for Project Cleansweep and what needs to be done. I hope to have a productive call with Daniel today.

UDS-M Day 3

Day 3 and I’m starting to feel the strain. I wonder how the folks there are feeling. More drained perhaps?

Community Roundtable

This was the first session that I attended and we were just having a generic discussion mostly. I was writing a blog post during the time, since it was mainly just voicing out the concerns that people have had to Jono. I believe the issue of the Ubuntu mailing list vs launchpad mailing list was discussed, and who to contact for what. Jorge was like, “Oh, I’m supposed to deal with mailing list requests, ok. Thanks for telling me. Never knew.”

Improve Harvest Usability

Daniel Holbach has been working on a new harvest based on a Django back-end. Unfortunately, I lost power in between and missed the last half of this one and the first half of the next one.

Packaging Docs update and initiative

I got power only halfway between the session, but well, I joined in immediately. The action plan from this list is just awesome! Lots of great people volunteering to help revamp all the pages and information. We would really have this awesome set of docs. One actions decided was to put all the stuff into an LP project so that bugs can be filed against them – this is way too cool!

Community Maverick Mootbot

Alan Bell was presenting his Mootbot UK project. I’ve seen this bot being used in UW meetings and its pretty awesome. Alan talked about the efforts he put in (and what part sucked). He’s got a good list of wishlist stuff for him to do. Go Alan!

Plenaries

We didn’t have audio initially for the plenaries unfortunately. Thank you IS Team for looking into it. I only know Chris Jones (Ng) and James Troup (elmo) from IRC, and I’d like to say, you guys rock! We got the audio back after the first 2 plenaries. Alan Bell and James Tatum rocked us with pictures and transcribed the text. Thanks both of you for helping us out. Bruno Maag talked about the new ubuntu font and its development. It was waaay to cool. He was an absolute font geek and I was totally impressed with the presentation he gave. Even better, we had more font geeks asking some super cool questions (I didn’t have a definite idea of what they were talking about in the Q&A time).

Reorganizing and Reviving the Ubuntu Accessibility Team

Penelope has been talking about this for quite some time and I took part in this session because I was guilty of not helping out then. I’ve agreed to redo their wiki pages, since its something I do how to do. I’ve done this from-the-scratch team wiki for the Reviewers Team before, so this should be easy. Charlie has also volunteered to help me. We first started by discussing what we have and then moving to what we want. We’ve agreed that this team can rock, but we just need to help people to find out about this and improve the documentation we have.

Patch Review Process Review

This session was something I’ve been looking forward to. I was pretty sure the docs had some holes and Stephan has volunteered to help me out with the “timing” issue that I’ve been having making clear. I needed an experienced Ubuntu Developer to help me out in this part. Again a bunch of actions assigned to rock the team. Benjamin is going to work on a script to apply the patch and push it onto a PPA, which would be rocking.

Patch Review Initiative

We started by Sense talking about Mergimus and how it can help patch review. Emet and Jono talked about how to bring more people to do this. We eventually decided on a Project Cleansweep to clean up all the bugs with patches by the release of Maverick (they initially wanted to call it Project Babu, thankfully, they renamed.. phew). I look forward to this project. We’ve also decided to work the patch review into the Adopt an Upstream project. I just discovered that I’ve been assigned to lead the activity to clear the backlog and generate identity for team, wow! My display crashed at the end of the session and I had to shutdown. Phew, its getting more draining as the days pass.

All in all, lots of things to do and lots of rocking stuff going to happen this cycle. Remote participation has been awesome so far. Wednesday night was the Ubuntu Women dinner and I’m sad I missed that, but well, I get to participate without any jet lag 😉

UDS-M Day 2

I’m posting updates later and later every day. Right now, I’m in community round table and I’m writing a blog post, sigh, procrastination – how I love thee

Community Roundtable

I ran into some audio issues and power went out half an our into the session, had to step out to an internet cafe and get back into the connection. We also reminded ourselves that people who become Canonical employees don’t automatically become ubuntu members or get upload rights. They still have to go through the same process and don’t have corners cut if they don’t have a proper wiki page.

Ubuntu NGO Team

I’ve heard about this team and it was nice to join in to their sessions. We made a bunch of decisions including having more regular meetings, perhaps once a month. Jonathan came up with an idea about Manifest, he’ll be writing to the mailing list about that stuff. I had this idea about having documentation for NGO to set up Ubuntu on their infrastructure and how to migrate to them. Eventually, Penny and I’ve volunteer to do this action. A bunch of more actions were created and assigned out including creating a Facebook group and exploring a planet for NGOs.

Ubuntu Support and Learning Center

I feel that this idea is great. The Ubuntu Manual team intend to put the information from a wiki into a website. This site would also be translatable.  Now, the Ubuntu Manual Project is a direct competition to the doc team. Martin (I think) brought up the point that the manual team should be collaborating with the doc team instead of competing because there would be a bunch of duplication that doesn’t make sense. So, the action plan is to give the feedback to doc team what made the manual team successful and perhaps integrate that into the ubuntu doc practices

Development Workflow Overview

The second session about the development workflow. This was as productive as the first one. Among the suggestions was a tool to make patch from a file on the system:

make-patch /usr/lib/python2.5/site-packages/foo.py 

So, the proposed tool finds the package that owns the file, grabs the deb, makes a diff of the files installed vs. in the package, and makes a bug/uploads patch against that package. If we have something like it, that would be really cool. Another point was advertising how to get fixes into Ubuntu in Launchpad, a small text showing, “Do you want to fix this bug?” or something to that end.  A lot of the talk was focused on the persona of someone who knows a language and fixes a small bug and wants to get the fix out, but not necessarily interested in ubuntu development.

Diffamation – Plenary

This was a very interesting plenary which I could experience to any extent thanks to James Tatum posting pictures of the slides onto IRC channel. I hope the video team posts videos of this stuff! A lot of the work that Dr. Chevalier presented was using slow animation to display revision changes to code or text. The immediate application I could think of was scanning commits in bzr or git and also looking at wiki edits.

Open Week and Developer Week

Most of the community sessions were very interesting and this was one of them.  I think having folks in the room that you know and know you changes a lot of things. We started with discussing what didn’t work and how we can improve stuff this cycle. Most significant decision was to make Developer Week earlier in the cycle and rename Opportunistic Developer Week to Application Developer Week.

Software Center Roadmap

I was having dinner during listening to this session. It was nice to know what’s coming in the next cycle. The ability to write reviews and have sale of software is very promising.

Review and Planning for Distributed Development

This session was working into thinking what is going wrong with this and who has issues with this processes. A lot corner cases were discussed and it was kind of nice. The best part of UDD is that its easy to get the maverick (or any release) source code.

So, this overview was very late, we’re into half the day 3 and I’m still doing this stuff. If you haven’t looked into the Ubuntu Developer channel on blip.tv, now is the time to do it. New videos are being added daily.