Screen in Ubuntu Karmic

I have written about screen quite often, mostly including my .screenrc file and showing how to have named tabs for the various screen tabs you have open. When Ubuntu Jaunty came out, I found it had some quite cool enhancements that made the customisations for screen really easy by default – and I wrote about these.

In Karmic Koala, Ubuntu 9.10, the packages are still there but they’ve changed names! So if you want to use screen with Ubuntu Karmic or later, install packages byobu and byobu-extras, and uninstall screen-profiles and screen-profiles-extras (they were broken on my system after upgrade anyway) and you should find everything works as expected. To run screen with the new features, you should run “byobu” instead – although screen commands seem to work to detach and reattach the screens that result, weirdly.

I’m mostly posting about it because I have been very frustrated and there’s no way I could have guessed, or probably ever will remember, what these packages are called. Apparently a byobu is a japanese room screen … you learn something new every day!

Dutch PHP Conference: Call for Papers Now Open

There is an announcement over on the DPC (Dutch PHP Conference) website – their Call for Papers is now open (so go submit!). What’s remarkable about this announcement is that I wrote it, and its signed with my name and the words “Your host this year” … yes, I’m hosting DPC.

I’m pretty excited about this, I love getting involved with events and I also love DPC as an event, so together these are pretty special. DPC is organised by my employers, Ibuildings – so I actually get paid to get involved with this conference, which is pretty cool :) The submissions have already started coming in to the call for papers and the quality and variety of the talks, from people I know well and others I’ve never heard of, is staggering. I’m hoping that this trend continues right through until the CfP closes on 31st January. The task of choosing the tasks will be very difficult but we have a panel of selectors ready to step up to the challenge – and I’m already excited about how good this year’s event is going to be!

Speaking at TEK·X

I’m always pleased to be accepted as a speaker but I’m especially delighted to hear that I’m speaking at TEK·X in Chicago this May. They had a crazy number of submissions for the number of slots available, and I really wanted to go since I spoke there last year and enjoyed the event hugely! This year I’m giving the following sessions:

PHP Best Practices (tutorial) – This is a half-day tutorial with my good friend Matthew Weier O’Phinney covering all sorts of good stuff you can do when you develop PHP. Its a general session and the aim is that everyone in the room takes away something new from our tips and tricks (and stories of what *NOT* to do!)

SVN in a Distributed World I’m giving this talk for the first time, looking at how traditional source control (subversion) compares with the newer distributed version control solutions (git, bzr). There’s been lots of buzz around git but in the PHP world we choose our tools on merit, not on cool factor, so this is a chance for me to share my experiences with both types of systems and talk a bit about which scenarios the various tools are a good fit for.

Open Source Your Career Another new talk! This one is about how much personal gain there is being an open source contributor. I’ve grown hugely, both personally and professionally, from my experience with user groups, events, and software in the open source space – so I’ll be sharing some tips on how things can work out well all round.

If you’re going to the conference, then do make sure to stop me and say “hi” – there are so many people at these events that sometimes I miss out on meeting people I’d like to have spoken to. You can’t miss me, I’m the woman with the English accent and curly hair!! I had an absolutely great time last year and I’m already looking forward to this year’s conference!

New Office

I haven’t posted about the house for ages, mostly because I haven’t been around enough to do much with this project at all! Some months ago (July to be precise) I moved out of the bedroom I use as an office here and into an attic, so we could redecorate the office. To cut a rather long story short, After several holes in walls and other such carrying-on, I’m finally back into my office!

We went from this (you can’t really see how nasty the grey paint was or how much the previous wallpaper pattern was showing through)
office

Surprisingly this happened:
Magnificent ? In His Flying Machine

Less surprisingly, this happened (my house is > 100 years old, brick internal walls throughout, and sometimes the plaster has got tired of hanging on!)
Hole in the Wall

Now that corner looks more like this:
New Office

And my desk is back where it should be, yay!
Office Update

Thanks to everyone who offered to help with hanging wallpaper in response to us struggling so much to make this happen – it was our first time hanging wallpaper but that wasn’t the hard part. This project stalled badly due to a combination of lack of time on my part and the sheer volume of prep needed on a house this age which has been neglected! Thankfully my parents came for lunch last weekend and pushed us in the right direction with a combination of instructions and practical help :)

Looking Back at 2009

2009 was a funny year. I started it with a trip to South America, returning to a job I’d held for a year and was starting to feel settled with. I had grand plans for the year, for myself, my home, and my career. And at the end of the year I can honestly say I achieved absolutely none of these.

Its not necessarily a negative thing – I did some absolutely great things in 2009, its just they weren’t the things on my list. I spoke at a number of conferences and other events, and finally started to feel like I had something to say! The highlights were presenting at tek (because I finally started to feel competent at conference speaking), and PHPNW – where its my home conference which I organise and I knew exactly the session I wanted to bring. I wrote it, brought it, and the session was really well-received. I am definitely not finished with speaking nerves, but I know that if I can get up there and be properly prepared – I have something to give to my audience. Already I’m lined up for quite a few speaking events in 2010 and I’m almost more excited than nervous (almost). Everyone told me the nerves would get better with time – they just omitted to tell me how much time.

In 2008 I was surprised to find that I had written 195 blog posts in a year. I did many more interesting things in 2009 and basically worked a lot more, so I knew I’d be blogging less. This is the 119th post of the year though so actually I did pretty well, all things considered. I’m pleased that I’ve managed to keep writing even through the busy times of the year. I usually post a screenshot of my stats but they’re not that interesting this year to be honest, they’re holding fairly steady and since I don’t track who reads my feeds, it would only be a guess anyway. The blog was mostly a replacement for me remembering things – and it hasn’t changed a lot in the 4 years I’ve had it really!

One thing that I will mention which turned into a bit of a feature this year was that I actually started taking photos of things other than knitting! I think it started with our trip to Peru in January, and also the experience of having my own camera, with nobody else but me to see the results. I’m taking more photos than ever and just replaced my little camera so that’s pretty exciting – my photos are on flickr if you’re interested.

All in all, 2009 was the year that didn’t go to plan – I’m mostly happy about the net result and I think perhaps it was time for me to get a reminder that a master plan isn’t always a good thing. So I’m going with the flow for 2010 and wondering what the coming year has in store; at work and in my wider technical activities I know I’m going to be very very busy and this sadly means I’m stepping away from some of the activities and committments that I’ve enjoyed until now. Above everything else I am hoping that 2010 holds success and good health for us all!

Silencing Curl’s Progress Output

I seem to have been writing a lot of shell scripts to do things with curl lately, and the main difference with piping curl’s output to somewhere rather than just looking at it on the screen is that curl will then start outputting a whole bunch of progress information that you don’t usually see. This can be frustrating if you wanted the same output as it viewed on the command line, or (as in my case) just wanted to grep for something in the header output.

To silence the additional output, use the -s switch – but be aware that this will also silence any error messages as well! Something like this:

curl -s http://lornajane.net | grep PHP

This will enable you pass into grep just the output you would usually see on your terminal. Hope this is useful to someone!

Cookies and Curl

curl is the C URL library – its a command-line tool for making web requests, with libraries available in many languages. Personally I prefer to use it from the command line and recently I have been using it with cookies for a web services which set a cookie at login and then needed this to be supplied on all subsequent requests. This turned out to be really simple so I thought I’d put some notes down on how to do it.

Storing Cookies in a Jar

Quite enchantingly, its traditional to call a cookie storage a “cookie jar” which makes a lot of sense when you think about it! To do this with curl, use the -c switch:

curl -c lj.txt http://www.lornajane.net

If you now examine the resulting file, lj.txt, you’ll see that it contains all the details of the cookie. You can edit this if you want to (health warning: only do this if you know what you are doing! If you need to test something though, its useful), and then submit the next request with that cookie attached – exactly as your browser would.

Making Requests with Cookies

To make the next request with the cookie, simple replace the -c with a -b to dip into the cookie jar and sent all relevant cookies for this domain with your request, like this:

curl -b lj.txt http://www.lornajane.net

As I say, I was using this with a web service, where it made no sense to use a browser as I also needed to pass data with the requests. You might also like to refer to my curl cheat sheet previous post.

New Camera: Fuji Finepix F70

Recently I’ve had a new gadget in my life – a Fuji Finepix F72, which is really an F70 but exclusive to Jessop’s in a different colour (I have no idea why retailers do this but hey, it means mine is shiny black).

The camera is a birthday/christmas gift from my parents, since I’m taking increasing numbers of photos these days and our 3-year-old Fuji Finepix F650 is on its last legs! I have been looking around and although there are a few other things in the same kind of market, I read an astonishingly detailed review of the F70 and, considering how much I had liked the previous fuji, decided that this would be a good bet.

Its smaller than the last one while having a lot more resolution, I’m not really a camera geek but it does some funky things that I quite like. Even left entirely in auto mode, the photos are much better quality – especially in low light which was always an issue for the old camera! The scene presets are there and useful as ever. It has some strange settings where it takes multiple photos of the same thing to provide more detail – for example the mode which is pretending to be shallow depth of field takes a bunch of photos and then sticks them together in software, with interesting results:

Profocus Seagulls

I’m still getting to grips with the different settings, and am attempting to join in with the daily shoot which is an exercise in taking a new photographic assignment every day. I’m running at less than 50% success rate but I am taking more photos than I would have otherwise so its good in any event I think! One thing I really want to crack is taking recognisable photos of people … so far the only person I seem to do well with is my toddler niece (perhaps because she doesn’t fear the camera the way the adults do?)

Natalie in the crate

So, thanks mum and dad – and if you’re interested in following my photographic adventures, my photos are on flickr.

Sound Issues with Kubuntu Karmic Koala

Since upgrading my work machine to karmic koala, I’ve noticed that my sound had stopped working. There were some broken packages in aptitude and Skype knew there was a problem as it notified me when I tried to make a call. I saw some issues reported with karmic, notably this one, so I uninstalled pulseaudio

sudo aptitude remove pulseaudio

When I restarted Skype, everything seemed to work as expected – for reference I have a thinkpad T400, if you’re having the same issues, then hopefully this will help!

Speaking at PHPUK

I’m pleased to announce that this year I’ll be speaking at PHPUK in London in February. I’ve attended this conference for the last three years, and attend its related user group, PHP London whenever I can find a reason to be in London on the right day. My talk this time is a brand new one, “Best Practices for Web Service Design”, which covers the main points (and pitfalls!) of architecting a web service to be as robust and useful as possible. This is something I’ve been doing quite a bit of in my day job lately and I’m hoping to pass on some of what I’ve learned.

This conference is well-established and I’ve had a blast most years I’ve attended! Although their schedule isn’t public yet (it will be soon), the other sessions I’ve heard about on the grapevine sound good. If you want to attend, the date is Friday 26th February and you can buy your tickets on their site. Let me know if I will see you there :)