
- Details
- Written by: Jason Ross
If you've ever been on call, you'll know the worst time to get any alerts is during the night. You're asleep - suddenly your phone wakes you up because something has gone wrong, and you need to fix it now.
The reason this is the worst time is because nobody is at their best when they've only just woken up or, even worse, if they haven't even slept yet. There are medical studies (reference) that indicate a lack of sleep has similar effects on your memory, cognition and reactions as drinking alcohol, and you wouldn't want to make changes to a production system after a few drinks.
Even when an alert happens during the day, it's a complete context change.
Yet here we are; you or someone you work with is sitting at their computer, not at their best, and they need to get the system working again. You wrote the system, so what have you done to help them? What CAN you do to help?

- Details
- Written by: Jason Ross
In a previous article (What Are ETL / ELT Pipelines?) I explained how ETL and ELT pipelines are essential when you're populating a database. As I said there, "Almost every enterprise system has at least one database". If you've been a software engineer for more than about five minutes you'll know there are many different databases available, so how should you decide which one to use, why is it quite possible that it will be PostgreSQL, and what should you know about it?

- Details
- Written by: Jason Ross
Almost every enterprise system has at least one database. It doesn't matter whether it's an RDMS or NoSQL system, dig deep enough and you'll find it. Typical enterprise databases hold almost inconceivable amounts of data - petabytes in many cases - whether in carefully crafted tables behind stored procedures and functions, or dropped into JSON records in NoSQL databases.
Look around and you'll find out how the system communicates with the database to drag out the valuable information it holds. You'll find how the data is added, altered and deleted. This is all very useful, and will show you how to make small changes to the data. But there's something that's nearly always missing. Something that's very important, but most people don't talk about.
Where does the reference data come from, and how do you add it to your database?

- Details
- Written by: Jason Ross
When you're used to developing on Windows, you've almost certainly used IIS
to serve web pages, applications, APIs etc. This was always my experience and, like so many other Windows products, it spoils you by doing a lot of the administration automatically. Moving to a Linux-based job was a bit of a shock - I asked which web server we were using and was told "nginx
" a "reverse proxy", with no further explanation. So I started looking through the documentation, and found that nginx
is a whole world of fun, which can solve most of your web-based requirements and more.

- Details
- Written by: Jason Ross
Sometimes you really need to know your machine's public IP address, so you can use it in your scripts or applications. Not just the IP address on the local network - that's easy unless you need the IPv6 version - but the one that the rest of the internet sees. How can you find this?
You could just go to one of the many web sites you find by searching "What is my IP address", but then you need to scrape the data from the page. You could try tracing through the route your requests take to a particular site, but that's just ridiculously hard and prone to errors. There is actually a really simple way that will do the job nicely - let's take a look at that.

- Details
- Written by: Jason Ross
Once you've got more than a few years' experience as an engineer, people generally expect you to start mentoring others. How should you approach this?

- Details
- Written by: Jason Ross
If you've read my article Infra-Red Imaging With The Grid-EYE AMG8833 Sensor, you'll have read how easy it is to connect the sensor to a Raspberry Pi and to start getting Infra-Red images. The software that I'm using to display the images, from https://github.com/makerportal/AMG8833_IR_cam, gets the job done but it's quite slow. How slow? Well, on a Raspberry Pi 3 it displays 3 or 4 frames per second at best, although the sensor handles 10 frames per second. I know it's provided as a demo to get you going with the sensor, but faster is always better!
Read more: Infra-Red Imaging With The Grid-EYE AMG8833 Sensor - Part 2