Loading...
Artemis Software blog

Artemis Software Blog Summary



Groovy greatness - scripting, Java, debugging and update it all on the fly!

Groovy!

The dynamic scripting language for Java I've been meaning to learn and start using. I'm a bit embarrassed its taken me this long, but now that I have I'm a bit floored at how productive it is starting to make me.

One thing essential for me personally to use any programming construct with confidence is to be able to hook it into a debugger. I know of people who love their println statements, but having to sprinkle those into an app to understand what's happening is seems silly at best....incredibly inefficient, time consuming, mind numbing at worst.

Here are a couple quick videos of what I discovered. While experimenting with mixing in some Groovy to an existing Java application, debugging it, and then changing things around it all just worked. Without needing to stop the JVM or recompile-hotswap the debugger still picked up everything. The JVM and debugger even picked up signature changes like new methods and method params. Such somersaults usually makes the JVM hotswap laugh at you like you're a penguin trying to fly.

here are two quick amateur videos showing this:

Read More»

my all time best purchase

the winner is my MacBook Pro!

It wasn't cheap but the MacBook Pro is a bargain at 10x the price.

This computer + OS X Tiger is just so good I'm constantly in awe of it even after having it for six months. The thought of ever having to go back to a Windows environment for anything more than a couple of apps (like Quicken/Quickbooks) or 2 via VMWare Fusion makes me break out in a cold sweat. I'd sooner be lashed (lightly).

Everyone I know who already used a Mac has said, "You have a keen grasp of the obvious."

I finally made the leap because of Apple's switch to the Intel chip and the availability of solid virtualization software like VMWare's Fusion. The few apps I do have to run in a Windows environment work like a dream. I guess they tried all this in the mid-90s (running Windows on a mac), but finally everything has come together for real.

Here is a short list of my can't live without OS X apps in no particular order:
Skitch
PathFinder - Finder got a lot better with Leopard but PathFinder is much more powerful.
QuickSilver
VMWare Fusion
Freemind
Cyberduck
Adium
IntelliJ IDEA
ITerm
Thunderbird
Firefox

possibly ScreenFlow or Jing (if you could save useful files).

I could go on, but my procrastination break time is over.

Read More»

Jing is good, with one more feature it could be great

Splash
Uploaded with plasq's Skitch!

Finally TechSmith is developing for the Mac. Their main product Camtasia is the best screencast software / editing package IMO in the range of a couple of hundred dollars. But of course it's only on Windows at the moment.

Their new Jing Project is very exciting and quite good, but not great. The one place it falls short is that it only saves files in SWF (Flash) format. That's fine for playing, but you can't do anything else with them. For instance if you want to edit a recording as in snip a few seconds here and voice over a few seconds there you're completely up the creek.

SnapZ Pro would be OK if it would just let you pause a recording. Short of that I find it generally not very useful verging on useless.

The best hope for screencasting on the Mac for which there are currently no good options South of Final Cut Pro ($$$$) is still when Camtasia is release on the Mac.

Read More»

syncing QuickBooks bank downloads to invoices

This is a rather targeted post which will mainly be of interest to independent contractors using QuickBooks. And probably only people who have no accounting background like myself and are stymied when they discover QuickBooks is rather primitive. QB is surprisingly incapable of doing some very basic things without being prodded along.

The issue is the duplicate deposits that show up when you 1) invoice customers and then click on 'receive payments' you have recorded income in the 'undeposited funds' account 2) when you download your bank records another deposit shows up. So you then have two records for that 'income'. This of course screws up your summary Profit & Loss statement. What to do? It should be simple. It is harder than it should be, but easy enough once you figure out how to treat QB like the primitive program it is (at least primitive in this area).

I worked out these answers after reading a few dozen posts on the QuickBooks Online Community.

Here is what I do:

1) create invoices for every bill I send
2) when the customer pays click on 'receive payment'. This puts it into the 'undeposited funds' account (semi-secret account).
3) When I download my bank statement from Bank of America I associate those deposits with an income account (the field on the second row and third column of the bank record in the register)..
4) I then click on those deposits in the bank account records, click on 'edit transaction', and then click on the 'payments' button (with the green dollar icon) at the top ......this lets you bring into this record money from the undeposited funds account. Check off the right records from the right customers and click 'OK'.
Now the details for that record will show two deposits in the same amount - one is from your bank account download and one from your 'undeposited funds acct'.
5) Now change the amount of the original record to 0.00. You are doing this so you don't have double the income in QB.
6) In the memo field I write m.d.e. - matched deposit entry followed by the number # for that paid invoice or invoices. That makes it trivial to go back later and figure out what came from where if you need to.
Done! Rinse and repeat for each customer payment showing up in your bank's register.

It also helps to understand the definition of 'undeposited funds'. Basically that account represents the paid invoices which your company has received but you've not yet deposited in the bank - hence 'undeposited'. Money flows through accounts in QuickBooks, but when you do automated downloads the same money shows up in two places. This might seem obvious to anyone with some accounting knowledge but I found it extremely confusing. I was probably equally confused because I develop software and I simply could not bring myself to believe that QuickBooks was so primitive that I had to manually edit payments.

In theory you might be able to use the QB 'matching' right when you pull the bank records in and that match window pops up, but this is unreliable because the amounts might not be perfect and if you haven't already created an invoice and clicked 'receive payment' when you download the bank records you cannot go back and do this.

QuickBooks has some nice features, but it's rather primitive in some ways as well. For instance when using the above method it only shows lump sums for undeposited funds from a particular client, you cannot split those across bank records. In these cases I just pull the lump sum into the bank records and go zero out the other downloaded bank deposit records while adding a comment to the memo field of the matching invoice numbers and former amount.

I hope this saves someone the time it took me to figure out. If you know a better method please let me know.

Read More»

cron at reboot - a great way to have Confluence JIRA or anything else startup automatically

Here is a little gem I just ran across after struggling to get scripts in the /etc/rc.d directories to work properly at startup for the tenth time.

You can very easily create an entry in the cron table to do this. Here is an example.

assuming:

  • java is installed at /opt/java
  • Confluence is installed at /opt/confluence

Create a script - /home/bob/runConfluenceAtStartup.sh:

running as bob:

  • create/ edit the 'cron table' using: crontab -e
  • add the following line to the (file/table):
    @reboot /home/bob/runConfluenceAtStartup.sh
Read More»

Archives

May 2008
Sun Mon Tue Wed Thu Fri Sat
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
             

see ya Verizon - on track for the iPhone 3G
my all time best purchase