I’ve got a small repo, ContextFree, that I keep coming back to whenever I want the specific kind of fun that comes from writing a handful of lines of code and having something unexpectedly pretty fall out the other end. It’s a collection of Context Free Art scripts — a tiny grammar for describing images as recursive drawing rules — plus a Docker image wrapping the cfdg renderer so I can run them without installing anything locally.
Short code for embedding Flickr albums easily.
Here demonstrated with my Inkotober 2020 album.
Short code defined like this
<adata-flickr-embed="true"data-header="true"data-footer="true"href="{{ index .Params 1 }}"title="{{ index .Params 0 }}">
<imgsrc="{{ index .Params 2 }}"width="800"height="600"alt="{{ index .Params 0 }}">
</a><scriptasyncsrc="//embedr.flickr.com/assets/client-code.js"charset="utf-8"></script>
First parameter is the album title.
Second parameter is the album URL.
Third parameter is a URL to an image to use for the album.
After watching Speed Cubers documentary on NetFlix decided to start back trying to learn to solve the cube from memory rather than following the instructions.
So far I can get upto the middle layer without refering to the online walk through instructions.
Note: 5 of this post’s 10 links are now broken — mostly deleted or made-private Flickr photos, dead Flickr farmN subdomains, and defunct feed-syndication infrastructure. Left as originally published.
Work by one of the artist I follow over at Deviant Art.
Check out the slide show from the link below, excellent work.
Note: 4 of this post’s 9 links are now broken — mostly deleted or made-private Flickr photos, dead Flickr farmN subdomains, and defunct feed-syndication infrastructure. Left as originally published.
Something I’ve been meaning to do for years, finally done: my old Blogger blogs are moving in here, one by one.
Before this blog, and running alongside it for years without me really thinking of them as related, I kept separate Blogger sites for whatever I was into at the time — fractal art, tech links, photography. They mostly went dormant, but they never got deleted, and every so often I’d think “I should really pull that lot into 0x32 someday.” Google Takeout finally made “someday” easy: it exports a Blogger blog as an Atom feed with every post’s original title, HTML body, labels, and publish timestamp intact, so nothing needs backdating by hand. A Claude Code session parsed each export, converted the posts into Hugo front matter with their real dates, and mapped Blogger’s labels onto tags — three separate imports, one per blog.
The first post on this blog went up on the 8th of August 2020, two sentences long:
Welcome to my new blog 0x32 started as I reach the age of 50.
That was six years ago. I genuinely had to check the git log twice, because it doesn’t feel like six years — it feels like I set this thing up a couple of years back at most. Where did the time go.
Back when I wired GoatCounter into this blog, the honest answer to “does any of this actually get read” was a shrug — no analytics meant no way to know. It’s been running for a couple of weeks now, so pulled the first export and had a proper look.
Rather than paste a wall of numbers, here’s the breakdown as an actual chart — daily pageviews, top pages, referrers, and where the hits are coming from:
A Hugo repo hadn’t been looked at properly in a while
This blog is just Hugo content and a vendored theme — no app code, nothing exciting — which is exactly the kind of repo that quietly accumulates small rot nobody notices because nothing ever actually breaks the build. Spent a session pointing Claude Code at it to find and fix that rot.
Started with a straight status check: a couple of generated CSS cache files showing as deleted (build artifacts that shouldn’t have been tracked in the first place) and a stray uncommitted edit sitting inside the ananke theme submodule from as far back as November 2024. Both restored/reverted to get back to a clean tree before touching anything else.
Having been a bit lazy in not updating my Hugo version since I started which was recently breaking one of my Github actions, I decided do do that.
This lead to an cascading update cycle.
Updating Hugo version broke the theme I was using.
Updating the theme broke the Tweet shortcode, no longer on Twitter so edited those post which referenced my old Twitter account.
Updating the Hugo version, broke the Github Action which was building and uploaded to S3. This was due to newer versions of Hugo now having an “extended” and “with_deploy” versions.
Raised a PR against the Github action to update to use the “with_deploy” version.
Still a couple of deprecated warning and fixing background and social icon links to sort out but at least now running against the latest version of Hugo.
Short code for embedding Flickr albums easily.
Here demonstrated with my Inkotober 2020 album.
Short code defined like this
<adata-flickr-embed="true"data-header="true"data-footer="true"href="{{ index .Params 1 }}"title="{{ index .Params 0 }}">
<imgsrc="{{ index .Params 2 }}"width="800"height="600"alt="{{ index .Params 0 }}">
</a><scriptasyncsrc="//embedr.flickr.com/assets/client-code.js"charset="utf-8"></script>
First parameter is the album title.
Second parameter is the album URL.
Third parameter is a URL to an image to use for the album.
Note: 6 of this post’s 19 links are now broken — mostly dead 2008–2013 feed-syndication infrastructure (FeedBurner, Gawker, AOL’s old blog network, Pheedo, Yahoo Pipes). Left as originally published.
Looks like a good idea.
Photojojo The most kick-ass photo tips, DIY projects, and gear
The first post on this blog went up on the 8th of August 2020, two sentences long:
Welcome to my new blog 0x32 started as I reach the age of 50.
That was six years ago. I genuinely had to check the git log twice, because it doesn’t feel like six years — it feels like I set this thing up a couple of years back at most. Where did the time go.
A Hugo repo hadn’t been looked at properly in a while
This blog is just Hugo content and a vendored theme — no app code, nothing exciting — which is exactly the kind of repo that quietly accumulates small rot nobody notices because nothing ever actually breaks the build. Spent a session pointing Claude Code at it to find and fix that rot.
Started with a straight status check: a couple of generated CSS cache files showing as deleted (build artifacts that shouldn’t have been tracked in the first place) and a stray uncommitted edit sitting inside the ananke theme submodule from as far back as November 2024. Both restored/reverted to get back to a clean tree before touching anything else.
Having been a bit lazy in not updating my Hugo version since I started which was recently breaking one of my Github actions, I decided do do that.
This lead to an cascading update cycle.
Updating Hugo version broke the theme I was using.
Updating the theme broke the Tweet shortcode, no longer on Twitter so edited those post which referenced my old Twitter account.
Updating the Hugo version, broke the Github Action which was building and uploaded to S3. This was due to newer versions of Hugo now having an “extended” and “with_deploy” versions.
Raised a PR against the Github action to update to use the “with_deploy” version.
Still a couple of deprecated warning and fixing background and social icon links to sort out but at least now running against the latest version of Hugo.
Short code for embedding Flickr albums easily.
Here demonstrated with my Inkotober 2020 album.
Short code defined like this
<adata-flickr-embed="true"data-header="true"data-footer="true"href="{{ index .Params 1 }}"title="{{ index .Params 0 }}">
<imgsrc="{{ index .Params 2 }}"width="800"height="600"alt="{{ index .Params 0 }}">
</a><scriptasyncsrc="//embedr.flickr.com/assets/client-code.js"charset="utf-8"></script>
First parameter is the album title.
Second parameter is the album URL.
Third parameter is a URL to an image to use for the album.
After designing my first shelf in TinkerCAD, I wanted a project that actually needed a proper enclosure rather than a mounting bracket. I’d been building a small self-contained WiFi scanner around this cheap ESP32 dev board — an ESP32 module with a built-in 1.14 inch LCD — paired with a small rechargeable battery, and it had been living on my desk as a loose tangle of board, wires and cells. Time to give it a case.
Following on from designing my own shelves and stands for prints off the A1 Mini, I’ve finally sat down and learned some proper CAD rather than just cobbling shapes together — first project is TinkerCAD, and the thing I picked to design is a shelf to hold my Unifi WiFi router.
It’s a simple, practical brief for a first go: something to mount the router flat and tidy rather than leaving it balanced wherever it’ll fit. TinkerCAD’s block-based approach made it an easy on-ramp — nothing like the intimidation of opening a full parametric CAD package for the first time — and it was enough to get a properly measured, functional design done in an evening.
A follow-up to my first impressions post on the Bambu Lab A1 Mini — I’ve moved past calibration cubes and benchies now, so here’s a look at the first useful things I’ve actually printed with it.
First up is a phone stand, printed in blue — one I designed myself. Nothing fancy, but it’s exactly the kind of small, practical thing that makes owning a printer worth it, and there’s something extra satisfying about it being your own design rather than someone else’s model. There’s now a permanent stand sat by the printer holding my phone up at a useful angle.
I’ve finally pulled the trigger on a 3D printer — a Bambu Lab A1 Mini. This is something I’ve wanted for a long time, years of watching other people’s prints show up online and thinking “I should really get one of those” before actually doing anything about it.
Went with the A1 Mini over the bigger models mainly for the price and the smaller footprint — it doesn’t take up much desk space, and it felt like a sensible way to dip a toe in without committing to a huge enclosed printer before I know how much I’ll actually use it.
Note: 1 of this post’s 7 links are now broken — mostly dead 2008–2013 feed-syndication infrastructure (FeedBurner, Gawker, AOL’s old blog network, Pheedo, Yahoo Pipes). Left as originally published.
After designing my first shelf in TinkerCAD, I wanted a project that actually needed a proper enclosure rather than a mounting bracket. I’d been building a small self-contained WiFi scanner around this cheap ESP32 dev board — an ESP32 module with a built-in 1.14 inch LCD — paired with a small rechargeable battery, and it had been living on my desk as a loose tangle of board, wires and cells. Time to give it a case.
Following on from designing my own shelves and stands for prints off the A1 Mini, I’ve finally sat down and learned some proper CAD rather than just cobbling shapes together — first project is TinkerCAD, and the thing I picked to design is a shelf to hold my Unifi WiFi router.
It’s a simple, practical brief for a first go: something to mount the router flat and tidy rather than leaving it balanced wherever it’ll fit. TinkerCAD’s block-based approach made it an easy on-ramp — nothing like the intimidation of opening a full parametric CAD package for the first time — and it was enough to get a properly measured, functional design done in an evening.
A follow-up to my first impressions post on the Bambu Lab A1 Mini — I’ve moved past calibration cubes and benchies now, so here’s a look at the first useful things I’ve actually printed with it.
First up is a phone stand, printed in blue — one I designed myself. Nothing fancy, but it’s exactly the kind of small, practical thing that makes owning a printer worth it, and there’s something extra satisfying about it being your own design rather than someone else’s model. There’s now a permanent stand sat by the printer holding my phone up at a useful angle.
I’ve finally pulled the trigger on a 3D printer — a Bambu Lab A1 Mini. This is something I’ve wanted for a long time, years of watching other people’s prints show up online and thinking “I should really get one of those” before actually doing anything about it.
Went with the A1 Mini over the bigger models mainly for the price and the smaller footprint — it doesn’t take up much desk space, and it felt like a sensible way to dip a toe in without committing to a huge enclosed printer before I know how much I’ll actually use it.
After designing my first shelf in TinkerCAD, I wanted a project that actually needed a proper enclosure rather than a mounting bracket. I’d been building a small self-contained WiFi scanner around this cheap ESP32 dev board — an ESP32 module with a built-in 1.14 inch LCD — paired with a small rechargeable battery, and it had been living on my desk as a loose tangle of board, wires and cells. Time to give it a case.
Following on from designing my own shelves and stands for prints off the A1 Mini, I’ve finally sat down and learned some proper CAD rather than just cobbling shapes together — first project is TinkerCAD, and the thing I picked to design is a shelf to hold my Unifi WiFi router.
It’s a simple, practical brief for a first go: something to mount the router flat and tidy rather than leaving it balanced wherever it’ll fit. TinkerCAD’s block-based approach made it an easy on-ramp — nothing like the intimidation of opening a full parametric CAD package for the first time — and it was enough to get a properly measured, functional design done in an evening.
After designing my first shelf in TinkerCAD, I wanted a project that actually needed a proper enclosure rather than a mounting bracket. I’d been building a small self-contained WiFi scanner around this cheap ESP32 dev board — an ESP32 module with a built-in 1.14 inch LCD — paired with a small rechargeable battery, and it had been living on my desk as a loose tangle of board, wires and cells. Time to give it a case.
Found a LED Matrix with a Max7219 in my parts bin (box of random electronics in the garage) so looked into getting it working with the Pico and MicroPython.
This is an example why I love open source.
The original library I found was functional but sparse, last committed to 4 years ago.
There were a few forks, most not much activity.
One had been active recently and had some major improvements in functionality so switched over to that fork.
https://github.com/enchant97/micropython-max7219
Decided in the end to wire up all 10 LEDS in the LED bar graph.
Using the sketch below get the results shown in the video.
int numLed = 10;
int ledpins[] = {
13,12,11,10,9,8,7,6,5,4};
int mask[] = {
1,2,4,8,16,32,64,128,256,512};
int counter = 0;
voidsetup() { // initialize the digital pin as an output.for (int i=0;i<numLed;i++){
pinMode(ledpins[i], OUTPUT);
digitalWrite(ledpins[i], HIGH);
delay(250);
}
}
After designing my first shelf in TinkerCAD, I wanted a project that actually needed a proper enclosure rather than a mounting bracket. I’d been building a small self-contained WiFi scanner around this cheap ESP32 dev board — an ESP32 module with a built-in 1.14 inch LCD — paired with a small rechargeable battery, and it had been living on my desk as a loose tangle of board, wires and cells. Time to give it a case.
After designing my first shelf in TinkerCAD, I wanted a project that actually needed a proper enclosure rather than a mounting bracket. I’d been building a small self-contained WiFi scanner around this cheap ESP32 dev board — an ESP32 module with a built-in 1.14 inch LCD — paired with a small rechargeable battery, and it had been living on my desk as a loose tangle of board, wires and cells. Time to give it a case.
Following on from designing my own shelves and stands for prints off the A1 Mini, I’ve finally sat down and learned some proper CAD rather than just cobbling shapes together — first project is TinkerCAD, and the thing I picked to design is a shelf to hold my Unifi WiFi router.
It’s a simple, practical brief for a first go: something to mount the router flat and tidy rather than leaving it balanced wherever it’ll fit. TinkerCAD’s block-based approach made it an easy on-ramp — nothing like the intimidation of opening a full parametric CAD package for the first time — and it was enough to get a properly measured, functional design done in an evening.
A follow-up to my first impressions post on the Bambu Lab A1 Mini — I’ve moved past calibration cubes and benchies now, so here’s a look at the first useful things I’ve actually printed with it.
First up is a phone stand, printed in blue — one I designed myself. Nothing fancy, but it’s exactly the kind of small, practical thing that makes owning a printer worth it, and there’s something extra satisfying about it being your own design rather than someone else’s model. There’s now a permanent stand sat by the printer holding my phone up at a useful angle.
I’ve finally pulled the trigger on a 3D printer — a Bambu Lab A1 Mini. This is something I’ve wanted for a long time, years of watching other people’s prints show up online and thinking “I should really get one of those” before actually doing anything about it.
Went with the A1 Mini over the bigger models mainly for the price and the smaller footprint — it doesn’t take up much desk space, and it felt like a sensible way to dip a toe in without committing to a huge enclosed printer before I know how much I’ll actually use it.
Note: 2 of this post’s 5 links are now broken — mostly dead 2008–2013 feed-syndication infrastructure (FeedBurner, Gawker, AOL’s old blog network, Pheedo, Yahoo Pipes). Left as originally published.
Keyboard to the PC I've reused as a Ubuntu Linux automated test box.
As you can see its been under my desk for a while.
Guess you could work out the password from the clean keys?
I've installed Synergy mouse and keyboard sharing on my three active desktops so I don't have to use this keyboard much. If you use more than one desktop computer I'd recommend you install it, saves you having to change between input devices. You just move your cursor off the edge of the screen and you are controlling the pointer on your other machine.
Saving the docs off my broken hard disk (bad sectors) to an old 30GB disk. Windows refused to start even in safe mode so I used Puppy Linux to copy the files between the disks.
Now need to get a new(ish) 80+GB IDE disk to put in the machine.
Note: 1 of this post’s 4 links are now broken — mostly dead 2008–2013 feed-syndication infrastructure (FeedBurner, Gawker, AOL’s old blog network, Pheedo, Yahoo Pipes). Left as originally published.
Note: 13 of this post’s 24 links are now broken — mostly dead 2008–2013 feed-syndication infrastructure (FeedBurner, Gawker, AOL’s old blog network, Pheedo, Yahoo Pipes). Left as originally published.
Media files, data synchronization, and remote backups, oh my! Home computing has advanced to a point where it’s practical to run your own home server, and we’re running down the five best tools for the job.
Note: 3 of this post’s 4 links are now broken — mostly dead 2008–2013 feed-syndication infrastructure (FeedBurner, Gawker, AOL’s old blog network, Pheedo, Yahoo Pipes). Left as originally published.
More drool worthy kit, just wish I could justify getting a Netbook o_0
The Russians have already declared their love, and soon you'll be able to get your mitts on the Samsung N20 and see for yourself what all the fuss is about. It's now available for pre-order from UK retailer BT Shop, priced at £390.98 ($565) VAT included, with a white model due out in February and a black iteration in March. Both models sport a 12.1-inch WXGA display, Windowx XP Home Edition, 1.3GHz VIA Nano U225 CPU processor, 1GB RAM, 160GB HDD, Bluetooth, 3-in-1 card reader, 1.3 megapixel camera, and a 6 Cell battery -- no SSD option at the moment. Additionally, the shop is also showing a new NC10 equipped with HSDPA coming next month for £416.63 ($602) with VAT, which is £107 ($154) more than its non-3G equivalent. Not to worry, US readers, we're sure Sammy will be asking for your Benjamins soon enough.
Having trouble figuring out how a touchscreen Eee PC could fit into your life? No worries, ASUS just did all the heavy synaptic lifting for you with the release of a near 6-minute video showing its new Eee PC Touch UI. A UI teased at CES and built specifically for ASUS’ new touchcreen Eees. All in all it makes a pretty case for why you should pick up a new Eee PC T91 or T101H convertible tablet later this year. Let’s just hope the processor can cope. Originally posted at Engadget
Note: 1 of this post’s 6 links are now broken — mostly dead 2008–2013 feed-syndication infrastructure (FeedBurner, Gawker, AOL’s old blog network, Pheedo, Yahoo Pipes). Left as originally published.
The 56" Phillips Cinema Widescreen LCD is a 21:9 television hitting the streets of selected countries next month. If you want one you can pay an arm and a kidney and watch movies in the proper 21:9 aspect ratio without black barring it. If you don’t want one, forget you ever read this and save that precious brain-space for something useful. Like a tv theme song! Which reminds me – “thank you for being a friend…” Haha, marinate on that one all afternoon, suckers! philips cinema 21:9 ultra widescreen perfect for movie snobs [technabob] Thanks to Julian, who who thought about getting one until he realized he owned a movie theater. An adult movie theater. No, that’s not creepy.
Note: 68 of this post’s 105 links are now broken — mostly dead 2008–2013 feed-syndication infrastructure (FeedBurner, Gawker, AOL’s old blog network, Pheedo, Yahoo Pipes). Left as originally published.
hongkiat.com Online Tips For Tech Users, Bloggers and Designers
Whether you are working on a Mac, a PC, or even both, the way your workstation is setup tells more or less about your attitude and style of working. The workstation could also be your source of inspiration, therefore you might want to put in more thoughts on the place that you’ll spend most of your time at.
We crawled through the net, checking out at how people setup their workstations, focusing how what machines they use, how they are positioned, the decorations, and how other peripherals come in order. Some might think setting up a cool workstation is nothing much but an ‘ego-thing’ but we’ll like to add a point - lots of great ideas and inspiration came from great working environment, particulary the workstation.
Now if you agree, or maybe just curious to see how other people’s workstations look like, here a compilation of 50 Greatest Computer Workstation Setups. Full list after jump.
Note: 2 of this post’s 18 links are now broken — mostly dead 2008–2013 feed-syndication infrastructure (FeedBurner, Gawker, AOL’s old blog network, Pheedo, Yahoo Pipes). Left as originally published.
Adafruit has just put their Uzebox based console into production. The Fuzebox is an 8bit game console based around the ATmega644-20PU microcontroller. Full 256 color 240×224 resolution video output is provide by either a composite connection or svideo. There is an SD card slot on board for future expansion. The chip takes care of all the I/O, so you just need to write your game code in C on top of it.
Note: 1 of this post’s 5 links are now broken — mostly dead 2008–2013 feed-syndication infrastructure (FeedBurner, Gawker, AOL’s old blog network, Pheedo, Yahoo Pipes). Left as originally published.
Ever wonder what it would be like to be inside a UFO? Well wonder no more, this is a preview of hybrid 3D rendering on the gpu…aka your graphics card. You are on a terraforming ship. For more info and videos check out our site here!
Note: 19 of this post’s 24 links are now broken — mostly dead 2008–2013 feed-syndication infrastructure (FeedBurner, Gawker, AOL’s old blog network, Pheedo, Yahoo Pipes). Left as originally published.
Could be a replacement contender for my aging K800i
The mobile phone company T-Mobile announced a first version of a new phone called T-Mobile G1 just a few days ago. The mobile phone will be the first to make use of the Google Android Open Source plattform. The G1 will be manufactured by Taiwanese company HTC and hit shelves on October 22 in the United States in colors white, black and brown. Europeans have to wait a little bit longer - as usual - before they can get their hands on the phone that is also known as the gphone.
Note: 12 of this post’s 91 links are now broken — mostly dead 2008–2013 feed-syndication infrastructure (FeedBurner, Gawker, AOL’s old blog network, Pheedo, Yahoo Pipes). Left as originally published.
After designing my first shelf in TinkerCAD, I wanted a project that actually needed a proper enclosure rather than a mounting bracket. I’d been building a small self-contained WiFi scanner around this cheap ESP32 dev board — an ESP32 module with a built-in 1.14 inch LCD — paired with a small rechargeable battery, and it had been living on my desk as a loose tangle of board, wires and cells. Time to give it a case.
Following on from designing my own shelves and stands for prints off the A1 Mini, I’ve finally sat down and learned some proper CAD rather than just cobbling shapes together — first project is TinkerCAD, and the thing I picked to design is a shelf to hold my Unifi WiFi router.
It’s a simple, practical brief for a first go: something to mount the router flat and tidy rather than leaving it balanced wherever it’ll fit. TinkerCAD’s block-based approach made it an easy on-ramp — nothing like the intimidation of opening a full parametric CAD package for the first time — and it was enough to get a properly measured, functional design done in an evening.
A follow-up to my first impressions post on the Bambu Lab A1 Mini — I’ve moved past calibration cubes and benchies now, so here’s a look at the first useful things I’ve actually printed with it.
First up is a phone stand, printed in blue — one I designed myself. Nothing fancy, but it’s exactly the kind of small, practical thing that makes owning a printer worth it, and there’s something extra satisfying about it being your own design rather than someone else’s model. There’s now a permanent stand sat by the printer holding my phone up at a useful angle.
I’ve finally pulled the trigger on a 3D printer — a Bambu Lab A1 Mini. This is something I’ve wanted for a long time, years of watching other people’s prints show up online and thinking “I should really get one of those” before actually doing anything about it.
Went with the A1 Mini over the bigger models mainly for the price and the smaller footprint — it doesn’t take up much desk space, and it felt like a sensible way to dip a toe in without committing to a huge enclosed printer before I know how much I’ll actually use it.
After designing my first shelf in TinkerCAD, I wanted a project that actually needed a proper enclosure rather than a mounting bracket. I’d been building a small self-contained WiFi scanner around this cheap ESP32 dev board — an ESP32 module with a built-in 1.14 inch LCD — paired with a small rechargeable battery, and it had been living on my desk as a loose tangle of board, wires and cells. Time to give it a case.
Following on from designing my own shelves and stands for prints off the A1 Mini, I’ve finally sat down and learned some proper CAD rather than just cobbling shapes together — first project is TinkerCAD, and the thing I picked to design is a shelf to hold my Unifi WiFi router.
It’s a simple, practical brief for a first go: something to mount the router flat and tidy rather than leaving it balanced wherever it’ll fit. TinkerCAD’s block-based approach made it an easy on-ramp — nothing like the intimidation of opening a full parametric CAD package for the first time — and it was enough to get a properly measured, functional design done in an evening.
Following on from designing my own shelves and stands for prints off the A1 Mini, I’ve finally sat down and learned some proper CAD rather than just cobbling shapes together — first project is TinkerCAD, and the thing I picked to design is a shelf to hold my Unifi WiFi router.
It’s a simple, practical brief for a first go: something to mount the router flat and tidy rather than leaving it balanced wherever it’ll fit. TinkerCAD’s block-based approach made it an easy on-ramp — nothing like the intimidation of opening a full parametric CAD package for the first time — and it was enough to get a properly measured, functional design done in an evening.
Short code for embedding Flickr albums easily.
Here demonstrated with my Inkotober 2020 album.
Short code defined like this
<adata-flickr-embed="true"data-header="true"data-footer="true"href="{{ index .Params 1 }}"title="{{ index .Params 0 }}">
<imgsrc="{{ index .Params 2 }}"width="800"height="600"alt="{{ index .Params 0 }}">
</a><scriptasyncsrc="//embedr.flickr.com/assets/client-code.js"charset="utf-8"></script>
First parameter is the album title.
Second parameter is the album URL.
Third parameter is a URL to an image to use for the album.
After watching Speed Cubers documentary on NetFlix decided to start back trying to learn to solve the cube from memory rather than following the instructions.
So far I can get upto the middle layer without refering to the online walk through instructions.
It started life as a Doom fan site back in the late 90s — WADs, screenshots, whatever bits of Doom nonsense felt worth putting on the web at the time. It’s sat online quietly ever since, hosted the whole way through by teamhellspawn.com, who’ve now let me know they’re winding things down.
I want to say a proper thank you to them for that. Free webspace for the better part of three decades is a genuinely long time to keep something ticking over for no reason beyond being decent about it, and rather than just switching it off, they gave me the chance to get everything off in one piece before it went. Not everyone bothers with that on the way out, so it was appreciated.
It started life as a Doom fan site back in the late 90s — WADs, screenshots, whatever bits of Doom nonsense felt worth putting on the web at the time. It’s sat online quietly ever since, hosted the whole way through by teamhellspawn.com, who’ve now let me know they’re winding things down.
I want to say a proper thank you to them for that. Free webspace for the better part of three decades is a genuinely long time to keep something ticking over for no reason beyond being decent about it, and rather than just switching it off, they gave me the chance to get everything off in one piece before it went. Not everyone bothers with that on the way out, so it was appreciated.
It started life as a Doom fan site back in the late 90s — WADs, screenshots, whatever bits of Doom nonsense felt worth putting on the web at the time. It’s sat online quietly ever since, hosted the whole way through by teamhellspawn.com, who’ve now let me know they’re winding things down.
I want to say a proper thank you to them for that. Free webspace for the better part of three decades is a genuinely long time to keep something ticking over for no reason beyond being decent about it, and rather than just switching it off, they gave me the chance to get everything off in one piece before it went. Not everyone bothers with that on the way out, so it was appreciated.
It started life as a Doom fan site back in the late 90s — WADs, screenshots, whatever bits of Doom nonsense felt worth putting on the web at the time. It’s sat online quietly ever since, hosted the whole way through by teamhellspawn.com, who’ve now let me know they’re winding things down.
I want to say a proper thank you to them for that. Free webspace for the better part of three decades is a genuinely long time to keep something ticking over for no reason beyond being decent about it, and rather than just switching it off, they gave me the chance to get everything off in one piece before it went. Not everyone bothers with that on the way out, so it was appreciated.
Note: 1 of this post’s 2 links is now broken — mostly deleted or made-private Flickr photos, dead Flickr farmN subdomains, and defunct feed-syndication infrastructure. Left as originally published.
via Instagram ift.tt/1mn0xrq July 06, 2014 at 05:59PM http://flic.kr/p/nWEn7G, July 06, 2014 at 07:19PM
Note: 5 of this post’s 6 links are now broken — mostly deleted or made-private Flickr photos, dead Flickr farmN subdomains, and defunct feed-syndication infrastructure. Left as originally published.
Via Flickr:
US Army Jeep detail, taken at the Wath Street Fair 2011
The iPhone guys at work have been talking about a retro camera app for their phones, so I’ve decided to look at what’s available for the Android platform.
FxCamera enables you to take a picture with various effects,
ToyCam (number of colour mode and vignetting settings available with randomizer)
Polandroid (number of colour mode and film type settings available)
Fisheye
SymmetriCam
Warhol
Normal
It works quite well for the ToyCam and Polandroid but the other three modes are more of a novelty than something you’d use all the time. Downside it has a maximum picture resolution of 960 by 640 pixels. It is 1524kb in size and can be moved to the SD card.
The iPhone guys at work have been talking about a retro camera app for their phones, so I’ve decided to look at what’s available for the Android platform.
The free ad supported version gives you five retro camera types to play with, see example shots below. The application is a fairly chunky 6179 kb but can be moved to the SD card. It has a novel interface which replicates the retro camera but this reduces the viewfinder size which can be a problem.
Note: 8 of this post’s 19 links are now broken — mostly deleted or made-private Flickr photos, dead Flickr farmN subdomains, and defunct feed-syndication infrastructure. Left as originally published.
The iPhone guys at work have been talking about a retro camera app for their phones, so I’ve decided to look at what’s available for the Android platform.
The free ad supported version gives you five retro camera types to play with, see example shots below. The application is a fairly chunky 6179 kb but can be moved to the SD card. It has a novel interface which replicates the retro camera but this reduces the viewfinder size which can be a problem.
Note: 1 of this post’s 3 links are now broken — mostly dead 2008–2013 feed-syndication infrastructure (FeedBurner, Gawker, AOL’s old blog network, Pheedo, Yahoo Pipes). Left as originally published.
Sometime your jaw just drops
Almost perfect version of Chuckie Egg written in DHTML with level editor.
Note: 5 of this post’s 6 links are now broken — mostly dead 2008–2013 feed-syndication infrastructure (FeedBurner, Gawker, AOL’s old blog network, Pheedo, Yahoo Pipes). Left as originally published.
This is retro cool, just don't try using it in your walkman :)
One sound you don’t hear very often these days, you’d to be something of a comforting sound back in the early days of the interwebs. Maybe its like a white noise machine or something.
It started life as a Doom fan site back in the late 90s — WADs, screenshots, whatever bits of Doom nonsense felt worth putting on the web at the time. It’s sat online quietly ever since, hosted the whole way through by teamhellspawn.com, who’ve now let me know they’re winding things down.
I want to say a proper thank you to them for that. Free webspace for the better part of three decades is a genuinely long time to keep something ticking over for no reason beyond being decent about it, and rather than just switching it off, they gave me the chance to get everything off in one piece before it went. Not everyone bothers with that on the way out, so it was appreciated.
URL shortening is a great idea for Twitter’s 120 character limit but it does have its problems. Most annoying, you find an interesting link and click on it and get presented with the screen above. There is nothing you can do to get to the article you clicked on until the server load goes down.
Other problems include you don’t know what site you will end up on so can end up on a phishing site or something NSFW, although TinyURLs preview option kind of helps that problem.
Note: 1 of this post’s 4 links are now broken — mostly dead 2008–2013 feed-syndication infrastructure (FeedBurner, Gawker, AOL’s old blog network, Pheedo, Yahoo Pipes). Left as originally published.
A Geek Chart is a web badge that shows where you share stuff online. Each slice of the Geek Chart is a link to your profile on sites like Flickr, Twitter, Youtube and more.
I sat down and mapped out how all my internet feeds map together.
The main gathering point is my Twitter account.
I also seem to have a Twitter addiction which can be seen from this graph November 2008 looks like when I discovered TwitterFeed to like my other post through to my Twitter account.
Note: 113 of this post’s 135 links are now broken — mostly dead 2008–2013 feed-syndication infrastructure (FeedBurner, Gawker, AOL’s old blog network, Pheedo, Yahoo Pipes). Left as originally published.
Some cool 404 pages :)
hongkiat.com Online Tips For Tech Users, Bloggers and Designers
Having a good Error 404 page is perhaps as important as having great contents. Sometimes it may not be your fault visitors landed on error pages, but being able to communicate and direct them back to the home page is as good as a second chance to re-engage a visitor. Error 404 page helps you does that.
Note: 23 of this post’s 25 links are now broken — mostly dead 2008–2013 feed-syndication infrastructure (FeedBurner, Gawker, AOL’s old blog network, Pheedo, Yahoo Pipes). Left as originally published.
Melt Mail is a free email forwarding service that creates a temporary email address that forwards all incoming mail to your real email address. To use it, just enter the email address you want messages forwarded to, select how long you want it to work, then hit Create. Melt Mail generates a random address that you can use with impunity to register on spam-likely sites, for example, and after 3, 6, 12, or 24 hours, the forwarding will stop. We’ve coveredboatloads of similardisposableemailapplications, so Melt Mail isn’t breaking any new ground, but since some services won’t allow you to register with popular temporary email addresses, it’s worthwhile to have another option in your arsenal. Besides, the dead-simple interface is a nice touch.
Note: 19 of this post’s 20 links are now broken — mostly dead 2008–2013 feed-syndication infrastructure (FeedBurner, Gawker, AOL’s old blog network, Pheedo, Yahoo Pipes). Left as originally published.
Note: 18 of this post’s 19 links are now broken — mostly dead 2008–2013 feed-syndication infrastructure (FeedBurner, Gawker, AOL’s old blog network, Pheedo, Yahoo Pipes). Left as originally published.
Another Firefox addon to add to my growing collection.
Something I’ve been meaning to do for years, finally done: my old Blogger blogs are moving in here, one by one.
Before this blog, and running alongside it for years without me really thinking of them as related, I kept separate Blogger sites for whatever I was into at the time — fractal art, tech links, photography. They mostly went dormant, but they never got deleted, and every so often I’d think “I should really pull that lot into 0x32 someday.” Google Takeout finally made “someday” easy: it exports a Blogger blog as an Atom feed with every post’s original title, HTML body, labels, and publish timestamp intact, so nothing needs backdating by hand. A Claude Code session parsed each export, converted the posts into Hugo front matter with their real dates, and mapped Blogger’s labels onto tags — three separate imports, one per blog.
Something I’ve been meaning to do for years, finally done: my old Blogger blogs are moving in here, one by one.
Before this blog, and running alongside it for years without me really thinking of them as related, I kept separate Blogger sites for whatever I was into at the time — fractal art, tech links, photography. They mostly went dormant, but they never got deleted, and every so often I’d think “I should really pull that lot into 0x32 someday.” Google Takeout finally made “someday” easy: it exports a Blogger blog as an Atom feed with every post’s original title, HTML body, labels, and publish timestamp intact, so nothing needs backdating by hand. A Claude Code session parsed each export, converted the posts into Hugo front matter with their real dates, and mapped Blogger’s labels onto tags — three separate imports, one per blog.
Fractal Lab might be coolest demonstration of WebGL and JavaScript that we've ever seen here in the Download Squad bunker. If you've ever studied Mandelbrot sets -- either willingly, or for Computer Science at high school -- Fractal Lab will change your perception of iterative, recursive maths for ever.
At first glance, Fractal Lab isn't immediately exciting -- in fact, when you close the Help dialog, all you get is a blank checkerboard. It's only when you start hitting some buttons that you realize just how awesomely powerful this demonstration is. If you haven't opened the site up yet, do so now. Then hit '3D,' and wait while your CPU renders your fractal design. What you will eventually see before you is drawn using WebGL and the GLSL shading language.
If that wasn't cool enough, you can move around the rendered object! Scroll in and out with the mouse wheel, move around with W and S, A and D. If you have a powerful computer, un-tick 'Preview mode' at the bottom; it'll make everything look rather beautiful.
Then, when you're bored of that, start moving through the tabs: Constants, Fractal, Camera, Colour and Shading. Each and every one will radically change the rendered object, or how it's displayed in your browser. Pick some new numbers (change the 'Fractal type' on the Constants tab!), then hit Recompile.
And yes, if you weren't excited enough about seeing an actual, real-world application of WebGL, you can even save your fractals using HTML5's localStorage feature!
Fractal Lab is a small piece of genius, and hopefully a good sign that more awesome things will soon gush from the HTML5 and Open Web pipeline.
Initial Design Created with this script startshape crystals
rule crystals { crystal { h 81.87 sat 0.8642 b 1.0000 } crystal { h 81.87 sat 0.8642 b 1.0000 r 90} crystal { h 81.87 sat 0.8642 b 1.0000 r 180} crystal { h 81.87 sat 0.8642 b 1.0000 r 270} }
rule crystal { blob {} crystal {s 0.5 y 0.75} crystal {s 0.5 x 0.75} }
rule blob { SQUARE {} blob {s 0.9 b - 0.1 r 5} }
Add an extra layer of recursion startshape gem
rule gem{ crystals {} gem { s 0.8 r 10 } }
rule crystals { crystal { h 81.87 sat 0.8642 b 1.0000 } crystal { h 81.87 sat 0.8642 b 1.0000 r 90} crystal { h 81.87 sat 0.8642 b 1.0000 r 180} crystal { h 81.87 sat 0.8642 b 1.0000 r 270} }
rule crystal { blob {} crystal {s 0.5 y 0.75} crystal {s 0.5 x 0.75} }
rule blob { SQUARE {} blob {s 0.9 b - 0.1 r 5} }
Or with this change create a spiral effect startshape gems
rule gems{ 8 * {r 45} gem {} }
rule gem{ crystals {} gem { s 0.8 r 10 x 2.5} }
rule crystals { crystal { h 81.87 sat 0.8642 b 1.0000 } crystal { h 81.87 sat 0.8642 b 1.0000 r 90} crystal { h 81.87 sat 0.8642 b 1.0000 r 180} crystal { h 81.87 sat 0.8642 b 1.0000 r 270} }
rule crystal { blob {} crystal {s 0.5 y 0.75} crystal {s 0.5 x 0.75} }
rule blob { SQUARE {} blob {s 0.9 b - 0.1 r 5} }
Finally add some colour and change the angle startshape gems
rule gems{ 8 * {r 45} gem {h 81.87 sat 0.8642 b 1.0000} }
rule gem{ crystals {} gem { s 0.8 r 25 x 2.5 h +25} }
rule crystals { crystal { } crystal { r 90} crystal { r 180} crystal { r 270} }
rule crystal { blob {} crystal {s 0.5 y 0.75} crystal {s 0.5 x 0.75} }
symbolset writes "Many know the beauty and complexity of the Mandelbrot set. For some years now a few enterprising mathematicians / rendering fiends have been seeking a true 3D Mandelbrot set. A month ago a solution was found, and it is awesome to behold."
Windows program for exploring fractals including: Mandelbrot, Julia, Convergent, Newton, Orbit Traps, Sierpinski Triangle, IFS, Strange Attractors, Rep-N Tiles, Symmetric Icons, Apollonian Gasket, Circle Inversion, Schottky Group, Kleinian Group, L-System and many more. Hundreds of built-in equations, transformations, orbit traps, and color controllers, allow the casual user to produce stunning fractal images while providing the experienced fractal developer a rich set of illustrative examples on which to build his/her own programs.
Context Free is a program that generates images from written instructions called a grammar. The program follows the instructions in a few seconds to create images that can contain millions of shapes.
CFDG is a simple language for generating stunning images. With only a few lines you can describe abstract art, beautiful organic scenery, and many kinds of fractals. It’s highly addictive!
Stewart Lawrence Crookwell is an eighty year old fractal artist who produces unique images have a look at his website http://www.wirefree.net.au/~lawrence
The program that I used to create most of the images here. Good range of fractal types, examples, options. Its fast too. Just download it. DOS version runs well under Windows 95.
Something I’ve been meaning to do for years, finally done: my old Blogger blogs are moving in here, one by one.
Before this blog, and running alongside it for years without me really thinking of them as related, I kept separate Blogger sites for whatever I was into at the time — fractal art, tech links, photography. They mostly went dormant, but they never got deleted, and every so often I’d think “I should really pull that lot into 0x32 someday.” Google Takeout finally made “someday” easy: it exports a Blogger blog as an Atom feed with every post’s original title, HTML body, labels, and publish timestamp intact, so nothing needs backdating by hand. A Claude Code session parsed each export, converted the posts into Hugo front matter with their real dates, and mapped Blogger’s labels onto tags — three separate imports, one per blog.
The first post on this blog went up on the 8th of August 2020, two sentences long:
Welcome to my new blog 0x32 started as I reach the age of 50.
That was six years ago. I genuinely had to check the git log twice, because it doesn’t feel like six years — it feels like I set this thing up a couple of years back at most. Where did the time go.
The first post on this blog went up on the 8th of August 2020, two sentences long:
Welcome to my new blog 0x32 started as I reach the age of 50.
That was six years ago. I genuinely had to check the git log twice, because it doesn’t feel like six years — it feels like I set this thing up a couple of years back at most. Where did the time go.
I’ve got a small repo, ContextFree, that I keep coming back to whenever I want the specific kind of fun that comes from writing a handful of lines of code and having something unexpectedly pretty fall out the other end. It’s a collection of Context Free Art scripts — a tiny grammar for describing images as recursive drawing rules — plus a Docker image wrapping the cfdg renderer so I can run them without installing anything locally.
A Hugo repo hadn’t been looked at properly in a while
This blog is just Hugo content and a vendored theme — no app code, nothing exciting — which is exactly the kind of repo that quietly accumulates small rot nobody notices because nothing ever actually breaks the build. Spent a session pointing Claude Code at it to find and fix that rot.
Started with a straight status check: a couple of generated CSS cache files showing as deleted (build artifacts that shouldn’t have been tracked in the first place) and a stray uncommitted edit sitting inside the ananke theme submodule from as far back as November 2024. Both restored/reverted to get back to a clean tree before touching anything else.
Spent today “vibe coding” with Claude, just describing what I wanted and letting it drive, to see how far that gets you on a small self-contained project. The result is fractalPy, a small Numba-accelerated Mandelbrot set renderer.
It started as a single script — render the set to a PNG, colour it, done — using @njit(parallel=True, fastmath=True, cache=True) to JIT-compile the escape-time kernel so it’s fast enough to iterate on interactively:
Found a LED Matrix with a Max7219 in my parts bin (box of random electronics in the garage) so looked into getting it working with the Pico and MicroPython.
This is an example why I love open source.
The original library I found was functional but sparse, last committed to 4 years ago.
There were a few forks, most not much activity.
One had been active recently and had some major improvements in functionality so switched over to that fork.
https://github.com/enchant97/micropython-max7219
I’ve got a small repo, ContextFree, that I keep coming back to whenever I want the specific kind of fun that comes from writing a handful of lines of code and having something unexpectedly pretty fall out the other end. It’s a collection of Context Free Art scripts — a tiny grammar for describing images as recursive drawing rules — plus a Docker image wrapping the cfdg renderer so I can run them without installing anything locally.
Note: 1 of this post’s 5 links are now broken — mostly dead 2008–2013 feed-syndication infrastructure (FeedBurner, Gawker, AOL’s old blog network, Pheedo, Yahoo Pipes). Left as originally published.
After setting up a Streaming radio instance of MPD/Icecast2 running in a Docker image I was looking for a nice front end to control it.
Note: 1 of this post’s 13 links are now broken — mostly dead 2008–2013 feed-syndication infrastructure (FeedBurner, Gawker, AOL’s old blog network, Pheedo, Yahoo Pipes). Left as originally published.
Note: 1 of this post’s 7 links are now broken — mostly dead 2008–2013 feed-syndication infrastructure (FeedBurner, Gawker, AOL’s old blog network, Pheedo, Yahoo Pipes). Left as originally published.
Here is a low resource Lighttpd with PHP Docker image running on Alpine Linux, only ~37MB image.
I've updated the owncloud Docker compose file to include a Nginx automatic reverse proxy and added some scripts to handle backing up and restoring the database.
Note: 2 of this post’s 8 links are now broken — mostly dead 2008–2013 feed-syndication infrastructure (FeedBurner, Gawker, AOL’s old blog network, Pheedo, Yahoo Pipes). Left as originally published.
For example this Vagrant setup spins up an Ubuntu VM and then using the Docker module spins up a Jenkins build server Docker container with a few simple commands;
I’ve got a small repo, ContextFree, that I keep coming back to whenever I want the specific kind of fun that comes from writing a handful of lines of code and having something unexpectedly pretty fall out the other end. It’s a collection of Context Free Art scripts — a tiny grammar for describing images as recursive drawing rules — plus a Docker image wrapping the cfdg renderer so I can run them without installing anything locally.
I’ve got a small repo, ContextFree, that I keep coming back to whenever I want the specific kind of fun that comes from writing a handful of lines of code and having something unexpectedly pretty fall out the other end. It’s a collection of Context Free Art scripts — a tiny grammar for describing images as recursive drawing rules — plus a Docker image wrapping the cfdg renderer so I can run them without installing anything locally.
Back when I wired GoatCounter into this blog, the honest answer to “does any of this actually get read” was a shrug — no analytics meant no way to know. It’s been running for a couple of weeks now, so pulled the first export and had a proper look.
Rather than paste a wall of numbers, here’s the breakdown as an actual chart — daily pageviews, top pages, referrers, and where the hits are coming from:
Been using Claude Code as my daily driver for a few days now, so when Google’s Antigravity CLI showed up I figured it was worth a proper look rather than just reading the launch blog post. Ran it side by side with Claude Code on the same kind of day-to-day work — repo exploration, small fixes, the usual — to see how the two actually compare in practice rather than on paper.
A Hugo repo hadn’t been looked at properly in a while
This blog is just Hugo content and a vendored theme — no app code, nothing exciting — which is exactly the kind of repo that quietly accumulates small rot nobody notices because nothing ever actually breaks the build. Spent a session pointing Claude Code at it to find and fix that rot.
Started with a straight status check: a couple of generated CSS cache files showing as deleted (build artifacts that shouldn’t have been tracked in the first place) and a stray uncommitted edit sitting inside the ananke theme submodule from as far back as November 2024. Both restored/reverted to get back to a clean tree before touching anything else.
Spent today “vibe coding” with Claude, just describing what I wanted and letting it drive, to see how far that gets you on a small self-contained project. The result is fractalPy, a small Numba-accelerated Mandelbrot set renderer.
It started as a single script — render the set to a PNG, colour it, done — using @njit(parallel=True, fastmath=True, cache=True) to JIT-compile the escape-time kernel so it’s fast enough to iterate on interactively:
I’ve been using Google alerts to get emails of news about various topics for a while.
As I’m reducing my Google footprint this was one of the things I had trouble replacing, until now.
Using Brave Search API node in N8N I can now search for news on a topic and format it into a email digest.
Having been a bit lazy in not updating my Hugo version since I started which was recently breaking one of my Github actions, I decided do do that.
This lead to an cascading update cycle.
Updating Hugo version broke the theme I was using.
Updating the theme broke the Tweet shortcode, no longer on Twitter so edited those post which referenced my old Twitter account.
Updating the Hugo version, broke the Github Action which was building and uploaded to S3. This was due to newer versions of Hugo now having an “extended” and “with_deploy” versions.
Raised a PR against the Github action to update to use the “with_deploy” version.
Still a couple of deprecated warning and fixing background and social icon links to sort out but at least now running against the latest version of Hugo.
Found a LED Matrix with a Max7219 in my parts bin (box of random electronics in the garage) so looked into getting it working with the Pico and MicroPython.
This is an example why I love open source.
The original library I found was functional but sparse, last committed to 4 years ago.
There were a few forks, most not much activity.
One had been active recently and had some major improvements in functionality so switched over to that fork.
https://github.com/enchant97/micropython-max7219
I wrote a simple Python script to monitor the clipboard and write any unique text content out to a YAML file for a history.
It might turn into something better eventually.
Update
Updated to use a settings file for file location and size.
#!/usr/bin/env python3import pyperclip
import time
import yaml
import toml
import os
from yaml.loader import SafeLoader
script_path = os.path.dirname(os.path.abspath(__file__))
settings = toml.load(os.path.join(script_path, "clippy.toml"))
history = settings["history"]
max_size = settings["size"]
cliptext =""clip_array = []
with open(history, "r") as f:
clip_array = list(yaml.load_all(f, Loader=SafeLoader))
clip_array = sum(clip_array, [])
whileTrue:
tmptext = pyperclip.paste()
if tmptext != cliptext:
cliptext = tmptext
if cliptext notin clip_array:
clip_array.insert(0,tmptext)
if len(clip_array) > max_size:
clip_array.pop()
with open(history, "w") as f:
f.write(yaml.dump(clip_array))
time.sleep(1)
One thing that I’ve never got around to seriously try in my years messing around with different operating systems is BSD, other than the flavor of it your get with MacOs.
Having watch a lot of videos around it recently on YouTube by RoboNuggie on FreeBSD it encouraged me to have to give it a go.
It went surprisingly well the and have tried both XFCE and Mate desktop installs. Something that I’ll look at using more of in the future as a backup daily driver.
It is funny how things come around again, when I started learning to programming back in the 1980s on my 8 bit machines (ZX81, Acorn Electron, BBC Micro) I used to play with graphics a lot.
It gave instant feedback and visually showed the results of things like recursion.
I had great fun playing with Fractals and other procedural generated images.
Recently I discovered a YouTube channel and programming platform which took me right back to those days.
Found mGit App which looks like it would do the job of repo management on Android.
First trial not so good.
Wondering if its an issue with having MFA enabled on my Github account, although using my personal access token instead of the password should work I would have thought.
I’ve submitted an issue on their Github page, so wait and see what they say about it.
Back when I wired GoatCounter into this blog, the honest answer to “does any of this actually get read” was a shrug — no analytics meant no way to know. It’s been running for a couple of weeks now, so pulled the first export and had a proper look.
Rather than paste a wall of numbers, here’s the breakdown as an actual chart — daily pageviews, top pages, referrers, and where the hits are coming from:
Back when I wired GoatCounter into this blog, the honest answer to “does any of this actually get read” was a shrug — no analytics meant no way to know. It’s been running for a couple of weeks now, so pulled the first export and had a proper look.
Rather than paste a wall of numbers, here’s the breakdown as an actual chart — daily pageviews, top pages, referrers, and where the hits are coming from:
Been using Claude Code as my daily driver for a few days now, so when Google’s Antigravity CLI showed up I figured it was worth a proper look rather than just reading the launch blog post. Ran it side by side with Claude Code on the same kind of day-to-day work — repo exploration, small fixes, the usual — to see how the two actually compare in practice rather than on paper.
A Hugo repo hadn’t been looked at properly in a while
This blog is just Hugo content and a vendored theme — no app code, nothing exciting — which is exactly the kind of repo that quietly accumulates small rot nobody notices because nothing ever actually breaks the build. Spent a session pointing Claude Code at it to find and fix that rot.
Started with a straight status check: a couple of generated CSS cache files showing as deleted (build artifacts that shouldn’t have been tracked in the first place) and a stray uncommitted edit sitting inside the ananke theme submodule from as far back as November 2024. Both restored/reverted to get back to a clean tree before touching anything else.
Spent today “vibe coding” with Claude, just describing what I wanted and letting it drive, to see how far that gets you on a small self-contained project. The result is fractalPy, a small Numba-accelerated Mandelbrot set renderer.
It started as a single script — render the set to a PNG, colour it, done — using @njit(parallel=True, fastmath=True, cache=True) to JIT-compile the escape-time kernel so it’s fast enough to iterate on interactively:
Been using Claude Code as my daily driver for a few days now, so when Google’s Antigravity CLI showed up I figured it was worth a proper look rather than just reading the launch blog post. Ran it side by side with Claude Code on the same kind of day-to-day work — repo exploration, small fixes, the usual — to see how the two actually compare in practice rather than on paper.
Been using Claude Code as my daily driver for a few days now, so when Google’s Antigravity CLI showed up I figured it was worth a proper look rather than just reading the launch blog post. Ran it side by side with Claude Code on the same kind of day-to-day work — repo exploration, small fixes, the usual — to see how the two actually compare in practice rather than on paper.
A Hugo repo hadn’t been looked at properly in a while
This blog is just Hugo content and a vendored theme — no app code, nothing exciting — which is exactly the kind of repo that quietly accumulates small rot nobody notices because nothing ever actually breaks the build. Spent a session pointing Claude Code at it to find and fix that rot.
Started with a straight status check: a couple of generated CSS cache files showing as deleted (build artifacts that shouldn’t have been tracked in the first place) and a stray uncommitted edit sitting inside the ananke theme submodule from as far back as November 2024. Both restored/reverted to get back to a clean tree before touching anything else.
Spent today “vibe coding” with Claude, just describing what I wanted and letting it drive, to see how far that gets you on a small self-contained project. The result is fractalPy, a small Numba-accelerated Mandelbrot set renderer.
It started as a single script — render the set to a PNG, colour it, done — using @njit(parallel=True, fastmath=True, cache=True) to JIT-compile the escape-time kernel so it’s fast enough to iterate on interactively:
Been using Claude Code as my daily driver for a few days now, so when Google’s Antigravity CLI showed up I figured it was worth a proper look rather than just reading the launch blog post. Ran it side by side with Claude Code on the same kind of day-to-day work — repo exploration, small fixes, the usual — to see how the two actually compare in practice rather than on paper.
Been using Claude Code as my daily driver for a few days now, so when Google’s Antigravity CLI showed up I figured it was worth a proper look rather than just reading the launch blog post. Ran it side by side with Claude Code on the same kind of day-to-day work — repo exploration, small fixes, the usual — to see how the two actually compare in practice rather than on paper.
Been using Claude Code as my daily driver for a few days now, so when Google’s Antigravity CLI showed up I figured it was worth a proper look rather than just reading the launch blog post. Ran it side by side with Claude Code on the same kind of day-to-day work — repo exploration, small fixes, the usual — to see how the two actually compare in practice rather than on paper.
A Hugo repo hadn’t been looked at properly in a while
This blog is just Hugo content and a vendored theme — no app code, nothing exciting — which is exactly the kind of repo that quietly accumulates small rot nobody notices because nothing ever actually breaks the build. Spent a session pointing Claude Code at it to find and fix that rot.
Started with a straight status check: a couple of generated CSS cache files showing as deleted (build artifacts that shouldn’t have been tracked in the first place) and a stray uncommitted edit sitting inside the ananke theme submodule from as far back as November 2024. Both restored/reverted to get back to a clean tree before touching anything else.
Spent today “vibe coding” with Claude, just describing what I wanted and letting it drive, to see how far that gets you on a small self-contained project. The result is fractalPy, a small Numba-accelerated Mandelbrot set renderer.
It started as a single script — render the set to a PNG, colour it, done — using @njit(parallel=True, fastmath=True, cache=True) to JIT-compile the escape-time kernel so it’s fast enough to iterate on interactively:
Spent today “vibe coding” with Claude, just describing what I wanted and letting it drive, to see how far that gets you on a small self-contained project. The result is fractalPy, a small Numba-accelerated Mandelbrot set renderer.
It started as a single script — render the set to a PNG, colour it, done — using @njit(parallel=True, fastmath=True, cache=True) to JIT-compile the escape-time kernel so it’s fast enough to iterate on interactively:
Found a LED Matrix with a Max7219 in my parts bin (box of random electronics in the garage) so looked into getting it working with the Pico and MicroPython.
This is an example why I love open source.
The original library I found was functional but sparse, last committed to 4 years ago.
There were a few forks, most not much activity.
One had been active recently and had some major improvements in functionality so switched over to that fork.
https://github.com/enchant97/micropython-max7219
I wrote a simple Python script to monitor the clipboard and write any unique text content out to a YAML file for a history.
It might turn into something better eventually.
Update
Updated to use a settings file for file location and size.
#!/usr/bin/env python3import pyperclip
import time
import yaml
import toml
import os
from yaml.loader import SafeLoader
script_path = os.path.dirname(os.path.abspath(__file__))
settings = toml.load(os.path.join(script_path, "clippy.toml"))
history = settings["history"]
max_size = settings["size"]
cliptext =""clip_array = []
with open(history, "r") as f:
clip_array = list(yaml.load_all(f, Loader=SafeLoader))
clip_array = sum(clip_array, [])
whileTrue:
tmptext = pyperclip.paste()
if tmptext != cliptext:
cliptext = tmptext
if cliptext notin clip_array:
clip_array.insert(0,tmptext)
if len(clip_array) > max_size:
clip_array.pop()
with open(history, "w") as f:
f.write(yaml.dump(clip_array))
time.sleep(1)
I started learning Python last year to do some scripting at work for testing, I recently discovered the game libraries (pygame, pyglet, etc) so have started looking into writing a game.
This is something I’ve been wanting to do from an early age back when I got my first 8-bit computer and never had the time or the skills to achieve.
After just a week of using pyglet during my lunch hour at work and a couple of hours at night I’m well on my way to finishing my first game, a breakout/ arkanoid clone.
I have been thinking about running task on a Ubuntu Linux machine remotely using Twitter. Why you ask, due to firewall restriction where the machine is located I can’t get direct access to it but it has connection out to the internet.
So I thought I could send coded messages to it using Twitter and have it run certain tasks. Should be fairly easy to do in Python I thought, but what do use it for? Kicking off test runs, downloads or other system tasks?
Downloads seemed a simple place to start, why max out my home broadband usage limit when I can get the remote machine to download things off-peak.
Using this Python Twitter API I was able to get a proto-type running in a short time.
Basically it should work like this,
I send a direct message to a Twitter account which only follows me and I follow on my main account.
This contains the code for type of download and the URL of the download.
The Python script is started by cron at scheduled times.
The script connects to Twitter and checks for direct messages.
It parses the direct message and either spawns a WGET or youTube-dl command to get the resource.
If its a video it then runs a command is run to convert it to divX ready for upload it to my phone.
If its a file then it is virus checked.
Finally the direct messages are deleted from the Twitter account and a reply sent to my Twitter account.
So now without physical or remote access to the machine I can queue up downloads to retrieve during off peak hours.
Now I’ve got it work, need to fine tune it to run other remote tasks, like restarting Weblogic or deploying new version of the application and running test suites.
Note: 6 of this post’s 11 links are now broken — mostly dead 2008–2013 feed-syndication infrastructure (FeedBurner, Gawker, AOL’s old blog network, Pheedo, Yahoo Pipes). Left as originally published.
Just need to devise a Python script to automate this for Windows now :)
Everyone knows that Google Image Search sports a drop-down menu for filtering results by small, medium, large, and extra large sizes, but if you’re looking for the perfect wallpaper, for example, the imagesize operator is even better.
I’ve been using Google alerts to get emails of news about various topics for a while.
As I’m reducing my Google footprint this was one of the things I had trouble replacing, until now.
Using Brave Search API node in N8N I can now search for news on a topic and format it into a email digest.
Note: 1 of this post’s 2 links is now broken — mostly deleted or made-private Flickr photos, dead Flickr farmN subdomains, and defunct feed-syndication infrastructure. Left as originally published.
via Instagram ift.tt/1s2lRlV November 01, 2014 at 10:08AM http://flic.kr/p/pBeBuV, November 01, 2014 at 10:21AM
Note: 1 of this post’s 5 links are now broken — mostly dead 2008–2013 feed-syndication infrastructure (FeedBurner, Gawker, AOL’s old blog network, Pheedo, Yahoo Pipes). Left as originally published.
Something to do at lunchtime to get you more familiar with Linux, create a barebones Arch Linux VM. Taken from this article at Lifehacker I've compressed it into the following steps.
Sometimes the best solution is the quickest one, sure I could have written a Ruby script to format the results of the find but a few bash commands achieved the same result.
Doing a lot of work on remote Linux servers lately, lots of login in over SSH running commands logging out.
So wrote this simple script to use Ruby to send a single command or a file of commands to a Linux server over SSH. Needs some error trapping etc but functional at the moment.
It requires the Ruby Gem net-ssh installed.
#!/usr/bin/ruby require 'rubygems' require 'net/ssh' require 'optparse' opts = OptionParser.new opts.on("-h HOSTNAME", "--hostname NAME", String, "Hostname of Server") { |v| @hostname = v } opts.on("-u SSH USERNAME", "--username SSH USERNAME", String, "SSH Username of Server") { |v| @username = v } opts.on("-p SSH PASSWORD", "--password SSH PASSWORD", String, "SSH Password of Server") { |v| @password = v } opts.on("-c SHELL_COMMAND", "--command SHELL_COMMAND", String, "Shell Command to Execute") { |v| @cmd = v } opts.on("-f FILE_COMMAND", "--command FILE_COMMAND", String, "File containing shell Commands to Execute") { |v| @fileCmd = v } begin opts.parse!(ARGV) rescue OptionParser::ParseError => e puts e end raise OptionParser::MissingArgument, "Hostname [-h]" if @hostname.nil? raise OptionParser::MissingArgument, "SSH Username [-u]" if @username.nil? raise OptionParser::MissingArgument, "SSH Password [-p]" if @password.nil? raise OptionParser::MissingArgument, "Command to Execute [-c/-f]" if @cmd.nil? and @fileCmd.nil? begin ssh = Net::SSH.start(@hostname, @username, :password => @password) if @cmd != nil then ssh.exec!(@cmd) do |ch, stream, data| if stream == :stderr puts "ERROR: #{data}" else puts data end end else puts "Processing file #{@fileCmd}" file = File.new(@fileCmd, "r") file.each {|line| ssh.exec!(line) do |ch, stream, data| if stream == :stderr puts "ERROR: #{data}" else puts data end end } file.close end ssh.close rescue Exception => e puts "Unable to connect to #{@hostname} using #{@username}/#{@password}" puts e end
The Ubuntu 10.10 release candidate running on VirtualBox.
Need to work out how to install the guest additions so I can get a proper screen resolution.
Found a solution,
Solution to VirtualBox guest problem 1. Open terminal and enter the following command: sudo apt-get update sudo apt-get install build-essential linux-headers-$(uname -r) sudo apt-get install virtualbox-ose-guest-x11 2. Once installation is finished, restart your virtualBox machine. 3. Go to System -->Preferences -->Monitors and change the resolution of your screen.
Note: 20 of this post’s 27 links are now broken — mostly deleted or made-private Flickr photos, dead Flickr farmN subdomains, and defunct feed-syndication infrastructure. Left as originally published.
For those that use Flckr, it’s always easiest when you have a simple tool that allows quick and painless file uploading. Although logging onto the web site and using the built-in Flickr uploader isn’t difficult, when you have a number of images, or when you upload frequently, this can be a real hassle. So having a stand-alone tool for this purpose is always nice. There are plenty of these tools for the Windows desktop. But what about Linux? You bet there are. There are Flickr uploaders for KDE for GNOME and everything in between.
I’m looking for a new Distro to run on my old PCs at home.
Previously I’ve been running Puppy Linux on it, which so far has been okay, but it doesn’t come with some packages I want installed out of the box (mainly Python).
Speed, performance, stability – these are attributes that set VectorLinux apart in the crowded field of Linux distributions.The creators of VectorLinux had a single credo: keep it simple, keep it small and let the end user decide what their operating system is going to be. What has evolved from this concept is perhaps the best little Linux operating system available anywhere. For the casual computer user you have a lightning fast desktop with graphical programs to handle your daily activities from web surfing, sending and receiving email, chatting on ICQ or IRC to running an ftp server. Power users will be pleased because all the tools are there to compile their own programs, use the system as a server or perhaps the gateway for their home or office computer network. Administrators will be equally as pleased because the small size and memory requirements of the operating system can be deployed on older machines maybe long forgotten.
CrunchBang Linux is an Ubuntu based distribution offering a great blend of speed, style and substance. Using the nimble Openbox window manager, it is highly customisable and provides a modern, full-featured GNU/Linux system without sacrificing performance.
I have been thinking about running task on a Ubuntu Linux machine remotely using Twitter. Why you ask, due to firewall restriction where the machine is located I can’t get direct access to it but it has connection out to the internet.
So I thought I could send coded messages to it using Twitter and have it run certain tasks. Should be fairly easy to do in Python I thought, but what do use it for? Kicking off test runs, downloads or other system tasks?
Downloads seemed a simple place to start, why max out my home broadband usage limit when I can get the remote machine to download things off-peak.
Using this Python Twitter API I was able to get a proto-type running in a short time.
Basically it should work like this,
I send a direct message to a Twitter account which only follows me and I follow on my main account.
This contains the code for type of download and the URL of the download.
The Python script is started by cron at scheduled times.
The script connects to Twitter and checks for direct messages.
It parses the direct message and either spawns a WGET or youTube-dl command to get the resource.
If its a video it then runs a command is run to convert it to divX ready for upload it to my phone.
If its a file then it is virus checked.
Finally the direct messages are deleted from the Twitter account and a reply sent to my Twitter account.
So now without physical or remote access to the machine I can queue up downloads to retrieve during off peak hours.
Now I’ve got it work, need to fine tune it to run other remote tasks, like restarting Weblogic or deploying new version of the application and running test suites.
This will convert all the mp4 files in the local directory to both divx and mp3 format ready to be transferred to my phone. Obviously you need to have the ffmpeg, mencoder and lame mp3 encoder installed on your Linux machine for this too work.
Note: 18 of this post’s 31 links are now broken — mostly dead 2008–2013 feed-syndication infrastructure (FeedBurner, Gawker, AOL’s old blog network, Pheedo, Yahoo Pipes). Left as originally published.
If you’ve ever had to work with a database in Linux you most likely are aware of three or four tools that can handle the task: MySQL, PostgreSQL, PhpMyAdmin, and OpenOffice Base. These are all outstanding applications, but the first two are complex command-line only tools, the third requires a web server, and the last isn’t as robust as some admins will need. But there is another tool that is very flexible and makes creating databases a simple task.
Note: 14 of this post’s 23 links are now broken — mostly dead 2008–2013 feed-syndication infrastructure (FeedBurner, Gawker, AOL’s old blog network, Pheedo, Yahoo Pipes). Left as originally published.
For the longest time I refused to see the value in Twitter. Over the last six months I have changed my tune on that. Now I use Twitter primarily as a PR tool for my articles. And since my renewed belief in micro-blogging, I have found plenty of tools with which to enact with Twitter.
Keyboard to the PC I've reused as a Ubuntu Linux automated test box.
As you can see its been under my desk for a while.
Guess you could work out the password from the clean keys?
I've installed Synergy mouse and keyboard sharing on my three active desktops so I don't have to use this keyboard much. If you use more than one desktop computer I'd recommend you install it, saves you having to change between input devices. You just move your cursor off the edge of the screen and you are controlling the pointer on your other machine.
Note: 6 of this post’s 36 links are now broken — mostly dead 2008–2013 feed-syndication infrastructure (FeedBurner, Gawker, AOL’s old blog network, Pheedo, Yahoo Pipes). Left as originally published.
Linux has become so idiot proof nowadays that there is less and less need to use the command line. However, the commands and shell scripts have remained powerful for advanced users to utilize to help them do complicated tasks quickly and efficiently.
To those of you who are aspiring to become a UNIX/Linux guru, you have to know loads of commands and learn how to effectively use them. But there is really no need to memorize everything since there are plenty of cheat sheets available on the web and on books. To spare you from the hassles of searching, I have here a collection of 10 essential UNIX/Linux cheat sheets that can greatly help you on your quest for mastery:
UNIX Tutorial for Beginners This is a quick and easy UNIX/Linux tutorial page that is aimed at beginners. It gives a subtle introduction to some of the most important UNIX/Linux commands.
Learning the Shell Aside from showing you how to apply the most basic UNIX/Linux commands, "Learning the Shell' will teach you the utmost importance of using the command line.
Learn UNIX in 10 Minutes From the page: This is something that I had given out to students (CAD user training) in years past. The purpose was to have on one page the basics commands for getting started using the UNIX shell (so that they didn't call me asking what to do the first time someone gave them a tape).
FOSSwire Unix/Linux Command Cheat Sheet A one page UNIX/Linux command reference that you can download in PDF format. You can easily print it, and then paste it on your wall.
UNIX Toolbox From the page: This document is a collection of Unix/Linux/BSD commands and tasks which are useful for IT work or for advanced users. This is a practical guide with concise explanations; however the reader is supposed to know what s/he is doing.
Practical Linux Command Line Reference This is another handy one-page cheat sheet for common command line operations. All of the commands have been tested on Fedora and Ubuntu.
How to Look Like a UNIX Guru From the page: This lecture takes you through the basic commands and then shows you how to combine them in simple patterns or idioms to provide sophisticated functionality like histogramming. This lecture assumes you know what a shell is and that you have some basic familiarity with UNIX.
A Directory of Linux Commands (in alphabetical order) From the O'reilly book "Linux in a Nutshell, 5th Edition", it features an alphabetical list of 687 commands and a short description on each one of them.
Linux Security Quick Reference Guide This quick reference guide (in PDF) will serve as your aid on improving the security of your Linux system. It provides some pointers to more in-depth security information that could help you become a good UNIX/Linux system administrator.
Bash Programming Cheat Sheet From the page: A quick cheat sheet for programmers who want to do shell scripting. This is not intended to teach programming, etc. but it is intended for someone who knows one programming language to begin learning about bash scripting.
Attempting to install Websphere 7 Express on Ubuntu 9.0.4
Its hung at "importConfigArchive" stage for a long time, not looking good so far.
Time to do a bit of searching...
Update
Found this on the IBM site seems that sh is linked to dash instead of bash might be the problem. So I've linked sh to bash and going to try installing again.
Note: 2 of this post’s 6 links are now broken — mostly dead 2008–2013 feed-syndication infrastructure (FeedBurner, Gawker, AOL’s old blog network, Pheedo, Yahoo Pipes). Left as originally published.
Tried the Live CD version of Ubuntu 9.04 on my new laptop (Compaq Presario CQ60-305EA) last night, screen redraw was painfully slow. It was almost like a window blind effect opening or moving a Firefox window.
Most confusing, wonder if it has problems with the NVIDIA GeForce 8200M?
Note: 6 of this post’s 9 links are now broken — mostly dead 2008–2013 feed-syndication infrastructure (FeedBurner, Gawker, AOL’s old blog network, Pheedo, Yahoo Pipes). Left as originally published.
Note: 11 of this post’s 29 links are now broken — mostly dead 2008–2013 feed-syndication infrastructure (FeedBurner, Gawker, AOL’s old blog network, Pheedo, Yahoo Pipes). Left as originally published.
If you’re interested in Linux then most likely you have taken a look at Ubuntu. And if you have taken a look at Ubuntu then you know there are a lot of derivatives out there that specialize in one cross section of society or another. But which one is right for you? That is where gHacks comes in.
Note: 13 of this post’s 24 links are now broken — mostly dead 2008–2013 feed-syndication infrastructure (FeedBurner, Gawker, AOL’s old blog network, Pheedo, Yahoo Pipes). Left as originally published.
Media files, data synchronization, and remote backups, oh my! Home computing has advanced to a point where it’s practical to run your own home server, and we’re running down the five best tools for the job.
Note: 2 of this post’s 11 links are now broken — mostly dead 2008–2013 feed-syndication infrastructure (FeedBurner, Gawker, AOL’s old blog network, Pheedo, Yahoo Pipes). Left as originally published.
An ISO file is the easiest and most universal method for backing up a DVD. The file is an archive file specifically for DVD VIDEO_TS and AUDIO_TS files, and is an exact copy of the disc. ISO files can be quickly burned to a new dvd using standard burning software, making it the optimal choice for storing backups.
In Windows, third-party software is the only way to backup a DVD. Luckily, Ubuntu Linux has removed this need, and as a result, you can backup your dvds using a standard feature built into the OS –no software or Terminal required.
This tutorial is written using Ubuntu 8.10 Intrepid Ibex. It will also work with 8.04.
Step 1: Insert the DVD you wish to backup into your optical drive and wait for the dvd icon to appear on your Desktop.
Step 2: Right-click on the DVD icon and choose ‘Copy Disc’ from the menu.
Step 3: A dialog box will appear. In the drop-down box next to ‘Copy to…’, choose FILE IMAGE.
Step 4: Press the WRITE button.
Step 5: Choose a location to save the ISO.
Step 6: Wait for the progress bar to reach the end. It will say ‘Successfully Copied’. Close the window and remove the DVD.
Step 7: You can test the ISO and confirm it works using VLC media player. If you don’t have VLC installed, you can install it via the Terminal and this code: sudo apt-get install vlc .
Step 8: If you want to extract the VOB files from the ISO, right-click and choose ’extract here’. It will take about ten minutes, but the video_ts and audio_ts folders will be extracted to the same location.
Step 9: If you want to convert the ISO into a smaller file, such as an XviD or x264, you can either extract the VOBs and use DVD::RIP, or download Handbrake and rip directly from the ISO–both run smoothly on Ubuntu.
Fair Warning: In some countries, backing up DVDs you legally own is not legal–for example, in the US, copying a commercial DVD violates the DCMA. Be sure to check with the laws in your country before proceeding.
This tutorial was prepared for “Tech Source from Bohol” by Blair Mathis of LaptopLogic.com, your premier source for latest notebook reviews.
Note: 9 of this post’s 10 links are now broken — mostly dead 2008–2013 feed-syndication infrastructure (FeedBurner, Gawker, AOL’s old blog network, Pheedo, Yahoo Pipes). Left as originally published.
Maybe I will install this on my old laptop if/when I get a new one.
Note: 11 of this post’s 15 links are now broken — mostly dead 2008–2013 feed-syndication infrastructure (FeedBurner, Gawker, AOL’s old blog network, Pheedo, Yahoo Pipes). Left as originally published.
I remember playing this old DOS game on a mate’s PC. Need to download the Nintendo DS version :)
Arguably the best DOS-based shoot-em up in my opinion, Tyrian is now available for gamers on Windows, Mac OS X, Linux (and Nintendo DS, PSP, even Wii!), thanks to the dedicated efforts of the OpenTyrian team who modified the source code to use the cross-platform SDL libraries and of course, Jason Emery, who graciously offered Tyrian as freeware back in 2004.
Note: 9 of this post’s 16 links are now broken — mostly dead 2008–2013 feed-syndication infrastructure (FeedBurner, Gawker, AOL’s old blog network, Pheedo, Yahoo Pipes). Left as originally published.
CrunchBang, an Ubuntu-based Linux distribution that sports a snappy, low-drag interface and is perfect for thumb drives, live CDs, or speed-obsessed Linux fans. Check out how it looks and runs in our screenshot tour.
Note: 7 of this post’s 9 links are now broken — mostly dead 2008–2013 feed-syndication infrastructure (FeedBurner, Gawker, AOL’s old blog network, Pheedo, Yahoo Pipes). Left as originally published.
Note: 14 of this post’s 42 links are now broken — mostly dead 2008–2013 feed-syndication infrastructure (FeedBurner, Gawker, AOL’s old blog network, Pheedo, Yahoo Pipes). Left as originally published.
A platform game (also known as platformer) is a video game genre distinguished by jumping to and from suspended platforms or over obstacles. A very famous example of a platform game is the best selling video game of all time, which is the Super Mario Bros.
If you are exhausted from playing your favorite FPS games like Urban Terror or Alien Arena, how about you relax a little and play some good old "platform games" on your Linux box.
I have here a list of some great free and open source platform games that you may enjoy.
SuperTux SuperTux needs no further introduction, as it is definitely one of the most famous games for Linux. However, if you want to know more about SuperTux, perhaps you should just read my quick review of the game HERE.
Blob Wars: Metal Blob Solid Blob Wars: Metal Blob Solid is an open source 2D arcade platform game developed by Parallel Realities. The aim of the game is to rescue Blob MIAs lost while fighting a battle against alien invaders led by their leader, Galdov (the Metal Blob). Metal Blob Solid features numerous different weapons, locations, boss battles and around 9 hours total gameplay.
Secret Maryo Chronicles Secret Maryo Chronicles is yet another 2D jump-and-run game that's based on Nintendo's Super Mario Series. The game is a SourceForge project that began in 2003. Until now, it is still actively developed and maintained by the Secret Maryo Chronicles development team, led by Florian Richter ("FluXy").
Yo Frankie! Yo Frankie! is the famous 3D game created by the Blender Institute. The universe and the characters of the game are based on the open source animated short film entitled Big Buck Bunny. Yo Frankie! was recently released this November of 2008 and is currently available for download.
X-Moto X-Moto is a 2D motocross platform game where physics play an all-important role in the gameplay. Although the game is completely 2D, it uses 3D hardware acceleration (OpenGL) for faster rendering. The game also utilizes the Open Dynamics Engine for a realistic-feel physical simulation. X-Moto is extensible with user-created custom levels that can be automatically downloaded.
Neverball Neverball is a 3D platform game similar to Super Monkey Ball. Its main gameplay is based on moving a ball using gravity by tilting the game world, not directly controlling the ball. The mouse (or a similar pointing device), keyboard, or joystick tilt the level to help guide the ball to a goal, via an obstacle course, with a set time limit. Moving platforms and other crazy objects get in the way, making levels progressively harder.
XEvil XEvil is considered as one of the most graphically violent games ever made. Before you play or let your kids touch this game, read this disclaimer first (taken from its website):
"O.K., kids... let's get this straight. XEvil is not for meek, peace-loving, "I love you, you love me..." types of people. The fans of XEvil enjoy it because of its shameless displays of blood and violence, of people getting lit on fire, getting shot, being ripped up by chainsaws, getting high on drugs, and burst open by aliens."
Note: 10 of this post’s 13 links are now broken — mostly dead 2008–2013 feed-syndication infrastructure (FeedBurner, Gawker, AOL’s old blog network, Pheedo, Yahoo Pipes). Left as originally published.
Note: 17 of this post’s 29 links are now broken — mostly dead 2008–2013 feed-syndication infrastructure (FeedBurner, Gawker, AOL’s old blog network, Pheedo, Yahoo Pipes). Left as originally published.
Finally a use for my 4GB thumb drive
gHacks technology news A technology blog covering software, mobile phones, gadgets, security, the Internet and other relevant areas.
Note: 28 of this post’s 41 links are now broken — mostly dead 2008–2013 feed-syndication infrastructure (FeedBurner, Gawker, AOL’s old blog network, Pheedo, Yahoo Pipes). Left as originally published.
The past ten years have completely changed the way we listen to music, watch movies and television, and take photos, and one thing is abundantly clear: The future of your media lies undeniably in the digital realm. Now you just need to find the perfect media center application to pull it all together. Earlier this week we asked you to share your favorite media center applications, and today we're back with the five most popular answers. Keep reading for a closer look at the favorites, then cast your vote for the media center app you count on to manage your digital media life. Photo by Aaron Escobar.
Note: 14 of this post’s 40 links are now broken — mostly dead 2008–2013 feed-syndication infrastructure (FeedBurner, Gawker, AOL’s old blog network, Pheedo, Yahoo Pipes). Left as originally published.
7 applications to view images on your Linux box.
TECH SOURCE FROM BOHOL Source for technology hacks, insights, tutorials, news, reviews and more...
Note: 18 of this post’s 22 links are now broken — mostly dead 2008–2013 feed-syndication infrastructure (FeedBurner, Gawker, AOL’s old blog network, Pheedo, Yahoo Pipes). Left as originally published.