Consider Yourself Dockerized!


I’ve just managed to “Dockerize” my base SpringBoot application, so I’m now able to use this as a template for future services. I’d wasted some time following various confusing tutorials, but it turned out to be very simple in the end.

Create Dockerfile

Create a new file in the root directory of the SpringBoot app (on the same level as src folder, pom.xml etc.) simply called Dockerfile (no extension) and put in the following:

FROM java:8
ADD target/MyBuiltApp.jar app.jar
ENTRYPOINT ["java","-jar","app.jar"]

Build Docker Image

Instruct Docker to build the image, and tag it as mydockerizedservice:

NOTE: You must actually build your application in Maven first, otherwise there might not be anything to find at target/…

$ mvn -U clean install
$ docker build -t mydockerizedservice .

Run Docker Container

To initially run a new container from this image:

$ docker run -p 8765:8080 -t mydockerizedservice

To stop and re-run this container:

$ docker ps

This gives us the following Container ID for our service: 51ed23ae9b5f

Now stop the service:

$ docker stop 51ed23ae9b5f

And re-start the existing Container:

$ docker start 51ed23ae9b5f

And that is pretty much it. I’m no Docker expert, evidently, but I’m happy to answer any questions related to this. And I’m spent.




A Different Path (To Release)

I’ve been meaning to do an update for a while now but I’ve been so engrossed in the work I just thought it would be better to plough ahead.

I’ve drawn up a new path to release, as you can see from the image above, and I’m really pleased with the current state of the app. It will definitely be a useful springboard for the rest of my ideas around GIS/GPS.

The next post I write will probably include video capture of the app in action, so watch this space!



Path To Release

There we go.

I’ve written out everything required before the release of MakingTracksGPS 2.0. It really does cover everything, in varying amounts of detail. Doesn’t seem like much, and I will be applying some time estimates soon, so I’ll have a good idea of the release date.

After that, I will be getting fully into the implementation of Gee-Oh! and Gee-Oh! Mobile.

Exciting times.



GeeOhTileServer v1.0 Is Live!


So, I went ahead and released GeeOhTileServer v1.0 a few moments ago. We. Are. Live.

Check it out here!

I thought it was going to take a while longer than it did, so I initially pencilled in the 13th May for the release date, but here we are – ahead of schedule.

Now everything will be geared towards integrating with MakingTracksGPS, and making some strides towards the fuller implementation of Gee-Oh!

Great success.



Maven, Android And The Increasing Desire To Kill Myself


I’ve been struggling with reconciling my existing (previously working) Android project, MakingTracksGPS, with the new Maven-build friendly library structure, and it is a painful, painful process. One that doesn’t appear likely to be completed any time soon, either. I’ve hit a brick wall.

I made some really good progress in finally getting the Maven build to – apparently – work, but I don’t seem to be able to get it to run on the Samsung S3. I keep getting this error:

E/AndroidRuntime(24698): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{makingtracksgps.main/makingtracksgps.main.MakingTracksGPS}: java.lang.ClassNotFoundException: Didn't find class "makingtracksgps.main.MakingTracksGPS" on path: /data/app/makingtracksgps.main-1.apk
E/AndroidRuntime(24698): Caused by: java.lang.ClassNotFoundException: Didn't find class "makingtracksgps.main.MakingTracksGPS" on path: /data/app/makingtracksgps.main-1.apk

I have tried everything I can find on the internet to solve this, but nothing it making a difference. Feeling a lot more helpless that I can recently remember, at least in terms of programming prospects.

I’m determined to solve this, though, without throwing everything out and starting with Android Studio or something. One day I will install/upgrade to that, but not yet.

Anyway, I’m giving myself a number of weeks to do this. I know it’s an essentially simple task, but it’s fucking difficult, so I want to take the pressure off myself.

I will let you know if/when I succeed.




Countdown To Release


I have tentatively set the release date for DiagramBuilder v1.0 to 1st June, which is just under six weeks from now.

This should give me enough time to complete the following tasks:

  • Produce Ubuntu/Linux installer
  • Finish off work on zmserver (including Help documentation)
  • Produce updated

Everything else has been taken care of.

I’m sure there will be more hiccups along the way, but it’s been a very useful exercise learning how to release software like this. Any future applications should roll off the production line a lot more easily.

No more to add, really. Better crack on.



Done It!!

young business executive in suit cheering jumping in the air isplated on white

No way, within an hour or so of reducing the size of the application drastically with the Shade plugin, I finally cracked (pardon the pun) ProGuard builds!

Okay, I’m well aware that a determined hacker won’t be too put out by a little bit of obfuscation, but I couldn’t be releasing my code into the wild without at least taking some preventative measures – and this reduces the barriers to release to just a couple of items.

The release should be imminent!

Remaining tasks:

  • Finalise installer production
  • Make visual website improvements
  • Er, that’s it I think!

So, all good eh! Ta ta for now 🙂