LXC 2.x/ LXD Cheat Sheet

Here are some of the most used commands for creating and managing an LXC/ LXD host and containers. It’s assumed that you have a working environment and a privileged SSH connection to the LXC server for issuing the commands. Basics Start and Stop a LXC Container Starting out with the basics here – starting and

Setting CPU 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 sort

Add systemd Startup Script For CouchDB

Currently, version 2.0 of CouchDB doesn’t come with any form of startup script. I’m sure that as the CouchDB 2 branch becomes more mature and it’s added to the various software repositories startup scripts will be shipped as standard, but until then we have to make do. The below script is a systemd startup script

Basic IPTable Rules

Here are some basic IPTable rules to enable essential connectivity from the host. Outbound connectivity such as ping, DNS and HTTP are all enabled, along with inbound SSH. All external sources are enabled for SSH so it’s advisable to restrict this further once you’re up and running. This IPTables script is intended to be a starting point

LittleArduinoProjects#222 Stair-step Generator

Once again I'm inspired to go and build a circuit by yet another great tutorial from w2aew.

This circuit generates a stairstep waveform by an ingenious combination of 3 circuit elements:
  • a "high" (265Hz) frequency pulse (555 timer) provides the charge to step-up the output
  • the step pulse feeds an OpAmp pulse integrator/accumulator
  • a low frequency pulse generator (OpAmp oscillator) provides the reset pulse that clears the accumulator and resets the 555

As always, all (more...)

LittleArduinoProjects#221 XOR with Resistor-Transistor Logic

Exclusive OR (XOR) operation is true only when the inputs are different.

An XOR may be constructed using combinatorial logic: an OR ANDed with a NAND. But can it be done with even more basic discrete components?

This circuit uses a diode-bridge and a single transistor - quite neat. It does mean however that there is no output buffer, in fact the output is powered from the inputs. I'm using an Arduino to drive the (more...)

LittleArduinoProjects#220 Arduino gcc toolchain

The Arduino IDE is the most convenient way to get started with Arduino, but it does obscure the underlying mechanics of building software for an Arduino.

How to do it from scratch? This is my experiement and guide to building software for an Arduino from the command line. I use a Mac and homebrew, so it is somewhat MacOSX-specific.

As always, all notes, schematics and code are in the Little Electronics & Arduino Projects repo (more...)

LittleArduinoProjects#219 DS18S20 1-Wire Reading

Another way to measure temperatures, this time the DS18S20 - an inexpensive 1-Wire digital thermometer with a range of -55°C to +125°C, at ±0.5°C accuracy from -10°C to +85°C.

It comes in TO-92 packaging and may be powered directly (using three pins), or take parasitic power from the data line (using two pins). This makes it ideal for pin-starved microcontrollers that need a decent ambient temperature reading. In this project, I'm just exercising the (more...)

Skip Certificate Checks with Wget

This is a reminder for myself more than anything else. I don’t know why the wget developers couldn’t have chosen a switch that’s easier to remember. Anyway, if you haven’t installed or updated your certificate Authority certificates on your box and try and download something from an SSL URL with wget you’re going to run into trouble. This

Apt-get error: E: The method driver /usr/lib/apt/methods/https could not be found

I’ve been getting the following error when using apt-get update with Debian Wheezy recently. [crayon-578cc50f4f2f7166336499/] It seems that apt-get only supports HTTP connections by default, and throws an error with any HTTPS URLs.  You’ll likely see this error message if you add a new apt source URL that starts with https. What’s most annoying is that apt doesn’t simply ignore

Oracle Database INTERVAL Partitioning and Virtual Columns

I bumped into this issue recently which prevents you INSERTING a date of 31-12-9999 into an INTERVAL partitioned table due to the fact that the LESS THAN partition value would be larger than an Oracle Date. After speaking with Jeff Moss he mentioned that we might be able to get round the problem by using a virtual

Oracle Database Interval Partition Set Up Script

This script is used to set up the test table for the following blog posts: Oracle Database INTERVAL Partitioning Date Error With 31-12-9999 Oracle Database INTERVAL Partitioning and Virtual Columns [crayon-578913d2a047f830082062/]  

Oracle Database INTERVAL Partitioning Date Error With 31-12-9999

You may have seen the below error when using dates at the extremes with an Oracle Database. This post focuses on the scenario where you’re inserting a high date, such as 31-12-9999 into an INTERVAL partitioned table. High dates such as this are often used in warehouse environments where from and to dates are specified

LittleArduinoProjects#218 MPU-6050 3-Axes Accelerometer Gyroscope Module

I'm planning to build a controller that needs motion detection, so got hold of an Invensense MPU-6050 3-Axes Accelerometer Gyroscope Module to see if it would do the trick. The module conveniently operates on 3-5V. All I've done so far is a simple sketch to confirm I can read raw values from the MPU-6050 using the Arduino Wire library.

As always, all notes, schematics and code are in the Little Electronics & Arduino Projects repo (more...)

LittleArduinoProjects#217 Basic AVR-controlled Buck Converter

Buck converters are switching power supplies configured such that the output voltage is lower than the input voltage.

Since the primary components (inductor and capacitor) ideally consume no power, high conversion efficiencies are possible. In practice of course, components are not ideal and there is some power loss. More significant however is any power consumed in the control and feedback circuits.

This circuit is a demonstration and exploration of the basic buck configuration with a (more...)

LittleArduinoProjects#216 OSHChip driving SPI LED module

How easy is SPI with the OSHChip? I thought I'd find out by first controlling a module that has a very basic SPI-ish slave interface.

I'm using the LEDx16Module that I designed in the KiCad like a Pro course from Tech Explorations. It has dual 74HC595 shift registers that can be driven with SPI to control 16 onboard LEDs.

As always, all notes, schematics and code are in the Little Electronics & Arduino Projects repo (more...)

Feature Lifecycle Analysis with PivotalTracker

Can you trust your agile planning process to deliver the best result over time?

In an ideal world with a well-balanced and high-performing team, theory says it should all be dandy. But what happens when the real world sticks it's nose in and you need to deal with varying degrees of disfunction?

Feature Lifecycle Analysis is a technique I've been experimenting with for a few years. The idea is to visualise how well we are (more...)

LittleArduinoProjects#215 OSHChip yotta toolchain

After bruising myself on the raw gcc toolchain - and although I got a program running - I think I want my toolchain to do more of the hard work for me!

So next I tried yotta, the software module system used by mbed OS. Building a simple program using the Official Yotta target for OSHChip and gcc on MacOSX proved quite straight-forward.

As always, all notes, schematics and code are in the Little Electronics (more...)

LittleArduinoProjects#214 OSHChip gcc toolchain

Can I build a program for the OSHChip using the gcc toolchain and Nordic Semi SDK on MacOSX?


Here are my notes and scripts for compiling and deploy a simple program, but there remain a few rough edges. There are probably easier ways to do this ... like using the Official Yotta target for OSHChip using gcc ... but I was curious to see how far I could get with just gcc and the Nordic (more...)

LittleArduinoProjects#213 OSHChip blinky

I heard about the OSHChip on the embedded.fm podcast #146 and immediately wanted one!

An ARM Cortex-M0 32 bit micro processor (nRF51822) with 2.4 GHz Radio and other goodies all in a breadboard-compatible DIP16 package .. how could you say no?!

So far, so good. Literally 5 minutes to the first blinking LED, and hours of fun followed .. this is an awesome little package.

As always, all notes, schematics and code are in the (more...)