Planet ILUG

July 22, 2010
Donncha O'Caoimh: Who’s abusing your website?

I wanted to know what IP addresses were hitting my website. I’d done this before and it only took a moment or two to recreate the following commands. Still, here it is for future reference.

grep -v "wp-content" access.log|grep -v wp-includes|cut -f 1 -d " "|sort|uniq -c|sort -nr|less

This code:

You’ll probably find Google and Yahoo! bots near the top of the list, but I also found the “Jyxobot/1″ bot was quite busy today.

Related Posts

(July 22, 2010 03:58 PM)

July 21, 2010
Kae Verens: javascript compression tip

I was just reading through the latest article in A List Apart, and there was a little bit of discussion on the following snippet of code:

function getValueFor(data){

  var value;

  if (firstCondition(data)){
      value = 1;
  } else if (secondCondition(data)){
      value = 2;
  } else if (thirdCondition(data)){
      value = 3;
  } else {
      value = 4;
  }

  return value;

}

When compressed with YUI Compressor, that’s reduced to 140 bytes.

By changing it slightly, you can reduce it further:

function getValueFor(data){

  var value = 4;

  if (firstCondition(data)){
      value = 1;
  } else if (secondCondition(data)){
      value = 2;
  } else if (thirdCondition(data)){
      value = 3;
  }

  return value;

}

That’s reduced it to 133 bytes.

I think Nicholas missed a trick, though – by removing all the “else if”s and replacing them with ternary operators, he could reduce it even further:

function getValueFor(data){
  return firstCondition(data)
    ?1
    :secondCondition(data)
      ?2
      :thirdCondition(data)
        ?3
        :4;
}

The above will reduce to 95 bytes. That’s 95, where the previous record was 133.

(July 21, 2010 09:05 AM)

July 18, 2010
Kae Verens: more music scams…

last year, I wrote about some scams where people claimed to be looking for music lessons for their son or daughter.

So far, I have not had one single student for guitar come to me through email or the Internet. Every single request has been a scam.

Here is an example email I received today from andrewbarton67@yahoo.com (Andrew Barton):

Hello,

I’m Andrea Barton during my search for a Music Instrument Lessons teacher that would always take my Daughter (Gwyn) and I found your advert.Your advert looks great and it is very okay to me since you specialize in the area I am seeking for her. My daughter will be coming to your Country before the middle of July for 2 Months. She is just 15yrs Old, a beginner, I want you to help me teach her music during her stay in the Country because i will not want her to less busy, i want her to engage in something to keep her busy during her stay.

So, kindly let me know your charges cost per week in order for me to arrange for the payment before she travels down to your country.I would also like to know if there is any Text Book you will recommend for her as a beginner so that she will be reading privately at home after the lesson during her stay.

Please Advise back on;

(1) Your charges per 1 hour twice a week for 2 Months?

(2) The Day and time you will be available to teach her During the week?

(3) Tuition address?

I will be looking forward to read from you soonest.

Best Regards.

There are a few things about this which should immediately strike anyone:

There is a quirky little urge in me to take this as far as I can. However, I’m also not made of time, so I won’t bother.

So here’s the warning: NEVER trust an email from anyone you don’t know.

Here’s how this would pan out if I took it seriously:

  1. We agree price and dates.
  2. They send a cheque and urge me to cash it. I go to the bank and do so.
  3. I suddenly receive an urgent email saying there’s been an error and they sent me too much, and to please send back the extra money.
  4. Of course, that involves me writing and sending a cheque of my own.
  5. They then cash my cheque.
  6. Their cheque then bounces….
  7. The student never turns up.

So don’t be an idiot. Either throw these email in the spam directory (or delete it), or have fun trying to get the guy to do ridiculous things, but never take it seriously.

Btw: here’s an example of this same exact person being a bit over enthusiastic with the attempts – 9 copy/paste messages, with two separate daughters, Rita and Marsha – this guy should probably have got the kids lessons when they were younger…

(July 18, 2010 08:46 AM)

July 15, 2010
Donncha O'Caoimh: Oink!

Remember Oink! the comic from the ’80s? Ah happy memories. There are two issues archived here, and the Wikipedia page on the comic is a fountain of knowledge.

It didn’t last long but I’m pretty sure I bought the very last issue. This comic strip rings a bell..

Related Posts

(July 15, 2010 10:05 AM)

July 11, 2010
Donncha O'Caoimh: Lego The Dot Conf

I think I have to agree with Damien. This is the best trailer for a conference ever!

It’s for The Dot Conf in Dublin on July 22nd. I won’t be going but there’s a great line up of speakers!

Related Posts

I think I have to agree with Damien. This is the best trailer for a conference ever! It’s for The Dot Conf in Dublin on July 22nd. I won’t be going but there’s a great line up of speakers! Related PostsMaking of a BrickThat mouse presses all the right buttonsDebian Sarge, PHP4 and Apache2.. why [...]

(July 11, 2010 08:38 PM)

July 07, 2010
Justin Mason: Links for 2010-07-07

(July 07, 2010 10:05 PM)

July 03, 2010
Daragh McGrath: Hosted (Cloud) Desktops – your thoughts?!

I’ve been doing a lot of thinking around the subject of hosted desktops recently. Anyone familiar with Cloud Computing concepts will be well aware of two main cloud computing areas – Software as a Service (something along the lines of Salesforce.com or Google Apps) or Infrastructure as a Service, which is generally considered server infrastructure as a service (think Amazon AWS). AWS is a really, really good IaaS platform, but it’s very server & storage centric. For example, all the standard Amazon AMI’s (machine images) are for server OS’s (Windows 2008 server and the likes).

People are comfortable and familiar with the concepts of having their email or server infrastructure in the cloud, but not so much with the concept of having a desktop in the cloud. What if you had your Windows 7 or Mac OSX instance running in the cloud, available and accessible to you everywhere? Do you see this as being a problem? Are you comfortable with the concept? The same types of questions will arise for cloud desktops as they do for cloud email / storage solutions, namely:

But, my question is, do you have other concerns about you desktop living in the cloud? All of the above questions I can easily address (and I do every single day!). I can think that network connectivity and latency will be key concerns. But what else? Method of access will be a concern, especially for corporates thinking of moving desktop infrastructure to the cloud. What do they do with all their existing hardware? What do they give their staff going forward, netbooks & thin clients?

And what about cost? In the past few weeks, I have spoken to several companies considering a move to hosted desktop solutions. But cost is a concern and this is something that I’m currently trying to evaluate and understand fully. Is a hosted desktop solution really cheaper in the long run than in-house infrastructure? Sure, you don’t need the capital outlay upfront that say an upgrade in desktop os, or hardware would be, you don’t need to pay for power and maintenance, but you do still need to pay for an access terminal.

And another key question – is hosted desktops really cloud computing? To cloud computing purists, the cloud revolves around SaaS as opposed to IaaS. Is hosted desktops something that is here to stay, or simply a stop gap measure for people until all relevant software can be packaged as a SaaS offering.

I will do a deeper dive into the technical aspects of hosted desktops in the near future, but for now I’m really interested in feedback via comments or email on peoples thoughts on this concept.

(July 03, 2010 06:32 AM)

Daragh McGrath: MacBook Pro high res screen

I recently picked myself up a new 15″ MacBook Pro. Beautiful, beautiful machine. One of the pre-requisites that I had when buying this was that I got the High Res 1680 x 1050 screen with it. And oh my, am I glad that I did!

Some people may think that the extra $140 for a few extra pixels is overkill. However, I can assure you that once you start using it, you will agree that it’s not. This screen is so beautiful and such a joy to work with. I now notice that when I move to any other machine, be that my 24″ iMac or Kassie’s identical MacBook Pro (without the high res screen) that I think they look really pixelated and small.

If you are in the market for a new MBP, please, please do yourself the favour and buy this screen.

(July 03, 2010 06:02 AM)

Dave Airlie: embedded GPU : what are they hiding?
So to follow on from my posting stating my position wrt kernel drivers for closed source userspace drivers, lets take a look at the embedded GPU industry and Linux kernel relationship.

What does the embedded industry get from Linux?

They get a kernel which is royalty free, with 1000s of man-years of development experience and resources. Before Linux these vendors either sourced an OS on a royalty basis from some closed-shop, or rolled their own in-house one.

Now people might say "but the embedded GPU industry has to support Windows as well", but take one look at NVIDIA Tegra One and you can see the embedded windows marketplace is less than important, NVIDIA Tegra Two is all about the Linux, whereas they were pretty much only talking to MS on Tegra one.

So Linux is a great boon for this industry, and means they can produce higher quality products for a lower cost (or lower quality products at a lower cost in some cases). So really there are probably two games in town for these embedded vendors, selling into Apple or selling into Linux centric developments, like Android, Meego, Linaro.

So what are they actually hiding in userspace?

The main thing they seem to be hiding is shader compilers and their GPU assembler code, things that convert from GLES into the assembler code for their GPUs. This stuff isn't rocket science but it probably is where most of their speed up and tricks are hidden.

So why do they think it valuable?

I think all 3D IP vendors dream of becoming Imagination Technologies, they need to learn there is already one Imagination Technologies and the only way to easily disrupt their revenue stream and sell into other SOCs is to be disruptive, not just follow the herd. They also probably had to spend a lot of money writing a decent GPU compiler from scratch, whereas most embedded firmware is a lot more trivial, so they probably think they need to directly recoup the costs from this development instead of giving it away. The thing is they are hw vendors, the sw is a sunk cost, opening it would actually make future maintenance easier. HW companies never do well at SW and they would be best to just open it and try and involve some community development around it.

Is the value of this IP more valuable than what the receive from Linux?

This is the crux of my issue with these vendors, they are receiving the Linux kernel for free, but don't want to contribute anything back. They know they can't sell into any where else except Linux driven products, but they insist on keeping their development methodologies from the days of Windows and their own in-house OSes. Those days are gone, but they cling to the idea that for some reason they can produce a better GPU stack on their own than they could in collaboration with other, despite the fact that the kernel that forms the basis for their sales was developed in this fashion. They also all use gcc as the compiler for their CPUs again proving the insanity.

Isn't it up to them what they do?

Totally, but its also up to the Linux community to push back against them. The thing is they'd never have opened any code if it wasn't for the GPL making them at least open the kernel portions, they don't care about freedom or GPL, they care about their bottom line, and doing the least amount of work to remain legal and make money. Now they are getting all this wonderful software for free, Linux phone sales are driving their bottom line, but they still don't want to play the game by the rules of the kernel. They want to have their cake and eat it too. (the cake is a lie). Hence they spend their time creating their own solutions in private, releasing what they have to comply with legalese but never actually allowing people the freedom to use their devices.

So shouldn't we give a little?

The thing is two major vendors have been pushing Imagination Technologies for years to open something, these guys are aiming to sell thousands->millions of devices, we have gotten the ugliest kernel shim in the world in 4 years of trying. All the other vendors are only willing to give that little. I don't personally think any of them want to open this stuff and will hide behind IP excuses for ever.

What will make them change their minds?

a) money and lots of it. If google or olpc can demand open driver commitments (in contracts, not handwaving agreements) then I suspect these vendors will quickly realise the value of their IP is dwarved by the value of sales. This probably means a major chance for one of the vendors to control a lot of the space in the Linux world.

b) disruptive vendor, one vendor realises before the others that opening their IP will lead to more sales than keeping it closed and also lead to the chance of more people optimising their technology and leveraging other work in the industry.

So are you saying they should drop all their in-house developed solutions?

No I'm saying that the driver for their hardware is a single entity, and if the whole entity isn't open, then none of it is truly open. So if they don't want to release an open userspace, then they don't get to merge their open kernel bits to support the closed userspace. We have to keep the maintenance burden on them, so it keeps costing them money to track newer kernels, and they don't get community support from other vendors who have committed to doing things right.

So why should they re-write drivers?

This happens in Linux the whole time, with nearly every new technology. Wireless, RAID, SATA for example, all have had vendors trying to push complete stacks of their own writing, you'll notice over time the drivers that are actually written to the current stacks work best, an the crazy vendors drivers are often horror shows.

What would be nice to happen?

It would be great if there was a hero with time/funding and involvement in the ARM GPU community to take over being maintainer of these solutions, from kernel all the way to userspace. Vendor driver writers could ask this person for advice, and they could have some sort of working group where they develop a stack based around current Linux technologies, like GEM/TTM/DRI2/Mesa/Gallium3D. If you take a look at the mesa stack lately, there has been a lot of work on making it work as an EGL/GLES stack as well as a classic GL stack. Then vendors would supply open drivers compliant with this stack, and just sell lots of chips.

What would be most likely negative solution?

We get what we have now, they maintain the 5-6 GPU stacks in their own world, and never talk to each other, and it costs them more and more money going forward to maintain. Some hero reverse engineers one or two of the GPU architecture, maybe some hero writes a open driver stack from docs under NDA or with open docs.

I may update this post as I have more thoughts ;-)

(July 03, 2010 01:28 AM)

July 01, 2010
Dave Airlie: open source kernel bits with closed source userspaces
[I posted this to lkml earlier - discussion should happen there not in comments here, but its nice to have somewhere easy to point people at].

Now this is just my opinion as maintainer of the drm, and doesn't
reflect anyone or any official policy, I've also no idea if Linus
agrees or not.

We are going to start to see a number of companies in the embedded
space submitting 3D drivers for mobile devices to the kernel. I'd like
to clarify my position once so they don't all come asking the same
questions.

If you aren't going to create an open userspace driver (either MIT or
LGPL) then don't waste time submitting a kernel driver to me.

My reasons are as follows, the thing is you can probably excuse some
of these on a point by point basis, but you need to justify why closed
userspace on all points.

a) licensing, Alan Cox pointed this out before, if you wrote a GPL
kernel driver, then wrote a closed userspace on top, you open up a
while world of derived work issues. Can the userspace operate on a
non-GPL kernel without major modifications etc. This is a can of worms
I'd rather not enter into, and there are a few workarounds.

b) verifying the sanity of the userspace API.
1. Security: GPUs can do a lot of damage if left at home alone, since
mostly you are submitting command streams unverified into the GPU and
won't tell us what they mean, there is little way we can work out if
the GPU is going to over-write my passwd file to get 5 fps more in
quake. Now newer GPUs have at least started having MMUs, but again
we've no idea if that is the only way they work without docs or a lot
of trust.

2. General API suitability and versioning. How do we check that API is
sane wrt to userspace, if we can't verify the userspace. What happens
if the API has lots of 32/64 compat issues or things like that, and
when we fix them the binary userspace breaks? How do we know, how do
we test etc. What happens if a security issue forces us to break the
userspace API? how do we fix the userspace driver and test to confirm?

c) supplying docs in lieu of an open userspace
If you were to fully document the GPU so we could verify the
security/api aspects it leaves us in the position of writing our own
driver. Now writing that driver on top of the current kernel driver
would probably limit any innovation, and most people would want to
write a new kernel driver from scratch. Now we end up with two drivers
fighting, how do we pick which one to load at boot? can we ever do a
generic distro kernel for that device (assuming ARM ever solves that
issue).

I've also noticed a trend to just reinvent the whole wheel instead of
writing a drm/kms driver and having that as the API, again maintainer
nightmares are made of this.

d) you are placing the maintenance burden in the wrong place

So you've upstreamed the kernel bits, kept the good userspace bits to
yourselfs, are stroking them on your lap like some sort of Dr Evil,
now why should the upstream kernel maintainers take the burden when
you won't actually give them the stuff to really make their hardware
work? This goes for nvidia type situations as well, the whole point is
to place the maintainer burden at the feet of the people causing the
problems in an effort to make them change. Allowing even an hour of
that burden to be transferred upstream, means more profit for them,
but nothing in return for us.

(July 01, 2010 11:42 PM)

June 28, 2010
Donncha O'Caoimh: The MU forums are moving

The MU forums will shortly be closing up shop.

WordPress 3.0 integrated everything that MU always did so it’s better to consolidate the forums too. There’s a MultiSite forum on WordPress.org and any queries about upgrading or problems using WordPress 3.0 should go there.

The old forums aren’t going anywhere but later today or perhaps tomorrow I’ll be making them read-only. You’ll still be able to browse the forum, and Google will still index the wealth of information already there but posting will be disabled.

So, thank you to everyone who contributed to the forum over the years. You helped make WordPress MU great.

Related Posts

(June 28, 2010 09:41 AM)

June 23, 2010
Donncha O'Caoimh: WordPress 3.0 Domain Mapping 0.5.2

I’ve just released WordPress Domain Mapping 0.5.2. This plugin allows you to map any domain on to your WordPress 3.0 or WordPress MU website.

New in this release:

For security reasons remote login is now disabled if the dashboard is redirected to the mapped domain. There is a tiny chance of a man-in-the-middle attack during redirection, but it’s just as likely to happen when you’re logging in and sending your username/password to the login form. Call me paranoid.

I would like to thank Ron and Andrea who were a huge help developing and testing this release. Andrea has written a great post on creating a network in WordPress 3.0 plus instructions on upgrading from WordPress MU. Great stuff!

Related Posts

(June 23, 2010 09:53 AM)

June 22, 2010
Kae Verens: audio alerts for php errors

I tend to keep a log tailing in one console while working in another.

tail is a Linux program that displays the last few lines of a file. If you run tail -f /var/log/httpd/error_log as root, or as your normal user if you’ve set the right permissions, then you will see any errors as they are added to the log.

However, I also tend to get immersed in my coding and not notice any errors until they cause a visual problem.

What I needed was a program that would watch my log, and beep to get my attention if an error was added.

This article explains how to set that up in Fedora.

First, install the program swatch:

[root@ryuk ~]# yum install swatch

Now create /etc/init.d/swatch, which is the startup/shutdown script for the logger:

#!/bin/sh

case "$1" in
'start')
                /usr/bin/swatch --daemon --config-file=/etc/swatch-httpd-errors --tail-file=/var/log/httpd/error_log --pid-file=/var/run/swatch-httpd-errors.pid
                ;;
'stop')
                PID=`cat /var/run/swatch-httpd-errors.pid`
                kill -9 $PID
                ;;
*)
                echo "Usage: $0 { start | stop }"
                ;;
esac
exit 0

Notice the two file locations in the /usr/bin/swatch command – the configuration file location, and the log file to be tailed.

Make the file executable:

[root@ryuk ~]# chmod +x /etc/init.d/swatch

Now create the configuration file, /etc/swatch-httpd-errors:

watchfor /PHP Parse error|PHP Fatal error/
        exec mplayer /home/kae/sounds/beep-8.wav > /dev/null 2> /dev/null

You can have swatch do basically anything, from sending an email, to flashing lights in your face if you have them connected to the computer. All I wanted was a little beep.

Change the exec command to whatever your want.

I started experimenting by having Arnold Schwarzenegger yell “What the hell are you doing??” at me, but that could get annoying for other people. In the end, I changed it to a beep – a very /short/ beep. More of a tick than a beep.

Now start up the daemon:

[root@ryuk ~]# /etc/init.d/swatch start

Create a php script with an error in it, and view it in your browser. You should get a satisfying beep.

If you want to have this run automatically when the laptop boots, add the above command to the /etc/rc.local file.

(June 22, 2010 09:15 AM)

June 20, 2010
Daragh McGrath: MacBook Trackpad Tips

I’ve been using a new model MacBook Pro quite a bit recently and I have finally figured out what all the hype is about the MacBook Glass Trackpad. There are so many different shortcuts and time saving tips that make this a true joy to work with and really does leave you scratching your head wondering what the hell every other laptop manufacturer out there is doing.

I thought I would share some of the tips I’ve picked up recently as I know that a lot of people aren’t aware of these features.

(June 20, 2010 11:11 PM)

Kae Verens: long beep short beep short beep

Bronwyn’s laptop just “died”. She turned it on, there was a beep sequence (“long short short”), then nothing appeared to happen.

All the lights were on, the fan was running and there appeared to be activity, but nothing showed on the monitor.

The problem, it appears, is that the GPU overheats too easily and was soldered incorrectly to the motherboard by HP (it’s a HP Pavilion dv2000). When it overheats, the solder melts. When the computer is turned off, the solder solidifies and shrinks, breaking the connection with the GPU, causing the laptop to fail to turn on the video when next booted up.

The proper solution is to replace the GPU, or at least to re-solder the connection and improve the thermal flow around the chip. Unfortunately, I’m just not technically able to do that.

The temporary solution is:

Obviously, this is a temporary solution until I can get the cash to pay for a new laptop for her. After that, the laptop joins my collection of broken laptops and will be used for something or other that doesn’t need a working video card.

(June 20, 2010 07:54 AM)

June 19, 2010
Kae Verens: piano grade 2 results arrived

I did the grade 2 exam three weeks ago. The results just arrived: “successfully passed in the second grade examination in Pianoforte with first class honours”

Cool, I’ll shove that certificate up on the piano next to last year’s one.

I’m going for grade 3 in September. Was meant to do grade 2 a few months ago, but couldn’t find anywhere close that would do the examination. The nearest was in Louth, but that’s too far to walk.

Here are the examiner’s notes:

Max Marks Requirements Examiner’s Comments Marks Awarded
15 Scales & Arpeggios Very good. Good choice of speed but make sure you keep it nice and steady! Very good tone. 13
10 Sight Readng Very good. Mind the counting 9
10 Ear Tests Very good. 9
5 Theory Excellent. 5
20 First Piece Sonatina in G: You caught the mood well. Nice fluent performance. Good phrasing, tone, dynamics and technique. 18
20 Second Piece Waltz: Another lovely performance. Very good balance in left hand melody. Great attention to detail. Very enjoyable! 19
20 Third Piece Samba: Excellent rhythm throughout. Very good range of dynamics and good use of arm weight. Good control throughout. Well done! 18
Total/Additional Comments: Congratulations! Keep up the excellent work! 91

As you can guess, I’m pretty happy about this!

I’m hoping the keep up the high marks for the next exam. My teacher says my pieces for that exam are already at “pass” level, so three more months of practice can only improve that!

I’m hoping to have enough money next month (royalties from my last book) to afford a new piano and a camera, so may be able to stick some tunes online soon.

(June 19, 2010 01:26 PM)

June 18, 2010
Caolan McNamara: DEV300_m83/gtk3

callcatcher results for DEV300_m83 records a pleasingly large drop of -220 unused methods as sd reduces by 198 unused methods, while uui and framework drop to 0.

Prepared some patches to make OOo gtk3 ready, though probably best to hold off integrating into say 3.4 until the new build stuff is in place because for vanilla-land we’ll probably want to support building both gtk2 and gtk3 vclplugs side by side which is a bit hacky in the current gtk3 workspace

(June 18, 2010 08:27 AM)

June 17, 2010
Kae Verens: review: Expert PHP5 Tools

In short: great overview of the various tools and processes that can be followed to make working in PHP easy and manageable. I have a new employee here in the office who will be getting this book after me, to quickly bring her up to speed on good practices.

The Good

As you might guess from the “new employee” comment, even though the word “Expert” is in the title, you don’t need to be an expert PHP programmer to use this book. It’s an all-round overview of the programs you might use during your day-to-day programming life for the next few years.

As the author (Dirk Merkel) suggested in the book, some people may disagree with some choices in the book. For example, I am a fervent Vim user, but the book chooses Eclipse as its programming environment of choice.

From a broader point of view, the Eclipse IDE may be the correct one for programmers to use, as it offers much more than just a text editor. As for me, it’s hard to change an old dog’s habits!

The book includes some handy reference notes for various tools, such as SVN or phpDocumentor. It’s good for people that are not used to reading online references for everything to have them all in one book.

Each chapter is immensely in-depth. To the point that it’s almost like each chapter is a mini-book on its own subject. In some cases the chapters include everything you might ever use on those subjects.

For myself, I’m interested to try some of the suggestions in the Continuous Integration chapter and throughout the book, as I already run a few projects where updates are more important than releases. I’m especially interested in integrating SVN with automated testing and style-checking. Test-driven Development is described in the book, and it certainly seems more robust than my current “deadline-driven development” style!

The Bad

There were code samples in there that could have been shortened immensely by choosing a different spacing scheme or reducing the comments. For example, in the Debugging chapter, there is a code sample that goes on for 9 pages. That’s a lot of code to read… If the empty lines and comments had been removed or reduced, Dirk could have cut it down to maybe 4 or 3 pages, making it much more readable in print. As it was, I did my best to read through it, flipping back and forth between pages to find where references went or came from.

The Ugly

Actually, there wasn’t really anything in this book that I’d call ugly, apart from the overly long code examples.

Conclusion

Immensely useful for the professional programmer. Especially a programmer who needs to fit into a team.

I’m no beginner myself, and picked up quite a few tips throughout the book.

Buy this book – it’s worth it.

(June 17, 2010 07:53 PM)

June 16, 2010
Kae Verens: update: CMS design with jQuery and PHP

I got an “urgent” email recently from my Packt coordinator – she told me that if I kept writing my book at the rate I was writing, then it would end up being about 500 pages.

Thing is, though – it would be tricky to reduce the chapters I’ve already done, as a half explanation is as good as no explanation at all.

So, I looked over the planned chapters again, and saw that the final three could probably be dropped without affecting the core content of the book – they were just more example plugins showing how to integrate various things with the CMS.

The book itself is on how to build a CMS in PHP, that uses jQuery to make administration easier. That has been accomplished already in the existing chapters (1-7).

I suggested to Packt that I would drop the final three chapters and rework the earlier chapters so the book was more easily read (a 40-page chapter is /not/ easy to read).

Got an email back from them yesterday saying that the plan sounded good.

So the current plan is:

I think I’ll be finished the current chapters within three weeks, then take a week or two to rework the earlier chapters, then another month for rewrites, and finally the book will be published 2/3 weeks later.

So, the book may be out within two months.

After this, I’m taking a break from modern technology to write about baroque technology – I’ll be writing a book on how to build a cheap clavichord.

(June 16, 2010 09:22 AM)

June 15, 2010
Donncha O'Caoimh: WP Super Cache 0.9.9.2

WP Super Cache 0.9.9.2 has just been released! This version works with WordPress 3.0 and adds a number of new features and bug fixes:

Preloading creates lots of files on your server so if you have many thousands of posts please be aware of this. Filesystem limitations may cause problems if you use a flat permalink structure. For example, ext2 or ext3 only allows 32,000 directories in a directory. If you have more than that number of posts you may run into problems.

The plugin does not preload category or tag pages but because your single posts will be cached you’ll find the load on your server will be reduced. Uncached pages will be served more quickly and your visitors will have a quicker and better experience on your site.
You may also see an increase in site traffic if your server was previously underpowered!

Update! I just released 0.9.9.3 to address the (mostly minor) bugs that were reported overnight. If you don’t notice anything wrong there’s no need to upgrade.

Related Posts

(June 15, 2010 01:38 PM)

June 13, 2010
Donncha O'Caoimh: Blairs Inn Smile

Duncan of Blairs Inn was giving out free samples of their delicious beef stew along with samples from other local restaurants at the festival in Blarney today.

Delicious stuff, and Blairs Inn is a great place to go for a meal too. Only been there once but we had a great meal there. Recommended.

Related Posts

(June 13, 2010 02:19 PM)

June 11, 2010
Aidan Delaney: And the blurry image reveals…

The blurry image below is of the shiny new baby that Lorraine is expecting. This development is on an aggressive time/feature based release cycle and is due in time for the Christmas market . This baby reflects a 100% growth in our child portfolio.

Our last experience having Cillian on the publicly funded NHS was brilliant. So far it appears that the standard of maternity care has maintained it’s excellence. We’ve met the midwife and (obviously) been in for a scan. It may be hard for some people (particularly USians) to understand the depth of appreciation British society has for the NHS (it took me a while to learn this). Sufficing to say that there were massive protests last year when local maternity services were threatened with cuts. Nothing gets the British onto the streets quicker than poll tax, illegal wars and threats to the NHS.

(June 11, 2010 08:11 AM)

June 08, 2010
Donncha O'Caoimh: Insert Coins Only

“Yes, I’ll be home as soon as I can. I may be here for a while.”

Related Posts

(June 08, 2010 08:41 PM)

May 29, 2010
Donncha O'Caoimh: Avatar 2 Trailer

A brand new trailer for Avatar 2 has just been released and it’s amazing. If you thought the first film was stunning you’ll be blown away by this one!

Related Posts

A brand new trailer for Avatar 2 has just been released and it’s amazing. If you thought the first film was stunning you’ll be blown away by this one! Related PostsMatrix Revolutions TrailerStar Wars TrailerBatman Begins Trailer Online

(May 29, 2010 07:54 AM)

May 27, 2010
Kae Verens: happy birthday KFM

KFM is 4 years old today:

http://verens.com/2006/05/27/file-manager-for-fckeditor-day-one/

demos of older versions no longer available, but it’s interesting to know that it’s lasted four years!

of particular interest in my own case, is that there has been no major functionality change in the last two years or so. KFM today is basically the same as KFM two years ago; just faster, more secure, and better coded.

(May 27, 2010 10:58 AM)

May 25, 2010
Daragh McGrath: Australian inflight WiFi

As someone who flies quiet a bit for both business and pleasure and is likely going to see that increase over the coming months, having to disconnect from my laptop / phone for the hour or two that I am in the air is a major hassle. Sure, I could read offline content or watch a tv show / movie, but that’s not really what I want to be doing. If I had the ability to continue to work, or communicate via Twitter / chat or stay updated with the news, it would make a massive difference.

Ask anyone who has flown across the US recently about the benefits of inflight WiFi and you will find almost everyone a fan. It’s also a service that people are more than happy to pay for and I too would be one of those. Given the current state of the airline industry globally, you would think that any revenue stream would be most welcome.

However, it would appear that neither of the big two Australian airlines Qantas or Virgin Blue have any concrete plans in place to provide inflight WiFi at any stage soon. I spoke to a friend of mine who is a Qantas engineer about this very topic last night and he confirmed that Qantas have looked at it using pico-cell technology and have even run a tial, but currently it is not on the priority list to deliver. His thoughts are that even when they do come to look into it, it’s likely to be on international flights before it hits the domestic market. This doesn’t make sense to me, surely the high volume domestic business traffic would be the best return on investment for the airlines?

Whilst the fact that they are looking into it is welcoming, the fact that they are investigating using pico-cell technology is disheartening. This is likely to lead to a slow and expensive sattelite based solution that is going to make media rich, content heavy use impossible. There are much better alternatives available, utilising existing mobile phone technology which is far more cost friendly and faster and in fact, it is this type of technology that is powering most of the US based inflight WiFi services.

There is a more indepth review of the airlines plans dating back to March this year in this article from The Australian.

I would be interested in hearing from anyone who has experience of the airlines plans, their thoughts and when we might expect to hear something.

(May 25, 2010 11:09 PM)

Kae Verens: KFM 1.4.6 released

KFM 1.4.6 has been released.

This is partly a security update, so upgrade your installation.

While writing up a post about KFM for the webworks blog, I realised that KFM is 4 years old in 2 days!

This post from 2006 describes the first day’s work on the project.

(May 25, 2010 08:54 AM)

May 21, 2010
Caolan McNamara: DEV300_m78, lang-tags

DEV300_m78 callcatcher report. Down -10 overall. scripting and vbahelper are unused method free.

Fiddling with BCP 47 style language tags, Some code at here to make a sane mapping from the glibc locale strings to it, along with some mods to hunspell to make that the default dictionary naming scheme. Enchant, OOo and friends would need some tweaking as well to bubble the extra info up. End game would be that the edge case stuff like sr-Latn[-RS] and ca[-ES]-valencia would work out of the box.

fontconfig could do with a bit of love in that direction as well. I see some bogus tags of e.g. sd-in@devanagari in some font .conf files but fontconfig takes a language-territory tag, not @modifiers, so its reading those as sd-in. Ideal situation would be to be able to describe that as sd-Deva[-IN].

glibc has two ber locales, ber_DZ and ber_MA, unfortunately these are collective language codes, which is a real nuisance. In the case of the other collective code of no, i.e. no_NO gettext and others map it to nb_NO, ber_DZ is probably most likely equivalent to kab-DZ, but ber_MA does appear to in practice refer to a collection of three languages. Though for some inscrutable reason (copy and paste) the translations in the locale file are actually Azerbaijani/Azeri

(May 21, 2010 07:31 PM)

Daragh McGrath: Wow, that coffee smells good

It’s a simple phrase that we’ve all probably heard, but “wow, that coffee smells good” is a comment I hear probably two to three times a day.

The reason? I brew my own coffee in a plunger at the kitchen at my office and anyone who walks into the room as I’m doing so always ends up saying it. It gets rather tedious!! Then, just after they have said that to me, they proceed to make themselves a cup of instant coffee, if that’s what you call it.

This absolutely baffles me. Producing a good cup of coffee in any office isn’t difficult or expensive. I tend to stop of at my favourite coffee stop, Campos in the Valley once a week on my way to work, pick up a bag of their wonderful Roma Espresso (their darkest, strongest roast) and have them grind it for my plunger.

From there, it’s a case of making my coffee in the plunger as and when I need it, which is far better than any instant coffee you will ever drink, is better than you will get in most coffee shops and is a damn site cheaper to boot (a 250g bag costs me $10 and does me a week (I drink 4 or 5 a day) and my plunger cost me about $15).

So, I urge that if you crave good coffee in the office environment, do yourself a favour and find a good roaster and invest in a plunger / filter and give your tastebuds a sensation. No one should have an excuse for drinking poor coffee.

UPDATE: I should also mention that you don’t need to live in the Valley to pickup coffee from Campos, they also have an online store where you can purchase and have coffee delivered to your door.

(May 21, 2010 08:17 AM)

May 20, 2010
Daragh McGrath: Bringing a blog back to life
Wow, it’s been almost two and a half years since I said anything around here. I did call it quits in my last post and proclaim that this blog was dead, but as certain people around the world will try to tell you, the dead can sometimes be reborn!

The thoughts around getting back to blogging have popped into my head over the past few weeks. I don’t have any specific things that I aim to write about, however, I do aim to ensure that this won’t turn into some boring commentary of my life, and will actually prove to be a useful and rewarding journey for those who wish to come along for the ride. This blog may have been that in the past, but I have decided to leave the archives as they were, for anyone who cares to take a look back.

Since I have last been here, Twitter has very definitely taken over as the communications medium of choice, for myself and for many others. I can’t imagine my daily life now without Twitter, it is an invaluable source of information, entertainment, commentary, business leads and like minded individuals. This blog will aim to compliment my Twitter stream, allowing me to expand my thoughts beyond 140 characters.

My main interests in life nowadays revolve around certain constants, food, wine, whisky, coffee and technology. Photography has taken somewhat of a back seat, and cloud computing has come to the fore. I have no doubt that there will be plenty of posts around these topics, as well as the inevitable posts about Formula One, Travel, Rugby and possibly about various business ventures as well.

That’s it for now. I’d love some feedback in the comments section here to see who is still listening and to say hello! :)

(May 20, 2010 07:05 AM)

May 17, 2010
Donncha O'Caoimh: The Return of ‘Allo ‘Allo

Sometimes I’m glad I look in my spam folder. I spotted this delightful email subject:

Important massage from Federal Ministry of Finance

It reminded me of the BBC sitcom, ‘Allo ‘Allo which anyone living in the UK or Ireland and probably further afield will immediately recognise. Luckily I found this video of clips from the “Return of” show aired in 2007. Hilarious stuff!

Related Posts

Sometimes I’m glad I look in my spam folder. I spotted this delightful email subject: Important massage from Federal Ministry of Finance It reminded me of the BBC sitcom, ‘Allo ‘Allo which anyone living in the UK or Ireland and probably further afield will immediately recognise. Luckily I found this video of clips from the [...]

(May 17, 2010 01:12 PM)

May 12, 2010
Donncha O'Caoimh: Killer Queen in the Opera House Cork

If you know me well, you may know I love the music of Queen. I never had the pleasure of seeing them live unfortunately but I’ve been to a number of Queen inspired events, Flash Harry played in Cobh a few years ago and there was Queen at the Ballet too. (Thanks Ken, Aisling, Proinnsias, Sinead!)

So I jumped at the chance to see Queen tribute band, Killer Queen when they played in the Opera House recently. They were good, some parts were great, and Brighton Rock was absolutely amazing even if I got the feeling some people in the audience didn’t know that song.

Killer Queen are a blast. The crowd loved them. Of the three performances I thought Flash Harry was the best but you’ll have a great time at Killer Queen too.


Killer-Queen_01 Killer-Queen_02 Killer-Queen_04 Killer-Queen_03 Killer-Queen_06 Killer-Queen_05 Killer-Queen_07 Killer-Queen_08 Killer-Queen_12 Killer-Queen_11 Killer-Queen_09 Killer-Queen_10 Killer-Queen_14 Killer-Queen_13 Killer-Queen_15 Killer-Queen_16 Killer-Queen_17 Killer-Queen_18 Killer-Queen_19 Killer-Queen_20

Related Posts

(May 12, 2010 04:50 PM)

May 07, 2010
Kae Verens: closing a filament-group menu on mouseout

The filament group menu plugin is one of the better ones out there.

But it has a few flaws. One of the major ones is that they’re not developing it anymore, leaving that to the jQuery UI team. But, development on that is really painfully slow… I don’t expect to see a working menu for months. Even the demos linking from the jQuery UI Menu page are hardly inspiring – they’ve got practically no functionality at all. Hardly useful.

For that reason, I’m okay with taking the current fgmenu code and extending it.

Here’s a simple fix, which has been asked for on their blog. I can’t comment on it because comments are closed.

To close menus onmouseout, all you need to do is to add a mouseout to all menu items, and if it’s triggered, then a second or so later, close all menus.

Obviously there’s a little more to it than just that. Read the code if you want the full details.

Just add this bit to your fg.menu.js file:

$('.fg-menu,.fg-menu-top-level')
  .live('mouseover',function(){
    this.mouse_is_over=true;
    clearTimeout(window.fgmenu_mouseout_timer);
  })
  .live('mouseout',function(){
    this.mouse_is_over=false;
    window.fgmenu_mouseout_timer=setTimeout(function(){
      var o=0;
      $('.fg-menu,.fg-menu-top-level').each(function(){
        if (this.mouse_is_over) o++;
      });
      if(!o){
        $.each(allUIMenus, function(i){
          if (allUIMenus[i].menuOpen) { allUIMenus[i].kill(); };
        });
      }
    },2000);
  });

(May 07, 2010 12:05 PM)

Donncha O'Caoimh: Admin 101: Postfix smtp limits

I’ve just moved all my sites on to a new install of Ubuntu on one of my VPses. This site and In Photos are now on the same server again and the VPS has finally calmed down.

Between configuring Apache (turn off keep alives, and reduce the number of child processes), installing xcache and the WordPress object cache and configuring it, and configuring MySQL I totally forgot about Postfix.

I did install Postgrey of course but when Blacknight switched the ocaoimh.ie web and mail traffic to this server things started to go screwy.
Load average shot up, I thought it was Apache and spent quite some time playing with the number of processes, all to no avail. I didn’t immediately notice the large number of smtp processes when I did a “ps auxw”. I was looking at Apache.

What was happening was a rumplestiltskin attack on my server. Rogue bots all over the Internet try to send spam emails to mail servers using randomly generated addresses in the hope of guessing a correct one. It happens all the time, and I had configured Postfix correctly in the past, but I had forgot this time.

So, if your server is suffering under the strain of too many Postfix smtp processes open up /etc/postfix/master.cf and look for the smtp line:

smtp inet n – – – – smtpd

Change the last dash to a number, try small first, depending on how much mail traffic your server gets. I changed mine to 3, restarted Postfix, and the server is humming along nicely now. Postfix was actually using up more resources than Apache during those attacks! It’s unfortunate that Ubuntu (and probably every other dist of Linux) allows unlimited number of smtp processes.

Oh, I’m hosted at Linode. Yes that’s an affiliate link, but I’ve been using them for years and been very happy with them.

Related Posts

(May 07, 2010 07:51 AM)

May 04, 2010
Dave Airlie: lolbuntu
Ted with the smackdown:

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/543617/comments/20

Update:
when you can't fix bugs in your "enterprise distro" file them against someone elses community distro:
https://bugzilla.redhat.com/show_bug.cgi?id=588930

(May 04, 2010 11:30 PM)

May 03, 2010
Kae Verens: what I’m up to

As usual, I’m behind on stuff.

I just submitted chapter 3 of my upcoming book “CMS Design with PHP and jQuery”, and chapter 4 was due to be complete and sent two days ago.

My clavichord project stalled when the cumulative number of mistakes made it incredibly unlikely I’ll complete it in a usable fashion.

In work, I’m behind on a pretty large online-store project, but in that case I’m okay with it – I wasn’t slacking; things are just very busy at the moment.

My piano playing has also stalled – I’ve been trying to learn The Heart Asks Its Pleasure First for the last month. I’m stuck on the final page, where the left hand is all over the place and the right has an intricate tune to play. Its all in my head, but I just can’t play it smoothly. Thinking of putting that on the back-burner and going onto Bach’s 2-part inventions instead.

upcoming

Packt have asked me to review Expert PHP5 Tools. Looking forward to it. It’s got some stuff in it which I’ve read about but never tried. Including: UML design of applications, incorporating tests into subversion submissions, and automated documentation of source (among other things).

My piano teacher found an examiner who will be testing in Monaghan next month, so I’ll finally be able to get grade 2 out of the way. I’ve been practicing grade 2 and 3 tunes for months. Playing 6 tunes every day before I do anything else has been reducing th amount of time I have for the rest of my practice, so I’ll be glad to get this one passed as well.

I’m trying to push myself to get the current book finished as soon as possible. This is difficult as writing a CMS is a much more complex job than writing a cookbook of techniques. The chapter I just finished had 40 pages in it. By the 40th page of the previous book I was already into chapter 3. Chapter 2 wasn’t much smaller either!

When this book is finished, I’ll be starting a new one, on building a clavichord as cheaply as possible. Because I failed with the current one, but learned quite a lot from it, I feel I’ll get it right this time, and would like to document it as I go. There’s a lot of math involved in building a clavichord, and I think I may even get a good programming application out of it!

After that, I’m thinking of starting up contact juggling again, and completing the book, this time with videos.

When I get the time, I’d also like to get back into building robots. I think the gardening robot is a bit beyond me at the moment (involves some very complex AI), but I thought I’d try build a digger bot. You tell it what you want dug, where to put the debris, etc., and it gets to work.

(May 03, 2010 10:54 AM)

April 30, 2010
Aidan Delaney: A lib2geom braindump

I’m hacking with lib2geom, the base geometry library that underlies Inkscape. I don’t understand a lot of it, so here’s a braindump of what I’ve figured out now. I’ll modify it as I figure out where I’m wrong. (We’re all n00bs all the time :) )

A user inputting using a mouse or pen device can click and drag. On click we record a sequence of points in device coordinates until the user releases the mouse button. However close these recorded points are, they are not a continuous function. If you zoom in close enough, there are gaps between the points. In order to solve this problem we interpolate between the points. We’re – effectively – guessing the path of the mouse/pen movement in real space (i.e. R^2) as we can’t know the real function.

There are several ways to interpolate. The most common using cubic or Bezier curves. We fit an n-order polynomial between each pair of points. To ensure the smoothness of the curve we insist that either the first or second derivative (or both derivatives) of the join is a continuous function. Thus fitting multiple cubics to a set of points results in a cubic-spline. Fitting multiple Bezier curves to a set of points results in a Bezier-spline. It is common for graphics APIs to allow curve representation using non-uniform rational B-splines.

Recently [2000] S-power basis functions were proposed as a basic building building block of splines. Inkscape represents interpolated input strokes as sequences of pairs of S-power basis functions (SBasis functions in lib2geom speak).

Each SBasis function is lifted into two dimensions. Thus a D2 function (from the documentation) “provides a 2d parametric function which maps t to a point x(t) y(t)” [[Todo: Explain This With a Diagram]]. A sequence of D2 functions, as interpolated from input pen strokes, is a Piecewise<D2 >. A Piecewise has the added advantage of storing the temporal nature of the input points.

Iterating through a Piecewise<D2 >:
Piecewises are useful for two reasons
(a) we may compute very high fidelity operations such as dot product, and
(b) we may compute stuff that uses the temporal information stored in a Piecewise.
For general computation, such as computing the intersection of a Piecewise and a primitive shape, we need to build Paths from our Piecewise. The joins between the splines in a Piecewise are called knots. The following builds a Path from a Piecewise (with thanks to Johan Engelen):

// Where spline_path is a Piecewise<D2 >
Geom::Point knot = spline_path[i].at0();
Geom::Path path = Geom::Path(knot);
for (unsigned i=0; i < spline_path.size(); i++) {
path.append(spline_path[i]);
}

(April 30, 2010 08:02 PM)

Donncha O'Caoimh: The Robin Cam

Derek Mooney of “Mooney Goes Wild” on Radio 1 has a robin cam pointing at a nest in his utility room. It’s the usual webcam quality but it’s good enough that we were able to see the mother robin arrive and feed her chicks.

See the Mooneycam for links to this camera and a blue tit camera in Áras an Uachtaráin (where the Irish President lives). They also have a diary of sorts where Derek keeps a record of what’s happening.

Related Posts

(April 30, 2010 08:37 AM)

April 28, 2010
Donncha O'Caoimh: Preload the cache in WP Super Cache

See that nice dip in the graph for this week? I started to preload the cache used by WP Super Cache last Sunday and it’s made a noticeable difference in the load on my server here. The big spike is the preloading process.

I’ve always discouraged users from preloading the cache (Askapache Crazy Cache will do this for any cache plugin), mainly because of the possible problems so many files will cause for hosting companies. If you have thousands of cache files, it’s going to take so much longer to recover from a disk crash.
On the other hand, Google will now be using speed as a metric for judging how “good” a website is. In the past this plugin ignored the pages visited by bots because the bots only visited each page once so caching a page after the fact was pointless. The page, all pages, have to be cached first before Google ever visits.

That’s what it looks like. Once you start preloading it launches a wp-cron job to fetch 100 posts, then schedules another job 10 seconds in the future to fetch another 100 posts until it finishes. It also disables garbage collection of old pages, but making comments or posts will still clear out the appropriate cached files.
It only caches single posts right now. It may not be worth caching archive or tag pages because many sites already tell bots to ignore those pages as the server is doing less work it will serve those archive pages more quickly anyway.

The preloading only works if you’re using the plugin in Supercache or “ON” mode. It’s still a work in progress but has worked fine here. As well as the preloader the development version of the plugin has:

  1. Better support for mobile plugins.
  2. A cache tester.
  3. Can be configured to only delete the page a comment is left on, rather than the front page and associated pages.
  4. Works in WordPress 3.0.

It also has a number of bug fixes and other features added too.

I need testers though, so grab the development version from the download page. Install it and please leave feedback here or preferably on the support forum.

Related Posts

(April 28, 2010 04:26 PM)

April 27, 2010
Donncha O'Caoimh: The Complete Nemesis The Warlock

Hands up if you were a fan of 2000AD back in the day? It’s still going, maybe not so strong, these days. I picked up a copy a while back and it’s reduced to a what seems like a few pages of stories with adverts thrown in here and there. It reminded me why I rarely bought comics. I was too impatient to “wait until next week to find out the stunning conclusion to this week’s story!” Thankfully friends did buy it and I had more than a few copies of the comic myself when curiosity got the better of me.

As you may know I have an Amazon wishlist which is occasionally frequented by users of my plugins who very very occasionally will buy me something from it (and each and every gift is much appreciated!)
Anyway, I read with sadness that one of the artists behind the very successful Nemesis The Warlock series in 2000AD, John Hicklenton died a few weeks ago. I went searching and found The Complete Nemesis the Warlock: Bk. 1 and The Complete Nemesis the Warlock: Bk. 2 and promptly added both to the list in the hope that someone might buy it.

I was lucky! A few short weeks later the postman delivers Book 2 into my grubby hands and I have Daniel Jacobs to thank for it. Memories come flooding back as I soak in the art work. That story was just the craziest and grittiest thing I ever read. Only thing is now, I’ll have to find a copy of Book 1 somewhere or order it from Amazon myself!

nemesis-1 nemesis-2

In all seriousness, this post is in part made because of the death of a neighbour I’ve known all my life. I hadn’t spoken to him in a long time and it was a shock when I heard the news. He was a quiet man but always had a ready smile and had a great collection of capacitors, resistors and other electronics.
After his removal from the funeral home last week I spoke to a woman who was standing near my car. She asked who had died and I told her, to which she replied, “He worked for Dunlops didn’t he?”
Small world, but nice to be remembered.

Related Posts

(April 27, 2010 01:56 PM)

Kae Verens: optional columns using the css adjacent combinator

We’ve started a blog at webwork. We will be adding to it periodically when we think of cool things.

To start, I’ve written a small tutorial on how to make different column layouts without having to use different classes and IDs to indicate which layout to use.

creating optional columns in website layouts

(April 27, 2010 01:25 PM)

April 22, 2010
Caolan McNamara: DEV300_m77

DEV300_m77 shows a gratifying large drop in unused writerperfect methods and small drop in sw. Total count now 694, -165 from m76

(April 22, 2010 09:00 AM)

April 21, 2010
Donncha O'Caoimh: Watch out for Amazon reseller shipping charges

When you see a nice cheap product on Amazon or any other online retailer beware of the shipping and handling charges. This HDMI to DVI-D converter goes for a paltry £2.59 but then attracts a hefty £11.08 from the reseller. I can’t pretend that I didn’t notice it on the order page but at the time I wanted to get the order done and dusted so I didn’t quibble. The box it comes in better be lined with velvet and the address better be hand written and signed with the artist’s name…

I had enough trouble with console AV cables and certain retailers in the last few weeks I wanted the whole sorry episode over and done with.

Related Posts

(April 21, 2010 11:18 AM)

April 16, 2010
Dave Airlie: engineering FAIL
So we bought an Electrolux front-loader washing machine just over a year ago, all ready for the amount of washing a baby produces!!

a few days ago, the drum stopped spinning. I did all the filter cleaning etc the manual recommended but still no moving drum. So as I was ringing the warranty repair people I decided to use a lot more force than I'd consider using on something under warranty. This was followed by the sound of a coin dropping somewhere inside and the drum moving again. However it still wouldn't move under power. So I called Electrolux who gave me the is Tuesday 2 weeks good for you?.

So I decided to have a look myself, took the lid off and low and behold the drive belt had snapped in half. So today I bought a new drive belt from a spares place and tonight I shall endeavour to resurrect the washer.

Now some net searching over the course of last night discovered this is a really common problem on these washing machines. The washing machine when faced with the prospect of coins will just let a coin enter between the two drums and once there it can then jam the inner and outer drums together and cause the drive belt to snap or the motor to give up. Now I'm not the best person at taking money out of my jeans and stuff goes into the wash sometimes before I notice, but really who thinks selling a washing machine that can die when faced with one or two accidental coins is a) something you can sell, b) something you can apparently say isn't a warranty fault as there is a sticker on the thing saying not to put coins in it. I think if Electrolux came to fix it would cost nearly 1/4 the price of the washing machine if the warranty didn't cover it.

So I'm hoping to abuse my google juice to say to everyone "DON'T BUY ELECTROLUX FRONT LOAD WASHING MACHINES" because they obviously don't think about using them in the real world.

(April 16, 2010 05:19 AM)

April 10, 2010
Kae Verens: CMS Design with jQuery and PHP: moving a recaptcha form

reCAPTCHA is a free captcha service which lets you use their captchas for your programs.

I wanted to create a login/password-reminder page, with recaptcha used in both forms.

Unfortunately, you can’t have two recaptcha images on the same page, as every time the image is displayed, it is a new image and the old one is no longer valid (which means that if it’s used in two forms, you can only ever submit the second one.)

A solution that came to me is to “move” the captcha from one form to the other, so you’re only ever actually using one recaptcha.

So how is it done?

demo

In the demo, I’m using jQuery UI to separate the forms into two tabs.

If you look at the source, you will see there is one recaptcha object, in the first table. The table row has the ID “captcha”.

The entire JavaScript used in the demo is this:

$(function(){
	// remove the captcha's script element
	$('#captcha script').remove();
	// set up tabs
	$('.tabs').tabs({
		show:function(event,ui){
			// if the captcha is already here, return
			if($('#captcha',ui.panel).length)return;
			// move the captcha into this panel
			$('table tr:last',ui.panel).before($('#captcha'));
		}
	});
});

The first thing that’s done is that the captcha’s <script> element is removed. If you don’t remove it, then when the table row is moved, the script will be re-interpreted, causing breakage.

Now, the tabs are initialised. We set the show event to run a little function. That function checks to see if the captcha row is contained in the newly-shown panel. If it’s not, then it’s moved there using this line:

$('table tr:last',ui.panel).before($('#captcha'));

The above line means “insert/move the #captcha element in front of the last tr in the table contained in ui.panel“.

This is part of the User Management And Access Control chapter of the up-coming book “CMS Design using jQuery and PHP” ( a sequel, sort-of, to my jQuery 1.3 with PHP).

(April 10, 2010 02:08 PM)

April 06, 2010
Donncha O'Caoimh: Ubuntu Linux and the Canon MP492 printer

I bought a shiny new combination scanner/printer/copier last weekend. It’s the Canon MP492 and I expected it would work just fine in Linux. I mean, it’s just a printer, right?

Nope. The printer was detected as a Canon MP490 but unfortunately the CUPS system used by Ubuntu Linux didn’t support that particular version. It supported the 520 and others but no sign of my new purchase. To be honest, I was dumb founded. I even configured it on my Macbook and thought about sharing it over the network but the Macbook is on the wireless network while everything else is wired, and I didn’t feel like making things more complicated.

So I went searching again and eventually found this helpful thread (it didn’t show up on my first searches, Google refresh?). Drivers are available for the printer here on the Canon Thailand website. Thankfully the instructions were all in English, and the .deb package installed and configured correctly. Drivers for the scanner are listed on that forum post too but I don’t have an immediate need for that so I didn’t test them out.

Phew.

The printer itself is an average photocopying machine that does the job. Here’s the back cover of the December 1954 issue of the National Geographic. The copy is pretty good except for banding on big blocks of colour like that in the Coca Cola logo.

Related Posts

(April 06, 2010 11:07 AM)

April 02, 2010
Donncha O'Caoimh: Clean ball point pen off your LCD easily

Several months ago my son grabbed a ball point pen off my desk and with glee scribbled on my LCD monitor. I was of course upset and researched the best way to remove the offending marks. Various methods and potions were recommended but I didn’t do anything about it. I got used to the scribbles, although looking at a web page with a white background was always annoying.

Eventually I asked again and Alex recommended Isopropyl Alcohol. Today I remembered that advice and asked for “i s o alcohol” in a chemist. I received a funny look in reply but she figured out what it was. She brought over a box of “Alcotip Swabs”. 5c each so I bought 4, just in case.

Did it work? Did it what! The swabs dried out quickly and it took two to clean the ball point pen marks off the monitor but it worked exceptionally well! I hardly had to apply any pressure as the alcohol dissolved the pen marks with ease. Here’s a gallery showing the pen marks (not so well), and the swabs. These things work really well if you have ball point marks on your screen!

Related Posts

(April 02, 2010 09:26 PM)

March 30, 2010
Donncha O'Caoimh: The death of blogging, again

One of the videos from The Irish Blog Awards celebrated the repeated demise of Irish blogging.

Darragh Doyle and everyone else did a great job with this video. Check out Award winners, lots of great blogs there!

Related Posts

(March 30, 2010 08:11 PM)

March 29, 2010
Colm MacCarthaigh: Fact-checking Ireland Offline

One of the saddest things about Ireland and technology is the degree to which the incumbent telco, Eircom, has been permitted to dominate and skew the market. The privatisation of Eircom was very very badly designed, effectively creating a monopoly for important national infrastructure. There have been multiple legal cases between Eircom and the Regulator, and many many complaints from consumers and competitors, but over the years little has happened.

Sadder still, and not unrelated, is that the most prominent activist group on this issue; Ireland Offline, have consistently been one of the most ineffective, maladministered bunch of ill-informed whinge-baggers going. Despite media prominence, many many column inches, a strong membership, public meetings, and more, I can’t think of a single achievement Ireland Offline could point to as a success. Some of their goals may have been achieved over the years, but only after geological delay and through coincidence.

On the contrary, I can think of many many falsehoods, myths and bizarre theories the group has promoted. My favourite being the simple falsehood that the majority of schools in Ireland have satellite broadband connectivity. But the latest effort takes the prize.

In an anonymous, unattributed blog-post with no contact details; http://irelandoffline.org/2010/03/eircom-and-next-generation-broadband/, Ireland Offline are making some very strange claims.

eircom today have announced their “Next Generation Broadband” promising speeds of up to 8MB to all subscribers, they claim to have also finally addressed the contention issue (which they call congestion). What is not in the headlines is the subtle but important change from a speed based model to a usage based model of charging.

In reality, there has always been a usage-based model of charging. In fact this is why Ireland Offline was founded, when Esat decided to place caps on their “no limits” service. Also in reality – the real costs of operating a network are aligned with usage and are not fixed. Anyone with even a modicum of familiarity about how networks and economics work can realise that the only long-term sustainable business models for Internet consumption are going to be usage-based.

The only alternative would be for the light users to effectively subsidise heavier ones. Does that really make sense? Is that equitable? Is there really a solid case for internet socialism?

Complaints about the pricing are justified, but the model? This kind of demand is very alienating, and in place-of such childishness, it would be much better to see a concerted economic argument for better broadband. What is the lack of good broadband doing for business, and so on.

The only thing “Next Generation about this product is the charging policy. This is a 200% increase on the average user’s bill for those who can least afford it. This product is only Dublin based for the moment.

Nowhere can I find any evidence of this 200% increase. My bill would decrease, I don’t know if I’m an average user or not, but I’d have thought I am.

This is yet another attack on the hard pressed telecommunications consumers of Ireland. Not only do they have to endure the highest line-rental on the planet they now have to endure a €2 charge for each Gigabyte they go over their paltry caps. For instance the “Broadband Basic” has a minuscule 10GB cap barely enough for the average “tech savy” family.

In reality this package will cost €50 for all but the lightest users. That’s €50 + line rental making the total €75.36 per month. This is hardly a giant leap forward it’s more like a gigantic leap into the dark past and into your wallet.

This is just false. Firstly, the cap for the Broadband basic (also called Broadband regular) package is 30GB, and line-rental is included. At least according to Eircom. Hell, it almost makes me feel good about giving Eircom my business.

In order to incur a € 76 bill, you’d actually have to use at least 43 GB. That’s not light usage. I’ve heard that there’s a ceiling to the charges too, at 50GB which means that if you use 80GB or more, you have a total bill of € 101, but I can’t find any documentation supporting this. I’m guessing Eircom continue to reserve the right to kick off persistent ultra-heavy users, but still ; even 43GB is quite a lot of bytes ; and about 35 hours of HD streaming video.

Now Eircom’s product launch is not without its faults. It’s still pretty expensive, by international standards, and in my opinion their statement that “With Next Generation Broadband (NGB) you will not be sharing your broadband connection with other Internet users.” is simply false ; upstream congestion can and will occur. The fundamental competitiveness problems in the market are not being fixed, and this will serve as a distraction.

But forget all of that, the biggest problem with the product is that it is only available in Dublin. Gee, that sounds like that kind of thing that a lobby group should be leading with. It’s almost like it’s exactly the kind of complaint that many many rural politicians would get onboard about. Instead it’s more of a byline to kooky economics and mistaken information.

Ireland Offline; seriously? Is this what it means to “be a source of accurate and impartial information on relevant technologies“?. Come on.

(March 29, 2010 07:43 PM)

Donncha O'Caoimh: Dubai, world’s hottest property
Dubai, world's hottest property

I’m an avid fan of the National Geographic and while sorting through my dead tree archive yesterday spotted this issue from 2007 when property in Dubai was described as “the world’s hottest”. It certainly is now. It’s untouchable. A reminder of an age gone by.

I also have an issue of National Georaphic from December 1954 which deserves a post of it’s own at some time in the future.

Related Posts

(March 29, 2010 01:08 PM)

March 25, 2010
Ken Guest: OpenStreetMap posters

Here’s a little list of various posters/leaflets that I’ve found for evangelizing OpenStreetMap:

If there are any others please let me know so I can update the list ;-)

(March 25, 2010 12:58 AM)

March 24, 2010
Dave Airlie: radeontool 1.6.1 released
I've just done a 1.6.1 release of radeontool from my personal repo, it contains both
radeontool and avivotool, and is probably full of ugly but whats in distros now is older
and worse.

radeontool (and avivotool) are lowlevel tools to tweak register and dump state on radeon
GPUs, they also can parse parts of the BIOS data tables.

Tarballs are at
http://people.freedesktop.org/~airlied/radeontool/

git://people.freedesktop.org/~airlied/radeontool.git

Main changes:
r128 support from Jonathan Nieder
Some new legacy table decoding added
cleanups

(March 24, 2010 03:30 AM)

March 22, 2010
Kae Verens: ToDo

List of things off the top of my head that I want to do:

There’s probably a load of other stuff, but that’s all I’ve got at the moment!

(March 22, 2010 09:51 AM)

March 20, 2010
Kae Verens: clavichord progress: now with strings

I can understand now why these things go for so much money.

I’ve been working on this project for about two weeks and am just now getting a sound by pressing a key.

I’ve also learned a lot, which will be applied when I build the next one.

I originally planned to build a 49-key unfretted clavichord, but didn’t realise how difficult that was going to end up being.

One of the problems with this, is that because the strings are pulled diagonally across the board, hitting one string without hitting its neighbours is a very difficult thing.

This is easier to do if there are less strings.

So, after putting in all 49 hitchpins and drilling 49 holes for tuning pegs, I realised that there was no way I could do this unfretted without extreme precision, which my <€50 instrument was simply not capable of.

image showing 49 tuning pin holes, hitchpins, and the felted balance rail for the keyboard

So, I’ve strung the instrument with only 17 strings, each of which is used by 3 keys (yes, I know – one key will get a string all of its own).

17 strings crossing the bridge to 17 tuning pins

There’s another problem I’ve yet to overcome.

Because fretting involves hitting the same string at different points (the same as a guitar or violin), and I didn’t think far enough ahead, some of my tangents are going to have to hit their strings in positions above other keys…

Looking at other existing fretted keyboards, I now realise why the tangent positions are so staggered:

staggered tangents on a triple-fretted clavichord

I’ve just finished the sharp keys, and will be working on inserting all the tangents later today.

If I’m lucky, it may actually be playable by tonight.

(March 20, 2010 01:30 PM)

March 19, 2010
Kae Verens: CMS Design using jQuery and PHP: the core

I submitted chapter 1 of “cms design using jquery and php” yesterday.

I’ve been building and using CMSes for over ten years, and the more I do it, the more I realise that “less is more”.

In the beginning, I was writing CMSes that had absolutely every aspect of the requirements hard-coded. That made the system fast but inflexible.

Over the years, though, I started figuring ways of breaking the system up into more modular bits and pieces, that could be enabled/disabled depending on the job.

This is the essence of what “plugins” are about – you have a single core system which includes only the absolute essentials, and into that, you put whatever plugins you find necessary for the job you’re doing.

The trick, though, is in deciding what is a plugin and what is not. This is very important to figure out – if something should be a plugin, it should not be in the core, thus making he core more stable and manageable. Conversely, if you make something into a plugin which is necessary for normal use of the CMS, then it makes the system less stable.

An example of this dilemma is user logins. Obviously, you need to have user logins for the admin area to work, but you don’t need user logins on the front end of the site.

So, should user-logins be a plugin or core functionality? The solution is a mix of both – you need to create a hard-coded user login specifically for the admin area, and if you want users logging in to the front end, that is a plugin, even though they both use the same database. The difference is that the admin login area is at a defined point (when you access the admin area), while making the frontend login into a plugin allows you to place a login anywhere you want.

Anyway – over the years, I’ve whittled away at my own CMSes until I realised that the core functionality of a CMS consists of just three things:

  1. display and editing of “normal” pages
  2. user and role administration
  3. plugin management

It’s impossible to cover those three items in just one chapter, but once they are covered, that basically completes the CMS!

When you have the above three items completed in your CMS, you can then work completely on plugins, making the system stable and yet flexible.

Of course, there are some fine details (templates, UI, optimisation, DB structure, etc.) that go into completing those three items, but that’s basically it.

(March 19, 2010 08:50 AM)

March 18, 2010
Dave Airlie: two X servers one graphics card.
So sane multi-seat handling was something I wanted to make KMS do at some point and designed for but never quite implemented.

So in an attempt to maybe get help out people who are interesting in this I've gotten two seats on a single card working here to a demoable level.

http://people.freedesktop.org/~airlied/multiseat/

contains a kernel patch + libdrm patch.

The kernel patch pretty much contains 3 pieces:

(a) ability to create "render" device nodes with an attached list of output resources it controls (crtcs/encoders/connectors).
(b) hardcoded render node setup for my X1900 - two parts - core drm creates 3 devices nodes, radeon driver assigns hardcoded
resources to the nodes - in this case render node 0 gets a crtc + DVI + encoders, and node 1 gets the other crtc/DVI/encoders, and
render node 2 gets no outputs.
(c) drm mapping fixups for multiple device nodes - this is something we should probably cleanup independently of this patch.

the libdrm patch just contains support to use an env var to pick the device path.

With this xorg.conf and the two startx wrappers I can run two X servers separately.

TODO:
(a) define a kernel/user interface to set seats and nodes up. The DRM control node is there specifically for this purpose but I never got around to specifying this interface. It basically needs a few methods:
1. Create new render node with output configuration.
2. Remove render node.
These would have to rely on their being no users of the render or legacy device nodes in advance. The kernel would
also have to get the driver to validate the output configuration. The output configuration would be a list of IDs for crtcs/encoders/connectors.

(b) maybe add a drm device path to xorg.conf so each card section can specify one, would help get away from BusID also.

(c) make a sane userspace interface to use it all - I suspect you'd need something in gdm/ConsoleKit to configure this sort of
thing, you'd have to construct per-card multi-seat profiles with a list of the outputs and stuff you want on each seat etc.

At this point I'm just trying to flesh out my backlog of projects and figure out how long they will take to do properly, feel free if someone is interested in picking this up and running with it.

(March 18, 2010 01:59 AM)

March 17, 2010
Donncha O'Caoimh: Patrick’s Day in Blarney

We were originally going to be walking in the St. Patrick’s Day Parade in Blarney but our son fell asleep a few minutes ago, and it wouldn’t be fair on him to drag him out unfortunately. We did visit the “farmers market” this morning however and I took a few photos. They’re really only snapshots but I hope you enjoy them, especially if you have visited Blarney.

This is probably the few times in the year that you’ll see this many locals near Blarney Castle! ;)

Related Posts

(March 17, 2010 02:35 PM)

March 14, 2010
Kae Verens: clavichord keyboard and soundbox

Over the weekend, I cut out the keyboard for the clavichord and built the soundbox.

How a clavichord works is that you have strings which are strung between hitch pins and tuning pegs, with a bridge in between. The strings are damped at both ends by cloth called “listing”.

When a key is pressed, a “tangent” is banged up against the string, creating a standing wave between the tangent and the bridge. When the key is released, the tangent loses contact with the string and the wave is then damped.

As I’m building all of this as cheaply as possible, I don’t have proper material, so I’m very interested to see how well it sounds when finished.

I couldn’t find any proper wood to act as a soundboard, so used the side of an old computer case, cut to size. I’ve never heard of a metal soundboard in a clavichord – but then, I’ve also never heard of a plywood clavichord.

My friend Sean dropped over yesterday and gave me a roll of high-tensile wire – the sort of stuff that’s usually used in industry when strength is needed. The wire is made of 15-20 individual wires, each twined to create a single whole.

I haven’t got the tuning pegs created yet, but was able to test the sound of the clavichord by unwrapping a single strand from the wire, and running it from a hitch pin to a screwdriver in one of the tuning peg holes, and tightening it as much as possible by hand, then levering a small piece of plywood under the wire to act as a bridge on the soundboard.

Plucking the string made a clear tone, but hammering and holding the hammer against the string it didn’t make much of a sound. That’s kind of to be expected, though. After all, it’s been said that the clavichord is “the one instrument that can be played by a person on one side of a double-bed without disturbing someone in the other side”.

It will probably sound much better when I’ve made a proper bridge and got proper tangents running.

(March 14, 2010 11:06 PM)

March 13, 2010
eibhear: “Irish Revolutionism is Half-Baked”
The above is the title of an excellent article by Constantin Gurdgiev in the March-April edition of Village Magazine. I’ll link to it when it comes available online (if it ever does!). Best line: “We have never learnt that any vested interest, no matter how small, must be treated at a political level as a monopoly-seeking [...]

(March 13, 2010 01:09 PM)

March 12, 2010
Dave Airlie: GPU offloading - PRIME - proof of concept
THIS IS A PROOF OF CONCEPT - its not going to be upstream unless someone else dedicates their life to it, (btw anyone know anyone in ASUS?)

So NVIDIA unveiled their optimus GPU selection solution for Windows 7, so I decided to see what it would take to implement something similar under DRI. I've named it PRIME for obvious reasons.

Goals:
1. Allow a second GPU to render 3D apps onto the screen of the first, pickable from the client side.
2. Just target the rendering side, I'm assuming the GPU power up/down is similiar to what was done for the older switching method.

Restrictions + limitations:
1. Must have compositing manager running
2. Must have second screen configured for slave card (doesn't need to be used)

Test system:
Intel 945 IGP + radeon r200 PCI card - yes this won't be a speed demon.

Terms:
Master: the IGP displaying the output - intel
Slave: the GPU rendering the app - radeon r200 in this case.

Step 1: kernel support

http://git.kernel.org/?p=linux/kernel/git/airlied/drm-testing.git;a=shortlog;h=refs/heads/drm-prime-test
http://cgit.freedesktop.org/~airlied/drm/log/?h=prime-test

The kernel requirements were simple, we needed a way to share a memory managed object between two kernel device drivers.
The kernel has a GEM namespace per device, however this isn't good enough to share with other devices, so I introduced a new PRIME namespace with two ioctls. One ioctl allows the master device to associate a device buffer handle with a name in the prime namespace, and the other allows the slave device to associate a prime namespace handle with a buffer. When the master creates a prime buffer the kernel associates the list of pages with the handle, and when the slave looks up the same handle it retrieves the list of pages and fakes up a TTM buffer populated with those pages as backing store. I've added the concept of slave object to TTM to allow for this.

The drm repo contains the API wrappers + intel + radeon pieces to call the association functions for buffer objects.

Step two: DRI2 Protocol
http://people.freedesktop.org/~airlied/prime/0001-dri2proto-add-prime-token.patch
http://people.freedesktop.org/~airlied/prime/0001-prime-support-for-mesa.patch

From the X server point of view a recent change to the DRI2 layer allowed for multiple device driver names to be associated with a DRI2 end point. The client can request either a DRI or VDPAU device name currently. I firstly extended the DRI2 protocol, to add a new buffer type, called PRIME, and added a hack to mesa's glx loader to request the prime driver if an environment variable was specified.

Step 3: X server DRI2 module + drivers

http://people.freedesktop.org/~airlied/prime/0001-intel-add-prime-master-support.patch
http://cgit.freedesktop.org/~airlied/xf86-video-ati/log/?h=prime-test
http://people.freedesktop.org/~airlied/prime/0001-dri2-prime-hackfest.patch

This was the messiest bit and still requires a lot of change. First up I added an interface for the drivers to register as PRIME master and slaves. Intel driver registers as master, radeon as slave for my demo. We store these in an array. When a client connects and requests prime driver, we mark the drawable and redirect the dri2 buffer creation requests to the slave screen driver. Also the drm authentication is sent to both kernel drms. It then hooks the swapbuffers command where it does a region copy, and redirects this to the slave driver, and damages the pixmap in the master driver. Now the "interesting" part, my original implementation simply grabbed the window pixmap at the dri2 create buffers time, however there is an ordering issue with compositing, this pixmap is pre-composite redirection so isn't actually the pixmap you want to tell the kernel to bind to both gpus. This turned out to function badly, I could see gears all stretched over the front buffer.

So a quick coke + chocolate break later, I had enough sugar to bash out the hack that now exists. DRI2 calls the slave driver copy region callback, which checks if the drawable pixmap is on the same screen, if its not, it checks if we've marked the pixmap as a prime pixmap (i.e. one that belongs to the master). It is, it swaps in the slaves copy, otherwise it callsback into DRI2. This callback calls the Intel driver to make the buffer object backing the pixmap, shareable, and returns the handle,then calls into radeon with the handle to create a new pixmap pointing at the shared buffer object. Once all that is done, radeon copies the back buffer to the shared front pixmap, we return and damage is posted and the compositor grabs the window pixmap and displays it.

So does it work?
On my blistering fast test system with X + xcompmgr running glxgears was going at 150fps from the r200 PCI card. Hopefully I can get some time on a faster system or one of the dual laptops.

Caveats:
- When a window manager is running the gears get all corrupted, this looks like the clipping and/or stride matching between
the drivers isn't correct. I suspect something with reparenting and decorations, I'm not enough of an X guru to understand this yet, hopefully one of the other hackers can fill me in. Also before it gets reparented and redirected a frame can land on the real front buffer, again clipping should take care of this, but isn't working yet. I need to workout how clipping and that stuff works in X/DRI2. - talk to ppl about clipping then JDI.
- Once a client has connected as a prime, we don't tear it down properly, so later clients can end marked as prime. - work out some sort of resources to turn stuff off
- Reference counting on the pages in the kernel is iffy, currently i915 ups the page list refcount but never drops it. solution JDI
- hardcoded /dev/dri paths in dri2 for slave device - solution JDI
- radeon driver could in theory be a prime master - solution JDI
- nouveau could support prime master/slave also. - solution nouveau guys JDI
- requires an ugly second screen in xorg.conf to load the slave driver. Can we have a 0 sized screen or maybe a rootless second screen. - solution : rearchitect X server to allow drivers without screens (6m-1yr work)
- pageflipping needs to be hacked off in intel driver. - work out and then JDI

Where is the video?
Once I get it working with a window manager on a useful machine I might do a video of two gears going.

Where now?
Well this is a purely academic exercise so far, after a week of kernel fighting I decided to do something new and cool. To make this as good as Windows we need to seriously re-architect the X server + drivers. At the moment you can't load an X driver without having a screen to attach it to, I don't really want a screen for the slave driver, however I still have to have one all setup and doing nothing and hopefully not getting in the way. We'd need to separate screen + drivers a lot better. Having some sort of dynamic screens would probably fall out of this work if someone decides to actually do it.

The kernel bits aren't as ugly as I thought but I'm not sure if upstreaming them is a good idea without the others bits. The refcounting definitely needs work also the cleanup when clients exit.

DRI2 needs some more changes, I might try and flesh it out a bit more and then talk to krh about a sane interface.

I'm probably going to get forced task switch quite soon, so I might just get to having this running on a W500 or T500, before dropping it for 6 months, so if anyone wants a neat project to play with and has the hw feel free to try and take this on.


ASUS feel free to send me one of the real optimus laptops and I'll get nouveau guys hooked up and try and RE the nvidia DMA engine.

(March 12, 2010 06:16 AM)


Powered by Planet!
Last updated: July 30, 2010 11:05 AM