Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
×
Bug

Journal Journal: Slashdot link weirdness solved: rogue link tracker 5

In the last week or two links to external sites on Slashdot generally don't seem to work unless I click several times. This only appears to happen on Firefox... Chrome is unaffected. I haven't tried IE, Safari, or any other browser. Finally fed up with it, I decided to look through the javascript to see if there was anything funky going on. Looks like there's a script being included from leads.demandbase.com that defines some kind of click tracker. Here's a snippet:

  • else if(a[i].className.match(/clicky_log_outbound/i)){clicky.add_event(a[i],"mousedown",clicky.outbound);}else{clicky.add_event(a[i],"mousedown",clicky.click);

So if you find you've oddly had to click a few times to RTFA, it's not your mouse button dying. Open up adblock and disable everything from leads.demandbase.com and it will be fixed. Links clicked once in Firefox will properly load as they used to. Thanks Slashdot for using an external company for tracking my click behavior. Though perhaps implementing this poorly is Taco's way of giving us a heads-up. Much like the "Idle" section, his overlords may have mandated the addition of this awesomeness to the site and by making it break it alerts us to what we need to block. In which case, a non-sarcastic thanks is due.

I also found this wonderful gem:

  • function pageload_done( $, console, maybe ){
            pageload.after_readycode = (new Date).getTime();
            pageload.content_ready_time = pageload.content_ready - pageload.before_content;
            pageload.script_ready_time = pageload.after_readycode - pageload.content_ready;
            pageload.ready_time = pageload.after_readycode - pageload.before_content; // Only report 1% of cases.
            maybe || (Math.random()>0.01) || $.ajax({ data: {
                    op: 'page_profile',
                    pagemark: pageload.pagemark,
                    dom: pageload.content_ready_time,
                    js: pageload.script_ready_time
            } });
    }

Unless my javascript is really rusty, won't this report 99% of cases?

Anyway, pass this information on so everyone can RTFA without the hassle.

User Journal

Journal Journal: "I could care less"

It's amazing how people try to rationalize away the phrase "I could care less", much in the same way that Star Wars apologists try to rationalize the use of parsecs when talking about the Kessel Run. Maybe there are black holes to navigate around, and minimizing the distance is the sign of a good pilot, or maybe this, or maybe that... or maybe George Lucas just made a mistake, you know?

So when it comes to people rationalizing away "I could care less" as being some nonchalant way of saying "yeah, I could but I'm not going to bother" I just don't buy it. It's a misquote of the perfectly unambiguous phrase "I couldn't care less". So when I stumbled across a rationalization of that, my mind wandered upon what I think is a pretty damned good analogy of why it doesn't make sense: I could eat more.

User Journal

Journal Journal: Thanks for the gift subscription! 6

I just received mail notification that a fellow user has bought me a gift subscription to slashdot. I'm already friends/fans with the person but his email address isn't visible so I can't thank the person off-/. (wimp, change your privacy settings and deal with the spam! :P )
 
Not sure what I did to deserve it, but I thank you!
 

User Journal

Journal Journal: That was Britain's first Vintage Computing Festival 1

So the VCF finished yesterday afternoon.

It lived up to and exceeded my expectations, what a fantastic event. Unfortunately, I didn't really get to see all of what was going on since I was manning my own stand a lot of the time (four Ethernet-networked Sinclair Spectrums, with a MicroVAX fileserver - all of this connected to the internet! - plus a Vectrex since people seem to really like them). My stand and Chris Smith's were next to each other (he reverse engineered the Spectrum ULA for a book he's writing, which charts the history of Ferranti's ULA technology and Sinclair's use of it) - we were hoping to get his Harlequin (100% accurate Spectrum implementation consisting of 74HC logic ICs) onto the network too but his stand was so busy he spent all his time talking to visitors!

The Spectrum twitter client went down very well. I think there were about 8 pages of tweets from the Speccy by the end of Saturday. I really ought to have put a counter in the client to give a definitive count of how many tweets had been made.

I picked up a double density disc drive for my BBC Micro while I was there, and also fixed one of my 128K "toastrack" Spectrums (all it had was a bad transistor in the power section and a dodgy keyboard membrane). Unfortunately I forgot my USB lead for the camera so no pictures till I get home.

Probably the highlight of the show was the talk by Sophie Wilson (designer of the BBC Micro and the ARM CPU, that last bit being very highly significant). If I had the choice of seeing Sophie Wilson or Bill Gates at a computer show, it would be Sophie Wilson every time. She may not be 0.1% as famous as Bill Gates, but I think she is actually a lot more important and significant than Bill Gates. Nearly anyone could have been a Bill Gates, he got where he was due to luck and sticking his neck out a bit (at no real risk to himself, he was already backed by a very rich familly) - if Compaq hadn't cloned the PC, and if IBM had been more closed about the PC specification, Bill Gates and Microsoft may have been just another footnote, remembered only for their truly dreadful BASIC on the Commodore 64; once PC cloning happened, for Microsoft to make money off DOS was about as difficult as falling of a log. But on the other hand, ARM only came about through lots of real intelligence and thought and grit and determination - and today ARM ships 1.25 *billion* units per *quarter*, more than every other microprocessor architecture put together. When the ARM was designed, Hermann Houser jokes "we gave the ARM team exactly what they needed, no resources and no money" :-)

And without the microprocessor designers, where would software people be?

User Journal

Journal Journal: Sinclair Spectrum Twitter client 2

It's the UK's first Vintage Computing Festival next weekend, so I've been getting some stuff together for my Speccy exhibit. Of course I've been working on the Spectrum ethernet card, and while things like the network filesystem it provides are handy, I thought I needed something that VCF attendees could appreciate.

A while ago we did a "hack" of a Twitter client (over a pint of beer, in a pub in Oxford - while getting strange looks from all the "normals") but it was just that - a hack - with the tweet and the login details hard coded into a short asm program. This time I've written a proper http library, and some user interface. Most of the work is done by the HTTP library (parsing headers, putting headers into the request etc), and it's all written in C.

If you can't get to the VCF, you can at least watch a video here:

http://www.youtube.com/watch?v=-ECnN7jdgA4

User Journal

Journal Journal: Cooking for Friends - Mushrooms in white wine sauce

Thanks to a friend via Facebook, I discovered a good food ideas site, called "Cooking for Friends" - or at least, "Cocinar para los amigos" (it was from a Spanish friend). I saw a recipe go past the other day that I thought looked awesome, so I made it last night - just for myself, I like to test recipes out on myself before I try them out on other people :-)

And it is indeed awesome. For the benefit of those who don't know Spanish I'll repeat it here. The original is here:

Mushrooms in a white wine sauce
http://cocinarparalosamigos.blogspot.com/2010/05/champinones.html

It's a very easy recipe to make. All it needs is garlic, a glass of white wine, some grated bread (to thicken the sauce) and parsley. The recipe as made also includes a small amount of chili (I didn't have the little ones that he shows in the video of the recipe, so I just used a small amount of fresh chili I had in the cupboard. I think it needs just a *small* amount, it's not supposed to set your mouth on fire...) I also made half the quantity that the recipe demands, on the grounds that I was trying it out on myself, not trying to do a starter or a side for four people.

Ingredients:
500 grams (1lb) mushrooms
4 cloves of garlic
a little olive oil
a small heap of breadcrumbs (basically, enough to fill a wooden spoon heaped up)
a branch of fresh parsley, chopped finely
a little chili (I've not seen the tiny chilis that were shown in the video anywhere near me, so I used a small amount of sliced chili)

Put some olive oil in a pan, enough to start cooking the garlic and put on the heat, drop in the garlic. Once the temperature has come up and you've got typical "starting to fry" sounds, add the mushrooms. After 2 minutes, add the glass of wine. Give it a stir and allow to simmer for about 10 minutes with a lid on the pan. After 10 minutes, add a little water, the breadcrumbs and the chili. Let simmer for about 20 more minutes with the lid on - the sauce should be thickening nicely from the grated bread and the evaporation of some of the liquids. Then add most of the parsely and stir for a couple of minutes.

Then serve, sprinkle the remaining parsley on top.

This will make a great starter - I'm going to cook it next time I have friends or family over for dinner.

User Journal

Journal Journal: Awesome... 4

Short Flash vid...
http://en.tackfilm.se/?id=1273610622233RA56

User Journal

Journal Journal: Britain moves one step closer to thought crime

http://www.theregister.co.uk/2010/05/10/twitter_bomb_joker_guilty/

This is the very problem with broad legislation like the Terrorism Act. Not only cases like this, but these days it is an offence to have "information that may be useful to a terrorist" (and the onus is on the defendant to prove that it's not, which reverses the principle of the accusers bearing the burden of proof). A recipe for a bread roll is, after all, information that may be useful to a terrorist, a terrorist has to eat after all.

User Journal

Journal Journal: iPad pre-orders in Canada enabled, I drink the KoolAid 4

Canadian pre-orders started today.

64 GB WiFi version ordered, should be here by May 28. No need for the 3G version, I can tether with MyWi on the iPhone.

My dad picked up the similar model on a trip to the US last week. Was playing with it on the weekend, awesome device. Perhaps not magical but still most impressive.

User Journal

Journal Journal: So, Farewell, MacMiniColo 1

Some time around 2005, Slashdot ran an article about a new hosting company, MacMiniColo that was taking advantage of the new machines that Apple had just released to offer cheap hosting. I got in contact with them, and a little while later, I had a Mac Mini, sitting in a rack somewhere, running OpenBSD and acting as my dedicated server. A 1.42GHz G4 CPU, 512MB of RAM, and an 80GB disk was (and still is) more than adequate for my needs. The biggest load on it is eJabberd, and even that only used under 1% of the CPU.

I had really great service from these people. The hard drive failed a little under a year after I bought the Mini, and Apple refused to honour the warranty because they couldn't find the records of the sale (then, a few weeks later, they could, but by then it was out of the warranty period). MacMiniColo replaced the disk for me at their own expense.

After five years with them, however, I had a little look around and noticed that VPS hosting has gone down in price a lot. I've written a book on Xen, so I thought I might try a Xen-based VPS now that FreeBSD has Xen support.

GigaTux only claims to offer Linux, but I dropped them an email and they were happy to install FreeBSD for me. I still haven't tried the Xen-enabled kernel yet; they installed the stock x86-64 kernel in an HVM domain for me and performance has been fantastic.

I'm sharing a server with 64 other guests and in spite of that performance tends to be better than my ageing Mac Mini. I was getting 1000IOPS while untaring the ports tree, which is far more than the Mini's old 2.5" laptop drive could handle, and is amazing considering that it's going via the slow, QEMU-derived, emulated device, rather than the fast PV driver. I've been installing software from ports, so everything is compiled on the machine, and even that has been fast.

And my Mini? They found someone else who wants it, and offered me about a third of what I paid for it originally - not bad depreciation after five years of constant use. Shipping it back to the UK would have cost almost as much as buying one on eBay, so I sold it on. Hopefully someone else will get some good use out of it.

As an aside, I've been really impressed by how well OpenBSD works on Mac/PowerPC hardware. If you've got an old Mac Mini lying around, chuck OpenBSD on it and you've got a reasonable low-volume server. The newer ones, of course, are x86 hardware, so will run just about anything.

User Journal

Journal Journal: Spaghetti Sauce 3

A couple of weeks back I went to an Italian restaurant with some friends from work. I had a salmon dish (since I don't speak Italian, I can't exactly remember what it was called) - basically, salmon fillet baked with lemon. The side was spaghetti and spaghetti sauce. Two thoughts struck me: (1) the food is incredible and (2) it can't be at all difficult to make at home.

So I made it. What makes it really is the contrast between the lemoned salmon's tartness and texture, and the sweetness of the spaghetti and sauce. I just guessed at what to do with the salmon and it turned out good. The spaghetti sauce - I had a look at various recipes on the internet, and in the tradition of open sauce (yes, go on, groan now) I decided to use ideas from several to come up with sauce code (yes, groan again) that I thought I'd like best. And in those traditions of Free Sauceware, I'll share what I did...

The salmon is easy, each salmon fillet (adjust quantities to taste, but I reckon this is a good starting point)
* 1 salmon fillet
* About a tablespoon of olive oil
* A thin slice of lemon
* About 2 tsp of lemon juice
* Just a pinch of sea salt
Wrap in foil and put in the oven for 20 mins at 180 celsius (if you have a fan oven). I found it was good to prepare the lemon and salmon in the morning and let it sit and marinade until the evening.

The spaghetti sauce (enough for 4 people, or two very hungry people):
* 500g small (cherry) tomatoes
* 1 tube (about 150g) tomato puree (if in your locality it's called tomato paste, make sure it contains nothing but tomato)
* 2 tsp brown sugar
* 1 tablespoon basil
* 2 tablespoons rosemary
* 5 cloves of garlic (or to taste), finely chopped
* 4 tablespoons of olive oil
* 1/2 teaspoon sea salt
* 1 onion

Chop the tomatoes (into quarters I think is best), slice and dice the onion into small bits, and chop the garlic finely. (I have a device with a handle on that you wind for mashing garlic rapidly into small bits, I don't know what it's called - I inherited it from my grandfather and it's at least 40 years old but it's so insanely useful I'm sure they are still available today) and put in a bowl and add the rest of the ingredients. Then give it a good stir. Once again, I found it was best to prepare it in the morning and allow it to fester in its own juices until dinner time.

To cook, put in a pan and stir on a medium heat until it's ready. Generally it should take less time than the actual spaghetti.

The way the Italian restaurant served this was to leave the salmon in its foil, sitting in the lemon juice and olive oil and serve the spaghetti and sauce as a side. I think that works very well.

User Journal

Journal Journal: Debian users are without ClamAV - mail servers broken 1

Well, this morning I found my mail server had died. Postfix was up just fine, but the logs showed that it was failing while passing messages via clamav.

ClamAV was complaining about a bad daily.clv file, and looking at clamav's website... oops, the version of ClamAV in debian-stable has been *disabled* deliberately by ClamAV! (The issue: that version uses too much bandwidth when updating its AV database and ClamAV can no longer tolerate the bandwidth usage).

Oops. Any Debian mail server that passes mail through ClamAV is currently down, unless the admin already knew of this and compiled a new ClamAV or uses Debian unstable.

Looking at sendbug, Debian have been informed... I don't see any information about when we'll get a new ClamAV package, so it's time to compile the latest from source.

GNU is Not Unix

Journal Journal: Why I don't use GNU/Linux 6

There are two reasons why I don't use GNU/Linux: One is GNU, the other is Linux. Of these, the larger reason is GNU, and specifically the glibc part. The most recent reinforcement of this is Ulrich Drepper's inability to read the C specification.

For those not familiar with the C specification, all identifiers that start with an underscore are reserved for the implementation (see section 17.4.3.1.2). You should never use them in your own code, because your compiler is completely free to do whatever it wants with them. By convention, single underscores are used for global non-standard libc extensions and double underscores are used for compiler builtins.

You can find a number of these in existing compiler. Microsoft exposes SEH with keywords like __try. GCC provides __asm for inline assembly, ICC uses __cpuid for accessing the CPUID instruction, and so on. Clang added __block as a type specifier for their variables that are copied to the heap for use by blocks (closures).

Unfortunately, it turns out that the glibc headers use __block as a parameter name. There are several things wrong with this. One is that they use double underscores at all. By convention, these are reserved for the compiler, while single underscores are reserved for the libc. The second is that they used underscores at all in a parameter. Parameter names are not in the global scope, so they can be anything to prevent name clashes.

The result of this is that, if you use glibc, you can't also use blocks. This is a shame, because we (Etoile) were shipping a working blocks implementation six months before Apple. Well, working on *BSD and Solaris (and probably Windows, QNX and Symbian with PIPS, but not tested there). This problem means that it doesn't work on GNU/Linux.

No problem for me. I only use platforms with libc implementations written by people who can read specs. It may be a problem for some of you, if you use a broken platform with a libc maintained by someone who'd rather salvage his ego than fix a problem, and if it is then I'm sorry for you. My suggestion is that you remember that there are other options.

User Journal

Journal Journal: Why machine translation won't be all that good for a very, very long time... 2

A couple of things recently really highlighted why machine translation is going to be awkward and clumsy for years to come, and why even human translation is so damned difficult when you get into colloquialisms and jokes.

A couple of weeks ago, I was with a friend in Wichita and we were at a Mexican restaurant. He mentioned he'd seen a Mexican movie (ÂY tu mamà también?) - a movie subtitled in English, and that some of the audience was getting a laugh out of *something*. He wondered why - was it just a bad translation? Probably not, I answered. Probably a play on words or a double meaning that just doesn't translate to English, or perhaps something cultural (for instance, there are jokes that are funny in Britain but would leave Americans thinking "uh?" due to cultural differences, and vice versa - despite the shared language).

Today I came across one of these. There's this geek comic strip made in Spain called TiraEcol. It's translated into many languages (and I don't know how the attempts to translate it worked in others) - but the English translation just didn't work, and I can't think of any way of actually translating the play on words so it works in English. The original Spanish is here:

http://www.tiraecol.net/modules/comic/cache/images/tiraecol-351.png

And the English here.

http://en.tiraecol.net/modules/comic/cache/images/tiraecol_en-346.png

The last frame will leave the English speaker thinking "Uh?"

But in Spanish, you say your computer crashed by saying it's hung. Furthermore, in Spanish, the personal pronoun is almost always dropped - so it could be "it hung", "he hung" or "she hung". In Spanish, if you want to say "It crashed", you say "Se ha colgado". If you want to say "she hung herself", you say "Se ha colgado". So you have the double meaning for the joke in Spanish, but which is lost in the English translation - Nano responds "What, the program or the girl?" which doesn't really work for "Uh oh, crash".

Indeed, the dropping of pronouns means that machine translation from Spanish to English generally results in something ugly. A human being knows whether someone's talking about "he", "she" or "it" from context, and with the verb conjugation in Spanish, a human doesn't need the pronoun to understand what's going on, because we already grasp the context from what happened earlier. But this is highly problematical for a computer, and quite often the machine translation will guess completely wrong whether the thing in the sentence is a "he, she or it". Also the pronoun for the indirect object is the same for "him, her and it", and again, machine translation frequently picks the wrong one when translating to English. (I can only imagine how tough it will be for languages which come from cultural bases significantly different from ours, such as Japanese or Chinese). Translations have been getting better, especially for things written formally, such as news or technical items, but they will continue to suck for a very great deal of time for informal writing or speech.

So don't use the excuse "oh, we'll have good machine translation soon" as an excuse for not learning a language, at least not for the next three or four decades :-)

Slashdot Top Deals

This file will self-destruct in five minutes.

Working...