Blog

NOV
11 20
16
   

On Trump. And Brexit.

Two things stand out for me about the outcomes in the US and the UK. Actually about the people behind the outcomes - on both sides. The first is the what, and the why: An article about the US working class. The second is the how: A blog post on being a Frank...
 

FEB
20 20
16
   

Establishing Trust and Credibility

This post is part of a series on IT consulting. When you start work on a project, you're going to meet people. This will happen in team meetings and one-on-one interviews. It will happen on the phone, through email and, if you use it, instant messaging...
 

NOV
9 20
15
   

1:10 Scale 4x4 Resources

Google doc - Tyre sizes www.classictvtoys.com - 20cm/8" Figures (US) http://thescalerstore.altervista.org/catalog/index.php/cPath/130 - 20cm/8" Figures (EU, limited selection) Ebay item - Artist's wooden mannequin, moveable, bendable 8", 12" or 16" man Ebay item - Tamiya Wild Willy driver figure Ebay search - 1:6 scale head sculptures (perfect fit for Wild Willy)
 

OCT
22 20
15
   

Scratch-Building Tools

A4 cutting mat X-Acto knife with #11 blades Tamiya handy craft saw II 74111 Tamiya thin blade modelling razor saw 74024 Archimedes spiral push drill (usually with ⌀ 1mm bit) Mini hand drill with keyless chuck (usually with ⌀ 2mm bit) Tamiya angled tweezers 74003 Tamiya side cutter for plastic 74035 70mm x 50mm steel square Pilot The Shaker H-1010 mechanical pencil Sakura Gelly Roll 0...
 

AUG
29 20
15
   

GCM Racing Ascender Combo Kit

GCM Racing's Ascender Combo Kit moves the motor, motor plate and spur gear to the front of the chassis, making space in the middle for an interior. Other than a description on the product page, the kit comes with no instructions. I found a video aptly titled "GCM Forward Motor", but it was about as helpful as a strawberry is in a bar fight...
 

JUL
14 20
15
   

Vaterra Ascender - The Build

Pretty ambivalent about this kit. The mechanics of it are amazing. Tight turning circle, loads of vertical wheel articulation. It's lean, when compared with Tamiya's Mountain Rider. But man, do Horizon Hobby make you sweat during assemby. I assembled the chassis at its shortest wheelbase (278mm), which compounded things...
 

MAY
25 20
15
   

RC 1/10 Scale Tamiya Hilux Mountain Rider - The Build

Started with the axles, suspension and chassis. zOMG Panic!! Assembling the 3-speed gearbox and my little Jedi walks in, eyeing all those tiny little parts... Legendary Tamiya 3-speed gearbox, and not-so-legendary transfer case and engine...
 

MAY
23 20
15
   

Sentence Length

“This sentence has five words. Here are five more words. Five-word sentences are fine. But several together become monotonous. Listen to what is happening. The writing is getting boring. The sound of it drones. It’s like a stuck record. The ear demands some variety...
 

MAY
2 20
15
   

RC 1/10 Scale Tamiya Hilux Mountain Rider - The Parts

There's a complete parts list at the end of this post. My 3-speed RC (radio-controlled) Tamiya Hilux kit arrived from Hong Kong. And was shortly followed by the rest of it - radio, servos, electronic speed controller (ESC), a driver figure, and lights...
 

APR
12 20
15
   

Stock Photos

Finding stock photos is difficult. I need some for a web site. On the home page, for example, I want a photograph of a reasonably attractive person at a computer, where the computer screen is visible so that I can superimpose a screenshot on it. Easy enough, you'd think...
 

DEC
25 20
14
   

RC 1/10 Scale Tamiya Hilux Mountain Rider

In 1984 my brother and I got our hands on a copy of the Tamiya Radio Control Guide Book. Going through it we decided that the most incredible radio-controlled car ever made (at the time, and to our knowledge) must be the 1/10-scale radio-controlled Toyota Hilux...
 

DEC
23 20
14
   

Visual Basic.NET

I wrote my first complete computer programme in 1986. Since then I've programmed (or scripted) in Assembler, BASIC, C, C#, C++, COBOL, F#, HTML, Java, JavaScript, LOGO, Pascal, SQL, VBA and XAML. My last production commit was made in Groovy/Grails. I don't mind C#...
 

OCT
29 20
14
   

Clean Windows 8 Install

Download a Windows ISO by following the instructions here: http://windows.microsoft.com/en-US/windows-8/create-reset-refresh-media. Next, burn the .ISO to a DVD and boot from that DVD. Install Windows 8.1 with a generic key (Microsoft have released legal generic keys for the sole purpose of installing Windows 8...
 

SEP
6 20
14
   

Post-Project Analysis

This post is part of a series on IT consulting. Introduction Project reviews. In other engineering disciplines (civil, electrical, chemical and so on) they're part and parcel of maintaining one's professional standing. In software development they're one the most neglected practices...
 

AUG
28 20
14
   

Instructions for the Stopwatch App

Switching between right- and left-handed use: Tap to switch the locations of the and buttons. Stopwatch event timing: Tap to start, to stop (time out), to resume, to stop, and to reset. Split timing: The top display shows the cumulative running time to the last split...
 

AUG
28 20
14
   

About the Stopwatch App

I wanted to write a small app to familiarise myself with universal Windows apps that target Windows and Windows Phone. Deciding what kind of app to create was easy – I’ve been on the lookout for a stopwatch app since I got my first Windows Phone in 2010...
 

AUG
2 20
14
   

Choosing a station on the London Underground

Slick said: Given: n = number of chicks h(o) = average hotness, as a function of the observer of the chick, o Then if: f(n, o) = n * h(o) It makes sense to head for a stop where f is high. The danger is you could land up at a station with five hundred mingers, for example: n = 500 h(wittenburg) = 7 => f (n, o) = 3500 Of course, some of us have more discerning taste n = 500 h(slick) = 0...
 

JUL
24 20
14
   

Negotiation

This is a repost of an anonymous article I found on the net. Gather Your Chips It is critical that you be prepared before the negotiation starts by gathering all of the bargaining chips. A bargaining chip could be anything, such as money, an objection to be overcome, or any discrete unit of exchange...
 

JUN
7 20
14
   

Interact Screenshots

Interact start page Project page File menu Template editor Item editor with guidance Item editor with guidance on Windows Phone Item editor with guidance turned off More information Overview How Interact started Interact security The current state of Inetract
 

MAY
10 20
14
   

Security Engineering Isn't Difficult - People Are

Security engineering ensures that computer systems remain dependable in the face of malice, error or mischance. This includes the tools, processes and methods needed to design, implement and test new systems, and adapting existing systems as their environment evolves...
 

APR
11 20
14
   

One-Time Password - Proof of Concept

A one-time password (OTP) is a password that is only valid for a single login session. The benefit of OTP is that it’s not vulnerable to replay attacks. This means that an adversary cannot capture and then reuse a one-time password, since it’s not valid beyond the login session it was used for...
 

MAR
22 20
14
   

Recovery-Oriented Computing

I recently came across some scanned notes from a TechReady conference from (I think) 2007. Anyway, the topic is fascinating. Recovery-oriented computing is a method for developing reliable Internet services. The idea is to reduce the effects of harmful events, like Bohr- and Heisenbugs, amongst other scenarios: The idea is to automate the recovery process depicted above...
 

FEB
9 20
14
   

Waterfall and Agile

This post is part of a series on IT consulting. Introduction Someone starts a career writing software. After 10 years or so, she finds that doing certain things seems to yield better results than not doing them, or doing other things. She writes them down, so that others starting a career writing software can shortcut their learning...
 

JAN
30 20
14
   

UI Inspiration

http://pttrns.com/ App screenshots http://capptivate.co/ UI animation design http://ui-animations.tumblr.com/ UI animation design http://[NSFW]website.com A [NSFW] website. http://dribbble.com/search?q=ios iOS and other platform design http://mobileawesomeness...
 

JAN
17 20
14
   

Re-thinking Add-Change-Delete

Add, change and delete, or create, read, update and delete (CRUD) is arguably the most basic data operation I do on my PC or phone. The surprising thing about that is that every time I write code to do it, the result is a dog's breakfast. Over Christmas I started working on an update to Offroad GPS because, from a usability perspective, it's an absolute swamp donkey...
 

DEC
27 20
13
   

Stakeholder Management

This post is part of a series on IT consulting. Introduction A stakeholder is anyone that affects or is affected by your project. Stakeholder management is about identifying, analysing and managing their sensitivity to interests, motivations and concerns...
 

DEC
5 20
13
   

The Daily Commute

It’s twice as fast as taking the tube, so I’ve been cycling into work since September. When you do this you start identifying the stereotypes. There are three, and I love cycling with these guys - it's endless fun. The hipster Usually male, has a beard...
 

NOV
29 20
13
   

Power and Politics

This post is part of a series on IT consulting. Power and politics are far more nebulous and complicated than alignment with an organisational chart. Power is a concrete manifestation of influence, and is often the driving force behind political alignments, fallouts and agendas...
 

NOV
14 20
13
   

SyOps

Polarised screen filter - hide data displayed on a monitor in a public environment (YouTube video, DIY). Tor - communicate online anonymously (free software). TLS - encrypt communication online (Wikipedia article). Silent Circle - encrypt peer-to-peer texts, phone calls, video calls, and file transfers from mobile phones (commercial software)...
 

AUG
31 20
13
   

Estimating IT projects

I’ve estimated a fair number of IT projects over the years. Each estimate has always been accompanied by a variance that accounts for uncertainty – something like “x years, plus or minus a factor of y”. After a while I noticed a trend. My nominal estimate was the number that stakeholders looked for, and took literally...
 

AUG
15 20
13
   

Interact Security

When I started work on Interact I thought I'd just need to encrypt a couple of fields in a database. Thinking it through a little more that started to seem a little naïve. Actually building it and getting the security protocols right turned out to be really hard work...
 

AUG
1 20
13
   

Pocket GPS

I've just been browsing through my \Dev folder, and rediscovered the Pocket GPS app I wrote as a side project in 2002. I was even more surprised when I loaded it into Visual Studio 2008, compiled it, and it actually still works!     Compass rose Satellites Routes       Edit route Waypoints Edit waypoint This project was interesting...
 

JUL
20 20
13
   

Understand the situation

This post is part of a series on IT consulting. Transformations When asked to provide a solution to a problem, step back and look at the environment as a whole. It helps to spend time understanding a situation before assuming you have appropriate ideas about changing it...
 

JUL
4 20
13
   

The Future of the Internet

The Internet is becoming a means for states and criminals to prey on ordinary people. That is all.
 

JUN
9 20
13
   

Modern Conflict

Y is always irrational, savage, and sub-human. X is always civilised, noble, and well-meaning. Aggression by X is always necessary for a perceived greater good. Aggression by Y is always explained in terms of 1, and never as a result of 3. I've no idea whom to attribute this to...
 

JUN
7 20
13
   

The Current State of Interact

Progress on Interact is advancing, albeit at a snail's pace. This is where it's currently at: Dec 2004 - Completed and immediately started using a crude proof of concept. July 2011 - Completed a first working version of the Interact client for Windows desktop...
 

APR
6 20
13
   

Situational Analysis - Technology

This post is part of a series on IT consulting. Assessment Criteria An assessment of the technology landscape provides an accurate description of the current environment and its corresponding variables in which the solution will reside. The following points should guide the discovery process: Devices A computer is a general purpose device that can be programmed to carry out a set of arithmetic or logical operations...
 

MAR
31 20
13
   

Situational Analysis - Transformations

This post is part of a series on IT consulting. A transformation transforms inputs into outputs. Transformations can be on-going, such as paying insurance claims; or one-offs, such as automating a manual insurance claim validation process. Transformations are expressed as a process...
 

MAR
12 20
13
   

Application Security

I keep running into the comment that security is hard. I've often claimed that it's no harder than a breadth-first tree traversal. I'm starting to think that I've been stretching it a bit, because they're two entirely different types of problem. A breadth-first tree traversal is an algorithm...
 

FEB
11 20
13
   

Designing for Change

This post is part of a series on IT consulting. It describes an approach to developing an application with the explicit expectation that its requirements will change. The approach involves identifying areas likely to change, and then designing the application in a way that separates or isolates those areas of concern from the rest of the application, thereby minimising the impact of those changes on the rest of the application...
 

FEB
10 20
13
   

Choosing a Software Development Methodology

window.dhx_globalImgPath = "misc/imgs/"; function Array(n) { this.length = n; return n; } function Methodology(name, reliability, security, complexity, size, documentation, culture) { this...
 

JAN
6 20
13
   

Books

Talk to any dev for long enough, and the subject of books will come up. I love books. I love them because they give rooms a comfortable warmth. They smell good, and there's often a satisfyingly substantial feel to them. What's undeniable though, is the astronomical amount I've learnt from books...
 

DEC
27 20
12
   

Interact

Introduction Interact is a project I've been working on since 2004. It's a database in which all data is encrypted, and securely synchronised across devices. Interact has forms to search for, display and enter data items. Data items support a variety of standard field types...
 

DEC
2 20
12
   

Resolving LTE/4G activation and SIM card issues

My Nokia Lumia 920 is working, at last. There were three problems - the first was the "No service" status of the SIM card. The second was that some SIM cards sent my phone into the eternal restart cycle. The third was a 4G SIM card maxing out at 3G speeds...
 

NOV
17 20
12
   

Activating a Nokia Lumia 920 on EE

Introduction On Friday, November 9th 2012 I went to Phones4U and upgraded my T-Mobile number to a new EE contract with a Nokia Lumia 920. After 21 days we eventually got it connected to the EE network. Last updated:   Thu, 29 Nov Situation: Concluded Status: Resolved Days without service: 21 If you're interested in solving a similar problem, rather than going through the history of events, see this post...
 

NOV
7 20
12
   

Architecture Soft Skills

Architecture This presentation takes a look at soft skills that architects might find useful, and is followed by a list of resources. Direct link to presentation on Speaker Deck, in case you're running an ad blocker. Architecture Architecture definition (Bredemeyer...
 

OCT
17 20
12
   

Architect Roles

At work today I was asked to interview a candidate for an enterprise architecture role. I had to fill in for someone else, so barely had time to read the candidate’s CV before the interview began. My first surprise was that the candidate was being quizzed on his knowledge of adaptive case management software...
 

SEP
24 20
12
   

Managing Risk

This post is part of a series on IT consulting. A risk is the probability of loss, danger or damage. Risks can come from uncertainty, deliberate acts, or unpredictable and unforeseen events. Risk management is about reducing the probability of a risk occurring...
 

SEP
24 20
12
   

Windows 8 Shortcuts

Windows Key Shortcuts [Win]+[.] - Snap WinRT apps to alternate sides [Win]+[Shift]+[. ] - Switch WinRT app sides [Win]+[Plus] or [Win]+[Minus] - Zoom in/out [Win]+[Arrow keys] - snap desktop apps to left, right, top or bottom [Win]+[Break] - System Info [Win]+[C] - Charms menu [Win]+[D] - Desktop [Win]+[E] - Internet Explorer [Win]+[F] - Find files [Win]+[K] - Devices [Win]+[I] - Settings in any app [Win]+[Print Screen] - Saves a screen shot as a ...
 

SEP
9 20
12
   

How Wittenburg.co.uk Was Built

Introduction I’ve just rebuilt Wittenburg.co.uk. Here's what I set out to do: Control: Specifically, control of my content. I want it to be exportable and searchable, and I want absolute ownership. Access: I must be able to easily access, modify or delete published content from anywhere, using a phone, tablet, or PC - even if I don’t have an Internet connection...
 

SEP
2 20
12
   

When Uninstalled WinRT Apps Request Updates

Windows RT (Metro) apps can be uninstalled. Right-click and choose "Uninstall" from the menu that pops up at the bottom. Sometimes however, the Windows Store app notifies you that there's an update for an app that's been uninstalled. The reason for this is that the Windows Store app isn't notified when an app is uninstalled...
 

AUG
19 20
12
   

Installing a New OS on a Samsung Series 7 Slate

Overview Installing a new OS on the Series 7 Slate requires a USB keyboard and an external DVD drive, or a USB stick. The USB keyboard is required to change the boot order of the tablet in the BIOS setup utility. However, the tablet doesn’t recognise USB keyboards until legacy USB support is enabled in the BIOS setup, so the tablet hardware keys must be used to enable USB support...
 

AUG
16 20
12
   

Free and Open Source Software

Pretty trendy at the moment, but I’m ambivalent. I hear a number of arguments in favour of open source and oddly, never any in raging support of proprietary software. The arguments in favour of free and open source software usually focus on standards, security, and cost (it’s free)...
 

JUL
7 20
12
   

Teh Intarwebulatorz Aren’t For Real Developerz. Srsly.

This old gem just came up agaon on HN. Michael Braude had a go at Web programmers (essentially saying they’re dumber than an ironing board) to which Jeff Attwood responded by saying much the same about non-web devs. Even though I used to be a Jeff Attwood, philosophically I side with Michael...
 

JUN
7 20
12
   

IT Consulting

Introduction Virtually all IT projects of even marginal significance that I’ve worked over the years share, to a greater or lesser extent, the following characteristics: Uncertainty and ambiguity Organisational and inter-organizational politics Complexity No correct or shared understanding of the problem Competing points of view and values Different people knowing different parts of the problem (and possible solutions) These challenges are nasty, and the usual mix of IT frameworks and methodologies do little to address them...
 

MAY
27 20
12
   

Krav Maga for Windows Phone

When I go training I often take notes afterwards about new techniques, or things I might improve on. It's the usual story - pen and paper aren't always available, but my phone is. So I threw this app together. It includes a training schedule, and also shows the club's Twitter feed...
 

APR
24 20
12
   

Project Deliverables

This post is part of a series on IT consulting. The documents below contain guidance and, in some cases, examples of specific topics or deliverables that may (or not) be required to deliver an IT project. I use them mostly as a sanity check and to ensure that I haven't forgotten anything...
 

APR
21 20
12
   

Defining Scope

This post is part of a series on IT consulting. The scope places a boundary around the solution by detailing the product's range of features and functions, by defining what is out of scope, and by discussing the criteria by which the solution will be accepted by users and operations...
 

MAR
6 20
12
   

Security Resources

https://www.ssllabs.com - Qualys SSL Labs (test browser SSL implementations and server SSL certs and configurations) http://lessonslearned.org/sniff - checks for known unique identifier tracking beacons
 

FEB
18 20
12
   

Software Quality Assurance

When focus is quality, quality rises and costs fall When focus is cost, costs rise and quality falls William Edwards Deming This post introduces some high-level quality objectives common to most IT projects. It defines quality, and presents common quality objectives (Wiegers, 2003) as user stories...
 

JAN
29 20
12
   

Scrum

This post is part of a series on approaches to software development. Updated June 2013 Scrum is a software development methodology. When it was invented back in the 80’s, it was known as an all-at-once model, based on a team approach. While modern Scrum can still be described as such, it is now known as an agile methodology, and looks nothing like it did in the 80’s...
 

DEC
26 20
11
   

Software Development Practices

This post is part of a series on IT consulting. Both Waterfall and agile methodologies are steeped in good and bad practices, dogma, and myth. Most successful projects succeed in spite of their chosen methodology, rather than because of it. The point of this post is to list some useful practices regardless of any methodology you might use...
 

NOV
9 20
11
   

Project Team Roles

Role Confusion Around 1870 David Livingstone and his team of porters was clearing a path through the Congolese jungle with machetes, hoping to find the source of the Nile. The head porter's job was to manage - ensuring that machetes stayed sharp, the porters had enough water, and were generally able to continue clearing a path through the jungle...
 

OCT
25 20
11
   

Alienware Scaling

Download and install AMD Catalyst Control Center Select "My Digital Flat-Panels" from left-hand main menu Select "Scaling Options (Digital Flat-Panels)" from sub-menu Set scale to 0% (overscan).
 

OCT
8 20
11
   

Setting Objectives

This post is part of a series on IT consulting. An operations manager at an insurance company once told me that his computer system was ancient, at full capacity, and that the incumbent systems integrator was charging a fortune just to add a new field to a form...
 

JUL
31 20
11
   

Trade-Offs and Compromise

A fundamental part of being an architect is making decisions. While we hear a lot about failing fast and often, making the right decision is obviously preferable. And choosing the high road as opposed to the low road (or vice versa) comes at a price. What's the motivation for choosing Rails over PHP? Asynchronous RPC as opposed to synchronous IPC calls? Is the time required to implement a context-sensitive menu in a tree view worth it? Consider the following - This is a classic trade-off triangle...
 

JUL
22 20
11
   

Communication Plan

A communication plan describes how the team communicates status and news about the project to internal and external stakeholders. The communication plan identifies the processes, methods and tools required to ensure collection, distribution, and management of project information for all project participants...
 

JUL
1 20
11
   

Interact - How It Started

In 2001 I purchased an app called Code Vault for my Nokia 9210 Communicator. Code Vault let you securely store sensitive data. It had pre-defined templates for things like passwords and credit card information. If you needed to store something that didn’t have a template, you could create your own...
 

FEB
5 20
11
   

TLV - An XML/JSON Alternative

Introduction The problem I've been trying to solve is to find a data format that lets me send any kind of data over a network connection. Transmission needs to be efficient, as networks are often unreliable and slow. I also want to process data before sending it - specifically, compression and encryption...
 


Home | Blog | Photos | Contact | About

Wittenburg.co.uk and all content copyright 1995-2017 by Michael Wittenburg, unless otherwise stated.
All content on this site is licensed under the Creative Commons license, unless otherwise stated.