All posts
-
Dave vs Linux - My thoughts after 1 month of Linux Mint
About a month ago, I switched my gaming PC's operating system from Windows 10 to Linux Mint. It's been a road with some speed bumps and lessons learned, but I'm still going to keep going. Here's some nuggets of wisdom that I'd like to share for anyone else looking to give Linux a try. -
How to Find the Update Set That Changed Something in ServiceNow
Have you wanted to find the update set something was changed in, but couldn't find it? A colleague has run into a problem where they've been asked to promote changes that someone has done for a catalog item, but they don't know the update set the changes were made in. Another colleague has run into a business rule that was changed, but they don't know the update set that it was changed in. Here's a quick guide on how to find the update set that changed something. -
Multi-Line Strings in Arduino
I've been playing around with doing Web servers on ESP8266 wifi microcontrollers and I've run into a tedious problem of how to write large blocks of text like HTML and CSS as strings within the C++ code. Here are some options that I've found and how well they work. -
ServiceNow Event Management Bottlenecks
I was asked by a colleague about the limits of ServiceNow Event Management around data throughput and data storage limits. Doing some rough maths, they're possibly looking at 4 TB of event data per week. There wasn't a lot of easy to access information on this topic, so I thought I'd put some together. -
Dave vs Linux #2 - Windows System Hotkeys in Linux
I'm 2 weeks into switching from Windows 10 to Linux Mint, and I'm feeling that some system hotkeys are slightly different. I still use Windows computers for work and I don't want to change my ways of working by using a new set of keyboard shortcuts. Here are some notable differences I found and what I did about it. -
How to add a new Problem Task Type in ServiceNow
Sometimes you want to create new types of Problem Tasks so you can track them separately from others, but ServiceNow only comes with "Root Cause Analysis" and "General" task types. Here's a quick guide on how to add more Problem Task Types if you need them. -
Dave vs Linux #1 - Planning and comparing
Microsoft wants to push me from Win 10 to Win 11, but I really don't want to be forcefully upgraded. I'm thinking of giving Linux a try on my PC. Will it be easy? will it be challenging? -
Dave does AI #1 - Self-hosted AI using Ollama + Open WebUI
I want to have fun will all this AI stuff, but want to keep all my conversations and content in my own control. Let's run a conversational AI from our own computer and have some chats with it. -
How much does it cost to power your electronics?
I've often wondered how much of the power bill was my gaming PC, or my smart home gear, or even an air-conditioner, but I keep forgetting the math. Let me write some of this cool stuff down. -
How to retire or deactivate location data in ServiceNow
What should you do with old location data in ServiceNow? Locations come and go through the life of an organisation. Moving offices, renting warehouses, and field service contracts change all the time. You still want the data, but you don't want anyone to use those old locations for anything new. Here's some recommendations on how to safely retire those old locations in ServiceNow. -
How to safely modify SLAs in ServiceNow
It's not safe to modify SLA definitions in ServiceNow when there are active SLAs running for it. It can cause unpredictable behaviour, maybe even ruin your measurements entirely. Here's a quick guide on how to modify SLAs safely, as well as exploring what happens if you do. -
How to get g_form on Service Portal pages
Using g_form in your browser console is a great way to debug forms in ServiceNow, but what if you want get at it from a Service Portal page? Here's how you can easily use g_form on a Service Portal page in yor browser developer tool console easy peasy lemon squeezy. -
What is a Principal CI class in ServiceNow anyway?
You are having fun in the CI Class Manager and you spot a checkbox that says "Principal CI". What does it do? Could it be the answer to overly crowded auto-complete results when trying to set the Configuration Item on tasks? -
DIY Datalogger For My Solar Panels - Part 1
My new home came with some solar panels and a Delta Solivia inverter. I'm envious of new inverters that give you cool graphs and statistics on your phone. Can I make my own wifi bridge to push solar power data to my Home Assistant controller? -
Why your ServiceNow transform logging doesn't work
You feel like you're going mad. You've used log.info in your transform scripts, but there's no messages getting logged. Here's why it does that and how to change it. -
Non-Production Instance Theming Part 7 - Custom Window Title
Are you developing in production without realising? Did you accidentally delete that production data, or load test data into your live instance? It's easy to forget which ServiceNow instance you are in. Giving each instance a custom window title can help guide users through a sea of browser tabs. -
Non-Production Instance Theming Part 6 - Using Announcements
Are you developing in production without realising? Did you accidentally delete that production data, or load test data into your live instance? It's easy to forget which ServiceNow instance you are in. Adding an announcement to each instance can be a constant reminder of which instance you are in. -
Non-Production Instance Theming Part 4 - Banner Colour UI16
Are you developing in production without realising? Did you accidentally delete that production data, or load test data into your live instance? It's easy to forget which ServiceNow instance you are in. Giving all of your ServiceNow instances an eye-catching coloured banner will be a constant reminder of which instance you are in. -
Non-Production Instance Theming Part 3 - Logo
Are you developing in production without realising? Did you accidentally delete that production data, or load test data into your live instance? It's easy to forget which ServiceNow instance you are in. Giving all of your ServiceNow instances their own logo will help remind you where you are and if it's safe to make changes. -
Non-Production Instance Theming Part 2 - Custom Product Name
Are you developing in production without realising? Did you accidentally delete that production data, or load test data into your live instance? It's easy to forget which ServiceNow instance you are in. Giving all of your ServiceNow instances their own custom product name and banner text can be a constant reminder of which instance you are in. -
Non-Production Instance Theming Part 1 - Page Icon
Are you developing in production without realising? Did you accidentally delete that production data, or load test data into your live instance? It's easy to forget which ServiceNow instance you are in. Giving all of your ServiceNow instances their own favicon so you can see which instance you're in at a quick glance. -
Smarter ServiceNow CMDB Imports with CMDBTransformUtil
Don't re-invent the wheel with every CMDB transform map. ServiceNow already saves you time and effort by giving you this utility to harness the magic of the CMDB in your transform maps so you don't have to develop it yourself. -
ServiceNow Quick Reference - How Emails are Sent to Groups
A quick reference on how ServiceNow sends emails to groups, group members, managers, and group email addresses, and how different settings change how it works. -
How to recover a MID server after a failed upgrade
What happens a ServiceNow MID server tries to auto update itself but gets interrupted mid-upgrade and fails? You get a broken MID server that's missing half of its files, that's what. Here's how to recover a MID sever when the auto upgrade fails and it deletes its own files. -
ServiceNow Variable Tables Quick Reference
Variables in ServiceNow exist, but you normally can't see them. So where do they live? Here's a quick reference on where variables are stored in ServiceNOw and where to find them. -
How to do CRC checks in Arduino, ESP8266, and other chips
How do you know if you received that data correctly or whether your saved settings actually saved properly? By using a fast and easy CRC check, that's how! Here's a quick guide on performing CRC checks on data with your favourite microcontroller. -
How the user's status affects ServiceNow emails
A quick reference on how the user's status in ServiceNow affects emails being sent and received. -
How to give ServiceNow emails a custom "From" address
Add some professional branding to emails sent out from your ServiceNow instance by giving it an email sender address that matches your company. Here's a quick guide on how! -
How to use your own mailbox with ServiceNow
By default, ServiceNow gives each instance its own service-now.com mailbox for sending and receiving emails, but sometimes this doesn't fit requirements. Here's how to give a different mailbox for ServiceNow to work with emails. -
ServiceNow Import Tips #3 - Alerts on failing imports
Have you ever had a scheduled import that had been causing issues for weeks without anyone knowing? Save yourself the headache and do this simple step to alert people when import transforms fail. -
ServiceNow Import Tips #2 - Scripts to start imports
Make imports and transforms part of your ServiceNow automations. Did you know that you can kick-off data sources and transforms using scripts? So many possibilties! -
ServiceNow Import Tips #1 - Simple Import row-by-row
Typically there's a song and dance to import data into ServiceNow, but did you know that you can run imports faster and easier if the transform is already there? -
Using custom ServiceNow event queues to solve race conditions
Lots of things all running at the same moment can cause timing issues when they all want to touch the same data. Here's a way you can avoid these issues easily and gracefully in ServiceNow using custom event queues and GlideEventManager. -
Guide to a ServiceNow login page for multiple SSO providers
ServiceNow integrates pretty well with single sign-on providers like Azure, Okta, and ADFS, but things get difficult when you need to support multiple SSO's. Here's how to do a login page that allows users to choose which SSO provider they want to login through. -
ServiceNow Clone Tip - LDAP servers and lost MID servers
Don't you hate it when you do a ServiceNow clone, and then your user data stops getting auto-updated from Active Directory? It sure frustrates me! Here's how to prevent that from happening. -
ServiceNow Clone Tip - Preserve MID Server Users
It's just a ServiceNow clone, what could go wrong? Losing all of your MID servers in the target instance, that's what! Here's how to prevent that from happening. -
How to use a custom ServiceNow login page, and why you should
The default ServiceNow login page is basic and gets the job done, but making it better is easier than you think! -
How to un-impersonate in ServiceNow when locked in the service portal
Don't you hate it when you impersonate a user in ServiceNow, but you can't un-impersonate because a redirect keeps you stuck in the service portal? Here's a quick way to escape the redirect prison. -
How to submit a ServiceNow catalog request using code
Don't manually create ServiceNow catalog request by hand, here's a quick guide on how to use the tools that ServiceNow provides. -
MySpaceTraderClient
I made a front-end for the online game Space Traders to teach myself how to create web apps from scratch using NodeJS and React. It was really fun and educational, and I'm pretty proud of what I came up with. -
How I fixed poor signal issues in my Zigbee IoT smart home network
After moving house, I was having really bad signal issues with my Zigbee devices that I used in my smart home. After researching and fiddling around a lot, I fixed it and learned some skills along the way! Here's how I did it. -
ServiceNow Scoped Apps, GlideEncrypter, and handling passwords
In ServiceNow, you'd normally use GlideEncrypter to work with passwords and encrypted text, but it's blocked and forbidden in scoped applications. At first you'll think "wow that's rude", but there's a reason behind it. Here's how you can deal with passwords and encrypted text in ServiceNow scoped applications. -
How I gave my IoT Arduino a command-line interface
I wanted to be able to talk to an Arduino controller, make changes and make it do things without needing to reprogram the damn thing every time. I suceeded! Here's how I did it. -
Repairing my CyberPower UPS
My CyberPower Value600EI uninterruptable power supply stopped working after I moved house and wouldn't turn on. Can I bring it back to life? -
Smart Home Garage Door Opener, Part 1 - The Plan
I'm terrified of accidentally leaving the garage door open. Lets see if I can watch and control it from my smart home? -
The Right Way to Forward Emails From a Mailbox to ServiceNow
Save time and effort by getting ServiceNow to automatically process emails from a shared mailbox, instead of asking support staff to manually create ServiceNow jobs from emails. -
GlideModal usage and examples
Easily create beautiful modal-style pop-up windows in ServiceNow using GlideModal. Here's how to use it in seconds, and examples so you can see what they look like. -
DIY Portable Battery Box for camping with a CPAP
Here's an easy and portable DIY battery box I made to go camping with my medical CPAP machine. It's also much cheaper than the official battery pack, and I can charge my phone from it too. -
Please never create an integration user called "integration.user"
This is a really bad idea. Plese don't ever create an integration user called "integration.user". -
ServiceNow Code - Make All Fields Not Mandatory
A quick and easy ServiceNow code snippet to use during testing and developement to circumvent mandatory fields. -
ServiceNow 'schema' and 'meta' APIs, and why system integrations should use them
Don't use the 'admin' role because an integration wants to know about ServiceNow tables and fields, use the 'schema' and 'meta' APIs instead. -
Wyze Cam v2 WiFi Security Camera - Sept 2021 Thoughts So Far
I've been using the Wyze Cam v2 with custom firmware for a few months now. There are things I like, and faced some challenges. Here are my thoughts so far. -
ServiceNow tables that aren't audited, but should be
Auditing and record history in ServiceNow is incredibly useful in tracking who touched what. However, some important tables don't have auditing enabled by default, which will almost always be a problem. -
Dave's Base64 Tools
I use base64 a lot in my line of work, so I made my own tools to help me work faster! -
Receiving files, pictures, and videos over MQTT
IoT devices use MQTT for a lot of things, but why is it so difficult when they use MQTT to send files, pictures, and videos? -
DIY Audio Switcher
Switching a computer between headphones and speakers is fiddly and annoying. Let's build something to make it easier! -
Wyze Cam v2 WiFi Security Camera with Custom Hobby Firmware
The Wyze Cam v2 wifi security camera is a very capable camera, great for a smart home project, but I don't want to rely on a vendor's cloud service. Lets take control! -
My Smart Home - The Dream
I want to try my hand at making my home a smart home, with automations and IoT gadgets. Here's is what I'm planning, and the challenges I'm setting myself. -
Dave's ServiceNow Bulk Export Tool
Save yourself some time, and don't spend hours exporting large exports of data out of ServiceNow like I did. To help me out, I wrote a cool little tool to export bulk amounts of data out of ServiceNow all at once, instead of combining smaller exports from the same table one-at-a-time. -
ServiceNow Script: GlideRecord to JSON
Get a plain JSON object from a ServiceNow record without hard-coding. Perfect for integrations! -
Better SN Approvals #4 - Approver Fields on Tasks
Get ServiceNow to do some of the heavy-lifting for approval reports, by summarising approvers on the task. -
Quick ServiceNow Code: Clear the outbound email queue
Avoid the headache of accidentally sending out a mountain of old emails by clearing the email queue before enabling "Email sending" on a development instance. -
Quick ServiceNow Code: Search for Duplicates
A quick useful code snippet for counting unique values and finding duplicates in ServiceNow. -
Help your low-code ServiceNow colleagues by using GlideScopedEvaluator
By creating your own script fields using GlideScopeEvaluator, you can support your low-code ServiceNow administrators to work alongside your script-heavy creations, instead of rewriting them. -
Search ServiceNow when you only have a sys_id
Only have a ServiceNow sys_id, but you don't know where it's from or what it does? No problem! -
Use existing choices for a variable, don't duplicate them
This cool trick will allow your select box and multiple choice variables to use an existing set of choices instead of manually copying them. -
Better SN Approvals #3 - Approval Reminders
ServiceNow approvals are incredibly useful, but overwhelmed approvers can sometimes miss approvals. This easy tweak can help keep all approvals on the radar. -
Better SN Approvals #2 - Full Form, Not Summary
ServiceNow approvals are incredibly useful, but they do have some rough edges out-of-the-box, such as the approval page not showing all of the details. -
Better SN Approvals #1 - The Activity Stream
ServiceNow approvals are incredibly useful, but they do have some rough edges out-of-the-box, such as the activity stream on approval pages missing information. -
How you should allow elevated users enter and exit the service portal
Out-of-the-box ServiceNow isn't great for allowing elevated users to jump in and out the service portal, but it's easily fixed with some small changes. -
Encrypting and decrypting data in ServiceNow
Passwords and credentials can be encrypted in ServiceNow. Here's how you can decrypt the information to use in your own customisations and integrations. -
Arduino millis roll-over, and why it can ruin your project
In Arduino controllers, millis() rolls-over back around to zero after 49 days. How can you avoid the problems this causes? -
How to use a Field List type field to get data from ServiceNow
ServiceNow Field List type fields let users select and dot-walk through fields, like "assigned_to.manager.email", which is awesome, but how can you use them to get data out of ServiceNow? -