I have just seen this amazing pattern on floofle.blogspot.com – a definite maybe for my summer projects list!
Author Archives:
Baby Booties
The first installment of knitting for a new arrival due into the extended family this summer. They are actually green but I didn’t fiddle with the camera before I took the photo!
The pattern is from a supplement that came with Simply Knitting magazine a while ago – but as they are 4-ply they did take a while although they are tiny. Next up, are these
Process Email Queue by Waving Mouse
Today I had a problem with a development server. A little, low-traffic thing that I was testing some PHP-sends-email pages on. The emails wouldn’t send although I could see them sat in the queue.
The story gets better but there’s a techie bit between here and the punchline – sorry
Exim commands
mailq – show the emails currently in the queue
sendmail -v -q – send the emails in the queue and give plenty of output with it.
The symptoms
Sending email just caused the screen to hang, I’d get something like this:
LOG: queue_run MAIN
Start queue run: pid=12282
delivering 1HeAZY-0002YQ-J0 (queue run pid 12282)
R: dnslookup for ****************
T: remote_smtp for **********************
Connecting to **************** [000.000.000.000]:25 … connected
SMTP<< 220 ********************** ESMTP
SMTP>> EHLO ****
SMTP<< 250-***********************
250-AUTH=LOGIN CRAM-MD5
250-AUTH LOGIN CRAM-MD5
250-STARTTLS
250-PIPELINING
250 8BITMIME
SMTP>> STARTTLS
SMTP<< 220 ready for tls
Randomness!!
The problem was that we didn’t have enough entropy1 to generate the security for the connection … and getting one of my colleagues to rummage in the rack for the server and wave its mouse continuously solved the problem. It was quite a scene :)
1 For diagnosing randomness, I used: cat /proc/sys/kernel/random/entropy_avail
Tabs in Vim
Tabs seem to be out of fashion in the programming world, there are perfectly valid arguments on both sides or the tabs vs. spaces flame war, illustrated with examples from every programming language and text editor combination ever made. You can read any or all of these if you are interested, but that isn’t the issue here.
I use tabs – all the time. My tab stopping is set to 4 spaces but my intention is to use actual tab characters. Its actually surprisingly hard to do this with vim. I’ve added the following lines to my .vimrc which allow me to see whether I have tabs or spaces at the start of the line.
set list listchars=tab:\|_,trail:.
highlight SpecialKey ctermfg=DarkGray
I fiddled with some other settings too, to try to stop everything ending up as spaces (I’m driving my colleagues mad) but to no avail. With these lines:
set shiftwidth=4
set softtabstop=4
set tabstop=4
set noexpandtab
set autoindent
set smartindent
I think those are all the relevant lines … it kind of works but I still need to type the set noexpandtab when I’m editing a file to stop auto-indented new lines from getting space instead.
Its all very exasperating so if anyone has suggestions other than “use spaces” I’d be interested to hear them!
SQLPlus for MySQL
Until recently I spent a lot of time working with Oracle from the command line (via ksh on AIX, in case you’re interested). A change of job means a change of platform and I find myself working with MySQL on a daily basis. I like MySQL – like most PHP programmers this is where I started learning about databases and I’ll always have a soft spot for it.
In Oracle most developers use SQLPlus to work with the database – its the standard command-line tool and the only thing you can guarantee being available in a new environment. It has a wonderful feature where you can type a query and then type ‘ed’ and pull up an editor window with the query still in it … so useful for debugging big statements.
I’ve been struggling to get to grips with MySQL – it has more tools and phpMyAdmin is readily available. However I don’t really use a mouse if I can help it so its not as fast or convenient as the SQLPlus + ‘ed’ combination. So here’s my discovery for this week:
Type \e
Most mysql command-line tools will launch your previous query, with line breaks, if you type \e at the prompt. Fantastically useful and I’m happy and settled once more :)
Easter Chick
Happy Easter! I’m away for a long weekend but this post was pre-recorded. I handmade my mum’s easter gift and wrote about it, but can’t publish until she’ll have got it!
Its a duckling from this pattern – knitted with fluffy wool on four needles. I used Snowflake DK and 5mm needles but I suspect it would have been better with 4mm ones as stated in the pattern however I only have one set of double-pointed needles.
Here he is anyway:
His beak and feet are made from orange pipe-cleaners. The beak was bent into shape and then the excess clipped off. The feet were shaped and then just pushed into the chicken through his woolly exterior and into the toy stuffing inside.
Happy Easter, mum :)
Kbuntu Add Programs
I’m just getting started with running a linux machine as my main computer at work (yay!), setting everything up today. My tip for installing linux the first time is to get the repositories of software added so you can install more things though “adept” (the program that runs when you choose the “Add/Remove Programs” option from the start menu). To add the repositories just edit this file:
/etc/apt/sources.list
Then uncomment the lines as directed in the file. You will also need to get the list of available packages by running
sudo aptitude update
Next time you go to “Add/Remove Programs” you’ll have a much bigger list to chose from, especially if you allow unsupported and proprietary software by ticking the boxes at the top right hand side.
9 Steps to PHP Documentation Heaven
- Download PHPDocumentor and uncompress it into a directory inside your web root.
- Access the web interface by going to phpdoc.php in the newly extracted directory
- Enter the directory you would like to document
- Enter the directory the output should appear in (this needs to exist and be writable by the user your web server runs as)
- Choose a template! My favourite is the HandS one, but there are others and you can create your own later on
- Press the create button
- If your code wasn’t already documented correctly then there might not be a lot to see at this point. Go to the PHPDocumentor tutorial to find out how your commented code can become shiny documentation you can use
to blind your manager with scienceto empower knowledge-sharing within your team - Regenerate the documentation
- Get the rest of your team to comment their code correctly
Now repeat steps 8 and 9 many times until you have beautiful documentation.
Form Name ID and Label Tags
Just a quick one, but something that confuses me often.
<input name="input_name" id="input_identifier ....
name is what the POST request will see the field called
id is what the label tag will use to figure out which field it belongs to.
Improvised Chicken
That title makes it sound like a recipe, but actually its a bird! I saw a pattern linked off CRAFT which was gorgeous so I rushed out and bought some snowflake yarn in yellow. When I came to read the pattern it was quite complicated and I was a bit fed up … so I sort of started fiddling with the wool, and a crochet hook, and I got:
He is about two inches tall and as cute as a button. I cast on 4 stitches (in the round), increased in each stitch on the next row and then switched to increasing every other stitch until he was wide enough. Went straight for a bit then decreased quickly (so he’s made from the top down). The wings are crochet but the beak is knitted because I couldn’t work out how to get such sharp edges in crochet.
I should also point out that its really quite hard to crochet with fluffy or eyelash yarns because you can’t see where the stitches are to stitch into! I managed but don’t look too closely at him – my rounds turned into a spiral quite quickly because it was so hard to see what was going on.
I hope you like him, and if you’d like to suggest a recipe for “improvised chicken” in case anyone gets here hoping for one then I’d be grateful :)