Home » business

Category: business

A Sea of contractors.

Over the past couple years I’ve seen a lot of enterprise IT departments. Most of them are filled with contractors. In some of these companies there are only 5 or 10 technical employees. The rest of the people in the IT organization aren’t actually employed by the company. That means that the majority of the people who build, maintain, and manage their infrastructure and applications are contractors.

Most of the companies are “IT” companies. These are software companies, hardware vendors, and financial services companies. Software and hardware are their business. Without technology and engineering these companies don’t exist.

(One financial services company I saw with more than 400 employees had about 8 employees in the entire IT organization: the CTO, the VP of Engineering, 2 Directors, and 4 managers. The other 50, or so, people who worked in the department were contractors.)

A company over 50 people can’t function without some sort of “IT” department. Someone has to manage email accounts, desktop hardware, office WiFi, and the mix of SaaS applications most companies use. With almost all of the company’s business being done electronically it’s impossible to not have an “IT” department.

I have spent a long time trying to figure out why a company would do this. I have a few ideas:

  • Maybe the company bought into the “IT is a cost center” mentality brought on by CFOs and people with MBAs. As if there is a single part of the company that can function without IT resources. I’d like to see a breakdown of the marginal cost/revenue of engineering vs. accounting employees.

  • Maybe the engineering teams were really behind schedule and adding more project managers didn’t get the software shipped. Having a product owner for every component didn’t work. So now, it’s time to throw engineers at the problem and hope that helps.

  • Maybe it is financially motivated. Spending $150,000 a year, total, for a competent contractor is a lot less than a full time employee would cost. The team of contractors can always be supplemented with consultants. Plus, without all those employees the Director’s bonus looks huge!

  • Maybe it is the only way to get work done. If it is easy to hire and fire contractors but almost impossible to hire and fire full time employees contractors make sense. (Keep thinking about the government benefits if you do get hired full time!)

There are good reasons to bring in contractors: getting a specialist to set up a particular piece of software, building out prototypes without taking away from your core set of engineers, a contract-to-hire employment plan, and event services. These are all reasonable things for which to hire a contractor.

I don’t have anything against contractors. I’ve been one. It can be rough. Since they are not employees they have to provide their own hardware. They don’t have access to the same benefits (or maybe even holidays) as employees. They know that a bad quarter means that their contract might be terminated. (Cisco seems to be one place where actual employees have this problem.) Or Congress could have another budget showdown (all the downside of working for a government but none of the upside).

To mitigate these risks people have started companies that hire employees and then contract them out to larger firms like a “temp” agency would. This provides them with the benefits and stability of being fully employed and mitigating the risks.

As someone who has run a business I cannot think of a worse outcome than the people who my business depends on not having the same incentive to see it do well as I do.

Docs and Spreadsheets

I worked as a middle manager in a large corporation so I’ve been on the sending and receiving end of emailed spreadsheets and Word docs. Why? Because that’s how business was done.

I worked in a training organization where we were required to report on training completion numbers. The official training completion report was created by me (and others) copy/pasting a list of names filtered from a website into a specific tab on a spreadsheet, deleting the extra cells that were not needed, and making sure the VLOOKUPS in the spreadsheet actually did what they were supposed to do. As manual as this sounds this was the automated version. We used spreadsheets as a business automation tool.

Since we didn’t have the option to just get completion numbers from the website we had to create our own solution. It probably took 5 people 200 or so hours (not including continued maintenance) to get to that level of automation when it would have taken a person on the web team an hour or two to just add in a completion percentage. This was the process for reporting numbers that carried penalties in the millions.

A lot of the reason we had to do the completion numbers like this is because we had agents who were on vacation, sick leave, FMLA, absent, or simply didn’t work for us anymore. It seems to me that since this is an employee and I am able to track that status somewhere it would be trivial to pull from our HR solution (PeopleSoft) and compare with the vendor’s site.

I think reasonable people could agree that this wasn’t a good solution for the problem we had.

I’m not quite sure how the idea for Google Docs came about but I imagine it went something like this, “Executive: I’m tired of having to email people Excel spreadsheets and Word Docs because I can never tell who is reading them or who they might have emailed them to” but it was probably way more creepy.

I’m also not sure what problem they are solving other than “I no longer have to email these docs or spreadsheets around” and creating the problem of “I don’t know what anyone has shared with me, when, or how to find it”. I spend about 30 minutes a week trying to find an old spreadsheet or doc that someone has shared with me. To combat that problem I’ve begun making a copy of each doc that someone sends me so that I’ll be able to find it. Another thing that trips me up here is the difference between “Drive” and the Apps, I don’t know what data will be stored where.

So what is the problem that is being solved with Docs? Is it that we need a minimally viable word processor in a browser (that breaks copy/paste about half the time)? Or the ability to share and restrict permissions to the file? Or the ability to allow everyone to view, some to comment, and others to edit?

Spreadsheets seem to exist to keep arbitrary numeric data and Docs seem to exist to keep anything longer than an email. Is that all? Billions of dollars over the last 20 years for something as simple as “arbitrary numeric data” and “more information than will fit in an email”.

I’ve seen a couple start-ups in the last few days that are trying to fill a perceived gap between what companies actually need and what is provided by Google Apps. Spaces, which was recently bought by one of my favorite group chat applications, Slack (affiliate link) is clearly aimed at the Docs aspect. The second is airtable which is obviously going after the spreadsheet aspect.

Gizmodo Denied Press Passes for WWDC Keynote

This is so, so enjoyable. I can’t believe they were stupid enough to wait for a press pass.

Gizmodo Denied Press Passes for WWDC Keynote: “

Brian Lam:

It’s no surprise: Apple has not responded to our requests to attend the WWDC keynote on Monday at 10am PST. But we’ll still cover the news. Want to help?

WWDC attendees, be warned: guard your conference badges Sunday night if you’re at a bar.

(If Gizmodo’s editors were smart, they’d have purchased WWDC conference badges if they wanted to attend the keynote. But of course, that’s a big ‘if’.)

(Via Daring Fireball.)

Business is Hard Part II

People are not always who you expect them to be.

I behave mostly the same whether I am at work (IRC), in person, or in IM/regular chat I try to behave the same way in business dealings. I am not going to intentionally fuck someone over for me to make an extra couple dollars. I also will not intentionally leave a project that we have a contract for unfinished. I will work to deliver everything that I agreed to deliver and if I cannot I will refund accordingly.

I have found out, over the last week, that not everyone is like that. I recently had the misfortune of renting from a person I had known for about 10 years. I knew he was a smart business man otherwise he would not have made the 100s of millions of dollars he has in the bank or the summer homes in New Zealand but I never thought he would fuck me over.

In renting from him I chose the best possible location then went through the list of available buildings his being the only one in my price range in roughly the right vicinity so I took it. It was old and cold. The floor was an awful ugly brown, there was a huge back room with cracks in the doors and windows that air would directly blow through.

When I first moved into the building there was talk of the ceiling leaking and that it would be fixed by the first weekend I was there. The work crew came out and “fixed” the roof and I thought everything was cool. Two weeks later it rained and the ceiling was leaking again, turns out, the work crew didn’t actually repair the leak they only replaced the ceiling tiles to make it look like they had done the work. We immediately called the landlord who came down and looked around. We told him about the numerous violations for electricity and wiring in the building and he said, “You make better detectives than tenants” and then he told us “If you don’t like it, get the hell out.”

Get the hell out.

I had not anticipated that as a response I would get, knowing this guy for the last 10 years I would have thought it would be something like “We’ll fix it, give us a couple days” or even “It’s going to take a week to get it fixed” but never “Get the hell out”. So now I am left scrambling. I have about 20 computers in a building with monitors and all sorts of electrical equipment with a ceiling that is raining. I have clients who have been to the building that know that is where we are located.

I make arrangements for the computers to be stored out of the weather. Now what? Broken and beaten we begin to look for another storefront, some guy offered to let us use part of his building. Do I want to be bounded by his hours? No. Do I want to be stuck in some shitty corner of town? No. Do I want to have my business directly affected by another person? Not only no, but hell no. I have too much experience with business to know that this is a bad idea.

Now I go looking through every other building in town. I found one! The perfect fucking building, downtown, right in the main traffic area, big enough to hold all of the equipment and still have space leftover, but not big enough to kill me with the heating bill. (The old place cost $175 for power for one month.) The only problem was the landlord. He had, to that point turned down 7 potential renters. There was an arcade, a lawyer, and a few other tenants that definitely made more money than we did and had bigger community ties than we did.

Some people really are good people.

I called and talked to the new landlord expecting that we would get rejected out right without even being looked at completely. The landlord told me to write up the information he would need to make a decision and process our application. Since I figured we had no chance at getting the place I was brutally honest about us and our financial situation, as well as, 2/3 of us having extremely bad credit. I was also extremely forthright about our services and lack of ability to get into the building for another month because of the financial situation caused by the first rental.

Over the next couple of phone calls with a good word put in by our prospective neighbors (whom we all knew and liked) it was settled that we had the place the very next day. I called the landlord back to let him know we couldn’t accept because of the financial situation. The landlord agreed to drop the rent with security deposit from $1200 to just the $700 for rent. After pouring through my finances it wasn’t possible for me to pay that much after all of the damages done from the first place.

On the call following this the landlord

insisted that the first payment be $500 rather than the $700 and that we have 17 days of free rent

. Yes, you read that right, he insisted that we have 17 days of free rent and that we only pay the security deposit. In which world does this happen? Until now I had no idea that there were people that were this “good”. Of course, we accepted and signed the lease as soon as his wife could get there to give us the papers.

If you try, sometimes things will work out.

Three days before this we were broken and bruised not knowing if we could succeed without a building. Now we were set up with a better location in a better building with less wasted space.

Lesson learned here:

Be the Juggernaut; break through every fucking wall anyone can throw at you.

Apple, open-ness, and Section 3.3.1 an objective view.

The Apple update to the iP(ad|hone|od) developer agreement 3.3.1 has caused quite a stir in developement communities all over.  The change is summarized quite adequately here: http://daringfireball.net/2010/04/iphone_agreement_bans_flash_compiler. Queue the posturing and legal bullshit from all sorts of people and companies. Rather than posting comments to all of the different articles I am just going to writhe my thoughts on each here. I am not hiding my opinions on my blog that very few people read I have responded to the tweets via Twitter linking back here were appropriate.

Starting with: http://blog.joa-ebert.com/2010/04/09/what-apple-just-did/ and http://twitter.com/joa/status/11845234511

This is completely not the same thing as the change made to the developer agreement. In the case illustrated by the author the app creators are the musician and Apple is, of course, Apple, however, this situation isn’t the same because Apple *wants* all styles and sorts of music because music doesn’t carry viruses or other problems for their mobile platform. If the situation were corrected to be like the change to the developer agreement the musician would be trying to submit his/her song as an MP3 ripped from a .WMA file which means that the quality is far inferior from a non-converted MP3. Who’s going to catch the blame for the music quality being terrible? Apple, that’s who. Customer’s are not going to blame the musician for the sound quality (viruses, crashes, and other shit) they are going to blame Apple.

This author doesn’t seem to be able to make logical connections between things without obvious fallacies of composition. Correcting his second example: “apple forcing people to develop in obj-c is as if microsoft would tell you to use mspaint for your design work if you want Microsoft to sell it for their Windows Mobile applications.”

Second: http://www.bloomberg.com/apps/news?pid=20601204&sid=aiTiUZWa.uGw (brief aside, Bloomberg’s Web site is fucking horrible)

Just this line: “In a filing with the SEC in January, Adobe said that it wanted to work with Apple on the iPhone, though it needed Apple’s cooperation to do so.” Adobe, Apple doesn’t want you on its mobile plat form, get over it.

Third: http://www.mobileorchard.com/goodbye/

Wow, quitting one’s entire life and job because of 3 lines added to the contract? It doesn’t even seem that the addition would have affected the author at all. I completely support his decision because, its his; he can make whatever fucking choice he wants…just like Apple did. I do wish him the best of luck.

Fourth: http://twitter.com/Hvilela/status/11891058025 & http://twitter.com/Hvilela/status/11900260520

The Market (Apple) just did. “Us” being Flash developers, no they don’t care about you…isn’t that quite obvious?

Fifth: http://www.wolfcat.com.au/randomrants/2010/04/postid-1023/

This author seems to have the players switched (Apple being beta and Adobe VHS) when it should be Apple is VHS and Adobe is beta. Apple is not the one about to have its flagship product replaced by HTML5, CSS3, and a little Javascript, that’s Adobe. Apple will be around long after Flash has been replaced with something else.

Sixth: http://whydoeseverythingsuck.com/2010/04/jobs-bans-non-c-libraries-insane.html

This author fails for not being able to read the WikiPedia page that he links to. The contract is between the developer and Apple not Apple and anyone who wants to user their products to make money. It will be a sad day when companies who produce products for other companies’ products have a say how the product can be created. This is something similar to what would happen to all of the iPhone twitter applications if Twitter released their own application for iPhone or drastically changed their policies about client applications. (this was written before the announcement here: http://blog.twitter.com/2010/04/twitter-for-iphone.html with Twitter doing exactly that, releasing their own application)

Seventh: http://twitter.com/sirobertson/status/11897793015

Uh…sorry you were dumb and didn’t see this or something like this coming?

Eighth: http://twitter.com/troygilbert/status/11874702606

Dangerous indeed…at least to security and stability of applications not to Apple’s platform.

Ninth: http://twitter.com/skiller/status/11874379899

If you threaten to go to Windows that should be your punishment; going to Windows.

Tenth: http://twitter.com/markive/status/11880506004

Looks like your team isn’t made of the right people then. Small development teams such as Massively Overrated have been kicking ass in releasing applications that not only work, fast they are beautiful as well.

Eleventh: http://twitter.com/uliwitness/status/11869629162 & http://twitter.com/uliwitness/status/11870024049

What? & It is *clearly* not a bug, I hardly think the Apple legal team let bugs through.

Twelfth: http://twitter.com/pauliusuza/status/11890230741

Can they tell you to use a different platform that won’t tell you that then?

Thirteenth: http://twitter.com/aral/status/11881304099

It seems to me that this is ALL about the UX and making it consistent.

Fourteenth: http://theflashblog.com/?p=1888

This is perhaps the most frustrating as the guy is an evangelist for Adobe who can’t seem to see that Adobe does the exact same stuff to a worse degree in some cases. Starting with his 3rd paragraph I will answer each of his points.

“What they are saying is that they won’t allow applications onto their marketplace solely because of what language was originally used to create them. This is a frightening move that has no rational defense other than wanting tyrannical control over developers and more importantly, wanting to use developers as pawns in their crusade against Adobe.”

Can I write Flash applications is Python? What about Ruby? Java? Can I use some other program or IDE to build Flash applications? No, wait isn’t this the exact same thing? Adobe actually added a an export for iPhone feature to their newest product CS5 just trying to invite themselves to a party they weren’t invited to. “Tyrannical control over developers” has this guy seen the price of Adobe CS4? http://www.adobe.com/products/creativesuite/design/?promoid=DTEMS $1800 fucking dollars, that is 18 years of the iPhone Developer Program…at least Apple is classy enough to provide the entire development suite and tutorials for the price of $99 (1 year of the the iPhone Developer program).

“I am positive that there are a large number of Apple employees that strongly disagree with this latest move. Any real developer would not in good conscience be able to support this. The trouble is that we will never hear their discontent because Apple employees are forbidden from blogging, posting to social networks, or other things that we at companies with an open culture take for granted.”

As opposed to the jackassery you have here? Apple has those rules so that exactly what you have done here doesn’t happen to them.

“Adobe and Apple has had a long relationship and each has helped the other get where they are today. The fact that Apple would make such a hostile and despicable move like this clearly shows the difference between our two companies. All we want is to provide creative professionals an avenue to deploy their work to as many devices as possible. We are not looking to kill anything or anyone. This would be like us putting something in our SDK to make it impossible for 3rd-party editors like FDT to work with our platform. I can tell you that we wouldn’t even think or consider something like that.”

Adobe has helped Apple get where? You wouldn’t consider anything like that because you NEED to be on every platform to make money. Apple doesn’t NEED you, in fact, it has been made pretty clear Apple doesn’t want you…on their mobile platform at least.

“Many of Adobe’s supporters have mentioned that we should discontinue the Creative Suite products on OS X as a form of retaliation. Again, this is something that Adobe would never consider in a million years. We are not looking to abuse our loyal users and make them pawns for the sake of trying to hurt another company. What is clear is that Apple most definitely would do that sort of thing as is evidenced by their recent behavior.”

Once again you wouldn’t consider this because you need to sell those CS4 units at $1800 a pop to everyone who will buy it otherwise you are not going to make money. You don’t make changes, not because you wouldn’t hurt another company but because you NEED Apple and other computer manufacturers or you don’t have a business. What Apple has shown by their behavior is that they want absolute quality with no exceptions for their platform. I believe this tweet sums it up: http://twitter.com/nikf/status/11881871981 I won’t use TweetDeck because of Air.

“Personally I will not be giving Apple another cent of my money until there is a leadership change over there. I’ve already moved most of my book, music, and video purchases to Amazon and I will continue to look elsewhere. Now, I want to be clear that I am not suggesting you do the same and I’m also not trying to organize some kind of boycott. Me deciding not to give money to Apple is not going to do anything to their bottom line. But this is equivalent to me walking into Macy’s to buy a new wallet and the salesperson spits in my face. Chances are I won’t be buying my wallets at Macy’s anymore, no matter how much I like them.”

Back to another fallacy here, this one is a false analogy. Apple didn’t spit in your face, Apple changed their policy…as is their right to do, and you disagree with their change because you don’t want to learn how to do development their way. This would be more like your job telling you if you don’t have skill x you will be fired and instead of learning skill x you learn how to get around learning skill x, don’t be surprised when you get fired. People have obviously seen this coming: http://iphonedevelopment.blogspot.com/2009/10/sue-me-i-think-developers-should-care.html and Adobe announcing that they are going to circumvent Apples wishes is like being spat on.

This pretty much sums up the entire Adobe complaint: http://twitpic.com/1ecnga

There are some people who are incredibly happy about this because it takes a while to develop games in Objective-C rather than drag-n-drop Flash applications that can just be converted or compiled into binaries it is easy to understand their happiness: http://twitter.com/fishermen21/status/11888110483.

This is ultimately going to make the entire CocoaTouch platform better because of the larger number of developers using and creative native tools instead of the crap they are using now.

Taxes, business, and FreeAgent.

I, finally, made my yearly pilgrimage to the accountant to have my taxes done. The previous 3 years taxes were *extremely* easy to do since I only worked one 1 job and had 1 W2 form that needed to be done.  This year was much different, I owned a business, worked for a company based in a foreign country, and spent 8 months working for a company that issued a W2. After  2 hours of sweating the inevitable words “You owe” I came out with a $1500 refund instead. (Thanks to Obama and my $7,000 worth of school expenses).

During the 2 hours I spent in the accountants office when she was asking me for reciepts for expenses I knew I had but  didn’t have the receipt for, things that could have helped out more with the refund. My accountant noticed my level of disorganization as well, she ended up getting an accounting ledger that she had in her own supplies and giving it to me so that next year when tax time comes things will be easier on her. I’m not a ledger kind of person so I began looking for some online accounting app that would take the actual work out of it.

I looked at the normal suspects LessAccounting, FreshBooks, and Mint. They all have similar features but one thing I absolutely hate is their tiered pricing, I am limited to the number of feature x as long as I am on plan x. I don’t want to be limited to x because I don’t want to spend $300 a month to buy plan y. I want all the features available or I don’t want the service. As Matt Gemmell said here: “If you’re an employed adult who objects to paying $10 for a piece of software, you should be utterly ashamed of yourself.” I agree. I don’t mind paying for software, however, I won’t pay $300 a month for my business doing well, that doesn’t fucking compute. So I finally on Twitter found FreeAgent. FreeAgent is a set $20 per month, no worries about the number of invoices I was able to send, no worries about the better I do the more I pay.

FreeAgent is really great accounting software, I have taken college level managerial accounting classes with Quickbooks and this is much nicer. Quickbooks is slow even on a fairly high end machine it is extremely slow…and UGLY. The UI seems to have been done not by UI designers but by accountants who want as many buttons on the screen as possible. FreeAgent is not like that, it is very cleanly designed. As for speed FreeAgent is very fast, provided you have SSL caching turned on in your browser. My only complaint with the speed of FreeAgent is Chrome doesn’t support (as far as I can tell) caching for SSL pages. Switching to FireFox where I already have that turned on made things as fast as they should be.

Using FreeAgent is as easy as can be. I imported my bank account transactions and within an hour I had gone from a handful of receipts for who-knows-what sitting in random piles on my desk and through my files to a full balance sheet and profit and loss statement for Quarter 1. It is indeed worth $20 per month and with their awesome discount scheme http://www.freeagentcentral.com/support/kb/misc/the-freeagent-referral-scheme it can be cheaper, if you have enough friends they’ll even pay you to use it. If you need to keep track of your finances and don’t want to be punished when business picks up, I definitely recommend using FreeAgent!

Building a community, 1 year invested.

Building a community is hard work. There are a lot of steps that have to be taken to attract visitors, draw them in, and retain them. Fortunately, this project came with a community that was already there, just dispersed across 3 or 4 different sites on forums; 1 point for us. The downside is that the hunting/fishing crowd are not really very technical, are used to sites that are visual trash like this one, and are habitual people so they don’t leave the community they are already in if there is not some incentive to move.

One year ago today my company launched our first site, trackmytrophies.com. Of course, the company didn’t actually exist yet and wouldn’t for over a month, we were brand new to the technology stack we were building the site with, neither of us were extremely familiar with design or design tools, and we both had full time jobs working for someone other than ourselves. The site was built on Pinax 0.5.1. There was an early beta of Pinax 0.7 at that point but, for people new to the Django/Pinax world it was completely impossible to deploy, I spent ~17 hours, over 2 days, trying without success to deploy the site. At that point I decided to revert to the stable Pinax 0.5.1  which still took me 8 hours to deploy, but deploy I did.

Over this last year a lot of things have changed: we have become a lot more familiar with the platform we are using, our design skills and tools have increased, and we are working for ourselves…technically (we actually work for WebFaction). We have experimented with different layouts and designs, worked with serving our own ads (OpenX community is shit, don’t use it…), we’ve broken shit, read upgraded Django to an incompatible version, and we’ve even helped patch a minor bug upstream.

Enough of the boring stuff, here are some community stats:

  • 297 registered users
  • 612 uploaded photos
  • 10,000 total visits

…and we are not done yet. We have  a lot of ideas that we are still working on; there is a completely new design coming along with *many*, other backend upgrades that will be transparent for end users.

Here’s to the next year ending stronger than the first!

Business is hard. Part 1.

I am behind on my #P52 by a couple weeks so I am going to be catching up over the next few days.

Self help books and thousands of books on the Internet would have you believe that starting and running a business is easy, that it doesn’t take much, and that you will be better off for it. Web based businesses are touted as the ultimate business venture, you can make large sums of money building Web sites and web services for people, because you’ve a book on PHP and MySQL…what else is there to the web?

That is bullshit.

Starting a business is easy, building value is hard, in the State of Utah you simply go to http://business.utah.gov choose your business name, type, and enter the required information. Once you have completed those steps you pay your fees and get your FEIN from a link on their page and you’re set. You have a running business. Now what the hell are you going to do?

Now you, if you believe the hype, start working on your gold mine, Web sites, right…

Chances are you are still working a day job so that you can pay your bills which limits your time working on your own projects so you need to work extra hard if you want your own business to succeed. If you get a couple entry projects chances are you will realize you didn’t know exactly how some integral piece of the project works. If you are extremely unlucky you are also a student, have a family, or both.

Now the problem of time management rears its ugly head: how are you going to spend every moment of your day? There are not enough hours in the day to do what you need to do. Here’s how you might spend a day:

  • 8 – 10 hours at the job that pays the bills
  • 4 hours for school
  • 1 – 2 hours for homework

That is a total of 13 to 16 hours, now add sleep 11 – 8 hours, you haven’t eaten no time has been factored in for commutes or waiting…and you haven’t spent any time with any one other than the people you were in direct contact with at one of the above places. Of course, you will have days off or days without school so there are brief times when you can catch up on things that you are not getting enough of, like sleep or homework time.

How long can you viably sustain this pace? How many days of straight work before you are just too tired to do anything? What about support? If you *have* customers there is going to be a time when they need help or have questions and, if, you get a client from hell you will spend *a lot* of time dealing with his/her issues.

The time table above also doesn’t add any time for your new business or recreation. What do you cut out to make room for everything? What part of your life suffers? Who do you cut-out?

I still don’t know.

Quick post this week.

Edit: It seems that the publish call didn’t go through all the way so I am publishing it again.

As a contractor I spend a lot of time working on projects other than my own. To keep track of the things I need to do for each project as well as University classes I have been using Things recently. Both Things Mac and Things iPhone have greatly helped in keeping me organized between my work, client work, and University classes. Not to mention home. The price is a little steep for both of them. I don’t really know if it was worth the entire $60 since there is no push feature. I am confident from CulturedCode’s awesome status page that the features will actually come out so I considered it a future purchase.
For time tracking I am currently using Billings and Billings Touch, together both are fairly expensive as well $55, if you want to be able to sync between them. I tried a couple different web based apps as well as a couple other Mac
specific apps for time tracking but the rest were not as comfortable or powerful enough for me to use. Billings takes a second to configure and isn’t very intuitive slips can be marked as done but when a project over laps a month it doesn’t really seem to be useful.

All in all Things and Billings are just the apps I have been looking for to help manage my time and task list.

Thoughts about Java and Python.

In my Computer Science course I was asked to write a program, in Java, that would compute the powers of 2 from 2^1 to 2^20 using only a while statement. At first I tried, with just the basics that we had learned so far, to create the program. Things did not go well because I couldn’t get the powers to work correctly using pre or post decrements. After I looked through the extensive Java Math library here is the solution I came up with:

Coming from a completely Python world, I wondered how I would have implemented the same program in Python. This solution is probably not the most elegant solution but Java was very heavy on the brain while I wrote it.

A couple of things I really missed from Java when coming back to writing Python were:

  1. Post and pre increment, I understand why Python doesn’t have them but damn are they useful
  2. Brackets for the while statement, I know brackets are horrible and messy but it really makes the start/stop of a code block easy to follow…fuck Ruby and its “end” command that is just ugly.

I really like the way Python’s “print” values work. It is much nicer to use %s inside the code and then add % (count, multiplier**count) at the end of the statement rather than using the “+” and variable names.

In the Python world Java gets a lot of shit from a lot of people. Granted, Java does have its share of problems and oddities but it is an extremely powerful, well backed language. Oracle’s support of Java after their acquisition of Sun Microsystems has dramatically increased since a great number of their products are built on Java. Probably the strongest piece of the Java programming language is the Java Virtual Machine. The JVM is so versatile, that, practically, every language can be run on it. There are implementations for Ruby (JRuby), Python (Jython)[1], and even, my favorite web framework, Django (Django-Jython)[2].

With Django and Python gaining traction in the Enterprise world Django-Jython and Jython are perfect building blocks for organizations that *have* to run Java for some of their applications or middleware but want the ease of use that comes with Django and Python for their internal or even external web teams. I like where things are going and I am on the bandwagon with both languages.

[1]: http://www.jython.org/

[2]: http://code.google.com/p/django-jython/