List of all entries, with small excerpt, click the title to open the full blogpost
In experimenting with the OpenAI API, I developed a little bot for the Signal Messenger app.
As a weekend project, I thought I would try to do something with an old Raspberry Pi 3 I had lying around. However, I have not actually done non-trivial breadboarding since high school, and I wasn’t sure where to start. Luckily I recently got invited to the OpenAI Codex Beta, so I was able to generate a lot of the code automatically!
I released my code for PyTorch Lightning CIFAR on GitHub, free under the MIT License. It is a fork of the classic PyTorch CIFAR codebase from @kuangliu, adding support for the productive research tooling that PyTorch Lightning package brings. I also include accuracies for the models trained using 200 epochs.
I recently got access to the OpenAI API Beta, and with that a trained GPT-3 model. It’s a very flexible NLP model, which can do things like question answering, translation, text summarising, and more. One thing that’s drawn me in though is its chatbot capabilities.
It is really quite unlike any system I’ve communicated with before, it can have countless different personalities depending on what topic of conversation you have with it. I’ve only had maybe 5 or 6 conversations so far, you can see a couple of them here. I’m posting this one in my blog, because it gave me permission to, plus it went off in an interesting direction.
You can read about the track, and the album in this piece in DJ Mag.
The video is AI generated, and I thought I’d take this opportunity to give a brief overview of how I put it together.
I was fortunate to recently work on a paper on hardware design, led by the talented Jude Haris. SECDA was published in October 2021, in the IEEE 33rd International Symposium on Computer Architecture and High Performance Computing (SBAC-PAD) conference. It was hosted in sunny Belo Horizonte, Brazil; but unfortunately we had to attend remotely due ongoing international travel difficulties.
The work discusses a co-design methodology we developed for efficiently producing FPGA accelerators. You can read the full paper here on arXiv, the following post just gives a brief accessible summary.
My work on Robot Burns (my GPT-2 generated poetry pamphlet, in the style of Robert Burns - available for sale at robotburns.com 😉) was recently featured in an article on the SC21 (International Conference for High Performance Computing, Networking, Storage, and Analysis) blog.
I discuss how low cost causal HPC environments like Google Colab have been a boon to hobbyists and artists.
I originally wrote this as an email in response to a proposed EU resolution to ban end-to-end encryption on apps like WhatsApp, Signal, and others. The salient points still remain true. I am a dilettante when it comes to the finer points of security and cryptography, however I am always trying to learn more on the topic, challenge my beliefs, and influence policy decisions. If you want to talk to me more about this sort of thing feel free to get in touch.
I recently had to flash a Hikey 970 from scratch. However, the official documentation does not appear to have been updated since 2018. Hence, this post documents the steps of how far I got. Unfortunately I was not able to get the whole thing working, but I will update this post if I do. If you found this post, and did get it working, please feel free to contact me so it can be updated.
I recently had a colleague encounter some troubles using
perfon a new Raspberry Pi 4 device.
Normally you would install it from a package repository (e.g. using apt, and the package name
However, when you’re on a non-x86 platform, you cannot always rely that there will be packages for you device, and even if there are, they might be broken in subtle and frustrating ways. This was the case for my colleague.
Luckily, I had encountered a similar issue on an ODROID device, and had kept my notes. I’ve adapted the notes into an email to the colleague, and thought I might as well post it here.
Leveraging some recent advances in natural language processing, for Burns Night 2020 I recently generated poems in the style of Scotland’s National Bard.
I collaborated with Scottish illustrator, Alasdair Currie, who has provided their design magic.
I also had my first appearance on live TV, with a quick segment on EuroNews. With that, I think I focused too much on technical details, and missed the narrative thrust. Lessons for next time.
You can find more details about how it works in the full post.
As part of my PRACE Summer of HPC, I produced a few podcast episodes, where I spoke with HPC leaders in research and industry.
This episode I was joined by Brent Gorda and Filippo Spiga of Arm Holdings. We discussed the movement of Arm into the HPC market, partly in thanks to research collaborations with PRACE affiliated centre BSC.
Hello neighbours. Another dry one today, intended first and foremost for myself before I wrote this post, and secondly for anyone coming after me in a similar boat.
Due to working on a reproducibility study, it was necessary for me to build some old compiler versions, that no longer existed on package repositories.
I encountered a number of build errors during this time, and have documented how I solved them. As a post, it isn’t bringing many insights, and serves as a curation of disparate Stack Overflow and other sources that I used to solve my issues.
For my reproducibility work I have recently been introduced to the Singularity containerisation workflow, which has some key differences from Docker, especially regarding the permissions that processes run at.
You can find the post on the SoHPC website.
Have a summer placement through the Partnership for Advanced Computing in Europe. I will be doing some more posts for them this summer, you can find them here, or https://www.summerofhpc.prace-ri.eu/perry-gibson/
My first post is available here:
In order for privacy preserving technology to see widespread adoption, it must be accessible.
One of the key problems in making this technology accessible is the question of how to handle identity. In a centralised system, some authority can be in charge of which identifiers are associated with which identities. For example, Google runs Gmail, and keep track of which user owns what username. To create an account you ask them for one, such as
email@example.com. They will look up their list of previously registered usernames, and tell you that someone else already has it. Finally, you find an unallocated username
firstname.lastname@example.org, which Gmail grants you. From that point forward, if someone wants to contact you they need your username, then send you their message via Google.
In decentralised systems however this poses some challenges. A global table of registered usernames is a complex engineering challenge.
subscribe via RSS