Planet ILUG

July 02, 2009
Ken Guest: New Accessibility mailing list for Open Street Map

Lulu-Ann posted to the general Open Street Map mailing list an announcement of theaccessibility mailing list .

From her posting, this mailing list will be focused on the discussion of

All very interesting.

(July 02, 2009 01:13 PM)

Dave Airlie: radeon DDX has initial KMS support
So we've had an -ati DDX with KMS support in a branch for quite a while, but it was starting to grow into a very big mess, and some of the hacks in it were quite unmaintainable.

So started cleaning it up and pushing the bits to master.

Step 1 was adding macros in all the places in the accel code to abstract away the different command submission methods, and
add some ifs to do KMS specific things. Once this was done in theory the accel code wouldn't functionally regress and wouldn't require any more changes.

Step 2 was bringing over the kms and DRI2 support files from the branch.

Step 3 was making the decision between if (kms) if (!kms) blocks all over radeon_driver.c in all the various functions or having a nearly completely separate KMS/DRI2 driver file. The original code has the if approach and it was an unmaintainable nightmare, so I opted for approach 2 and it definitely is the best. At driver probe time in radeon_probe.c, I now do the KMS check if the pciaccess probe is called (kms without pciaccess is probably not going to matter). If I get KMS supported the driver picks a nearly completely different set of functions for PreInit/ScreenInit etc. I now have a separate radeon_kms.c file which has all the DDX interface in it. Of course if we have any changes they may need to be done in two places, but its a lot cleaner than it was in the other codebase.

I also ported the KMS code to use the libdrm_radeon buffer management code which is shared with mesa, instead of the DDX having its own buffer manager code base. This code is well tested via mesa, however it hasn't got all the features/optimisations that I've added to the DDX bufmgr over the last while.

So what's left:
Missing optimisation from old buffer manager:
1. buffer in VRAM? has the buffer ever explicitly been validated to VRAM, this allow for an optimisation on download from screen.
2. Download from screen, with driver pixmaps we don't know if the buffer is in VRAM or GTT, with (1) we can either blit if in VRAM, or just memcpy if in GART.
3. force a buffer to validate in GTT or force a buffer to stay in fast CPU access space - this was really useful some sw fallbacks where a buffer would end up in VRAM and then get used by the CPU from there. It probably only really takes the place of fixing EXA properly so the pixmap scoring is separate from the offscreen memory, and having a XA that works with driver pixmaps a lot better.
4. bugs and crashes I appear to be hitting a realloc crash at some point where glibc reenters itself and fails.

(July 02, 2009 06:09 AM)

July 01, 2009
Donncha O'Caoimh: Please help the World Health Organisation

I received a nice polite email from a man asking for my help last week. He was a bit cryptic but he replied this morning saying he works with the World Health Organisation.

Help the World Heath Organisation

Hi Donncha O Caiomh,
there is something to talk about , i want your assistance coz i work with W.H.O ( world health organisation ) and i bought some goods in state and i am in finland here for official purpose.
Will you kindly send me your address so i can send the goods to you and also maybe when am through with my official assignment i will come down there and collect the goods bought.
Pls kindly reply me so as to know what to do.
THANKS
JUNIOR BENRICHARD.

Oh the poor guy! He’s stuck in Finland and needs goods delivered? As I was about to reply with my full address, I remembered getting another email from him. He had contacted me about a post I wrote. That was last week when I was on holiday and I still haven’t got around to clearing out my inbox. I went searching and here it is:

electric car info

hi
yea i drive an electric car. i work with the car construction company. if you wanna know, kindly send me 3000usd via western union and i will get back to you as possible.
you can call me on +2348029479959. am junior by name.

Oh what a talented guy! He works for W.H.O. and for a car company! I don’t know if I want to know about electric cars that much. I mean, $3000? That’s a lot of money!

Oh, and Ben, since you’re subscribed to my blog, please get in touch again. The Irish Police want a word with you.

Related Posts

(July 01, 2009 03:33 PM)

Ken Guest: Reorganising the WikiProject_Ireland Page

I sent a post to the talk-ie mailing list wondering whether we should reorganise the “WikiProject_Ireland” page to be more useful for those of us that are interested with mapping in Ireland.

If you’re interested please chime in with your opinion so we can arrive something workable.

(July 01, 2009 12:53 PM)

Justin Mason: User script: add my delicious search results to Google

For years now, I’ve been collecting bookmarks at delicious.com/jm — nearly 7000 of them by now. I’ve been scrupulous about tagging and describing each one, so they’re eminently searchable, too. I’ve frequently found this to be a very useful personal reference resource.

I was quite pleased to come across the Delicious Search Results on Google Greasemonkey userscript, accordingly. It intercepts Google searches, adding Delicious tag-search results at the top of the search page, and works pretty well. Unfortunately though, that searches all of delicious, not specifically my own bookmarks.

So here’s a quick hack fix to do just that:

my_delicious_search_results.user.js - My Delicious Search Results on Google

Shows tag-search results from my Delicious account on Google search pages, with links to more extensive Delicious searches. Use ‘User Script Commands‘ -> ‘Set Delicious Username‘ to specify your username.

Screenshot:

Enjoy!

(July 01, 2009 09:58 AM)

June 29, 2009
Caolan McNamara: notes on OOo and ARM

To build OOo under ARM, (an apparently massively popular hobby in China at the moment for some reason other), try downloading the normal source from www.openoffice.org and…

./configure
make

that should go a long way. Though for < 3.2 you may need (ooo#100469) applied.

Of course, given that ARM isn’t generally fast, then there are likely cross-compilers, qemu-user hackery, or other stuff involved, but nothing specific to OOo, so if you can, say, build gedit with your environment, then OOo should generally build fine too. Try the same hackery you’d try with a simpler project with OOo.

And it is not porting something to simply build it. You actively have to change something before bandying around the term porting

(June 29, 2009 03:33 PM)

Kae Verens: PHP & jQuery: Calendars

I was supposed to write about Datatables for chapter 6, but the website of the plugin I was going to use (http://www.datatables.net/) was down for about a week, and so I wrote about Calendars instead.

I used Red3’s jquery-week-calendar plugin for a recent project in work, and was so impressed I really had to write about it.

In chapter 6 of the book, I’ll walk through how to build a simple calendar, including creation and editing of events, and including once-off and recurring events.

demo

The demo is a session-based calendar, which records only for the duration of your browser session. It’s for demo purposes only, obviously. If you want to use it in a larger project, you would need to adapt the PHP so that it records to a database or files or something.

Download

Here’s an image of it in use:

fig_6_0

Only four or so chapters left and then I’m done with the hard part. After that, is rewrites, then you can all throw your money at me.

(June 29, 2009 10:53 AM)

Dave Airlie: Kernel Conf Australia - ! all OSOL honest.
So there is a kernel conference on in Brisbane next month, being run by Sun.

Now when this was announced initially it was proposed as an all kernel hackery type get together for folks in the region, not matter which kernel they cared about.

(I did propose to talk about kernel graphics at this and got refused - so maybe I'm just being bitchy, however this is my blog).

20 speakers break down as follow:
12 Sun
1 Intel - Sun manager
1 RH
1 OpenBSD
1 FreeBSD
4 misc.

2 of the misc talks are in some way OSOL related,

the OpenBSD talk is about networking and pf, the RH talk is about security, FreeBSD about storage.

Now really if you aren't into OSOL or ZFS (3 slots OSOL FS related), why would you go. This conference is
local to me and I still couldn't justify paying the signup fee/taking the time to my manager at all. Now if
one of the main kernel and X.org hackers who lives in Brisbane can't be bothered to go, I do wonder
why anyone who isn't into OSOL kernels might be tempted.

There was talk of a .au unconference at one point, which maybe when the whole swine flu escapade is over might
actually be a useful meetup for the aussie open source community.

(June 29, 2009 07:37 AM)

June 26, 2009
Donncha O'Caoimh: The King of Pop is dead
Michael Jackson

Where were you when you heard? My wife and I were relaxing in the sitting room of the Dingle Skellig Hotel when we heard that Michael Jackson had died. An elderly couple across the room had the Irish Examiner and were poring over the news.

I remember the day he played in Cork. I lived in Blackrock, only a mile and a bit from the stadium, Pairc Ui Chaoimh, where he played to a sold out audience. That day my French exchange student arrived by ferry and spent the evening in bed recovering from the trip. I hung around the house since I didn’t want to be away in case he woke up.
I could hear the glorious pop tunes from my front door and I longed to walk down and sneak into the grounds around the stadium for a better listen, but nooooo, I bloody well stayed at home. He never woke up. He slept through until the morning! Argh!

Thankfully my wife has better memories of the day. She was there, and even before today she’s said it was the best concert she’s been to. She has mentioned it several times over the years. She remembers the 15 year old teenager with tears of joy as MJ sang “Man in the Mirror”. She went on and on about how he played all his hits rather than pushing “the new stuff” nobody knew yet.

*Sigh*. Jean-Jacques, I wonder if you’ll ever read this. I don’t hold it against you, but I should have had the sense to wander off down there!

Edit: a few more posts about Michael Jackson:

  1. MS Paint Portrait
  2. A mashup of “Rock With You” and (Queen and?) David Bowie’s “Under Pressure”.
  3. Did you know MJ registered a patent?

Related Posts

(June 26, 2009 09:24 PM)

Caolan McNamara: MS XML decryption

Based on Bill Seddon’s rather excellent notes I’ve implemented decrypting MS XML documents, though only tested it on .xlsx files protected with the default VanillaSweatshop password.

MSO new-format encrypted documents aren’t in .zip format, but instead the .zip is encrypted and bundled as a stream into a classic OLE2 structured storage container which has some other streams that describe how it’s encrypted. Unlike our own which remain as .zips with encrypted streams.

(June 26, 2009 10:37 AM)

June 25, 2009
Justin Mason: Links for 2009-06-25

(June 25, 2009 10:05 PM)

June 23, 2009
Ken Guest: Celebrate with Packt as We^W They Turn 5

I was emailed this a short while ago - thought it worth sharing ;-)

<quote>
Five years ago, Packt published its first book, ‘Mastering phpMyAdmin for Effective MySQL Management’. In the years that followed, Packt has published over 200 books on many different subjects and technologies.
We think it’s important to take the time to celebrate and thank the people who have made this possible. Therefore as our way of saying thank you for your support over the last five years, we have decided that over the next few weeks, Packt will be offering new and existing customers’ five exclusive offers.
The PEAR Installer Manifesto is one of the eBooks that we are offering to our readers. This book shows users the power of this code management and deployment system to revolutionize their PHP application development.
To download a free PDF copy of this book, simply visit http://www.packtpub.com/account and login to your account, or create one if you don’t already have one, and scroll down to your download area. Here you will see a link to the eBook, which you can download as many times as you like. In addition to this book, you can also download other eBooks on various technologies for free.
You can find more information on this offer by visiting http://www.packtpub.com/article/celebrate-with-us-as-packt-turns-5
</quote>

(June 23, 2009 12:58 PM)

June 22, 2009
Donncha O'Caoimh: Murphy’s Ice Cream
Murphy's Ice cream

We called into Murphy’s Ice Cream in Dingle this morning. I bought a chocolate and mint ice cream mix. If you’re in the town you really should call in for a scoop or two! Yum!

The business is run by brothers Sean and Kieran who I had hoped would be there but unfortunately they were out. They blog at Ice Cream Ireland and both have twitter accounts: Sean, Kieran

Related Posts

(June 22, 2009 03:56 PM)

Donncha O'Caoimh: The Lisbon Laws

200px-VulcansHammer(1stEd) Around a year ago I was reading Vulcan’s Hammer when I came upon something that rattled me. At the time the (first) Lisbon Treaty was about to be voted on so everyone was talking about Lisbon this, Lisbon that, and what it all meant, and how nobody knew what it all meant, etc etc.

Well, in Vulcan’s Hammer, written by Philip K. Dick in 1960, the world has become a totalitarian society ruled by mysterious computers given absolute power in 1993 by legislation called “The Lisbon Laws”. It didn’t affect how I voted of course but the naming coincidence was starling!

Here’s an extract from the book. Anti Lisbon Treaty folk better get your tinfoil hats on!

Mrs. Parker made a note on her chart. “Correct.” She felt pride at the children’s alert response. “And now per­haps someone can tell me about the Lisbon Laws of 1993.”
The classroom was silent. A few pupils shuffled in their seats. Outside, warm June air beat against the windows. A fat robin hopped down from a branch and stood listening for worms. The trees rustled lazily.
“That’s when Vulcan 3 was made,” Hans Stein said.
Mrs. Parker smiled. “Vulcan 3 was made long before that; Vulcan 3 was made during the war. Vulcan 1 in 1970. Vulcan 2 in 1975. They had computers even before the war, in the middle of the century. The Vulcan series was developed by Otto Jordan, who worked with Nathan­iel Greenstreet for Westinghouse, during the early days of the war…”
….
For a moment there was no response. The rows of face were blank. Then, abruptly, incredibly: “The Lisbon Laws dethroned God,” a piping child’s voice, came from the back of the classroom. A girl’s voice, severe and pene­trating.
….
Mrs. Parker paced rapidly down the aisle, past the chil­dren’s desks. “The Lisbon Laws of 1993,” she said sharply, were the most important legislation of the past five hundred years.” She spoke nervously, in a high-pitched shrill voice; gradually the class turned toward her. Habit made them them pay attention to her-the training of years. “All seventy nations of the world sent representa­tives to Lisbon. The world-wide Unity organization for­mally agreed that the great computer machines developed by Britain and the Soviet Union and the United States, and hitherto used in a purely advisory capacity, would now be given absolute power over the national govern­ments in the determination of top-level policy-”
….
“Mr. Dill,” a girl’s voice came. “Can I ask you some­thing?”
“Certainly,” Dill said, halting briefly at the door. “What do you want to ask?” He glanced at his wrist watch, smil­ing rather fixedly.
“Director Dill is in a hurry,” Mrs. Parker managed to say. “He has so much to do, so many tasks. I think we had better let him go, don’t you?”
But the firm little child’s voice continued, as inflexible as steel. “Director Dill, don’t you feel ashamed of yourself when you let a machine tell you what to do?
….
“The Lisbon Laws, which you’re learning about. The year the combined nations of the world decided to throw in their lot together. To subordinate themselves in a realistic manner-not in the idealistic fashion of the UN days-to a common supranational authority, for the good of all man­kind.”
….
“There was one answer. For years we had been using computers, giant constructs put together by the labor and talent of hundreds of trained experts, built to exact stand­ards. Machines were free of the poisoning bias of self-interest and feeling that gnawed at man; they were capable of performing the objective calculations that for man would remain only an ideal, never a reality. If nations would be willing to give up their sovereignty, to subordi­nate their power to the objective, impartial directives of the-”

It’s a great story and well worth a read. It was part of a 3 story book called “Philip K Dick Three Early Novels” containing The man who japed, Dr. Futurity, and Vulcan’s Hammer. The first story almost put me off reading the other two as it had dated badly. Some of the character’s names and the technology are really old fashioned! Persevere, it’s worth it.

Related Posts

(June 22, 2009 09:47 AM)

June 19, 2009
Donncha O'Caoimh: Go Mobile with Supercache

I’ll be honest, I don’t have much experience with mobile content. I’ve rarely browsed the net on a mobile device. I don’t have an iPhone and don’t intend buying one but lots of people do use mobile devices to browse online.

With that in mind, and after some pestering by Vladimir I modified WP Super Cache so it will support mobile devices and operate in full super caching mode!

The plugin now filters out requests from the most common mobile user agents and serves those requests in “half on” WP-Cache mode while serving the rest of your visitors static html files. As I’ve said many times before, the speed differences between both modes is negligible for normal traffic but it’s a nice safety net in case your site is inundated.

Only thing is, I want people to test it first before making a final release. Grab the development version from the download page and give it a whirl.
Your mod_rewrite rules in the .htaccess file have to be updated but if you delete the “WPSuperCache” rules they can be regenerated by the plugin next time you load the admin page.
There are also a number of other bugfixes and enhancements too so check out the Changelog.txt for more details.

I use WordPress Mobile Edition here and last Sunday I noticed an extra 10,000 requests from Google using odd looking “mobile useragents” like this one:

SAMSUNG-SGH-E250/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0 (compatible; Googlebot-Mobile/2.1; +http://www.google.com/bot.html)

The actual mobile device changed but the Google bit stayed the same and all requests came from 66.249.71.2
Eventually I figured out that Google was adding my site to the “mobile” section of their index. Presumably to be served from here. Cool, another way of getting to my site.

PS. the development version also has a small modification to make it go faster by not checking file modification time on each request. This could help on really busy servers.

Related Posts

(June 19, 2009 09:57 AM)

June 17, 2009
Dave Airlie: Initial KMS support for radeons merged to Linus tree.
Okay radeon TTM/KMS has landed in Linus tree under staging.

To enable it you need to enable CONFIG_DRM_RADEON_KMS, which relies on CONFIG_STAGING being set.

please read the CONFIG_STAGING warnings, esp the
"Please note that these drivers are under heavy
development, may or may not work, and may contain userspace
interfaces that most likely will be changed in the near
future."

Now to get a userspace that can use this code you need to get

git://git.freedesktop.org/git/mesa/libdrm master branch
and build it with --enable-radeon-experimental-api and install that.

git://git.freedesktop.org/git/xorg/driver/xf86-video-ati kms-support branch
build that second

git://git.freedesktop.org/git/mesa/mesa.git master branch
build this with libdrm_radeon somewhere that pkgconfig can find it.

You should either have KMS + DRI2, or a pile of smoking trash.

Please report any mode type issues on #radeon or dri-devel mailing list.

If you can't compile or configure your system to use this please wait until you have a distro do it for you.

If you are using Fedora 11, grab the latest xf86-video-ati from koji and all you need is the new kernel bits.

Known issues:
My DDX reports something about DRM 2.0.0 and wanting 1.2.x or something like that, you messed up setting up the DDX or are
still using the system DDX.
Xv might be broken on resize (or normally)
r600/r700 doesn't work (no surprise its not ready yet)

(June 17, 2009 08:15 AM)

June 16, 2009
Ken Guest: OpenStreetMapping Nenagh

So yesterday I had a quick interview with a journalist from the Nenagh Guardian - my local paper - about this OpenStreetMap (OSM) mapping malarky.

As most of you will probably know OSM is to printed atlases from AA, Ordnance Survery etc, as wikipedia is to encyclopedias. People can contribute data to the project through a variety of activities: going out and actually mapping an area with a sat nav or gps unit [even a mobile phone with GPS in it such as an iphone, nokia n95 or whatever], tracing data off Yahoo [and other] aerial imagery, filing bugs on the openstreetbugs website or literally drawing in information via the walking papers map making website. And better again, this is about providing free geographic data such as street maps to anyone who wants them.

Anyway…I mentioned how the OpenStreetMap map of Nenagh is more complete than even the latest commercially available maps for Garmin and Google Maps and listed off a few ways how OSM could be used commercially: by real estate agents, courier companies, how being able to pin-point where all the amenities are would be useful for tourists, and so on.

Compare the Open Street Map of Nenagh with the Google Map of the area - as you can see, there’s still quite a bit of work to be done - Millers Brook needs to be marked as such along with the various groves, avenues etc that comprise that estate. Plus all the amenities, shops [perhaps even their opening hours] and the Shannon Development Industrial Centre still need to be added - as I’m sure are some other small portions of the town that I’ve unknowingly neglected.

It’s fair to say that this will never be finished - existing housing estates will be extended, there will always be urban development plans that when implemented would also need to be included on the map.

It would also be cool to have the new “Nenagh Cycling Hub” rendered on the opencyclemap.org website.

I discovered the OpenStreetBrowser site to be a great test of the data that myself and others have entered - it’s also a great way of demonstrating just what can be done with OSM data.

If you happen to spot something that I’ve missed please either drop me a comment or use the openstreetbugs website.

On a related note: it would be good to see a PEAR/PHP based client/component for interfacing with the OpenStreetMap server so that interesting apps utilising that data could be implemented on the LAMP stack - something to go alongside the Services_GeoNames package from pear ;-)

(June 16, 2009 11:38 PM)

Donncha O'Caoimh: Sudden productivity upsurge ends recession

This just in. Economists worldwide are scratching their heads as the latest figures suggest the global recession may be coming to an end. Global output has suddenly shot up, people are working harder than ever before and they’re getting out to the stores and malls and spending money.
If this trend continues the world may be on it’s way to a boom by the end of the year.

Meanwhile Twitter and Xbox Live are offline on the same day for maintenance.

connecting-to-twitter

Related Posts

(June 16, 2009 09:50 PM)

Ken Guest: Book Review: Learning jQuery 1.3

A while ago I was sent a review copy of “Learning JQuery 1.3” by Jonathan Chaffer and Karl Swedberg, as published by Packt. I’ve now had a chance to read it objectively and compare it against the original “Learning JQuery” which Packt also sent me to review about a year ago. That earlier edition covered a much less mature version (version 1.1.3.1 to be precise) of this popular Javascript framework.

Aimed at web developers and designers with a basic understanding of HTML and CSS (and some level of comfort with Javascript), the later book is thicker than the original - it weights in at some 440 pages compared to the 360 pages that were required for the first. A new chapter, “Developing Plugins” covers how to write plugins for the framework and how to “share it with the world” - naming conventions, documentation style and other advice are included. There is also a new “Quick Reference” appendix which just begs to be reproduced in “Cheat-sheet” format for pinning up on your wall. Chapters already present in the earlier book are more detailed and read better.

The subject matter is expertly covered and unless you were aware of the changes in jQuery 1.3, compared to the older version that the original was focused it would be difficult to tell which portions of the book are new - the revision and updates to the original are seamless.

Quite rightly, Swedberg and Chaffer do not explain all differences between jQuery 1.3 and its predecessors - they rightly assume that if you’re reading “Learning JQuery 1.3″ then you don’t need to be informed of exactly how jQuery 1.3 differs from the version they previous covered. The book flows better because of this and remains very easy to understand because of this approach.

There is no hint of the selector engine in 1.3 being any different than what was already covered. The language used for explaining the different concepts to the reader is more precise, especially so in the Events chapter and this makes understanding the concepts being covered much more easy - for this reason alone buying the revised edition is well worth the money.

The book doesn’t focus on new additions that were freshly added to jQuery 1.3 but also ones that had been added to jQuery since the first edition was published; JSONP, which was introduced in jQuery 1.2 is covered in the chapter on AJAX, as is the more low-level $.ajax() method; it also mentions which features have been removed from jQuery since the first edition was published - XPath being one such example. The listing of development tools has also been reworked, as has the Online Resources section. These listings mention resources that are current and up-to-date.

I remember mentioning in my review of the first book (trying hard not to use the word ‘original’ again!) that until a later edition of it was released that you wouldn’t be able to find a better book on the subject. I stand by that assertion - the only book that covers jQuery better than the first edition of “Learning jQuery” is the second edition of the same.

(June 16, 2009 12:16 PM)

Donncha O'Caoimh: Terminator Salvation Review

So, the reviews are mixed but mostly bad but don’t let them put you off. I went to see Terminator Salvation last night and, maybe because of my low expectations, I enjoyed the movie!

The movie won’t strain your brain cells, it’s a pure action film with huge robots, explosions, fights and a mostly straight forward story. If you loved Starship Troopers, I think you’ll like this film!

Related Posts

So, the reviews are mixed but mostly bad but don&#8217;t let them put you off. I went to see Terminator Salvation last night and, maybe because of my low expectations, I enjoyed the movie! The movie won&#8217;t strain your brain cells, it&#8217;s a pure action film with huge robots, explosions, fights and a mostly straight forward [...]

(June 16, 2009 09:02 AM)

June 13, 2009
Donncha O'Caoimh: Zhong Tai, the 250 mile electric SUV
Zhong Tai

I read during the week about the Zhong Tai, a 4 seater car based on the body of the 2006 Daihatsu Terios with a claimed range of 250 miles and thought, “this is a car that would suit my family”.

The Sunday Times has the full scoop as they’re the first western publication to put this Chinese car to the test. They were impressed!

New Power, by contrast, claims to have developed an electric four-seater with a range of 250 miles and plans to bring it to the UK “within the next couple of years”. Known as the Zhong Tai (the name translates roughly as “peace and safety for the people”), it has lithium-ion batteries that can be recharged in 6-8 hours from a conventional socket, or in two hours from a high-power recharging point. With a top speed of 75mph and an estimated price tag of between £16,300 and £20,500 in Britain, the Zhong Tai could be both practical and affordable enough to make drivers part with their internal combustion engines for good.

I wonder what the resale value on electric cars will be like? It’s well known that batteries degrade with time so that component will bring down the price. Then there’s the strides technology is making in this field. Will people want the latest whizz bang gadget?
Hopefully advancements in battery technology will be backwards compatible. An electric motor is an electric motor (I guess), but battery tech is getting so much better all the time.

Is anyone driving an electric car in Ireland?

Related Posts

(June 13, 2009 02:41 PM)

June 12, 2009
Dave Airlie: radeon-rewrite merged to mesa master + drm pull
So I merged the rewrite of the radeon/r200/r300 to the mesa master today.

On a non-KMS DRI1 system we are hoping these patches are mostly regression free in terms of lockups and possibly fix a fair few lockups thanks to Maciej and Jerome's work.

Of course on a KMS/DRI2 system, this work enables GL on r100-r500 families of radeon cards and we hope to add more features to the ones we gain. We should now at least have FBOs where we never did before (in DRI2/KMS mode).

R600 work is ongoing in a branch still so this announcement has no effect on r600 or above.

I've also sent Linus a drm pull request with all of Intels drm-intel-next branch + all the patches I had sitting in my queue.

Early next week I'll send him the KMS patches for radeon, which will be in the radeon driver but the enable switch will be hidden in staging, while we stabilise it, since its such a huge amount of code. So don't expect miracles out of it anytime soon.

On a PCI ID table comparison Intel KMS have 28 IDs to support, radeon KMS has ~350, granted this code has no memory manager for r600 and up yet (kms code sohuld all be there), so its probably close to 200 GPU variants (+/- 50 for ids not seen in the wild maybe).

(June 12, 2009 06:44 AM)

June 11, 2009
Caolan McNamara: DEV300_m50

DEV300_m50 callcatcher report, now back under 1000 again as chart2 unused removal etc. comes on stream

(June 11, 2009 08:52 AM)

June 04, 2009
Donncha O'Caoimh: Sorry I missed you Cllr. Dan Fleming
Cllr Dan Fleming

This message from Cllr. Dan Fleming was stuffed into gates all over my estate this evening. I know they only have so much time on their hands but the letter was rolled up tightly and squashed between the bars on our gate and in the gates of other houses. I’d venture to say that it took as long to roll and fold the letter up as it would to walk to our front door. Oh, and yes, we were in when they “called”. The only other people to stuff literature into our gate are those clothes collectors and they’re possibly more popular than Fianna Fail at this stage.

I’m sure he’s a great guy and he’d have a great chat with you and all that but there’s no sign that he’s a Fianna Fail man. The missing party name strikes again! His website is down but his Fianna Fail page is up however.

I’m still not sure who I’ll vote for but you can hurt Fianna Fail without helping Sinn Fein if you vote carefully.

Related Posts

(June 04, 2009 10:10 PM)

Caolan McNamara: line numbering doc odt im/ex

In both word (2007) and writer (3.1.0) paragraphs can opt out of line numbering at a paragraph level. On the other hand though, restarting line numbering is done at a paragraph level in writer, but at a section level in word. Which is unfortunate for an interoperability point of view.

For doc->odt conversion it’s fairly easy, just whack the restart value from the word section onto the first paragraph following that section break and all is well, though we have to be careful when munging two facts from the doc of a) paragraph opts-in/out of line numbering and b) section declares that line-numbering starts at value X, into one writer fact of “line numbering properties for a paragraph to not overwrite the other half of the fact.

On odt->doc, its not so easy. In the case where we’re re-exporting a odt which was imported from a doc then we can on export of a section have a quick peek to see if the first paragraph of that section happens to have a restart line numbering property and if so place it on the exported section. That’ll take care of doc->odt->doc round-tripping at least. where the final doc is the same as the initial doc

But for the generic odt->doc case we can’t be sure of a handy section existing right before a paragraph that uses restart line numbering so as to load the paragraph restart number onto the section. I guess we could add that circumstance to the already complicated reasons to export a section logic, its not an appealing solution, but the only one I can think of

(June 04, 2009 12:47 PM)

Donncha O'Caoimh: WordPress MU Catchup: big merge, wpmudev goes gpl and MU support

Exciting times in the world of WordPress and WordPress MU. Last weekend’s announcement by Matt that WordPress MU would merge into WordPress caused a flurry of activity and questions on twitter and on blogs, most notably with speculation that WordPress.org would run on MU and by jeffr0 who asked me on IRC what was happening.

Basically, the thin layer of code that allows WordPress MU to host multiple WordPress blogs will be merged into WordPress. I expect the WordPress MU project itself will come to an end because it won’t be needed any more (which saddens me), but on the other hand many more people will be working on that very same MU code which means more features and more bugfixes and faster too. It also means no more marathon code merging sessions. I certainly won’t miss that.

Meanwhile in the real world, there’s more merging to be done. WordPress 2.8 is expected next Wednesday and it has introduced fancy new stuff I haven’t finished fixing yet in WordPress MU. Expect an MU 2.8 beta sometime next week I hope.

In what I first thought was fabulous news, James Farmer has announced that WPMU DEV Premium has been relaunched. The site offered premium support for WordPress MU for a very long time. It also sold proprietary plugins which I’ve never agreed with (because of the conflict with WordPress) but now all plugins are GPL licensed.
Then I found out that you need to signup and pay a subscription fee to download them. I’m conflicted about it, because if I’m honest, while they’re sticking to the letter of the GPL, the spirit may be lacking.
So, should you signup there for a month, download all their plugins and upload them to WordPress.org? It’s tempting isn’t it? But no, you shouldn’t. This is real income for James, Andrew and company. If their plugins are uploaded elsewhere will they be updated? Will you signup for another month and grab them all again and upload each and every one to separate Subversion repositories? Will you provide support when things go wrong? I didn’t think so.
If it really bothers you that GPLed plugins are not available “free as in beer” then write your own and support it. It’s not something to be done lightly.

When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.

(GNU GPL v2.0)

Of course, WPMU DEV aren’t the only MU support people in town. Check out Ron & Andrea’s musupport.net and of course I recommend the Automattic Support Network where you’ll find me and the rest of Automattic.

Related Posts

(June 04, 2009 12:24 PM)

June 01, 2009
Donncha O'Caoimh: Tiny Little Kitten
Tiny little kitten

A tiny little kitten wandered into the dog’s kennel this morning and started to meow her heart out. She’s so small I can fit her in one hand. She tried to befriend and approach a local tomcat but he didn’t want anything to do with her. Thankfully Adam kept his distance from the new “baby” and I was able to feed her heavily diluted milk in a syringe.

Not sure what’s going to happen next.

Related Posts

(June 01, 2009 10:07 AM)

May 29, 2009
Colm MacCarthaigh: Calculating Combinatorials

A question came up recently, over at RedBrick, about how to efficiently calculate very large combinatorials. A combinatorial of the form:

c = N! / (k! * (N - k)!)

describes how many combinations (c) there are if you pick k items out of N. For example if you pick 5 people at random out of a team of 10, there are 252 potential combinations. A straight forward code implementation of the formula looks like:

1
2
3
4
5
6
7
8
def fact(n, acumulator=1):
    if not n:
        return acumulator
    else:
        return fact(n - 1, acumulator * n)

def combinatorial(n, k):
    return fact(n) / fact(k) / fact(n - k)

But this is very inefficient, each call to factorial is O(N). Surprisingly, google couldn’t find any clear alternatives, so to fix that, here is the more efficient way to calculate it:

1
2
3
4
5
def combinatorial(n, k):
    c = 1
    for i in range(k + 1, n + 1):
        c *= float(i) / (i - k)
    return c

This implementation runs in O(N-K), which is at least 3 times faster than the initial implementation and usually much more so.

Here’s how it works;

First, re-organise the formula as:

c = ((N!) / (k!)) / (N -k)!

Next, it should be obvious that N! / k! is the same thing as N * N - 1 * N - 2 * … k + 1. So we construct our loop to compute that:

1
2
3
c = 1
for i in range(k + 1, n + 1):
    c *= i

but we still need to divide by (N - k)!. We already have a for loop, of exactly that number of iterations, so we can reuse it. (N - K)! is the same thing as SUM(i - k) , as we iterate i. Since division and multiplication are commutative in this context, and the order never matters we place the division directly in-line within the loop. Lastly, since we’re now dividing, we might end up with fractions at intermediary stages, so we use floating point.

1
2
3
c = 1
for i  in range(k, n):
    c *= float(i) / (i - k)

Another great property of these kinds of operations is that are they partitionable, if we have W workers, we can give each (N - K) / W values to compute, and then multiply their respective answers. But I’ll leave that as an exercise for the reader.

(May 29, 2009 10:05 AM)

May 28, 2009
Paul Jakma: On Sun and Free Software

One thing I very much hope, is that the Sun software group (Sun here on) and the general free-software world (which these days is equivalent to the general Unix eco-system) will continue to converge.

I hope Sun continues to engage the wider free-software using community and embrace it more fully, as it is doing with OpenSolaris (the distro) and the work to build up a wide body of packages. Specifically I think Sun should:

I hope the greater free-software using world also considers more carefully the importance of Sun to it. Sun has long contributed both code and technologies to the Unix eco-system and to free software. Further, the Unix eco-system has always been distinguished (e.g. from Wintel) by its healthy competition. Regardless of which Unix (inc Linux) you favour, the presence of strong, competing Unixes benefits you - even if don't like everything about them. It may be useful to keep that in mind.

I really believe that the best future for OpenSolaris demands much greater co-operation and inter-mingling with other free software projects. I hope Sun does too, and I hope the greater community will encourage and welcome them.

(See you at my new blog).

(May 28, 2009 06:25 PM)

Caolan McNamara: non-free dictionaries that might be intended to be free

Dictionaries available for OOo with problematic/no licence that can’t be included in Fedora, etc. possibly through oversight

Amharic/Tigrigna: Non-Commercial use
Tatar: No licence information
Akan: No license information
Luxembourgish: EUPL v1.0
Mossi: No licence information
Gascon: BY-NC-ND

(May 28, 2009 05:27 PM)

Paul Jakma: Leaving Sun

I'm leaving Sun, as I have to take up summer work elsewhere. I have a new blog which I'll try keep updated.

I'm very grateful for my time at Sun: for the people I've met, the experiences gained, and the support given to me. Hopefully I'll run into people again...

(May 28, 2009 04:35 PM)

May 27, 2009
Caolan McNamara: DEV300_m49

DEV300_m49 callcatcher results give xmlhelp,sccomp and lingucomponent as joining ranks of unused-method free.

cmcfixes59 will make autodoc unused-free, which should drop us under 1000, hopefully permanently :-)

unifypaper01 will add the Long Bond longer Legal paper size used in the Philippines, centralize all our paper-size to paper types maps, and centralize our various territory to default paper size maps and align them with the CLDR 1.7 table. glibc will also follow CLDR 1.7 in the next release, The upshot should be that Gnome, OOo etc. will/can agree on the default paper size out of the box

(May 27, 2009 07:47 AM)

May 26, 2009
Donncha O'Caoimh: Looking at a WPMU Object Cache

In the good ol’ days WordPress came with a filesystem object cache but it was removed some time ago because it was a pain to maintain, and caused problems for some users, especially those using NFS. Nowadays there is an object cache built in, but the cache only survives for as long as a page is being served.
Other developers have taken up the challenge and produced object cache plugins to fill in the gap. There are the neosmart ones including a filesystem object cache and a memcached one (Read Andy’s notes before installing).

The neosmart filesystem object cache (and the others according to #988) don’t work correctly with WordPress MU so I dug up a patched version of the filesystem object cache I worked on a year ago to look for testers.

Download object-cache.txt, rename to .php and copy into wp-content/. It should start working automatically but if you don’t see files and directories in wp-content/cache/, make sure that directory is writeable by the webserver.

The neosmart version on which this one is based doesn’t handle switching blogs at all. Cache collisions occur with data from one blog’s options polluting the options in others. The version linked above should fix that but I’d appreciate some testing by others.

Oh, check out WordPress MU trunk now. I merged WP 2.8 beta1 and I’m fixing bugs. Please install and try it out on a test server! The get_option() and related code is using the same code as WordPress.org which is one of the main reasons I went digging into the object cache. It leans a lot more on the cache than previously. Please test!

Related Posts

(May 26, 2009 05:02 PM)

May 25, 2009
Barry O'Donovan: Dublin EU Elections: A vote for Eoin Ryan (FF) is a vote for Europe

Let be be clear from the outset: I am not a Fianna Fail supporter.

That said, the European elections are about bigger things than giving Fianna Fail a kick in shins. If that’s your motivation in voting, then use the local elections. The European elections are about electing MEPs to represent us and Ireland in Europe. Our choice here is important, even more so since the rejection of Lisbon.

In the Dublin constituency, it’s fair to assume that Gay Mitchell (FG) and Proinsias De Rossa (Lab) will top the poll. The issue is then about the third and final seat. Dublin is being reduced from four to three seats and only one of the two remaining incumbents will take it: either pro-Europe and pro-Lisbon Eoin Ryan (FF) or anti-Europe and anti-Lisbon Mary Lou MacDonald (SF).

In the latest Irish Times / TNS mrbi poll, Ryan is polling at 11% and McDonald on 14% of first preference votes. Ryan will take transfers from his running mate, Eibhlin Byrne, but as a new comer she is unlikely to poll high. MacDonald will also pull transfers from the Libertas candidate, Caroline Simmons.

Polling tells us that the Dublin EU elections is a four horse race. An anti-Fianna Fail vote translates as a pro Sinn Fein, anti-Europe vote. Put you anger aside and look at the bigger picture.

(May 25, 2009 11:21 AM)

May 22, 2009
Donncha O'Caoimh: Google does hotel reviews now?

A couple of days ago my wife and I discussed our next holiday and she was quite taken with the idea of going to a particular hotel. I searched for the hotel and when I discovered that Google showed hotel reviews linked right from the search page I had to write about it.
After I had written the post I realised that someone might ring up the hotel and if they were feeling nasty or malicious they might cancel the holiday. Therefore, I’ll use the Radisson SAS in Limerick, an excellent hotel we stayed in a few months ago thanks to SuperValu Breaks.

So, search for the Radisson on Google.

radisson1

Clicking on the reviews link takes you here:

radisson2

I can only echo the good reviews. It’s a 4 star hotel, but book through SuperValu and you’ll get a big discount! (with the appropriate book of stamps of course)

Richard knows more about this sort of thing than I and he blogged about it 2 days ago. Looks like a good change for Irish businesses!

BTW, the break away is booked, the hotel is child friendly, we’re looking forward to it already!

PS. Richard has a post on Google’s local search which is definitely worth a read.

Related Posts

(May 22, 2009 08:41 AM)

May 21, 2009
Caolan McNamara: xresgrind

So, “xresgrind”, my unholy overkill union of valgrind with X Pixmap/Window/etc. tracking lurched to life earlier. Checking it against OOo to see if it would have been able to automatically detect the dread pixmap leak of i85321 (which is long fixed, just re-introduced it locally to have a look-see) shows the expected correct results of…

==13354== Resource 0x46002fb of class 2 never released, acquired at
==13354==    at 0x400E2A6: XCreatePixmap (xr_intercepts.c:255)
==13354==    by 0x6D971F7: ???
==13354==    by 0x548154F: SalGraphics::DrawAlphaBitmap(SalTwoRect const&, SalBitmap const&, SalBitmap const&, OutputDevice const*) (salgdilayout.cxx:793)
==13354==    by 0x541322D: OutputDevice::ImplDrawAlpha(Bitmap const&, AlphaMask const&, Point const&, Size const&, Point const&, Size const&) (outdev2.cxx:1983)
==13354==    by 0x5413CF8: OutputDevice::ImplDrawBitmapEx(Point const&, Size const&, Point const&, Size const&, BitmapEx const&, unsigned long) (outdev2.cxx:891)
==13354==    by 0x54141FA: OutputDevice::DrawBitmapEx(Point const&, Size const&, Point const&, Size const&, BitmapEx const&) (outdev2.cxx:788)
==13354==    by 0x53E1C6E: ImplImageBmp::Draw(unsigned short, OutputDevice*, Point const&, unsigned short, Size const*) (impimage.cxx:550)
==13354==    by 0x54145B7: OutputDevice::DrawImage(Point const&, Image const&, unsigned short) (outdev2.cxx:1204)

Cool :-)

(May 21, 2009 03:44 PM)

Kae Verens: tiny file manager

For chapter 5 of my book, PHP And jQuery, I wrote a small file manager. It doubles up as a file selector.

demo

You would use this in an admin area where it is necessary to select files or directories, and you’d also like to create/rename/move those things around.

fig_5_10

Try a few things on it – change the selection in the two select-boxes, move a few things around, etc. I think it’s useful and nicely compact.

You can download it here along with the examples that lead up to the finished thing. You will also need a copy of jQuery and uploadify.

To install, just link to your copies of the above libraries, correct the $base variable in the .php file, and in the .js file, change ../jquery.uploadify-v1.6.2/ (in the fm_uploadFileSetup function) to wherever you installed it.

$base should point somewhere outside of the web root, as the file manager does not discriminate between innocent files such as test.txt and potentially harmful files such as hackme.php. A downloader is included which allows any files uploaded through this to also be downloaded through it.

(May 21, 2009 08:25 AM)

May 20, 2009
Donncha O'Caoimh: Memories of my first computer

A few weeks ago I splashed out on a 60GB Xbox 360, going for a reasonable 200 Euro in HMV and luckily for me I was able to enjoy the HD graphics of this next gen (next gen? It’s 4 years old now but the hardware specs are impressive!) console. Actually, “enjoy” is putting it lightly. Blown away, gobsmacked and amazed are probably better ways of describing my reaction to some of the graphics I saw this machine throwing about! Sometimes it feels like I’m taking part in one big movie.
I miss the Wiimote, I hope Microsoft do bring out a magic wand sooner or later.

One of the great things about being a late adapter is that I can buy most of the games I want in the pre-owned section. Instead of spending 50 Euro they sometimes cost half that!

I’ve gone searching for Xbox 360 blogs but only found a couple that weren’t full of adverts or blatantly self serving. I must be using the wrong keywords. Xbox fans, what are your favourite Xbox blogs?

30 or so years ago the first computer that I remember was a games console. I don’t remember the brand although my brother says it was an Atari. It was a simple machine, with a slot for a game cartridge. It had two grey boxy analog paddles, each with slender sticks and a small red button. Each controller would slot into a space in the console for easy storage. We only had one cartridge, a compilation of “sports” games, but as the machine used stick graphics they were fairly simplistic.
I remember the tennis game with two bats and a single large white pixel of a ball provided hours upon hours of entertainment for us kids.

What followed after that were more serious computers, the Commodore Vic 20, Speccy 48k, Commodore 64, Amiga 500, various PCs running Win 3.1, win 95, 98, Linux, and finally a Macbook and a Dell laptop running Ubuntu Linux. I didn’t own a console until I bought a Nintendo Wii, and then 2 weeks ago the Xbox 360.

Of the Vic 20, I remember typing in a BASIC programme that displayed a simple animated bird that flew around the screen. As we didn’t have a Datasette I couldn’t save it. I left the Vic 20 on while I went to school!

My son Adam’s first memories of games will probably be the Xbox. A far cry from the black and white stick characters of my youth!

Related Posts

(May 20, 2009 08:18 AM)

May 17, 2009
Colm MacCarthaigh: Blasphemy in a nutshell

For reasons best understood by our Minister for Justice (who seems to be going it alone on this one) Ireland may shortly introduce a new offence of blasphemous libel. The Irish blogosphere, and twitter are both alight with incandescent disapproval.

I’m not entirely sure what to make of the proposal. I think it’s an amazingly dumb idea, not only for the straight-forward civil rights reasons, but also because I can’t see the courts or anybody else implementing it in the real world. It is political tokenism in its most bare, stupidest, form.

Normally, I’m not one to set out to offend people … live and let live, I say. But faced with only limited amount of time to safely go on the record on the topic, here’s my own summary of roughly where the major beliefs (that I’ve read enough about to have an opinion on) are in relation to each other:

Religions compared

Don’t take it too seriously … it’s just an approximate summary from my own personal musings. Though it’s not arbitrary, I can back it all up.

I do happen to think that it’s a lot more likely that aliens exist than, say … angels. Pantheism is less contradictory than atheism, because at least the former can ascribe the existence of the universe to “Um, magic” with a straight face. The Abrahamic religions naturally get progressively more insane, as they inherit myths and superstitions from each other. And Quakers, well, they just make the nicest cereals. Mormonism? see the Golden Plates.

Saying that a religion or belief is “bad” or “good” is nonsense. Christianity and Islam, for example, are brilliant wonderful positive movements for good. They encourage great values and positive work. But at the same time, they can be a force for harm. Major branches discourage life-saving devices like condoms and deny many rights to women. Hence the spread between both good, and evil. I’ve trended them more towards evil only because of the dark ages and the stifling effects on the progress of mankind.

Disclaimer:

Though it shouldn’t need to be said; the above is mainly humour. The categories are waaaaaay too broad. The comparison completely ignores any implicit value faith may have (for its own sake) and the scales are unscientific. Sanity or insanity shouldn’t be inferred upon any actual practitioners (Except maybe Richard Dawkins, who might be both non-contradictory and a little insane), these are just big rough averages.

If you’re happy with your beliefs, than I am happy for you. If you support the idea that blasphemy should be illegal, get a life.

(May 17, 2009 09:08 AM)

May 14, 2009
Kae Verens: iphone

Okay, I succumbed to the temptation and got one.

A number of annoyance have presented themselves already, in just the few hours that I’ve owned it.

First off, when you get the thing, it’s in a fancy box with all the bits and pieces in it. I took all of the bits out, and found a nice rectangular cardboard box which when opened, held the documentation. I took out the documentation and read through it, discarding the box. Couldn’t figure out how to install the SIM card into the machine, as the documentation did not mention it anywhere. After an hour or so of puzzling over it, I finally noticed that the documentation box, which I had discarded, had a weird little diagram on it, which when deciphered, explained how to do it. Way to go Apple – in this case, I did RTFM, but TFM didn’t have the instructions I needed.

Secondly. After going through the jumpy-hoopy thing of filling in a form and waiting 24 hours to be allowed to own the machine (for some reason) and then waiting another hour for the receptionist at the shop to finally get through to O2 to activate the SIM, I was just picking up everything and the guy said “ok, now you just need to activate it through iTunes”. Excuse me?? It’s a fucking phone! I can’t get iTunes running on any of my computers at home anyway because I don’t have anything that runs Windows or Mac! I spent hours trying to get Wine to install iTunes, but finally had to give up and do it on an old WinXP machine in the office the next day.

Then, I wanted an SSH client for the thing. There is a cool store for the iPhone called appStore, and there were a number of SSH clients in there. In order to get one of them, though, you need an account and some cash.

First off, I tried to just create an account. This went okay, up until the point where iTunes asked what my credit card number was. I don’t have a credit card, and don’t want one. After a while, I figured out that the only way to get an account for free (or at least, without giving Apple credit card details), is to apply to download an app which is specified as free – for some reason, in that case, Apple adds a “none” option to the list of payment methods.

So I had an account, but still couldn’t pay for anything. Apple claim that they accept PayPal, and even supply instructions on how to do it. Unfortunately, it falls down immediately, because step two says to click Edit Credit Card or Add Credit Card in your iTunes account page, but those links don’t exist! Maybe they exist if there is already a credit card attached to the account, but that defeats the entire purpose!

But it’s a nice phone, really.

(May 14, 2009 02:34 PM)

May 13, 2009
Caolan McNamara: DEV300_m48

DEV300_m48 callcatcher results. xml2cmp now unused method free, on the other hand svx has 35 new unused methods after the new code shuffle in that area

(May 13, 2009 12:16 PM)

May 11, 2009
Donncha O'Caoimh: John, my personal spammer!

With apologies to anyone named John. Spammers are getting more clever at spreading their links. Now legitimate website owners are using software tools that allow them to enter keywords of their choice to a create a list of related blogs with comment forms. Many of these applications list blogs that pass Google Rank to the websites of visitors. That’s why I stopped doing the “dofollow” thing several months ago. Since then the number of spam comments has gone down slightly. Cookie for Comments stops the spam bots dead but the human spammer scum still get through.

Next time Akismet marks a legitimate looking comment as spam (or you get a comment from someone who was supposedly christened Austin Texas Photographer by his parents), check your logs. Look up the IP address of the visitor. You may find something like this. Note the lack of a referrer, an old Firefox user agent and then “bsalsa.com” is in the UA of the next request for a post. Bsalsa make a Windows toolkit that this software obviously uses. They’re fans of Borland Delphi apparently!

"GET /2006/11/04/cork-cinema-listings/ HTTP/1.0" 200 43366 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.12"

"GET /feed/ HTTP/1.0" 302 84 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11"

"GET /2006/11/04/cork-cinema-listings/ HTTP/1.1" 200 12089 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; GTB6; User-agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; http://bsalsa.com) ; User-agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; http://bsalsa.com) (Mozilla/5.0 (Windows; U; Windows NT 5.1; en; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11); .NET CLR 2.0.50727)"

When my blogs were dofollowing, I’d get loads of spam comments every day. The tools used fire off a request to the blog to examine the links on that page. They highlight dofollow links so the user knows their spam comment will generate Google Juice for their site.

I was getting so sick and tired of them I contacted several spammers. Lindsay who commented on inphotos.org replied:

Hi Lindsay,

As a photographer, I’m always looking for other blogs to comment on but it’s hard to find interesting photoblogs that post anything other than photos. How did you find my blog? I didn’t see a Google search in my logs. Is it a special program?

Thanks,
Donncha

She was really helpful, even replying twice when I didn’t reply again:

I actually have a program called G-force fast blog finder. Basically, i put in some keywords and it searches ALL blogs with those keywords. THEN it tells me if those blogs do or do not have the “uComment iFollow” addon. Blogs that allow the “follow” tag are good for search engines if i post a comment with a link to my site.. SO basically, i get to look at photography blogs and comment on them while i help my website obtain some more links.

Basically, search engines rank your page based on a few things, one of them is link backs. Basically, a link from a site to my site is like a vote for my site saying it is good. So the more other websites link to my site, the better.. HOWEVER, some blogs and websites have the NOFOLLOW tag in them which does not let the search engines see it. Your site does allow the uComment iFollow.

We also created a link exchange program on our website. if you’re interested, it helps you too also have links for your site on other people’s site. If you go to my site here:
http://__________.com/catalog/links.php
You can submit your link and even a small picture to be displayed.
Let me know if you have any other questions

Lindsay

Yea. I Down loaded a program called fast blogger. They have a free trial and basically you add in search term and it searches all blogs for that term. It gives you lists of links to them and tells you if they are no follow or Ufollow IConment blogs. Basically, by findig blogs related to my webstie and blog and posting comments, it helps my website with the search engines when I post a link. It’s a win win situation. You get blog views and comments and the post gets a link back to third site.

If you are interested, I also have a blog. It’s at http://_____________.com/blog

Feel free to comment away and leave a link back to your blog.

We also have a link exchange. Basically you go to Http://____________.com/catalog/links.php

Click submit link and then we will add another link to our website. All we ask is you link back to us in return.

It’s basically everyone helping each other in order to get good page ranking for thief keywords

If you have any questions , Id be happy to answer.

Lindsay

Very helpful wasn’t she? Unfortunately it was the final straw. All links in comments are nofollowed again. Bloody spammers.

The spam comments continue but recently I’ve taken to changing the name of the person to “John”, removing their email and url and then allowing through the comment.

john the spammer

john the spammer

Thanks John!

Related Posts

(May 11, 2009 09:37 AM)

May 09, 2009
Kae Verens: error logger, mantisated

The plugin architecture for Mantis is not yet mature, so I’ve bypassed it in this. Instead, this script will inject issues directly into the Mantis database.

The following script will load up all errors aggregated with the last post’s script, and will add them as Mantis issues (or update existing issues if found).

<?php
$t=time();
$project_id=6;
$error_urls=array(
  'http://the.url/error_checker/?password=abcdefg&maxlines=5000&last_date_read='.($t-3600)
);

require 'config_inc.php';
$db=new PDO($g_db_type.':host='.$g_hostname.';dbname='.$g_database_name,$g_db_username,$g_db_password);
$db->query('SET NAMES utf8');

foreach($error_urls as $eu){
  echo $eu."\n";
  $errors=json_decode(file_get_contents($eu));
  foreach($errors as $err){
    $md5=addslashes($err->md5);
    $q=$db->query("select id,summary from mantis_bug_table where summary like '$md5 %' limit 1");
    $r=$q->fetch(PDO::FETCH_ASSOC);
    $cnt=(int)$err->count;
    if($r){
      $id=$r['id'];
      $cnt=preg_replace('/.* \(([0-9]*)\)/','\1',$r['summary'])+$cnt;
      $db->query("update mantis_bug_table set status=10,summary='$md5 ($cnt)' where id=$id");
      $btext=addslashes($err->log);
      $db->query("insert into mantis_bugnote_text_table values(0,'$btext')");
      $btext_id=($db->query('select last_insert_id() as id')->fetch());
      $btext_id=(int)$btext_id['id'];
      $db->query("insert into mantis_bugnote_table set bug_id=$id,bugnote_text_id=$btext_id,date_submitted=now(),last_modified=now()");
    }
    else{
      $db->query("insert into mantis_bug_table set date_submitted=now(),summary='$md5 ($cnt)',project_id=$project_id");
      $id=($db->query('select last_insert_id() as id')->fetch());
      $id=(int)$id['id'];
      $db->query("insert into mantis_bug_text_table set id=$id,description='".addslashes($err->error)."',additional_information='".addslashes($err->log)."'");
      $btext_id=($db->query('select last_insert_id() as id')->fetch());
      $btext_id=(int)$btext_id['id'];
      $db->query("update mantis_bug_table set bug_text_id=$btext_id where id=$id");
    }
    $db->query("update mantis_bug_table set last_updated=now() where id=$id");
  }
}

Note the bold lines – the first indicates what Mantis project to place the issue under. In my case, I created a new project named “httpd errors”, which had the ID 6. The second is an array of URLs pointing to where the error aggregators can be found. In this case, the Mantis injector is going to be called from cron every hour, so the URL includes a time limit looking for errors only in the previous hour (3600 seconds).

(May 09, 2009 03:06 PM)

Kae Verens: error aggregator script

I mentioned an idea a few days ago, where a script would be used to read error logs and log them to Mantis (or some other bug tracker).

I’ve written the first part. [error_checker-20090509.tar.bz2]

When run, the script checks your HTTP error log and reads the last n lines (set using the config.php or add “?maxlines=n” to the URL).

It then aggregates xdebug errors, which tend to run over a few lines, and then lumps all similar errors together, counting the occurrences.

Finally, the lot is printed to screen as a JSON dump, which can be read by JavaScript (through eval or JSON.decode)or by PHP using json_decode.

The program is protected by password (set in config.php) which can be added to the URL or sent as a POST variable.

Oh – you can also tell it to only send back errors that happened after a set unix_date (get it using time in PHP).

Example call:
http://the.url/error_checker/?password=abcdefg&maxlines=5000&last_date_read=1241867256

My plan is to have one of these scripts installed on every machine that I host, and to call it every now and then and add the results to a Mantis bug tracker, using the MD5 of the error as a subject line along with the number of occurrences (you could say that the higher-numbered errors should be fixed quicker because they happen more often).

(May 09, 2009 11:25 AM)

May 07, 2009
Kae Verens: Victor Borge – absolute comic genius

I’d never heard of this guy until very recently, but now I can’t get enough of it.

Here he is with Zhahan Azruni doing the most amazing version of Liszt’s Hungarian Rhapsody #2.

And here he explains what a conductor does.

(May 07, 2009 08:49 PM)

Donncha O'Caoimh: Ubuntu Linux: Is your external usb drive slow?

I don’t know when this happened but my external USB drives were running really slow. Reading RAW images off them took ages, backups took forever, and moving files back and forth was plain slow.

I use two Seagate FreeAgent external drives. They’re both USB 2 devices so should sustain more than the maximum 1MB/s I was seeing. I decided to go looking. First stop was /var/log/syslog where I found the following:

usb 2-1.2.4.4: new full speed USB device using uhci_hcd and address 13
usb 2-1.2.4.4: not running at top speed; connect to a high speed hub

To cut a long story short, after a few searches I found bug 66115 where the same problem is described. Unfortunately the ticket has since been closed but the work around discovered by Jean Pierre Rupp works for me too. I haven’t modified any files in /etc/ but unloading ehci_hcd and uhci_hcd and reloading in the correct order worked for me:

rmmod ehci_hcd
rmmod uhci_hcd
modprobe ehci_hcd
modprobe uhci_hcd

Now I get a very respectable 15-20MB/s when using rsync to transfer files from my internal drive and reads are super fast:

hdparm -tT /dev/sdi1

/dev/sdi1:
Timing cached reads: 3964 MB in 2.00 seconds = 1985.16 MB/sec
Timing buffered disk reads: 82 MB in 3.03 seconds = 27.08 MB/sec

Next on the TODO list is making sure the modules are loaded in the correct order on reboot. Time to dive into /etc

Related Posts

(May 07, 2009 09:28 AM)

May 06, 2009
Donncha O'Caoimh: Armalyte 2009

Armalyte This game should need no introduction to Commodore 64 fans, but for the rest, Armalyte is one of the best shoot ‘em ups on that amazing home computer.
The great news is that it’s finally seeing an officially approved remake from Psytronik in the UK. It’s due out later this year. Check out the following video for a taste of what’s to come. I hate to use this word, but all I could think of was, “Awesome!” when I watched it.
Did you notice they fixed the 3D bug in the main menu?

There’s more! Last week Gabe McGrath got in touch and told me he interviewed the three guys behind the remake: Stuart Collier, Trevor ‘Smila’ Storey and Chris ‘Infamous’ Bailey. It’s an entertaining and interesting read. Nice screenshots of each version side by side.
I didn’t know Retro Gamer had published a “making of” article on the original game. Must go dig out the RG DVD to read it.

Fingers crossed they decide to do a Mac or Linux version. Please don’t make me reboot into Windows just to play a game!

Many years ago I mentioned Armalyte here when I rediscovered emulators and an active online C64 scene. Still active!

Related Posts

This game should need no introduction to Commodore 64 fans, but for the rest, Armalyte is one of the best shoot &#8216;em ups on that amazing home computer. The great news is that it&#8217;s finally seeing an officially approved remake from Psytronik in the UK. It&#8217;s due out later this year. Check out the following [...]

(May 06, 2009 02:19 PM)

May 05, 2009
Dave Airlie: off on holidays
So Gia, Isabel and I are off to Ireland for 3 weeks from the 7th -> 31st of May.

Radeon KMS is all I've been doing lately and my feeling is the F11 driver is in a fairly good state, a lot better than F10. 3D seems to be working okay, however we have some speed regressions that I will be attempting to track down in earnest on my return. AGP cards got hit a bit lately as a fix for a real bug slowed an optimisation I previously made down.

For mesa I'd really like to merge radeon-rewrite to master already, but I expect I should wait until I get back as I need to be more reactive to fixing regressions in it.

(May 05, 2009 11:16 AM)

Kae Verens: PHP and jQuery, chapter 4

Chapter 4 (of my book PHP And jQuery for Packt) was on form validation. I put up the demos in the usual place.

Of particular interest is this one. It has a number of points, including two that I haven’t seen anywhere else yet.

Optimising Large Select-boxes

In the example, I’ve only mentioned a few countries, but in reality, you’d use the full list. If you look at the source of the form, you’ll see that actually, only Ireland is mentioned. This is because it does not make sense to always print tens of KB of HTML if most of it will not be used – what if the form is for an irish company and it is not expected that the country would /need/ to change?

The solution is to only load the country list if the select-box is clicked.

This also applies to other large select-boxes. I’ll be using this trick in-house for forms that always slow down when they’re rendering select-boxes – especially db-sourced select-boxes.

Action-less Forms

This is an attempt to get away from captchas, which are getting increasingly difficult for humans to solve, and easier for computers.

The idea is that the form is rendered with no action parameter, and then jQuery retrieves the needed parameter via AJAX 1.5 seconds later. The server records the time the form was rendered, and if the jQuery request comes in before 1.5 seconds, then it’s a spam-bot and will not be allowed to post. If the form is submitted in less than 10 seconds, or greater than 10 minutes, or if it’s submitted without loading the form and action in the first place, then it’s a spam bot and will not be allowed to post.

I’m pretty confident this will slow down spam a bit. It can’t possibly /solve/ it, but it will make it more difficult for spam-bots, yet humans will not notice anything out-of-the-ordinary at all.

The source is of course available.

(May 05, 2009 09:03 AM)

May 04, 2009
Donncha O'Caoimh: My Public Representatives

While I was away last week John Handelaar announced his new project, kildarestreet.com. It’s a site dedicated to reporting all the goings on in the Irish Parliament, from the horses mouth so to speak. It makes available to the general public everything that TDs (our members of parliament) say in session. This information is available on the official Government websites but it’s not easy to find.

I live in Blarney, in Cork North Central. I checked the list of TDs and found those that represent me, my family, my neighbours:

Interesting stats on each of their pages, and I really like the “most recent appearances”. I wonder if TDs will watch more closely what they say come the general election to avoid giving ammunition to their competitors or to avoid “putting their foot in it” in front of a suddenly more well informed electorate.

Related Posts

(May 04, 2009 08:46 AM)

May 02, 2009
Caolan McNamara: Messing with the Java Brand

Sun Java Desktop System (*)

Baigent: “The #9 Reason that Sun is Setting: Messing with the Java Brand: … the ill-fated Sun Java Desktop System … [it] was no more about Java than is Mac OS X (which, like JDS, contains a Java SE runtime)”

Yup, that was about the time I left Sun, rather gladly as there was clearly some

‘When I use a word,’ Humpty Dumpty said, in a rather scornful tone,’ it means just what I choose it to mean, neither more nor less.’

going on. It was a totally inane name, the Sun Java Desktop System simply wasn’t a Java desktop system, everyone knew it, nailing the word Java onto everything whether it had anything to do with Java or not was fingernail-pullingly painful. It should have been shot down by an independent advertising watchdog :-)

*Contains only trace elements of Java

(May 02, 2009 01:58 PM)

Caolan McNamara: DEV300_m47

DEV300_m47 results, down 98 methods as bfshrink02 and sb109 get integrated, stoc, cppuhelper and configmgr no longer have any unused methods. binfilter’s unused list shrinks to effectively unused destructors which indicate leaks rather than code to be removed. sc continues to increase however. xml2cmp stuff will get removed in cmcfixes57.

The pap language code refers to both of the Papiamentu/Papiamento dialects, whose spelling differs. Of the major three islands speaking it we have:
Papiamentu
+ Curaçao
+ Bonaire
Papiamento
+ Aruba
Where, Aruba is a former Netherlands Antilles territory with an assigned territory code of “AW”, and the other two are current (for the moment anyway) Netherlands Antilles territories which has an assigned territory code of “AN”, so the glibc locale of pap_AN presumably should best be used to indicate the Papiamentu dialect rather than Papiamento

(May 02, 2009 01:12 PM)

Kae Verens: webme r95 packaged

I’ve packaged WebME revision 95, and it is available from the WebME Downloads page.

Improvements include:

I’ve added a boat-load of new themes to the free site builder, so please feel free to create a site and try it out.

(May 02, 2009 10:23 AM)

April 26, 2009
Aidan Delaney: Ghosts in DTubes

I’ve been playing around with an idea for a few weeks. It’s evolved into something that I can actually hack on. The idea solves two problems

It may be complete UI-crack, but you’ll be the judge of that.

A ghost is a set of metadata about a file. For example, a photo has a thumbnail and a set of tags. I can download all the meta-data for my wife’s photo collection onto my laptop. Ghosts are represented graphically in some manner. For example, in the F-Spot UI ghosts of my wife’s photos could show up in greyscale at 50% transparency. You can imagine a similar UI for music files in rhythmbox. I imagine the actual files, that the ghosts represent, are downloaded on-demand by me. This solves my netbook probem (a problem I call “the subset problem”) by allowing me to easily download images and music to my netbook from my laptop.

Both of these problems can be solved by putting a server between me and my wife. But life’s too short for that. And there’s an existing set of cool technologies in Gnome which can be used to implement a p2p(ish) solution.

Maybe I’m not great at explaining the high-level stuff. If you don’t have a wife it may be difficult to understand that her photo collection and mine are actually the same collection. We just use our laptops to “interface” with the collection. We could use a site like Flickr to combine our collection. However, Flickr doesn’t allow me to share gigs of data. And the upload/download bandwidth is generally slower than our LAN speeds that we would achieve when we’re both on our home network. Also, if you don’t have a netbook it’s hard to understand what I’m talking about. Sometimes I’ll want to travel home to my parents and bring my netbook with only photos of my son and some Bach to listen to on the journey. I can’t fit my entire photo collection and music collection on the netbook.

Anyway…the solution currently passes Ghosts (only F-Spot photos at the moment) over a DTube. A DTube can be opened between two XMPP users (think Jabber or Google Talk) and you can pass arbitrary DBus objects over it. I’ve implemented Alice who shares her photo collection with the Hatter. The Hatter has a very crude Clutter based presentation of the Ghosts. The code is at the experimental-proof-of-concept stage. I’m now wondering how to further this. Should I implement a “ghost://” GVFS backend?

Code is here. It’s not pretty, and you’ll have to change the jabber id’s in the source. Helping to put the Network back into GNOME, one idea at a time :)

(April 26, 2009 08:17 PM)

Paul Jakma: War and credit-crunch

The UK is projected to borrow £175bn over the next 2 years. The UK is projected to spend approximately £16bn in total, through to 2010 on the Afghanistan and Iraqi wars. Precise figures seem hard to find, but some £7bn approx had been spent through to 2007, so a figure of around £6bn seems a reasonable, rough projection for 2009-2010 spending (winding down in Iraq has been matched by escalation in Afghanistan). These figures are, it seems, by and large supplementary to the main UK DoD budget of circa £36bn/annum.

So something like 3% of that massive 175Bn of borrowing is simply going toward that remaining, failed project of Blair in Afghanistan. That's a huge burden. Will UK tax-payers accept cuts in public-services, while paying for continuing, futile, death and destruction in Afghanistan?

(April 26, 2009 02:53 PM)

April 24, 2009
Donncha O'Caoimh: Scrubs: Ted and The Gooch - I Like You

Ted and The Gooch sing “I Like You”, a sweet song in episode 8, season 8 of Scrubs. There’s a longer version too. Love it.
Check out The Blank’s Website, “Ted’s Band”.

It’s Friday, perfect excuse for a lazy post.

Related Posts

Ted and The Gooch sing &#8220;I Like You&#8221;, a sweet song in episode 8, season 8 of Scrubs. There&#8217;s a longer version too. Love it. Check out The Blank&#8217;s Website, &#8220;Ted&#8217;s Band&#8221;. It&#8217;s Friday, perfect excuse for a lazy post. Related PostsThe Charlie Brown Christmas by ScrubsBattlestar Galactica TonightShe&#8217;s a Maniac in Scrubs

(April 24, 2009 09:59 PM)

Paul Jakma: RS250 no more

Sniff.. my beautiful Aprilia RS250 disappears tomorrow, sold to a collector.

The money's going on maintenance on my other collectable, my '00 Mini (the real mini in that picture, not that other shameless BMW rip-off of the name) which my parents are using at the moment.

(April 24, 2009 12:05 AM)

April 23, 2009
Paul Jakma: Summer work

As per an earlier blog, I'm busy outside of Sun (and Quagga) for the time being, except, however, for the summer when I need to work. Ideally I'd work at Sun, however that seems uncertain, if not unlikely. I'd really like to keep working on Quagga. So if anyone knows of any opportunities, do get in touch.

(April 23, 2009 08:58 AM)

April 22, 2009
Kae Verens: http error log reader idea

When PHP throws a wobbly, it usually posts something useful to the Apache error log (usually at /var/log/httpd/error_log), which is nice, but you really want it in your face so you’ll actually do something about it.

I’m not sure if this application already exists, but it would be very handy.

What I want is an application which checks the error log every ten minutes or so, and adds anything new to a bug tracker such as Mantis, which the developer (me) would be using for daily work anyway.

Has anyone seen anything like this already, or should I write it?

Some more precise features:

This all sounds so specific that I might just have to write the damned thing. But once it’s done, it should be useful to someone.

(April 22, 2009 12:05 PM)

April 21, 2009
Donncha O'Caoimh: WordPress MU 2.7.1

WordPress MU is a multi user or multi blog version of WordPress that can be used to run sites like WordPress.com.

This release of WordPress MU has been much delayed but I think it’s been worth the wait. Included in this release are a number of new features and many bugfixes. Get it from the MU download page.

Update! In the final rush to get this post written I neglected to add that this release fixes a vulnerability in the importer system that would allow an untrusted user to run PHP code. Thanks to Alexander Concha for discovering the vulnerability and to Barry Abrahamson who recognised that some servers treat unknown file types as PHP scripts.
One more reason to upgrade.

New features and changes include:

They’re the major changes. Smaller changes include notification of failed blog upgrades [1728], MU will now ignore free space checks when importing posts [1725] and lots more. Check out the timeline for further details.

If you’re running WordPress MU 2.7 you can upgrade from inside the Dashboard. The system will notice that a new version is out and will lead you through the upgrade process, just like in regular WordPress. Plugins can be updated as well through the familiar plugin upgrade process as long as your plugins are hosted on the WordPress.org Plugins Database.

As always this release would not have been possible without the help and encouragement of many people along the way. I know I’ll leave out someone if I try to list everyone but I appreciate all the help people give working through tickets, and helping on the forums.

PS. WP Super Cache was updated today too. New features include an option to stop caching for logged in users, it doesn’t cache previewed posts, and it displays cache size summary information on the admin page now.
PPS. Happy birthday Adam! 2 today and Dad’s finally getting away from the computer now! :)

Related Posts

(April 21, 2009 06:31 PM)


Powered by Planet!
Last updated: July 05, 2009 12:05 AM