LittleArduinoProjects#186 Asynchronous Counters with JK Flip-Flops

A quick demonstration using four JK flip-flops set up in "toggle" mode to implement an asynchronous 4-bit binary counter. This is the classic circuit, straight out of a text book. It's implemented with:
  • two 74LS73 for the flip-flops
  • a 555 Timer astable oscillator providing the clock pulse
As always, all notes, schematics and code are in the Little Arduino Projects repo on GitHub.


Why "asynchronous"? This refers to the fact that the output of each (more...)

Generating Diceware Passwords in Python

Today I’m going back to a theme from a post last year and looking at generating passwords with my favourite programming language. A tweet from Simon Brunning pointed me to Micah Lee’s article at The Intercept and my first thought was to write a function to do this in Python. So here it is;

def generate_diceware_password(word_count=6):
    import random
    word_dict = {}
    passphrase = []
    with open('diceware.wordlist.andy.txt') as f:
        for line in f. (more...)

Teaching an old dog to Fish

Inspired by the recent furore around Shellshock I decided that it was time to try an alternative to bash. By the very grown up process of shutting my eyes and poking my finger at the results of a search for “shell” I ended up at fish shell, described by the project as “a command line shell for the 90s”. I’m presuming that this means the 1990s and is not a minimum age requirement.

I’m (more...)

Generating Reasonable Passwords with Python

Thanks to a certain recent Open SSL bug there’s been a lot of attention paid to passwords in the media. I’ve been using KeePassX to manage my passwords for the last few years so it’s easy for me to find accounts that I should update. It’s also a good opportunity to use stronger passwords than ‘banana’.

My problem is that I have always resisted the generation function in KeePassX because the resulting strings are very (more...)

My Career

The next time anyone asks me what I do for a living I’m just going to point them to this YouTube video.

Found on the twitters thanks to Nick Hodge and Jess Dodson.

Howto debug Mendix java actions

To debug Java Actions used in a Mendix Microflow you need to make some configuration changes to the way you start the Mendix runtime.

Add the following in your project settings, in server configuration add the following to Extra JVM parameters:

-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005

Mendix Project Settings

Start your application in Mendix.

In your Java IDE you need to configure remote debugging. The following screenshot shows my configuration in IntelliJ

Mendix Intellij remote debugging

Start the debugger, put some breakpoints in your (more...)

Profiling Mendix using JProfiler

JProfiler is a Java profiler which can give you insight into what a running application is doing: which methods are consuming the most cpu, how many objects are created, etc. Jprofiler also shows you information about jdbc calls and sql statements executed by your java application.

Setting up Jprofiler to profile a Mendix runtime is easy, you can start profiling a running Mendix runtime, without reconfiguration or restarting the application.

The installation guide provides a (more...)

It’ll Come Out in the Wash

After reading this fine summary of the history of Python 3 by Nick Coghlan I was inspired to update as many of my half finished projects and miscellaneous scripts as possible. Then I looked up and I had lost several hours of my life. To save random internet strangers from the same pain as I experienced here is a catalogue of problems and how I solved them.

tl;dr – Python 3.3 on Ubuntu 12. (more...)

Playing with Software

I’ve been trying to install open source software. In this case an application called Moodle. I followed the instructions to install it on an Ubuntu Server vm but they were missing a couple of key points.

After installing the Moodle package (under “Moodle Installation” in the instructions) you need to (more...)

Dynamische Architectuur Visualisaties

Tijdens het LAC-2013 heb ik een presentatie verzorgd over Dynamische Architectuur Visualisatie. Tijdens deze presentatie heb ik laten zien hoe ik schetsen in SVG formaat gebruik als visuele ondersteuning van een presentatie. De svg versie van deze presentatie zie je hieronder. De volgende pagina biedt de mogelijkheid om slides van (more...)

Monitoring Mendix using JMX

The following is only relevant if you run Mendix on-premises. If you do, you probably have standard monitoring tooling that you use to monitor all your applications.

For java applications most monitoring tools provide a way to hook into JMX to get information about the application. The following describes how (more...)

Testing Mendix applications using Selenium

Selenium is a useful tool for automating functional tests. In this post i’ll show you some tips and tricks about using Selenium IDE with Mendix. Selenium IDE is a Firefox plugin that enables you to record whatever you are doing in Firefox, so that you can repeat these steps as (more...)

How To Start Unit Testing

I had the great privilege to present this weekend at PyCon Australia 2013. My talk was originally titled "Why I Use py.test and Maybe You Should Too" but as I wrote the paper and accompanying slides I realised that it should really have been called "How to Start Unit (more...)

Debugging with webstorm and karma

I think this is not mentioned in Vojta’s testacular video, or maybe I missed it, but i had to install JetBrain’s chrome debugger plugin to be able to debug tests run with Karma in Webstorm.

The steps i used to get it to work:

7 things that can go wrong with Ruby 1.9 string encodings

Good news, I am back in blogging :) In recent years I have spent my time primarily on eazyBI business intelligence application development where I use JRuby, Ruby on Rails, mondrian-olap and many other technologies and libraries and have gathered new experience that I wanted to share with others.

Recently I did eazyBI migration from JRuby 1.6.8 to latest JRuby 1.7.3 version as well as finally migrated from Ruby 1.8 mode to Ruby 1.9 mode. Initial migration was not so difficult and was done in one day (thanks to unit tests which (more...)

Five examples why every tablet needs a camera

There are a lot of people who think camera’s in tablets are a bad idea. “Nobody should be allowed to take pictures with a large tablet in front of their face.”

But if you can think outside of the traditional camera box for a moment, and start to think what’s possible if you combine a really portable computer with a decent camera, you’ll soon see interesting new possibilities.

Just a couple examples:

  • Camscanner - turns your tablet or smartphone into a scanner. You take a picture of your notes using camscanner, it enhances the contrast and readability, and truns (more...)

Time to toss out the laptop?

While converting my old wordpress blogposts to markdown i read some of my old posts. For example, here is what i wrote when Apple launched the iPhone in 2007:

In a couple of years mobile phones will be powerful enough to replace laptops for most common computing usages. You won’t need a separate laptop. You walk around with your mobile phone, in the office or at home you put it in a docking station, attach a keyboard and a bigger display, and you have all the computing power you need.

Some news this last week indicates we’re getting close (more...)

Moving from WordPress to Jekyll

Work in progress

I’m a slow mover here, far behind the hype-curve, but this blog is currently being moved to jekyll. The following are some notes and links from this process.

Reasons to migrate:

  • Cheaper hosting - this blog is currently hosted on DreamHost. By migrating to a static site using Jekyll, cheaper options become available, for example Amazon S3 or Github.
  • Learn something new -10 years ago this blog started on Moveable Type, which also generated static html pages. In 10 years we’ve gone from full dynamic back to static, mostely thanks to javascript. The dynamic parts in many (more...)

Remote debuggen van mobiele applicaties

Ik kwam vanochtend op Google+ een interessante presentatie van Magaret Leibovic tegen waarin ze onder andere de tools in firefox bespreekt die je kunt gebruiken voor het debuggen van web applicaties op een smartphone.

Safari biedt vergelijkbare tooling om webapplicaties op een iPad of iPhone te debuggen. Deze heb ik (more...)

Living in the Future

On my morning commute today I realised that I am actually living in the future. I remember when I got involved in the PythonCard project 10 years ago one of the major questions on the mailing list was why we were building a GUI toolkit when the future was the web. It wasn’t true then but I think that it is now.

Why do I think we have moved now? It is in large part thanks to a book I have started reading called Python for Data Analysis. I have a copy of the book in ePub format and wanted (more...)