Older blog entries for gilbertt (starting at number 8)

Skip this longwindedness

Productive Weekend
Got lots done this weekend. Mostly hacking feh, but also working on a video4linux webcam snapper/uploader which I'll release in the next week or so.

I've had my webcam for a week now, and it's pretty fun. However, I scared myself yesterday. I have abour 300Mb of archived webcam snaps from the last week, so I used feh (with -D0) to play them all back - movie style. Feh renders *fast*, so I got around 20fps doing this. My cam takes snaps about every 15 seconds, so I watched 4 days of my life in about 10 minutes. Fear. It was quite surreal. Talk about timelapse photography ;)

So what did I learn from doing this?

  • I have bad posture (really bad).
  • I smoke far too much.
  • I drink way too much coke/dr pepper.
  • I don't go out much...
  • I fidget like a good 'un ;)
  • There is never a good time to scratch your nuts ;)

So feh got lots of updates this weekend. On Saturday night, three of us (pabs, richlowe and I) got together on IRC and spent around 9 hours hacking on feh together :-) Things that got added:

  • Menus can now sport a background image. (me) The default one is spiffy (pabs), and a number of alternatives install with feh. My fave is feh -t britney. I wonder who can guess what that does?
  • Options to swap around what the mouse buttons do. (pabs)
  • Feh will automatically create a ~/.fehrc if one doesn't exist.
  • The current image can be set as your wm background (richlowe, me). Uses E IPC if available or falls back to X calls.
  • Fixed zooming (me) (it's sweet now).
  • Arbitrary image rotation (pabs, me). This is gorgeous and works alongside zooming and panning.

So lots of hacking was done. I am dead chuffed with the progress made this weekend :) This is all only in CVS feh right now btw.

Linuxbrit is having some hosting issues right now. I have found a new home for it, and we're currently doing the DNS dance. Thanks to everyone who rallied round when the problems started :)

Plans for this week? I think I'll make a new feh release. This'll be 0.9.2 - we're coming close to 1.0 and I'm happy with how things are going. Perhaps one day raster will release imlib2 and the thing will get more mainstream ;) Then I think I'll tidy up this webcam snapper, think of a name for it, write some docs and release that too. That should do it I think ...

Peace.

Hey folks.

First, a quick welcome to pabs. Good to see ya. However, your arrival did point out a deficiency of the advogato certification system. Try as I might, I can't seem to find the "bitch" certification option ;-)

So this weekend I bought a webcam. I was surprised how easy it was to get working in Linux, USB and all :-)

I picked up the 2.3.x USB backport, applied the patch to my 2.2.14 tree, and was away. Awesome.

I found a few snapper/uploader progs out there, and they all sucked, so I pinched the source to the "webcam" app that comes with xawtv and hacked it up real nice ;-) I'm contemplating releasing it. I think it's GPL...

Made a fairly obvious optimisation to feh. Only rendering the current viewport is the logical thing to do... Can't believe I didn't do it before ;-)

You know what makes Sundays depressing? Mondays.

Tired.

Found and fixed silly little pixmap bug in feh which has been driving me nutso :-)

Talking about nutso, I've been learning perl. Now, I have to say I'm finding it very useful. It's a nice quick-solution tool. But: coming from C, I find there to be far too much magic in perl.

Not too much in that it degrades the language, but because it means you have to learn every single special combination of characters to get stuff done. The thing I love about C is that the basic language definition can be sketched out in a few paragraphs, because it's syntactically pretty simple. (People often use the word terse).

That said, I'm sticking with it, 'cos it rocks for getting stuff done fast. I'll just have to learn all the magic won't I? =P

Hehe. Scare quotes. I can do those too :-)

So tonight, I will be mostly "testing" feh on a wide variety of "test images".

Did I get it right? ;-)

Tomorrow off work. Coolness

On yesterday I discovered WML (website meta language), thought it look cool and spent the day learning it. I then rewrote LinuxBrit in it. I even put the WML source of the site online here. I'm happy, it lets me do lots of stuff with great ease which was a real pain before :-)

Consequently I spent most of today fiddling with WML, learning perl (WML includes an ePerl filter-pass) and twiddling with my site.

Did some hacking on feh and managed to break things massively. It's all for the best though. Sometimes you have to break stuff to properly fix it =)

Tomorrow is stop-fiddling-with-website-and-get-some-code-written day. I finally got fed-up with imlib2's singelton context api today (too many oppurtunities for subtle bugs, too much inefficiency swapping things around). So tomorrow I'm either gonna fix it, or write a wrapper. Should be fun ;-)

Yay! Day off work :-)

Daytime TV sucks, so it's a good job I have a million and one coding tasks to do...

I found that feh bug that was annoying me. Turns out I'd got carried away optimising stuff and had removed stuff I actually needed. Typical :-)

I also made a big speedup by rewriting the checkerboard drawing code. I'm far happier with it now, and it made zooming much faster. Which is nice.

I hacked the option to configure the default image thumbnail size into efm last night. Just a temporary hack, until I make that whole directory scanner more configurable and cool ;-)

GNOME 1.2
So well done to the GNOME crew for getting 1.2 out. Nicely done. However, releases are always painful things for large shared projects, and I did see a couple of things go badly:

The "Helix GNOME 1.2" debacle
A lot of GNOME hackers are a bit miffed about this, and rightly so. All it would have taken to prevent it was a change of wording in the press release and on the website. We must remember how easy it is for hackers to resent for-profit organisations. (The "he gets paid to do what I do for free. It's not fair" mentality). Accrediting the work of hundreds of hackers around the world to one company is not terribly tactful, even when you do it by mistake.

The SlashDot fiasco.
Now I can tell you exactly who's fault this was :-) It's not SlashDot, because we all know that SlashDot sucks ;-). So, the fault lies entirely with the person (I won't name him) who sent an email to SlashDot saying:

We're releasing GNOME 1.2 tomorrow. SShhhhhhhhhh. Don't tell anyone yet!

That's just silly. You don't tell SlashDot until you're ready. No way. You really expect them to hold off the announcement for you? Ha! And how do you expect to rsync your mirrors whilst suffering the full force of the SlashDot effect?

So there are lessons to be learnt about communicating with and handling other people. No problem, we live and learn. Of course, the best news is that on a technical and quality level, GNOME 1.2 is the best release ever.

Someone should also mention the docs team at this point, as it was their thankless task to document thousands and thousands of lines of other peoples code. Not a trivial task, and they have done an awesome job. Hell, they even documented my applet for me 'cos I was too slow to do it myself. People like this who work thanklessly in the background deserve special mention, I think. Most of their names are here. Great job hackers.

Hehe. I love hacking.

I optimised feh's event loop by swapping out the huge switch with a table of pointers to functions. I was happy, for 5 minutes. Then I found a bug. I have no idea where it came from but now I know I won't sleep until it's fixed. Fun ;-)

Hi mazeone! What's this SPITE app then? Stick it in CVS so I can play ;-)

*Off bug hunting*

Wow. What a day. Worked from 7am until 7pm. Spent the evening moving linuxbrit to a *slightly* better hosting situation (still sub-optimal but useable right now). Connectivity in the UK sucks ;-)

It's now 11:30pm and I haven't gotten any hacking done tonight. I am most upset, as I have a ton of stuff I wanna do :)

Well, at least my site is stable for now. Maybe tomorrow I can get some hacking done. My current TODO:

  • Un-hackify the eye-candy in feh's about box
  • Fix the the .spec file, update debian rules/changelog
  • Rewrite the zooming code
  • Hack on the imlib2 scripted filters
  • Check my GNOME applet is still alive before the 1.2 freeze
  • Catch up with folk on IRC
  • Maybe sleep, at some point (low priority)
  • Find a new girlfriend (even lower ;-)
See you on the flip side.

Hey. First entry. Check linuxbrit to catch up :-)

Feh is coming along pretty nicely. Sunday's are slow, so I added some gratuitous eye-candy to the about dialog today :-) I also found an easy rendering speed-up I'd missed previously. Cool.

The new filter-scripting code in imlib2 is very useable. I have some ideas and am itching to hack on it, probably next week. I'll let Boris get nicely synced with cvs first...

Work should be fun on Monday... I have a meeting with a company director about my project ;-) Eeek!

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!