My New Game

I’ve been experimenting with Construct2 and writing a few simple games.
Anyone who is interested in game development, here is the truth, its all about graphics and a good game idea – the coding is just too easy!

Anyway – enjoy! OliCarGame

Obviously, this will get better as I get some ideas – between you and me, I’m thinking GTA vs Drug Wars – but it depends if I can maintain my focus! 😉

Keeping Focus

It can be hard to maintain an interest in something so technical, but uninteresting to most people. For install, BizTalk is a brilliant piece of software, but its just a messaging platform. It takes a message and takes it somewhere else. Its like keeping Pigeons. Nobody cares except you!

Why the melancholy? Because it is what happens when you start to lose focus. I have a number of projects that need attention. Learning the secret code of the BizTalk is one. The more you know, the less you realise you know! I am also looking at two other ideas which I hope will come around and help me with the BizTalk thing as well.

One is my favorite, predicting the lottery. I am currently using Excel because every other tool I have used has made me realise that the problem I am facing. It is not one of not being able to use the tools, but its knowing what to do with the data to get the answer I want. This leads me around in circles, but now I have actually found the core problem, I am making progress. The real trick is developing the algorithm, not writing the code.

The world is like an onion. As you peel away at it, it will make you cry

One of the big things I have noticed in life is that as we complete a layer of technology, and it works well, someone uses that result as the basis of the next layer. I found this very hard to explain to some ham radio guys I was speaking to, while trying to explain how Ham Radio Internet worked. They couldn’t get to grips with the idea of a constant connection, and a signal within a signal. Their world was analogue, and there was not enough room in their heads to add a new chapter. Ironically, most of the stuff that was filling theirs was already practically useless to anyone but historians. That’s an important lesson to us all.

We are moving away from hardware to the point that being able to worry about idle times or chip temperatures is not on the table. We can’t worry about the brand of memory we are using, or if we are using the most efficient hard drive. The hypervisor deals with all that, in the same way that the power company manages our 230v 50hz power cycle. Instead, we get to convert everything into a virtual service to replicate as we wish. Want a website? Lets host it on the virtual server within a container so it doesn’t interfere with anything else we do. If it gets hacked, we just switch it off, and switch it back on again, and it will work. The data was already sent to a different container holding the SQL database. It gets backed up in 3 different ways, and can be restarted within seconds. We can even move the data to a different physical data centre in the event of a hardware failure. Life is good, if you know how to think about your potential.

The future will be about even more of this layering, rather than virtualisation. Once we’ve worked out that a container is a good idea, and we are finding ways to use containers in duplicate etc, the next trick is to think, what advantage is now available to us? If you knew the answer to that, you could start developing the answer and be ready to offer your fix to others, when they realise they need your solution.

I don’t have a clue. I’ve just worked out that standing on a big drone, with give man a new form of transport.

If creating a BizTalk Application was written as a receipe

BizTalk app design in simple words

If you are wondering, Biztalk is a messaging system that collects data from a number of sources (any file formats, websites, databases etc), and can use logical workflows to process the information into human or machine readable reports.

First create a BizTalk project in Visual Studio
Have input Schemas for every piece of data you want to use
Have an output Schema for the result data
Create a map to match the schema data together
Choose the input and output data schema on the map
Choose the functoid from the toolbox for what you want to do with the data
Match all the boxes together and test it.

Build the orchestration
You are looking to create a flowchart, which links the map up with the ports.
Start by using the toolbox to find the right boxes that represent what is happening in your map.
Each box needs to be linked to its physical ports
The ports need to be binded to where the data is physically found (HTTP / FILE / SQL etc)
The transform is the core of the app and where you can confirm input and output

Deployment
Next you need to do the finishing pre deployment touches
In project properties, give it a name and sign a new key
Build and deploy (right key on Solution)
In biztalk admin console, refresh, and check the app is there.
The orchestration needs to be binded, where you assign the host instance.
If you were using folders to collect and deliver the data, create them before starting the app.
Start and test, using the XML docs generated during testing.

What is BizTalk?

Thought I would start posting some background info on what BizTalk is, but in a style that might appeal to people wanting the technical breakdown, rather than the more usual business view.

BizTalk is currently my life, my role is to build applications and maintain the ones we have, so everyday, I am learning new things. This is what I know so far.

BizTalk is a Microsoft solution to managing company processes. It costs a fortune and while it could be used in smaller companies, its only really economical for companies in a regulatory industry. If you work somewhere where if someone cuts a corner, there are financial consequences, BizTalk is for you!

So now you know why it exists, here is the breakdown of what it is. Its a messaging engine, based on a number of SQL servers and XML.

You could build one yourself, but its huge. Where BizTalk is good is that it works like a framework in its own right. There is very little need to get under the hood to make anything happen – its all managble with the BizTalk Admin console, MS-SQL Management Studio and Visual Studio. If there is any coding to do, its using C# and some XML tinkering.

There is also a second level. There is a module called Business Rules and another called the BAM – The monitoring tool. BAM uses another Microsoft tool, ISS, the web server. Finally, the whole deal is stuck together with a little Powershell.

As you can tell from the accessories, this is very much a Microsoft only toy. I use Notepad ++ for my XML tinkering, but this really is a solution for a Microsoft shop. However, the whole purpose of the package is to allow different systems to communicate seamlessly. That means that if you are running Non Microsoft applications (SAP, Oracle stuff, or 3rd party Web API stuff etc) it really doesn’t matter, and it will translate perfectly!

Over the next few months, I’ll be posting little things I find out, although I will have to make sure its not company confidential first! :-)

Predicting the lottery

Ever since November 1994, when the UK Lottery started, I have had a passing interest in how to predict the winning numbers.

I have a theory which has proven to hold some water. There is a Theory of Big Numbers which states that in the long term, all numbers will equalise to become equal in their probability of being chosen. However, when you check the numbers being picked in the UK lottery, some numbers come up far more often than others.

Therefore, if you were to highlight which numbers did come up more often, and pick those numbers, the chances of winning would increase.

I also need an excuse to play with MySQL and PHP to update my skills, so watch this space!

How to view any CCTV camera – just like they do in Hollywood!

Want to view the CCTV images that are floating around the web?

The easiest way is by doing a Google hack – this is where you search for the default part of the CCTV system URL in the Google database. This happens when people don’t set their CCTV packages up properly, and Google gets access to it.

Anyway, just do a search for any of the terms below.

Enjoy

inurl:”ViewerFrame?Mode=
intitle:Axis 2400 video server
inurl:/view.shtml
intitle:”Live View / – AXIS” | inurl:view/view.shtml^
inurl:ViewerFrame?Mode=
inurl:ViewerFrame?Mode=Refresh
inurl:axis-cgi/jpg
inurl:axis-cgi/mjpg (motion-JPEG)
inurl:view/indexFrame.shtml
inurl:view/index.shtml
inurl:view/view.shtml
liveapplet
intitle:”live view” intitle:axis
intitle:liveapplet
allintitle:”Network Camera NetworkCamera”
intitle:axis intitle:”video server”
intitle:liveapplet inurl:LvAppl
intitle:”EvoCam” inurl:”webcam.html”
intitle:”Live NetSnap Cam-Server feed”
intitle:”Live View / – AXIS”
intitle:”Live View / – AXIS 206M”
intitle:”Live View / – AXIS 206W”
intitle:”Live View / – AXIS 210?
inurl:indexFrame.shtml Axis
inurl:”MultiCameraFrame?Mode=Motion”
intitle:start inurl:cgistart
intitle:”WJ-NT104 Main Page”
intext:”MOBOTIX M1? intext:”Open Menu”
intext:”MOBOTIX M10? intext:”Open Menu”
intext:”MOBOTIX D10? intext:”Open Menu”
intitle:snc-z20 inurl:home/
intitle:snc-cs3 inurl:home/
intitle:snc-rz30 inurl:home/
intitle:”sony network inurl:”ViewerFrame?Mode=
intitle:Axis 2400 video server
inurl:/view.shtml
intitle:”Live View / – AXIS” | inurl:view/view.shtml^
inurl:ViewerFrame?Mode=
inurl:ViewerFrame?Mode=Refresh
inurl:axis-cgi/jpg
inurl:axis-cgi/mjpg (motion-JPEG)
inurl:view/indexFrame.shtml
inurl:view/index.shtml
inurl:view/view.shtml
liveapplet
intitle:”live view” intitle:axis
intitle:liveapplet
allintitle:”Network Camera NetworkCamera”
intitle:axis intitle:”video server”
intitle:liveapplet inurl:LvAppl
intitle:”EvoCam” inurl:”webcam.html”
intitle:”Live NetSnap Cam-Server feed”
intitle:”Live View / – AXIS”
intitle:”Live View / – AXIS 206M”
intitle:”Live View / – AXIS 206W”
intitle:”Live View / – AXIS 210?
inurl:indexFrame.shtml Axis
inurl:”MultiCameraFrame?Mode=Motion”
intitle:start inurl:cgistart
intitle:”WJ-NT104 Main Page”
intext:”MOBOTIX M1? intext:”Open Menu”
intext:”MOBOTIX M10? intext:”Open Menu”
intext:”MOBOTIX D10? intext:”Open Menu”
intitle:snc-z20 inurl:home/
intitle:snc-cs3 inurl:home/
intitle:snc-rz30 inurl:home/
intitle:”sony network camera snc-p1?
intitle:”sony network camera snc-m1?
site:.viewnetcam.com -www.viewnetcam.com
intitle:”Toshiba Network Camera” user login
intitle:”netcam live image”
intitle:”i-Catcher Console – Web Monitor”camera snc-p1?
intitle:”sony network camera snc-m1?
site:.viewnetcam.com -www.viewnetcam.com
intitle:”Toshiba Network Camera” user login
intitle:”netcam live image”
intitle:”i-Catcher Console – Web Monitor”

Attitude and the brain

My technical stuff can’t be published at the moment, so I’ve decided to write about a few pet theories, to mostly get them out of my head!

I have a big interest in the ability of the brain, both how it works, and its potential. While an idea I have that the contents of the brain, at the quantum level has the secrets of life to it, today’s idea is about how we think.

What I find fascinating is the idea of motivation.

Do we need a good reason to do a good job, or do we do a bad job when we don’t feel our input is appreciated? What is our default approach to quality? Does our approach change depending on outside forces?

“Whether you can, or you can’t, you are right!”

I love this quote because it takes the responsibility for your results and pops them on your shoulders.

However, does it fit into all circumstances?

I had a boss, many moons ago, who wanted me to sell a warranty with an electric product, and put me under a lot of pressure to do so. While I automatically rebelled against this pressure, after a few days, I did take his challenge on board, and tried what he was suggesting. My attitude became that the customer was going to buy from me, and only I could prevent that from happening. It worked.

However, over the years, I lost that drive, and let life direct me. A few months ago, I decided I wasn’t going to do that any more. I used the quotation, “Do what you love, and you’ll never work another day in your life” as my motivation, and slowly, I worked out what that was going to be.

I love configuring and coding, and its why I’ve tended to work in the infrastructure areas of IT. However, I never felt worthy of the nice big jobs, always having self doubt of my ability. I read about ‘Fake it till you make it’. This is a technique where you act as if you are who you would like to be, and you not only convince yourself, but others of your ability. Many successful people swear that it works. I am now one of them too.

I will have news of my new fantastic role soon. But not until I am ready to tell my current employers.

Decentralised Search – The end of Google?

Whenever a tech company becomes a global force, many people can’t see how things can ever change, but they do. Since the 1960s, we can list the big players, and even when they haven’t died, their influence doesn’t live very long. IBM, Microsoft, Commodore, Atari, Amazon, Google, Facebook, and what ever is today’s flavour, have two things in common. They are / were very big and have / had an almost monopolistic hold of an area of technology. You can research the ups and downs of the other companies listed, but I’m currently working on what will happen to Google.

Yesterday, I found an amazing app called YaCy. It’s a distributed search engine, where people can run their own search crawlers, and the results end up available to everyone. It gets around one big problem, and a number of smaller ones. It also gives yet another view on the advantages of distributed applications, other than plain piracy! 😉

The first big problem it solves is Google as big brother. ‘Do no evil’ is the most ironic tagline for a company for generations. With its gatekeeper status, its become very popular with politicians everywhere for its potential to control the masses. Its also become very popular with companies everywhere as a short cut to the masses. Finally, its also become a little too easy for Google to point us to its other products, keeping us in its walled garden.

The other problems that YaCy solve are the ones of legislation. As I’m writing this, the EU has introduced a ‘Right to be Forgotten’. As usual, the EU has not done any analysis of the unintended consequence of this ruling, and all hell will be breaking lose within weeks. The problem is that cutting data out of the index, because someone doesn’t like it is plain censorship. The EU argues its necessary to maintain accuracy. However, this is not how early requests are being reported. They are more about deleting embarrassing, and unhelpful past data. That is just censorship.

I will be playing with YaCy over the next few weeks to see what I end up with, and using it to learn a little more programming, so watch this space!

Infrastructure as Code – nonsense or a good idea?

I fixed my first PC in the mid 80s. I spent the 90s building PCs to order and spent the 00s helping others get the most out of the internet. The last few years I have noticed a new trend: Hardware is mostly disposable, yet so few people can actually configure it well.

In my youth, the best hardware was tweaked to death, and locked down so that it couldn’t go wrong. The stories I’ve heard of old bits of kit that is being kept alive and NEVER rebooted, just in case, are legend. This isn’t just in some old workshops, but we are talking in departments of hospitals, branches of banks and dark corners of government.

Most companies have the other problem where infrastructure is continually tweaked, but never backed up properly, and there are no records of what has been done. This is just as dangerous, and even has a name, config drift!

The idea of Infrastructure as code is that all hardware needs to be blank and configured from a database of approved files. It’s how virtual servers should be maintained, but this is moving that idea a step closer to the real world.

Its about moving the administration into an area of standards and scalability. Imagine being able to fix a PC using a standard script, and that script working on every PC at the same time, with no tweaking? That’s the ideal.

So, what is this magic future? Actually, its already here. Powershell does everything that encompass Infrastructure as Code – with one exception – the ease of finding the right script at the right time is not easy to do. But Microsoft are working on it, just give it a few months, and I’ll report back on how we have moved into the next generation of IT infrastructure!