Slash Boxes
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

Journal of nicholas (3034)

Wednesday December 09, 2009
04:30 PM

rotating MPEGs

Dear lazyweb...

What's the best way to rotate an MPEG movie through 90˚?

My understanding is that JPEGs can be rotated through 90˚ losslessly, so I assume that this can be done losslessly for MPEGs too, and I hope with a command-line tool.

Tuesday December 08, 2009
08:47 AM

The carbon footprint of code

At lpw2009 miyagawa gave a(n award winning) talk about Plack.

During it, he commented "while I was on the plane from San Francisco to Japan I hacked on ...", and then "while I was on the plane here I hacked on ...", and I wondered what is the carbon footprint of miyagawa's modules?

This seemed rather an unfair question to ask in public, but when I told it to him later in the pub* he laughed. However the full question is slightly longer:

What is the carbon cost of the modules' creation? What is the carbon saving from reduced dev time and reduced server load from using the modules? When is the cross over point?

And, I guess, a more general abstract question - is jetting off to all these conferences we like to go to cost effective? Do we save more from what we learn than we pay to get there?

* Thanks to Shadowcat, antibodyMX and Venda for sponsoring the food and beer. I hope they decide to do it again next year

Friday November 27, 2009
06:36 AM

Sun reinvented Zimki and it still failed

I'm a bit slow on reporting this one, but no-one seems to have made the connection...

In 2005ish, Fotango started developing something that "evolved" into Zimki, a hosted "Software As A Service" offering, allowing you to write applications in server-side Javascript. The plan (or at least, one iteration of the plan) was to trial it as "free", but later on charge for it (or at least, above a low "free" threshold). It never seemed to get that many actual users, and folded when Canon Europe folded Fotango.

Of course, nothing is left online describing it, other than a O'Reilly radar post.

So, it seems, Sun re-invented the concept, and called it Zembly. It seems to be incredibly similar - SaaS, browser-based, server side JavaScript, scaling catered for, two syllable name starting with Z. Curiously, they did find a credible pitch for who might want to use it - people writing applications for social networking sites. This is actually a really sensible target - from what I remember reading, social networking apps can explode into resource-devouring monsters, so having all your insane scaling problems handled by someone else with experience seems like a big win. Heck, they even even got a Radar pitch.

Only they too are shutting down [that link likely will break soon after 30th November, try TechCrunch]. Is there any money in this? Or at least, is there any profit, at this level of abstraction?

05:36 AM

Pesky spoilsport Viennese authorities

I was looking at Knoten Kaisermühlen (as you do), and spotted that there appears to be a second route through it, from the A23 NE to the A22 NW. The official route is 270° clockwise round the tight inner slip road, third exit, but instead it seems to be possible to leave at the second exit, go 180° anti-clockwise round the big loop under the A23, then cross over and turn 90° round onto the A22, which happens to be under the new U2 bridge, and where OpenStreetMap currently has the caption 'Donaustadtbrüke'.

However, if one zooms in on the cross over point, it seems that there's a solid white line marked all the way along, to prevent you doing that. Spoilsports :-(

Incidental question - OpenStreetMap shows that the S1 is now open all the way round to Brünner Bundestraße, whereas Google Maps thinks that only the first bit (the S2) is open. Which is right? Given that Google gave driving directions along the A6 before it was open, my money would be on OpenStreetMap.

Thursday November 26, 2009
05:16 PM

Debian testing python version

Dear lazyweb...

How come Debian testing is still on Python 2.5 ? 2.6 seems only to be in experimental, which strikes me as strange for something that I thought was mature and stable [even by Debian standards :-)]. Similarly, as Debian are quite capable of shipping more than one version of Python (2.4 is also in testing), how come 3.1 is also only in experimental?

I can't find a clear answer to these perplexing questions. Particularly perplexing given that testing's Perl is 5.10.1 - nice and current.

Tuesday November 17, 2009
08:35 AM

no turkeys for Christmas

06:10 AM

desk phone firewall win

Some pimp has just e-mailed me at work. He says:

I just tried to get hold of you through your switch board but had no luck, hence my email.

Firewall win. I have a phone on my desk. (This may or may not be company policy. If it is, then I'm in compliance.) But it's not plugged in. If it has a number allocated, then I don't know it. But I suspect that it doesn't.

Which all works very well, as anyone who actually needs to contact me is in shouting^Wwalking distance. Plus there's e-mail and work IRC. Confuses the hell out of the pimps though. :-)

Friday November 06, 2009
03:32 PM

The return of the quiet time?

We were having some fun at work, with TCP not doing what we expected. Strangely, it looks like (not confirmed) the Linux IP filter considers that a connection in FIN_WAIT_2 isn't covered by "ESTABLISHED" if the connection is going via a router, but is if it's to a machine directly connected. I say "not confirmed" because it wasn't me checking this, and this makes no sense, as what does the IP stack know about routing - that's an Ethernet level thing, surely?

Anyway, as a side effect, it threw up this rather interesting snippet on page 246 of TCP/IP Illustrated: The protocols

To protect against this scenario, RFC 793 states that TCP should not create any connections for MSL seconds after rebooting. This is called the quiet time.

Few implementations abide by this, as most hosts take longer than MSL seconds to reboot after a crash.

That's not true any more. Linux developers are working really hard to reduce the boot time. The goal is of the order of 5 seconds. That's much less than the Maximum Segment Lifetime, which the standard says is 120 seconds, but can be reduced.

So, is it exploitable? I wondered what mischief can one make by taking advantage of this...

Sunday October 11, 2009
03:24 PM

Perl 5 is Perl 1. And TAP is 22.

I was looking at t/op/unshift.t, and it's a bit strange:


print "1..2\n";

@a = (1,2,3);
$cnt1 = unshift(a,0);

if (join(' ',@a) eq '0 1 2 3') {print "ok 1\n";} else {print "not ok 1\n";}
$cnt2 = unshift(a,3,2,1);
if (join(' ',@a) eq '3 2 1 0 1 2 3') {print "ok 2\n";} else {print "not ok 2\n";}

There's no @ on the arrays passed to unshift. That's Perl 1 syntax.

Well, that's because it turns out that every line in that test is verbatim from the Perl 1.0 release test suite. Check out the "blame". I was going to tweak it to use a library for its tests, which would generate nice diagnostics on failure, but given how "1st edition" it is, I don't feel like doing that now.

Saturday September 26, 2009
08:46 AM

This day all gods die

It has emerged that an al-Qaeda bomber who died last month while trying to blow up a Saudi prince in Jeddah had hidden the explosives inside his body.

Experts say it could have implications for airport security, rendering traditional metal detectors "useless".

So, life imitations science fiction, and we have the first kaze .

Unlike the science fiction in question, this is not good.