A UTF-8 Aware substr_replace (for use in App.net)


So, I stayed up bashing my head against a brick wall all last night! PHP's string functions aren't (yet) UTF-8 aware. This is a replacement for subtr_replace which should work on UTF-8 Strings: function utf8_substr_replace($original, $replacement, $position, $length) { $startString = mb_substr($original, 0, $position, "UTF-8"); $endString = mb_substr($original, $position + $length, mb_strlen($original), "UTF-8"); $out = […] Read More

Introducing a NEW QR Generator


When people ask me which QR generator to use, I usually suggest Google Charts. However, recently I've become dissatisfied with its limitations, so I've decided to write and release my own QR encoder. I'm still looking for a catchy name for it (suggestions welcomed) - so for now it's called "QR Generator PHP". It's available […] Read More

Calibre PHP Patches


Two quick patches which should be in the next version of Calibre PHP. Adding File Size This shows the sizes of the eBook files. Screenshot shows a demonstration using the free "Hacking The BBC" eBook.

Installing Calibre PHP


(These are mostly notes to myself!) I love Calibre, it's the perfect eBook management tool. It comes with a built in WWW server so you can easily access your library on the go. The only problem is that this really only works if you have a single machine dedicated to Calibre. For various reasons, I […] Read More

Displaying Twitter Photos via Entities


Twitter has announced that it will soon open up a native photo sharing service. Rather than using an external service like Embed.ly to retrieve thumbnails, all the data is embedded within Twitter Entities. So, if you request a status using "include_entities=true", you will be able to grab the image and display the thumbnail using the […] Read More

HOWTO: Twitpic and OAuth


The Twitter Logo

I am no longer confused! Here is a quick tutorial in how to post images to Twitpic and Twitter when using OAuth. I'm indebted to Steve Corona of Twitpic, for his help with this. You can see the full code on Dabr's Google Code page. First of all, you'll need to have enabled OAuth for […] Read More

Twitpic OAuth - I'm Stuck


The Twitter Logo

Twitpic has implemented an OAuth API. No more having to hand out passwords to all and sundy. Only I'm too much of a dunderhead to get it working. Perhaps it's a combination of heatstroke or this rotten head-cold, but I just can't see what I'm doing wrong. Any help much appreciated. The easy bit. It's […] Read More

Twitter and Linebreaks


Twitter's website rendering text without linebreaks

As any student of computer science knows, line breaks are confusing. There are styles of line breaks unique to Unix, Mac and Windows - so what should a web renderer do when faced with a newline command? In HTML, it's simple, they should be ignored. But what when it is user generated text, not HTML? […] Read More

Why I Love Open Source


There are many reasons to love Open Source Software.  It's free (as in you pay nothing), it's free (as in speech) and - perhaps my favourite reasons - it's free (as in liberating). By liberating, I mean that one isn't tied down to the product roadmap and release schedule of the developers.  If I find […] Read More

Embedding Mobile YouTube in Dabr / Twitter


I've decided to add a preview of YouTube videos into Dabr, the mobile Twitter service. The code is fairly simple - although I still suck at regular expressions. if (preg_match_all('#youtube.com/watch?v=([_-dw]+)#', $tmp, $matches, PREG_PATTERN_ORDER) > 0) { foreach ($matches[1] as $match) { $images[] = theme('external_link', "http://m.youtube.com/watch?v={$match}", ""); } } Here's how it looks.  A user writes […] Read More