// post · 723
// post · 722
Password Manager
I've never found a password manager that I like (the story of my life)!
I've never been a fan of hosting my personal data with other companies.
So I spent two days writing my own.
Mr Password is awesome. It does almost everything a Password Manager should do. I'm selling it cheap on codecanyon and once purchased you get free upgrades and access to the code.
Features include:
- Unlimited number of custom fields per password.
- Active Directory Authentication Support
- Multiple Users (with 2 permission levels, User and Administrator)
- Security Logging
- Account lock down after 5 failed logins
- MySQL Database
- Hashed (with SHA ) Account Passwords
- Password Generator
- Password Categories
- Sharing Categories
- HTTPs/SSL Supported
Go get it, only $US8-10 (depending on the way you purchase it).
Link: http://codecanyon.net/item/password-manager/2145518
Demo
URL : http://www.onlinecompanyportal.com/mrp/
Username: admin
Password: 1234
// post · 721
U-NITED Warranties
One of the computers we purchased for a customer came with a 3 year onsite warranty. The extra 2 years of warranty was provided by U-NITED Warranties (aka United Warranty) (http://www.u-nited.com.au/ or http://www.unitedelectrical.com.au/).
As of today I am still waiting for a response as to where the machine is.
- They rarely answer their support phone in under 10 minutes.
- The URL that they provide while waiting on hold to check the status of the job is incorrect and takes you to a server error page. I even emailed them about it, no reply.
- It took over a week before the machine was even collected.
- The computer has now been with them for over 2 weeks.
- They stopped updating their job status website (I found it even though it isn't even linked on their website, FYI it is https://www.u-nited.com.au/registrations/) weeks ago so we now need to call each time to get any information.
- We still haven't been given any information as to when the computer will be returned.
- Either the computer has been formatted (the drive was fine) or they have never connected it to the internet as it has not checked in to our Kaseya system.
Update:
- Their phone system now seems to lock up and reboot, kicking me off the line and out of the queue! The amount of time I have wasted with this company is crazy.
March 4th Update:
- Still no machine or any update on when it will be returned. Awful awful service.
March 7th. Still no update.
March 14th. After a lot of bitching I was finally able to get a part refund on the computer so that I can replace it myself! So crap, but I can get a new machine much faster than this company can return phone calls!
I will never use this company again for anything.

// post · 720
IPManager Invoicing
Invoicing is just about complete! There are two more things that are not finished yet, PDF invoices and emailing the invoicing. Both will be pretty easy.
There were a few complex SQL queries to handle the tax calculations (and to have the total on the view all invoices page).
Here is what it looks like (click to see full size).
// post · 719
Fun with JQuery
I am in the process of writing in invoicing support for IPManager (need to change the name of this app!). I've looked at Xero and Saasu but I'd still need to work out their API, and I don't like the idea of companies having access to my data, so I'm doing it myself :)
To do it nicely I need to use a bunch of JQuery so that you can easily add new line items on the fly (and calculate tax etc).
I've got it working just the way I want it, using a very long JQuery command!
.val('').end().find('p').append('<a id="delete_item" class="button"
href="#">Delete</a>').end().appendTo('.invoice_item_extra');
Here are a couple of screen shots:

And here is the basic design that the clients will see:

I am pretty happy with it so far, lots of work to go though.
// post · 718
New IPManager Design
// post · 716
Bluetrait Money
New version of Bluetrait Money is finally out!
You can purchase it from here:
// post · 715
Google hired some graphic designers
....only took 13 years.
The new google design is much much better than the crap they've been feeding us....
....speaking of designers, new Dalegroup website coming soon :) Should be sweet.
// post · 714
Kaseya + Ninite
Automatically patch 250+ computers with all the latest apps in a couple of clicks. The wonders of having remote scripting control over all computers we look after (Windows, Mac and Linux).
Although Kaseya is a very heavy program (my server has 5gb of ram just for it!) it does so much useful stuff.
Handles windows event log collection, patch management, application deployment, alerting, remote control, silent scripting, remote command line, registry editor, reporting, anti-virus and malware and a bunch of other things. Basically means I can manage any machine from a web browser without needing to login to the actual computer (also no VPN needed). Yay!
Only issue is that I cannot remote control from an iPad.
I take my recommendation back. Ninite are now charging much much more per month than before. I have yet to work out what the new cost gives me, so at this stage I cannot recommend it.
// post · 713
IPManager 2.2 tickets sql improvements.
Primary tickets query in IPManager, working very nicely (110,000 tickets in a slow VM).
SQL result
Host: localhost
Database: ipm_test
Generation Time: Jun 21, 2011 at 01:10 AM
Generated by: phpMyAdmin 3.2.0.1 / MySQL 5.1.36-community-log
SQL query: EXPLAIN SELECT tickets.* , c.id AS `source_client_id`, c.client_name AS `source_client_name`, c.email AS `source_client_email`, c2.client_name AS `assigned_user_name`, c2.email AS `assigned_user_email`, comp.name AS `source_company_name`, p.name AS `priority_name`, t.name AS `ticket_state_name` FROM tickets LEFT JOIN clients c ON c.id = tickets.source_client_id LEFT JOIN clients c2 ON c2.id = tickets.assigned_user_id LEFT JOIN priorities p ON p.id = tickets.priority_id LEFT JOIN ticket_state t ON t.id = tickets.ticket_state_id LEFT JOIN companies comp ON comp.id = tickets.source_company_id WHERE 1 = 1 AND tickets.ticket_state_id = 1 ORDER BY last_modified DESC LIMIT 50 OFFSET 0;
Rows: 6
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
|---|---|---|---|---|---|---|---|---|---|
| 1 | SIMPLE | tickets | index | ticket_state_id | last_modified | 8 | NULL | 50 | Using where |
| 1 | SIMPLE | c | eq_ref | PRIMARY | PRIMARY | 4 | ipm_test.tickets.source_client_id | 1 | |
| 1 | SIMPLE | c2 | eq_ref | PRIMARY | PRIMARY | 4 | ipm_test.tickets.assigned_user_id | 1 | |
| 1 | SIMPLE | p | eq_ref | PRIMARY | PRIMARY | 4 | ipm_test.tickets.priority_id | 1 | |
| 1 | SIMPLE | t | const | PRIMARY | PRIMARY | 4 | const | 1 | |
| 1 | SIMPLE | comp | eq_ref | PRIMARY | PRIMARY | 4 | ipm_test.tickets.source_company_id | 1 |


