OBI formatting grand totals – without XML!

Recently I needed to have some conditionally formated grand total rows in OBI. I remember years ago hacking around with the XML which is far from ideal. I then realised it could be done another way, here is the example:   Create an analysis with a measure column: Apply the conditional format on the Actual

LEAP#321 The Boldport Club Cordwood Too

The original Cordwood Puzzle became an instant classic with club members, and the concept returns this year with a brand new puzzle. The cordwoods evoke an era of stuffing massive components into small spaces. This is real hardware! As before, it really is a puzzle, so if you don’t want any spoilers - read no further. As always, all notes, schematics and code are in the Little Electronics & Arduino Projects repo on GitHub hero_image

LEAP#320 Synchronous JK Counter

A synchronous counter changes its output bits simultaneously, with no ripple. This project implements a classic 8-bit synchronous counter design using JK flip-flops and AND gates. As always, all notes, schematics and code are in the Little Electronics & Arduino Projects repo on GitHub hero_image

LEAP#319 Digital Logic Clock

This digital clock module was designed by Ben Eater as part of his 8-bit computer build. It is also an interesting demonstration of the 555 timer in all its major modes of operation. As always, all notes, schematics and code are in the Little Electronics & Arduino Projects repo on GitHub hero_image

LEAP#318 555 Bistable Latch

Ben Eater’s 8-bit computer yields more interesting circuits. Here I’m reproducing his bistable latch circuit based on the 555 timer. This circuit takes advantage of the fact that the trigger and reset pins provide direct access to the SR latch within the 555 timer that drives the output. As always, all notes, schematics and code are in the Little Electronics & Arduino Projects repo on GitHub hero_image

LEAP#317 Discrete Schmitt Trigger

A Schmitt trigger is a comparator circuit with hysteresis, which can help overcome the effect of noise or oscillations on an input signal and provide positive switching between high and low logic levels. Schmitt triggers are often built into the input pins of integrated circuits. Stand-alone Schmitt triggers are usually constructed from comparators. The most basic Schmitt trigger can be implemented with discrete components, and here I’m exploring a classic emitter-coupled Schmitt Trigger circuit. As (more...)

LEAP#316 The Boldport QSOP Breakout

The QSOPBreakout was a special (read: beautiful!) board produced for the Boldport Club to help members practice QSOP-24 soldering techniques for the Touchy project. Firstly, I’m using this project to collate my notes on solder technique. And secondly, perhaps there is something useful I can do with the QSOPBreakout board after all .. other than use it as a breakout board of course. And it turns out there is .. see the SolarPendulum! As always, all (more...)

LEAP#315 MT3608 Variable Boost Converter

The MT3608 (also known as B628) is a very efficient boost converter that can deliver up to 24V at 4A. It requires only 6 external passive components, and is readily available as a complete module for as little as $0.40. For this test, I built the standard variable converter circuit from scratch and evaluated its performance. As always, all notes, schematics and code are in the Little Electronics & Arduino Projects repo on GitHub hero_image

LEAP#314 AT28C EEPROM Programmer with Port Expander

The AT28C16 is an old-school 2k x 8-bit parallel EEPROM. Since it has parallel addressing and data lines, it opens a whole range of possibilities with discrete logic circuits (i.e. no SPI or I²C in sight). I was inspired to explore more by Ben Eater’s use of EEPROMs for his 8-bit computer build. As always, all notes, schematics and code are in the Little Electronics & Arduino Projects repo on GitHub hero_image

LEAP#313 MCP23S17 Port Expander

The Microchip MCP23S17 is a 16-bit port expender that can be controlled for example from an Arduino over SPI (MCP23017 is the I²C variant). It supports digital input and output on all pins, and interrupts can be configured if required. As always, all notes, schematics and code are in the Little Electronics & Arduino Projects repo on GitHub

hero_image

LEAP#312 Matrix Firecracker

I was a bit dubious about the possibility of creating a decent firecracker animation on the 24x5 Matrix display. The additional PWM settings create another dimension, so the simulacrum is perhaps not so far off the mark. To light the firecracker, I want to use a real fire of course;-) As always, all notes, schematics and code are in the Little Electronics & Arduino Projects repo on GitHub

hero_image

Start/ Stop Container Using The Proxmox Web API in Bash

The Proxmox Web API can perform any actions available in the front end Web. By implementing a REST API, all commands have been exposed and can be used programatically. In this example we’ll use Bash to call the Proxmox Web API with our authentication token to start and stop an existing LXC Container. See this

Getting Started With Proxmox HTTP API Commands

Proxmox has 2 API access points that can be used to control your Proxmox server and virtual guests. One of the API access points is using the command line, which you’re likely already familiar with. The other is the HTTP web API which is exposed as part of the WEB GUI on port 8006. The

Parse Proxmox Web API authentication ticket and the CSRFPreventionToken in Bash

The Proxmox Web API can perform any actions available in the front end Web. By implementing a REST API, all commands have been exposed and can be used programatically. The API is secured using a token based method which provides a ticket that must accompany all API requests except for the request that generates the token. The

Proxmox 5.0 Beta 2 is Now Available

The Proxmox VE team have released a new BETA version of their 5.0 branch to the public. Proxmox 5.0 beta 1 was released recently, and now the team have released the 2nd beta fixing numerous bugs. Based on Debian Stretch Kernel 4.10 Updated qemu 2.9 that supports nested virtualization New Ceph Luminous (12) which is the

Virgin Media Speeds In Nottingham

Somewhat off-topic today, but something that I’ve recorded here to showcase the current state and see if anyone else is getting similar issues. A colleague of mine and I have been measuring our broadband speeds since the start of the year. We both live in Nottingham and pay for a residential Virgin Media 200mbps line which

Simple iptables Rules for Ubuntu/ Debian VPS

The following iptables rules are are a starting point to add basic firewall security to a public facing server, such as a public VPS. The primary focus is to stop any inbound traffic other than SSH, which is required for shell access. The biggest issue with public VPS providers is that often some iptables features

Setting Memory Resource Limits With LXC

  Linux Container (LXC) management is now often dealt with by LXD, the Canonical lead project built on top of LXC. LXD offers a suite of options for controlling Linux Container resources and setting limits where appropriate. This post will talk about setting constraints on CPU, however other options are available for limiting almost any

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...)