Saturday, 1 September 2012

fun with self-signed certs and java and maven again :S

I've been deploying maven artifacts all day and suddenly it stopped working (later I realized that I happen to apt-get update java in between).

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on project browser-cookies: Failed to deploy artifacts/metadata: No connector available to access repository of type default using the available factories WagonRepositoryConnectorFactory -> [Help 1]

[ERROR] For more information about the errors and possible solutions, please read the following articles:

[ERROR] [Help 1]

So after googling a bit I though wagon might be the problem again so I added the following to my pom:




But my problems didn't go away:(
Then I realized that since I just upgraded my java, that my company maven repo's certificate may not be installed anymore..

I tried to install it with the normal way:
java -jar import-ssl.jar server [https://YOURSERVERURL] 

java -jar import-ssl.jar server $JAVA_HOME/jre/lib/security/cacerts

But this resulted in the following error:

Loading KeyStore /usr/lib/jvm/java-7-oracle/jre/lib/security/cacerts...
Setting up SSL...
Opening connection to

at com.sonatype.component.ssl.imprt.ImportServerCertificates.doImport(
at com.sonatype.component.ssl.imprt.Main.main(

I was puzzled because this worked fine with java-6-openjdk-amd64,  but not with java-7-oracle. For kicks I tried the IP address and guess what it worked!!!!

java -jar import-ssl.jar server $JAVA_HOME/jre/lib/security/cacerts 

Loading KeyStore /usr/lib/jvm/java-7-oracle/jre/lib/security/cacerts...
Setting up SSL...
Opening connection to
Starting SSL handshake...

Some SSL certificates appear to be missing. Adding missing certificates...

Server sent 1 certificate(s):
 1 Subject, O=MyCompany, L=Johannesburg, ST=Gauteng, C=ZA
   Issuer, O=MyCompany, L=Johannesburg, ST=Gauteng, C=ZA

Added certificate to keystore using alias: ''

But alas I could still not deploy :'(
I threw my toys out of my cot, took a deep breath, bathed my 19 month old son, came back and realized what my problem was:

I put a nasty safety mechanism into my corporate poms to prevent us from deploying stuff to the wrong repository (eg. deploying private source files to a public repository!). Anyways I now added a BIG glaring message for myself for when this happens again:



Don't say I didn't try to tell you!!!!?! 

Sunday, 10 June 2012

Simple Digital On Off Cycler V1-A30m in Beta

On my Saturday I made this device which is the first actually useful thing I made with my Arduino (aside from a tiny programmer and a energylogger which haven't really been used).

It is a VERY simple thing that just switches some 220V AC power on and off on a 30 minute cycle. In beta testing I'm just turning a light on and off:

The main reason I made this is that the Vaporizer in my son's room empties halfway through the night on it's minimum setting, so with this I can switch it on on a half-hourly cycle so that it will last the night.

Let me know if you want one, I'll sell these if there is interest :)

It even has 2 LED's for debugging. The green one is on while it gives power out. The yellow one blinks 100 times each cycle (so if the cycle is 30 minutes, it is on for 9 seconds and then off for 9 seconds and so on).

I tested and measured over and over again to make sure it is safe, but I'm just an amateur electronics guy hacking away, so I should get this reviewed to make sure I don't burn my house down when leaving it on over night.

To my wife's dismay I made quite a mess, but I cleaned up nicely afterwards :)

When I did the tiny programmer I went straight from the breadboard to veroboard, this time I wrote down the design and I think in future I should really try to draw and lay it out on DipTrace first. This is open hardware, so here is the design and code so far:

#define BLINK_PIN 13
#define RELAY_PIN 12
#define MULTIPLIER 100

int cycleSeconds = 30*60;
int sleepMS = round(cycleSeconds * 1000 / MULTIPLIER / 2);
int counter = 0;
int blinkLevel = LOW;
int relayLevel = HIGH;

void setup() {                
  pinMode(BLINK_PIN, OUTPUT);     
  pinMode(RELAY_PIN, OUTPUT);     
  digitalWrite(RELAY_PIN, relayLevel); // start on

void loop() {
  if (blinkLevel == LOW)  {
    blinkLevel = HIGH;
    counter += 1;
  } else {
    blinkLevel = LOW;
  digitalWrite(BLINK_PIN, blinkLevel);    
  if (counter >= MULTIPLIER) {
    counter = 0;
    if (relayLevel == LOW)  {
      relayLevel = HIGH;
    } else {
      relayLevel = LOW;
    digitalWrite(RELAY_PIN, relayLevel);    

For next versions I'll use an ATTINY85 in stead of the arduino, I can add some knobs to control the cycle times and maybe rather build it into a multi adaptor.

Wednesday, 30 May 2012

My first 3D print

I finally got round to do a 3D print of nice puzzle I found.

There has been a 3D at house4hack for ages now, earlier this year we got another one and this week they even made a baby.
Anyways, I challenged myself to do a print ASAP to get into it, which bared fruit now. 
My wife said she will believe it when she sees it, so I'm posting these photos and the video here as proof :)
 It's quite a nice puzzle with a handy holder. It would have been nice if the pieces could fit in when not assembled and if it had a lid, so they won't get lost. 

 Finally after the 4th time that I managed built the cube, I could reproduce it (the cube is a bit fragile and fell apart before I could figure out how I did it the first 3 times). 

It weighs in at +- 20grams (I don't have an accurate scale at home), so at R700/Kg, it comes to about R14.

Tuesday, 8 May 2012

Productive beach holiday.

The previous 2 weeks have been quite a productive holiday for me:

  • I wrote the start of a bazaar java library.
  • I learned the intro of The Call of Ktulu on the guitar (My brother happened to bring a guitar along and I had the tabs and I wanted to stay in practice, although nylon strings hardly breaks the skin).
  • I finally started reading The art of community (17% so far on my kindle)
  • I played a little of Warzone 2100 but got stuck on a transporter mission.
  • I finally got a new personal communication device (Samsung Galaxy SII)
  • Went to the mall almost every day.
  • I listened to 2 books, one driving down and one driving up. (Millionaire Upgrade - it was free ok, and Love & Respect)
  • Oh yeah I also went to the beach, built some sand castles and played with my son Dawid. It was his first time at the see and at 15 months he is the cutest boy in the world right now. He was a bit of a hand full on the beach, exploring far an wide, making friends, breaking my sandcastles... 
  • We also went to Croc-world and uShaka Marine World.

Thursday, 19 April 2012

Ubuntu 12.04 LTS release party in Pretoria

Yup it is time for a Ubuntu release party again!

It's been almost a year since we had one in Pretoria

and Ubuntu 12.04 LTS Precise Pangolin is shaping up to be super stable, productive and enjoyable when it is released on 28 April. It may even give Windows8 and Metro a run for it's money :) .

We intend to have our launch party on Saturday 5th May 2012
from 10:00 to 13:30
at the Karoo Cattle and Land in the Irene Village Mall

Shop 176
Irene Village Mall
Corner Nellmapius and Pierre Van Ryneveld

Bring your laptop, memory stick(Flash drive) or external hard disk and get copies of the latest Ubuntu and join us for exited conversations over a nice brunch with other Ubuntu enthusiasts. (Also bring power multi adaptors, blank cds or dvds and some networking equipment if you can so we can all work on our laptops and share Ubuntu 12.04 data freely :)

See the event detail on .

See you there! \o/