Skip to content

Latest Posts

Let's Talk About StreamElements

First up, I'd like to be clear... I moved from StreamLabs to StreamElements because I felt it offered a better overall product offering. This is not a complaint about the portion of their product that most people will use (i.e. the overlays, the store, merch etc.) but I do have a big gripe about the API, specifically the lack of good, clear supporting documentation.

Connecting Node.JS To StreamElements WebSocket

If you're planning on using the Streamelements Websockets service to receive realtime notifications of things like tips, merch purchases and stream store redemptions (it can also do follows, cheers, raids, hosts and subs for Twitch), you may find information is a bit thin on the ground, so here's a quick guide to getting connected using TypeScript and Node.js.

Time Is Flying By!

Well, it doesn't seem like 5 minutes have passed since I was complaining about case sensitivity in software source code and here we are over 12 months later... time for an update I feel.

My last post was made early in the pandemic after roughly 2 months of having no work. Still, it gave me some much needed time to get back into coding seriously. In the intervening period there have been times where, due to the worries about my business and the issues for it caused by COVID, I've just not felt like doing much at all which manifested itself as binging on YouTube and Twitch, still... this hasn't been without it's upsides.

I watched alot of Harris Heller's content about streaming on Twitch etc. and it's inspired me to get setup to stream again, which has in turn resulted in me learning quite a bit which is great.

So this is where I'm at...

Case Sensitivity In Source Code

In case it's not clear from my moniker, in the world of software development Delphi is my preferred weapon of choice and if you're not familiar with it (you should be), the underlying language is Pascal. I've been using Pascal for over 30 years. In this time of COVID-19 lockdowns I've been using my time to learn Typescript, brush up on modern Javascript and familiarise myself with the Node.js ecosystem.

It's been both a rewarding and incredibly frustrating experience (more on the frustrations will be forthcoming as I do plan on an in-depth project post-mortem), but right now I need to ask this question....

Who on God's great earth felt it was a good idea to make any software source code case sensitive?

Happy Birthday Delphi - 25 Today!

The year, 1995. Windows 3.1 was the current Microsoft operating system running on the family's 486sx 25MHz with 4MB of RAM. Turbo Pascal 7 was my weapon of choice but of course it couldn't produce Windows applications... yes there was Turbo Pascal for Windows and Borland Pascal but they both required lots of boiler plate code to make windows and interact with the OS (Nightmare). And then it happened...

I saw it... a full page print advert for Delphi. OMG!!! No longer would you have to fight with boiler plate code, just drag components onto a form, hit build and hey presto... a fully fledged Windows application. So I saved up, pre-ordered it and waited patiently for it to arrive.

Delivery day arrived... knock at the door... there it was in what, by today's software standards, was a huge parcel. Oh how I miss the library that accompanied it. I installed it and well... it scared me to death. I wasn't ready for the shift in paradigm. I'd had access to Turbo Vision since getting Turbo Pascal 7, but I had avoided it for the same reason. So there it was... Delphi 1... and I just didn't get it, so it languished untouched on my hard drive for a couple of months.

At this point I was looking for my first professional job and I came across an advert in the local newspaper emblazoned with the words... "Delphi experience wanted". A couple of months after release and someone wanted engineers with experience. I updated my CV, wrote my covering letter and fired up Delphi. A few weeks later and somehow I'd managed to talk myself into a position with a company that was looking to rewrite it's current software offering using Delphi and whilst I actually didn't do that much Delphi development for them, I did manage to get over my lack of understanding by developing a suite of components that were to be used to internationalise the new product offering.

And so began my love affair with ❤️ Delphi ❤️

Delphi Conundrum - What Am I Doing Wrong?

So, I'm working on some of the rendering classes for my latest project and I've encountered an interesting issue that I can't explain and I'd greatly appreciate it if someone could explain to me what it is I'm doing wrong because I just can't see it.

Using Lua In Delphi

For our new game, the current plan is to use Lua to provide content and control, with Delphi doing most of the heavy lifting (rendering, game state saving etc.). To achieve this, it's necessary to establish an interface to Lua (for this, I'm using the excellent interface by Dennis Spreen - VerySimple.Lua - this is specifically for Lua 5.3) and then to get the data out of it. This article is going to focus on the later as VerySimple.Lua is very simple to use (excellent job Dennis 😄).

Named Pipes in Delphi

There are some tutorials about using named pipes in Delphi but after much searching during my own use of them, I wasn't able to find any information to solve my problem, so here is what I learned.

Notion - The killer organiser?

I know I've not long said I was going to focus on software development but I can't help but want to share a little bit of info about a product/service called Notion (a link will be posted below, with good reason), I promise this will be short 😄

In the process of trying to re-ignite my love of software development, I've been looking at various tools for managing issues, tracking what's in progress, keeping notes related to the project together. Previously I've used Redmine, Mantis, OneNote, a notebook, TUTOS, phpProject, Excel and YouTrack (I'm sure there are more including countless iPad apps) and whilst many of them do somethings well, I've always found it's not well enough or easily enough to make the lack of other things I want a non-issue.

Enter Notion.

New Website (August 2019)

It's been a long time since I did anything here, and in that time quite a lot has gone on, not least software engineering is no longer my profession. The reasons for this are numerous and will probably be the subject of a future post. Suffice to say I now spend my days as a self-employed electrical contractor, a complete change from sitting behind a desk all day and one that I am thoroughly enjoying despite my office very often being someone's cobweb infested loft 😄