Well that plan went Pete Tong!

So, in my last blog post, my servers had given me the middle finger and in the post before that, I had said that I was determined to do Robotics this year, stay focused and not take anything else on. Well, lets just put them crazy thoughts into the bin, we all knew I was going to epically fail them!

So in no particular order, here’s what’s been going on:

The Server
So, the new DL580 server is now working, I won’t mention I took a power drill to it, but let’s just say its playing ball. It’s now got a new raid card, HP Storage Works Array and 22TB of lovely storage ready for anything I may want to chuck at it. Its currently turned off at the moment but the reasons for that come up soon!

OpenFaas
Short version, its the t*ts, is epically cool! Go install it now!
So OpenFaas is an Open Source Function as a service framework (Think AWS Lambda, Azure Functions etc) which runs on top of Docker/Kubernetes and allows a developer to focus on creating call functions instead of infrastructure so much. It auto scales, supports tons of programming languages and has great analytics. It’s free and runs on practically any hardware including the Raspberry Pi. The Cloud addon to it (addon may not be the right word, maybe V2) makes things even easier by hooking into Github etc and then can automatically deploy after a commit. What really got me excited about this was that I could have a single package containing Python, Java and c# (for example) functions and not need to worry about any of the infrastructure needed to make them an API. I then could use a single command to deploy it all to my server!

There are other free FAAS solutions out there (FN, Azure Functions Runtime, Openwhisk, Serverless etc) but OpenFaas is extremely popular and only is getting stronger (13K stars on GitHub), has a great set of examples including a functions store and has a very helpful active Slack channel for support etc.

So, the reason the server has been off is partly that I have been waiting for some hard drives to turn up, and partly because of OpenFaas. Before I had discussed Faas, I was going to just build VM’s (Hyper-v) for all the servers I want. However, all that has changed now due to OpenFaas and I would really like all future stuff to work serverless. Because most Serverless frameworks seem to sit on top of Docker, there is some further research around Windows Server 2016 and containers needed to be done. The end result may be that I have to format my new server with Ubuntu, or create a Linux VM to host Docker on top of Windows. I still need to do some research as I believe WS2016 introduced mixed (Windows/Linux) containers for Docker.

Another Startup wants some Burf
Yup, I seem to be in demand, or it’s a way to stop me building Skynet (or some sort of killer robot). Another startup company, who is nearly ready to launch has asked me to help them out and get them across the line. It’s a fantastic opportunity which I am pretty excited about as I get to take ownership of the entire technology stack (which for once I don’t need to develop). My first challenge is around AWS and making sure their solution scale which should be fun! I will disclose more soon!

My servers shit the bed!

So, this year I plan to focus on my robotics and try and get back into machine learning. With my usual way of working, I thought I would fire up the Blade Server (HP C7000) and start getting some environments going etc. Server says no! Well its admin console does anyway and this is how you control all the blades. So after a week of kicking it, I decided to get something more practical (and something I could actually lift). I got a HP DL580 Gen 7 + HP StorageWorks running 16TB of space! PERFECT

Round 2: More shitting of the bed!
So everything was going great except the StorageWorks Disk Array seemed a little slow, sometimes it would do 500mb a sec, then 700k??? Then it shut down a few times and now it doesn’t even switch on 🙁 Hopefully it will be replaced this week however I had just got used to HyperV and made a few Vm’s to replace my old servers.

I think once I have a server infrastructure that works even when it’s not a full moon, I am going to start rewriting the Burf.co search engine so that NLP (Natural Language Processing) is built in at the start. I am thinking of building a search engine just for science and technology articles.

On other news, I have been checking out YOLO (You only look once) for image recognition using Tensorflow. It is super cool and I hope to use it soon with real-time video for my robots.

Robots, ROBOTS and more ROBOTS

So, happy New Years everyone, I hope you all had a great Christmas! With the start of a new year, begins new challenges!

Last Year
So last year was a good year, new job, completed a lifelong goal to do a bodybuilding show, got a diploma and started Vibe Innovation/Burf.co Search Engine and some other things.

I didn’t however, do any robotics projects, I didn’t really build anything crazy and I didn’t release Hack24 etc.

The plans for this year
So I started writing down the usual New Years resolution (Family, Grym Training, Money saving, 10 different projects, take over the world etc) and thought, hey maybe I should just try and do less but better as that worked very well for my bodybuilding show. I focused singlely on that and succeeded. So I started thinking about all the stuff I enjoy that does not make me feel like I am doing work etc. I have a great job, so I need to also have great hobbies that are enjoyable and don’t feel like work 🙂

So I am turning my spare time back to building robots and whacky stuff but to a whole new level. Finally, I am actually getting round to designing them (as opposed to building them out of LEGO etc). I have already started using design tools like Fusion 360, I have printed out one of my own designs on my 3D printer, and tonight I did my first CNC design and fired it up on my CNC machine. I have made more progress this week than I did last year!

From the software point of view, I have already (last week) written a little Android app that is like Alexa (hot-word controlled to then stream audio to a server, then process it). I also want to get back into ROS (Robotic Operating System) so that my robot runs the industry standard. I do want to find a use for Burf but it will probably be linked to the robot somehow as a knowledge base.

I think the mindset change is that instead of thinking, will this project/thing improve me, it’s now, will this project/thing be fun.

So here is the current list of old and new projects (subject to change 🙂 )

Robots (FUN)
– Build my own custom robot (this is the big one)
– Fire up my old Lidar VEX one (for learning ROS, a small amount of work, helps above)
– Finish the VEX humanoid (I promised to do it and helps the other robotic projects)

Sites
– Burf.co : Development paused until I think of use (probably for robots) Likely to be re-written in .net core to learn for work
– Vibe Innovation: Needs a redesign and to really home in on what I want to offer (proof of concept work, AKA fun).
– Burf Development: This really should become Vibe I think, but for the moment, it’s not going anyway

Projects
– Echo : I resigned from this before Christmas because I felt it needed a whole team of devs!
– Hack24 : paused, likely dead… LibGDX just seems to cause me issues!
– Build either a Car or Traction Engine out of Meccano, why, because it would be fun!

It may still seem to some a lot (6 projects) but a few of them wouldn’t take very long to do (e.g website update, Meccano vehicle), and then clear the way for everything else which all kinda link with each other.

Let’s see if I actually stick to it 🙂

Let’s kick it all off!

Sorry for the last few months there has been little update. I decided that before I got too old I should enter a bodybuilding contest, honestly seemed like a good idea at the time. Well it’s been the hardest 3 months of my life to be honest. First off it isn’t the cheapest thing to do (I have spent £500 on chicken alone), you have to be super disciplined (up at 5, 1 hour cardio, training even if ill), you become very moody, tired and even get insomnia (writing this at 3am) because your constantly hungry! However with less than 2 weeks to go, I am still chuffed I decided to do it. On a positive side, because you don’t sleep as much, your brain seems to be come very creative!!!

So what’s the plan Batman?

So, I have many plans, lots of ideas and have been researching lots of stuff but I need to do some house keeping first!

1) Release a v1 of Hack24 cross platform to prove the framework works.

2) Fix Burf.co Search Engine because I turned it off.

3) Finish the garage so that large projects are possible 🙂

All of the above are in progress and I hope to have them done very soon. Then it is full speed ahead for some cool robotics / machine learning project that I will discuss in my next post 🙂

Goodbye O2, Hello Reach

So 3 years ago, I joined O2’s innovation lab as their iOS developer. I didn’t actually do much hardcore iOS development per se, instead I researched new technology and rapidly created prototypes to demonstrate to the wider business. It was awesome fun and I learned so much on so many different fronts (how Corps works, AI/data science, VR/AR, the list goes on). As the lab developed, it’s future seemed to be focused on machine learning and big data, I decided to move in to Digital Products team to lead the Android development for O2Drive, O2’s telematics solution. Though I miss the crazy lab work, I missed doing mobile development more. My Android was a little out of date but I do enjoy a challenge and I learned a lot. I have to say that the O2Drive team was lovely and very welcoming! They really were driven to produce a great product!

So I start Reach on the 9th of April as their Application Development Lead which I am super excited about. I generally don’t change jobs very option (twice in 16 years) and don’t even have a cv! I believe they do a lot of Android and C# development but I am hoping to shake things up a bit with some Swift! It would be nice to do some iOS, Android and maybe try out cross platform solution like Xamarin or React. I believe they have used Xamarin in the past 🙂

To Lang=“en” or not to Lang?

So work has been progressing nicely on Burf.co and it’s up to 2mil + pages however, one of my aims was to only index English content. I thought by searching out for the HTML tag “lang”, it would be really easy to do! Even if there were a few different versions like en-gb or en-us, I thought it would still be an easy task. I also thought that all popular/mainstream/big sites would use this tag!

So 2 million English pages later and well…. I have over 300 different Lang=”*en*” variations! Plus major sites like Wikipedia don’t even use the tag!!

I guess it’s back to the drawing board!! I now need to use some sort of word matching algorithm to look at the page content and then work out if it’s English! A simplistic way of this could be to search for very common English words to see if they exists (the a at there etc) or not.

Update coming soon 🙂

Burf.co is up!!! But….

So the good news is that Burf.co Search Engine is up and running in a rather alpha stage, the bad news it’s full of adult material so please be warned!!! There is no safe search filter on it yet!!!

My plan is to improve the search algorithm and then put a adult content blocker in place to protect people! This of course can be turned off but trust me, there is some nasty stuff out there that no one wants to see!

Technology wise, the index is just over a million pages and will heavily increase when the new blade server arrives tomorrow. It’s using MongoDB full text search for the initial results. MongoDB did seem to sh@t the bed when indexing all the words on a page, so I look at only parts of each page.

More to come soon 🙂

SHDR : Online OpenGL Shader Editor

I had to post about this amazing tool I found, now when I am writing my 3D games, I basically pray every time I play with a shader in case I brake it.

I know the basics but using either xCode or Android Studio (now has a tool), there is no syntax highlighting or easy way to see errors!

SHDR allows you to paste in your fragment and vertex shader and tells indicates any issues, and renders the results if it can!

BRILLIANT!

 

Whats going on and what have I learned so far?

Good evening all.  Your probably wondering why I have been a little quiet lately, maybe it was the marathon I just did, or maybe it was all the bloody colds I have had.  Could it even be the kids?

Short version

Though all of the above is valid, things are still happening.  I am still chasing my dream of my own Virtual Reality world (in Android), I am learning iOS8/Swift and also READING BOOKS, the ones that contain stories!

I am trying to slightly step back, review what I have learned, and move forward in a more productive focused way.

New stuff will be coming soon.

Long version (sorry)

As a dear friend of mine once said (paraphrasing) , Burf, you like building frameworks but then you loose interest.  Try finishing something.  He was completely right and this helped spawn Burf Development, and the GameJam event I organise at work.

Since I started Burf Development at the start of the year I have released 2 Android games (both part of a game jam so need work), started sharing code on GitHub and released 6 games and 1 app for iOS!  The largest one, being Hack24 which has had quite a few downloads (currently rated 4.5 out of 5).

I learned some obvious lessons with Hack24.

The first one being that I should of only shipped the game out once I was happy with the features.  I should of waited until APN’s where enabled in the game as this is a great way to remind players to come back and inform them that they have been hacked, robbed etc.

It seems that once the initial download rush is over, it is pretty hard to get that boom again.  On the first few days I was receiving 100-200 downloads a day, now its like 40 a week.

I also had some server issues, I guess I could of done more testing however most of this was down to a time validation issue where the clock got out of sync with the client, this caused users not to be able to login 🙁

Waiting 7-9 days for a iOS release is annoying! Especially when you find a bug within minutes after release!  Do more testing, get friends to do it to!  My wife was top bug finder!

Check the support email, oh boy I never actually expected people to contact me, but yes they do!

Work out a road map, or a plan! I am a little stuck on what to do with Hack24 now?  I feel I keep moving on to new stuff!

Whats the plan now?

Well I have a load of idea’s in Trello,  I have a few started projects and lots of new technology to learn.  I have a ton of online course lined up and have started reading books.  Oh and there are the 2 awesome kids I have to, I try to focus my time on them!  Oh did I mention I have a wife and a full time job!

Android and Virtual Reality

Virtual reality has been one of my favourite topics since I saw Lawnmover man.  I have tried to make my own VR world many time since I was about 12!  VR is now starting to take off with Oculus Rift (Facebook), Sony Morpheus, Google Cardboard and Samsung GearVR plus many others!  Apple sadly has nothing in this area, and so I either develop for the desktop or for Android.  As I quite enjoy learning Android, this is a double whammy!  Also, you can generally release anything to the Google Play store (a VR framework would not be allowed).

device-2014-10-03-221016

 

Learning Swift & iOS8

As a senior iOS developer, I really need to rock at Apples new programming.  I have played with Swift a bit but I really feel its time to freshen up my skills.  There is also a lot of cool stuff with iOS8.  My aim is to build a couple of simple but pretty apps (master that AutoLayout) in Swift.