2010-01-24

Intruder alert

Well, i've been away for a while, work has been keeping me busy. I have also been developing a Clock widget for android, and you can download it via this QR Code:

Otherwise, i have done some testing of Motion Detection software for Linux, and here is a brief overview of what i have discovered.

There appear to be 2 developed solutions, ZoneMinder and Motion

ZoneMinder:

This seems to be the more well known and more established of the 2. It appears to have lots of binaries available, but sadly mostly for debian based platforms. If you need to compile it from source, it becomes a complete nightmare of weird dependencies, many of which i didn't know existed. It took several hours to get configure to run, and in the end, i could compile it, but it crashed on launch. Not very impressed. I also noticed that it was heavily perl based, and while i have no problem with that, it did make things more complicated than they could have been. That said, the screenshots show some fantastic features, and i'm sure that if you can get it up and running, it's a great - although possibly overcomplicated - piece of software.

Motion:

This also had a few odd dependencies, but took no more than an hour from download to simple motion snapshots working. After working out how to set up the config file, i also got the built in webserver running. From here, i need to set up a remote viewing and config site and an email notification service, which shouldn't be too hard. Overall, this software is considerably easier to setup than ZoneMinder however not as feature packed. This does, however, do everything i need it to do, and has some nice extra features which i thought i might have to build myself. It may be simpler than ZoneMinder, but it is definitely extensible. It also includes setup for proper LAN security cameras and the built in webserver has some nice features. There are also some smart features such as automatically drawing a white box around the area of motion in the image.

Conclusion:

If you just want to set up a simple motion detection camera for home, i recommend Motion, as the setup was simpler, and it does the basics really well. If you need a bigger solution, and potentially have a PC to spare just for this purpose, then ZoneMinder is probably what you want. In the end, i'm just really glad to see some motion detection solutions for Linux.

2009-09-30

Comux 011001

2009-08-20

When the Contribution Model Fails

I'm a big advocate of Open Source software. I feel that there really is no reason to close software source for the most part, and in general, closed libraries are very frustrating for me as a developer. However Open Source has it's flaws. The contribution model may be one of it's greatest strengths, but is also a big weakness.

What leads me to this "revelation" is an issue which i've been considering getting involved in and fixing. It's a Gimp enhancement request, which is probably the thing that annoys me most about Gimp at this moment. The "bug" is the lack of grouped layers in Gimp. Obviously, not having groups for layers can make a large document really convoluted, but more than that, i often find myself wanting to make modifications to multiple layers at once, such as opacity or translations. So what's the problem? Surely if they know about it and it's in their list, i should either do it myself or just be patient?

It's a 7 year old feature request.

I do understand that "implementing this feature is not trivial", but 7 years is not even close to acceptable. I realise they are suggesting it might make it to version 2.10, possibly in 2011 or 2012? Before the end of the world i'd hope. But seriously, in the commercial world, people lose their jobs for taking over a month to implement features like this. This is not easy to do, but in that time the KDE guys have written Krita from scratch, which may end up soon overtaking Gimp in features, and already has grouped layers. To me it almost seems like no one wants to take on the task.

What happened to open source being the cradle of innovation, instead of lagging behind commercial competitors? In Gimp, you have the Open Source stereotype. It's not as good as commercial counterparts, and lags several years behind in features. Some Open Source projects really seem to suffer from this. I'd suggest that X.org is another that just can't keep up with feature requests. Is it because of a poor codebase that people struggle to build on? Is it because of lack of interest in the project from outside devs? I'm not sure, but it really does bring down the quality of some big Open Source projects. 

On the other hand you have the entire KDE team as an example of real innovation. The KDE desktop is years ahead of any competitor, the codebase is beautifully clean, and they are churning out major features in just a few weeks. My example of Krita is a very pertinent one. It may turn out to be a big threat to Gimp in the long run, especially because it is now cross platform. The pace of development is clearly much faster, and it seems that it already has some of the modern features Gimp lacks.

In the end this does highlight some of the problems with the contribution model of Open Source software. Some projects fall behind, potentially become aged, while others forge ahead. How do you prevent a split like this? Should similar projects collaborate? Does that then remove an element of choice? The way i see it is that if it is needed enough, someone will do it. Maybe thats why Krita is moving so quickly, compensating for Gimp's inadequacies? It's probably also why Google are going to replace X.org in Chrome OS. After all sometimes its good to do some spring cleaning.

2009-08-01

Opera does something right, again!

In KDE, i disabled the window border, and in Opera moved the tabs to the right... this is a browser experience i can certainly get used to!

2009-07-27

Adding some shine to your Pepper

So, with my new domain, having my own wiki, part of the intention is to start a series of tutorials. The immediate focus is some simple tricks in Gimp for programmers, since programmer art generally has the rep for looking tacky and cheap. I don't claim to be an expert designer, but i do try and keep my art standard above a certain level. The first tutorial is a simple button with a bit of shine and can be found here:

http://davidgoemans.com/wiki/index.php5?title=Simple_Button_Shine

But... i've embedded it below anyway :)

Creating a simple button with a bit of shine

  • Open Gimp and Create a new image with canvas size 128x128
  • Right click the Background layer, and click Add alpha channel
  • In the Select Menu -> All
  • Select -> Rounded Rectangle ( Set Radius = 50 )
  • Select -> Invert
  • Edit -> Clear ( or just press delete )

File:280709_ShineButton_001.png

  • Select -> Invert
  • Use the Bucket Tool to Fill with color #3d3d85
  • Create a new layer above the background
  • Use the Ellipse Select Tool with Ctrl + Alt depressed. Using Ctrl + Alt creates an intersection with the existing selection created an intersection.
  • Select an ellipse like this:

File:280709_ShineButton_002.png

  • Use the Gradient Tool with the Tool Options setup with a gradient from White to Alpha
  • On the new layer: Start far below the image ( 50 - 100px below ) and drag to a few pixels before the top of the icon, creating the gradient

File:280709_ShineButton_003.png

  • Create a new layer between the background and the highlight layer ( Naming layers is good practice! )
  • Select Forground Color: #2a2a5a
  • Use the Gradient Tool with the Tool Options setup with a gradient from #2a2a5a to Alpha
  • On the new layer: Start just above image ( 10px ) and drag to just over half way down the selection

File:280709_ShineButton_004.png

  • On the background layer in the toolbox, right click and select Alpha to Selection, thus selecting the nice rounded rectangle.
  • Create a new layer directly above background again
  • Setup a gradient from White to Alpha
  • Set the Gradient Shape to Radial
  • On new layer: Start just below top left rounded corner, and drag to just off ( 10px ) the bottom right corner.
  • Set layer opacity to roughly 50%

File:280709_ShineButton_005.png

  • Create a new layer directly above the background again
  • Select the Paintbrush tool
  • Change the current brush tool option to Pepper ( yes the green pepper ) and set the scale to 1.70
  • Draw the pepper in the center of the new layer

File:280709_ShineButton_006.png

A domain with a wiki

Apologies for the very extended AFK, work has been keeping me busy. However, to compensate, i have many fun things in store. Firstly, i have finally bought my own domain, and have some basic stuff set up, including a wiki. So without further ado,

www.davidgoemans.com

2009-07-24

"Microsoft Hatred is a Disease"

Thanks to @mjhutchinson on twitter for the screen shot.
Btw, sorry for all the AFK, will return shortly. ish. sometime. i hope. soon.