StayCation2023

TL;DR I’m taking 2 weeks off my Synopsys work to work on all those side projects I promised I would, either to myself or to others. We’ve all got a box somewhere of either AliExpress / PiMoroni / PiHut boards and a number of repos and half started projects that you promised that you’d be able to work in playing with in evenings or weekends, but you keep finding yourself doing stupid things like “spending time with family/friends”, “working out”, “spending time with / trying to find your significant other”, or “eating” or “sleeping” or other ridiculous indulgences. ...

April 1, 2023 · Andrew Bolster

Python + irclib for IRC Status Updates

IRC, Python, Ubuntu linux. Simples! Same as by Twitter post, but for IRC. Biggest problem with this one was working out that the IRC server needs to be kept alive with the irclib.IRC.process_once() command. This is wrapped in the while loop that assumes that there is other stuff going on for which you are waiting on a condition to be satisfied, but could easily be ignored if one is just sending out one message. Also, the PRIVMSG command can be used to broadcast to a channel, as is used here, or, as the name suggests, to communicate with a specific user. ...

April 10, 2012 · Andrew Bolster

LU Decomposition in C (and under CUDA)

As part of any major project, it occasionally happens that you assume something is a ‘solved problem’ when its really not. In my case it was solving small linear systems, of the form Ax=B, where A is an nxn matrix, B is a n vector. This is a problem that’s been solved in libraries such as LAPACK, LINPACK, BLAS, etc etc. The issue appears when you’re trying to do this stuff within a specific hardware environment (CUDA), and you cannot call host functions from the device, and the cuBLAS libraries cater only to large matrices processed in parallel ...

April 18, 2011 · Andrew Bolster

CUDA Compute 20 Error and other issues

There’s a quirk of using older CUDA drivers is that the latest NVIDIA SDK code examples are not backward compatible, i.e compiling the 3.0 SDK against the 2.3 toolkit (that I’ve spent the last day doing) is a fools errand (Thanks very much to @thebaron on #cuda on freenode and tkerwin on StackOverflow.) Basically, the 3.x drivers reclassify newer cards based on the; previously, the ‘compute’ value (a measure of OpenCL adherence) would max out at 1.3, but now the range is extended up to 2.0, but the 2.3 toolkit does not recognise this value, so craps out. ...

April 14, 2011 · Andrew Bolster

Bolsters Code-Related Rants (An ongoing collection)

Logging functions being called with just a variable and no comment as to what the hell it is logging has functions more than logging.info, use them! Debug = useful information if something breaks but isn’t interesting during normal operation info = useful and generally interesting information warn = something went wrong, indicating something should probably be refactored / fixed,_ but the system could recover from it._ error = oh dear jesus fuck the entire site evaporated into a swarm of zombie locusts, I better put something in the error log. ...

February 12, 2011 · Andrew Bolster

Stuff I've found interesting in the past month - 23/10/2010

The Trashmen : Surfin’ Bird ( 1963 ) Skyline - Trailer 2 (2010) Gameblurb firstTEN-Fallout: New Vegas Introduction And So You Code Cat vs Printer - The Translation Really: New Windows Phone Ad Dub War 5th Birthday w/ Mala & Skream

October 23, 2010 · Andrew Bolster

Hackathon

On Saturday the 23rd October, the Hackers invade The Space! In association with QUESTS, Dragonslayers, and IETNI, HackerspaceBelfast will be running a series of events over 24 hours of software, network, and hardware hackery goodness, as well as screening hacker movies, DIY repair, and maybe, just maybe, how to build a laser. Running parallel to Dragonslayers’ 24 hour gaming event, which will incorporate console, PC, and tabletop games, attendees will be able to both play and make games to their hearts content. ...

October 14, 2010 · Andrew Bolster

News from the Belfast Hackerspace

So we’re only a few weeks into developing this idea, and first I’m going to give some credit where credit’s due; the people that I’m working with this have been brilliant, I want to give special thanks (in no particular order) to Ryan Grieve (@thegrieve), David Kane, Ben Harrison, Martin Gilchrist (@Gilchrist_LLP), Jonny Milliken, Dan Reid, and Chris Murray (@kris18890). Anywhere, where are we now? ...

September 7, 2010 · Andrew Bolster

Ongoing CUDA work, aka, I love this book.

If anyone has any interest in CUDA, or GPU/Parallel programming in general, David B. Kirk and Wen-mei Hwu’s groundbreaking “Programming Massively Parallel Processors” is a must. ** The sub-title of the book is “A Hands on Approach” and I didn’t get it until a third of the way through the book, that that’s exactly what it is. The pairing of Kirk, a NVIDIA Fellow, outgoing NVIDIA Chief Scientist and generally world-weary technologist and all round ‘hardware guru’ with Hwu, a well-heeled educator and researcher at the University of Illinois provide a practical but in-depth look at not just the pure ‘programming’ to deal with massivly parallel processing, but instead assumes that the reader can work out for instance how to do Matrix Multiplication the ‘basic’ way from looking at the NVIDIA CUDA API’s, and looks at how to take advantage of the hardware to give sometimes incredible speed increases. ...

June 14, 2010 · Andrew Bolster

Automagic Kernel Cleaning under Ubuntu

Sick of having dozens of old kernels sitting under your /boot/ dir? Want a simpler boot-life? Well we’ve got the solution for you. Just one course of cleankernel once an upgrade cycle will remove all previous kernel entries from your bootloader and /boot/ dir. Basically, it lists what kernels you currently have in your /boot/ and removes them using apt .

May 31, 2010 · Andrew Bolster