What's happened with WinIRC?

So firstly – WinIRC is not dead. I am still working on it, even if there’s been no commits to the repo, I’ve still been working on fixes and new features in IrcClientCore, which will end up in WinIRC. Eventually, I hope to finish the current update for WinIRC, which although isn’t the recode I mentioned in the last release, is a major decoupling of the IRC logic from WinIRC into IrcClientCore. It also has a number of UI tweaks including coloured nick names, and displaying the number of unread messages in the channels on the sidebar. This update is planned to happen soon. The reason I’ve not been working on it as much (apart from university / being employed) is a WIP project currently called Signal IRC. This is an IRC client based upon the same IrcClientCore library as WinIRC, but rather than running as a native UWP application, it’s an ASP.NET web application. […] This is essentially the spiritual successor to an older project I had, namely Comet IRC. The major differences is that the backend and frontend is not nearly as tightly coupled – the backend utilises a mixture of ASP.NET Web APIs for login / server management and SignalR for real time messaging. The frontend is a Vue single page application that’s served by the ASP.NET server portion. I plan to have a public release of Signal IRC as an alpha on Github at some point this year assuming I have time, once a few key features are completed, including storing message scrollback within a database.

Introducing the rebuild of this site

WordPress has served me well for a good few years now, but I decided last year that it’s time for an overhaul of my site to use more modern web development practices and for me to have much more control over it. I also wanted much more emphasis on the projects I’ve done, rather than have them buried as a small link on a subsection of the site. This led me to create this site – a Hugo powered static site with a couple extra server side scripts to manage Netlify style continuous integration and GitHub auth for the Netlify CMS used for content management. It also utilises the InstantClick JS library for Gatsby like SPA navigation and page preloading in a couple KBs of JavaScript The site is fully open source, and available to download at

Issues releasing WinIRC 1.5

WinIRC 1.5 is finally making it’s way to the Windows Store, with a host of new features - the main one being a refreshed UI. However, the release of the application has left much to be desired. Just over two weeks ago, I pushed the final 1.5 changelog to the WinIRC Github, as I was hoping in the next couple of days the release would be live on the Windows Store. As it turns out, this wasn’t the case - I forgot to test it locally, and the Store based certification process marked two issues that needed to be fixed before it would be certified, specifically: […] So I fixed the first issue by building a local NuGet package for the twitter library, then tested with the local Windows App Certification Kit (WACK) and my app passed, with no mention of the other metadata issues. So logically, I tried to release it on the store, and it failed the store WACK test with the same errors as last time! I first assumed it was my machine, so I tried it on my tablet and then a Creators Update VM, and failed to reproduce on both After trying (and failing) to get help from MS support, I tried last night to rename the filename of the package that was uploaded to the store, as all of the ones I’d uploaded were the default filename. This worked! Although there was still a difference with the store results to my results, I managed to fix the metadata issues with my UWP MenuBar (by importing the source as a c# class library to the main WinIRC source tree) meaning WinIRC passed it’s validation tests. So what’s next? For WinIRC development, the next step is to refactor the app to properly use an actual design pattern, probably MVVM. I also want to add some scripting support to WinIRC, so users can add their own commands and functionality to WinIRC. For distribution, I want to work on alternative distribution channels for WinIRC and other UWP / AppX applications, so it isn’t entirely centralised in the Microsoft ecosystem, and hopefully so apps don’t need to have a special signed certificate. More on this if I actually manage to make a prototype

Release of the UWP Menubar Lib

A couple months ago, I posted on Twitter that I’d been working on a menu bar to be used for UWP applications: […] To mark a sort of return to twitter - a screenshot of something I've been working on […] A couple days ago, I released the lib on NuGet and GitHub as a prerelease! Here’s a video demonstration of the library: […] Head to the GitHub for a detailed readme and usage docs

New site theme

So today I decided to make a lightweight theme for this website. It’s based upon the starter theme in order to make things easier for me. Although it’s pretty barebones at the moment, I’ll be making it look a bit snazzier over time. For instance, I want to put the site sidebar in a hamburger menu when on mobile devices and other smaller screens. I was going to give it a style similar to Google’s Material Design, then I realised something like that would be absolutely pointless for a blog, so I decided that instead it would just be a reasonably lightweight theme. Also the blog post on setting up a print server on a Pi is definitely coming soon probably never happening.

It’s been quite a while!

It’s been over a year since my last post – mainly due to the stress of AS levels, and then settling in to a new college. I have at least kept the website up though! I’m going to start posting more stuff on here – now I’m doing a ICT and Business course at college, there’s some small projects I’m making in the ICT part of my course as part of my coursework that I may put up here. There are, of course, be other projects unrelated to my coursework – I may post about them here! One such project with my Raspberry Pi is that I made a print server with it that allows printing across the network with a samba server for windows devices and cups printing for all other devices, which I will post about in the next week or so. I’m also working on numerous improvements to Rymate Notes which may or may not surface.

New release of Rymate Notes!

This is the largest release of my app ever, and thus I’m actually bothering to blog about it. This release adds a lot of new features, such as formatting notes and a quick edit feature, for when you spot that misspelling in a long note! Also in this release, I removed support for older devices still on Gingerbread. This was mainly to make development of the app easier, as supporting legacy devices such as gingerbread wasn’t worth the extra effort. DOWNLOAD HERE  

My thoughts on the iPad Mini and iOS, and how I think they can be improved.

So I’ve been using my iPad for a few months now, and although it is a great machine, it has some bad points. Here is my rundown of the iPad mini. Good points: […] Bad Points […] How apple could fix the bad points All apple needs to do to fix the bad points is make the iPad more like a computer. By that, I mean allowing users to change the system keyboard, or change the web browser, or choose what App they want to open stuff in. If Apple doesn’t want users doing that, make it a setting that allows users to turn on “Advanced Customisation” so the average joe can’t just install new keyboards and then not know how to use them. Other than the bad points mentioned, I think the iPad is a really good device, and I would certainly recommend it to people who already have an Apple product.

New host!

I’ve moved the website to a new webhost that should be a lot more stable than the old one 😀

Bluetooth keyboard on the Raspberry Pi – A quick guide

So, over the weekend I decided to try and get my Bluetooth keyboard working on the Raspberry Pi. It was originally brought to go with my iPad, however I feel that pairing it with my Raspberry Pi would give it some actual use. Requirements: […] Disclaimer The following steps are the steps I used to pair and subsequently connect a bluetooth keyboard to my Pi. Your mileage may vary. Instructions […] Put the keyboard in pairing mode. Refer to your manual on how to do this. […] Scan for your Bluetooth keyboard with hcitool scan. This allows you to scan for bluetooth devices. If it works, you should see an output similar to this: […] In order to pair it, you need the ‘DC:2C:26:03:C0:30’ secion of that output. This differs for each device, as it is a unique device identifier known as a MAC Address. […] Pair it with sudo bluez-simple-agent hci0 <mac address>. It should give you a pin to enter on the keyboard. Enter it in using the keyboard keys, then press enter on the bluetooth keyboard. If it doesn’t give you a pin, then refer to your manual on what to do. […] Your keyboard is paired! But it isn’t connected yet. Here’s how to do that. […] (Might be optional with your keyboard). Put your keyboard into pairing mode again. I had to do this because otherwise the keyboard wasn’t found. […] Run the command sudo hidd -i hci0 --connect <mac address>. This connects the keyboard to the Pi. […] (Optional) Edit /etc/rc.local with a text editor of your choice, and put that command in the file to automatically connect to the keyboard at startup! […] If everything went according to plan, you should now be able to use your bluetooth keyboard with your Pi! Any questions? Ask in the comments!