Wednesday 25 May 2011

artepupper source code

People are asking me about artepupper's source code, so here it is. It's in C#, under VS2008. Of course artepupper doesn't do much, other than presenting a usable interface and scanning a couple of html/xml files with regexes, the real magic is in RTMPDUMP...

Saturday 14 May 2011

Voodoo COM Interop

It is unlikely, but non entirely impossible. You might have a VB6 app using the fine, open sourced vbAccelerator controls. You might have a Rebar control, a few Toolbarcontrols, and a Popupmenu control, to overcome the limitations of the obsolete VB6 standard controls.
And everything would seem to work just fine: a workaround to overcome GPF on exit (attributed to a COMCTRL32.DLL bug) is in place, but it works flawlessly. One day, you might start to use .NET modules with COM Interop. In the IDE, everything would still works just fine, but outside it… a GPF on exit. Only when the COM Interop modules are called. And only from VB6 consumers with the vbaccelerator controls.
You might solve the mistery, at the expense of a mild case of sleep deprivation. But not if you’re reading this, because the culprit is the lack of the .RemoveAllRebarBands method from the vbAccelerator Rebar Control. Yes, the good working sample code doesn’t use it and specifically states it isn’t needed. And it isn’t, but only up to a particular level of rebar crowding.Yes, it doesn’t particularly make sense, but it works.

How is it feasible to finally solve, practically and without spending days or weeks, these nasty problems? vbAccelerator components are fine, but, being legacy code to say the least, there isn’t much support or discussion space around. Com Interop is not particularly well covered or supported by MS (event though it works, and it’s a lifesaver in the real world). You go by exclusion: I found out that a VB6 consumer without those controls worked just fine, and I started disabling code in the othe consumer, until the problem stopped appearing. At that point, I had identified the problem in the Rebar area: I started moving switches and changing properties and method around, until I hit the RemoveAllRebarBands.  Not very orthodox, but probably quicker than debugging everything at a low level..

Tuesday 10 May 2011

Lamento di un Fiorentino

Vista e fotografata oggi all'entrata di FS Rifredi (lato via de Gama).
"Lamento di un Fiorentino: se nella notte che concepì Matteo i Renzi si metta la "protezione" un ci sarebbe in giro per Firenze uno che parla tanto ma non combina niente, è.. Aimè, persino il libro FUORI! gli ho comprato oddio quanta ARIA FRITTA c'ho trovato."

Fossi i' Renzi (jr.) ci rifletterei sopra un minuto.

Sunday 8 May 2011

artepupper 0.2

A small update to my artepupper rtmpdump gui wrapper to download arte liveweb video files. In 0.2 there's an option to download 'SD' video files ('HD', often not true HD at all anyway, was and is the default), and another checkbox to see what URL/Options are passed to rtmpdump itself. Download it here.

Update: there's a new version..

Monday 2 May 2011

Disk read error occurred. Press Ctrl Alt Canc to continue

I have a rather old, but beefed up HP nx6110  Windows XP notebook I use especially when I'm travelling by train, since it still has a good battery life and it doesn't weigh much. Last year I changed the original 40gb hard drive with a bigger 140 gb unit.

The other day, rebooting, I received this message "A disk error occurred. Press Ctrl Alt Canc to continue". I backup the unit daily, so it wasn't particularly worrying, except for the fact that reinstalling everything on that notebook takes at least a day. The data on the disk was intact (I check taking the drive out and using it in an enclosure on another pc). I tried an XP boot CD with FIXBOOT, FIXMBR. I tried the freeware utility MbrFix. I tried repairing the Windows Installation. As a matter of fact this post on Tom's Hardware describes best my situation. Reimaing the disc would surely work, but what actually - in my case at least - allowed the disk to boot again bypassing the error was simply a defragmenting of the main partition, using the standard disk defragmenter on another pc. The disk was badly fragmented, but it should result only in slower reads. Tight timeouts? In the bios? NTLDR? Amazing windows...

Anyway, now I've reimaged the notebook's disc with Clonezilla, and virtualized the whole machine with VMWare Converter, just in case.

E' morto...