Platforms... which is best?

So I'm making a game. Finally.

My first plan was to build it for the iPhone. But iPhone apps are written in Objective-C (I theoretically know C and C++, but haven't used either since college), written on the Mac (I've had mine for 2 years but rarely use it), and deployed out through the iTunes Store's processes (third thing to learn). All those new bits to learn aren't bad, but it's overwhelming to start. $300 later I abandoned the iPhone app idea.

But I've been playing MafiaWars a LOT on Facebook. It's an AJAX heavy PHP game. So I thought, "what if I target Facebook?" More users than the iPhone and I could write the app in ColdFusion and/or Flex. So I'm going down that road now. The security's built in, so easy to add an app, and easier to turn into money. Give the game for free, pay to enhance it. Versus the iPhone where you build the game, then strip it down for a free demo, then have add ons for bonus in game points or something.

ColdSpring, ColdBox, Illudium generated code... squee!

And though I don't have as much free time to code as I might like (see all the WoW posts), I'm liking CF front end programming more than Flex again. It's fast, you don't have to recompile the whole thing and drill back to what you were testing, very easy to push out partial updates (opposed to having the whole app in a few swfs). Before getting back into CF like I have lately, if forced to make the decision, I'd give up CF before Flex, but now it's the other way around. I'd forgotten why I love the language!

Resume woes

So my team wants a "Flex and AIR rawkstar". Someone to fly in, throw down an app or two, revolutionize our development mythologies*, but looking through these resumes, I wonder if such a person exists. This is my first chance to be a part of the hiring process from the other side. And if nothing else, I've learned some great tips for building my own resume. I skipped the list of "technologies and stuff I know". People are listing Flex 3, then in their experience they don't mention ever writing a line of code. Writing CFCs and business logic for a site with a Flex front end doesn't mean you can put Flex on your resume. So I skip right to the experience sections.

One resume says "Worked with CFQUERY, CFUPDATE, and CFSTORED PROC for database manipulation". What about CFSET and CFBEER? Yeah, we skipped that one. And yes, there's a space in cfstored proc, apparently. "Used CFTry CFCatch to trap errors..." more tags in the resume. Say that you wrote in explicit error handling, don't say how you did it.

"Wrote modules for header and footer templates and called them all over the site using CFInclude". Okay, for real, stop capitalizing tags like that. Including a header/footer is sooooo trivial. Reading this in the resume makes me think "they think that's impressive? buh bye"

How many years of experience do you say you have for each bit of technology? I worked on Oracle for 9 months, but haven't touched it in 3 years. I've been using CF primarily just to talk between Flex and SQL Server for two years, but have been using it in some fashion for almost 7 years.

The CONSTANT misspellings are killer. It's "ColdFusion", it hasn't been "Cold Fusion" since version 2 and was never "Coldfusion" nor "Cold fusion". 4 years ago I went through a contract house and my agent went through my resume highlighting things and messed up a lot of my technical terms like this. I'll blame those agent-types, but they need to stop, they're making their client look like they don't know what they're working with.

Another resume lists off a half dozen sites s/he** worked on, that's good. But they're all extranets that require login to do or see anything. Don't include links to those.

References to internal systems...? If I said on my resume "Streamlined interfaces to VIDS", would you hire me? Now if I say "Streamlined interfaces to company's internal chargeback and budgeting system", maybe.

DO NOT MENTION FRONT PAGE!!! If you're a real web developer, you don't use Front Page. You never used Front Page. You hate Front Page and are glad it's dead. You can't say "Front Page" without spitting on the ground. Do you design web applications in Word, too? Saying "Designed and developed user interfaces with Front Page" is like "Preformed brain surgery with Playskool's Little Doctor tools". Maybe you can remove the tumor, but imagine the gory mess you'll make.

Include a web site link to your example work. And if it's a locked down site, take screen shots of what you can. I was really impressed with one resume that included a link to the guy's site. But then I go to the site and it's basically a slide show of index pages of, I would guess, site's he's touched. I don't know, it's just the slide show. No other links or text.

*That was a typo, but it works, I'll keep it

**Only one of the 10 resumes here have Anglo-Saxon names. I can't pronounce them, much less know if it's male or female. Nothing at all against Indian developers, but I'm already imagining a strong language barrier.

SQL insert incrementing the key

I hit a weird... thing in ColdFusion this weekend. I have a table with an identity/autonumber. When an insert fails, it's still incrementing the autonumber. So I insert a good one, #1, then three bad ones, and another good one and it's #5. It's just an autonumber so I shouldn't care, but I want to understand this. Does it increment because it starts the insert, then fails? Might help to say it's failing because of a foreign key restraint.

The Plague of the Old Program

I'm currently debugging a Flex program I wrote 18 months ago. My very first "big" Flex app. All the variables and functions are public. Data is passed around by tightly coupled components. The database is requeried CONSTANTLY. I went into this thing to make a text change a few weeks ago. While in there, I wanted to make some little efficiency upgrades and ended up rewriting half the thing. Going back to your own old code is actually more frustrating than picking up someone else's. It's fun to see how I've progressed as a Flex programmer in the last year and a half. But also very frustrating to weed through all the junky code I put in because I just didn't know better then.

Transfer: Yes or no?

A non-WoW related post? For realz?

I've been working on a Transfer/ColdSpring/ColdBox site. I've got one word for Transfer: voodoo magic. The powers-that-be for this project decided yesterday to abandon Transfer and go back to generating CFCs. I don't exactly know why it was abandoned, but it was cited that Transfer is causing more work arounds than its solving problems. Now I'm just a code monkey on this project. I pull down the files nightly, copy/paste what the other developer did, and change variable names until my portion of the work is done. So I don't have any problems with Transfer, I'm not involved in whatever hoops the other developer is jumping through to get stuff working. I can say I really liked Transfer for the short while I used it. It's shiny and new and from my perspective saves a lot of time.

Programmers + sun + no free wifi = ??

Joshua Cyr's done a sweet job setting up a CF/Flex/Air cruise!

http://www.riadventure.com/

I immediately couldn't help but imagine certain big names in the Adobeverse... in swim wear.

I then immediately bashed my head against the wall until I stopped.

FactionCapture! 12k records in 6 months

The other component to cf_armory, FactionCapture, is a mess!! A while ago I added the option to chose what factions to graph, and I just changed it to only store faction history for 6 months (filling up my database!), but the page is still so ugly. I'm thinking this is a good candidate for a Flex app. I love the idea of graphically seeing your faction values change over time, but the current conception of it that I have stinks.

So I played with some Flex and came up with this design mock up... The new mock up

UpgradeCentral gets JQuery Upgrade

After a year of ignoring it, I've finally gotten back to enhancing UpgradeCentral. I used JQuery to break up the data into tabs. Now you'll immediately notice the tabs are too much to fit on the screen, so go into a weird second line. That's because I don't know jack about JQuery ... yet.

Note, UpgradeCentral uses Armory to determine what is an upgrade, based on the character's current spec. And a lot of it is rubbish. It generally ignores items with a "chance on hit" sort of bonuses.

Next I need some check boxes to unselect locations. I don't care to see upgrades from Sunwell, Black Temple, or PVP with my hunter and nothing over Gruul's with my priest.

Autogenerated CFCs

Current setup...

I'm on MSSQL Server and autogenerate my bean, DAO, and Gateway with the wizard in Adobe's CF extensions. A lot of the code it generates is crap, but still it saves me a LOT of time and keeps some level of consistency to my code.

On an insert, the generated code puts a cftransaction around the insert, then immediately queries the record to get the autogenerated ID. With MSSQL I was able to toss something like the below immediately after the insert statement, in the same cfquery block, to get the auto ID (as queryName.AutoID).

[More]

Less than a week to CFUnited!

This time next week, I'll be sitting in the Adobe opening keynote at CFUnited. When my manager told me he was sending me again this year, I was excited and looking forward to it. Then my WoW guild announced plans for a BBQ in Toronto next weekend. That would have been even more fun, to meet the people I've been "hanging out with" for a year. But oh well! I've signed up for some great sessions at CFUnited. Lots of OO, ColdSpring and frameworks, unit testing, automation, and data security.

[More]

More Entries

BlogCFC was created by Raymond Camden. This blog is running version 5.9.002. Contact Blog Owner