Story Index

It’s time

Nov 19 2005 02:01AM
by: Sam<Sam@timbuctoo>

It’s time I had somewhere to post my wisdom; not for the masses, but for myself. But let the masses overhear me who want to.

It’s also time for bed, so that sleep can knit up my ravelled sleeve of care and all that.

Why am I up betimes this Saturday Morning? I have been setting up Campsite CMS whose main features are those that a professional publisher would want; namely

  • full control over what his minions can do, restricting such things as
    • putting links in stories
    • changing text size
  • Full characterset support and story-translations!
  • Good workflow to stop minions publishing rot
  • A not-half-bad templating system, of course I prefer mine but it doesn’t yet work with Campsite.

Whats with s/he all the time?

Nov 19 2005 02:29AM
by: Sam<Sam@timbuctoo>

In the bad old days “she” referred to the wifie, or womankind and “he” referred to the mankind. This much we all think we know.

But mankind referred to man and woman.

What I’m trying to get at is that women are at it again. They have (had) a perfectly good term that described just them, and then they all go and pretend it describes just men and get all huffy about it and insist that anyone who doesn’t write s/he or say “chair-person” is being sexist! Pardon!?

I’ll use terms like mankind and chair-man and if you think it doesn’t mean women, then think again.

I tend to get out of it by saying their instead of his or hers but I draw the line at chairperson.

See the dictionary; if people (*cough* some women) want to take offense at their own ignorance, I’ll let them - to do otherwise would be patronising, and patronising women is an even greater crime!

When asked “didn’t I mean chairperson?” I say “no I didn’t; and rather than pander to the ingorant we should educate them. Chairman does not refer to gender but to authority; and the deference of men has restrained any complaint on their part, unlike their false accusers who claim offense when there is none either in fact or intent.”

The consequence of which, women now have to stand up on the buses or trains, unless they look pregnant. If any female readers have got this far and recollect a case where no man offerred a seat to a pregnant passenger, realise that they were probably chewed out once too often by someone who merely looked pregnant.

See the usage note and ponder your own position.

This has recently come up on Groklaw. The main idea is “stop whinging, did you really think I meant male when I said he?

Nagging does not work on an individual or mass scale, so stop nagging.


Stinkin’ GNOME file dialogs

Nov 21 2005 02:50PM
by: Sam<Sam@timbuctoo>

AGGGH. The thing I like about Microsoft’s file dialogs is that they don’t get in the way and they let me do what I want.

The thing that makes be so angry with the GNOME dialogs and with quite a lot of GNOME things is that they make it so simple it becomes quite complicated to do things that are simple under windows.

Fr’instance.

Under windows I can paste a filename into a file open dialog and press ENTER - job done!

Under GNOME, I have to click through a bit at a time, waiting 10 seconds for the dialog to populate the file listing at some points, and then finally locate the file I need. I hate it. I hate GNOME when it makes me do that.

Stinker!


Free Choice

Nov 22 2005 12:40PM
by: Sam<Sam@timbuctoo>

Simon Grice recently commented that free agency is not free, because of the constraints of the consequences.

After consideration I considered that he was right and that the value in free agency lies in the constraints that the consequences bring; if there were no contraints, the decision would hardly be worth making.

Consider: If you were not constrained by consequences because you could re-order them at will,

You might suffer no disadvantage whetever decisions you made.
There would be no need to consider decisions before making them as any error could be corrected later, and the disadvantagous consequences removed.

But what would you be? In avoiding the neccessity to learn from experience and do better next time you would remain entirely incapable of re-ordering the consequences to any advantage, having no proper understanding of the consequences or benefits thereof.

You would constantly be dissatisfied with the immediate present and never being sure what you would prefer.

You would be little more that a wish machine in a closed environment unable to form relationships with anything external.

I consider that it is the contraints of free agency that liberate us from our ourselves.


Comment on Stinkin’ GNOME file dialogs by ebassi

Nov 24 2005 11:00AM
by: ebassi<ebassi@localhost>

next time, try ctrl+l when the dialog appears - you’ll be able to move to a specific directory (with tab completion) and/or open a specific file. ;-)


Secrets in GNOME file dialogs

Nov 24 2005 11:50AM
by: Sam<Sam@timbuctoo>

Thanks for to ebassi who answered my rant about the GNOME file dialogs.
ctrl+L is the answer. While thanking you I can’t help wondering why it is so obscure. The Mac GUI may have no shortcut keys and I had mistaken GNOME successful hiding as the same deficiency.

I had noticed that when I typed a real letter, a floating edit box (no title) appeared for quick-jumping to a file in the current view, and would not accept full paths. Interesting if I ctrl+V into the file dialog nothing happens until I press a real letter too, upon which the floating edit box appears complete with the real letter and pasted text.

I wonder why ctrl+L and this other mechanism are both needed, they seem to duplicate eachother, and where just typing is sort of intuitive, why is ctrl+L intuitive?

What I would like is for the path button bar to behave like a button bar AND an edit box. The button bar is nice because it shows the path I have descended to even if I pop up a level, sort of like exbanding out the forward button of a web browser. But I would also like to be able to type in it. Perhaps like overlaying transparent buttons over a real edit box and moving the boundaries of the buttons to the positions of the slashes. I also want it to have a drop down list box to show recent full paths like firefox and windows explorer does. A selected path will then be displayed in the button/address-bar combination thingy.

A button/address-bar combo sounds like a dogs dinner; but what it were implemented in terms of the edit box custom drawn? Clicking on parts of the path change to that directory and render the old tail in dull grey so it can still be clicked on.


Comment on Stinkin’ GNOME file dialogs by Sam Liddicott » Secrets in GNOME file dialogs

Nov 24 2005 11:50AM
by: "Sam.Liddicott<Sam.Liddicott@timbuctoo>

[…] Thanks for to ebassi who answered my rant about the GNOME file dialogs. ctrl+L is the answer. While thanking you I can’t help wondering why it is so obscure. The Mac GUI may have no shortcut keys and I had mistaken GNOME successful hiding as the same deficiency. […]


ulog-acctd

Nov 24 2005 02:46PM
by: Sam<Sam@timbuctoo>

ulog-acctd seems pretty nifty for aggregating network flow statistics.

I’ve submitted some patches so it can build as a redhat package, and also dump the stats when it receives a signal. it’s nice for a stats processor to be able to signal to ulog-acctd to dump the stats now! type of thing.

No much seems to be going with the mailing list apart from eastern spam.


One good thing

Nov 24 2005 03:17PM
by: Sam<Sam@timbuctoo>

Specialisation is something that troubles me; it makes it easy to have one good thing, but not two!

ToplogiLinux reminded me of this. I used to freak Mepis so that I could boot native or run it with a coLinux under windows (before I made the switch total).

I tried this with Ubuntu recently but had to freak about with a runlevel 4 which I set up to miss out a load of AGP and PCI stuff that crashed the thing.

It looks like TopilogiLinux is going to make that sort of stuff easier - but it means not having Ubuntu (linux for human beings). What if I want both? I can make Ubuntu work under coLinux but that means ignoring TopilogiLinux… can’t have both…


Comment on Secrets in GNOME file dialogs by ebassi

Nov 24 2005 08:46PM
by: ebassi<ebassi@localhost>

the “floating box” is the treeview type-ahead; you can find a row inside the treeview widget *current* contents (it actually works with every treeview widget, which is what the filechooser uses). ctrl+L, instead, opens a location dialog (it has no title because titled dialogs conflict with the GNOME Human Interface Guidelines).

as for the recently used paths: it’ll be a feature of the next GTK release; I’m working on it for Project Ridley, as part of the new Recent Files and Bookmarks infrastructure that will be used inside GNOME.

so, you just ha ve towait another six months. :-)


Comment on Secrets in GNOME file dialogs by Sam

Nov 24 2005 09:18PM
by: Sam<Sam@timbuctoo>

You de man ebassi!

I’m just curious why the ctrl+L seems hidden, where should we GNOME users look to find other such wonders? (apart from the source)

Sam


Installing SUN Java on Ununtu

Nov 24 2005 09:40PM
by: Sam<Sam@timbuctoo>

One of the uses of a blog is to make notes for myself to follow later. I often ending up doing the job multiple times and forgetting how I did it.

From these notes I install SUN Java on Ubuntu Breezy Badger.

sudo apt-get install fakeroot java-package java-common
fakeroot make-jpkg --full-name "My Name" --email "me@example.com" jdk-1_5_0_05-linux-i586.bin
sudo dpkg -i sun-j2sdk1.5_1.5.0+update05_i386.deb
sudo update-alternatives --config java


Flash hangs in firefox

Nov 24 2005 11:15PM
by: Sam<Sam@timbuctoo>

Since upgrading from Hoary, firefox hangs badly on pages that contain flash.

Google reveals that lots of users are having this trouble; many of them relate it to sound access.

Well, I think I pinned it down to an ALSA problem.

Strangely sending a SIGSTOP and SIGCONT recovers it briefly. Hope fully I submitted enough debugging for it to be fixed now.

Apart from the above bug, I do wish Ubuntu would do ASLA device sharing out of the box and configure everything to use ALSA, and do ESD sharing out of the box and configure everything else to use ESD, and ESD to use ALSA.

Here is my config to do that:

/etc/asound.conf - this lets multiple ALSA clients use the audio device at once

# Example /etc/asound.conf or ~/.asoundrc file showing how
# to configure ALSA so that a dmix plugin is used by default
#
# The writing of alsa-lib configuration files is explained in
# /usr/share/doc/libasound2-doc/html/index.html, provided by the
# libasound2-doc package.
#
# Make ALSA apps default to using dmix plugin instead of hw plugin
# (Exclamation point is needed in order to override the assignment to
# pcm.default in /usr/share/alsa/alsa.conf.)
pcm.!default {
type plug
slave.pcm "dmix"
}
#
# Make OSS apps default to using dmix plugin too
pcm.dsp0 {
type plug
slave.pcm "dmix"
}
#
ctl.mixer0 {
type hw
card 0
}

/etc/esound/esd.conf - (I use libesd-alsa0)
I use tcp mode because my family have multiple console logins at the same time, and that way they can each use each-others esd if it is running, or start one if needed.

[esd]
auto_spawn=1
spawn_options=-terminate -nobeeps -as 1
spawn_wait_ms=100
# default options are used in spawned and non-spawned mode
default_options=-as 5 -tcp


Stem cell hoo-hah

Nov 25 2005 09:20AM
by: Sam<Sam@timbuctoo>

Based on The Register’s report I don’t understand why Professor Hwang Woo-Suk resigned.

As I read it two students donated ova under and assumed name without his knowledge and not in breach of contemporary law or ethical guidelines.

So whats the real reason he had to resign?

Perhaps I’ve missed something but thats how it reads to me.


Comment on Secrets in GNOME file dialogs by ebassi

Nov 27 2005 10:58PM
by: ebassi<ebassi@localhost>

the documentation should mention it - feel free to file a bug into bugzilla for the GNOME documentation or the GTK documentation if you cannot find it.


do { break; } while (0);

Nov 28 2005 03:11PM
by: Sam<Sam@timbuctoo>
I just came up with this C construc, using breakto jump out of a block;
do {   if (! seems_suitable(a,b)) break;   c=check_even_harder(a,b,);   if (! c) break;  be_tricky();  return;} while (0);do_it_the_old_way(a,b);

I was adding a code block before an existing block whose purpose was to filter out certain conditions to handle especially, and trying to avoid lots of nested if/else blocks. Without this foul trick the code would read:

if (seems_suitable(a,b)) {  c=check_even_harder(a,b,);  if (c) {    be_tricky();    return;  }}do_it_the_old_way(a,b);

it works for me anyway .


Mile high : Mile deep menus

Nov 29 2005 10:20AM
by: Sam<Sam@timbuctoo>

MACOS GUI sucks.

MAC fans think it looks nice, and thats a nice opinion but it doesn’t compare to windows for usability.

The only good thing I have heard said about the MAC GUI is the famed Mile High Menu. And thats a good thing if you don’t plan on learning to use a mouse well.

Does anybody seriously claim that all these MAC users can’t position a mouse in 16 pixels vertically but can position it in 16 pixels horizontally? How do they ever manage to click on buttons, or hyperlinks? How do they manage to drag their clipart about?

When you have one mile high menu, you gain something tiny for those who can’t use a mouse. What do you lose? You lose the mile-deep menu.

With GNOME or windows I can see the menu bars multiple windows at the same time, and even click directly on the menu bar of a non-focused window! MAC uses would have to first select the NOT-mile-high title bar and then move to the mile high menu bar. I get just one click.

Maybe MAC GUI has something to recommend it besides the dubiously and only slightly helpful mile high menu?


When ASDA don’t stock

Dec 03 2005 10:14PM
by: Sam<Sam@timbuctoo>

ASDA have been really annoying lately being out of stock of various items; mainly organic milk which costs about 5p more per 6 pints and tastes smoother and less harsh, and perhaps less dodgy hormones in it (here’s hoping).

They seem to have sorted out the Organic Milk problem by changing the colours of the bottle tops from blue or green, to white - which presumably stops them from getting mixed up in the warehouse, thus they can always find it and deliver it; so far so good. I’ll forgive then from being short of suet 2 consecutive visits because it is Christmas pudding season.

This time it was maternity towels. I don’t know why ASDA stopped selling maternity towels, but a nice man named S____ is going to find out and phone me back on Monday or Tuesday.

The point is; and I made this very clear; if I have to go to Morrisons to get maternity towels, I may as well get all my shopping there; “..don’t you think?” I asked S_____. He wisely refrained from answering. I suggested that I might even prefer Morrissons if I tried it; but S_____ would not be drawn.

Maternity towels aren’t something a person needs very often, and it looks like someone at ASDA foolishly thinks thats the point. The point is this: they had better be darned sure I’m not going to prefer Morrissons before driving me in that direction.

I may never come back; and as maternity towels indicate a new family member thats a lifetime of shopping they could be missing out on.

On small moments…


HP Printer Hacking

Dec 05 2005 10:10AM
by: Sam<Sam@timbuctoo>

Looking at http://odetocode.com/Humor/68.aspx I saw a cool .net hack for displaying custom messages on an HP printer LCD.

I’m a bit of a .net fan from a distances, which is to say I’m an ex-delphi afficionado, having done some cool hacks like 16 bit multithreading and form inheritance in Delphi, and I’m waiting for .net to be the cross platform “delphi” that Kylix never became (if only they used wxWidgets, but who was to know then, eh?)

Well anyway, .net seemed a bit of overkill for HP printer LCD hacking so I replaced it with a small shell script instead

#! /bin/shprinter="$1"shiftmessage() {  printf "x1B%%-12345X@PJL RDYMSG DISPLAY = "%s"rnx1B%%-12345Xrn" "$*"}# try to use bash tcp redirection if enabledif   exec 9> "/dev/tcp/$printer/9100"then message "$@" >&9else message "$@" | netcat -q 2 "$printer" 9100 >/dev/nullfi

Invoke thus:
./hpmsg my.printer.name.or.ip.address hello joe wassup

of course, this is hardly just a small shell script as it relies on all of bash, and possibly netcat. (My ubuntu bash doesn’t seem to have build-in tcp redirection, boo!)


A tune by any other name

Dec 05 2005 01:43PM
by: Sam<Sam@timbuctoo>

It’s hard to create anything new without being affected by the old that has already been created. Copyright and derivative works claims seem to indicate that the relationship between the old and the new must not be obvious… However I can’t help recognize similarities between these popular music items; I list them here as I come across them, there are many more which won’t come to mind as I hear them, so check back…

The introduction to Video Killed the Radio Star by The Buggles and A Town with no name by Madness.

Wrapped Around your Finger The Police and Lemon Tree Fools Garden.

Rock This Town Stray Cats and Good Hat, Good Dog, Good Boat Them Eastport Oyster Boys

Super Freak Rick James and U Can’t Touch This MC Hammer

The introduction to Where the streets have no name U2 and Survivors Phil Collins

Here Comes The Hotstepper Ini Kamoze and See Me Melanie Blatt (written for the film Robots but somehow didn’t make the soundtrack album even though it plays in the closing credits)
The main verse lyrics of Hotstepper

No no we don`t die
Yes we mul-ti-ply
Anyone test will hear the fat lady sing
Act like you know, Rico
I know what Bo don`t know
Touch them up and go, uh-oh!
Ch-ch-chang chang

Has darn similar tune to this part of See Me

I’m gonna look to fly
I’m gonna touch the sky
I will not compromise
Don’t want to hide all my life


Your own idiot savant

Dec 05 2005 05:06PM
by: Sam<Sam@timbuctoo>

I’ve been reading cnet on Spear-Phishing which confirms something I’ve been telling friends for a long time. You computer is an idiot savant and can’t be trusted. Yes, it does some cool things, but you don’t know half of it. And you won’t either! And this is why you can’t delegate the decision of trust to your computer; should you trust your computer when it tells you that something is trusted?

The current computer model of files, and processes sharing a common space is dieing and passing on our closest secrets with each gasp; but what secure model can replace it?

I’d like to suggest something FORTH based; as a self-hosting system the inner core can be a few hundred bytes - small enough to verify manually (plus the bit that can verify everything else). It can then verify and boot up from verified text FORTH libraries to a trusted system (assuming if the hardware is not tampered with). I now have a machine that I can trust. Forth is prone to it’s own problems of careless programmers (who are a big part of the problem) so it’s not a no-brainer solution - in any case it requires someone degree-capable in computing to verify it- most people want a computer whose trust they can take for granted. Is there one?


Comment on Mile high : Mile deep menus by DigitalArena

Dec 09 2005 03:07AM
by: DigitalArena<DigitalArena@localhost>

I’m not sure that MAC GUI has any particular elements to recommend it over Gnome or Windows. As a regular user of both I can say that the MAC GUI is more “funky” (whatever that subjective assessment is worth or means). But I think whether one uses MAC or some other OS is more down to tradition, habit, or the industry you are in, rather than based on any usability test.

A minus for the MAC GUI is that child menus which open from main menus tend to open only on hover, and if I click the parent label for the child menu, the whole menu closes - how daft is that? Menus also close if you accidentally click on a horizontal bar - they ought to stay open guessing you did a slightly innaccurate click, not simply close on you. Pah.


Comment on A tune by any other name by DigitalArena

Dec 09 2005 03:15AM
by: DigitalArena<DigitalArena@localhost>

A well known phenomenon in the Creative Arts industry. Subconcious plagiarism I suppose. Thats what patent/copyright searchers are all about.

Isaac Newton said “If I have seen further than other men, it is by standing on the shoulders of giants” (Para). I don’t think it’s possible to work entirely in isolation, we will be influenced.

So I guess the trick is to make sure your “own work” is original enough - because it can never be totally new.


Trying to buy from ebuyer

Dec 19 2005 12:11PM
by: Sam<Sam@timbuctoo>

I’ve always had a dim view of ebuyer since I read around 100:1 bad press on google searches before I attended a job interview there.

But its hard to see how that preconception could be the cause of my experiences, which (see part 3) possibly will have a happy ending after all.

Part 1

As I said, I’m not inclinded to order from ebuyer, the consensus I discovered was that if you get what you ordered on time, then everything is fine, if not then you are doomed.

A colleague is fortunate to never have had the problem and suggested I order from ebuyer. We needed some company supplies… so ebuyer it was. Idiots.

Within seconds of me placing the order, ebuyer cancelled the order without reason. When the goods didn’t arrive I discovered this, and ordered again, this time with next day shipping. I figured I ought to get next day shipping free as ebuyer cancelled the order, but it would cost more in my time to get through on support that the free shipping was worth.

Well… I placed 2 more orders with ebuyer for the same things; each one cancelled without reason.

2 or 3 support calls and numerous etickets later my order was re-instated and shipped.

This experience was too hard. I knew I should have gone with CPC.

part 2

Well, this time I had a bigger order, nearly £200, and my colleague suggested ebuyer again. Well… we have an online account, so why not!

But within seconds of my order it has been cancelled - again without reason!

I’ve been here before, so I’m straight on the phone. The call handler suggests that it is some kind of security screening! Since when did screening cancel an order without warning? Without giving me a chance to sort it out? Will it ever come out of “screening”? And how do I cancel a cancelled order to stop it coming out of screening if I decide to get it elsewhere? Why isn’t it called screening? I think she’s talking rubbish so I call back again.

The seconds call handler puts me on hold twice to consult someone else and suggests that some element of our billing data is on their fraud list, but can’t tell me any more. She offers to have someone in accounts phone me before 5.00pm. As I ordered next day delivery this doesn’t impress me much, so I say that if they can call in the next half an hour we’ll try it, but if not I’ll be ordering from somewhere else.

I meant CPC of course who charge decent prices and and a decent returns policy and lots of special offers.

Part 3

Hey! Someone at ebuyer phone back! It turns out that our address is on their negative list for no good reason. The negative list is a clever piece of process (i imagine) that involves annoying customer by deleting their orders without explaining why. My most excellent call handler (who is new to ebuyer) will attempt to resurrect my order (apart from 6 belink cat5e cable economizers that I since orderd from CPC). If she manages this, then she earns a top class complimentary email as feedback that she can show to her boss. 3 cheers for I____ who is new to ebuyer and lets hope she doesn’t get tainted.


ASDA Idiots

Dec 19 2005 12:35PM
by: Sam<Sam@timbuctoo>

I’ve had it with ASDA. Too often what I want is not in stock, promise to call and explain but never do, and then they insult me at the checkouts.

I’ve explained previously what I think of ASDA but I was still under the illusion that being nearby was the same as convenient.

To often my nearby journey is frustrated and wasted because they don’t sell what I want. Here’s the latest run-in with the idiots that are ASDA.

…and when I call ASDA I don’t mean the staff (most of them) but the incompentence of the organisation and it’s inability to satisfy the customer who is trying to give them money.

In this case though, I specifically mean one of the checkout supervisors.

No milk today

I’m fed up of no milk from ASDA. No milk was always the customers perogative to the milkman, not from the milkman. Not so from ASDA, who no milk me too often.

I was trying to buy 24 pints of organic semi-skimmed milk in the form of 6 x 4 pint bottles at £1.41 each. The idiots only have 6 x 2 pint bottles and 82p each (thats £1.64 per 4 pints, and only 12 pints).

I empty the shelf into my trolly with all 12 pints and my other shopping. I’ll try my usual trick which is to arrange to by 2 x 2 pint bottles at the 4 pint price; after all why should I pay extra just because ASDA can’t keep their shelves full? This usually works fine, but this time someone new was on the checkout and it was her first day, so she called over a checkout supervisor.

We ask the supervisor if I can buy 2 x 2 pints at the price of 1 x 4 pints. She says we can’t. (Strange) but the reason is even funnier. We can’t because 4 pints cost £1.41 and 2 x 2 pints costs £1.42 (I corrected her to £1.62 and the cashier corrected me to £1.64). So yes. We couldn’t buy 2 x 2 pints for the price of 1 x 4 pints because 2 x 2 pints cost more than 1 x 4 pints.

So she would let me buy them at that price if they cost that price. But then I wouldn’t have had to ask, would I? Idiot.

So I explain that I don’t want to buy 2 pint bottles anyway, I really want to buy 4 pint bottles. I don’t even want just 12 pints, I want 24 pints in 4 pint bottles, but they don’t have it.

Why doesn’t she understand that it’s bad enough not to be able to buy the sizes I want, but making me pay extra for the inconvenience is an insult?

She calls up to a higher manager who lets me do it “this once, because it’s Christmas”. Idiot. I try to explain that I do this regularly, but she’s stopped listening. The cashier can’t work out what the problem is, they sell 2×10 cigarrettes for the price of 1×20 cigarettes when they run out of twenty packs.

And whatever the checkout supervisor (idiot) said, I would have got what I was asking. If I had to, I would have left my shopping unloaded on the checkout, tipped my head back and bellowed to the ceiling (Never bellow at the staff):

“Why is it that you never have enough milk in stock? it’s bad enough that you don’t have the right size in stock, it’s bad enough that you waste my journey, but why are you trying to charge me extra for it? Whats the good of low low prices if you don’t stock it and try and sell me something that costs more instead?”

So here’s what I’ll do, I’m not daft.

I’m off to Morrissons for my groceries, but I’ll go to ASDA for my cheap petrol and DVD’s when I’m passing. I don’t mind bleeding them dry with their loss leaders, I may even enjoy shopping at ASDA in those circumstances.

Oh, and S______ never did call back to explain why they stopped selling maternity towels like they promised.


Comment on When ASDA don’t stock by Sam Liddicott » ASDA Idiots

Dec 19 2005 12:35PM
by: Sam Liddicott<Sam.Liddicott@localhost>

[…] I’ve explained previously what I think of ASDA but I was still under the illusion that being nearby was the same as convenient. […]


Prank Callers

Jan 05 2006 09:43PM
by: Sam<Sam@timbuctoo>

Recently, twice a day my home telephone is called by 0141 301 8000. When I answer, the caller hangs up, and if I return the call they hang up immediately.

0141 is a Glasgow area code, home to many call centres (bless them) and I suspect one me these is home to a rouge dialer, either that or they don’t have enough staff to take my call when I answer. However, nigh on twice a day for a week is too much, and my guess about a call centre might even bestow too much legitimacy to the incidents. Something must be done.

Treating the whole thing as maliciously executed by an unknown human, I call my BT operator to see what remedies they offer these days. Without the need to speak to a human, I am directed to call 0800 661441 where I am entertained with useful and practical ways to deal with prank callers. Finally, the robot voice offers me free caller ID if I take it at the same time as BT register my number with the telephone preference service, (which they also offer to do).

Bargain! So I can’t stop the calls, but I can avoid answering to those idiots, and I get caller ID as sort of compensation - with a marginal cost to BT of nill, and without them even needing to involve any expensive customer service call handlers. Big wins all round, them. Oh, apart from the call centres who will have to stop calling me in 28 days, thanks to the idiots behind 0141 3018000.


Prank callers revenge

Jan 07 2006 06:25PM
by: Sam<Sam@timbuctoo>

I mentioned previously that I got Caller-ID (or CLI) enabled on my line because of prank calls, or more likely, a broken call centre dialler.

As I expected, knowing who is calling doesn’t stop them calling, it just gives me a string hint as to whether or not the caller will hangup as soon as I answer.
In the UK, CLI is passed before the first ring; so with a bit of cunning I should be able to get my PC to answer and hangup on these idiots without even disturbing me!

Time to try and get my built-in modem working under linux. I’m very pleased with my PC, it’s a Medion brand from Toys-R-US who for a long time know have done the best value PC’s, followed closely by ALDI. A bit of help from the scanModem utility at http://linmodems.technion.ac.il/ identifies my modem as being based on the intel 536EP chipset. It’s hard to get up-to-date drivers that compile and work, but this message led me to what appears to be a hidden intel download of version 4.71 hurrah; that works, although make-install fails, so I have to do a few copies by hand (boo, hiss). As far as I can tell AT+VCID=1 will turn on CLI, te rest can be done with a bash script, but first I need to set up a phone extension cable…

My ADSL modem is in a different room to my PC, I don’t have a convenient phone socket near my PC, but I do have some CAT5e network cable from my ADSL modem to my PC, so I can use the two spare CAT5 pairs to carry the phone signal. I take a modem cable and cut it in half and attach an RJ45 network connector to the cut ends. I can now transfer my phone line over my network cable. As I only have one network cable and I’m already using it, I borrow a couple of network economizers like this from work; they are a sort of Y junction that map the regular UTP network pins on one socket to the spare strands in the cable so you can carry two network connections over one cable.

I’ll probably use my new phone/network cable to allow me to put my ADSL modem next to my computer and take the splitters back to work.


Prank Callers Revenge Complete

Jan 13 2006 10:42AM
by: Sam<Sam@timbuctoo>

Here is the final part on how I got my modem to automatically answer and drop phone calls from certain numbers that had been troubling me.

My Intel 536EP is famous for not supporting CLI, and slightly famous for the odd Intel engineer saying it does support CLI. No-one in the world has made it work.

Luckily, my sister in law returned my USR 56K external modem on Sunday, so I stick that in ttyS0 and remove the graphics stylus I wasn’t using anyway. This modem gives no problem recognizing CLI.

I decide to write my CLI Dropper in bash, for fun, and get more grief then you could imagine. It sounds easy, a quick stty, echo a few strings to the modem port and then enter a while loop to read back the response. Sadly bash’s bufferred IO reads too much (naturally) but then tries to put back the extra stuff using seek on a pipe. Well! This fails on a tty, and so lots of the output gets lost. It took me quite a while and use of strace to work this out.

Instead now, I use cat to pipe the output of the modem into a bash segment. Because cat is reading from a tty it is unbufferred, but also bash’s seek works, so everything is fine.

cat /dev/ttyS0 | while read line 

So now I just keep a list of banned phone numbers in /etc/clidrop. Banned callers get treated to about 5 seconds of modem noise before getting hung up on. All calls are logged in /var/log/messages, so I can look back and see what went on. 

Here is my shell script, complete and tested:

#! /bin/sh

: ${MODEM:=/dev/ttyS0}

# modem on stdout
exec > "$MODEM"
stty igncr 38400 min 1 time 5 ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke < $MODEM

send() {
  echo -ne "$*\r"
}

command() {
  send "$*"
  echo ">$*" >&2
  read response
  test "$response" == "$*" && read response
  echo "<$response" >&2
}

checkNumber() {
  echo "Check $1" >&2
  grep "^$1\%CONTENT%quot; /etc/clidrop &> /dev/null
}

# nasty cat hack cos bash "read" can’t unread extra lines from a tty
# but cat doesn’t buffer if it reads from a tty
cat "$MODEM" | (
command "AT S7=45 S0=0 L1 V1 X4 &c1 E1 Q0"
command "ATL0M0" # turn of speaker
command "AT#CID=1"

while read -s response
do
  case "$response" in
    "NMBR = "*)
      NUMBER="`expr "$response" : ‘NMBR = \(.*\)’`"
      if checkNumber "$NUMBER"
      then
        logger -t CLIDROP "Drop call from $NUMBER"
        echo "<$response DENIED" >&2
        send ATA
        sleep 5
        send ""
      else
        logger -t CLIDROP "Permit call from $NUMBER"
        echo "<$response PERMITTED" >&2
      fi;;
    *) echo "<$response" >&2;;
  esac
done

My /etc/clidrop file is has these numbers in:

08700500524
01413018000

Why does bash try to seek on input stream after a read? It’s so that it can pretent that it did not read more than it returned, and then any internal or external commands spawned will be able to get stdin from that point. Of course such external commands are not so nice, sed …/q will have slurped more of stdin than it ought to and so some of the remainder won’t be available to the calling bash script; so why is bash trying to be nice? Ah well… it’s what comes of pretending that a collection of commands and bash are a homogenous programming environment like perl.


Sweet KDE file views

Jan 17 2006 03:23AM
by: Sam<Sam@timbuctoo>

Take a look at this KDE4 screenshot. It looks like it merges the GNOME button address bar AND the old typeable address bar. Sweet! Just what I wanted!
The whole lot of screenshots look amazing. Usually such screenshots are more a way to show off wallpaper that the GUI, but KDE4 makes me say I want it.
I tried KDE3 over GNOME, but the blinding appearance overcame the lack of usability in GNOME, so I stuck with GNOME. I can’t exmaplin what is wrong with KDE3 look and feel that is fine with GNOME, although I cna say it isn’t the paucity (lack) of being able to do things in general with GNOME.
Another annoyance with GNOME. I want to turn off my grid for my desktop layout but not for folder layouts, and I want the default view for lots of folders or non-image files to be list view.


Comment on When ASDA don’t stock by John Innes

Jan 20 2006 01:25PM
by: John Innes<John Innes@localhost>

Hi Sam,
I’ve suffered similar inconvenience from ASDA, they were advertising half price Chablis over Christmas, my wife and I like Chablis so I trundled down to the local ADSA (I don’t normally shop there) only to find an empty space on the shelf where the nationally advertised Chablis would have been, several visits later I enquired with the Customer Services to be told they were waiting for it to come into stock. Well it never did, I tried several stores in the area to no avail, eventually Tesco matched their price and actually had boxes of the stuff in all their stores.

As for ebuyer, I’ve only bought one item from them (an mp3 player), the first was dead on arrival, it was replaced ok on their fairly cumbersome returns system and the replacement continues to work ok.

John


Comment on Prank Callers Revenge Complete by Ant

Jan 31 2006 07:41PM
by: Ant<Ant@localhost>

I was searching for the 08700500524 number and found your site. Wish we had such tech wizardry in our house. I’m compiling dates, times and numbers to send to http://www.ico.gov.uk/. I had a good response last time I complained to ICSTIS for text messages for a premium rate number, they said I was entitled to compensation but I said they could keep it and use it to catch other people .. I should have taken the money!

Good luck with your crusade against the prank calling marketeers!


Faking bash history

Feb 01 2006 09:38AM
by: Sam<Sam@timbuctoo>

In the bad old days, hackers get a root shell and disable bash_history so the true owner of the system wouldn’t know what they’d been up to.

These days they get a reverse shell via icmp or some such and don’t even generate a bash history so it doesn’t really matter that bash with readline enables the selective prevention of command logging in bash_history.

Try this;

  1. get a bash shell
  2. type a command; maybe: zookie
  3. close the bash shell
  4. get a bash shell
  5. press the up arrow, there is your command, nicely in bash history.
  6. close the bash shell

Now try this:

  1. get a bash shell
  2. type a command, maybe: secret-command
  3. press the up-arrow
  4. ^U (or lots of backspace) to delete the command
  5. type a new command but don’t press enter, maybe: mundane-command
  6. press down-arrow
  7. press enter

Now if you press up-arrow you will see mundane-command instead of secret-command, if you quit the shell and get a new shell, your command history shows the mundane-command which you did NOT execute instead of the secret-command that you DID execute.

Interesting


Amarok Spasms

Feb 01 2006 08:09PM
by: Sam<Sam@timbuctoo>

Amarok happens to be the best media player out there. Apart from windows media player which I think is pretty hard to beat, but Amarok has all the essential features.

Sadly, recent Ubuntu KDE updates have had Amarok unable to run more than a few seconds, so after depriving my family of music for a few days I came home to find my daughter trying to stuff what turned out to be compact discs into the CD player. She was doing it right, it just un-nerved me.

Time to get out the Breezy backports from Dapper Drake and see if a new Amarok fixes things for me.

I used source-o-matic to cough up the latest official backports repository to add to my /etc/apt/sources.list

This gives me Amarok 1.3.7 which thankfully does manage to stay up for more than a few seconds.


Comment on Prank Callers Revenge Complete by Andrew Cooke

Feb 15 2006 06:41PM
by: Andrew Cooke<Andrew Cooke@localhost>

Hi,
Can anyone tell me what these annoying calls are all about?
Im being plagued by 08700500524 & 01413018000.
The phone hangs up if I answer it and I just get some bullsh*t recorded message when I call the numbers back.
Would most appreciate any info available

Regards,
Andrew Cooke


Hard to buy from DELL

Feb 23 2006 08:00PM
by: Sam<Sam@timbuctoo>

I have a friend who wants to buy a laptop. At work I use a nice Dell M70 with a good Nvidia 3D graphics card. Very nice to play Battlefield2.

It’s very hard to find a Dell laptop with a 3D graphics card, or a way to select Dell laptops with this option.

I thought I’d point out this deficiency to Dell and ask for their help.

The Dell contact web page has a link to Customer Care general Order enquiries but I have to create an account before I can ask a question or point out their problem that makes it too hard to buy from them. It’s too complicated. I don’t even know if I want to buy a Dell laptop, I’m looking for someone else.

So I just closed my jolly browser and got down to watching Pride and Prejudice with my wife.


Postscript Layout

Feb 25 2006 09:34AM
by: Sam<Sam@timbuctoo>

Normally I pipe my postscript printouts through xpp. Sadly xpp’s multiple copies doesn’t seem to work for my printouts, and it also lacks the ability to scale and rotate the image to get multiple smaller copies per page.

I wrote a quick bash script I put together so I can scale A4 postscript printouts to fit multiple images per page, so to print 4 per page, with 2 pages I now pipe through:

| psmul 4 2 | xpp

Here it is:

#! /bin/sh
MUL=${1:-8}
PAGES=${2:-1}
SPEC="0"
C=1
while test "$C" -lt "$MUL"
do
  SPEC="$SPEC,0"
  C=$(($C+1))
done
NUP="$SPEC"
C=1
while test "$C" -lt "$PAGES"
do
  SPEC="$SPEC,$NUP"
  C=$((C+1))
done
pstops $SPEC | psnup -$MUL

Bank charges and pension post offices

Mar 02 2006 11:44AM
by: Sam<Sam@timbuctoo>

In the UK the banks closed branches "cos there’s cash machines and its cheaper".
Then they decided to charge a quid a time to use the cash machine (now there’s few branches left).
Idiots.

it didn’t last long before all the banks were boasting they THEY didn’t charge for ATM use.

Co-op bank NEVER charged for ATM use and also allowed post offices to be used as branches.
-Which also makes it funnier about pensioners complaining about pensions being paid into bank accounts and not collectible from the post office, and even stranger that the Co-op bank didn’t say "hey guys, get your pension paid into a co-op account and then come and get it out the post office".

Weird.


Drivers License Checking

Mar 02 2006 11:50AM
by: Sam<Sam@timbuctoo>

This company, Intelligent Data Systems, provide a driving licence checking service which works directly off DVLA data.

Why would anyone want to do that?


US Patent System

Mar 13 2006 11:37AM
by: Sam<Sam@timbuctoo>

All said at http://righttocreate.blogspot.com/2006/03/broken-windows-broken-patents.html, it would be hard to improve on what is written.


A house, for One Red Paperclip

Mar 18 2006 03:17PM
by: Sam<Sam@timbuctoo>

I was looking for cabin style bunk beds on ebay and ended up getting myself a real ebay bargain: A holday cabin in Wales for renting, for only 10 pence. (preserved for posterity here)

I was going to rent it out (as the buyer suggests) but I think I could trade it on One Red paperclip, it could be the house he is looking for! I don’t want the recording contract but maybe he can get something else…


KISS of death (Keep it stupidly simple)

Mar 19 2006 10:13PM
by: Sam<Sam@timbuctoo>

GNOME takes the biscuit (Americans seem to like that word lately).

The new GNOME Screensaver UI is so stupid you can’t actually do anything useful apart from choose the screen saver.

I upgraded Ubuntu from Breezy so at least my GLSlideShow screensaver works, cos I configured it before I upgraded to Dapper, but some poor folk are stuck! Dapper GNOME screensaver UI doesn’t even let them tell GLSlideShow WHERE to find the photos! See their cries of pain in their bug report.

GNOME is going so far backwards that only a granny will be happy with it, any one with an ounce of sense will quickly graduate to KDE so that they can do someting the way they want to, see my cries of pain at regressing from a quick cross-fading slideshow of all my photos to a ghastly 5 times showing over 10 seconds for each photo. 

When family members pass around new photos I don’t spend 10 seconds looking at a single one, I certainly don’t want to spend 10 seconds on a load I’ve seen before.

Of course with GNOME, thats what I’m doomed to, until the GUI designers think it worthwhile, but I doubt that they’ll descend from their abstract usability values to something so concrete as actual usability.

Of course I could fork GNOME (free software is all about freedom, which GNOME are denying me) or just move to KDE.

Thank goodness for Kubuntu.

Sam


Comment on do { break; } while (0); by Fred

Mar 22 2006 07:07PM
by: Fred<Fred@localhost>

You do realize that you are just using a hideous kludge to emulate the behavior of the ‘goto’ keyword, right?


Comment on do { break; } while (0); by Sam

Mar 23 2006 08:38AM
by: Sam<Sam@timbuctoo>

I’m not emulating THE ‘goto’ keyword which has many and various uses, but you could say that I am emulating A use of the ‘goto’ keyword.

I rather simplified my use of the kludge, and will provide (later on today) a fuller example and let the reader judge which is most hideou; the kludge, or what it replaced,


Is Joker.com Joking or Choking?

Mar 23 2006 04:04PM
by: Sam<Sam@timbuctoo>

Joker DNS servers are unavailable from most parts of the world for a few days now.

http://www.dnsstuff.com/tools/lookup.ch?name=joker.com&type=A

fails miserably, as it does for most joker hosted domain names.

I’m only using their website now because of an /etc/hosts entry pointing to 194.176.0.86

194.176.0.86 www.joker.com joker.com

All these fail:

nslookup www.joker.com 207.44.185.10
nslookup www.joker.com 194.176.0.2

Whats going on? I’ve filed a support ticket, lets see what they say…

DDOS Attack on Joker.com Nameservers
Joker.com currently experiences massive distributed denial of service attacks against nameservers.
This affects DNS resolution of Joker.com itself, and also domains which make use of Joker.com nameservers.
We are very sorry for this issue, but we are working hard for a permanent solution.
Thank you for your understanding,

Your Team of Joker.com


b# for kernel modules?

Mar 24 2006 09:56AM
by: Sam<Sam@timbuctoo>

Reading from http://www.embedded.com/showArticle.jhtml?articleID=183700818;

B# (pronounced “be sharp”) is a tiny, object-oriented, and multi-threaded programming language that is specially dedicated for small footprint embedded systems.

It has a mini-kernel, and can implement interrupt handlers. What I want to know is; can it be used to write portable cross-platform linux kernel modules?

More info, and sign up as a beta test at http://www.deepobjectknowledge.com/


Dapper Dodges

Mar 25 2006 01:14PM
by: Sam<Sam@timbuctoo>

I dist-upgraded from Breezy to Dapper - a bad mistake, lvm shutdown and unmounting at reboot failed and corrupted my root FS like a Labour Lord,

In the end I had to do a re-installation of Dapper flight 5 which leaves the problem of all the Ubuntu missing packages that are required for a useful system.

Here are some of the harder ones, saved for posterity:

For Amarok, install amarok-xine and configure xine to use ALSA - yay!

For dvd playing, add this to sources.list

deb-src ftp://ftp.nerim.net/debian-marillat sarge main

And then after apt-get update do

apt-get -b build-dep libdvdcssapt-get -b source libdvdcssdpkg -i libdvdcss2_1.2.9-0sarge0.0_i386.deb libdvdcss2-dev_1.2.9-0sarge0.0_i386.deb

My sources.list is:

deb http://gb.archive.ubuntu.com/ubuntu/ dapper main restricteddeb-src http://gb.archive.ubuntu.com/ubuntu/ dapper main restricted
deb http://gb.archive.ubuntu.com/ubuntu/ dapper-updates main restricteddeb-src http://gb.archive.ubuntu.com/ubuntu/ dapper-updates main restricteddeb http://gb.archive.ubuntu.com/ubuntu/ dapper universe multiversedeb-src http://gb.archive.ubuntu.com/ubuntu/ dapper universe multiverse
deb http://gb.archive.ubuntu.com/ubuntu/ dapper-backports main restricted universe multiversedeb-src http://gb.archive.ubuntu.com/ubuntu/ dapper-backports main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu dapper-security main restricteddeb-src http://security.ubuntu.com/ubuntu dapper-security main restricteddeb http://security.ubuntu.com/ubuntu dapper-security universedeb http://security.ubuntu.com/ubuntu dapper-security universe
deb-src http://security.ubuntu.com/ubuntu dapper-security multiversedeb-src http://security.ubuntu.com/ubuntu dapper-security multiverse
deb-src http://ftp.debian.org/debian testing maindeb-src ftp://ftp.nerim.net/debian-marillat sarge main

Beggars can’t be choosers

Mar 29 2006 09:28AM
by: Sam<Sam@timbuctoo>

There’s many software projects I would donate to, but don’t because they don’t take paypal. Why does this matter?

Paypal is quick, doesn’t involve getting my wallet out and typing in a long credit card number and trying not to make a mistake. And I don’t want to give me credit card number to every random Joe who is short of cash.

The latest is OpenSSH. I don’t know if they have particularly severe financial problems, but I use openssh often enough that I figure I owe them some money.

So I click on the make a donation to the OpenSSH project link, but they don’t take paypal. So I click on the Discuss this article on the forum link so I can suggest "Hey guys, why don’t you take paypal?" but I have to register first… already I can’t be bothered.

It’s a similar story with the Debian Software Foundation, and Advocates For Free Government, both vaguely worthy causes in need of a bit of cash, but they don’t make it easy to give.

So I didn’t.

On the other hand I pay £3 a month to Cedega so I can play battlefield2 under linux.

Sam

UPDATE:

Thanks Natalia (below);

From OpenSSH Donations at:
http://www.openssh.com/donations.html

I go to:
https://https.openbsd.org/cgi-bin/donations

and then:
http://www.openbsd.org/donations.html

and I can donate to OpenBSD via paypal.

I didn’t find this very obvious. That link on the OpenSSH donations page talked about credit cards, not paypal, hence I didn’t click.

I want to donate to OpenSSH not OpenBSD - yes I can recognize that 2 pages away from the paypal page it said I could mark the payment for "OpenSSH" but I’m beginning to lose confidence that my money will go to OpenSSH. DFSG (Debian) donations also got this complicated.

However, I have now made a donation to OpenBSD put down to OpenSSH

Natalia, thanks ot you OpenSSH has another $20


Comment on Beggars can’t be choosers by Natalia Gorbski

Mar 29 2006 09:39AM
by: Natalia Gorbski<Natalia Gorbski@localhost>

They do. Look at the donations page on the OpenBSD site, which is linked from the donations page on the OpenSSH site, they clearly identify Paypals as one of the manners by which you can donate.


Comment on Beggars can’t be choosers by JT

Mar 29 2006 10:29AM
by: JT<JT@localhost>

If someone wanted to, they could shutdown any site accepting paypal within a day. Just make donations with 5+ stolen credit cards.


Shell script wrappers

Mar 29 2006 11:08AM
by: Sam<Sam@timbuctoo>

Sometimes a bash script needs to invoke another program, but for temporary compatability reasons needs to override some environment variables to affect it’s behaviour.
A common way is to do this:

flanger() {
  MODE=compat /usr/bin/flanger "$@"
}

flanger-test() {
  MODE=compat /usr/bin/flang-test "$@"
}

and then call flanger as normal.

I had a case where this kept cropping up so I finally wrote this:

env_wrap() {
  local env=""

  # collect VAR=VALUE pairs for environment
  while :
  do
    case "$1" in
      *=*) env="$1 "; shift;;
      *) break;;
    esac
  done

  for prog in "$@"
  do
    eval "$prog() { $env `type -p $prog` \"\$@\"; }"
  done
}

Now I just do

env_wrap MODE=compat flanger flange-test

And it’s all taken care of


Bobby Robson quotes

Mar 31 2006 09:08AM
by: Sam<Sam@timbuctoo>

"I wouldn’t say that we underestimated them. No. It’s just that they played far better than we expected."

"He’s very fast and if he gets a yard ahead of himself, nobody will catch him"

"My father had 5 sons, I had 4 brothers"

"They’re 2 points behind us, so we’re neck and neck"

"I’m not going to look beyond the semi-final - but I would love to lead Newcastle out at the final"

"Well, we got nine and you can’t score more than that"

"I do want to play the short ball and I do want to play the long ball. I think long and short balls is what football is all about"

"Eighteen months ago they (Sweden) were arguably one of the best three teams in Europe, and that would include Germany, Holland, Russia and anybody else if you like"

"He never fails to hit the target. But that was a miss"

"I’d say he’s the best in Europe, if you put me on the fence"

"Tottenham have impressed me: they haven’t thrown in the towel even though they have been under the gun"

"I played cricket for my local village. It was 40 overs per side, and the team that had the most runs won. It was that sort of football"

"Both teams - and Brazil even - got better on their way to the World Cup final"

"There will be a game where somebody scores more than Brazil and that might be the game that they lose"

"We don’t want our players to be monks, we want them to be football players because a monk doesn’t play football at this level."

"All right, Bellamy came on at Liverpool and did well, but everybody thinks that he’s the saviour, he’s Jesus Christ. He’s not Jesus Christ"


Solar Roof

Mar 31 2006 12:04PM
by: Sam<Sam@timbuctoo>

See on TreeHugger.com, If you are not looking to convert your loft anytime soon, you might want to look at adding electricity-generating solar panels to your roof.

They don’t look like the ugly water-heating solar panels you may have seen from time to time, which look rather like roof-top cucumber frames; these panels could be mistaken for glitzy roof tiles.

Take a look at SolarCentury, as well as maybe getting a 50% grant towards instalation cost, you have the peace of mind of knowing that not only have you reduced your carbon footprint, you’re earning some cash helping others to do the same by selling surplus electricty to your electric company!


Unattributed

Mar 31 2006 02:22PM
by: Sam<Sam@timbuctoo>

"He’s more deceptive than he looks"
"On the surface he’s very caring but deep down he’s a shallow person"
"Nostalgia isn’t what it used to be"


XSLT Hex to Decimal Conversion

Apr 03 2006 04:14PM
by: Sam<Sam@timbuctoo>

Here’s a trick I came up with to convert some XML values from hex to decimal.

I made clever (awful?) use of substring-after and substring-before and a string-based lookup table.

Very nasty, but with whats available, very neat:

  <!-- output $hexNumber as decimal, recursive so not too many digits please... -->
  <xsl:template name="HexToDecimal">
    <xsl:param name="hexNumber" />
    <xsl:param name="decimalNumber" >0</xsl:param>
    <!– If there is zero hex digits left, output –>
    <xsl:choose>
      <xsl:when test="$hexNumber">
        <xsl:call-template name="HexToDecimal">
          <xsl:with-param name="decimalNumber" select="($decimalNumber*16)+number(substring-before(substring-after(’00/11/22/33/44/55/66/77/88/99/A10/B11/C12/D13/E14/F15/a10/b11/c12/d13/e14/f15/’,substring($hexNumber,1,1)),’/'))" />
          <xsl:with-param name="hexNumber" select="substring($hexNumber,2)" />
        </xsl:call-template>
      </xsl:when>
      <!– otherwise multiply, and add the next digit, and recurse –>
      <xsl:otherwise>
        <xsl:value-of select="$decimalNumber"/>
      </xsl:otherwise>
    </xsl:choose>
  </xsl:template>
  <!– If it begins with 0x then parse it for sure, else return it –>
  <xsl:template name="asDecimal">
    <xsl:param name="number" />
    <xsl:choose>
      <xsl:when test="substring($number,1,2)=’0x’">
        <xsl:call-template name="HexToDecimal">
          <xsl:with-param name="hexNumber" select="substring($number,3)"/>
        </xsl:call-template>
      </xsl:when>
      <xsl:otherwise>
        <xsl:value-of select="$number"/>
      </xsl:otherwise>
    </xsl:choose>
  </xsl:template>

Invoke with
  <xsl:call-template name="HexToDecimal">
    <xsl:with-param name="hexNumber" select="@hexValueAttribute"/>
  </xsl:call-template>

Or some such


Comment on KISS of death (Keep it stupidly simple) by Ben

Apr 03 2006 05:14PM
by: Ben<Ben@localhost>

Real usability requires an Advanced tab.


Comment on Prank Callers Revenge Complete by Simon

Apr 04 2006 01:06PM
by: Simon<Simon@localhost>

Been getting the same 08700500524 crap recently as well - usually starts around 2.30 then repeats every 90 mins. My search for the number only returned it was sold by Thus PLC. I have emailed them but had no reply (I’ve also mailed Watchdog :) ) Annoyingly ICSTIS only deal with 09 numbers, so it seems theres not much we can do…


Closed Source Kernel Drivers with B#

Apr 07 2006 10:24AM
by: Sam<Sam@timbuctoo>

I commented in recently on use of B# for Linux kernel modules, a B# VM can be done in 8K or less, has a small instruction set and can implement interrupt handlers.

On reflection this is more likely to be popular under the BSD’s who don’t have so much GPL philosophy to contend with.

Hardware manufacturers could provide one set of cross-platform B# binary drivers to run under MAC-OS X and *BSD - any architecture.

Hardware drivers need to make use of a very limited part of the kernel API, the main purpose of a hardware driver is to manage resources for the hardware and implement a standard API for that piece of hardware.

The B# glue layer - somewhat like ndis-wrappers - will be the layer that copes with evolving kernel API’s. And possibly also get ported to the linux kernel - and I really don’t know if this a good thing.  Although Linus has commented against static kernel APIs to support binary modules, he has also refrained from heartily condemning suppliers of binary only kernel modules - often providing their on source-based API glue to the binary module.

While I’m a GPL fan and paying member of the FSF (not card carrying:- my bootable FSF membership card had developed some nasty blemishes making it unbootable by the time I came to need it, so I threw it away) I can see that simpler provision of hardware drivers could speed adoption of a broader selection of  hardware platforms and operating systems.

It remains to been seen to what degree adoption on the wrong terms, i.e. without free software rights, is harmful. If more open source drivers follows the borader consumer adoption, it is maybe beneficial; I’m not yet at the level of Stallman where I can say "free software or no software" - I like my nvidia drivers, although I really wish they were free.

I’m just hoping that B# drivers would require enough meta data to link to make decompilation easy, I do want my source and the ability to fix bugs.

Which might mean that B# is just a glitzy gadget and for the kernel, a bad idea after all.

Sam


Comment on b# for kernel modules? by Sam Liddicott » Closed Source Kernel Drivers with B#

Apr 07 2006 10:24AM
by: Sam Liddicott<Sam.Liddicott@localhost>

[…] I commented in recently on use of B# for Linux kernel modules, but on reflection this is more likely to be popular under the BSD’s who don’t have so much GPL philosophy to contend with. […]


Comment on Prank Callers Revenge Complete by Gary

Apr 11 2006 02:21PM
by: Gary<Gary@localhost>

It was good to find this site as we have also been plagued by calls from 08700 500 524 for the last couple of months. We were getting 2 or 3 calls a day which we ignored as we don’t pick up 0870’s we aren’t expecting, especially when they don’t have the manners to leave a message. Finally I got fed up and answered one and found myself talking to a Scottish chap who claimed to be from the RAC who was calling to sell me some kind of insurance. Of course the sale had to be done over the phone so I declined. To try to convince me he said he could give me my membership no to prove he was who he said he was, I told him anybody could hack their system to get my membership no. Anyway I’m going to check with the RAC to see if it’s genuine or not. I’ll add to this if I find out more.


Comment on Closed Source Kernel Drivers with B# by Sam

Apr 17 2006 04:54PM
by: Sam<Sam@timbuctoo>

Indeed a bad idea:
http://www.ussg.iu.edu/hypermail/linux/kernel/0512.0/0972.html


ALSA stuttering sound

Apr 18 2006 01:17AM
by: Sam<Sam@timbuctoo>

Trouble with applications playing audio stuttering badly, particularly mplayer with:

alsa-space: xrun of at least 0.068 msecs. resetting stream0.4% 10 0
alsa-space: xrun of at least 0.069 msecs. resetting stream0.4% 10 0
alsa-space: xrun of at least 0.065 msecs. resetting stream0.4% 10 0

Wonder no more, read on at the ALSA Wiki, particularly the comment by Danuel further down on why 48000 is sub-optimal in most cases.


Key-value pair files to xml

Apr 21 2006 12:44PM
by: Sam<Sam@timbuctoo>

This sed script will read in a key-value pairs file, you know, like this:

NAME=Joe & Freds
CLASS=Cafe

into xsl attribute lists, like this:

name="Joe &amp; Freds" class="Cafe"

ready to be stuck in the middle of a tag.

  sed -e ‘

/=/{ # make sure it has an = sign in
h # save current line
s/=.*/=/
y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ # lowercase
x # get back original line
s/^[^=]*=// # loose attribute name
/./{ # anything left?
 s/&/&amp;/
 s/"/&quot;/
 s/</&lt;/
 s/>/&gt;/
 s/^/"/;
 s/$/"/;
 H #append to stored line
 x # get it all back
 s/\n//
 p
}
d
}
d
‘


BBC and FLASH on Linux

May 20 2006 06:02PM
by: Sam<Sam@timbuctoo>

It looks like the BBC web team have changed the way they detect flash support in various browsers.

For example CBeebies pages like Tots-TV no longer work for me.

Where I was able to view flash in BBC websites, I now cannot, even though I can use flash in other websites like www.homestarrunner.com

I have multiple computers running the official flash 7 plugin from macromedia, with a firefox browser and Ubuntu Linux operating system.

Flash works fine for my family on many sites, and used to work on BBC until recently.

A common error with flash  support detection java script is for the person who wrote the script to think that they have covered all cases.

A common unfortunate consequence is for the flash detection javascript to actually be the obstacle instead of the helper.

Flash detection code should offer help or support in case things turn out to work but the  default fallback should always be to try the usual standard way of doing things without clever browser specific tricks.


BBC Flash Update

May 20 2006 06:45PM
by: Sam<Sam@timbuctoo>

[UPDATE: I have to say it was all my fault. Even though I had the non-free flash plugin install in ubuntu, it wasn’t activiated, I was using GPL Flash 4. Shame! The BBC were blameless - almost - IMHO they should have shown a popup dialog to warn the user and then gone on to see if their flash player could handle it; however thats a minor point compared to my foolish mistake]

To follow up on my previous post, and to prove that it is the javascript flash detection code at fault, I edited the html source of one of the offending pages from this:
if ((ssit_FlashPresent == 2) && (ssit_FlashVersion >= 5)) {
document.write (’<object id="hideandhelp" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0" width="100%" height="85%"><param name="movie" value="intro.swf"><param name="quality" value="high"><param name="bgcolor" value="#FFFF66"><embed name="hideandhelp" src="intro.swf" quality="high" bgcolor="#FFFF66" width="100%" height="85%" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" swLiveconnect="true"></embed></object>’);
}
else {
document.write(’<img src="/cbeebies/totstv/music_sounds/images/console.gif" alt="" width="500" height="300" border="0">’);
}

to this:

if (1 || (ssit_FlashPresent == 2) && (ssit_FlashVersion >= 5)) {
document.write (’<object id="hideandhelp" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0" width="100%" height="85%"><param name="movie" value="intro.swf"><param name="quality" value="high"><param name="bgcolor" value="#FFFF66"><embed name="hideandhelp" src="intro.swf" quality="high" bgcolor="#FFFF66" width="100%" height="85%" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" swLiveconnect="true"></embed></object>’);
}
else {
document.write(’<img src="/cbeebies/totstv/music_sounds/images/console.gif" alt="" width="500" height="300" border="0">’);
}

(In otherwords "just show me the flash anyway, foolish computer); and suddenly the flash all started working again.

If the BBC are buying this ssit flash detection code from a commercial company then I think they are wasting their money, if they would adhere to well known standards there wouldn’t be this problem in the first place.

This would be a better solution:

<object id="hideandhelp" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0" width="100%" height="85%"><param name="movie" value="intro.swf"><param name="quality" value="high"><param name="bgcolor" value="#FFFF66"><embed name="hideandhelp" src="intro.swf" quality="high" bgcolor="#FFFF66" width="100%" height="85%" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" swLiveconnect="true"><img src="/cbeebies/totstv/music_sounds/images/console.gif" alt="" width="500" height="300" border="0"></embed></object>

If they really want to use the ssit stuff… they still shouldn’t. The answer would be to only explicitly block combinations known to fail, rather than only permit those known to succeed; but their source for these combinations known to fail would probably be as faulty as their current code is, and so is doomed to fail.

I’m just writing up a firefox plugin which will be available worldwide on the firefox plugins page to fix known faults with the BBC’s CBeebies website; unless of course the BBC manage to fix their website first….

I have posted my feelings and proofs to the BBC at http://www.bbc.co.uk/feedback/tech_fault_web.shtml


Web Colours

May 30 2006 04:17PM
by: Sam<Sam@timbuctoo>

A while I go for my employer I wrote some php that would rotate the colour palette of a gif file in hsl colour space. It let me do things like "get the green version of that blue button"

- I’m not so hot with colours you see, I need things to constrain my choice of possibilities, which is why I appreciate the Accessability Colour Wheel, I can now choose colours on technical reasons instead of asthetic reasons.

I’m more comfortable with this.


Comment on Prank Callers Revenge Complete by davidf

Jun 02 2006 08:33PM
by: davidf<davidf@localhost>

08700 500 524 is owned by a tele-marketing company, it would appear that http://www.elephant.co.uk/ also use them to irritate customers.


Orange GPRS on SPV C550

Jun 02 2006 11:38PM
by: Sam<Sam@timbuctoo>

Recently I impressed my boss by getting the company Motorola RAZR support phones to connect to Orange GPRS in about 10 seconds flat with the help of google and this script (sorry, can’t find the site it came from now, let me know if you can [dear reader])
#!/bin/bash

/usr/sbin/pppd connect ‘/usr/sbin/chat -v ABORT "NO CARRIER" "" "AT&F" OK "AT+CGDCONT=1,\"IP\",\"orangeinternet\"" OK "ATDT*99#" CONNECT’ \
/dev/ttyACM0 115200 defaultroute crtscts noauth deflate 0 asyncmap 0 mtu 1500 mru 1500 noipdefault idle 600

anyway, I thought some variant of this would work on my SPV C550, but it was hell!

FInally, thanks to Mikko Rapeli and his SPV specific notes I came up with this variation in my /etc/rc.local (bootup hacks)

rmmod usbserial
modprobe usbserial vendor=0×0bb4 product=0×00cf

Now, I just use the Applications/Modem applet on my SPV to enable USB modem before plugging it in, and I have a modem on /dev/ttyS0

Mikko’s pages were somewhat helpful and so was Paul Perkins but the main gotcha with this SPV is that it needs to login, it really needs to, it goes on begging until it is allowed to, so the username is: user and the password is: pass.

It was only reading pppd man page and thinking about Paul’s chap-secrets (which everyone else ignored) that tipped me to this, so I used Mikko’s gprs config but changed the username in the /etc/ppp/peers/gprs file to: user and turned on noauth (which is about the remote called end authenticating back to the caller).

My /etc/ppp/chap-secrets entry looks like this:
"user" * "pass" *

and all’s well with the world.

And why does Ubuntu dialup network configuration seem worse than for SCO 3.2v4.2?

There’s no need for custom dialup scripts for most things these days, yeah a chat connect/disconnect script might be needed for a specific modem type, but  after that all modems follow the same patterns; a couple of init strings, a number to dial, and then a username or password and some ppp options for the data connection.

So whats with ubuntu’s ppp0 (and only ppp0) tricks?


Comment on Prank Callers Revenge Complete by PjB

Jun 14 2006 11:28PM
by: PjB<PjB@localhost>

I have also been getting calls from this number, it looks like a ploy to have you only return the call thus clocking up your phone bill at the 0870 rate and lining someones pocket at 2-6p per callback just for the privilidge… beware! These numbers are freely available (http://0870.uk2numbers.co.uk for instance) for as little as £9.99 to ANYONE for less than moral purposes… www.saynoto0870.com


Of dweebs, nerds and geeks

Jun 29 2006 12:42PM
by: Sam<Sam@timbuctoo>

munpfazy posted on slashdot, an excellent precis on the hierachy of dweebs, nerds and geeks.
Because I’m slack, I copy it here as well; read on:

Re:Clasic anti Nerd Propiganda

by munpfazy (694689) on Wednesday June 28, @01:40AM (#15618760)

Nonsense, I say. Worse still - blasphemy! To place the nerds above the geeks is an offense of the worst kind.

There *is* a clear distinction and a value hierarchy among geeks, nerds, and dweebs, but you’ve got it all wrong.

What follows, I claim, is the one true classification of geekdom. It has stood up to rigorous peer review (loud arguments amongst drunken physics students) for years, and I stand by it.

A dweeb is someone without social skills who either doesn’t recognize or is unable to accept that they are unusual. They constantly *try* to fit in, with disastrous results, and dedicate a significant portion of their daily lives to obsessing over how to pass as normal.

A nerd is someone without social skills or popular interests who recognizes that he or she is unlike most people and feels no shame in it.

A geek is a nerd with technical skills and passionate interests; in particular one who has a myopic dedication to a particular specialty. (This is the subspecies *true geek,* distinct from but related to the *common geek,* or nerd who is generally technically savvy and useful to have around.)

To summarize, the dweeb is the guy wearing a slightly out of fashion hipster shirt who generally creates embarrassing silences at parties by saying awkward things about pop stars or sports teams.

The nerd is the guy who skips the party in order to achieve moderately high scores on a popular video game while eating unheated canned peas with a spoon and listening to recordings of experimental music.

The geek is the guy who skips the party in order to code a popular video game, figure out the angle of repose one might expect for a pile of canned peas, or compose and record some experimental music.

On the college campus, geeks make up virtually the entire population of physics and math majors (as well as a majority in classics, many of the less trendy engineering sub-disciplines, linguistics, physical anthropology, and some of the more obscure languages.)

The nerds are the guys who drop out of school after one semester but stay in a college town working in a bookstore, where they get great discounts on whatever genre books they happen to like and talk to their geek friends about writing their own books yet never seem to actually finish any of them.

The dweebs largely end up in engineering or the quantitative business disciplines, in the hopes that they can earn enough money to buy the respect of powerful and attractive people. Those in engineering have a tough time of it, as they are publicly ignored by the normals whom they so admire while simultaneously earning the scorn and contempt of the geeks in their departments. Those in business do rather well, since they have a good chance at fooling their colleagues into thinking that they are geeks. (Normals may not invite geeks to parties, but they do like to hire them.)


Smart Programmer, Smart Doctor

Jun 29 2006 03:04PM
by: Sam<Sam@timbuctoo>

A smart programmer who can’t sleep and is told by his doctor to count sheep, will write a small shell script to do it for him.

The smart doctor will write a shell script to tell programmers who can’t sleep to count sheep.

A colleague pointed out that if I were a smart programmer I would have written a shell script to tell the joke. Instead I write it up on my blog, what does that say?


Comment on Prank Callers Revenge Complete by Moo

Jul 03 2006 07:23PM
by: Moo<Moo@localhost>

Just started getting these 08700500524 calls. never answer it have bt privacy some us that is!!!


Comment on KISS of death (Keep it stupidly simple) by alyce

Jul 20 2006 09:42AM
by: alyce<alyce@localhost>

advanced book guest


Comment on ALSA stuttering sound by Adric

Jul 22 2006 06:39PM
by: Adric<Adric@localhost>

Noticed that myself on my laptop - reinstalled just to verify - worked great till I upgraded the kernal to the latest from the repository.
Just have to back it from the latest kernal to the Ubuntu 6.06 CD kernal which works better.


Comment on Prank Callers Revenge Complete by M.Hassan

Jul 26 2006 08:20PM
by: M.Hassan<M.Hassan@localhost>

I got, or have been getting calls from 08700500524 all of which say they are Telewest. MOst of the calls are late in the evening, 7-8pm latest. Its been going on a while now, they call and say can i speak to so and so, my mother who is out whenever they call. Could there be any truth to who they say they are? and how do they know peoples names?


Online Textbooks

Aug 01 2006 12:20PM
by: Sam<Sam@timbuctoo>

Like many geeks I collect knowledge so that I will be able to do things if the need comes up, whatever things they are. Here’s a good list of refererences books supplied by nTensify who wrote:

There are a lot of free textbooks out there, some of them are better than others, but a lot are quickly becoming very good.

Plain and simple, everyone should have access to education, money shouldn’t dictate how educated someone can become.

Some other free books:
http://www.physicsforfree.com/ (three physics books from beginning physics to general relativity).
http://www.lightandmatter.com/area1.html (six physics books, variety of topics)
http://www.motionmountain.net/ (notably one of the best free physics books ever "published").
http://www.math.wisc.edu/~keisler/calc.html (intro to calc book under Creative Commons)
http://www.allaboutcircuits.com/ (a really cool free circuit design book I ran across a few years ago when I was leaving college).
http://www.gutenberg.org/ (obligatory gutenburg link, aggrigator of books out of copyright or otherwise set free).

(there are plenty more, but to spare you the boredom of a huge list here… go to google and search for digital library books, you’ll have a few million hits to look through ;) )


Comment on Prank Callers Revenge Complete by J.Smith

Aug 21 2006 05:10PM
by: J.Smith<J.Smith@localhost>

I’ve also been getting calls from this number. I agree with the previous poster who suggests that it is a ploy to get us to call back..

I have caller id so in future I’m not going to take the call..


ASCII character conversion

Aug 31 2006 01:46PM
by: Sam<Sam@timbuctoo>

The ord command can be used after a fashion to convert from a character to its character code:

 echo -ne "A" | od -t u1 | sed -e "s/^[0-9]* *//"

But more awkward is converting from a decimal character code back to the character, but this does the trick, and took about 3 minutes to come up with:

 # X=65 # HEX=(0 1 2 3 4 5 6 7 8 9 a b c d e f) # echo -e "x${HEX[$(( $X / 16))]}${HEX[$(( $X % 16 ))]}"

It works by converting which is less than 255 to hexadecimal, and then making use of echo -e which interprets \x as indicating an 8 bit character expressed in hexadecimal.


Kenneth Cope

Oct 03 2006 09:20PM
by: Sam<Sam@timbuctoo>

Greater Than us All is a great album.

I just shelled out some dosh (hard earned cash) to buy the CD version having played my casstte album to oblivion.

I was interested to see some tracks were re-recorded; and it comes to this:

Do you have an original CD album you could send me?

I don’t like the new recordings. They are not what my mind has become adjusted to, and even worse it starts to follow a trend set by the mormon tabernacle choir which seems to be to put inappropriate expression into the performance.

I probably should explain this last accusation a bit more, and I’ll use the tabernacle choir to explain.

I think the choir get bored singing the same old hymns and such so they try and jazz them up and put a bit more emotion into it, but that doesn’t make it better, it only makes it weird. Oh, but its probably more fun to sing.

(Did I mention I’m finding it hard to get decent mo-tab music lately? I’m thinking of downloading all the conferences and ripping the choir out of the middle ot build up a new compilation).

I want "Mo-tab: The same boring old hymns" type stuff, you know, "like momma used to bake" so to speak.

Now you haven’t done a bad job on the new cut of Greater Than Us All, but you are following the trend; a bit more unexpected desparation or wonder in the voice, delay the vocalists entry slightly by half a beat, drag out a middle phrase note for no good reason, it drives me mad. Not every phrase of the song needs to sound like some kind of epiphany or revelation; the song has to do that as a whole, but these days each phrase is trying to compete with the whole song.

It ends up sounding like the emotional expression of some other song overlayed onto this one. (Its nice variety for folk who have sung the song to death no doubt)

Please, be a nice man and send me what you hooked me on, not this slghtly freaky stuff. I like my music straight: A CD of your original cut of Greater Than Us All.


Counting nodes

Oct 19 2006 10:48AM
by: Sam<Sam@timbuctoo>

I had a problem where I needed to assign a unique integer to each node in a tree, as it was processed; using XSLT 1.0

XSLT 1.0 doesn’t have user definable functions, the only way to return values is as output which can be captured in an

<xsl:variable name="captured"><xsl:call-template name="generate-output"/></xsl:variable>

And, naturally, the tree recursion was already generating output and could not easily be used to return a count of nodes processed so far as well.

After a couple of hours of struggling and some syntax checking with my brother Ben (for things like $node/ancestors::* - thanks bro) we have a fragment that does the trick in one line!

count($node/preceding::rule[ancestor::*[generate-id()=$ancestorid]])

This is more clearly expressed as:

count($node/preceding::rule[count(ancestor::*[generate-id()=$ancestorid])])

and in english reads as: to find the sequence number for $node, count all preceding nodes who are contained by the common ancestor identified by $ancestorid. Without the predicate, it would count all preceding nodes in the entire document, instead of those with a certain ancestor.

However this is not complete. preceding does not take into account open nodes, i.e. the node to which it is being applied, nor any of it’s ancestors; so this correction is added:

+ count($node/ancestor::rule) - count($ancestor/ancestor::rule)

as the number of non-counted nodes is clearly the difference between the number of ancestors of $node, and the number of ancestors of $ancestor.

The full statement is:

count($node/preceding::rule[ancestor::*[generate-id()=$ancestorid]]) 
 + count($node/ancestor::rule) - count($ancestor/ancestor::rule)

I leave it to the reader to produce a version that reports the total number "rule" nodes under the current ancestor.

Finally I used this recipe:

  <xsl:template name="rule-number">
    <xsl:param name="name"><xsl:message terminate="yes">rule-number called without name</xsl:message></xsl:param>
    <xsl:param name="rules-node" select="//dbam-bandwidth-rules"/>
    <!– take the first occurance of each rule (no preceding of same ancestor) –>
    <xsl:variable name="all_rules" select="$rules-node//rule[not(@name = preceding::rule[count(ancestor::*[generate-id()=generate-id($rules-node)]) &gt; 0]/@name)]"/>
    <xsl:for-each select="$all_rules">
      <xsl:if test="@name=$name"><xsl:value-of select="position()"/></xsl:if>
    </xsl:for-each>
  </xsl:template> 


Comment on Prank Callers Revenge Complete by Cassandra Pearson

Nov 16 2006 08:47PM
by: Cassandra Pearson<Cassandra Pearson@localhost>

I have been getting calls daily from 08700500524 and rather than answering I decided to google it and what should I find? a long list of people having the same annoyance. Does this mean I’m going to be plagued with it from now on, if so what can I do about it coz frankly its a pain in the arse?


Comment on Prank Callers Revenge Complete by paul wrighton

Nov 21 2006 08:46PM
by: paul wrighton<paul wrighton@localhost>

been getting these for a few days, i dont answer my phone to unrecognised numbers, i figure they can leave a message if its good news, but they never do. Oh well it doesnt bother me, every time it goes i get pleasure out of knowing they wont get what they are after. I think someone set me up though is it possible to arrange it with someone elses number as a stupid joke or revenge i wonder?


Comment on Prank Callers Revenge Complete by Adam

Nov 23 2006 08:52PM
by: Adam<Adam@localhost>

This number has just been recently callig my landline..they say they are from the cosmetic company AVON!! thing is, nobody in my household has given AVON the house line number…so they must get our details from 3rd parties


Comment on Prank Callers Revenge Complete by Dave N

Nov 24 2006 03:50PM
by: Dave N<Dave N@localhost>

how do you get these prank fone calls from 08700500524 to stop? my grandparents have been plagued with calls from this number as past 3 weeks, every day, up to twice a day! with them hanging up, disgraceful!


Comment on Prank Callers Revenge Complete by Sam

Nov 30 2006 09:30AM
by: Sam<Sam@timbuctoo>

Dave: to try and stop it, see the notes here:
http://www.liddicott.com/~sam/?p=24


HP48 Skin for M3100 / Hermes

Jan 31 2007 04:15PM
by: Sam<Sam@timbuctoo>

Here is horizontal (landscape) skin for Christoph Gießelink’s PPC HP48 emulator.
See: http://privat.swol.de/ChristophGiesselink/emu48.htm

The skin is for the HTC Hermes model phone running WM5 in keyboard-open mode, to support use without the need to touch the screen at all.

Installation

Just download the zipfile and unzip in your emu48 directory and start a new emulator session with HP48-m3100-horizontal.kml

The bitmap and layout is based on the PPC skin done by Dave / Murray.

This is landscape but not in the same sense as Dave / Murray landscape which is landscape on a portrait screen. Hermes keyboard-open mode is a landscape screen.  When the keyboard is closed and the Hermes resizes the screen to be portrait, it all goes skewy. Really we need to be able to switch between two different skins when they keyboard is opened or closed.

I had to take a few pixel rows out of their layout to make it fit.

Anyway….

I also fixed up the scan-code conversions to deal with the Hermes keyboard, so some Hermes specific keystrokes work as expected, like ! and - and _.

Some new mappings

The TAB key is mapped as the ALPHA key.
The SYMBOL-UP is mapped as SHIFT-R
The SYMBOL-DOWN is mapped as SHIFT-L
(Symbol is the key with a round DOT).

Sadly I could not map SYMBOL-LEFT or RIGHT, because the emulator does not intercept these and probably can’t unless it is signed as a privileged application.

BONUS

Included is an XML based build system to make skin building easier.

I used kimagemapeditor to add hotspot rectangles to my bitmap and then my build-system created the button and annunciator layout file for me. This greatly speeds up the process when modifying or designing new skins.

Note that the kml file Includes a a kmp file which includes all the button positional information, and also a kmi file containing scan-code mappings and fixups.

I generated the kml file like this:

xsltproc HP48-generate.xslt HP48-m3100-horizontal.htm > HP48-m3100-horizontal.kmp

xsltproc comes with gnome on my Ubuntu linux. Maybe there is a windows xslt processor that could do this too??

Of course that htm file has to be valid xml too, I had to make the img tag self-closing.

The xslt relies on HP48-attributes.xml, that defines the annunciators and keys that the emulator expects.

The id attributes refer to the numbers in the Annunciator or Button statements, and the name attributes refer to the anchors in the html.

Annunciator anchoes begin with #~- to show where the annunciator should be displayed, and #~+ to show where they should be copied from.

Buttons, of course have only one imagemap entry.

TO-DO

Add scan-code conversions for a lot of the accented characters.

I intend to make this fun by having an HP48 specific xml which defines HP48 button sequences needed to generate each ascii character. I then intend to have a host-specific xml which specifies the scan-codes generated during the entry of each ascii character.  I shall spot multi-scan-code sequences, and automatically allocate flags and generate IfFlag code.

Thus, with a fixed calculator specific button-code-map, a per-skin bitmap and imagemap, and a per-platform scan-code specification, I can generate any skin for any calculator emulator on any platform. Hurrah!

Find out or write IfAnnunciator for the kml scripts.


Comment on ASCII character conversion by musically_ut

Feb 02 2007 06:22PM
by: musically_ut<musically_ut@localhost>

Thanks for the help mate, I am a newbie and was DEAD stuck on converting ASCII ints to chars. May God bless you … ;)


Don’t confuse the message

Feb 09 2007 09:13AM
by: Sam<Sam@timbuctoo>


Design should not obscure the message.

Here’s a web page whose purpose is to help parents and carers in Yorkshire know if their children’s school has been closed due to bad weather.

How many parents or carers do you think will suppose that the school is closed?

In fact the "closed" message is just fancy artwork and conveys no particular information about any school. There are no schools closed at all.

The actual URL was: http://www.ridingsfm.co.uk/pages/home.asp?pageid=275&servername=www.ridingsfm.co.uk

You have to wonder why servername is part of the url… maybe it is to support vhosting for no-cookie http 0.9 clients?


Abortion is Legal, Pictures are Not

Feb 27 2007 01:16PM
by: Sam<Sam@timbuctoo>

Interesting story in The Register, Veronica Connelly’s guilty conviction was upheld. It appears that she had sent pictures of aborted foetus’s to pharmacists that sell the morning-after pill (which technically induces an immediate abortion).

Without discussing whether or not Veronica was intending to be malicious, or how closely the action of the morning-after pill resembles that of a surgical abortion we have an interesting case:

Jewish Holocaust pictures from Nazi Germany (begone, Goodwin!) were not considered more offensive than the actions they documented, although they are acknowledged to be "disturbing." Does this mean that it is or would be illegal to send these pictures or show these pictures to the perpetrators, knowing that it would - and in order to - cause offense? How else should one convict the perpetrators with a sense of their own guilt?

Now consider Veronica’s intentions; was it merely to distress or cause anxiety to the recipient, or to convict them of their "guilt"? - which indirectly but very connectedly leads to distress!

How will Oxfam stimulate my guilt over my greed without decidedly distressing me with imagery of poverty and dispair? Will their mailshots be replaced with advertising billboards instead, thus becoming legal?

I see animal-rights display stands in the streets at times, showing disturbing pictures of the results of shocking treatment of animals. Are the animal-rights activists forbidden from sending these pictures to the perpetrators but permitted to display them in public?

Will I be unable to disuade jihadists under criminal law because my arguments distress them? Or will I have to send only open letters generally published?

I guess the law is to save us from personally communicated harassment when others who are offended by some aspect of our legal activity try and convey that offense to us.

At the moment some forms of abortion are legal, but some ways of talking about it are not, and this puzzles my morals; perhaps Veronica was harassing those who were not directly involved in abortions - though this was not relevant to the judgement; BUT it seems it would still have been illegal for Veronica to have sent those pictures to anyone who had been practicing illegal abortion, even if they were photo’s of the very same aborted foetuses - would this lead to "Yes, I broke the law, but now I’m offended by pictures of it"

I can see this as a good defense for speeding camera tickets.


Collapsing on clusters

Mar 07 2007 01:34PM
by: Sam<Sam@timbuctoo>

I’ve seen use of preceding-sibling to collapse on unique attributes, but how about collapsing clusters on unique attributes? For example:

a,a,a,b,a,b,b,c should collapse to a,b,a,b,c

Here’s some XSLT I came up with to detect which position a node is in it’s cluster, and what cluster number it is. NODE repesents the nodes being collapsed, and VALUE/@value a child node/attribute that is being collapsed upon.

Here we look for the number of nodes that are not preceded by a node having the same value - this will be the number of clusters.

<xsl:variable name="cluster-no" select="count(preceding-sibling::NODE[
  not(VALUE/@value = preceding-sibling::NODE[1]/VALUE/@value) ]
 |current()[not(VALUE/@value = preceding-sibling::NODE[1]/VALUE/@value)]
)"/>

He we count the number of nodes that precede the current node and have the same value, but there is no intervening node with a different value, this will be the position in the current cluster.

<xsl:variable name="position-in-cluster" select="count(preceding-sibling::NODE[VALUE/@value = current()/VALUE/@value
and not( VALUE/@value!=following-sibling::NODE[ count(following-sibling::NODE[ generate-id()=generate-id(current())]) &gt; 0 ]/VALUE/@value)])"/>


The SPAM solution -Demand Good Manners

Mar 09 2007 03:45PM
by: Sam<Sam@timbuctoo>

About a year ago I recognized the SPAM problem for what it really is; how it really works; and what it really does. There is nothing new about SPAM, it pre-dates the printing press, it pre-dates common literacy, SPAM as we know it is just a special form of an old problem.

What problem?

Bad Manners

It’s rude to talk to someone you’ve not been introduced to. In Pride and Prejudice, Mr Collins tries to introduce himself to Mr Darcy by way of knowing his relative, but is scorned and ignored.

Why don’t well-mannered cultured people speak with those to whom they are not introduced? Simply because they would be mistaken for bad mannered hangers-on, butters-in or favour-grabbers.

Why do we have a problem with spam? Because we authorize our mail servers to accept mail from any ne’er-do-well without the slightest introduction.

Don’t talk to strangers

In the human world (body snatchers and manchurian candidates aside) the humans body and social knowledge is a good substitute for the persons own identity, and thus it is possible to recognize respectability (as we deem it) and trust (as we value it) in whatever circumstance we find ourselves.

In the electronic world of the internet the email From: address is a poor substitute identity, and often spoofed. SYN-spoofing was solved with SYN-cookies; but what is the email equivalent? SYN-cookies don’t avoid depleting resources when the claimed sending node really is the sending node. A higher level email equivalent would merely prove that there was such a valid email identity for the moment.

SPF is an attempt to filter out messages sent from a bogus location. If I know my mother is in Brighton, and I receive a letter asking me to remit 100 pounds to her sister, but the senders postmark is Liverpool, I could guess that the letter was a forgery. SPF is a way for domain administrators to allow mail spoofed from their domain to be recognized. As a consequence most SPAM spoofers will not spoof From: addresses using domains that have SPF records.

However my problem is how to stop hangers-on and cold-callers offering me the latest in pills or potions or job offers in the Belle Vue, California (instead of Belle Vue, Wakefield) from troubling me with their wares.  I want them to obtain an introduction, I want to assess how I trust them, and not be troubled by the quantity of callers jostling for attention.

The solution is to resurrect the habit of requiring introductions as we again live in a world inhabited by those who are anxious to push their message upon us as if it were the only thing we longed to hear.

Trusted Identity

If your friends get them selves an SSL certificate for email; or use PGP, establish a web-of-trust, it will be easily possible to recognize email from those friends as such howsoever sent. If the said friends can competently manage this electronic identity and associated cryptographic keys, you will be able to trust their identity,and their mail need never go astray - wrongly filtered as spam.

Those without such SSL or PGP signatures will be strangers, albeit recognizable stangers if they use SPF records.

Have an Identity, be trusted

Whats the solution? Have an identity, use it, be trusted.

Sadly some jurisdictions recognize such signed emails as legally binding, use of signing keys is not recommended to the incompetent in such jurisdictions.

Get your signing keys certified by http://www.thawte.com/

Why haven’t I done this? Because it’s too complicated, I’m too busy, and I don’t trust my computer with my keys (!!), so I’ll have to get a smart-card from FSFE-UK.


Comment on Flash hangs in firefox by Chris’ Blog » Blog Archive » Ubuntu Sound: mpd, flash, etc.

Mar 14 2007 02:19PM
by: Chris Blog<Chris Blog@localhost>

[…] Further to my previous post about Flash player, I have it using ESD but I need to configure ALSA to use the dmix plug-in. I found out how to do this here. Very happy now […]


Comment on ASDA Idiots by Ben Furfie

Mar 17 2007 04:58PM
by: Ben Furfie<Ben Furfie@localhost>

I find that strange that the checkout supervisor refused to over-ride the price. I know that in the supermarket that I am a supervisor in, we wouldn’t have an issue in over riding the price if there wasn’t what you wanted, in the size that you wanted. I know that the only thing we can’t do that on is Beer and Cigerettes because of legal reasons.

If you do ever shop in ASDA again, and a similar situation arises, promptly ask about ‘Smiley Squad’ vouchers which allow colleague to take up to a £1 off for when we don’t have a particular item or product in stock. So in other words, the reduction in cost from the individual cartons shouldn’t have been a problem.

What I would do is suggest contacting ASDA House as well as writing a letter to the GSM of your local store listing the name of the supervisor or if you can’t remember; a description and the time of the day they were working.

I feel sorry that you got treated like that; I know of one or two people like that in the store I work in and often it is just because they are bitter people themselves and should be taken as no reflection on the rest of the staff and company.

As for the lack of stock; unfortunatley that is just a fact of life in modern supermarkets. If you shop at the weekend when everyone else does you have to realise that often there isn’t enough shelf space to stock the necessary amount of products to cope with the demand. The same applies to evenings because most stock isn’t put out except at night; although for things like Milk etc tends to be stocked throughout the day so it could have just been that there was no stock in, or it was being delivered.

The best thing to do is to raise hell not with the supervisors who depsite the power complex a minority have; believing that they are the be all and end all of decisions take with regards to customer service, instead, asked to speak to the department manager; or if they are not available, then the customer service manager or the on duty manager (it’ll either be the GSM or the manager with overall responsibility for the store at that time of the workday).


gL3tIyli

Mar 22 2007 11:01AM
by: Sam<Sam@timbuctoo>

You all know who you are. Identify yourselves.


Comment on Prank Callers Revenge Complete by Steve

Mar 23 2007 02:12PM
by: Steve<Steve@localhost>

Re: 0870 0500524 (a late comment)
According to SAYNOTO0870.COM calls from 0870 0500524 originate from Iresponse Centres Ltd.
“Call centre contacting for a 3rd party using an autodialer”

Companies House gives their address as:

IRESPONSE CENTRES LIMITED
C/O MCCLURE NAISMITH, NOVA HOUSE
3 PONTON STREET
EDINBURGH
EH3 9QQ


Comment on Prank Callers Revenge Complete by joe

Mar 24 2007 11:54AM
by: joe<joe@localhost>

My phoneline is handled through the free Asterisk PBX, using a pci card plugged into a spare PC, and then IP phones in my house…
I deal with such callers as follows:

exten => _s/08700500524,1,Answer()
exten => _s/08700500524,n,NoOp(— ${CALLERID} calling —)
exten => _s/08700500524,n,Wait(1)
exten => _s/08700500524,n,Playback(test/pleasewait)
exten => _s/08700500524,n,Playback(tt-somethingwrong)
exten => _s/08700500524,n,Playback(tt-monkeysintro)
exten => _s/08700500524,n,Playback(tt-monkeys)
exten => _s/08700500524,n,Hangup()

Which basically plays a few samples of monkeys, and then hangs up on them… I used to have it play the monkeys in a loop to see just how long they would stay on the line for.


BYU-TV on linux

Apr 01 2007 07:58PM
by: Sam<Sam@timbuctoo>

This weekend I was watching the General Conference of the Church of Jesus Christ of Latter-day Saints (the Mormons).

The church itself no longer provides windows media streams of the video during the event, but audio only. This allows them to use their resources to provide audio streams to a wider range of users and in more languages.

Users wanting video are instead directed to www.byu.tv. Alas, whereas before I was able to use my linux video player of favour (totem or mplayer) to watch video, BYU TV streams video using a proprietary video format and requires a proprietary video player which seems to require the purchase and licensed use of certain proprietary operating systems. (Windows or MacOS). I may have mentioned that I’m using Ubuntu Linux.

Fortunately, as I have an x86 platform, I was able to watch all of conference on Linux by using windows firefox running under WINE with the Move Networks plugin. It was a simpel matter of making sure I had WINE installed and then installing Firefox for windows and then browsing to www.byu.tv where I was prompted to load the Move Networks plugin.

Sadly the move-networks plugin thought it was running in 256 colour mode, and so rendered the 24 bit colour into 8 bit hatching. (I took a screen-grab I can send to demonstrate this if you like). This required the combined processing power of 2 3GHz CPU’s to show video at full screen.

Fortunately move networks plugin WOULD play even when it thought it was in 256 colour mode, and fortunately I did have 2 3GHz CPU so I COULD watch in full screen.

Implications are that move networks could do an x86 linux plugin without too much hard work, if they would link with winelib.

It would still be a horrible proprietary video format and player, btu at least i would be able to choose my operating system.


Comment on HP48 Skin for M3100 / Hermes by skin in Full Screen

Apr 03 2007 03:22PM
by: skin in Full Screen<skin in Full Screen@localhost>

# skin in Full Screen

add Menubar 0

Background
Menubar 0
Topbar 0
Offset 0 26
Size 320 240
End


Signing Jars with pvk

May 14 2007 12:57PM
by: Sam<Sam@timbuctoo>

I had a little fun signing Jar files recently. I was using Comodo for my code signing certificate, which generates the CSR and private key using MSIE and xenroll - which suits me, (I once briefly ran a CA before, based on ssleay and xenroll). I exported the private key as a pvk file during the generation process.

The difficulty was getting the java keytool  to import a private key. The other difficulty was getting the secret proprietary microsoft .pvk format into a form that anything else knew about.

I got it working using pvktool to convert from pvk to pem format:

wine pvk.exe -in mykey.pvk -nocrypt -out mykey.pem 

I then used openssl to combine the key pem file with the cer file I had exported from MSIE to make a pkcs12 file:

openssl pkcs12 -export -chain -name FRIENDLYNAME -inkey mykey.pem -in mycert.cer -out all.pkcs12

The final clue was to give up using keytool to import the pkcs12 into the java keystore, but just use the pkcs12 file directly:

jarsigner -storetype pkcs12 -keystore all.pkcs12 JARFILE.JAR "FRIENDLYNAME"

For completeness I note that a pfx export from MS Windows is close enough a PKCS12 file, as is an export from Mozilla Firefox; however I wasn’t able to import the openssl generated pkcs12 file into MS IE, unless I imported it and exported through Firefox first. It may be something else I had done wrong at the same time that stopped it working otherwise/

And I’m not sure where the certificate chain came from, openssl’s root CA’s no doubt.


Comment on Prank Callers Revenge Complete by Chris Buckley

Jun 06 2007 02:09PM
by: Chris Buckley<Chris Buckley@localhost>

0141-444-0444 - just called them directly and they’ve removed me from their dialler.


Comment on XSLT Hex to Decimal Conversion by Skeeve

Jun 15 2007 01:48PM
by: Skeeve<Skeeve@localhost>

If you are interested in an XSLT 2.0 function converting hex to dec, here we go (snippet):

invoke with hex:dec(somestring)

Letters have to be uppercase in this implementation and it works recursively too.


Comment on XSLT Hex to Decimal Conversion by Skeeve

Jun 15 2007 01:48PM
by: Skeeve<Skeeve@localhost>

Ups… Where is my code?


Comment on XSLT Hex to Decimal Conversion by Skeeve

Jun 18 2007 09:36AM
by: Skeeve<Skeeve@localhost>

Hier is a recursive function that does the same in XSLT 2.0

<xsl:stylesheet xmlns:xsl=”http://www.w3.org/1999/XSL/Transform”
version=”2.0″
xmlns:hex=”http://user.com/namespace”
exclude-result-prefixes=”hex”>

<!– sample call –>
<xsl:value-of select=”hex:dec(’ffe4′)”/>

<xsl:function name=”hex:dec”>
<xsl:param name=”str”/>
<xsl:variable name=”len” select=”string-length($str)”/>
<xsl:value-of
select=”if (string-length($str) &lt; 1)
then 0
else hex:dec(substring($str,1,$len - 1))*16+string-length(substring-before(’0123456789ABCDEF’,substring($str,$len)))”/>
</xsl:function>
</xsl:stylesheet>


Terminal Servers

Jun 20 2007 03:28PM
by: Sam<Sam@timbuctoo>

I recently bought a Chase IOLAN RACK+ on ebay, only to find the built in switched mode PSU was clicking away like a broken thing.

The vendor generously offered a refund and let me keep it to repair or dipose of.

I then bought what I thought was another Chase IOLAN RACK+, but it fact it was the non-rack DB25 version with external PSU.

I decided they probably had the same voltages, so I could swap the PSU around, and with a bit of metal bending get things working for the RACK model.

While prodding the RACK+ PSU with my voltmeter to work out how to splice in the new PSU it suddenly started working; I guess the problem is most likely dry joints.

Next I find that my RJ45-DB9 cisco console cables don’t work. I find the Cisco pinout at http://www.technick.net/public/code/cp_dpage.php?aiocp_dp=pincabser_cisco_9 and by conferring with the Chase manual, come up with this  colour mapping.

IOLAN / Cisco Cable mappings
IOLANCISCORJ45 NamesRJ45DB9DB9 Names
2BlackRTS18CST
8BrownDTR26DSR
4RedTXD32RXD
6OrangeGND45GND
 YellowGND55GND
5GreenRXD63TXD
3BlueDSR74DTR
7White/GreyCTS87RTS

I cut off the RJ45 from the Cisco cables and make my own, which work fine!

So, as I crimp on a new RJ45, my colour mapping is:
NONE, BLACK, BLUE RED GREEN ORANGE WHITE BROWN
with yellow dangling/

Hurrah! I can now control 16 devices at once using debian’s cylcades-serial-client; all much more satisfactory that USB com ports which have given me no end of trouble.


Comment on ASCII character conversion by Skeeve

Jun 25 2007 07:40AM
by: Skeeve<Skeeve@localhost>

Are you limited to od sed and such?
The first one can be done as
echo -ne “A” | perl -ne ‘printf ord $_’
the second one as
echo 65 | perl -ne ‘printf “%c”,$_’
or, if you don’t want to pipe as:
perl -ne ‘printf ord “A”‘
perl -ne ‘printf “%c”,65′

perl is standard on most Unices nowadays


Comment on ASCII character conversion by Sam

Jun 25 2007 09:08AM
by: Sam<Sam@timbuctoo>

I was limited to not using perl. I guess I could have used awk.


$150 Bounty: 0402:5602 m560x webcam driver

Jun 27 2007 09:51PM
by: Sam<Sam@timbuctoo>

I bought a fancy refurbished Acer laptop at a nice price. Ubuntu Feisty Fawn likes it all except the webcam, which is identified as 0402:5602, also known as m560x.

Well, I want it to work. I also want to improve the linux kernel, but I won’t be the one writing the driver, so instead I’ll use some of what I saved on this laptop to offer a bounty to the chap who does it.

I’ll pay by paypal $150 when Greg Kroah-Hartman of the usb-devel mailing list, or one of his deputies (e.g. Jiri Kosina) accepts working patches for this webcam and commits them for the upstream kernel; and where with the said patches I can get xawtv, ekiga and the like to enjoy the video source. like any other standard video source. The patches must be licensed under the GPL2, or GPL2 or later. The author retains copyright (naturally) or assigns it to the FSF.

To qualify, the patch, and earlier patch candidates (yes, they will make you tweak it and re-submit) must be submitted on the usb-devel mailing list, and excepting complications, the paypal payment will be to the email address comprising the Signed-off line in the patch submitted on said mailing list. I’ll split the bounty as joint contributors can agree or failing that, at my discretion. I expect one developer will leave a clear trail on the mailing list, terminating with the accepted patch, making recognition of the deserving author and subsequent payment easy.

The bounty offer will end after a valid claim has been made.

In any case it’s my intent to pay up to $150 to encourage development of such a driver and to pay it to those who write it and release it for kernel.

(It’s been suggested that this may involve working on sane-devel as well as usb-devel, in which case patches may need to be accepted for upstream submission by maintainers of both projects to qualify).

Information for starters:

  • Someone doing a SANE backend.
  • Info about a seemingly expired actiongames project to write a driver.
  • People on linux-projects begging for a driver, in the presence of one Luca who claims to have one (sort of).
  • A nicely collated list of all the webcams that use the said chip.
  • Someone else begging for a driver.
  • More people begging for a driver.

Of course I’ll post the bounty notice in some of these places too.

UPDATE
I’m advised by one of the developers that more likely two drivers, m5602 and m5603 will hit the kernel; unknown timescales.
As long as the 5602 is supported I don’t mind splitting the bounty fairly between contributors of both drivers; in my view it is a common work that is now more conveniently expressed as two modules instead of one.
I expect other contributors will feel the same was as long as their device is supported.


Comment on $150 Bounty: 0402:5602 m560x webcam driver by James

Jun 28 2007 04:52AM
by: James<James@localhost>

The actiongames project moved to sourceforge: http://sourceforge.net/projects/m560x-driver/


Comment on Prank Callers Revenge Complete by bob

Jun 28 2007 09:39AM
by: bob<bob@localhost>

What I’d like to know is how can someone respond to this sort of hassle that actually costs the perpetrator money !


Comment on Prank Callers Revenge Complete by Steve

Jun 29 2007 04:29PM
by: Steve<Steve@localhost>

Call 0141 444 0444 and they say they will remove your number - let’s hope so


Comment on XSLT Hex to Decimal Conversion by Skeeve

Jul 02 2007 08:28AM
by: Skeeve<Skeeve@localhost>

Version 2 which also works for empty strings (returns the empty string), with lower- and uppercase letters and is (maybe) a bit less clumsy…

<?xml version=”1.0″ encoding=”UTF-8″?>
<xsl:stylesheet version=”2.0″ xmlns:xsl=”http://www.w3.org/1999/XSL/Transform”
xmlns:hex=”http://user.com/namespace”
xmlns:uri=”http://user.com/namespace”>

<xsl:value-of select=”hex:dec(’ffe4′)”/>

<xsl:function name=”hex:dec”>
<xsl:param name=”str”/>
<xsl:if test=”$str != ””>
<xsl:variable name=”len” select=”string-length($str)”/>
<xsl:value-of select=”
if ( $len < 2 ) then
string-length(substring-before(’0 1 2 3 4 5 6 7 8 9 AaBbCcDdEeFf’,$str)) idiv 2
else
hex:dec(substring($str,1,$len - 1))*16+hex:dec(substring($str,$len))
“/>
</xsl:if>
</xsl:function>
</xsl:stylesheet>


Comment on XSLT Hex to Decimal Conversion by Sam

Jul 02 2007 09:15AM
by: Sam<Sam@timbuctoo>

Blessed are they with xslt 2.0 support.

One day, maybe, xsltproc (libxslt) will be updated to support xslt 2.0, or maybe I’ll finish my xslt 2.0 to xslt 1.0 compiler, making heavy use of temporary files in order to assign rtf to variables.


Windows-only IP camera on linux

Jul 12 2007 09:46PM
by: Sam<Sam@timbuctoo>

I got a nice panning VGA camera for £69.00, but it’s one of those cameras from hell that only supports internet explorer on windows and crashes windows a lot.

As far as I can tell generically it is an SQ IP Cam or a GP-280 IP Camera.

I want to use it on linux, so out comes ethereal to do some packet sniffing and here is what I get:

I can get a video stream (special header and concatenated JPEG’s) with this URL:

http://192.168.1.69/cgi-bin/Stream?Video?Acc=USERNAME?Pwd=PASSWORD?webcamPWD=RookCookies00000

Possibly the RootCookies bit is important, perhaps related to a login that occurred earlier.

I can move the camera wth:

http://192.168.1.69/motor_control_right?webcamPWD=RootCookie00000
http://192.168.1.69/motor_control_left?webcamPWD=RootCookie00000
http://192.168.1.69/motor_control_up?webcamPWD=RootCookie00000
http://192.168.1.69/motor_control_down?webcamPWD=RootCookie00000

For horizontal and vertical centre

http://192.168.1.69/motor_control_auto_h?webcamPWD=RootCookie00000
http://192.168.1.69/motor_control_auto_v?webcamPWD=RootCookie00000

Full centre

http://192.168.1.69/motor_control_center?webcamPWD=RootCookie00000

To stop

http://192.168.1.69/motor_control_stop?webcamPWD=RootCookie00000

The special header on the video stream is a 40 byte header. I’m expecting certain values so they were easy to find:

Stream Header
OffsetFormatData
0×16-0×1716 bit integer LSBsize of jpeg in bytes, or in other words, the number of bytes to read after this header before the start of the next header
0×1a-0×1b16 bit integer LSBjpeg width in pixels
0×1c-0×1d16 bit integer LSBjpeg height in pixels
0×28-Start of JPEG header  

So stripping off the first 40 byte with
dd if=stream of=1.jpeg bs=1 skip=40

leaves me a jpeg (with loads more jpegs on the end, ech prefixed by the same 28 byte header).

So I can control the camera and rip video from it, now to make it like zoneminder.

UPDATE:

I can watch a video stream with VLC using:

wget -O /dev/stdout http://192.168.1.69/cgi-bin/Stream?Video?Acc=USERNAME?Pwd=PASSWORD?webcamPWD=RookCookies00000 |dd  skip=40 bs=1 | vlc -

I modified axmjpeg so it can split images from my camera too.
Just apply this patch: axmjpeg-sqdiff

Update: 20 Sept 2007
This patch has been reworked applied to the standard axmjpeg project. (a while ago!)

This script can be used to control the camera from zoneminder:

#! /bin/bash
preset=home
presets="nothing motor_control_auto_h motor_control_auto_v motor_control_stop motor_control_center"
while test -n "$1"
do
  case "$1" in
    --address=*) address="${1##--address=}";;
    --address)   address="$2"; shift;;
    --command=*) command="${1##--command=}";;
    --command)   command="$2"; shift;;
    --preset=*)  preset="${1##--command=}";;
    --preset)    preset="$2"; shift;;
  esac
  shift;
done
url_base="http://$address/"
url_tail="?webcamPWD=RootCookie00000"
case "$command" in
  # home goto
  preset_home) url_command="motor_control_center";;
  preset_goto) set $presets; shift "$preset"; url_command="$1";;
  # right left down up
  move_rel_*) url_command="motor_control_${command##move_rel_}" ;;
esac
url="$url_base$url_command$url_tail"
wget -O /dev/null "$url" 2>/dev/null

UPDATE: Fix status timeout: status=0xd0 { Busy }

Jul 18 2007 09:36PM
by: Sam<Sam@timbuctoo>

I got a nice Acer laptop for not much from PC World, but it has a sucky TSSTcorpCD/DVDW TS-L632D, ATAPI
 CD/DVD-ROM drive. The manufacturers have released a firmware update, but not for my OEM. Bah!

Gareth and Gareth have explained how to do a firmware update which (as it works for me) is a better solution:
See https://bugs.launchpad.net/ubuntu/+source/linux-source-2.6.20/+bug/75295

My own solution below is buggy and prone to calling the atapi reset TWICE (hanging the machine). I have a fix (not with me as I edit this now) which prevents the atapi reset being called twice in one minute, but I think the better solution is the firmware update.

As a consequence if the moon shakes a bit too much or one of the electrons gets a bit too hot, the CDROM drive stops responding. For windows users it disappears from My Computer altogether and they have to reboot.

Linux users are both better and worse off. Worse because the system hangs 4 seconds out of 5 and the syslog fills up with messages like "/dev/hdc: status timeout: status=0xd0 { Busy }"

If you can bear to slowly get a command window, a bit of "sudo hdparm -w /dev/hdc" will fix it, but thats too painful.

So, this script will fix it. You need to modify /etc/syslog.conf to add this line "kern.* /var/log/kern.fifo" to log kernel messages to a named pipe from which the script will read.

Install the script in /usr/local/sbin/fixhdc, and run it from /etc/rc.local with: "setsid /usr/local/sbin/fixhdc &"

#! /bin/bash
# /usr/local/sbin/fixhdc
# by Sam Liddicott http://www.liddicott.com/~sam/?p=79
# Monitor kernel messages to see if the cdrom is jiggered
# If so do an atapi reset
# First add this line to /etc/syslog.conf
# kern.* /var/log/kern.fifo
# Then run this script from /etc/rc.local with:
# setsid /usr/local/sbin/fixhdc &

KERNFIFO=/var/log/kern.fifo
CDROM=hdc

CDROM_NODE="/dev/$CDROM"

daemon() {
  while read logline
  do
    case "$logline" in
      *"$CDROM: status timeout: status=0xd0 { Busy }"*)
        hdparm -w "$CDROM_NODE"
        logger -t ‘kern.crit’ — "$0 reset $CDROM"
      ;;
      *) echo "Ignore $logline";;
    esac
  done
}

while :
do
  if test -p "$KERNFIFO" || mkfifo "$KERNFIFO"
  then daemon < "$KERNFIFO" &
       # restart syslog now we have the pipe open
       /etc/init.d/sysklogd reload
       # it probably won’t finish till syslog does
       wait
       logger — "Restarting $0"
  else echo "Can’t make fifo $KERNFIFO"
       exit 1
  fi
done


Comment on HP48 Skin for M3100 / Hermes by Emmett

Jul 27 2007 12:34AM
by: Emmett<Emmett@localhost>

This is wonderful! I’m just wondering if there is a way to map the ON button to a key on the Hermes. I couldn’t figure out the scan codes for the hermes keyboard so I just mapped it to the Space key for now…


Comment on Prank Callers Revenge Complete by Eric Martin

Aug 15 2007 09:00PM
by: Eric Martin<Eric Martin@localhost>

I had a phone call from someone asking to speak with “Eric Martin” I replied this is he and the chap immediately put the phone down. I did 1471 and the 08700 500524 number was logged at 08:45pm on 15/08/07. It would appear to me that whoever this person was that he was simply ringing to obtain confirmation that I was at that number and presumably was obtaining confirmation that I still reside at my London address. This is somewhat worrying why should someone be using the 08700 500524 number for that purpose? Perhaps there is something untoward happening that I am not yet aware of but will find out in the future to my detriment no doubt! By the way, I did not detect any Scottish accent the chap sounded typically English-no accent whatsoever. I state this as some seem to have experienced calls from Edinburgh/Glasgow.


Comment on Prank Callers Revenge Complete by mike

Aug 31 2007 09:19AM
by: mike<mike@localhost>

31.08.07 Solution!!!! I just found their number. They are called “I Response Centres”, Glasgow. Call them on 0141 444 0444 and ask them to remove your number. I just did it and they have said my number will be removed within 24 hours. Let’s see…. full details

I Response Centres
5 Drum Mains Pk, Cumbernauld
Glasgow
G68 9LD
0141 444 0444


Comment on Prank Callers Revenge Complete by Dee

Sep 03 2007 02:56PM
by: Dee<Dee@localhost>

We have just started to get calls from this number. I did as Steve suggested and asked for my number to be removed. A nice young lady from Scotland said that she would remove it from their database - we shall see.
Thanks for the info


Comment on Windows-only IP camera on linux by olivier

Sep 05 2007 10:15PM
by: olivier<olivier@localhost>

hello
i have the same IP cam “gp 280″ and i need use this with firefox or VLC but with windows (for the moment)
Wath must i do for use VLC for video??

thanks
olivier


Can Black Rod Prevent Tasered Students?

Sep 19 2007 10:07PM
by: Sam<Sam@timbuctoo>
Slashdot   Slashdot It!

International websites, and American TV news have all covered the incident where a student was tasered by American police while resisting officers who tried to prevent him asking a long rambling political question, even after John Kerry being asked the question said he would answer.

Whatever your take on this particular situation, this is the continuation of bad trend that started before designation "safe protest zones" well away from the political figuring being protested to.

So how can Black Rod save the day? The answer lies in the power of political ritual and ceremony to keep certain ideas alive.
Purloining freely from Wikipedia:

State Opening of Parliament

Black Rod is best known for his part in the ceremonies surrounding the State Opening of Parliament and the Throne speech. He summons the Commons to attend the speech and leads them to the Lords. As part of the ritual, as Black Rod approaches the doors to the chamber of the House of Commons to make his summons, they are slammed in his face. This is to symbolise the Commons’ independence of the Sovereign. Black Rod then strikes the door three times with his staff, and in reply to the challenge "Who is there?" answers "Black Rod". He is then admitted and issues the summons of the monarch to attend. This ritual is derived from the attempt by Charles I of England to arrest five members in 1642, in what was seen as a breach of privilege, though strictly the King was entitled to enter the chamber. After that incident, the House of Commons has maintained its right to question the right of the monarch’s representative to enter their chamber, though they can not bar him from entering with lawful authority.

The ceremony maintains the right.

From this day forth, a new tradition (like the famous Slashdot "first post") must begin.

The first question asked at any political rally, or convention must be a ceremonial question:"The police aren’t going to arrest or taser us if we ask unpopular questions, are they?"

Let the asking of this ceremonial question be offered to distinguished guests as a token of politeness, or to student body presidents, or the rotary club president, or the mayor.

And then the police, or the host will give the ceremonial answer: "No, not even if you are courteous or impolite, but we respectfully ask you to be courteous and polite to our guests and others present".

Maybe the questions need improvement, but the main thing is that it happens.

Make it happen, have the suggestion posted in every student handbook and newspaper, have it asked every time.

The maintenance of your liberty depends on the regular performance of this new ceremony.

New Lyrics

Lyrics to "He’s not Heavy. He’s my brother", anyone want to make a recording?

To the tune of "He ain’t heavy"

I may be wrong
with many a foolish thought
that leads me to who
  knows where
who knows where
If I’m wrong
show me that you care
please don’t taze me, please my brother

I hope you know
I welcome your point of view
don’t have to agree
to hear
or to share

for I know
the law preserves our liberty
please don’t taze me, please me brother

If I’m learning
  at all
I’m learning
  with sadness
that every tyrants heart
is-a filled with the badness
and hate
for free opinion

it’s a long long road
I fear there is no return
and we’re on the way
to hell
were nearly there

and the law
shouldn’t weigh us down at all
please don’t taze me, please me brother

( please my brother

  please don’t taze me

  please my brother
)


Comment on Windows-only IP camera on linux by LiamK

Sep 19 2007 11:10PM
by: LiamK<LiamK@localhost>

Hello,
Picked one of these cams as well :). Want it to add pic and video streaming to my weather site. Like you, I can get the cam to move with the ‘move’ commands, but cannot get it to stream or show jpgs by the command
“http://192.168.1.69/cgi-bin/Stream?Video?Acc=USERNAME?Pwd=PASSWORD?webcamPWD=RookCookies00000″. I presume that Rook should be Root :). Using Windows XP. Do I have to add my own username and password into the command. Any help appreciate. Thanks very much.

BTW this cam only appears to work in IE6.


Comment on Windows-only IP camera on linux by Sam

Sep 20 2007 01:13PM
by: Sam<Sam@timbuctoo>

LiamK,

Yes, the url should be RootCookies not RookCookies.
Yes, you should replace USERNAMe and PASSWORD with your own username and password.


Comment on Windows-only IP camera on linux by LiamK

Sep 23 2007 06:52PM
by: LiamK<LiamK@localhost>

Thanks,
Tried to get a stream with my username and password but to no avail, any other suggestions. I would to get this working. any tips appreciated.

Regards

Liam K


Comment on Windows-only IP camera on linux by Sam

Sep 24 2007 07:49PM
by: Sam<Sam@timbuctoo>

I think it is RookCookie and not RootCookie, try that!


Comment on Windows-only IP camera on linux by Jason

Sep 26 2007 09:20PM
by: Jason<Jason@localhost>

Hi Liam,

it is definitely RootCookies00000 - this is the name of the Cookie that’s created when you log in with your webcam administrator account. Alternatively, you could try UserCookies00000, which is the guest account equivalent.
Also, the Acc=USERNAME and Pwd=PASSWORD must always be your administrator account name and password, even when using UserCookies00000 (no idea why).


Comment on Prank Callers Revenge Complete by kim

Oct 06 2007 09:57AM
by: kim<kim@localhost>

came back from holiday to find 5 calls from 08700 500524–and because of these and another nuisance 0800 call, the tape filled so friends could not leave messages.

6 0ct 2007


Comment on BYU-TV on linux by next time

Oct 06 2007 03:31PM
by: next time<next time@localhost>

“btu at least” typo eh?


Comment on Bobby Robson quotes by Ruth Bardsley

Oct 17 2007 05:54AM
by: Ruth Bardsley<Ruth Bardsley@localhost>

Have you got any George Bush ones? Those were great!


Comment on UPDATE: Fix status timeout: status=0xd0 { Busy } by Valerio

Oct 19 2007 11:20AM
by: Valerio<Valerio@localhost>

Very smart idea. I was searching for something similar to solve this problem because I don’t have any programming/scripting skill. Thank you


Comment on $150 Bounty: 0402:5602 m560x webcam driver by Paul Tatham

Nov 02 2007 11:37PM
by: Paul Tatham<Paul Tatham@localhost>

Sam, it’s over 4 months since the orginal post but I’m also interested in this driver and am willing to match the bounty of $150. It’s the only thing on my laptop that I can’t get to work. As soon as I can get the driver and do a modprobe and have it work I’ll be more than happy to part with some cash. (btw, at the time I’m writing this, Nov 2/07, the $cdn is about $US1.07, so I’d actually be paying about $US160.50 ;). It will be a good day for me when I get an email asking me to cough up. All I need is a name and address for the cheque.


Comment on $150 Bounty: 0402:5602 m560x webcam driver by Sam

Nov 03 2007 07:29AM
by: Sam<Sam@timbuctoo>

Thanks for matching the offer.

You might do well to post the offer on the mailing list at:
http://sourceforge.net/mailarchive/forum.php?forum_name=m560x-driver-devel


Comment on Prank Callers Revenge Complete by Michelle Parfitt

Nov 09 2007 01:40AM
by: Michelle Parfitt<Michelle Parfitt@localhost>

Received a call from 08700500524 asking me if i was a business, to which i replied yes. They then proceeded to ask me if i had a cd player i played on my premises or any electrical equipment that played music, radio or PC etc to which i replied yes.They then went on to say i would need a license to play music to my employees just as we require a license to watch tv. Having never herd of this i requested they forward me information in this respect together with the government guidelines regarding this of 1988 as they so advised me of these.

Any comments welcome!


Derek Cooper Special Award 2007

Nov 14 2007 10:59PM
by: Sam<Sam@timbuctoo>

Here’s my nomination for the Food and Farming Awards 2007 Derek Cooper Special Award:

Ray Gunge
Hardtack Hall, Hardtack Lane, Noshleigh
(no phone number, sorry)

With long service to the nation as chairman of the British Catering Council and other industry associations, and awarded the Confrerie des Snacquevins, few can have done more to make a healthy diet more important to the nation, or a varied diet more interesting.

Rather than continuously trotting out last years healthy but but unwelcome fad,
Ray has always been at the forefront of culinary development and research, but so as to keep it relevant to the changing fashions and demands of the consumer.

Unlike many academic experts Ray has practiced this philosophy across the entire range of food establishments, un-abashed by ill-informed criticism, and without pandering to the artificial requirements of many so-called food awards, he has worked tirelessly to bring his vision of making quality food available to the paying masses in a way that they can appreciate.

His story is well known to Mr Cooper and it it is hoped that jealous parties have been prevented from infiltrating the selection committee this year, where they have so often prevented Mr Gunge from receiving deserved and much over-due recognition.

His story should be dramatized and re-told on BBC radio.

Think about it, and God bless!

Published selected episodes from the life of Ray Gunge sold out, but discerning and appreciative readers will no doubt manage to get a copy of this well written account.

 

GPL3 Questions and Implications

Nov 22 2007 10:01AM
by: Sam<Sam@timbuctoo>

It has been suggested by Shane Martin Coughlan following a gently heated discussion on the discussion@fsfeurope.org mailing list, that a collection of questions relating to the GPL3 be collated and put to the FSF authors.

* Shane Martin Coughlan wrote, On 21/11/07 20:14:

Suggestion:How about we make a list of concerns that people have and I email BrettSmith with them?  That way we consolidate the concerns into onesubmission and potentially speed up the process of obtaining answers.MJ, Sam, perhaps you could coordinate the list of questions.

This page is setup for that purpose.

Readers: feel free to add comments or questions relating to GPL3 or AGPL, a compilation of which will be sent to Brett Smith by Shane.

My personal proposal is the creation of a list of implications of choosing a specific license to help prospective licensors choose (or avoid) a license according to their requirements.

My proposed implication is:

The GPL is widely considered a share-alike license where licensors have understood that the same terms will propagate throughout the distribution chain.

With the GPL3 this is not true: at some time in the distribution chain, derived works may have certain additional restrictions added, thus licensing the combined work under the AGPL such that when an original contributor receives the derived work with enhancements to his own work, he may not distribute any combination of his work with any of those enhancements unless he does so with the additional restrictions of the AGPL.

If the licensor finds this disparity objectionable then he may prefer to use the GPL2.

I believe that this implication is not widely understood and because ealier versions of the GPL are widely known to prohibit the addition of extra restrictions, this implication is also unexpected.


Comment on GPL3 Questions and Implications by Sam

Nov 22 2007 12:47PM
by: Sam<Sam@timbuctoo>

I’m not opposed to the AGPL, I’m opposed to the additional restrictions that may be added to derivatives of my work by others that GPL3 permits.

That means that I may release or enhance AGPL software, but if I release under GPL3 I don’t want to see it going round under the extra restrictions of the AGPL.


Comment on GPL3 Questions and Implications by Sam

Nov 22 2007 01:49PM
by: Sam<Sam@timbuctoo>

Please can it be clarified; GPL3 section 13 states:

13. Use with the GNU Affero General Public License.

Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such.

So… if a GPL3 templating system is combined with an AGPL CMS, and the CMS author patches the templating system, does someone downloading the CMS source (AGPL) get to use the patched templating system under GPL3?


Comment on GPL3 Questions and Implications by Sam

Nov 22 2007 03:34PM
by: Sam<Sam@timbuctoo>

Previous GPL licenses have been based on copyright, by granting conditional distribution rights, but section 13 of AGPL the seems not to be such a term, as it restricts use regardless of distribution activity.

Is this based on copyright permissions required to “install” the software? Or does part 13 not affect non-distributing service providers?


Comment on GPL3 Questions and Implications by MJ Ray

Nov 22 2007 06:42PM
by: MJ Ray<MJ Ray@localhost>

My big question is: Can someone modify a GPL3 web application and make their changes available only under the AGPL3?


Comment on GPL3 Questions and Implications by edA-qa mort-ora-y

Nov 22 2007 07:17PM
by: edA-qa mort-ora-y<edA-qa mort-ora-y@localhost>

I intend on releasing code with the Affero GPL so the concern over section 13 of the normal GPL does not affect me too much. Though I can understand the concern that people have over it, particularily those that had licensed under “GPL v2 or later versions”. To some it may seem to be an “extra restriction”.

I must say however, that the additions that the AGPL add over GPL are in my mind what was intended by the previous GPL versions to begin with. I see the GPL as a way to protect users, primarily against vendor lock-in. In a world of the web and extensive online programs, I just don’t see how the normal GPL can anymore guarantee the user freedom and control of their own data.


Comment on GPL3 Questions and Implications by Sam

Nov 23 2007 08:56AM
by: Sam<Sam@timbuctoo>

To respond to edA-qa mort-ora-y (thanks for your comment):

I think many people think that AGPL is what was intended by previous GPL versions.

To many, I think, it extends the definition of user, not beyond the general meaning of the word user, but beyond instances of user that originally existed, and so what was (or would have been) originally intended is what is at dispute.

Web users are users who usually do not possess the object code, and much of earlier GPL philosphy was based on defining user by those who possess the object code, so it is not surprising that some are surprised when a new new class of user appears and the definition of user changes to include these.

To my own view, usually web users are not users of the software but users of a service provided by the software. To some this is splitting hairs, but that just defines the disagreement.


Comment on GPL3 Questions and Implications by Sam

Nov 23 2007 08:58AM
by: Sam<Sam@timbuctoo>

My own dispute is not on the grant of source or freedom to the end user, but on the treatment of the author-user, who under GPL2 had expectation of being able to receive back changes under the original terms.

GPL3->AGPL upgrade (if it exists) breaks that expectation.


Comment on GPL3 Questions and Implications by Sam

Nov 23 2007 09:18AM
by: Sam<Sam@timbuctoo>

I’m trying to explain a fact, not scare-monger.

Is GPL3/13 a backdoor? Authors who choose not to add “or later”, restricting their software to GPL3 only, can still have it upgraded to AGPL whose text is not yet fixed.

The AGPL is effectively a later revision of the GPL3.


Comment on GPL3 Questions and Implications by Ben

Nov 23 2007 09:19AM
by: Ben<Ben@localhost>

Previously a service provider - such as a webmail service — could use a GPL webmail system, and modify it without having to release the modifications back to the community. The ISP/Service provide USES the software to provide a service. The user just uses the service.

With AGPL they can’t.

If I am providing a webmail service, all service improvements must be implemented as changes to the base webmail software. How can I provide better webmail if I can’t prevent my competitors from immediately copying what I have done?

All of which gives web service providers a reason not to use the AGPL, and to shun any contributions which use it.


Comment on GPL3 Questions and Implications by Sam

Nov 23 2007 09:41AM
by: Sam<Sam@timbuctoo>

Questions on the workability of the AGPL web-source requirements.

The AGPL can be used as a technical lockout or DDOS, preventing small-scale providers with small network capacity from making effective use of AGPL software.

How many times does the service provider have to provide source to each user?

How much use counts as “use”?

Can users be required to make accounts with valid email addresses first?

What sort of network speeds does the source have to be made available at? What sort of slow-random-access-tape-based-backing-store must the source be fetched from?


Comment on GPL3 Questions and Implications by Sam

Nov 23 2007 10:03AM
by: Sam<Sam@timbuctoo>

Reply to Ben:

This is true, and although the AGPL may represent a change in expectation of service providers, I think the GPL was never designed to convenience the business of users who want to with-hold code; i.e. their inconvenience is incidental to the rights of users.

(for a given definition of user).


Comment on GPL3 Questions and Implications by Sam

Nov 23 2007 01:10PM
by: Sam<Sam@timbuctoo>

Is the AGPL’s clause on GPL3 ineffective without GPL3 clause 13?

As far as I can see it can still be effective without GPL3 clause 13.

If this is true, it sheds light on the possibility of once license restricting another.

I admit that GPL3 effectively warns of this so I’m not suggesting unfairness on the part of the FSF.


Comment on GPL3 Questions and Implications by Sam

Nov 26 2007 09:15AM
by: Sam<Sam@timbuctoo>

* MJ Ray wrote, On 25/11/07 17:23:
> Carsten Agger wrote:
>> […] e.g. I create a
>> realtime online GCC compiler using a CMS under the Affero GPL (not that
>> weird an idea: The compiler might create binaries for portable devices
>> on which it’s not easy to install a compiler yourself), then the Affero
>> GPL will apply to the CMS as well to the work as a whole - HOWEVER, the
>> GCC compiler will still be pure GPLv3. […]
>
> And what licence(s) can be used for any modifications to the compiler
> done as part of the same project?
>
> The work as a whole seems to be able to be under Affero GPL, so can
> the modifcations to the previously-GPL part be under Affero GPL?
>
> I think this may be another question for the collation.


Comment on GPL3 Questions and Implications by MJ Ray

Nov 27 2007 12:07AM
by: MJ Ray<MJ Ray@localhost>

To respond to edA-qa mort-ora-y and suggest another question for the list: AGPL does not “guarantee the user freedom and control of their own data.” It just gives you another legal tool to punish people who don’t give users copies of the corresponding source code. AGPL doesn’t require web app operators to offer the data stored by the application, does it?


Comment on GPL3 Questions and Implications by MJ Ray

Nov 27 2007 12:10AM
by: MJ Ray<MJ Ray@localhost>

From http://lists.debian.org/debian-legal/2007/11/msg00233.html - The term “user” is not clearly defined. If I get an “access denied”
error page through a browser, am I a user of the web application? When
I visit a portal, am I a user of the browser? Of the portal
application, as well?


Comment on GPL3 Questions and Implications by MJ Ray

Nov 27 2007 12:12AM
by: MJ Ray<MJ Ray@localhost>

From http://lists.debian.org/debian-legal/2007/11/msg00251.html - > Ultimately I am still left without a meaningful definition of
> interaction.

I agree that it would be helpful to have further guidance from the FSF. It appears though that the key elements are (i) accepting user requests and sending them over a network, and (ii) this being in some way inherent to the application’s intended functionality


Comment on GPL3 Questions and Implications by MJ Ray

Nov 27 2007 12:14AM
by: MJ Ray<MJ Ray@localhost>

Scratch that last one - just found http://www.fsf.org/licensing/licenses/gpl-faq.html#AGPLv3InteractingRemotely which isn’t what I’d wish (looks like a lawyerbomb to me), but hey, it’s additional guidance.


Comment on GPL3 Questions and Implications by Sam

Nov 30 2007 09:35AM
by: Sam<Sam@timbuctoo>

However, if the modifier of the GPL3 portion of an GPl3/AGPL combined work can’t release an AGPL patch to the GPL3 portion they may choose to not release a patch, but to merely continue to distribute the combined work as permitted by the AGPL. It seems like the AGPL then would prohibit the separation of the patch from the combined work (which may not be what the license authors intended)

Can the original GPL3 author can extract this modification to the GPL3 portion as a GPL3 patch, (the patch not being his work and only distributed as part of the AGPL combination) and combine this patch with his own work and distribute it according to the GPL3?

An example case: if a glue-class is written in php, subclassing a class from the GPL3 module, but instantiated by the AGPL3 module (thus also performing a link operation), and it be this subclass that has some implementation that “ought” to be incorporated into the GPL3 module, will the GPL3 author, receiving the source by virtue of being a “user” of the AGPL3 work, be able to combine parts of this subclass into his own work, without receiving additional permission from the subclass author?


Comment on $150 Bounty: 0402:5602 m560x webcam driver by Charles Gomes

Dec 02 2007 06:27AM
by: Charles Gomes<Charles Gomes@localhost>

I will add 30 dollars to the bounty. Total is 300 + 30.
Just contact me and I will pay for it.


Comment on $150 Bounty: 0402:5602 m560x webcam driver by Kevin Hamilton

Dec 10 2007 09:47PM
by: Kevin Hamilton<Kevin Hamilton@localhost>

I am in the same situation in that I am running Ubuntu on my laptop and the webcam is the ONLY thing not functioning perfectly, and i use Skype a lot so its really annoying that it doesn’t work! i am also willing to add to the current bounty with £150 (thats British pounds, so currently $304.19 USD) for the developers who get this working natively in the Linux kernel. I so wish i could do this myself, but although i have the motivation i have neither the time nor expertise :(


Comment on $150 Bounty: 0402:5602 m560x webcam driver by Sam

Dec 11 2007 05:17PM
by: Sam<Sam@timbuctoo>

That makes the total bounty currently over $630


Comment on Prank Callers Revenge Complete by Feebee

Jan 18 2008 07:39PM
by: Feebee<Feebee@localhost>

I got a call and when I answered the phone it went dead about 20 seconds later. I checked 1471 (last call received) and it was from 08700 500 524, before I had time to do anything the phone rang again and it was from someone offering me a deal to do with my being an Avon agent.

I think this telemarketing firm are used by numerous companies to do these calls and think the first call tonight was probably the result of automated systems multi-calling numbers on a list of details, the first person who answers gets the telemarketer on the other end of the phone, everyone else gets a ‘hang-up call’ logged on their system.

Feebee.


Should I say thank-you?

Jan 25 2008 09:04AM
by: Sam<Sam@timbuctoo>
Sam,

Of course I thank some-one in front of me who holds the door open for me to pass, but if the same person holds open multiple doors, should I thank them each time, or just the first and last time - and how can I know which will be the last?

Honourably Confused

Dear Honourably-Confused,

I am regularly filled with sorry when I read such letters as this, demonstrating how low the manners of our population have sunk; however you did right to ask me!

You should not only thank the person at each door, but before you pass through the door you should both put your hands together and bow as a mark of respect.

If you both bow low enough the door will not be able to slam in anyones face.

If one does not bow low enough, not only will the door slam in the face, it will also be a sign of bad grace and so in such circumstance it would not be appropriate to apologise.

Sam


Why I like unix

Jan 30 2008 11:33AM
by: Sam<Sam@timbuctoo>

I like unix because it is easy to do tasks with throw-away 1 liners that take less than a minute to come up with.

I had re-factored some patches from one source tree to another, and I needed to make sure that I hadn’t missed any fragments.

git-diff ccache..v4-0-vfs-proxy | grep '^+++' | sort | uniq | sed -e "s/^\+\+\+ b\///" | while read f ; do diff -bwu ../$f /home/projects/samba-git/$f ; done

So I get a list of files that my changes affected, and then compared those to the equivalent files in the new tree. The diff was small and consisted mostly of pre-existing changes between the two trees.

I was easily able to account for any other slight differences is the resulting files.

I suspect that there were git-tools to help here, but the point is that I didn’t have to learn the official way to do my task, but I was still able to do it quickly based on existing knowledge.


Why do people treat animals like slaves?

Feb 08 2008 12:10PM
by: Sam<Sam@timbuctoo>

A Daily Mail article on philosophy taught to children listed some of the questions put to the children for discussion.

Why do people treat animals like slaves?
Why are there so many answers to God’s questions?

Some of those questions are a bit loaded for young children:

"Why do people treat animals like slaves?"

For starters, how about:

  • What are slaves?
  • Do people treat animals like slaves?

Or are is this a sneak way to program the meaning of slaves to be "treat people like animals" to prevent children from ever learning that taxation is also slavery?

Truly the language defines the thoughts…

"Why are there so many answers to God’s questions?"

How about starting with:

  • What are God’s questions?
  • Who is God?

Comment on Why do people treat animals like slaves? by saxon

Feb 15 2008 11:00PM
by: saxon<saxon@localhost>

and would the answer to the questions be 42? :-)


Comment on Prank Callers Revenge Complete by Mark Ford

Mar 18 2008 10:10AM
by: Mark Ford<Mark Ford@localhost>

Below is a letter I have today sent to Iresponse.
We’ll see if it stops those calls!

18th March 2008

Iresponse Centres Ltd
5 Drum Mains Park
Cumbernauld
Glasgow
Lanarkshire
G68 9LD

Dear Sirs

“Offer” of Telephone Answering Service (0xxx-xxx xxxx)

Further to recent telephone calls made from yourselves to the above number, we are now pleased to be able to offer a telephone answering service for calls made by yourselves.

The costs for receiving your calls and providing someone to answer them are a very reasonable £10.00 per call. This will be invoiced to yourselves fortnightly and is subject to VAT at 17.5%

Formal acceptance of this offer of a telephone call answering service is not required, as your next call to the above number will be deemed as acceptance of the contract between our two parties.

Best regards,

P J Winterbotham


Comment on Short Resume by Dan Kauvaka

Mar 19 2008 10:26PM
by: Dan Kauvaka<Dan Kauvaka@localhost>

I always knew you would make it. Congradulations! sounds like you are successful. PROPS MY
BROTHER.

Dan Kauvaka (Elder Kauvaka IBM)


Comment on BYU-TV on linux by solipsistic

Apr 02 2008 12:06AM
by: solipsistic<solipsistic@localhost>

So this time they’ll have a few MMS video streams, the English one at http://mfile.akamai.com/33699/live/reflector:51060.asx?bkup=52610 . The whole list of video streams is at http://www.lds.org/broadcast/gc/0,5161,8046,00.html . I can play these on my Linux box and Xbox Media Center :) Unfortunately the quality isn’t as nice.

In the past, I was also able to play the Move Networks video using Linux + Firefox + wine. My processor isn’t quite as fast though, so I had to abandon the idea since audio skipped and went out of sync constantly.


Comment on BYU-TV on linux by Sam

Apr 03 2008 08:20AM
by: Sam<Sam@timbuctoo>

As I have a good 3D graphics card, I can use compiz and zoom in on the Linux + Firefox + Wine Move networks screen, so I don’t thrash my CPU trying to scale the video to full screen.


Comment on $150 Bounty: 0402:5602 m560x webcam driver by Rioting_pacifist

Apr 04 2008 05:35AM
by: Rioting_pacifist<Rioting_pacifist@localhost>

Any news?
If not ill add £35 ~ $70, to the bounty just remember to contact me to pay up


Comment on GPL3 Questions and Implications by MJR's slef-reflections: 21 today! MJR around the web...

Apr 18 2008 12:43PM
by: MJR around the web...<MJR around the web...@MJR's slef-reflections: 21 today>

[…] Sam Liddicott » GPL3 Questions and Implications […]


SKCLONE - Like PWDUMP or COPYPWD but works on 64 bit

May 23 2008 03:42PM
by: Sam<Sam@timbuctoo>

An anonymous author sent me the source to a tool to clone SysKey information from Windows 2000, XP, and 2003 and read and write password hashes to live windows systems, called SKCLONE.

The file is available for download here, and the README is quoted below.


SKCLONE - Like PWDUMP or COPYPWD but works on 64 bit.

(The 32bit exe works on 64 bit. How about that?)

THERE IS NO WARRANTY.

THIS PROGRAM:-

* MAY TRASH YOUR SYSTEM.

* MAY CAUSE PROBLEMS WHICH CANNOT BE FIXED.

* RELIES ON ASSUMPTIONS WHICH MAY NOT ALWAYS BE TRUE.

* MAY NOT BE FIT FOR YOUR PURPOSE (OR ANY PURPOSE).

* IS NOT OF MERCHANTABLE QUALITY.

* IS NOT FIT TO BE SOLD.

USE AT YOUR OWN RISK.!!!!

IF YOUR JURISDICTION DOES NOT GIVE EFFECT TO THESE

DISCLAIMERS YOU MAY NOT USE THE PROGRAM.

YOU HAVE BEEN WARNED!

Overview

================

SKCLONE: Clone SysKey information from Windows 2000, XP, and 2003.

Read and write password hashes to live systems.

MUST run under the SYSTEM account. HINT: Use the AT command.

SKCLONE is free software.

Permission is granted

* to copy, distribute and use

* and make derived works

* provided attribution is given:

Copyright 2008 By Anonymous

Thanks to clark@hushmail.com for

http://beginningtoseethelight.org/ntsecurity

Thanks to Nicola Cuomo - ncuomo@studenti.unina.it for

samdump2 and bkreg, consulted for information

on how syskey is stored and used.

Purpose and History

=====================

SKCLONE was written because copypwd does not work on 64bit windows

at the time of writing, and I needed to move a large number of local

user accounts from a 32 bit installation to a 64bit installation.

The intention was originally to clone the SysKey from a 64 bit windows

to a 32 bit windows so I could use copypwd to copy the hashes to the 32bit

windows, then just copy the syskey’d hashes to the 64bit windows. That’s

because clark@husmail.com had a page explaining where the syskey was stored,

but not how it was used. Hence the functionality for exporting syskey and

syskey’d hashes.

I then found out that Nicola Cuomo has worked out how to use SysKey to

decrypt the hashes extracted from NTBACKUP system state, knowledge Nicola

generously embodied in BKREG and SAMDUMP2.

Since I had already written the code for decoding the SAM user V record,

it was simple to duplicate the SysKey decrypting function using CryptoAPI.

It was also simple to make the process go both ways. These functions are

embodied SysKeyRead, SysKeyGetBootKey and SysKeyCrypt. It was also simple

to make the function GetSetSamUserPwHash both read and write.

So I never got around to finishing the code for importing the SysKey data.

(You just have to recreate the four keys under LSA with new Class values).

SysKey cloning could still be useful though — just not sure for what!

How to Use

==================

SKCLONE uses the registry APIs to read and write the SAM values

directly. It MUST be run under the SYSTEM account, since only

SYSTEM has access to HKLM\SECURITY\SAM.

Only writes to STDOUT. It is STRONGLY recommended that you pipe this

straight into GPG or similar.

The easiest way to do this by hand on a local machine is with the

AT command. Say it is 11:30, enter this in a command window:

at 11:32 /interactive cmd.exe

At 11:32 a command prompt will appear running as SYSTEM. You can run

SKCLONE from this prompt. Interestingly you can run RegEdit.exe from

this prompt and browse the SAM, which is what I did.

The simplest way to do it remotely is to use Remote Desktop with the

"connect to console:1" option, then you can just use the method above.

The simplest way to do this from script, is:

* Copy skclone.exe to \\MACHINE\admin$\skclone.exe

* Schedule a task on the remote machine as the SYSTEM account.

You don’t have to set a schedule, just create the task.

* Start the task, and wait for it to finish, by polling it’s status.

It is pretty quick (almost instant, generally).

* Copy off the file, hopefully you took advice and encrypted it with

GPG. Otherwise, you should ensure it went to a directory readable

only by Administrators group and SYSTEM.

* Delete the file from the remote server. Should use SDELETE or similar.

* You are done.

When importing passwords, it will NOT:

* Set the Administrator password, or any account with RID < 1000.

* Set any password which is blank. But you can use PRESETPW to

set these to a random password first.

Options

===============

Usage:

skclone [OPTIONS] COMMAND [argument]

Options are

/DEBUG executes a debug breakpoint immediately

(so you can attach a debugger).

/VERBOSE Prints more rubbish.

skclone IMPORTPWDUMP

Imports pwdump style passwords directly into registry.

INFO: A Password must already exist. Use PRESETPW to set a random one.

WARNING: Invalidates ALL user’s protected data.

WARNING: LSA Secrets, EFS files, CryptoAPI secret keys etc.

skclone EXPORTPWDUMP

Dumps pwdump style passwords directly from the registry.

INFO: Will not set null passwords. Set a random password first.

skclone USAGE

More options will be shown.

skclone SETPW <USERNAME:PWDUMPHASHES>

Same as IMPORTPWDUMP, but just does the one from the command line.

Will not overwrite a null password. Use NET USER <username> <password>

to set one first.

skclone PRESETPW

Reads list of usernames (or username:hashes) and sets a random

password for those with no password. Ignores those with one, and RID < 1000.

This is here because IMPORTPWDUMP requires that a password already exists.

skclone CLEARPW [accountName]

Clears user’s password. Will clear RID < 1000.

WARNING: Invalidates ALL user’s protected data.

WARNING: LSA Secrets, EFS files, CryptoAPI secret keys etc.

skclone REPORTPW

Lists accounts with clear passwords.

Compile without #define SIMPLEONLY for more options.

Useful Functions

============================

These functions could be usefully put into a library of some sort.

SysKeyRead reads syskey values from the live SAM into a SK_DATA

struct.

SysKeyWrite DOES NOT WORK. DO NOT USE IT.

SysKeyGetBootKey derives the bootkey from SK_DATA. This is not used

for anything in the program, but duplicates the functionality of BKREG.

SysKeyDerive derives the intermediate key from SK_DATA.

SysKeyCrypt uses the intermediate key to encrypt or decrypt LM or NT

hashes.

GetSetSamUserPwHash reads or writes SysKey encrypted NT or LM hashes.

Use SysKeyCrypt to convert these to/from PWDUMP/L0pth hashes. Takes

an open key to the SAM or a copy of it with KEY_READ access.

GetSamUserRid is a utility function which uses OpenSamUserRidKey to

lookup the RID of a user. Takes an open key to the SAM or a copy of

it with KEY_READ access.

Bugs and Limitations

============================

SKCLONE cannot clone the SysKey. DON’T TRY YOU WILL BREAK YOUR SYSTEM.

For good measure, the standard build does not include SysKey import

export functions, just PWDUMP/COPYPWD hash dumping and loading, plus

a couple of utiliies.

IMPORTPWDUMP will not overwrite a null password. However the PRESETPW

using the same input file will ensure that all accounts have passwords

by setting a random one where none exists.

IMPORTPWDUMP will not set an LM hash where none exists. If there exists

an NT hash but no LM hash, the NT hash will be set but the LM hash will

not. This shouldn’t hurt you — only very old OS require LM hashes. If

this is a problem, changing the user’s password manually will usually

set an LM hash.

REPORTPW will only list accounts with a null password (as opposed to a

zero-length password). This is generally accounts which have never had a

password, or have been cleared with CLEARPW.

SysKeyWrite function does not work! It does not write the boot key

information. It also writes some values which have nothing to do with

syskey — I think they have something to do with LSA Secrets but I am

not sure what.

For SysKey the relevant values are account_f which is 0×30 bytes from

offset 0×70 under HKLM\SECURITY\SAM\Domains\Account\F, and the

lsa_xxx_class values, which are the classes from four keys under

HKLM\SYSTEM\\ControlSet001\\Control\\Lsa.

See RegQueryInfoKey to learn about classes. They can’t be changed once set,

you have to delete the key and recreate it.

Really want a better name since we can’t actually clone the SysKey.

Maybe copypw64? Or pwdump7? or copysam?

That’s all folks.


Comment on $150 Bounty: 0402:5602 m560x webcam driver by Maciej Grela

May 31 2008 09:16PM
by: Maciej Grela<Maciej Grela@localhost>

Is this bounty still valid ? I`m thinking about posting it on the www.linuxdriverproject.org - maybe someone will pick it up from there.


Comment on $150 Bounty: 0402:5602 m560x webcam driver by Sam

May 31 2008 10:06PM
by: Sam<Sam@timbuctoo>

The bounty is still valid.

Progress is made, see: https://lists.sourceforge.net/lists/listinfo/m560x-driver-devel


automatic widget binding for glade/gtk-builder and vala

Jun 24 2008 02:54PM
by: Sam<Sam@timbuctoo>

I am an old delphi user. For delphi 1 I even wrote a multi-threader, and a form-inheritance mechanism.

I’m now playing with vala, but I miss the automatic class member definitions from Delphi, where items on a window would have fields automatically defined in the source, so I could refer to widgets directly.

With current vala demo’s I have to make calls to this.xml.get_widget("widget_name") and I can’t be doing with that.

I’ve written some xslt which will convert the glade file into a vala file and class, which should be a super-class to whatever vala class is going to implement the form and signal handlers.

At Nicolas Joseph suggestion (and help for providing a sample gtk builder file) I’ve converted this to gtkbuilder. Glade can still be used to design the UI, but libglade is no longer needed at runtime.

Any .glade file can be automatically converted to a gtkbuilder .ui file, and any .ui file can be converted to a .vala file, and they are converted as a group to .c and .h and then compiled.

Because the .vala file contains the gtkbuilder xml within it, the .glade files don’t need to be around at runtime.

When the subclass is instantiated the superclass constructor will instantiate the window from the glade xml, and fix up all the widget locations, so that the subclass can refer to this.widgets.name_entry and so forth.

demo.glade

A sample "hello world" glade file with a button, and a label, and event handlers on button click and window close.

demo.ui

demo.ui is a gtkbuilder format built automatically from demo.glade IF demo.vala is listed as one of the vala sources.

demo.vala

When xsltproc –nodtdattr gen-vala-gltk-widget-bindings.xslt is invoked it generates the vala file, with the xml embedded. The main class name is taken from the top level widget identifier.
It’s widgets protected class has a member defined for each of the widgets.
Such code as:
this.widgets.label2.label=’Hello’;
can be used to affect the UI.

mainwindow.vala

The human subclasses the automatically generated class (named after the top level widget) in demo.vala, in order to implement signal handlers, and can still access widgets with:
this.widgets.label2.label=’Hello’;

Makefile.am

I also had to make changes to Makefile.am (generated vala-gen-project) to add the reciples for building .vala files from .ui files from .glade files.

To add a new auto-built source based on window.glade, you must add the window.glade file to the project_GLADESOURCES definition and window.vala to project_VALASOURCES

gen-vala-gtk-widget-bindings.xslt

This converts gtkbuilder files to vala files with the original xml as a string constant.

widget-bindings-0.1.0.tar.gz

Here is a sample project. I use it with anjuta and it mostly works, but I edit Makefile.am manually when I add new source files cos anjuta gets anxious about adding certain filetypes to certain targets if it doesn’t know about. them


Comment on $150 Bounty: 0402:5602 m560x webcam driver by Charlie

Jul 05 2008 12:43PM
by: Charlie<Charlie@localhost>

I’ll pay anything up to $70
I’m desperate!


Unintended consequences of over-strict control

Jul 10 2008 09:57AM
by: Sam<Sam@timbuctoo>

See the sad story of over-strict food safety control and see how they back-fire on public health.

http://divisionoflabour.com/archives/004849.php

In summary over-strict requirements for food vendors means that the only food vendors left are lax care-free an possibly severely unhygenic vendors, making it almost impossible to find a safe vendor.


Comment on Windows-only IP camera on linux by zefix

Jul 11 2008 01:41PM
by: zefix<zefix@localhost>

Hi,

I found something very interesting: http://www.digitus.info/de/produkte/netzwerk/?c=1250&p=645

This cam looks from the pictures/specs and the HTML interface in the manual PDF exaclty like the GP-280. And on the website Digitus even released the GPL code for the firmware.

I looked for a way to get the Digitus “DN-16032″ firmware on the GP-280 but I can’t figure out if there is a hidden “update site” on the GP-280 HTML interface as shown in the “DN-16032″ manual PDF. As I found no external update Software so far I have to leave it there…..

So have you any ideas of how to squease out the max from the cam?

PS: I had to replace the broken original objective with one from www.kryptronic.de
The result is a much better picture quality here.
The original was very noisy an there was a lack of green colour.
And all this is now much better.


Comment on Windows-only IP camera on linux by Sam

Jul 11 2008 01:49PM
by: Sam<Sam@timbuctoo>

You are right about the lack of green, it’s pretty bad.

I haven’t spent much time on this camera since I got the software working on linux, it does most of what I want.


Comment on Windows-only IP camera on linux by zefix

Jul 11 2008 02:34PM
by: zefix<zefix@localhost>

I also send you a mail because I thought the comments were disabled.

I pressed F5 on Oprea Browser and saw nothing… mhm so finally the post is done….

Hopefully you have any good ideas!


Comment on $150 Bounty: 0402:5602 m560x webcam driver by Andrea Mastellone

Jul 15 2008 08:09AM
by: Andrea Mastellone<Andrea Mastellone@localhost>

Hi, I am helping some developers and I jiust would like to give the names of the peoples most active.
In my opinion, there are three people most active and I think that the grant is due to them.
They are:

Wilelm Duinker (first stage)
Ilyes Gouta (middle stage and livecam program)
Erik Andren (actual stage)


Comment on GPL3 Questions and Implications by Dora

Jul 18 2008 10:17PM
by: Dora<Dora@localhost>

Sam I think Gnus should definitely be licensed. We don’t want any old Tom, Dick or Harry to think they can just go and buy one with no restrictions, who knows what that would lead to?!? Then there are grazing rights to consider and fines for gnus fouling the public highway. Look at the trouble Norway found itself in when restrictions were removed from reindeer! And what about the length of quarantine time for African imports, that should continue to be monitered.

If restrictions are lifted all kinds of madness may ensue. Whilst being unable to turn their yard into the hanging gardens of Babylon, some Gnu users may be tempted to throw caution to the wind and try to recreate Africa on their lawns by having herds of Wildebeasts (Gnus) galloping majestically across the Serengeti (the rockery). It’s not British!


Comment on BYU-TV on linux by James Carroll

Jul 27 2008 01:14AM
by: James Carroll<James Carroll@localhost>

Sam,

Thanks for the post. I was able to install the move Firefox extension / plug-in in my Wine installation of Firefox. The audio plays fine, but the video is horrible: I get mostly black, with some seemingly random pixels of red, blue, and green. At first, I can select a program from the menu (when I rollover the menu, the individual items appear in bright green), but later the menu is gone. I tried closing Firefox with CTRL+F4, along with CTRL+Q, to no avail. I finally restarted X to get my system back.

Cheers,
James


Comment on $150 Bounty: 0402:5602 m560x webcam driver by Sj

Aug 19 2008 10:07PM
by: Sj<Sj@localhost>

Hi, just wondering if the developers have managed to get this driver working?


Comment on $150 Bounty: 0402:5602 m560x webcam driver by Sam

Sep 11 2008 03:07PM
by: Sam<Sam@timbuctoo>

sj; It’s largely working for lots of users but not in the mainline kernel yet.

For advice I suggest you subscribe to the mailing list at: https://lists.sourceforge.net/lists/listinfo/m560x-driver-devel
and ask there.


BBC and Flash 10

Sep 22 2008 11:23AM
by: Sam<Sam@timbuctoo>

Many Cbeebies flash games don’t work on with flash 10 due to bogus flash version detection for mozilla browsers.
e.g. http://www.bbc.co.uk/wales/bobinogs/games/gamespage.shtml

The flash detection code is credited thus:

<!-- Flash Detect SSITool (Multi-clip pt1 of 2) v2.2 – do not copy, see http://intracat/ssi/ for usage -->

I can’t find any current references to SSITool any more, but looking into the java script it’s easy to see that this sample expression shows that the author wasn’t planning to cope with flash version numbers of more than one digit:

ssit_NavY.charAt(ssit_NavY.indexOf('.')-1)

A better expression would be:

 (ssit_NavY.split('.')[0]).split(' ').pop()

So I installed filterproxy on my ubuntu machine, and because the edit UI seems buggy I had to edit the /etc/filterproxy.conf file by hand to add this fragment:

      'Rewrite' => {
        'filters' => [
          'FLASHVER: rewrite regex /ssit_NavY\.charAt\(ssit_NavY\.indexOf\(\'\.\'\)-1\)/ as (ssit_NavY.split(\'.\')[0]).split(\' \').pop()'
        ]
      }

I also had to remove some other javascript fixups which dealt with blocking popip-windows and all kinds of stuff - I’m only trying to fix flash detection - my entire config is here

BBC should be ashamed for not having had someone run something like this on their webroots before now

find /var/www -name '*.htm*' -o -name '*.php' | while read f ; do \
  perl -i -pe "s/ssit_NavY\.charAt\(ssit_NavY\.indexOf\('\.'\)-1\)/(ssit_NavY.split('.')[0]).split(' ').pop()/g" "$f" \
done

Comment on BBC and Flash 10 by Simon

Sep 29 2008 01:37PM
by: Simon<Simon@localhost>

Have you reported this to the developers?


Comment on BBC and Flash 10 by Sam

Oct 01 2008 08:03AM
by: Sam<Sam@timbuctoo>

I reported the problem via bbc site feedback but after I got fed up of waiting while they didn’t fix it, I fixed it myself.


Excellent Slashdot posting

Nov 19 2008 11:51AM
by: Sam<Sam@timbuctoo>

Copied from here: http://tech.slashdot.org/comments.pl?sid=1033731&cid=25805519

I don’t know what it all means but it’s a great read, and good practice for any debate you may forsee.

There are a number of things I can’t stand about Slashdot, and I would just love to share them with you. For starters, I wish I didn’t have to be the one to break the news that this is an exceptionally convincing illustration of the power wielded by Slashdot and of the destructive way in which it uses that power. Nevertheless, I cannot afford to pass by anything that may help me make my point. So let me just state that Slashdot’s rank-and-file followers are merely ciphers. Slashdot is the one who decides whether or not to fuel inquisitions. Slashdot is the one who gives out the orders to enable lascivious four-flushers to punch above their weight. And Slashdot is the one trying to conceal how we are at war. Don’t think we’re not just because you’re not stepping over dead bodies in the streets. We’re at war with Slashdot’s profligate slogans. We’re at war with its ethically bankrupt threats. And we’re at war with its homophobic canards. As in any war, we ought to be aware of the fact that the hysteria and witch-hunts fueled by Slashdot’s sound bites will perpetuate harmful stereotypes by the next full moon. No joke.

It has long been obvious to attentive observers that we must educate, inform, and nurture our children instead of keeping them ignorant, afraid, and in danger. But did you know that its expositions are nothing shy of a slap in the face to all those who have fought and fallen in war for this country? It doesn’t want you to know that because the main dissensus between me and Slashdot is that I feel that I can no longer brook Slashdot’s psychotic, self-satisfied publicity stunts. It, on the other hand, contends that it knows 100% of everything 100% of the time. Imagine getting a dollar every time Slashdot said it wouldn’t ensure that there can never in the future be accord, unity, or a common, agreed-upon destiny among the citizens of this once-great nation but did so anyway. You’d be very, very rich. Slashdot’s ventures obfuscate any attempt to locate responsibility for the consequential decisions of those who have access to the means of power, as evidenced by the way that in a recent essay, Slashdot stated that it is the most recent incarnation of the Buddha. Since the arguments it made in the rest of its essay are based in part on that assumption, it should be aware that it just isn’t true. Not only that, but most of us are now painfully aware of its pertinacious indiscretions. So what’s the connection between that and its undertakings? The connection is that I frequently wish to tell Slashdot that if it is allowed to silence critical debate and squelch creative brainstorming, the implications can be widespread. But being a generally genteel person, however, I always bite my tongue.

Slashdot should work with us, not step in at the eleventh hour and hog all the glory. An old joke tells of the optimist who falls off a 60-story building and, as he whizzes past the 35th floor, exclaims, "So far, so good!" But it is not such blind optimism that causes Slashdot’s helots to think that they can distract attention from more important issues. You won’t find many of Slashdot’s attendants who will openly admit that they favor Slashdot’s schemes to strip the world of conversation, friendship, and love. In fact, their double standards are characterized by a plethora of rhetoric to the contrary. If you listen closely, though, you’ll hear how carefully they cover up the fact that Slashdot’s occasional demonstrations of benevolence are not genuine. Nor are its promises. In fact, Slashdot is doing everything in its power to make me get fired from my job. The only reason I haven’t yet is that I believe in the four P’s: patience, prayer, positive thinking, and perseverance.

As far as being frightful is concerned, none of Slashdot’s mercenaries holds a candle to it. I could write pages on the subject, but the following should suffice. Slashdot should get with the program. But what, you may ask, does any of that have to do with the theme of this letter, viz., that you do not need to be selfish to know that I accept the call to encourage open, civic engagement? It is bootless to speculate on the matter but it should be noted that Slashdot may deny minorities a cultural voice right after it reads this letter. Let it. In a lustrum or two, I will deal with Slashdot appropriately.

Is it true that Slashdot is the devil incarnate? The evidence is clear and compelling for those who are willing to look with open eyes and open minds. Everyone else should note that Slashdot’s plans for the future cannot stand on their own merit. That’s why they’re dependent on elaborate artifices and explanatory stories to convince us that Slashdot has the mandate of Heaven to condition the public to accept violence as normal and desirable. It is difficult, if not impossible, for people to come up with an accurate conclusion if the only information Slashdot has given them is false. That’s pretty transparent. What’s not so transparent is the answer to the following question: How far do Slashdot’s lies extend? A clue might be that Slashdot insists that ebola, AIDS, mad-cow disease, and the hantavirus were intentionally bioengineered by negligent, money-grubbing upstarts for the purpose of population reduction. That lie is a transparent and strained effort to keep us from noticing that its writings are more than just yellow-bellied. They’re a revolt against nature.

Consequently, Slashdot’s theatrics have caused widespread social alienation and from this alienation a thousand social pathologies have sprung. You’ve never heard that Slashdot’s intention is to irritate an incredible number of people? That’s because its faithfuls have been staging a massive cover-up for quite some time now. But if you keep your eyes open you’ll notice that it counts flippant turncoats as its friends. Unfortunately for Slashdot, these are hired friends, false friends, friends incapable of realizing for a moment that it wants me to stop trying to take personal action and lay out some ideas and interpretations that hold the potential for insight. Instead, it’d rather I hang myself by the neck until dead. Sorry, but I don’t accept defeat that easily. Slashdot truly believes that the cure for evil is more evil. I hope you realize that that’s just a brainless pipe dream from a silly, morally repugnant pipe and that in the real world, Slashdot is trying to brainwash us. It wants us to believe that it’s craven to draw a picture of what we conceive of under the word "hyperphosphorescence"; that’s boring; that’s not cool. You know what I think of that, don’t you? I think that Slashdot has declared that it’s staging a revolt against everyone who dares to discuss the programmatic foundations of its mealymouthed, tendentious histrionics in detail. Slashdot’s revolting all right; the very sight of it turns my stomach. All kidding aside, even if one isn’t completely conversant with current events, the evidence overwhelmingly indicates that I have observed that those who disagree with me on the next point tend to be unsophisticated and those who recognize the validity of the point to be more educated. The point is that some people say that that isn’t sufficient evidence to prove that Slashdot is secretly scheming to perpetuate myths that glorify expansionism. And I must agree; one needs much more evidence than that. But the evidence is there, for anyone who isn’t afraid to look at it. Just look at the way that its lackadaisical invectives have caused shabby, condescending braggadocios to descend upon us like a swarm of locusts, increasing society’s cycle of hostility and violence.

Is anyone else out there as struck as I am by Slashdot’s utter disregard for morality and humanity? The reason I ask is that given a choice of having Slashdot egg on negative externalities in the form of evasion, collusion, and corruption or having my bicuspids extracted sans Novocaine, I would embrace the pliers, purchase some Polident Partials, and call it a day. Slashdot uses hooliganism to break down traditional values. That’s the large elephant in the room that nobody talks about. Nevertheless, I insist that people really ought to start talking about it because then they’d realize that Slashdot insists that it has no choice but to impinge upon our daily lives. Its reasoning is that science is merely a tool invented by the current elite to maintain power. Yes, I realize that that argument makes no sense, but Slashdot’s codices are not pedantic treatises expressing theories or extravaganzas dealing in fables or fancies. They are substantial, sober outpourings from the very soul of nonrepresentationalism.

Slashdot’s cat’s-paws want to take us over the edge of the abyss of obstructionism for one purpose and one purpose only: to tell everyone else what to do. I guess that my take on this is that Slashdot wants us to believe that we can solve all of our problems by giving it lots of money. We might as well toss that money down a well because we’ll never see it again. What we will see, however, is that I’ve tried to explain to Slashdot’s flagitious fans that Slashdot’s soporific jokes have a demoralizing effect on the victims of human-rights violations. As could be expected, they were a bit slow on the uptake. I just couldn’t get them to comprehend that the real question here is not, "What provoked Slashdot to make individuals indifferent to the survival of their families?". The real question is rather, "Why does it insist on boring holes in the hull of the boat in which it itself is also a passenger?" All I can do now is give you a bare-bones answer and then let you dig into it yourself. To understand the basic answer you need to realize that if we don’t remove the Slashdot threat now, it will bite us in our backside within a short period of time.

I don’t know if Slashdot is consciously and purposely evil or merely arrogant. I do know, however, that its methods are much subtler now than ever before. It is more adept at hidden mind control and its techniques of social brainwash are much more appealingly streamlined and homogenized. Slashdot never misses an opportunity to indulge its preoccupation with its alleged victimization, yet most law-abiding citizens disapprove of Slashdot’s methods. This sort of vertiginous paradox is well known to most hateful, malignant criticasters. The point at which you discover that Slashdot oppresses its critics by crushing them, expelling them, pauperizing them, and cutting them off from families and friends is not only a moment of disenchantment. It is a moment of resolve, a determination that its thralls are too lazy to put inexorable pressure on it to be a bit more careful about what it says and does. They just want to sit back, fasten their mouths on the public teats, and casually forget that Slashdot sometimes has trouble convincing people that it has mystical powers of divination and prophecy. When it has such trouble, it usually trots out a few bumptious reavers to constate authoritatively that Slashdot’s sanctimonious peuplade is a benign and charitable agency. Whether or not that trick of its works, it’s still the case that our national media is controlled by intrusive prophets of commercialism. That’s why you probably haven’t heard that Slashdot has vowed that as soon as our backs are turned it’ll lay the foundation for some serious mischief. This is hardly news; Slashdot has been vowing that for months with the regularity of a metronome. What is news is that we must learn to celebrate our diversity, not because it is the politically correct thing to do but because if it were up to Slashdot, schoolchildren would be taught reading, ‘riting, and racism.

I find Slashdot’s lack of depth and insight mind-boggling. To cap that off, it’s Slashdot’s belief that my letters demonstrate a desire to eroticize relations of dominance and subordination. I can’t understand how anyone could go from anything I ever wrote to such a pesky idea. In fact, my letters generally make the diametrically opposite claim, that from secret-handshake societies meeting at "the usual place" to back-door admissions committees, Slashdot’s acolytes have always found a way to feed information from sources inside the government to organizations with particularly mindless agendas. Common-sense understanding of human nature tells us that Slashdot’s idea of inane, salacious moral relativism is no political belief. It is a fierce and burning gospel of hatred and intolerance, of murder and destruction, and the unloosing of an irritating blood-lust. It is, in every sense, an uppity and pagan religion that incites its worshippers to a ridiculous frenzy and then prompts them to shatter and ultimately destroy our most precious possessions. All in all, I realize that this letter has seemed incredibly bleak. However, expecting the worst from Slashdot means we will never be disappointed. If we’re wrong and Slashdot does not try to let scornful chiselers serve as our overlords, we’ll be relieved. If we’re right and it does, we’ll be prepared.


Comment on Windows-only IP camera on linux by Wilhelm

Dec 25 2008 09:39PM
by: Wilhelm<Wilhelm@localhost>

I was looking for a way to get it work with Firefox with single-pictures:
For me works the following URL:
http://192.168.1.69/snapshot.jpg?account=admin&password=password
Although the URL-style is different, it works.

I came to the idea by the following page:
http://www.codeproject.com/KB/audio-video/cameraviewer.aspx?display=PrintAll&fid=339699&df=90&mpp=25&noise=3&sort=Position&view=Quick&select=2816145
There was a comment from somebody else …

BTW: Does anybody know a Windows viewer that accepts these streams?
I tried it with Firefox. I asks for a program to open it with.
I thought Firefox is able to play MJPEG directly.
Then it tries to load the stream first _completely_ (which makes no sense) before starting the selected program.


Comment on Windows-only IP camera on linux by Sam

Dec 26 2008 12:03PM
by: Sam<Sam@timbuctoo>

Thanks Wilhelm - I wish I had known about that before! - But if I had axmjpeg would never have been amended…

Now it can work in zoneminder as a proper networked camera.

(I’ve just finished a perl network controller module for the new zoneminder which I need to publish)


Sins of the children? Israeli war machine copies Nazi war machine

Jan 19 2009 10:38AM
by: Sam<Sam@timbuctoo>

Sometimes the children pay for the sins of the fathers.

It seems like the Israeli war machine (which is opposed by many Israeli citizens) is committing the sins that their fathers paid for.

Look at this side-by-side picture selection - it’s only the newer colour images and better quality photographs that distinguish the Jews as victims Jews as aggressors.

http://www.normanfinkelstein.com/article.php?pg=11&ar=2510


Comment on $150 Bounty: 0402:5602 m560x webcam driver by Fabio

Jan 24 2009 02:56PM
by: Fabio<Fabio@localhost>

Finally this is guide to install drivers for BisonCam chipset Ali: http://doc.ubuntu-fr.org/webcam_ali (it’s in french but it is easy to understand)

This is guide to make webcam works under Skype:
Rename (move) /usr/bin/skype to /usr/bin/skype.real
Then create a script at:
/usr/bin/skype
Code:

#!/bin/sh
LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype.real

Then give /usr/bin/skype executable permission. My links to skype aren’t broken, and there’s no need to keep a terminal open just for skype.
Best of all, my video works! (at least, the video test does.)

***Reminder: Be sure to call “skype.real” (NOT skype) to the command in the script. Calling skype in the script will cause your system to run out of memory (due to recursive calls). I made this mistake the first time. I did Ctrl+Alt+Backspace just in time. Thank goodness for the 4GB. There was a long blank screen, and then I had to manually start X again.

By this guides Webcam works under aMSN, Skype and Cheese.
Bye

PS: sorry if my english is not good


Comment on $150 Bounty: 0402:5602 m560x webcam driver by Sam

Jan 24 2009 06:41PM
by: Sam<Sam@timbuctoo>

Thanks for that Fabio - it looks like things are progressing nicely, and perhaps the real driver is not going to be kernel based after all…

I’ll review that french site when I get some time, and if it works, I may be able to declare the bounty fulfilled and then I’ll have to work out who to divide the bounty betwen… but we’ll see after the test


Debugging Makefiles

Feb 09 2009 11:40AM
by: Sam<Sam@timbuctoo>

Debugging makefiles is hard work, and makefiles that make extensive use of @ to hide invoked commands make it hard to see what command failed.

Dr Dobbs has some useful tips http://www.ddj.com/development-tools/197003338 from which I derive the simple solution to my problem, to use "/bin/sh -x" as SHELL; i.e.

make SHELL=’/bin/sh -x’

then the shell will print out the invoked commands, even if make won’t!


USB-B3G on Asterisk

Feb 17 2009 10:45AM
by: Sam<Sam@timbuctoo>

I got a couple of the yealink USB-B3G from Maplin Electronics at £3 each, meaning to get them to work with asterisk.

By being busy I get last-movers advantage and find it all works from years of other people doing it for me:

  1. The kernel already has the USB drivers installed.
  2. USB2KAPI provides a libusb style daemon to control the device, available from http://kb2kskype.sourceforge.net/
  3. The asterisk driver for that is written at http://www.artaylor.co.uk/usbb2k.html

nice!


Comment on $150 Bounty: 0402:5602 m560x webcam driver by Ty

Feb 25 2009 09:12PM
by: Ty<Ty@localhost>

I followed the instructions found on the “French” website (http://doc.ubuntu-fr.org/webcam_ali) and it WORKS! Compilation and installation were easy and I now have a working webcam on my Acer 9300 laptop. Operating System is Ubuntu Intrepid 8.10, 64-bit! All good here. I use Ekiga. Just thought I would let you and everyone else know that this driver is working for me.

THANK YOU VERY MUCH!


Comment on $150 Bounty: 0402:5602 m560x webcam driver by Laurent

Feb 25 2009 10:27PM
by: Laurent<Laurent@localhost>

The english version of the french ali webcam tutorial

http://doc.ubuntu-fr.org/webcam_ali

is here

http://m560x-driver.wiki.sourceforge.net/howto_install


MS PPTP VPN server with linux

Mar 09 2009 12:51PM
by: Sam<Sam@timbuctoo>

I’ve been tearing my hair out for the last 8 working hours trying to get my Ubuntu Hardy VPN helper to connect me to a Windows 2003 PPTP service.

A windows PC would connect fine, but my linux clients would all fail, generating this message in the Windows server Event log: "You do not have permission to connect using the selected authentication protocol."

I’d done what I could to make sure my RAS policies specified MSCHAP, MSCHAPv2 and had EAP disabled (I had no certs and was fed up of RAS failing for lack of them). My linux clients were also selected to use only MSCHAP and MSCHAPv2 - but still no joy!

The final missing tip was the last post at: http://www.eggheadcafe.com/forumarchives/Windows2000ras_routing/Jan2006/post25331080.asp
where it seemed that I had to make sure the RAS servers own authentication methods matched (or probably were a superset of) the authentication methods of the policy. Once that was fixed, it all worked fine.

While I was there I also set the correct adaptor for use by DHCP/DNS/WINS as I only have one active adaptor anyway…


Auto-mount of windows shares on Ubuntu login

Mar 17 2009 03:09PM
by: Sam<Sam@timbuctoo>

Based on https://wiki.ubuntu.com/MountWindowsSharesPermanently and updated:

sudo apt-get install libpam-mount smbfs
echo "@include common-pammount" | sudo tee -a /etc/pam.d/gdm
echo "@include common-pammount" | sudo tee -a /etc/pam.d/login
# fix up server= and mountpoint= below
sed -i -e '/<!-- Volume definitions -->/a<volume user="*" fstype="cifs" server="10.42.0.1" path="users/%(USER)" mountpoint="/home/%(USER)/ntfs" options="uid=%(USERUID),gid=%(USERGID),iocharset=utf8,fmask=0770,dmask=0770" />' /etc/security/pam_mount.conf.xml

# Make sure unix password is same as windows password and unix username same as windows username
# unless we use ldap in nis, but thats another story…


Wild virtues

Apr 20 2009 08:54AM
by: Sam Liddicott<sam@liddicott.com>
While reading Daniel Hannan's "Ifyou pay people to be poor, you'll never run out of poor people"blog post ,I came across this lovely quite from G. K. Chesterton:

"When a religious scheme is shattered, it is not merely the vicesthatare let loose. The vices are, indeed, let loose, and they wander and dodamage. But the virtues are let loose also; and the virtues wander morewildly, and the virtues do more terrible damage. The modern world isfull of the old Christian virtues gone mad. The virtues have gone madbecause they have been isolated from each other and are wanderingalone. Thus some scientists care for truth; and their truth ispitiless. Thus some humanitarians only care for pity; and their pity isoften untruthful." - GK Chesterton

Catherine
April 18, 2009
06:55 PM GMT



Practical Jokes

Apr 23 2009 08:20AM
by: Sam Liddicott<sam@liddicott.com>
Practical Jokes - all the fun of mean tricks with none of the guilt.

Ever have trouble coming up with a mean trick that is appropriate to the
situation and also compliant with your nice personality? Of course you
have!

Practical Jokes have none of these problems, and are often expected to
be in bad taste. What's more you'll gain the reputation of being fun to
be with.

Stop your individualistic and crass cheap bullying and buy our practical
jokes today! People will like you for it!



Whats with s/he all the time?

Apr 25 2009 01:12PM
by: Hannah Bardsley

I am one of the masses!

And being a female I am here to say in someways you are dead right!

I mean chairperson! What's up with that? It doesn't sound good at all! "Mr Chairperson", it has no ring whatsoever. All perfect stories would be ruined if the assassin assassinated the CHAIRPERSON instead of the CHAIRMAN! What's more it sounds a person who's a chair. 

 And I really laugh at shops with nativitys that say 'Peace on Earth goodwill to all' and totally leave out the men.

But SHE is going to stay!

 I rest my case.


A tune by any other name

Apr 26 2009 01:58PM
by: Hannah Bardsley

Hey

It's not just tunes it's movies. Recently Dreamworks and disney pixar have been producing similar movies in a rush of competetiveness. Also other companies have been stealing ideas. I believe thats called Plagiarism. (or something spelled similarly)

Bugs Life- Antz

Finding Nemo - Shark Tale

Madagascar - The Wild 

Open Season - Over the Hedge

Toy story - Small Soldiers

National Treasure- The librarian 

Racing stripes- about every horse movie ever produced as a childrens movie.

Lets face it. It's hard to find an original idea anymore. When stuck for stealing ideas, producers just remake an old movie ( usually the remake is rubbish like "The day the world stood still")  The only original movie out seems to be shrek, but don't quote me on that, as it probably was nicked too. Monsters V.S Aliens wasn't original, but thats acceptable as it made jokes about every "UFO"movie since 1950.

It's hard these days to find something truly original.

 

Ben & Hannah


Church meeting templates for open office 3

May 02 2009 11:01AM
by: Sam Liddicott<sam@liddicott.com>
[Attached is the template talked about]

About a year ago I was called as second councillor to the Bishop inWakefield Ward.

One of my responsibilities is to arrange the meeting programme and togive out speaking assignments, and then conduct the meeting for fourmonths of the year.

I like to be well prepared for things which would otherwise beembarrassing, so to help me I produced an open office writer templatethat has four pages.

The first page is a meeting programme, with some grey fields to befilled in with things like,
  • the date and meeting type
  • the person conducting the meeting
  • the speaker names and topics, and duration etc.
By filling this in I get a regularly formatted meeting programme whichhelps me when conducting the meeting.

The bonus, however, is pages 2-4, which are speaker assignment lettersand are automatically filled in for me. They inform each of thespeakers of
  • the date and topic
  • how long they should plan to speak for and at what time theyshould finish
  • what other topics will be addressed in the same meeting
  • some tips on good preparation
  • who to contact for further information
So I write out the meeting programme and the computer generates ahelpful invitation letter which I can edit if particular speakers needadditional information or encouragement.

And I hit print!

Recently the template broke because I used a variable dateinternally which now (I guess) seems to conflict with some changes inOpenOffice 3. As OpenOffice documents are zip files, the simplest fixwas to unzip the template and do a search and replace on the documentxml, to replace date with mdate:

$ mkdir t
$ cd t
$ unzip ../vSacrament\ Meeting\ Assignments.ott
$ sed -i -e 's/name="date"/name="mdate"/g' content.xml
$ zip -r ../x.odt .


And then open and re-save the document in OpenOffice

Mormon Radio - In Latin!

May 23 2009 11:10AM
by: Sam Liddicott<sam@liddicott.com>
Mormon radio is available at http://radio.lds.org

Sadly, the media transport is RTMPT, a proprietary adobe format, which limits reception to those with an adobe flash plugin. That also means x86 PC architecture.

This excludes all streaming audio devices in the world except Adobe Flash. Oh - and there will be iPhone support soon.

How can this seem nearly OK? There are loads of widely supported mechanisms for streaming audio - why choose one with such limited support? This is like publishing the bible only in Latin - because everyone speaks Latin - or at least everybody who needs to read the Bible speaks latin. And what's so special about the iPhone that cuts out my streaming radio?

(Read more at: http://tech.lds.org/forum/showthread.php?t=3119)

Vatican radio on the other hand does it quite well:
http://www.radiovaticana.org/en1/diretta.asp

It supports wma, real (and mp3 in the left column) and no need for any freaky platform-restricted plugins.

So, I'm a church member and I can wake up to Vatican Radio, but not Mormon Radio - why, exactly?

Someone has to make an active decision and sign a large purchase order to do things as wrong as this.

However, by standing on the shoulders of advocates of software freedom, using wireshark to look at the network packets and recognize RTMP as the protocol, swfmill to take to pieces the flash radio player to get the audio addresses, and flvstreamer to dump the audio, I managed to cobble together a system that allows the stream to be converted into an MP3 stream so that mp3 players can pick it up. I've called this the Wycliffe hack in commemoration of John Wycliffe who strove to make religious material available to everyone.

flvstreamer/flvstreamer_x86 -v -r rtmpt://fls2g1.services.att-idns.net/al1/8004_8806_01 -s http://radio.lds.org/mc_files/flash/theMormonChannelPlayer.swf -p http://radio.lds.org/eng/listen-now -o /dev/stdout > RADIO.flv

Of course I don't want to dump to a file called RADIO.flv, I want to convert the stream to mp3, but commands like this work:

cat RADIO.flv | ffmpeg -f flv -i - -f wav -

if they read from flvstreamer stdout, they fail!

So while I've solved the hardest problem, I need to sort out the glue.

Re: Mormon Radio - In Latin!

May 23 2009 06:43PM
by: Sam Liddicott<sam@liddicott.com>
Quick instructions:

flvstreamer_x86 -v -r
rtmpt://fls2g1.services.att-idns.net/al1/8004_8806_01 -s
http://radio.lds.org/mc_files/flash/theMormonChannelPlayer.swf -p
http://radio.lds.org/eng/listen-now

where 8004_8806_01 may need replacing from time to time with one of:

8004_8805_01
8004_8785_01
8004_8786_01

stdout will be the flv file which you will need a flash player to play,
unless you pipe into:

ffmpeg -f flv -i - -vn -acodec copy -f mp3 -

This method is called the Wycliffe method after John Wycliffe who
struggled to have the Bible published in English to make it available to
everyone.

Mormon Radio

May 24 2009 06:46AM
by: kathi.hori

So Sam,

Have you complained to the relevant dept.?


Re: Mormon Radio - In Latin!

May 25 2009 09:29AM
by: Sam Liddicott<sam@liddicott.com>
The streams I was using are no longer available. I think they were test
streams. I found some new streams from packet dumps, e.g.

rtmpt://fls3g1.services.att-idns.net/al1/9874_9200_01

I need to work out how they are conveyed to the flash player, so that I
can get them from the same source.

The flv streams also seem to be encrypted now and ffmpeg can't decode
them, but this gstreamer pipeline can:

cat P.flv | (( gst-launch filesrc location=/dev/stdin ! decodebin !
audioconvert ! lame name=enc bitrate=128 ! filesink location=/dev/fd/3 )
3>&1 >&2 ) > PP.mp3

So I can still get Mormon Radio without having to load a web browser,
and convert it live to an mp3 stream and send to a local shoutcast
server for pickup by my clock internet radio:

./flvstreamer/flvstreamer_x86 -v \
-r rtmpt://fls3g1.services.att-idns.net/al1/9874_9200_01 \
-s http://radio.lds.org/mc_files/flash/theMormonChannelPlayer.swf \
-p http://radio.lds.org/eng/listen-now | \
gst-launch filesrc location=/dev/stdin ! \
decodebin ! audioconvert ! lame name=enc bitrate=128 ! \
shout2send password=hackme mount=mormon-radio.mp3 \
ip=192.168.1.70 port=8000

My icecast server definition is:
<relay>
<server>127.0.0.1</server>
<port>8000</port>
<mount>/mormon-radio.mp3</mount>
<local-mount>/differents.mp3</local-mount>
<on-demand>0</on-demand>

<relay-shoutcast-metadata>1</relay-shoutcast-metadata>
</relay>

I can listen to the mp3stream at:
http://192.168.1.70:8000/mormon-radio.mp3.m3u

RE: Mormon Radio - In Latin!

May 26 2009 08:19AM
by: thomas.hori

Interesting,  maybe the codec has advantages? Maybe not!!!


From Thomas Hori


Re: Mormon Radio - In Latin!

May 26 2009 10:33AM
by: Sam Liddicott<sam@liddicott.com>
* thomas.hori wrote, On 26/05/09 08:19:
> Interesting, maybe the codec has advantages? Maybe not!!!
Aye.

The audio codec is actually mp3.
The container is flv (flash video) but there is no video stream.
The stream is rtmpt, which is tunnelled rtmp.

The rtmp is tunnelled over http as a series of short http requests, each
request returning the next part of the rtmp data, which itself contains
the next part of the streamed flv.

So I am using flvstreamer to recover the flv stream (I guess it should
be called rtmp streamer), and then using the GNOME audio system called
"gstreamer" to recover the audio from the flv stream and send it to my
icecast (shoutcast compatible) server. My clock-streaming-internet-radio
then connects to my icecast server to play Mormon radio.

rtmtp has many advantages - it makes it suitable for listening by users
who pretty much only have web access! It gets round most firewalls, most
restrictive ISPs, etc.

I'm using plain rtmp, not the tunnelled version, and plain rtmp is more
efficient if you can do it.

I guess they use flv as the container because the software better
supports that, as flv is an Adobe contain format and rtmp is an Adobe
streaming format, so they are probably using Adobe streaming software.

The main disadvantage of rtmp is that it is not mp3 streamed over http.
Many devices can pick up mp3 over http which cannot pick up flv over
rtmp/rtmtp. I wish Mormon radio used both.

Sam

Building src.rpm from git/svn

Jun 09 2009 03:23PM
by: Sam Liddicott<sam@liddicott.com>

Building src.rpm from git/svn


Here are some scripts which I use to produce a src.rpm from a git tree. In accordance with rpm philosphy, a pristine source tar.gz is produced, with a series of patches up to the current released. The svn backend is less developed, as I am not so familiar with svn as I am with git, but it works enough for my use with the openchange project.

The general usage is:
make-srpm [options] project.spec [...]
and this should be invoked from within or below the git/svn checkout directory.

Note: make-srpm will cd to the top-level git/svn directory before working. Multiple .spec files can be specified, and these can be absolute paths or relative to the current directory (not the top level directory).

make-srpm will generate a new .spec file based on the on you provide, and then use this spec file along with the specified environment it will build the binary RPMS.

make-srpm creates a folder called dist-export in the top level git directory.

Into this folder it will export the pristine source as specified by the RELEASE variable, along with any other files in the $EXTRA_SOURCE directory (relative to the spec file).

Numbered patches are then produced, starting after the highest patch already in the spec file.

dist-export then contains everything required, and the src.rpm is build using rpmbuild --nodeps

Options and Macros

The operation of make-srpm is generally controlled by shell variables which may be set explicitly in the environment before calling make-srpm, or specified as command arguments in makefile fashion; e.g.
make-srpm ORIGIN_PATTERN="*alpha*" project.spec
or from within the specfile from specially formed comments.

The Name: and Version: fields are always extracted and stored in the environment variables Name and Version.

The following comments are also searched:
#make-srpm-SOURCE_PATHS:
#make-srpm-ORIGIN:
#make-srpm-ORIGIN_PATTERN:
#make-srpm-RELEASE:
#make-srpm-PATCH_LEVEL:

to set environment variables named without the lower case prefix. The meaning of these is explained below:

SOURCE_PATHS - this is a space-separated list of directories relative to the top level git folder, and specifies the folders to be exported. Some git trees contain source for more than one project and so it can be convenient to reduce the size of the source tar.gz by putting a line like this in the sub-project spec file:
#make-srpm-SOURCE_PATHS: sub_project_dir includes
ORIGIN - this is a git reference to the commit that represents the pristine source and should probably be the most recent tag before the git rebase point. This can be a tag or a commit hash.

ORIGIN_PATTERN - more useful than origin, can be a git tag glob so that make-srpm can select the current ORIGIN automatically. It can be convenient to have a line in a spec file like:
#make-srpm-ORIGIN_PATTERN=*release*
RELEASE - is a git reference to the release that you want to build; thus patches will be emitted from ORIGIN to RELEASE. This can be a tag or a commit hash, or the value HEAD (meaning whatever is currently checked out), or the special value LOCAL which means that uncommitted changes are also included.

PATCH_LEVEL - indicates the value of the -p argument that will need passing to patch and depends on what level of subdirectory your source sits at from the top level git directory. As the value is not likely to change for a project, it can be convenient to add a line like this to a spec file:
#make-srpm-PATCH_LEVEL=2
The new spec file will also contain some convenient macro definitions at the top of the file, like:
%define makesrpm_tarname samba-release-4-0-0alpha7.tar.gz
%define makesrpm_tarprefix samba-release-4-0-0alpha7

which you can use as a basis for your own macro definitions or package fields.

make-srpm will also allow you to pass your own spec file macro definitions. Macros may be literal macros, or interpolated macros which are be defined in terms of values calculated during execution. This is similar to defining evironment variables, except that define_ or _define_ is prefixed to the name.

e.g.
make-srpm define_project_builder=sam@liddicott.com \
          _define_project_version='$VERSION' \
          CFLAGS="-O2" \
         
project.spec
will replace the macro definitions project_version and project_builder if they exist, or define them at the top of the spec file, like this:
%define project_version 4
%define project_builder sam@liddicott.com

Note that project_version was specified as an interpolated macro by being prefixed with _define_, literal macros are prefixed with define_, without the leading underscore.

Variables suitable for interpolated definitions are:
LOCAL - set to 1 if un-committed changes are included
NAME - specified name, defaults to that found in spec file
VERSION - specified version, defaults to that found in spec file
RELEASE - user supplied reference to git commit to build
RELEASE_COMMIT - git hash of RELEASE
RELEASE_TAG - latest tag leading up to RELEASE commit
SPEC_RELEASE - part of the output of git describe or VERSION_INFO, useful for the Release: field in the spec file
ORIGIN_COMMIT - git hash of commit being exported to tar.gz
VERSION_INFO - output of: git show --pretty=format:"%h %ct %H %cd" $RELEASE_COMMIT
TAR_NAME - name of tar file
TAR_PREFIX - path prefix to files in tar.gz; probable cd %TAR_PREFIX is needed in .spec file

So we see that the action of make-srpm may be configured however is convenient either by special comments in the spec file, or perhaps with makefile arguments name=value from a makefile or other build script.

Implementation Notes

git rev-parse is used to sanitize external git references in this manner:
RELEASE_COMMIT="$(git rev-parse "$RELEASE^{commit}")"

awk

awk is used for enormous speed in some cases.

git_linearize is implemented in awk and solves the problem that the output of git format-patch A..B will often fail when applied to A if there have been merges. git_linearize will instead take the longest path from A..B and then perform git diff between successive points in the path.

git_fix_empty_files is implemented in awk. It processes all the outputs of git diff in order to cope with patches generated by git diff that patch cannot handle; including addition or removal of empty files and meta-data changes. Some of the metadata changes probably ought to generate shell commands to be executed once the patches have been applied.

git_check_empty_patch used to be grep '^' which returns non-zero on empty files while passing through the entire file. Because some commits only have meta-data changes, we need to detect files without any hunks while still passing the entire output, so awk is used.


Building src.rpm from git/svn

Jun 18 2009 07:14PM
by: thomas.hori
Is tar.gz is archived twice, with TAR then GZip, as it appears? Also, TAR must be T. ARchive, like JAR is Java ARchive. What does T. stand for?

Building src.rpm from git/svn

Jun 19 2009 08:55AM
by: Sam Liddicott

Thu Jun 18 2009 7:14:16 pm BST BST from thomas.hori Subject: Building src.rpm from git/svn
Is tar.gz is archived twice, with TAR then GZip, as it appears? Also, TAR must be T. ARchive, like JAR is Java ARchive. What does T. stand for?

Good question, Thomas. The answer depends on the meaning and usages of the word archive.

TAR stands for Tape ARchive, in contrast with AR which stands for ARchive, and which was an archive of compiled object files making a library.

AR files were pretty useless for anything except archives of compiled object files, but TAR is an extension of the idea.

A TAR file is a concatenation of file contents, filenames and other file metadata and thus constitutes a backup or archive, and so if you produce a TAR file you are archiving files that form it's contents.

Unlike ZIP (JAR is a ZIP with some slight extra metadata I think) which archives and compresses, TAR does not compress, but the output of TAR can be compressed - often using GZip as you mention, because GZip is a stream-compressor and ZIP is a file compressor (difference explained further down).

Now to address your question: Is GZipping something also archiving it? There are a few ways to look at this:

  1. Many archive management programs handle the GZip format and extract the contained file.
  2. Compression is a useful form of archiving when archiving is performed to save space
  3. Usually a tar.gz is produced in 1 step: tar -czf /tmp/files.tar.gz /home/sam
    the z flag means to GZip the output.

So usually a .tar.gz has not been archived twice but it is valid to consider that it is actually a double-archive in some senses. Often a tar file is GZipped afterwards like this:

gzip -9 files.tar.gz

and then it could literally be true that it has been archived twice.

GZip is a stream compressor in that it doesn't just have to archive files, and it doesn't need to have all of the data to produce a valid archive and it doesn't need to have all of the archive to uncompress it as a stream. If a zip file can be produced as a stream (and I'm not certain) it certainly can't be unzipped as a stream, because much the zip directory index nd much neccessary meta data is stored at the very end of the zip file, so you can't unzip until you have the entire zip file.

As an example, you can gzip like this:

cat file | gzip -9 | ssh sam@remote.machine 'cat > /tmp/file'

in order to transfer a file between machines. It's not the best way, but I've used something like it many times. It has advantages that I don't have to wait for the entire file to compress before transfer starts so it saves time, and I might not even have enough space to store the entire compressed file.

I've used commands like this to duplicate disks images over the network.

Duplicate over a fast lan:
dd if=/dev/sda2 | ssh sam@local.machine 'dd of=/dev/sda2'

Duplicate over internet:dd
if=/dev/sda2 | gzip -9 | ssh sam@local.machine 'gunzip | dd of=/dev/sda2' 

Because the internet is slow it's worth spending CPU time to compress the disk, but over the LAN it's quicker not to.

Before I did that though, I might make sure that unused disk blocks were all zero (so they compress well) like this:

dd if=/dev/zero of=/tmp/file

which would fill /tmp/file with zeros until the disk was full, then I would delete /tmp/file

Because unused disk blocks are zeroes, they will compress very well and I won't waste time transferring these unused disk blcks over the internet.


What I learned from this post on your blog

Jun 19 2009 10:03AM
by: Hannah Bardsley
I will never ever ever understand the confusing world of computers so there is no point in trying! ! !

Justification for piracy

Jun 19 2009 12:43PM
by: Sam Liddicott<sam@liddicott.com>
2 comments which say an awful lot; from slashdot story in which someone in the USA is fined $80,000 per song for copying 24 songs illegally.

As a side note, I've heard that in the UK it is not legal to copy a CD you have bought to your mp3 player in order to listen to it; copyright law was established before the means to replicate and distribute were available to the public - or indeed the desire or need to do so for private use (like copy to your mp3 player). It seems unfair therefore that copyright law is rigorously interpreted is this the context of today.

Re:Justifying piracy (Score:5, Informative)

by hairyfeet (841228) <`bassbeast1968' `at' `gmail.com'> on Thursday June 18, @08:28PM (#28383463)

One sentence- Steamboat Willie is STILL under copyright! The man has been pushing up the daisies (or sitting in the freezer, whichever you prefer) for over half a fricking century, yet his FIRST work, one made when planes were made out of cloth and antibiotics were just a dream, is STILL under copyright.

Most of us here are for fair copyright. Of course most of us would consider the outright bribery of our elected officials by multinational corporations to be treasonous. The US copyright system, which is being forced down the throats of more and more nations, was a CONTRACT, nothing more. In return for a LIMITED monopoly in the form of government imposed copyrights We, The People got in return a richer and more diverse Public Domain for all of us.

But we have been robbed, and the contract broken. We, The People are no longer represented anymore, because we can't cut individual checks to bribe our own elected officials like the multinationals can. Until We, The People are once again represented at the bargaining table then ALL copyrights should be considered by the people of this country and all those who have American copyrights forced upon them null and void and completely ignored. Crooked laws created by bribed officials should be looked upon as the illegal acts that they are. Period.

Re:Justifying piracy (Score:5, Insightful)

by nine-times (778537) <nine.times@gmail.com> on Thursday June 18, @10:29PM (#28384575) Homepage

The US copyright system, which is being forced down the throats of more and more nations, was a CONTRACT, nothing more. In return for a LIMITED monopoly in the form of government imposed copyrights We, The People got in return a richer and more diverse Public Domain for all of us.

Somehow this is what seems to get lost in a lot of copyright discussions. Not to give a complete history of the copyright, but there was a time when we had no copyright, and people wrote books, painted, composed music, and performed it because they wanted to, and often they found ways to get paid for their expertise and talent. One common way was to do work that someone else wanted them to do on commission, whether they wanted to do it or not. Though many artists wished to have control over their own work, it was just silly to expect as much. Another artist would copy your painting, or another author might rewrite your story, and that's how culture developed.

And basically all that was fine until the the printing press arrived, and book publishers started making a fortune from printing books, neglecting to pay the authors. People recognized this as unfair and discouraging to those who might want to write a book, so they invented the idea of the copyright. The idea wasn't to ensure profitability for publishers by forcing readers to pay for the right to read a book, nor was it meant to allow authors to control the destiny of their work, but it was solely a way to help authors get a share of the huge profits publishers were already making.

Flash forward to the present, and now copyrights are being manipulated in such a way as to have almost the opposite effect that was intended. Copyrights are being used to guarantee profits for the publishers, while the artists are being denied their fair share of the profits. If anything, the Internet should allow us to go back to pre-copyright days, since distribution doesn't really require a "publisher" in the same way.

Now I'm not saying we actually should drop copyrights, but only that convention has twisted the purpose of the copyright and given bad expectations about what copyrights will accomplish. Now we think that people own, buy, and sell ideas. Further, that if you own an idea, you should retain ownership and complete control forever. That's just an unsustainable situation.

I import much of my music from mp3sparks in Russia, which as far as I can tell (and I've spent over an hour researching) is legal. I'm sad that the artist doesn't get their 2 pence per track (or whatever) but consoled by the fact that the immoral music industry doesn't get the other 98 pence. The fact that music publishers have directed artists not to register with the Russian copyright agency to receive their Russian equivalent of 2p makes me laugh even more. The only widely acclaimed moral response is actually to not buy music published by immoral publishers at all.

What I learned from this post on your blog

Jun 21 2009 07:56PM
by: thomas.hori
Sorry. I suppose there isn't.
Fri Jun 19 2009 10:03:05 BST from Hannah BardsleySubject: What I learned from this post on your blog
I will never ever ever understand the confusing world of computers so there is no point in trying! ! !




Building src.rpm from git/svn

Jul 11 2009 11:28AM
by: thomas.hori

Do a google search for 'cab explorer' and it will come up with a free program that MAKES CABs. Anyway,

There exists a format called BZip2, it's archiver being called 'bzip2.exe'. Rename it to 'bunzip2.exe' to make it extract instead. Cleaver!


Intelligent machines

Oct 23 2009 01:28PM
by: Sam Liddicott

Reading The Leakproof Singularity and Simulation we have the quote from 1965 by British statistician IJ Good:

“Let an ultraintelligent machine be defined as a machine that can far surpass all the intellectual activities of any man however clever. Since the design of machines is one of these intellectual activities, an ultraintelligent machine could design even better machines; there would then unquestionably be an ‘intelligence explosion,’ and the intelligence of man would be left far behind. Thus the first ultraintelligent machine is the last invention that man need ever make.”

count the some falacies here...

Never mind that the first statement may not actually be possible: "Let an ultraintelligent machine be defined as a machine that can far surpass all the intellectual activities of any man however clever.";

never mind that intelligence may or may not be embodied within machines, we have the questions:

  • "an ultraintelligent machine could design even better machines; there would then unquestionably be..." Would the unltraintelligent machine want to design a better machine? It may think it wiser not to.
  • Even if it were so, man might invent another intelligent machine to save himself from the ravages of the first.
  • Philosophically, there is a case to argue that man is such an intelligent machine created by the earth, and does she regret it now?

-- 
Sam Liddicott
sam@liddicott.com


Lyx split listings inset

Nov 09 2009 11:57AM
by: Sam Liddicott<sam@liddicott.com>
When converting program source into literate source using Lyx, it is
convenient in the first instance to allocate a listings inset for each
source file, but as I annotate and break up each listing it becomes
cumbersome to split the listing into parts.

I find that generally I want to select part of the inset I am working on
and move it to a new inset either above or below the current inset.

Perhaps I will select from the current position to the start of the
inset and want to split into two insets: i.e. split-at-cursor

Lyx 1.6.3 and before is pretty bad at that; but these macros can be
assigned to keystrokes:

To move selected text into a listing inset below; I assigned this to
CTRL-ALT-/

command-sequence cut ; char-delete-backward ; escape ; listing-insert ;
paste

To move selected text into a listing inset above; I assigned this to
SHIFT-CTRL-ALT-? (because ? is on the same key as /)

command-sequence cut ; escape ; up ; char-forward ; listing-insert ;
paste ; char-delete-backward

This makes it easy to split insets.

Poor Jake

Nov 11 2009 09:22AM
by: Sam Liddicott<sam@liddicott.com>
Jake died in the toilet alone.
An inventor, afraid of being interrupted on the toilet
Invented an electric door lick, automatically activating whenever the
toilet was occupied.

During testing the door locked itself when he entered and by rigorous
design could not unlock while he was present and he was unable to leave.

In life - afraid that someone would interrupt him while in the toilet;
in death - no-one could.

  • Its time
  • Whats with s/he all the time?
  • Stinkin GNOME file dialogs
  • Free Choice
  • Comment on Stinkin GNOME file dialogs by ebassi
  • Secrets in GNOME file dialogs
  • Comment on Stinkin GNOME file dialogs by Sam Liddicott Secrets in GNOME file dialogs
  • ulog-acctd
  • One good thing
  • Comment on Secrets in GNOME file dialogs by ebassi
  • Comment on Secrets in GNOME file dialogs by Sam
  • Installing SUN Java on Ununtu
  • Flash hangs in firefox
  • Stem cell hoo-hah
  • Comment on Secrets in GNOME file dialogs by ebassi
  • do { break; } while (0);
  • Mile high : Mile deep menus
  • When ASDA dont stock
  • HP Printer Hacking
  • A tune by any other name
  • Your own idiot savant
  • Comment on Mile high : Mile deep menus by DigitalArena
  • Comment on A tune by any other name by DigitalArena
  • Trying to buy from ebuyer
  • ASDA Idiots
  • Comment on When ASDA dont stock by Sam Liddicott ASDA Idiots
  • Prank Callers
  • Prank callers revenge
  • Prank Callers Revenge Complete
  • Sweet KDE file views
  • Comment on When ASDA dont stock by John Innes
  • Comment on Prank Callers Revenge Complete by Ant
  • Faking bash history
  • Amarok Spasms
  • Comment on Prank Callers Revenge Complete by Andrew Cooke
  • Hard to buy from DELL
  • Postscript Layout
  • Bank charges and pension post offices
  • Drivers License Checking
  • US Patent System
  • A house, for One Red Paperclip
  • KISS of death (Keep it stupidly simple)
  • Comment on do { break; } while (0); by Fred
  • Comment on do { break; } while (0); by Sam
  • Is Joker.com Joking or Choking?
  • b# for kernel modules?
  • Dapper Dodges
  • Beggars cant be choosers
  • Comment on Beggars cant be choosers by Natalia Gorbski
  • Comment on Beggars cant be choosers by JT
  • Shell script wrappers
  • Bobby Robson quotes
  • Solar Roof
  • Unattributed
  • XSLT Hex to Decimal Conversion
  • Comment on KISS of death (Keep it stupidly simple) by Ben
  • Comment on Prank Callers Revenge Complete by Simon
  • Closed Source Kernel Drivers with B#
  • Comment on b# for kernel modules? by Sam Liddicott Closed Source Kernel Drivers with B#
  • Comment on Prank Callers Revenge Complete by Gary
  • Comment on Closed Source Kernel Drivers with B# by Sam
  • ALSA stuttering sound
  • Key-value pair files to xml
  • BBC and FLASH on Linux
  • BBC Flash Update
  • Web Colours
  • Comment on Prank Callers Revenge Complete by davidf
  • Orange GPRS on SPV C550
  • Comment on Prank Callers Revenge Complete by PjB
  • Of dweebs, nerds and geeks
  • Smart Programmer, Smart Doctor
  • Comment on Prank Callers Revenge Complete by Moo
  • Comment on KISS of death (Keep it stupidly simple) by alyce
  • Comment on ALSA stuttering sound by Adric
  • Comment on Prank Callers Revenge Complete by M.Hassan
  • Online Textbooks
  • Comment on Prank Callers Revenge Complete by J.Smith
  • ASCII character conversion
  • Kenneth Cope
  • Counting nodes
  • Comment on Prank Callers Revenge Complete by Cassandra Pearson
  • Comment on Prank Callers Revenge Complete by paul wrighton
  • Comment on Prank Callers Revenge Complete by Adam
  • Comment on Prank Callers Revenge Complete by Dave N
  • Comment on Prank Callers Revenge Complete by Sam
  • HP48 Skin for M3100 / Hermes
  • Comment on ASCII character conversion by musically_ut
  • Dont confuse the message
  • Abortion is Legal, Pictures are Not
  • Collapsing on clusters
  • The SPAM solution -Demand Good Manners
  • Comment on Flash hangs in firefox by Chris Blog Blog Archive Ubuntu Sound: mpd, flash, etc.
  • Comment on ASDA Idiots by Ben Furfie
  • gL3tIyli
  • Comment on Prank Callers Revenge Complete by Steve
  • Comment on Prank Callers Revenge Complete by joe
  • BYU-TV on linux
  • Comment on HP48 Skin for M3100 / Hermes by skin in Full Screen
  • Signing Jars with pvk
  • Comment on Prank Callers Revenge Complete by Chris Buckley
  • Comment on XSLT Hex to Decimal Conversion by Skeeve
  • Comment on XSLT Hex to Decimal Conversion by Skeeve
  • Comment on XSLT Hex to Decimal Conversion by Skeeve
  • Terminal Servers
  • Comment on ASCII character conversion by Skeeve
  • Comment on ASCII character conversion by Sam
  • $150 Bounty: 0402:5602 m560x webcam driver
  • Comment on $150 Bounty: 0402:5602 m560x webcam driver by James
  • Comment on Prank Callers Revenge Complete by bob
  • Comment on Prank Callers Revenge Complete by Steve
  • Comment on XSLT Hex to Decimal Conversion by Skeeve
  • Comment on XSLT Hex to Decimal Conversion by Sam
  • Windows-only IP camera on linux
  • UPDATE: Fix status timeout: status=0xd0 { Busy }
  • Comment on HP48 Skin for M3100 / Hermes by Emmett
  • Comment on Prank Callers Revenge Complete by Eric Martin
  • Comment on Prank Callers Revenge Complete by mike
  • Comment on Prank Callers Revenge Complete by Dee
  • Comment on Windows-only IP camera on linux by olivier
  • Can Black Rod Prevent Tasered Students?
  • Comment on Windows-only IP camera on linux by LiamK
  • Comment on Windows-only IP camera on linux by Sam
  • Comment on Windows-only IP camera on linux by LiamK
  • Comment on Windows-only IP camera on linux by Sam
  • Comment on Windows-only IP camera on linux by Jason
  • Comment on Prank Callers Revenge Complete by kim
  • Comment on BYU-TV on linux by next time
  • Comment on Bobby Robson quotes by Ruth Bardsley
  • Comment on UPDATE: Fix status timeout: status=0xd0 { Busy } by Valerio
  • Comment on $150 Bounty: 0402:5602 m560x webcam driver by Paul Tatham
  • Comment on $150 Bounty: 0402:5602 m560x webcam driver by Sam
  • Comment on Prank Callers Revenge Complete by Michelle Parfitt
  • Derek Cooper Special Award 2007
  • GPL3 Questions and Implications
  • Comment on GPL3 Questions and Implications by Sam
  • Comment on GPL3 Questions and Implications by Sam
  • Comment on GPL3 Questions and Implications by Sam
  • Comment on GPL3 Questions and Implications by MJ Ray
  • Comment on GPL3 Questions and Implications by edA-qa mort-ora-y
  • Comment on GPL3 Questions and Implications by Sam
  • Comment on GPL3 Questions and Implications by Sam
  • Comment on GPL3 Questions and Implications by Sam
  • Comment on GPL3 Questions and Implications by Ben
  • Comment on GPL3 Questions and Implications by Sam
  • Comment on GPL3 Questions and Implications by Sam
  • Comment on GPL3 Questions and Implications by Sam
  • Comment on GPL3 Questions and Implications by Sam
  • Comment on GPL3 Questions and Implications by MJ Ray
  • Comment on GPL3 Questions and Implications by MJ Ray
  • Comment on GPL3 Questions and Implications by MJ Ray
  • Comment on GPL3 Questions and Implications by MJ Ray
  • Comment on GPL3 Questions and Implications by Sam
  • Comment on $150 Bounty: 0402:5602 m560x webcam driver by Charles Gomes
  • Comment on $150 Bounty: 0402:5602 m560x webcam driver by Kevin Hamilton
  • Comment on $150 Bounty: 0402:5602 m560x webcam driver by Sam
  • Comment on Prank Callers Revenge Complete by Feebee
  • Should I say thank-you?
  • Why I like unix
  • Why do people treat animals like slaves?
  • Comment on Why do people treat animals like slaves? by saxon
  • Comment on Prank Callers Revenge Complete by Mark Ford
  • Comment on Short Resume by Dan Kauvaka
  • Comment on BYU-TV on linux by solipsistic
  • Comment on BYU-TV on linux by Sam
  • Comment on $150 Bounty: 0402:5602 m560x webcam driver by Rioting_pacifist
  • Comment on GPL3 Questions and Implications by MJR's slef-reflections: 21 today! MJR around the web...
  • SKCLONE - Like PWDUMP or COPYPWD but works on 64 bit
  • Comment on $150 Bounty: 0402:5602 m560x webcam driver by Maciej Grela
  • Comment on $150 Bounty: 0402:5602 m560x webcam driver by Sam
  • automatic widget binding for glade/gtk-builder and vala
  • Comment on $150 Bounty: 0402:5602 m560x webcam driver by Charlie
  • Unintended consequences of over-strict control
  • Comment on Windows-only IP camera on linux by zefix
  • Comment on Windows-only IP camera on linux by Sam
  • Comment on Windows-only IP camera on linux by zefix
  • Comment on $150 Bounty: 0402:5602 m560x webcam driver by Andrea Mastellone
  • Comment on GPL3 Questions and Implications by Dora
  • Comment on BYU-TV on linux by James Carroll
  • Comment on $150 Bounty: 0402:5602 m560x webcam driver by Sj
  • Comment on $150 Bounty: 0402:5602 m560x webcam driver by Sam
  • BBC and Flash 10
  • Comment on BBC and Flash 10 by Simon
  • Comment on BBC and Flash 10 by Sam
  • Excellent Slashdot posting
  • Comment on Windows-only IP camera on linux by Wilhelm
  • Comment on Windows-only IP camera on linux by Sam
  • Sins of the children? Israeli war machine copies Nazi war machine
  • Comment on $150 Bounty: 0402:5602 m560x webcam driver by Fabio
  • Comment on $150 Bounty: 0402:5602 m560x webcam driver by Sam
  • Debugging Makefiles
  • USB-B3G on Asterisk
  • Comment on $150 Bounty: 0402:5602 m560x webcam driver by Ty
  • Comment on $150 Bounty: 0402:5602 m560x webcam driver by Laurent
  • MS PPTP VPN server with linux
  • Auto-mount of windows shares on Ubuntu login
  • Wild virtues
  • Practical Jokes
  • Whats with s/he all the time?
  • A tune by any other name
  • Church meeting templates for open office 3
  • Mormon Radio - In Latin!
  • Re: Mormon Radio - In Latin!
  • Mormon Radio
  • Re: Mormon Radio - In Latin!
  • RE: Mormon Radio - In Latin!
  • Re: Mormon Radio - In Latin!
  • Building src.rpm from git/svn
  • Building src.rpm from git/svn
  • Building src.rpm from git/svn
  • What I learned from this post on your blog
  • Justification for piracy
  • What I learned from this post on your blog
  • Building src.rpm from git/svn
  • Intelligent machines
  • Lyx split listings inset
  • Poor Jake
(c) Joe Bloggs
[FSF Associate Member #2325]