I previously blogged about setting up , monitoring and using ConfigMaps for a Cardano relay using Kubernetes. This post describes the changes to also run a Producer node, which connects to the relay and uses Kubernetes secrets for its keys. Posts in this series: Step 1: Setting up Cardano Relays using Kubernetes/microk8s Step 2: Monitoring Cardano Relays on Kubernetes with Grafana and Prometheus…
I previously blogged about setting up and monitoring a Cardano relay using Kubernetes. Since I’m storing files on the hosts filesystem using a local PersistentVolume and was unable map a single configuration folder into all nodes (I found no explanation of this online, but having multiple pods try to mount a ReadOnlyMany volume seems to result in all but the first getting stuck pending), I’ve…
I previously blogged about setting up a Cardano relay using Kubernetes. The IOHK cardano-node container image has built-in support for exposing Prometheus metrics and microk8s has addons for Grafana/Prometheus, so it made sense to use them together. Posts in this series: Step 1: Setting up Cardano Relays using Kubernetes/microk8s Step 2: Monitoring Cardano Relays on Kubernetes with Grafana and…
I recently started a Cardano Stake Pool, [CODER] , hosted using Kubernetes. This is the first of several posts on how I set it up. The code/config in this post will be taken from my mainnet configuration, though I would recommend starting with testnet when starting out. Posts in this series: Step 1: Setting up Cardano Relays using Kubernetes/microk8s Step 2: Monitoring Cardano Relays on Kubernetes…
I was recently sent some Grove components by Seeed to review: Grove Shield for Arduino Nano Grove Shield for micro:bit v2.0 Grove - 16x2 LCD (White on Blue) Grove - WS2813 RGB LED Strip Waterproof - 30 LED/m - 1m Grove - Universal 4 Pin 20cm Unbuckled Cable (5 PCs Pack) Grove - Yellow LED Button These components normally total around $30 USD but were provided to me for free to review. I intend for…
Compiling Dart to Native Executables for Windows, Linux and macOS using GitHub Actions Dart v2.6 includes dart2native - a new tool for compiling Dart scripts to native executables for Windows, Linux and macOS. Currently there’s no cross-compilation support (see dart-lang/sdk#28617 ) so each binary needs to be compiled from the correct OS. Cloud services like GitHub Actions make it very easy to run…
It’s already been ten months since I published the first preview of Dart Code and today marks a significant milestone - version 2.0! It’s been some time in the making; this major update adds support for launching and debugging Android and iOS apps written using Flutter , including: When a Flutter project is open your selected device/emulator will be shown in the status bar If you have more than…
Last week a colleague tweeted me telling me that the hyperlinks in the descriptions of my kids review of the Echo Dot were giving 404s. This surprised me because I’d clicked them to ensure they worked after publishing the video! I probed him and he sent a screenshot of 404s. I checked them again myself both on desktop and my mobile and everything was fine. Since this colleague has a certain sense…
Writing Dart? Check out Dart Code, my Dart extension for Visual Studio Code! Last year I blogged about the simplest C# code I could come up with to post tweets without having to jump through OpenAuth hoops. This only works for accounts you can get keys for (eg. your own) but it’s significnatly simpler than the normal OAuth flow. Since running C# on my Raspberry Pi turned out to be significantly…
( Update : As a result of this post Disqus fixed this issue on 9th Jan! See here ) Recently I was making some tweaks to my blog and reviewing the page load time. I noticed that when I loaded an article the Facebook SDK was being loaded! This was a bit strange as I didn’t recall ever having added any Facebook widgets to my blog. Not only is this somewhat wasteful and harming my load time, it also…
Yesterday my 2nd Gen Amazon Echo Dot arrived (check out my kids review of the Echo Dot here ) and I thought it’d be fun to try and hook it up to my Renault ZOE so that I could check battery status and preheat it without having to load the clunky app. Alexa Skills can be hosted on AWS Lambda and there’s an easy-to-follow tutorial in the dev docs . The Renault ZOE doesn’t have an official API but…
Edit : I’ve posted a Dart port of this code here . For a few years I’ve been meaning to automate the posting of tweets to a couple of twitter accounts I run. I’ve always been too lazy busy but this week I had some time and decided to get it done. For many reasons (including that my parents taught me not to take binary dependencies from strangers on the internet ;)) I decided not to use a 5,000…
I recorded a short (20min) video of creating a simple Pong game in HTML5 using C#/ Bridge.NET . It’s not the best Pong game in the world but it is from scratch with no libraries other than Bridge. Maybe useful if you’re thinking of picking up Bridge or building a simple Canvas game. All source code for this project can be found on GitHub . Edit : Geoffrey McGill from the Bridge team copied this…
Yesterday I blogged about building DaChip8, my C# Chip-8 interpreter (I recommend reading that post before this one; the changes detailed here will make more sense if you have an idea of the original code written). It works pretty well but running on the desktop is sooo 2010. It’s 2016, it’s Browser or Bust. The problem with the browser is JavaScript. I know lots of you love it, but I don’t.…
Edit : Using Bridge.NET, this interpreter can now run in your browser! Click here to see a live playable demo! . A few weeks ago after watching a few episodes of Ferris Makes Emulators where Jake Taylor is live-streaming building an N64 emulator in Rust I decided it might be a fun project to try and build my own. Since I’ve never built an emulator before (and my knowledge of assembly is fairly…
For the last few years the computer I use most at home has been a Dell Chromebook 11 . It’s great for browsing the web but not so great at being a developer machine. Although you can install Linux on it if you wish, that comes with an awful lot of baggage. To avoid using my desktop so much (it’s hard to lock myself away upstairs for hours with a family) I often find myself tryingto get new things…
Recently we were tidying up the design a little on chromebookcompare.com and trying to make it work better on mobile. While setting up Google Analytics and Google Webmaster Tools I somehow found myself at Google PageSpeed and trying to improve our score there and in Google Chrome’s Audit tab . Most of the issues resolved around external files. We had quite a few of them (thanks to Google MDL) and…
Edit : I’ve been finding so many software failures lately, I created @SoftwareFailed on Twitter to tweet and retweet the best failures! Note: I’m a software developer. I create bugs. I once switched a production SQL database to Simple recovery mode and Truncated an important table causing a ton of work for my colleagues. The content of this post is aimed as much at me and the company I work for as…
As a bit of a Linux noob, I’ve been keeping an eye on the logs for my Raspberry Pi to ensure I haven’t set anything up wrong. I noticed that quite frequently my syslog contains this sort of junk: Apr 2 01:23:51 raspberrypi rsyslogd-2007: action 'action 17' suspended, next retry is Sat Apr 2 01:24:21 2016 [ try http://www.rsyslog.com/e/2007 ] Apr 2 01:29:41 raspberrypi rsyslogd-2007: action 'action…
Logging into machines and installing security updates periodically isn’t fun but for internet-exposed devices it’s important. Any device that’s on your home network has the possibility of being a stepping stone for attackers if it can be easily breached. The first thing to do before setting up automatic updates is to ensure your Raspberry Pi can send email. You’ll want to know when updates are…
There are a bunch of things on Linux that send emails by default (for example, the output of Cron jobs). Being a Linux noob I wanted to ensure I received these emails (what if something goes bad because of my noobness?) and also wanted to ensure my Raspberry Pi can send emails to me from scripts if required in the future. There are a lot of tutorials online about how to do this most of which…
I have a friend who wanted to serve some simple PHP scripts over HTTPS from a Raspberry Pi. He’d seen some benchmarks showing that Apache was a bit of a hog so was trying to use Nginx but was having trouble because none of these apps are in the Raspbian repos. I’m a total noob when it comes to Linux (I got my first Pi a week or so ago), but it didn’t seem like this should be a complicated setup,…
9 months ago my wife and I took delivery of two Renault ZOEs. We hadn’t had EVs before but after test driving a ZOE and being offered a great deal on two we found it hard to turn down! Although the range of the ZOE is only 70-100 miles (depending on weather, etc.) we’ve had no problems using the ZOE for a summer holiday racking up over a thousand miles in a week, including two 270 mile trips…
I recently saw a tweet about having different default browsers on Windows for different urls. This seemed like an interesting idea - I use a few systems that work better in one browser than another. I retweeted and saw a few responses from others that seemed interested in the idea. It seemed like a pretty easy thing to do - register as a browser and when a url comes in, just bounce it over to the…
I recently blogged about poor experiences using the CYC network (mostly GMEV chargers) and sent the post to CYC. Today CYC responded. Hi Dan, Thanks for your email. I’ll work down your blog post point by point if that’s ok? First of all, the problems you’ve have had with the App. We’re a little hamstrung here as our App was built by a third party who still retain most of the administrational…
EDIT : CYC provided a response to this post. It can be found here . A little over three months ago, my wife and I took delivery of our new cars - Renault ZOEs. These are pure electric cars with 22kWh batteries that will do in the region of 90 miles on a full charge. We love our EVs and wouldn’t change them for anything, but we’ve had terrible experiences with the CYC network. Since we tell friends…
I recently picked up an Xbox One console (Gamertag is DanTup ) and have been downloading the free Games with Gold titles and picked up a few of the Deals with Gold offers. I looked around for some way of getting notifications of new deals/free games so that I wouldn’t miss anything if I was busy or didn’t play Xbox for a while, but couldn’t find anything. I did, however, discover that Major Nelson…
If you’re looking for IMAP support (lots of search terms suggest this post is getting a lot of traffic for this) then you can just use the same IMAP details you do for Gmail ( see here ). Inbox is just another frontend onto your Gmail account, you can even switch between the two as you like! Google recently launched Inbox by Gmail . Like all new Google Products, if you’re a Google Apps user…
I’ve posted before that I’m not a big fan of frameworks like Angular. Trying to re-invent programming in declarative HTML tags/attributes/{{ curlies }} will likely always feel lacking ; and every framework having its own unique way of doing this means a ton of effort needs to be wasted invested in updating tooling to support/understand it. So, with my pre-existing bias out of the way; I have to…
Writing Dart? Check out Dart Code, my Dart extension for Visual Studio Code! I recently picked up a Chromebook (a Dell Chromebook 11) and hoped to do a a little bit of hacking on Dart with it. Out-of-the-box the Chromebook can’t run native Dart code (as command line, nor in the browser), so you’re limited to web-based apps using Chrome Dev Editor (which is rather slow at compiling Dart in its…
I’ve recently been looking for a new Chromebook . My Nexus 7 tablet just doesn’t cut it for a lot of things, and I’d like to not have to boot my desktop for some of these (relatively simply) tasks. I’m aware there are some new Chromebooks being released that are fanless and more powerful and have better battery life than previous versions (such as i3 and Tegra processors) so I started looking…
Not content with ruining JavaScript , it seems you’re set on ruining HTML too. If you ask people what they’re building their client-side web apps in today; chances are they’ll tell you some hipster JavaScript framework that could be found listed on the TodoMVC website. The most popular ones tend to be Angular, Ember, Knockout, Backbone and more recently, Polymer. Most of these frameworks have this…
I previously blogged about my negative experience with Jawbone’s Up24, which resulted in exchanging the Jawbone Up24 for a Fitbit Flex . I’ve had the Flex for around 6 weeks now (my wife has had hers for about 4); so I thought it was worth posting a summary of my thoughts on the two devices compared. Jawbone Up24 Pros “Intelligent” Alarm: You provide a window in which you’d like to be woken up,…
Last week I spent some time in and out of A&E with chest pains. It’s still not completely clear what the cause was; but the doctors seem to believe it’s not a problem with my heart. However, several ECG’s have shown an (intermittent!) unusual heart rhythm, so I’m currently awaiting for a 24hr ECG to understand what’s going on (maybe my heart rhythm is timed with IEEE floating point?). Whether this…
Note: DartVS is not being maintained, however Dart Code, my Dart extension for Visual Studio Code is and is much more complete. Yesterday I published my fourth Visual Studio extension! :) Recently I’ve been playing around with Dart, in the hope it might one day be a viable alternative to JavaScript. Something that always put me off trying it out in the past was a lack of Visual Studio support (I…
That’s quite a claim! I’m sure many will disagree with me, but since this is my blog you’re going to get my rant! :) The Problem Over the past few months, I’ve been thinking more and more about the general frustrations around web programming in 2014. For example: There are more programming languages than there have ever been; yet it feels like there is no choice We have more experience writing…
It took me some time to get my head around F#. I had no experience with functional programming and failed twice to pick it up. I persevered; and third time lucky, it started to make sense! I became a huge fan! Being part of the .NET Framework made it feel fairly familiar and more likely we could start to introduce it at work (we’re primarily .NET devs). Options instead of nulls; immutability,…
Yesterday I blogged a list of some of my favourite open source projects . I thought it was also worth blogging some of my favourite services/software with free offerings for open source projects that make it much easier or cheaper for open source projects to exist, collaborate and build great software. I’ve tried to limit the list to things I have first-hand experience of or seem popular amongst…
(You may also be interested in my post Free Software and Services for Open Source Projects .) In a recent blog post , Scott Hanselman suggested: We don’t sing contributor’s praises for their hard work and success while their software works, instead we wait until a single line (albeit one of the more important lines) fails to live up to expectations. I don’t completely agree with this; I often see…
After giving a talk at work to colleagues recently using slides I’d created in Google Docs; I thought I’d had a great idea! What if I could edit my slides as text (something like Markdown) and bypass the nasty WYSIWYG editor?! Well; as is usually the case when you have a great idea; it’s already been done. I played around with a few I found online and one that was really neat. Not only does it…
Yesterday I published my third Visual Studio extension! :) It’s a fairly generic extension, with reads static XML files that contain test results into the Visual Studio Test Explorer window. While this might sound a bit strange, its goal is to integrate with third party tools that can output results as XML and update them realtime. For example, Google’s Karma test runner. Here’s a video showing it…
Today I published my second Visual Studio extension! :) Jasmine Test Adapter for Visual Studio It’s similar to the Lua Adapter I created recently, but uses node.exe instead of lua.exe and includes an internal copy of the Jasmine JavaScript testing framework. I’ve started playing around with AngularJS, and since it seems to be written with unit testing in mind, I somehow ended up at Jasmine and…
Here’s a couple of things I learned while creating a Visual Studio test adapter that included a custom ITestContainerDiscoverer: There is almost no documentation on creating Visual Studio test adapters (and even less on ITestContainerDiscoverer and friends) You need to install the Visual Sudio SDK to get the required assemblies for creating test container discoverers (but not for just test…
Today I published my first Visual Studio extension! :) Lua Test Adapter and Framework It was created because I’d recently been working on a World of Warcraft Addon, RareShare . As the addon currently has no UI (mostly just interacts with the World of Warcraft API), I decided to create a set of automated tests for it (as any self-respecting software developer would ;)). I quickly became annoyed by…
After my previous post of some snippets from my PowerShell profile ; I received another email from the person that prompted me to write that post, asking some questions about calling Windows APIs from PowerShell. It turns out that this isn’t so straight-forward, despite PowerShell’s pitch as a system automation language! The confusion came from various varying samples online of how to do this in…
Yesterday I recevied an email about some code snippets in my PowerShell profile that I’d mentioned on StackOverflow. While trying to retrieve them; I noticed that I hadn’t put them on to my newly-installed Windows 8.1 machine; so I thought it was worth sharing them here while I was copying them from my work machine anyway. I don’t use PowerShell for scripting much now; I’ve been using FSI (type…
A colleague has also been starting to learn F#, and today gave me a problem he’d been trying to solve in F# in a “functional style”. He wanted a function that took a string input, and returned a list of the words, tupled with the starting index. I spent the whole of lunch staring at my screen, trying to wrap my head around List.fold, list.foldBack and other functions; but no joy. While driving…
Recently I’ve been learning a little F#. This is actually the third time I’ve tried to pick it up… The first two times I just couldn’t get my head around it. This time, I think it’s making sense! Whether or not I ever get to use it commercially/in production, I think it’s been a valuable excercise. Just the basics of F# I’ve picked up so far have already start influencing how I’m writing C# in a…
I’ve been trying to migrate my blog from Google App Engine to something a little more manageable (and not tied to GAE infrastructure) for some time. However, all of my attempts to rewrite the blog in ASP.NET have failed due to newer versions of “things” coming out, making me start over before I get to the end. I’ve come to the conclusion that coding my own blog is getting in the way of me…
Now that I've swapped my Windows Phone for a Nexus 4, I've discovered what a mess my Google Contacts are in once synced to Android and enabling Google+ to supplement contact data. It didn't matter too much on the Nexus 7 tablet, but on the phone it's more frequently used, so having the same contacts appear three times is a problem! Note: The People app has a "join" feature that lets you merge…