Recently I decided to migrate my personal webhost to AWS. It’s been running on a really cheap (but still amazing) Australian webhost for the last 6 years, but my contract expires in August I’ve decided to try something new.

Very soon I’ll be moving to America, so I don’t want another Australian host due to the latency. …

PreamblePart 1Part 2Part 3Part 4

Now for the final part of the quintet of posts about building a build. This part is specific to the ABAP stack, though the concepts can be applied to other stacks.

You’ve probably been deploying your code to your gateway manually using the SAP provided program /ui5/ui5_repository_load. It’s pretty much a dog’s breakfast in terms of user experience, and it does a lot of things weirdly. There’s some gotchas which can cause headaches if you don’t know about it (for example; it’ll ignore any folder called build…

PreamblePart 1Part 2Part 3Part 4

By now we’ve got a complete local development environment. But there’s some more things that would be nice to add. Everything I’m going to go through here is technically optional, but I’d recommend it — strongly. These tools will make life easier and better for you and your team.

Syntax Checking If you’re coming to JavaScript from any compiled language — ABAP, C/C++/C#, Java, etc — you’ll find that your development chain is missing something pretty key — code checks before runtime. I mean, sure, you can…

PreamblePart 1Part 2Part 3Part 4

When we left our tooling we had it packaging, uglifying and sourcemapping our code into a separate folder. At each step of adding tooling, you were probably struggling to test the built files. Maybe you were manually uploading them to a web server (like Gateway, or HCP), or maybe you were just browsing them through the file:// protocol.

In this part I’ll walk through the local development server, proxy and authenticator.

Local Development Server Why exactly do you want a local development server? You could just keep…

PreamblePart 1Part 2Part 3Part 4

I was originally going to go about this just listing what I had in the build environment and how to use it — treating the environment as a black box.

But I was reading some comments on a Hacker News article the other day, and they were upset that the people who make build tools do exactly that — present the entire package and tell users to trust it because it works.

In some languages this works fine for example Microsoft builds Visual Studio and its .NET…

PreamblePart 1Part 2Part 3Part 4

UI5 is an interesting framework to say the least. In comparison to other frameworks such as Angular 1 and 2, React and jQuery, it isn’t one of the best front end frameworks out there. But it’s usable enough, and pretty easy to get going (as long as you don’t go too complicated).

SAP in our Workplace At work our biggest platform is SAP. Over time it has become the glue which holds more or less every single system together in some way shape or form. This meant…

Earlier this year I developed an app based off an idea from the business.

The idea came through Bright Ideas (which is a system that lets anyone in the business submit an idea to improve anything in the business with a cash reward for ideas which are get implemented).

The Problem
The problem was simple — every time a crew visits a substation — they had to call the Network Operations Centre (NOC) (which is basically the control room for the entire network), and inform them where they’re entering and why. …

Today I finally got around to setting up a number of things on my personal website.
This blog being the first thing, Cloudflare being the second, and finally HTTPS.
It’s been quite a while since I’d done any server admin tasks on my host, so it took longer than I’d care to admit to get this all setup properly.

My host uses cPanel for its admin, but I’m sure that there’s steps here that will apply to other admin interfaces as well.

Step one: Setting up Cloudflare for your domain. It’s a pretty straightforward process to set this up; create…

Data Model and DTOs
When I first read about the concept of DTOs (data transfer objects), I thought they were bonkers. Why on earth would I bother to duplicate all my effort and hand write another set of nearly identical classes on top of my pre generated model?
That doesn’t really become clear until you have a look and a play with EF to see what it does, and how it best deals with entities. Entity Framework has a lot of internals which help you do things. Foreign key properties help you tell EF when relationships change.

For example, if…

My first exposure to EF was when I was doing an enhancement on one of the Azure applications at work. Before I then, I had the opinion that ORMs weren’t really worth the time it takes to set them up — lots of config to get them to a working state, and then it only abstracts away some of the work. But that first time I started using a pre-fabricated EF setup, I very quickly saw the value of it.

Why bother with an ORM? Without an ORM you either have to rely on one of two things; either you…

Brad Zacher

Computer scientist. Cider drinker. Motorcyclist.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store