Sequel CMS Release V1 Alpha

At long last, after many years of development, Sequel, which has taken over from the original idea, Milog, has finally got to a stage where it can be used for it's original purpose - lightweight, powerful, flexible web content management, and more.

As an example, thunderbirdlounge.co.uk is the first site to be using the Sequel system.

There is still a lot of work to go in to getting this to a full product, but the foundational blocks have been laid and it's only a matter of building in functionality that I have built up over the years as one-off-solutions.

Example Sequel Screenshot

A quick run down of the basic functionality:

Conclusion:
So, it's still a work in progress, and it does need some good UI, but it is very much on the way and will undoubtedly make my life (and others) a lot easier and allow me to develop scalable, reusable, and easy to use solutions for customers. I know there are other CMS solutions out there, but I'm just such a stickler for coming up with my own stuff.

  • Posted by James on April 24th 2012

KM Software: Setting up Synergy on Windows and Mac

So, I was looking for a KVM setup to link my Mac and PC together with the same keyboard and mouse (so KM really). I run a seperate screen for each, but wanted to leave behind the hassle of having 2 keyboards and mice. First thing that comes to mind is hardware, but I came across an alternative: this pretty sweet bit of software called Synergy. It will link any and all your pc's together with one mouse and keyboard over LAN/WLAN and best of all, it's free.

Anyway, I ended up downloading it and following the instructions and, although in reality it is quite simple to setup, it still took me a while to get it working properly. Below are some instructions to help anyone else out there set it up in about 5 minutes. Note: I still have to instruct the client (my Mac) to start the service using Terminal so I will still keep a keyboard and mouse connected - I can just keep it out the way for 99% of the time.

On each computer, download the relative client from the download section. I am using Windows 7 Pro 64 bit and Mac OS X 10.6. The Windows download comes as an exe so you shouldn't have any trouble installing that. The Mac OS download comes as a zip and the contents should be copied to /usr/bin.

Now... the configuration. I am using the Windows machine as my server and the Mac as a client. The Windows GUI allows relatively straight forward configuration. For setting up the Mac as a server, you need to edit the .conf file. Both have the same setup logic, just one is in text.

The main confusion I faced was with the naming; when adding your screen setup to the configuration, make sure to name the screen as your network name. My Win name was "James-PC" and my Mac is "MacMini.local". If you do not keep the names the same you will have to set up aliases of those names otherwise you will face errors when trying to connect.

Next, you configure the layout of the screens. This can be any layout you like, but you must make sure to tell each screen where it is relative to other screens. It is not enough to say that your gaming pc is left of your server, your must also say that your server is right of your gaming pc - otherwise you will scroll to one screen and not be able to scroll back!

You can also wrap your screens - just add a couple more links and you can have infinite screen scrolling. Neato!

To make sure it works, use the Test button on Windows, or the -f (foreground) option from Terminal on Mac. When your happy, use Start on Windows and drop the -f option on Mac (unless, you want the Terminal open).

In addition, there are other ways to customise it - I have set it up so that I only swap screens when I hold Alt while scrolling my mouse to the edge of the screen. I made a command shortcut on the desktop of the Mac so I can easily start the client on a reboot. You can automate it on startup, etc, too, but you can Google that one.

  • Posted by James sometime in 2011

So Busy!

Ok, it's been nearly a month since I wrote something on here. So here is a quick update.

I have a new job! I am going to be a Service Management Consultant. Yes. I finally have a job that can be defined by the phrase, "I work in IT." (I am now looking at my Dilbert desk calendar...)

I have also been working like a dog for the past month trying to finish a major project for my soon-to-be old company. I am currently writing this at 06:55 having just worked all night trying to progress to completion on an office block for a high-profile client in Canary Wharf. I can't work days because the building is in use and we get in the way of people - although, only as much as they get in the way of us. It's amazing how angry people get at a light that turns on and off a couple of times.

There are three things I love about working nights:

The main thing I have learnt about myself while working nights is thing 3: "I am not a morning person". Once I'm up, I can stay up pretty much indefinitely... assuming I have caffeine and sugar on tap. There are many days when I will be in the middle of a load of code and I can work until 3, 4, 5 in the morning. The other day, I did 2 days solid with less than 3 hours sleep - which was broken up by 3 phone calls. Yes, that is crazy, but at the same time, quite cool to know I can do it.

Now, it's time for some sleep, before the UPS man arrives.

  • Posted by James on September 6th 2011

Searching a 2 Dimensional Array

For a project I am working on in PHP, I am doing a lot of work with multi-dimensional arrays. In particular, I am searching a 2 dimensional array quite often. As far as I can tell, there are three ways of doing this, and what is of particular interest is speed of searching. In this instance, there aren't any duplicated keys on child arrays to worry about.

The first way is to simply use nested loops with key and value variables and then directly test the value using if().

The second way is to iterate through the top array and search each child array using array_search().

The third way is to flatten the array and search it directly using array_search().

I was curious to find the difference because, aside from the nested loop search, on the one hand you have small arrays which are searched (ergo quick?) and on the other hand a large array to be searched (ergo slow?) which, incidently, also required the creation of a new array. The real question here is how slow is a for loop compared to a direct array search?

It turns out, that flattening the array instead of looping it is nearly twice as fast in all my tests, with the nested loop trailing massively. This basically proves that searching an array using a looped array_search is much, much, faster than using a nested for loop, while searching a flattened array is faster still - by around 60%.

In retrospect and ignoring the nested loop, I guess the extra overhead of having to use the search function for each array in a loop is what does it; rather than using the search function to search one giant array where the function overhead is only created once.

The only downside of the flattened array method is that you have no way to find your way back into the original 2D array if you wanted to modify a value.

Averages over 5 loops of 10,000 on a 10x10x100 array (10 arrays of 10 elements of 100 characters):

What have I learned here? It's a good thing to reduce the number of functions being called when possible; that and nested loops are process hogs.

Download the script here: array-search-test.zip

  • Posted by James on August 3rd 2011

Minecraft - Online

Ok, so I've been playing Minecraft for a seriously long time now. I'm not someone who spends a whole lot of time gaming and by no means do I think I'm a pro, but I do like to get immersed in a game. Minecraft is just one of those games. It is so odd, but so fun at the same time, and you can easily spend 3 hours perfecting a creation.

Basically, my brother in law added me to a MC server yesterday, and the fun started all over again. Playing with other people is so much more interesting - unless they burn down your house.

I'm also looking forward to seeing what Notch is actually bringing out in 1.8. minecraft.net

  • Posted by James on August 1st 2011

Electric Cars and Oil Dependency

I watched BBC's TopGear tonight mainly for the reason my friends managed to get tickets and they were in camera shot (I also like it, but have always missed it). Jeremy and James did a piece on electric cars. Their conclusions were that they like the idea of a motor driven car, but ultimately they are not going to work realistically for anyone driving outside of London for quite some time. I agree.

First of all, the two cars were around £30,000 each - about twice the price of standard cars in the same class. Secondly, the range they could travel was only about 100 miles - before requiring a 12 hour (give or take) charge up. Thirdly, and the main problem with them, is the batteries. At *best*, they could last 10 years, but to be expected is between 3 and 5. The current cost for replacing the batteries? £7,000.

Fair enough. It's a developing technology, although the fact still remains that the basic technology is really, really old. All of this is really not a major issue as I'm sure it will get better as the years go by. My only concerns with it are these:

Of course, I know the answer to the the last question, and it's a mixture of greed, market control, economic stability and technology. We all know technology is used as the main reason for not being able to do it, even on TopGear, but then we all know better. If we didn't rely on oil, the world economy wouldn't have a leg to stand on. How is it that we have the technology to safely turn nuclear activity into electricity, but we cannot manage hydrogen? Maybe it's the fact that hydrogen is so widely available and not something that could be controlled easily (in terms of the economy) - oil would become redundant overnight, and a lot of people would be very unhappy about that.

I'd love to be 'green', 'carbon-neutral', even 'carbon-zero'. I do my best to be efficient with fuels, but at the same time, I can't help but feel that I can't do much to really make a change and the options available are really limited. Every little helps, I guess.

Edit: @iKenndac has pointed out to me that hydrogen is 'incredibly inefficient and incredibly explosive' and that it's very heavy when stored. We just need better batteries for electric cars. I'm still sure that my other reasons for not using it count for something though - no one wants to lose their business. But then I'm no expert, and this is just my point of view. If only I was a scientist.

  • Posted by James on July 31st 2011

Is 3D dying?

I read yesterday that EA (Electronic Arts) has said that they are dropping the development of 3D technology in games because consumers aren't interested in it.

Now, don't get me wrong, I like the *IDEA* of 3D, but let's be honest, it sucks, so in this example, I'm glad of what EA are doing. I'd rather have money invested in making a game decent than making it 3D compatible. I'm sure EA's decision also had something to do with how badly Nintendo's 3DS has done, but that's another story.

Yes, it can look pretty cool, but, with the exception of Disney Pixar's UP, there isn't one thing that I've seen (wearing 3D glasses made in 1972) where I've thought, yes, that is definitely better in 3D. My only other exception is Disney's Muppets 4D, which I love (and hope is still there).

Don't get me wrong, I love technological development, but I'm not convinced that 3D is technological development. Really, it's just a gimick for advertising and generating additional revenue (i.e. paying more for 3D films). For me, 3D will only be accepted when a) there are no side effects, b) it actually *looks* 3D and c) it doesn't require additional equipment.

Basically, what I'm waiting for is when I don't watch TV or watch myself in a game, I am in the TV or in there playing the game. I guess I've a while to wait.

(I also think cinemas should provide simple things such as 3D glasses that fit your head!)

  • Posted by James on July 30th 2011

End of Facebook

I can't count the number of *minutes* (ok, ashamedly hours) that I've wasted trawling through peoples rants, events, likes and dislikes on there and so recently, I've packed it in. What I mean is, I really have no interest in checking up on other peoples lives any more. I'll still keep my account and perhaps peruse my 'friends' comments from time to time, but I'll only really keep it in case someone wants to invite me to a birthday party via it, because, in fairness, it is easier.

When I saw Google+, I thought it was going to be awesome and an end to the global domination of FB. Only problem is I can't get access 'due to oversubscription'. I know there are other ways, but I haven't been able to find any (maybe I haven't searched hard enough). It's supposed to be more competition to twitter, but like me, apparently other people aren't convinced yet either (judging by the fact Google stocks are down...). I won't be signing up anytime soon unless I absolutely need to.

All in all, I'm not really sure how much longer social networking will last in it's current form. For me it started back with MySpace, and has now kind of stopped with Facebook. Global networking isn't going anywhere, but I also think there is still room for a fair amount of innovation and integration, and by that, I mean that it is still yet to personally become as necessary as my mobile phone.

I'll probably do another post when it does become necessary.

  • Posted by James on July 30th 2011

Finally done it!

Yes, I've finally got round to it - putting this website up! It's by no means finished but it is here, which is a start. My main project for the past few years has been MiLog (which is possibly going to be subject to renaming) and that is the main reason this hasn't gone up sooner. Well, now, I've just thought 'stuff it' and decided to get the site up and show people like you what I'm working on. If you want to help out, please let me know!

  • Posted by James on July 30th 2011