Wednesday, August 12, 2009

ImageMagick LOMO script

Looking around for examples of ImageMagick filters to produce LOMO camera effects (aka, the 'TopGear Video effect'), I decided to write a script that applies the effect with slightly different parameters to the source image.

If you'd like to play with this script, I'll be putting it up on a site where you can upload an image, and then download the finished products.






Each montage has the original, the three vignette masks,
The Enhanced image, then with the masks applied.

Ooops, lunch break is nearly over!

Thursday, June 18, 2009

New Feature for HelixGL (Prism9)

Got the kids to bed last night, and decided I'd bash out a small addition to the DataGrid component.

Now, if a column contains numeric data, it automatically calculates a few pieces of information at the bottom.

It's just a span with a title, but gosh it makes the interface better!
In this example, I'm holding the pointer over the 'Sum'


Wednesday, June 17, 2009

New Screenshot of Prism9's HelixGL Accounting System


A little project I've been quietly working on for a few years. This web-deployed accounting system is powered by FreeBSD, Apache, PHP, and the Firebird Database.

It runs brilliantly on Windows and Linux as well.


I add a few features to it every few weeks, pretty it up, make it faster, etc.

Who knows, I might even package it for sale one day...

FreeBSD Live CD Development Environment

I'm toying with the idea of building a FreeBSD-based Live CD, based loosely on FreeSBIE, TinyBSD, and NanoBSD.

Goals are:
Minimal .iso size, hopefully around 64MB
Slimmed-down, .gz'd kernel
.gz'd world executables
xorg vesa or fb driver - not worrying about hardware acceleration

These goals aren't unique - most liveCD's have these.
Non-unique goals are:
Dynamic third-party software installation.
- If you have a writable media attached to the maching, i.e., a USB stick, you can choose packages of options to install.
- The CD Media doesn't change, but the installed app is overlaid (Merged) onto the read-only image from the CD, allowing the new app to be available.
- Updates to package disk images are done via rsync to a central server - file delta's only
- Might build several versions of the .iso's:
- CafeBSD: Internet Cafe, Firefox, Filezilla, acroread, flash player, openoffice
- HelixBSD: Running Apache, PHP, FirebirdSQL, and my accounting system, HelixGL
More info at http://prism9.com/
- MediaBSD: Media center based on Freevo or similar
- HealthBSD: Dunno. Barking mad I reckon, building a pharmacy/hospital system...
Anyhoo, grabbed a copy of VirtualBox from Sun, and busy syncing a FreeBSD CVS Mirror for local building.
Created a few VM's - one without a HDD for diskless boot testing, and another with a small HDD for 3rd party app creation.

Todo:
- Get a full XORG desktop built, and make sure everything works
- Build a .pkg file to .img (disk image) converter for merging with a live filesystem
- Build a disk image distribution system for 3rd party apps, with rsync'able files for fast updates
- ...
- Profit! ;)

Tuesday, February 10, 2009

While migrating from Exchange 2003 to Exchange 2007 in a different forest, it became necessary to migrate some Exchange Contacts.

These 'Contacts' don't have a mailbox, but rather are simply an SMTP address stored so they show up in Domain User's contacts list, and simply send the email off site.

In PowerShell (W2k8 64bit, E2k7), I did the following to obtain the information I needed from the old server:

`set $sourcecredential = Get-Credential`
(When the popup window appears, enter the source domain's username and password)

`Get-MailContact -DomainController -Credential $sourcecredential | -select alias, PrimarySMTPAddress > c:\recips.txt`

On a FreeBSD machine I had handy, I FTP'd the file up, and ran the following command to produce PowerShell commands.

`cat recips.txt | awk '{print "New-MailContact -Name "$1" -ExternalEmailAddress "$2" -OrganizationalUnit Recipients\r\n"}' > newrecips.txt`

I then FTP'd it back down to the W2k8/E2k7 machine, and copied and pasted the commands into the PowerShell window.

Lovely!