I took this pic last summer at my parents' house. My brother had had a party the night before, and clearly decided to be responsible about the recycling. Or else there's a better story. Any ideas?
I took this pic last summer at my parents' house. My brother had had a party the night before, and clearly decided to be responsible about the recycling. Or else there's a better story. Any ideas?
I used to have a rule about never owning anything I couldn’t carry. Ostensibly this was to do with my immense portability, love of freedom, ability to pick up and move on short notice as the whim takes me, etc. In reality it was a little more to do with the fact that not only do I want to be able to do these things, I want to be able to do them by myself. However moving to NY necessitated the purchase of furniture, which I justify by assuming if I really needed to I could just take it apart and lift it myself, because you know, flatpacks can be carried. Hah.
Which goes part of the way to explaining why I ended up stuck at the bottom of the approximately 7 steps up to my apartment, completely incapable of transporting the large flat-packed bookcase I had in my possession as far as the apartment door. You could get the rest of the way toward said explanation by taking into account the fact that I have quite probably never in my life looked at anything that fits indoors and thought “nah, I can’t lift that”.
Now, I know I am not Batman, but I have always been able to figure out a way of moving heavy things. Whether by shuffling them along the ground, dragging them, rolling them, lifting them a few inches at a time, or whatever else presents itself as a potential solution. I have flown with 3 suitcases and a bag despite having only 2 hands, I have re-arranged large items of furniture like beds and wardrobes many times. So I assumed, despite barely being able to maneuver this thing onto the trolley at IKEA, that I would figure it out somehow.
Em, no.
First off, the damn thing was 7’ long and fucking heavy. I tried lifting and dragging, no dice. So I managed to get it upright, and then laid it horizontally on the stairs, where the top came about one and a half steps short of the highest point. So with a mighty effort and looking ridiculous, I crouched down and pushed from the bottom and it gradually crawled upwards. Theoretically, this would have been a perfectly rational if rather foolish looking method of getting it up the stairs. Except that just as I thought I had it, everything stuck. There was a lip on the top of the stairs over which it would not go. Letting go to run up and pull it that fateful inch over was unthinkable because it would slide back down, pushing it from below was impossible. I collapsed in a mildly amused but desperately frustrated heap, and wondered what the fuck I was going to do if I could not get the damn thing out of the hall.
I would like at this point to say that desperation is the mother of invention, and that I devised an ingenious and McGuyver-worthy way of getting the damn thing into my flat. But that would be a giant lie, because what actually happened was that I realized my neighbor was at home, and feeling rather silly I enlisted his assistance in the moving of said heavy thing.
I may have set back the feminist movement by 20 years.
Back in early 2008 myself and Eoghan O’Brien ran RagRadio. The setup consisted of a PC for playing music, two CD decks, 3 stage mics and a mixing desk. We took the mixer output and ran it into a laptop which encoded it, shipped it off to Icecast and broadcast our little radio station to the Internet. It was during Rag week and we interviewed a few bands who were floating around; Fred, The Saw Doctor’s and Messiah J.
We peaked at about 24 concurrent listeners and averaged 6 if memory serves.
I fell in love, ian – The Internet Audio Network was founded. That summer I went to the US on a J1. Armed with my iRiver and a borrowed SM-57 I took off on an interview hunt. With the ian domain registered and a stack of business cards I attended HOPE and DEFCON, as a member of the press. Through sheer brass neck I landed a few interviews, including the only press interview at DEFCON that year with the team captain of the winning capture the flag team.
When I came back to Limerick I bought a Zoom H4 for ian. I traveled to 25c3 and FOSDEM ‘09 on a determined content hunt. The game was on.
Last summer the semblance of a website came together and a podcast started: ITFreely. It was recorded over Skype with Gareth, Joe and Patrick. We had no idea what we were doing but had one rule: keep it under half an hour. The first two shows were an amazing shambles, they’re not going public (maybe for a year anniversary or Christmas Special bonus show).
While all this tech oriented content chasing was going on a second itch presented itself to me – the music business. I set out to find musicians to interview.
My interest here was in the future of the music industry, how piracy is really affecting music, and what an upcoming artist should brace themselves for. I got into the VIP area of Oxegen, was at the debut single launch of an Irish pop band, traveled to London to interview an Israeli outfit in the Ministry of Sound, and had a smattering of back-stage chat’s. Neck and business cards.
As I was coming to NUIG in September I contacted the local campus radio station – FlirtFM. I secured two half hour FM shows, off the back of the content I had put online. ITFreely ported from a collection of bedroom’s to a modern studio broadcast over the FM (at 12:30pm on Wednesdays, just so you know). Joe took a work related sabbatical and Gareth started a night course in Law, so myself and Patrick were joined by Shane Tuohy, Niall Campbell and Andy Regan.
Niall joins me on the second show to talk about rights, lawsuits and piracy from a Music point of view, we call the show Talk Like A Pirate. Unfortunately as we include copy-righted music in the show we can’t freely distribute it online, or Podcast it, but you can tune into the web-stream live (Tuesdays at 12:30pm).
In the last few week’s we’ve really started to settle into a groove with ITFreely. We’ve tried to concentrate less on opinion and comment, and more on original research. We’ve had Lecturers on the show, representatives from companies and organisation’s, started to do live streaming of the pre-record sessions, set up IRC channels for live feedback during the show, got onto iTunes, and set up a Facebook group and Twitter feed to keep in contact with you. We even got some intro music.
We’re learning production values the hard way, through trial and error. We’re getting there, but we’re a long way off before ITFreely become’s the show it could be. We want to bring you a though provoking and interesting weekly show about some aspect of Irish or Global Tech.
This is where we need your help. We need you to let us know when the show is dull and what just isn’t working. We’ll post a laptop sticker to anyone who give us some feedback, leaves us a comment or sends us a mail (any good economist will tell you that humans are incentive driven).
So check out our back catalogue, sign up to the mailing list, and most importantly, let us know what you think.
We’re out of our public Alpha. We’re entering our public Beta. Hop on board.
The Apache HTTP Server team recently released 1.3.42, the final release of the hugely-popular 1.3 codebase. I wrote a bit about our reasoning, and where we’re going next, in response to some questions from El Reg. A lot of people have been asking about the decision to stop support for 1.3, so I thought I’d republish what I wrote.
In June 1999, the Apache Software Foundation was incorporated in Delaware.
A year previously, Apache HTTP Server 1.3.0 had been released, and it was rapidly becoming the most popular web server on the planet.
Not known for resting on their laurels, it was barely nine months later that the Apache HTTP Server team released the first alpha of Version 2.0. This was a significant rewrite of much of the original code, focused on improving modularization and portability. It made general release in April 2002, and remained best-of-breed until Version 2.2.0 came out in December 2005.
More than ten years and forty revisions later, Apache HTTP Server 1.3 has reached end-of-life status. Version 2.2 has been available for more than four years, and is widely deployed across the internet. Although critical security fixes may be released as patches for Version 1.3, there will be no further releases or support from the Apache HTTP Server team. We encourage all users of Version 1.3 to upgrade to Version 2.2 as soon as possible.
If you’ve been reading closely, you might be wondering what happened to 2.1, and what the developers were doing between April 2002 and December 2005? Since the advent of Version 2.0, the Apache HTTP Server team have reserved even-numbered minor versions for stable versions of the software. The odd-numbered minor versions are made public as alpha and beta releases, allowing developers to try out the bleeding edge of new features, and giving module authors a chance to prepare their software for the next release.
For anyone working on code that integrates with the Apache HTTP Server, these odd-numbered revisions are your best opportunity to request changes in the API, before it is released as stable!
The current best-of-breed stable version of Apache HTTP Server is Version 2.2.14, released in September 2009. But if you’re already itching to take Version 2.4 for a test drive, you can get a headstart by installing the alpha Version 2.3.5, released just last month. This version includes significant improvements to caching and proxying behaviour, and will eventually be released as Version 2.4.
As I previously mentioned, Apache HTTP Server 1.3.0 was originally released in June 1998. To put that in perspective, it would be another three weeks before Microsoft Windows 98 became available, a product which, despite significant commercial support, reached end-of-life four years ago. The first production 1GHz processors didn’t ship for another two years; today, if you want to buy a 1GHz processor, you’re probably in the market for a new phone!
Version 2 is a significant improvement over 1.3. The API has been rewritten to prevent many of the problems with module ordering and priority. Better support exists for non-Unix platforms, and smart filtering is now available. Version 2.0 includes support for IPv6 and multiple protocols, while Version 2.2 adds LFS, enabling you to serve files over 2GB in size. The core modules for authentication and authorisation have been greatly improved, as well as subsystems from caching to proxying.
In short, technology and the Internet have come a long way in the last twelve years, and Version 1.3 is simply no longer the best-of-breed solution it once was.
Version 2.0 continues to enjoy bugfix releases, but does not see active development.
We encourage all users to upgrade to Apache HTTP Server 2.2.14.
The Apache HTTP Server team release software when it’s ready – we prefer to ensure that our releases represent the best software available, rather than worrying about shipping deadlines. Features currently under development include further updates to auth modules, as well as state-of-the-art cache and proxy modules. If you’re impatient to try these things, you can check out Version 2.3.5 (alpha). Or, if you’d prefer a more academic look at the subject, you might enjoy Roy Fielding’s presentation, “Apache 3.0 (A Tall Tale)”.
I upgraded my Blackberry 9500 (Storm 1) to OS5 this week from OS4.7. There are a few new features this brings that I like, and a drawback or two.
Pro’s:
Con’s:
Hello Rachael Holt,
Thanks for placing your order with zavvi, order number : 10764419
Please do not reply to us at this e-mail address as we will not receive your message. This is an automated response.
A customer service advisor has sent you the following message:
Thank you for placing your order with us.
Unfortunately we are unable to ship The Wire - Complete [24-Disc Boxset] [DVD] outside of the UK. We apologise for any inconvenience caused, no money has been taken from your card.
Should you have any further questions please contact us through your online account message centre or on 0844 264 0702 and we will be able to help you further.
Kind Regards,
zavvi Team
The email from both is the same so I reckon they are probably the same company now.They had charged for postage and I had paid the charge.
I have bought items from both before christmas no problem!!
Someone described me like that today and I found it physically impossible to go a whole day without repeating it somehow, because its brilliant.
The theme of today’s post is essentially “bugger this for a game of soldiers”. Today I found out how long a green card takes to get. No wait, sorry, I should clarify that. Today I found how long a green card takes to get if you are not married to an american, related to an american or winning the green card lottery. In other words today I found out how long it takes to get permission to work long-term in america based solely on what you would actually be working at in america. Just so you know, it takes considerably longer this way than any of the above, which appears to me to fly in the face of all logic and good sense.
I asked for this from my employer about 8 months ago. I wanted them to start the green card process, because I wanted to have some sort of fallback should the arse fall out of the job market again and I find myself not only without employment but without a right to reside at my address anymore. It is one thing to abruptly lose your job and another to abruptly lose residence of a country 3000 miles from your native one. It would be not only disgustingly inconvenient but frightfully expensive to rectify. So the request seemed like a sensible one.
At the time the process was described to me it seemed a tad lengthy but potentially very worthwhile. 6 months of PERM (aka: the can-we-replace-you-with-a-citizen test), a year of waiting for PERM certification, another year to process the application for a green card along with an adjustment of status in order to extend my visa. So at best, this process takes 2-3 years. What escaped me at the time is that this is merely the timescale involved in _applying_. The backlog of people waiting for the aforementioned verdant immigration card is a minimum of FIVE FUCKING YEARS. So that means, as of right now, it will take a good 7 years for me to actually get one of these. If during that time I am let go or change jobs, the whole process crashes and burns and has to start all over again.
My current state of mind can be summarised in 3 words. Fuck. That . Shit.
Or “Turning Twenty-Five in the San Francisco Bay Area”
As the quarter-century creeps steadily up on me, I’ve been having a blast seeing the sights and meeting friends old and new. I can’t help thinking back to all the things I’ve enjoyed (and suffered through!) along the way. I’ve been incredibly lucky, and I hope that the next 25 years are as fun as the past 25 have been!
The following are just a few of the things that have set me off down memory lane
I haven’t found anything as good as your bread yet, and I miss our long, evening dinners catching up. I hope your year on the island is as fulfilling as all our childhood expeditions were – from the Giant’s Causeway to the Wicklow lighthouse, from Kilmainham to the Cliffs of Moher.
Thank you, mum and dad, for twenty-five wonderful years. (And Eoin & Rosie, for almost 45 between you
)
I have a few personal rules about New Years Eve. Some of them are obvious, and based on logistics, like “never go somewhere you can’t get back from on foot unless you are in a country with real public transport”, “never go to a niteclub”, “make sure you have bought enough to drink and give away” and so on and so forth. I find it requires more careful planning than your average night out, mostly due to the fact that everyone is an exuberantly drunk moron. Not that this is necessarily a problem until one throws up on your shoes.
But my most rigidly adhered to rule in recent years is to never make a New Year’s resolution. Firstly, it’s a completely arbitrary day, and so I refuse to conform to such a ludicrous convention, mostly out of sheer contrariness. Secondly, any resolution not important enough to be made as soon as you thought of it is clearly not going to be adhered to and is a damn waste of time and effort by definition.
So I hereby declare some January 19th resolutions which I have just thought of and decided were important. Ahem.
Not exactly lofty aspirations, and admittedly rather vague, but the more specific versions that contain actual numbers are in my head. Of course these are just the new ones, there are perpetually ongoing resolutions like “try to drink a little less”, “go to the gym more” and the ever popular “stop being so chubby”. But essentially, these are the plan.
I will be interested to see how this progresses. Oh, and happy fucking new year everyone. Ain’t life just grand?
Or at least this seems to be the Polynesian view on language. My hotel was called the Waikiki Kaiulani (pronounced as spelled in case you wondered) for fuck sake.
I’m not really partial to sun holidays. I have only been on the classic package holiday once at the age of 16, and that was with my family and therefore by definition of limited adventurousness. Since then I have always taken an approach to holidays that crams in the most places I have never been, things I have never done or seen, or friends I enjoy hanging out with as possible, ideally a combination of all of the above. However I realized that this time around, I was quite likely to need a bit of a post-excitement break, and as it turns out that was a pretty good call.
I spent all of my London time trying to meet everyone I know, all of my HK time trying to simultaneously do cool stuff and refrain from losing in my lunch in one of two unpleasant ways, and all of my Japan time trying to do cool stuff while somehow figuring out how to read signs entirely written in Hiragana. Basically what I am trying to say here is that I was pretty damn busy. So when the last leg of the holiday arrived I was eminently relieved and delighted that I had chosen to spend it in Hawaii.
You go through several phases when you get to Hawaii. The first goes something like – “whoa, this is stunning, I want to live a beautiful carefree life of freedom and sunshine here and leave the rest of the world behind forever”. Phase 2 consists of the dreamy daze in which you plan your future life of surfing and hiking and a crappy job you don’t have to care about because all you need is food and a place to sleep. Phase 2 lasts until about a day before you leave, at which point you move to Phase 3, which goes a little like “if this were possible, everyone would do it. Actually I don’t really like being poor. There are no real jobs here, everyone is a damn scuba instructor or a hotel receptionist, and even if I could work remotely this bloody place is in the most inconvenient time zone imaginable. Damn”. This is followed closely (in my case) by the logic that I shall simple have to become rich enough to go to places like Hawaii frequently. It can probably safely be said that everything I want in life boils down to “I’ll be needing some more money for that”. On the plus side, at least my goals are straightforward.
On the whole, I loved the place. It is completely, stunningly, unswervingly beautiful. Ok, the scenery is perforated by the occasional large mall or highway, but fewer than you might expect. Honolulu is fairly populated, but the only other Island I was on (The Big Island – what a great name) has a few small towns and a whole lot of empty space. Though this may be something to do with the active volcano. Which brings me to another salient point – it has fucking volcanoes. Volcanoes! Nothing more need be said on the matter.
So I have covered the scenery, which is most definitely worth looking at for hours on end. The weather is perfect, and varies very little from season to season. The food is your standard American tourist fare, tastes good, doesn’t cost much, and comes piled so high it might fall off the plate if you look at it too hard. You have some obvious additions like fresh seafood, and the local beer is also pretty decent.
The entertainment varies from snorkeling, to parasailing, to watching the smoke pour from a live volcano to firing automatic weapons, and those are just the healthy activities. Personally I spent a lot of my time just enjoying being somewhere beautiful where I could swim and lie in the sun (by which I mean lying in the shade but being warm anyway – my skin is so pale it practically glows in the dark). I did manage to fit some activity into my relaxation though, parasailing, snorkeling and volcano-gazing being the highlights. I would go back in a second for an indefinite period if I had the chance, which hopefully I will again some time. This place goes firmly on the list titled “reasons to live in the US”
Hawaii appears to have changed my thinking forever about holidays that involve a beach, and I am grateful to it for opening my mind. And for having really nice trees.
Those of you who know me may have noticed that I don’t often respond to solicitations for charitable donations. Whether it’s a sponsored walk or a collection for malaria, I’m just not into “impulse buying”.
Those of you who know me better might know why this is. It’s not because I’m mean, honest
I’ve maxed out corporate Gift Matching programs with the employers who’ve had them (even when I was just an intern), and I hope to continue to do so. But I prefer to give in a “concentrated” fashion – rather than sprinkling my charitable donations across the vast spectrum of worthy causes, I choose a few each year that I really believe in, and do my best not to feel guilty that I can’t do everything!
When I lived in Ireland, particularly while I was still in college, I tried to “give global, act local”. I volunteered with various groups, from a local literacy program to the St John Ambulance. I even indulged in retail therapy for the St Vincent de Paul, both groceries and Christmas presents
Living in Switzerland, however, I’ve found that the attitude towards volunteer work is very different. Add my frequent travels (particularly in 2010) into the mix, and it’s just not a model that’s working for me any more. But my employment situation and the local tax regime mean that I have room to expand my financial giving – yay!
But I’m not sure where to put my money. We’re not talking millions, but I still think it’s worth spending time making sure it goes to something I believe in. That way, when I do have millions, I’ve already done the tough part
And this is where you come in.
Where do you think I should put my charity bucks?
To give you some background, I think if my giving had a “theme”, it would be this: Knowledge is Power.
I’m interested in improving access to knowledge, information, education. So one of my favourite charities is Literacy Bridge, which began with the idea “that the most effective approach towards ending global poverty requires empowering people with better access to knowledge”.
I’m also interested in preserving knowledge for future generations. Last year, for example, I sponsored the restoration and preservation of a collection of James Lind manuscripts, in celebration of dad’s birthday.
In general, I’m interested in charities serving those with the greatest need (not necessarily those who are easiest to reach), and I’m not looking for advocacy groups for one particular idea or cause.
What am I looking for?
Do you know a charity that fits the bill? Leave me a comment, or drop me an e-mail. Thanks!
And now, it's time to shoot some zombies.
"Broadband is an always-on Internet connection that gives you high-speed access and downloads for a flat rate monthly charge.
Everything works faster, from downloading emails and files (such as pictures & mp3's) or streaming movies and radio."
That's right, I'm not so far gone that I didn't have a list, but it's a list that gets longer and longer, as my finger gets longer and longer. I've put off so much that normality now lives over a mountain of unfinished, undealt-with, unappetising STUFF. Dentists, doctors, pensions, driving licences. Things that would only take a moment to actually organise. And the overhanging imperative that never really goes away either - GET A JOB.
I got depressed, you see. It had been looming all summer, but September hit, and my hopeful assertions that I'd have a chance to do all the things I'd been meaning to, and maybe travel, but be back at work before Christmas... they all fell by the wayside as listlessly checking the internet for someone responding to my dwindling posts/messages and staying awake well into the night and asleep well into the day took over.
I decided in December that I'd had enough. I went to the doctor and got myself some anti-depressants. Feeling like I was doing the right thing buoyed me up and carried me over the festive season, but now that January is getting ready to move into February, I realise that I've slipped again. The insomnia that is part legacy of my depression, part side-effect of the anti-depressants is getting worse, and all of my good intentions vanish again each day as I try to grab some kind of sleep, that ends up beginning when most people get up, and lasting until lunchtime.
It's getting dark now. I feel like writing these words has accomplished something, but I'm really just kidding myself, and putting off the climb to normality yet again. But how do you start that climb when you can't rest up and prepare? Is it just setting myself up for failure yet again?
I'm going to tick off one thing on my list today that is a one-off must-do task. Then try one tomorrow as well. And I'm going to try to get some sleep. We'll see what happens after that.
A short while ago, someone popped into the PEAR irc channel on efnet and asked about installing Statusnet – which is a “open source micro messaging platform that helps you share and connect in real-time within your own domain.” It’s what powers identi.ca and similar micro-blogging services.
Specifically, this person wanted advice on installing the six or so PEAR packages on which this software depends; eight if you include the optional ones.
Foreseeing a number of people wanting similar help, I thought it would be best to create a metapackage to bundle these PEAR packages together – at the least it would mean only one “pear install” command would be required and it would reduce the number of potential mistakes that could be made.
Following my own instructions in the “Dependency Tracking (Meta Packages) with PEAR” section in the PEAR documentation, I quickly came up with Statusnet_Statusnet-0.1.1.tgz.
Install it via “$pear install http://short.ie/statusnettgz” for the moment – as the location of where it’s being hosted may change during the week.
I own a Blackberry Storm (9500) and my dad has a Curve (8900). Both phones allow you to turn off data when roaming (Manage Connections -> Mobile Network Options -> Data Services), so that you don’t rack up expensive data charges (useful, I’m told, in places like Switzerland). However, this means you don’t get your e-mail.
The Curve has 802.11 b/g (Wi-Fi), but we were having trouble connecting to AP’s. It turns out that by turning off data for the Cell part of the phone, you turn off data for the whole device, meaning that the phone will never get an IP address, even with DHCP off (and manually assigning a valid static IP).
So, to get your Email (and other data apps that support Wi-Fi) working abroad follow these steps:
The “Data Services” option should only turn off data transmissions over the Mobile network, not disable the IP stack (which I think it may be doing). Hopefully this bug is fixed in OS 5, I’ve not tried it yet.
# See http://www.nco.ncep.noaa.gov/pmb/products/wave/nww3.t00z.grib.grib2.shtml
# Data was from ftp ftpprd.ncep.noaa.gov dir: /pub/data/nccf/com/wave/prod/wave.20091227
# wgrib2 was installed using macports
# /opt/local/bin/wgrib2 -s nww3.t00z.grib.grib2 | grep "HTSGW:surface:an" | /opt/local/bin/wgrib2 -i nww3.t00z.grib.grib2 -netcdf WAVE.nc
library(ncdf)
waveFrac - open.ncdf("WAVE.nc")
wave - get.var.ncdf(waveFrac, "HTSGW_surface")
# Dirty hack to fix input model, look for another better solution
wave[wave>9.99999]- -1
x - get.var.ncdf(waveFrac, "longitude")
y - get.var.ncdf(waveFrac, "latitude")
library(fields)
rgb.palette - colorRampPalette(c("snow1","snow2","snow3","seagreen","orange","firebrick"), space = "rgb")
image.plot(x,y,wave,col=rgb.palette(255),axes=F,main=as.expression(paste("Significant Height of Combined Wind Waves and Swell in Meters 2009-12-27", sep="")),legend.lab="Meters")
# Add a rough outline for islands, countries, and continents
contour(x,y,wave,add=TRUE,lwd=0.25,levels=0.2,drawlabels=FALSE,col="grey30")
# Add the source of the file and ftp location
text(130,-75,"Data source ftpprd.ncep.noaa.gov pub/data/nccf/com/wave/prod/wave.20091227")

# ftp.ncep.noaa.gov pub/data/nccf/com/gfs/prod/gfs.2009121700
# See http://www.nco.ncep.noaa.gov/pmb/products/gfs/gfs.t00z.sfluxgrbf00.grib2.shtml
# eoin-brazils-macbook-pro:~ eoinbrazil$ cp gfs.t00z.sfluxgrbf03.grib2 temp2.grb
# wgrib2 was installed using macports
# /opt/local/bin/wgrib2 -s temp2.grb | grep ":LAND:" | /opt/local/bin/wgrib2 -i temp2.grb -netcdf LAND2.nc
# /opt/local/bin/wgrib2 -s temp2.grb | grep ":TMP:2" | /opt/local/bin/wgrib2 -i temp2.grb -netcdf TEMP2.nc
library(ncdf)
landFrac2 - open.ncdf("LAND2.nc")
land2 - get.var.ncdf(landFrac2, "LAND_surface")
x - get.var.ncdf(landFrac2, "longitude")
y - get.var.ncdf(landFrac2, "latitude")
library(fields)
rgb.palette - colorRampPalette(c("snow1","snow2","snow3","seagreen","orange","firebrick"), space = "rgb")
tempFrac2 - open.ncdf("TEMP2.nc")
temp2 - get.var.ncdf(tempFrac2, "TMP_2maboveground")
newtemp2 - temp2-273.15 # Convert the kelvin records to celsius
image.plot(x,y,newtemp2,col=rgb.palette(200),axes=F,main=as.expression(paste("GFS 24hr Average 2M Temperature 2009-12-21 00 UTC",sep="")),legend.lab="o C")
contour(x,y,land2,add=TRUE,lwd=1,levels=0.99,drawlabels=FALSE,col="grey30") #add land outline
text(120,-85,"Data source ftp.ncep.noaa.gov pub/data/nccf/com/gfs/prod/gfs.2009121700")

Just a few minutes ago I read Jamie Nay’s A Better Postal/Zip Code Validation Method for CakePHP 1.2 blog post.
Jamie says that “The Validation::postal() method that comes with CakePHP 1.2 is good in that it can handle a number of different country formats, but the problem is you can only validate your data against one country. What if you want to accept, say, either Canadian or US postal/zip code formats? I ran into this problem earlier today, and decided to write my own postal() function that can take either a string as the country, just like Validation::postal(), or an array of countries.”
I’m probably going to have to wait for Jamie to wake up before my comment on that blog-post is approved, but the crux of it is “Don’t”. Don’t write your own code to validate user input, unless of course the input data is specific to a problem domain that others haven’t catered for yet.
I drew attention to two things. The first is that there are Validation packages in PEAR, including the main Validate class and all the Validate_xx subclasses such as Validate_US, Validate_CA and some 22 others).
The second item I drew Jamie’s attention to is that his validation code counts a zip code of “00000″ as valid, when the USPS zip code look up tool correctly (and they should know!) identifies that code as invalid.
Why spend time writing and debugging regular expressions, compiling lists of valid data and so on when other people have already done this work? Especially when it comes down to such things as validating data input which is crucial when you need to guard against cross site scripting vulnerabilities.
Focus on what you need to do rather than reimplementing what others have already done.
Honestly, this probably should be subtitled – “Stop the NIH craziness, please” – though to be fair Jamie might not have known of the solutions already out there.
This is the first book sent to me from Packt where I wasn’t left dizzy from trying to understand just what it is the author was trying to get across. It looks like their proof-reader was awake for this one – totally awesome.
jQuery, as the vast majority of us already know, is a JavaScript library that simplifies HTML document traversing, event handling, animating, and Ajax interactions for rapid web development. In other words it does all the heavy lifting and takes care of cross-browser compatibility issues so you don’t have to and thus allows you to focus on the work that you need to do without all those distractions.
“jQuery 1.3 with PHP” is aimed “for PHP application developers who want to improve their user interfaces through jQuery’s capabilities and responsiveness”. Over the course of ten chapters Verens starts the off with an introduction, then a series of ‘Quick Tricks’ that almost immediately help you add some measure of “Web 2.0″ functionality to what I’d term a “web 0.2 application” rather sharply.
The book ends with a chapter on Optimization – some of which you are bound to already know and some which are complete gems.
In the middle are chapters with mini-projects on tabs and accordians, forms and form validation, file management, calendars (and how to make your own google-calendar-like application), image manipulation, drag and drop and data tables.
In each case, projects are analysed and the required steps for each are outlined in the simplest terms – no extraneous buzzwords are used or are the projects over-analysed for the sake of pedantry.
I was a little surprised in some places where, for example, the json encoded output was not created via json_encode; but then thought not everyone is going to have PHP 5.2 or greater installed. Thumb forward a few pages and this is mentioned. So all’s o k.
It was good to see Kae suggesting use of the PEAR Validate package (or similar) in the Forms and Forms Validation chapter (chapter 4). I had to wonder if there was a PEAR package for creating and shunting down jQuery validation rules to the client – and found that there isn’t. That’s something to consider for later on, I guess.
The rest of the book is similarly both easy to read and easy to understand – my first port of call for learning how to do something that I’d almost term exotic with jQuery and with PHP in the background is usually Google but that is going to change (actually it already has).
Honestly, I wouldn’t be surprised if this books working title was “JQuery and PHP: The HowTo” – it is that good.
Now, this book is not for learning jQuery – that is not within its remit, but I would heartily recomend “jQuery 1.3 with PHP” by Kae Verens to anyone wanting to utilise jQuery from a PHP background.
Wobble has been successfully upgraded from etch to lenny. Horrah.
To repeat what’s in the subject, nonado will be down for maintenance
this sunday (2009-12-13). If you don’t care about technical details,
you can stop reading now.
Wobble.nonado.net, the nonado host machine, is running debian etch.
Etch was released in 2007-04. It has since been superceeded by lenny,
released 2009-02. Support for etch will cease in 2010-02. As such,
wobble needs to be upgraded soon. However, as it is the host machine,
this cannot be realistically tested/simulated. As such, unexpected
issues may well pop up and need to be fixed/worked around on the day.
For this reason, i’m designating nonado as being offline for the
entire day. I’m hoping the actual downtime will only be a couple of
hours, but we’ll see.
As I type I am riding the bus to Narita airport, which our hotel diplomatically calls the “Friendly Limousine” I find it hard to begrudge them this exaggeration for two reasons, firstly that I am literally the only person on said bus, and secondly because the hotel itself is stunningly gorgeous and exceedingly swish. I am also rather amused by the scrolling information sign “For Narita airport. Please inform the driver when you see a suspicious thing and a suspicious person”. Japanese English is just brilliant.
This week has been amazing. I have had an absolutely fucking kick ass time, and learned many things, including but not limited to the following:
My flight from Hong Kong to Tokyo left at 10.30 in the morning and went via Tai Pei. Unfortunately, I just could. Not. Sleep. I lay awake trying to doze off pretty much all goddamn bloody night, turned the air-con on, turned the air-con off again, had this dull headache-y feeling that just wouldn’t go away, and felt generally like ass. I must have dozed off briefly though, because when I finally opened my eyes to FG2s alarm going off, I realized there was something odd happening, they weren’t opening properly. As it turns out this is because my eyelids were puffed out like ping pong balls and looked utterly ridiculous. I put this down to not sleeping enough, took some painkillers and had tea with the fabulous FG2 before she went to work. I then finished packing, got my shit together, and headed for my flight. Hong Kong has a truly marvelous feature, which is that you can check in your luggage in the main station before you take the train to the airport, something that all major cities should most definitely adopt as it is made of win. Having divested myself of my cumbersome baggage I then made my way to the airport train, feeling slightly odd, but not unwell enough to think anything of it.
As I boarded the plane I noticed that my wrists had a strange looking rash on them which I could have sworn hadn’t been there a few hours previously. This became slightly more alarming in Taipei where I noticed it had morphed into a solid red lump on each arm and become rather itchy, and about half an hour before we landed in Tokyo I woke from a snooze to discover that it now speckled all of my arms, and from the feeling of most of my upper body had made it to my torso. At this point, I was forced to acknowledge that I was having a full-blown allergic reaction, and that it was getting worse. Not only this, but I had it leaving china, source of half the world’s potential pandemics in the last several years. Nothing engenders paranoia like someone leaving china looking like they have early stage leprosy. In fact if this had never happened before I would have been pretty damn freaked out myself. Fortunately, I am familiar with this one.
I am allergic to a variety of things. Most of these are stupid and easily avoidable – bubble bath, certain types of fabric softener, aniseed. Some of them are more serious – I am heinously allergic to penicillin for example. Yet more of them are the subject of some uncertainty – certain additives in food colouring which I haven’t narrowed down really, a few types of sweetener. I very rarely come across the latter in the EU because EU law covering food additives is fairly restrictive, and frankly I rarely come across them in the US because I don’t eat the kind of crappy sweets the US generally has to offer. This particular reaction has only happened once before when I was 16, and I had to eat about 15 packets of M&Ms to induce it (yes, 15. I really liked m&ms and I have a tendency to over-do things)
In any case, I was in neither the EU nor the US, I was in China, a country that sells cartons of milk that say “made with real milk” on the side. In fact I am fairly certain the milk in my tea that morning and the previous night was the perpetrator of my blotchiness, but despite the fact that it had been about 12 hours, things continued to worsen. By the time I had gotten through customs (while hiding my arms and trying to look healthy) I could tell it was all over my legs too. By the time I finally found Cheese (the person, not the delicious foodstuff) and went back to the hotel (a tale in its own right) my entire skin was one huge red lump. It was everywhere. My face, my neck, my feet, even the palms of my hands. I felt cold but my skin was on fire, I had a fever, and I was in fucking agony. I had been working myself into a rage at Cheese for ludicrous airport based inefficiency, but I was incredibly glad he was there, because he found a 24 hour pharmacy and got me the antihistamines without which I think I might have thrown myself off our 18th floor balcony rather than continue to scratch my own skin off.
So kids, the moral of the story is: do not drink the milk in China. Of course, Cheese entirely disagrees with this theory, and claims that it is perfectly obvious that I am merely allergic to communism. Which I suppose would be kind of cool.
Day 2 (as mentioned in the previous post) began twice really. The first time at 6am when I awoke, reviewed my decision to fall asleep at 11 and found it slightly wanting in view of the fact that I was fucking awake at 6 in the morning, and decided that after FG2 went to work I would try for an extra hours kip. Hah. Day 2 had its second glorious beginning when I dragged, and I mean _dragged_ myself out of bed at about 3.20pm. My day was made of fail, as I was too late to do any of the cool things FG2 had told me to go do in her absence, However the evening managed to be a little less fail-tastic, met an irish mate from working in London back in the good old days, and we drank far too much horrible crap til 4am. FG2 cunningly stopped drinking about 5 drinks before we did, thus securing her a place in the non-imbecile hall of fame, a lofty honour which I fear I may never achieve what with doing so many fucking stupid things. Upon getting home and reading my emails, being multiple time zones and miles away from people and things that concerned me became a problem, and I ended up on a rooftop on the phone til 6am. Unfortunate to say the least, but necessary in the circumstances
Day 3 – death on a stick. Not the worst hangover I have ever had, but possibly one of the worst with which I have ever had to do anything much. FG2 had chosen that morning to move to her new flat, which I suppose was part of the reason for her eminent sensibleness the previous evening. For a full appreciation of the horror of this you merely need to know that is 27 degrees and humid in HK, and she was moving to a 5th floor walk-up. And for the Americans in the audience, in proper countries that means 5 flights of stairs – not 4, kids. Truthfully I was very little bloody use at this, though I did make a valiant attempt at helpfulness. It is just a pity my sense of duty doesn’t extend to ensuring I was in a fit state for said.
Anyway, I was ILL. Note the capitalization, it is deliberate. I tried to put contact lenses in at one point and received for my trouble such a violent onslaught of headache I nearly threw up. Throwing up was not a problem for the remainder of the day, but I had some other compelling digestive issues which I can only attribute to “being in China” because as far as I could tell I had not drunk or eaten anything the least bit suspect. This did not stop my stomach from mounting a concerted protest however. I was also completely and totally exhausted. This may have been due to the 4 hours sleep, or possibly the fact that my sleep pattern was at that point 7 shades of buggered. Whatever the reason I felt like throwing myself off a bridge so I suppose it was fortunate we didn’t cross any.
Astonishingly despite my complete lack of functionality a lot was done and seen that day, including some beautiful Chinese gardens (surrounded Hong Kong style by a huge elevated highway), an Indonesian meal with some Chinese friends of FG2s, and a sortie to Mong Kok, the technology bazaar type area of Hong Kong.
Day 4 – Our chilled out day of general niceness, FG2 and I went to the market, bought some silly asian crap, drank tea, walked around the frankly amazing docklands area of Kowloon. Took zillions of terrible pictures of Hong Kong Island at night (which makes New York look like a tasteful and understated lighting display, but nevertheless manages in its own way to be beautiful), had a picture taken of us for some stupid amount of dollars, and found Jackie Chan’s star on the star walk, Hong Kong’s answer to Hollywood’s avenue of the stars.
After our stunningly nice day of ferries and beautiful things and Hello Kitty crap, we finished up with a Thai massage before going home for dinner. Salad from the local shop, with pink champagne from the airport some days previously. More things I learned in Hong Kong include:
Tune in next post for details on how not to leave a country famed for it’s contagious diseases.
…has been a motto of mine for some time. When you fly as much as I do (and I assure you, that’s a lot) succumbing to the rigours or air travel and time zone switching seems an extensive waste of precious time that could otherwise be spent looking at cool things, or drinking.
However this month I am trying something I’ve never even come close to attempting before – I am flying around the world. Due presumably to some sort of odd masochism I chose to do so by going east, thereby losing hours of time each hop until eventually gaining it all back in one large chunk en route from Tokyo to Honolulu when I cross the IDL. I am pretty certain I will spend this entire flight filled with the thrill of time travel as I leave Tokyo Monday night and magically arrive in Hawaii bright and early Monday morning. I simply cannot think of this as anything but incredibly cool.
The upshot of all this however, is that I spent every flight valiantly trying to sleep for 4 or 5 hours to readjust myself to morning once again coming significantly earlier than my body expects. Today – my first day in HK, my body reacted to this by waking me at 6am, falling asleep again at 10am, and fighting me for supremacy as I dragged its ass out of bed around 3pm. Today has, as you might imagine, been a bit of a loss.
Right now I am on a train back from Lantau island, where I spectacularly failed to see anything cool whatsoever due to my extraordinary tardiness in arising. On the plus side, I managed to buy (amongst other things) some cheese. Cheese is important. It is incredibly difficult to buy any sort of street food that does not consist entirely of rice or pastry, yet no-one here appears to be fat. Form this I conclude that Chinese people eat practically nothing, and have excellent metabolisms.
I really like Hong Kong. I tend to judge places by imagining whether I would like living there for a while, and so far this place receives a somewhat fascinated yes vote. I doubt I could ever have a relationship of any kind here, but then that goes for America too, and in this case cultural differences are extreme enough to be interesting instead of merely being annoying most of the time.