
-
No Design Authority
(Thank you for the use of this image).
-
Yearly Financial Planning
If there is one take away (from this post), protect your contingency fund.
-
Being Stoic
I recently presented an LJC (London Java Community) Lightning Talk on “Managing Yourself”, by being Stoic.
-
May I ask where my pizza is (please)?
After this evenings pizza saga, i’m going back to basics. Clear requirements, and mitigating risk.
-
Learning in 2021
-
Seasons Greetings
-
Tech
Tech
-
Side Project Choice
Selecting your Side Project
-
Side Project as a Training Idea
“Two things I enjoy, Code, and Training”
-
BTEC Results, August 2020
BTEC Results, August 2020
-
Dropwizard Statistics Design
Statistics in a Large Scale Dropwizard Application
-
What am I good at?
My Personal Inventory. In other words, what am I good at, and what do I enjoy?
-
Dropwizard with Freemarker templates
Dropwizard - with Freemarker template
-
Liquibase with Postgres
Liquibase - with Postgres
-
TMUX
TMUX
-
Good Friday in Amersham Old Town
Photographs of Old Amersham. Good Friday, April 2019
-
Postgres tips for a Spring Boot JPA Rest application
Spring Boot JPA Restful web service with Postgres
-
I'm happier on a bicycle :)
Enjoying the simple things in life :)
-
Bad Design
Good design makes people want to use something
-
The "Out of Order Bathroom, and Why You Should Care, "regardless......"
That’s fine….. Why should I….. It’s got nothing to do with me…..
-
VW-adverts my new side project
-
Debugging Java 8 Streams
The peek() method is useful for debugging Java 8 stream(s).
-
Node and AWS API Gateway
Happy New Year :D
-
Serverspec
Serverspec on Centos
-
My Ideal Job
My idea job would be a combination of Software Engineering 70%, and Operations Engineering 30%.
-
Effective Testing with CURL on OSX
Testing, especially the automated variety is very effective.
-
The art of being organised in 2017
I like to be organised.
-
This Is My Career
Over Christmas a family member (you know the type - ignorant older generation, who doesn’t know “what you do”) took target practice at my career.
-
Docker buildDocker authentication error
I’ve recently started to learn about Docker.
-
chocksaway.com has changed
You may have noticed that chocksaway.com has changed. I’ve decided to move away from wordpress, as there were often automated attempts to break into the site. Running a static site is also easier :O)
-
The Drawer of Plenty, an IOT hackathon, and "how it was successfully glued together"
-
The Terraform Getting Started tutorial is rather good :O)
There is nothing like automation, which works (within thirty minutes). Enter Terraform.
-
Ensuring DynamoDB localhost uses the correct region
I’ve been using dynamoDB running on localhost to code with. I was having a problem where the region was being set (default us-east-1), which was hiding my tables and data :O(
-
Spring Boot with Web Form, and MongoDB Authentication
Spring Boot has some some excellent Getting Started exercises. Securing a web application is one of them. I used this as the basis for my first web login form. Nice and simple.
-
BASH script for dumping all key, values using redis-cli
#!/bin/bash # get all keys # find the type for each key # get value(s) for key # list, string, hash, set for each in $( redis-cli KEYS \* ); do result=$(redis-cli type $each) value="" if [ $result == "list" ] then value=$(redis-cli lrange $each 0 -1) elif [ $result == "string" ] then value=$(redis-cli get $each) elif [ $result == "hash" ] then value=$(redis-cli hgetall $each) elif [ $result == "set" ] then value=$(redis-cli smembers $each) fi printf "key %s\t\t type %s\t\t value %s.\n" $each $result $value done
-
Spring Boot your Hello World app will not "start"
**Your Spring Boot application has no errors, but won't start (listen on port 8080).**
-
Maven and Gradle "invalid target release1.8"
Your code is working fine on one laptop, but when you clone, and try and get working on another laptop, you get the following error from a gradle, or mvn compile:
-
Python / Boto 3 - Adding an S3 Bucket in a none eu-west-1 region
**AWS error "An error occurred (InvalidRequest) when calling the CreateBucket operation: The authorization mechanism you have provided is not supported. Please use AWS4-HMAC-SHA256."**
-
Boto3 1.3.0 Create a (directory) object in an (already existing) S3 bucket
Important to add the “/” after the name of the directory object **(Key=’second_level/’):
-
Griffin Powermate Applescript to control Spotify
**My Griffin Powermate has been sat on the side for too long :( **
-
Why Marmaduke Broke at 6am
-
Application security cannot just be the "speciality" of the Information-security team
As a developer you are involved in two-week sprints, pre-planning, planning, estimation, “the-sprint-itself”, daily stand-ups, show-and-tell, and retro-spectives. And repeat…..
-
AWS Data Pipelines - (Disaster) Recovery and Validation of pipeline-definitions using BOTO3
I have recently started to use AWS data-pipelines for backing up (cross-region) S3 buckets.
-
To all you makers, builders, coders, hackers, inspired people, one hundred dollar start-up
Thank you for your energy, curiosity, purpose, grounded pragmatism, and for having a go..... aka getting on with it :0)
-
Intellij / Idea Live Templates
Intellij / IDEA use of Live Templates is nothing new. But, in case you have never heard of them, this is how they work:
-
It's very easy to get into a negative mind-set about DevOps
It’s very easy to get into a negative mind-set about DevOps. If you are shovelling **, you will lose enthusiasm for development, infrastructure automation, pragmatic documentation, and will forget to re-read the Phoenix project.
-
Openstack Firewall Rules
**I've been spending time with Openstack.**
-
Intellij, psvm and the shortcut for creating a main() method
Intellij has a nice shortcut for creating a "main()" method. In a Java class (pojo):
-
Importing an "existing" Play 2 Project into Intellij 14 (IDEA)
It’s been a while since I picked up the Play Framework. I wanted to create a new Play 2 project in IDEA. I used the Play 2 plugin to create a new project.
-
Use Gradle to Create a "standard" Java / TDD directory structure
Use gradle to create a standard directory structure (use --type):
-
Python 2.7.10 Testing with Behave and Intellij (Idea)
I felt it was about time to write how I have successfully integrated Intellij (Idea, version 14.1 Ultimate Edition), Python 2.7.10, and behave tests.
-
Why DevOps, Debugging, and Bravery, go hand-in-hand
"If you **design and make something from the ground up**, you will (hopefully)......."
-
Welcome to the "Revamped" Android App Met (Metropolitan) Line Connections :)
I use the Metropolitan Line Every Day.
-
Finding the most "recent" file in your S3 Bucket
Use the S3** ls **command to list the contents of your bucket.
-
The Swiss water pump which wouldn't play ball, and the importance of getting your **** together (in other words being organised)
This blog is primarily a technical blog. For the last two days, I have been doing a different type of tech. Low-aircooled-tech :) I am in the process of fitting a “new” engine into my VW camper. This engine used to be a water pump in the Swiss Army.
-
Agile software, infrastructure, and platform development - the books which make sense
There are lots of books about being Agile, which quite rightly talk about planning, reducing complexity, and stories. These are all fine, but I think you need to dig deeper. People have been Agile before the term Agile existed.
-
Well Done Jolla
I replaced my HTC One (Android) three months ago, with a Jolla.
-
Unix / Linux file-system conventions explained
Useful reference:
-
Reset your git repository master branch
If you want to reset, and clean your git repository:
-
So, which bag are you ? :0)
Every weekday morning, someone travels past my humble abode, with a wheely bag. Destination, the train station.
-
Improving Throughput with The Theory of Constraints
Excellent slideshare by Andrew Rusling. I would recommend that anyone wanting a view read The Phoenix Project http://www.amazon.co.uk/The-Phoenix-Project-Helping-Business-ebook/dp/B00AZRBLHO, followed by The Goal, Theory of Constraints http://en.wikipedia.org/wiki/The_Goal_%28novel%29
-
Simple redis-cli / Redis commands
Assume that redis-cli is installed, and that redis in running on localhost:6379
-
What is DevOps? "Is it, Continuous integration, automation, cloud providers, third parties, product managers?"....
I was reading “how devOps is killing the developer” by Jeff Knupp. It made me think about the multi-faceted developer, who is covering “all the bases” (because it’s a start-up, and there is nobody else to do it), to the organisation who thinks they can run a “whole operation” (regardless of what it does), with a handful of developers.
-
Using the gollum markdown ruby extension
Markdown is the most versatile documentation.
-
Being (just a bit) functional in Python
After so many years of Java development, functional programming (is not just code), but a different approach to designing and implementing code.
-
Just.... coding, "being in the right place at the right time"
I have spent the last week working across two projects. It’s been very interesting, but I haven’t done much coding.
-
Jolla
There are very few brands, which I think make a genuine difference.
-
devOps and the Phoenix project
I’m currently reading the Phoenix project, which is about devOps. It brings back some interesting experiences working as a developer, infrastructure engineer, and fixer of broken systems.
-
Intellij 14 showing return type in Scala (Show type info on mouse motion with delay) in OSX
If you are using Intellij 14, and want to enable the return type of a method call in Scala (when the mouse stays for more than xxx millisecond).
-
Linux and testing a service running on a port
Two really useful commands I use for testing if a service is running on a specific port:
-
Running Python Behave tests
Running behave tests from a virtualenv, you get the following error:
-
Sending email from Scala - Play Framework version 2.3.6
I have just successfully sent an email from Play / Scala. This is what I did:
-
What is there not to get about Human Computer Interaction?
I was lucky enough to be in Alan Dix’ tutorials eight years ago. I occasionally think about what I learnt, but not nearly enough.
-
Go on leave your front door open......
-
Test Kitchen / Serverspec V2: Changes to spec_helper.rb
Serverspec 2 has just been released.
-
Port forwarding for Linux iptables
To forward requests ‘coming in on port 80’, to port 8000:
-
Why you shouldn't introduce "stuff" into your technology stack
Creativity is why I code. Wiring "things" together is creative. When the "things" become an end-to-end system, I know that I have accomplished something which is robust, and does "what it says on the tin".
-
Redis caching in Django
Install redis
-
Parsing HTML with BeautifulSoup
This is how you parse HTML using BeautifulSoup. I will add more detail when I get five minutes :)
-
Java Socket Programming
There is so much talk about APIs, Restful this and that . This is fine, but sometimes you just want to run get a client and server to use plain old sockets. I wrote a simple Java Client / Server earlier today (there is nothing amazing about it, but it does show how you can serialize an object over a socket).
-
Test Kitchen with an Ubuntu 12.0.4 / Vagrant VM
Test Kitchen (http://kitchen.ci/docs/getting-started) is a excellent automation framework. I have split this into two parts. Part one involves installing Test Kitchen (including all dependencies on an Ubuntu Linux “blank box”). Part two is the Test Kitchen “getting started tutorial”.
-
A Mesh Network in the street where you live, not just for emergencies....
Your average street in the UK is going to have a large number of wireless networks, all secured, with a single use scenario. Oh dear....
-
Edward Snowden on NBC news
I have just watched the Edward Snowden interview on NBC news. Despite the number of advert-breaks, it was interesting. There is a vast amount of detail which is not being made available to the general-public. If Edward was to return to his country, I have my doubts to the fairness of the trial he would get.
-
Simple Scala exercises
I have just found some simple Scala exercises from a year ago (which may be of use to those learning) :O)
-
Scala wrapper round the Java port-scanner
I have been learning about Scala Futures, and fully believe that (whatever language) you code in, parallel programming is going to change the way we design, implement, think, test, and support software components and systems.
-
Service delivery, the National Health Service (NHS) and the Epson XP-800 printer
It’s great when things “just work”. But technology doesn’t always do this.
-
The MongoDB SOLR Connector
I keep coming back to SOLR (professionally, and in my own time). I like what it does, and how it “does what it says on the tin”.
-
Quick SLF4J logging with Intellij / Idea
**Sometimes you just want things to work. Here is a _quick_ logging solution I got working with Intellij.**
-
Jasper and IReport removing carriage returns in logic
I have just been caught out by IReport. I had the following “image statement”:
-
MySQL check to see if none printing characters [A-Za-z0-9]
-
Returning a value from a sub-report in Jasper reports
Calling a sub-report within Jasper reports is pretty normal. Passing a value (the result of a query) back to the main report is what this blog post is all about.
-
Focus and the Importance of not dashing "out the door"
The end of the day or week arrives. There is a real temptation to dash-out-the-door. Forget everything till tomorrow.
-
Why giving a **** is important.....
A number of things have happened in the last week, which make me glad I am curious, enjoy learning, improving things, and don’t have issues with standing up for myself. This may sound like a disparate collection of things, but there is a common thread.
-
Installing MongoDB on Ubuntu, overwrite '/usr/bin/mongoimport' error
If you are installing MongoDB on Ubuntu, http://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/
-
Exporting a small MySQL database, Importing into MongoDB, and Viewing the MongoDB data in IReport / Jasper reports
MySQL Database
-
Groovy using the "inject" method to filter items in a list
def list = [1,2,3] def sum = list.inject(0) { sum, item -> sum + item }
-
Internet of Things http://redmonk.com/thingmonk/what-is-thinkmonk/
What a great conference / workshop. I came away feeling a real buzz. I liked the adhoc nature ;O)
-
Idea "comparing two branches (to show differences)"
You have been working on a feature branch, and you want to find the differences (across the two branches).
-
FancyBox 2 - Ajax get
I occasionally have to get a FancyBox (light-box) working. I was recently having issues getting a FancyBox to work with IE 9/10. It worked fine in Chrome, but that’s not the point.
-
Virtual box "getting to your localhost"
I have a VirtualBox instance running “on my regular development laptop”.
-
Cleaning a "grails project" in IDEA/Intellij
Sometimes IDEA does not remove compiled classes. To do a manual “clean” of a project, use the following menu / options:
-
Java / jvm debugging network connections
If you have issues connecting to a network, or related service, use the following Java / virtual machine configuration setting:
-
Batch resize of images using ImageMagick
Find any file which is a “jpg”, resize by 30%, and save in the resized directory:
-
Broken Windows and Installing (Upgrading) software
Broken windows in a building install a sense of abandonment.
-
Mapping from one thing to another in Scala
I have been playing with Scala map functionality :O)
-
Scala filtering a List of Objects
As my Scala experience allegedly increases, being able to filter a List of Object “foo” is very useful:
-
SQL query with "offset" and "limit"
SELECT * FROM photographs LIMIT 8 OFFSET 10
-
The "continuing travels" of Mr Edward Snowden
So Mr Snowden has arrived at Moscow airport, and has made a request to Ecuador, for asylum. Where will he end up?
-
Postgres / PSQL importing a database
When you have backed up a database, and are restoring it (and if you are using the PSQL command line tool), don’t forget to add the database name to the end of the command line:
-
Get your environment set up and configured correctly before you start coding
You have just started a new sprint, and want to get coding. You crank up Eclipse, and off you go. Well stop, a minute. Have you set up and configured your environment correctly?
-
Simple Scala List of Char
I have just started learning Scala. I started by playing with a Hello World example, with some with head, tail, and List of Char[]:
-
The easiest way to Move (export, then import) a git repository
The easiest way to “move a git repository” is to clone the repository:
-
Change between Unix and Windows file formats
Inside vi, you can use the :set ff=??? to change between formats:
-
Managing a remote MySql instance with an SSH Tunnel
I thought this may be of use to anyone trying to do this. Start of by opening up an SSH client / terminal.
-
The problem with banks who don't communicate securely
Earlier today I had a telephone call from “xxxxxxx” at a large High Street bank. I was busy, so they left an answerphone message.
-
Back-end developers, know your demo audience
About three years ago, I was writing some Excel macros, and it came to demo the prototype. The audience were not interested in “i’ve done this cool stuff in the back end implementation”. One screen searched for some figures, and summarised them. This was not “that visual”. The audience let it be known that they were not that impressed. They were looking for more visual content in the demo.
-
Enthusiasm versus automating the recruitment process
Asking someone to implement a solution to a problem which they have never seen before in thirty minutes does not allow me to assess someones acumen as a software developer.
-
Changing the Apache Tomcat port in Eclipse
If you do a Google for “changing the Apache Tomcat port in Eclipse” you will be told to change the relevant ports in apache-tomcat-?.?.??/conf/server.xml:
-
Bubble sort in Java
For anyone looking for a Java bubble sort :O)
-
The password reset email
After requesting a password reset, an email was sent to my inbox. It read:
-
Agile Web Development with Rails by Sam Ruby
I am currently working my way through “Agile Web Devleoment with Rails by Sam Ruby”. It’s a well written book which allowed me to installed Ruby + Rails easily without (so far) having to resort to Google to get things working.
-
Express yourself clearly .... in the code you write
Speaking with people face-to-face, on the telephone, or via email requires a clear understanding of what you want to say.
-
Using Apache HTTPClient to build, download, upload, and install a CQ 5.4 content package
I have been writing some curl scripts to build, download, upload, and install CQ content packages. **
-
http://vizualize.me and linkedin
I have just been told about http://vizualize.me which (as you can imagine) allows graphically interprets your linkedin profile.
-
Squirrel Mail sent-items folder will not disappear
I have been using Squirrel Mail for years. I recently started using a new IMAP client and this got confused with Sent and sent-items folder. I removed the sent-items folder without difficulty, but whenever I did a Squirrel Mail search there was an error stating that sent-items was not found.
-
Managing the complexity of software, infrastructure and computer systems
I woke up round 3am the other morning - thinking about the way that software systems impacted the infrastructure at work. In a previous life this point-of-view would have eluded me. Why? Because I was a software developer plugged into a project which didn’t include it’s associated operations and system infrastructure.
-
Installed wordpress ......
**Very impressed with the easy installation. I'm looking forward to customising the template and adding some interesting (potentially) content :O)**
-
The last couple of weeks have been amazingly busy
The frustration of not being able to take technical ideas forward…it’s never been about the money…and it’s no different to crafting a cool hand-made watch
-
More on the N9 :0)
After some procrastination I bit the bullet and have bought a Nokia N9.
-
Developers don’t seem to want to research the solution to a problem
Back in 1995 when I started using the Internet there were not as many places to hunt for a solution to an issue (I don’t have problems).
-
Whilst rummaging through a drawer - I came across my Griffin Powermate
This is a great bit of kit….no self-respecting developer should leave home without it :O)
-
The NOKIA N9 …
I have always owned a Nokia mobile. I’m currently the proud owner of an N900 which I believe is the best phone for someone like me :O) It does not have mass market appeal - but that’s OK.
-
Linkedin has a really nice balance…..
There is nothing more annoying than going to a website and being invited to participate in a survey…..sitting through an advert before watching something on youtube. I find it intrusive and annoying.
-
CQ automated Felix bundle start
We have just gone live with a “large” number of Adobe CQ 5.4 publish instances. I have written a Perl script which checks to see if Felix bundles are all started OK. The perl works by parsing the output from http://server:port:/system/console/bundles (use a curl command to login as admin) and read the HTML output as a stream into your perl: