Bulk uploading pictures to Picasa on Linux

I was looking for a FOSS tool to upload my recent trip pics to my picasa account and came across picasup. It's a perfect tool if you're the kind who likes to use the terminal and keep the mouse out of the way. All you have to do is this:

  1. Put all the pictures you want to upload into a directory
  2. Name the directory appropriately; that will become your new album name
  3. Fire up picasup with the picup command while in the album directory and give your creds and other information.

This beats the FireUploader addon for Firefox any day for me since I don't have to waste time clicking on things and generally cursing the javascript/xul slowness.


git branching awesomeness

Branching in cvs was always a bit of a black art to me. I always had to plan in advance, think twice and generally breathe heavily before I attempted to create a branch. The workflow would be

  • Check out a fresh copy of the code
  • cvs tag -b mybranch

And then continue using that copy for your branch-specific changes. So the tag was the branch... or something like that. Anyway, you maintain a different tree for your HEAD too and will have to generally go through a lot of pain to merge patches from HEAD to branch or vice versa.

Now here's how you branch in git:

git branch mybranch

Yes, that is it. You have created a branch. Congratulations! Oh ok, you want to work on it?

git checkout mybranch

Do your foo and generally have fun with that branch. Oops, look! A patch that needs to go into HEAD:

git checkout master

And go ahead and apply your patch into HEAD. Time to push all the stuff into your public repository?

git push --all

And watch everything, including your branch changes get pushed seamlessly.

I'll say it again, this is one tool that seriously fits me like a glove. Simply awesome! The one thing left is now the merge back of the branches. I won't get there for another few weeks I guess, but from the docs, it seems as simple as:

git merge mybranch

Sweet!

Update

I just did a merge now to see what git can do. I made some changes in master and decided to merge those changes into my new xmpp branch just for kicks. I have to admit that the merge did not have any conflicts, but here's how it went:

[siddhesh@spoyarek ayttm]$ git checkout xmpp
Switched to branch 'xmpp'
[siddhesh@spoyarek ayttm]$ git merge master
Merge made by recursive.
 libproxy/proxy.c                         |   41 ++++++++----------------------
 modules/aim-oscar/aim-oscar.c            |    7 +---
 modules/aycryption/select-keys.c         |    2 +-
 modules/importers/import_gnomeicu.c      |    1 -
 modules/importers/importicq.c            |    4 +--
 modules/importers/importlicq.c           |    1 -
 modules/irc/irc.c                        |   12 ++++----
 modules/irc/libirc/irc_message.c         |    4 +-
 modules/irc/libirc/libirc.c              |   10 +++---
 modules/irc/libirc/libirc.h              |    2 -
 modules/utility/autotrans.c              |    4 +-
 modules/utility/rainbow.c                |    4 +-
 modules/yahoo2/libyahoo2/libyahoo2.c     |    4 +--
 modules/yahoo2/libyahoo2/yahoo_httplib.c |    2 +-
 modules/yahoo2/yahoo.c                   |   16 +----------
 src/add_contact_window.c                 |    6 +++-
 src/edit_local_accounts.c                |    4 +-
 src/file_select.c                        |    1 -
 src/main.c                               |    4 +--
 src/message_parse.c                      |    3 --
 src/service.c                            |    2 +-
 src/smileys.c                            |    2 +-
 src/smileys.h                            |   12 ++++----
 src/sound.c                              |    6 +++-
 src/speech.c                             |    2 +-
 src/status.c                             |    5 ---
 src/trigger.c                            |    3 --
 27 files changed, 56 insertions(+), 108 deletions(-)

Yes, that is all! Here are the results of the merge. And here is the master branch


Ayttm 0.6.1 — The work starts now

Just did an ayttm release. This is to lay groundwork for xmpp rewrite, which Piotr will be doing after I lay down the framework. The idea is to make a clean and light xmpp framework and then have even lighter plugins on top of it for gtalk, jabber, etc. Usability and extensibility FTW!


Ayttm Workout proposal at FOSS.in/2009

I just submitted an ayttm workout proposal for FOSS.IN/2009. Hopefully it will get accepted this time and we get some real work done. I want to get a 0.6.1 and 0.6.2 out before the event begins so that there is a nice clean base for people to work on.

I hope the workout gets accepted.

I hope we get worthwhile contributions.

I hope they have the cold caffeine too this time :D

Free food ftw!


Who the hell invented the blink tag?

Look what your invention has done to the interweb :(


Getting a little loud

Me and me missus settled down to watch a movie (300) yesterday only to realize that the volume of the movie was considerably low. All controls on alsa mixer were jacked up to full and it wasn't related to any of the default volume level bugs; I had done an alsamixer -c0 to jack up the volume levels. I have only one audio card.

I searched on the interwebs for a software mixer program that could give me something a little more audible, no matter even if it was slightly screechy. I found nothing worthwhile and was about to give up. Then on a whim I opened up the movie on mplayer instead of the default totem (I rarely need to do that I must say) and started looking at what I could jack up there. Lo and behold, there was a slider in Preferences > Audio tab called Stereo boost (or something like that; it's on the other laptop and I'm too lazy to look it up now), which worked for me. I turned it all the way up and was finally able to understand the dialogue. It's a different thing that the movie turned out to be mostly about people cutting up other people (of course, that was fun too ;) ) so my efforts were worthwhile only for the first few minutes of the movie.

That said, this does not work for all kinds of movies since it seems to turn up the volume only on a specific channel. Due to this, on another movie, the dialogue was drowned out by traffic noise due to this stereo boost being jacked all the way up. Anyway, the point of the post was to say that there is in fact a way to (sort of) amplify sound in software.

Also, it looks like alsa does not quite seem to give the same kind of output that the audio subsystem on windows would give. Maybe this is specific only to certain types of cards.


git FTW!

I started using git with ayttm only a week ago and I'm loving it already. I love the fact that I can commit multiple fixes to my repository and then push them out all together with a single command. Everything remains well sorted out without me having to break my flow to commit changes into the central repository. It's either that or committing a huge chunk of code, and I would regularly choose the latter.

The central repository on SF was a bit difficult to set up especially since it was my first time with git and there was a lot I needed to learn about the system. Add to it the pain of migrating the cvs repository contents to git. But once I figured out the stuff, it all seemed to fit in so beautifully. I know I've only scratched the surface of its power but it just feels good to use. Few programs have given me this wow! feeling since some time now. I guess it's all about individual preference though.


Moving Ayttm to git

I am importing the ayttm cvs repository to git as I write this. This was something I had thought of earlier, but never had any motivation to do so since things just worked without it anyway. It was Kushal who made the suggestion to me, saying that it would be easier for the Fedora guys to keep in sync with development upstream. I take it from this that the Fedora community will contribute some code to ayttm in the future, which I will be able to pull in easily in the future.


Size does matter

The packages we released for ayttm 0.6.0 were around 1.52 MB with bzip2 compression. The guys at puppy Linux built ayttm optimized for size and they were able to reduce the package size to half with it! Here's the forum post for those interested.


The journey so far, and ahead

The last six months have been quite big for ayttm, and for me too. We did on last Friday, what was probably our biggest release in ayttm. Well, it's a bit subjective I guess, because I felt that way even when I did the gtk2 port release. And the IRC release. But this one was really big. Check out the release notes and you'll know. When asked about ayttm a few months ago, I had said to Sankarshan that I would be done with yahoo and msn support by next year. I'm really happy that we've managed to get it done way before time. There is yet another goal I had mentioned to him then — making ayttm stable.

We're still not as stable as we'd like to be. There was one completely random crash that Minto (package maintainer for Fedora) came across and showed me at work today. We were not able to reproduce it the second time. We need to iron out these things. My next focus is going to be the chat window/room stuff. The code is almost completely duplicated, so I'm going to make something uniform out of it, focussing more on separating the UI from the core. This will hopefully result in much cleaner code.

Once this is done, the ugly xpm smileys will have to go. I'm thinking of using a subset of the protocol smileys instead, especially the PNGs on the website. The website needs a lot of updating too. Kartik has volunteered to do the online manual and the new screenshots when he has time, so that should be done pretty soon.

There are a few people at work who are wondering if we would do voice support. Maybe.


Comments are closed.