What is Toluu?
Toluu is a free service for sharing the feeds you read and discovering new ones.
Get Invite

the.codist{}

Thinking About Programming


My iPhone Game: Early Design Decisions

About 18 months ago I started thinking about designing a new strategic board game. I wanted to create something familiar using elements from popular existing games, but with unique elements as well. There are thousands of board games created over the millennia, and it's not easy to find a new path.

My initial design criteria were:

  1. Can be played in 10 to 15 minutes on average.
  2. Rules can be explained in an elevator ride.
  3. Easy to start playing but deep enough to resist total mastery.
  4. Computer opponent not impossible to write.

I came up with some preliminary ideas, then visited my friends at the developers of World War II Online and ask them to try it out. It had good elements but didn't really work so I went back to the drawing board and spent a lot more time simplifying ideas until I came up with something much more refined.

When the iPhone developer program started, I added additional criteria:

  1. UI can be simple enough to use with a finger
  2. Game small enough to fit on the screen.

Now I'm finally to the point I can actually build a working prototype. I decided to build it in javascript to run in a browser. This makes it easier to work with (I can avoid XCode as long as possible) plus I can get people to play test it easier (still no easy way to get folks to test on the iPhone itself). Building a computer opponent for a new gam

Things In IT I Am So Tired Off

After you work in IT organizations enough, eventually you build up a list of things you would really like to never see again. Sadly they never seem to go out of style.

  1. CIO/CTO's who ignore everything said by people who work for them but believe every word from a vendor's mouth. This always leads to large dollar purchases of technology and contractors that cause no end of trouble for everyone. It's how a million dollars of Documentum winds up being used to manage one website.

  2. CIO/CTO's who make decisions based on what makes them look good to higher management, and ignore everything else.

  3. Working for companies that make money despite utter incompetence and gross mismanagement. The only reason they stay in business is monopoly positions or long existing contracts that actually require little effort to collect on. Working for such a company is stable but frustrating beyond belief. Management acts as if all decisions involve life and death, but in reality the company would make money even if no one ever showed up for work.

  4. Project Managers who claim they need to know nothing of the technology being used, as "they just manage people"; yet they wind up making serious technology decisions anyway. One PM I knew forced a developer who had just written a complex SQL query but hadn't even run it once to include it in a hot fix build of a customer facing web app. Fortunately a smoke test by another developer caught the sql

phpdox.net - New Ajax Powered PHP Documentation Site (Written By Me)

phpdox.net

I wrote this little app for my own needs initially, as PHP is such a big monster that it was hard to find the right documentation, or discover which of the N similar packages I should use.

When I moved servers I fixed up the app enough and decided to release it to the world. It's pretty handy as is, but there are still several things I need to add, particularly paging through the documentation, and supporting bookmarks (which involves the back button support as well). Althought the current app keeps a list of the recent pages you've visited, I need to store this in local storage (either a cookie or one of the various client side storage mechanisms).

It handles two kind of searches, one through an index of the titles of all the pages in the documentation, and one through all of the hierarchical names of the documentation (things like features.file-upload.multiple). The latter will (soon) be available just for browsing. I've added several levels of heirarchy (mainly for functions) to make this easier.

The whole point is to find documentation easier. Fortunately the documention is (reasonably) well organized and the license allows this. I wish I could do the same thing to the MySQL docs, but the license is seriously unfriendly. I might build a similar site for javascript if I find a decent source document set.

So here it is, alpha and all. Send it to your friends (or enemies) who use PHP.

Turbo Productivity In Programming Is The Only Thing

After all my 27 years of writing code for a living (and 34 since I wrote my first line of code) the one thing matters most to me in choosing what to write code in is how quickly I can get the job done.

In my first job at a defense contractor, I met a couple guys (I thought they were old but they were probably my age now!) who had been writing code since the late 50's and then writing batch applications on an IBM mainframe. Since they could only compile/run once per day (and get the printouts the next day) they would work on 6-8 projects at the same time and weren't concerned when these projects might take years to complete. After two weeks on this I was ready to go insane and got switched to working on a supermini which at least had a realtime operating system. I could write code, compile it and run it at the same time. The only drawback was we had 7 people sharing one terminal at the start. Suggestions that each programmer get a terminal were laughed at initially. Being productive in such a limited time was really hard.

After a couple years I switched to working on PCs (which were just out) and having my own "computer" was wonderful. Working in Pascal and assembly still wasn't fast yet but at least I had my own space.

Then I got Turbo Pascal and life was forever changed. I could write, compile and debug applications virtually instantly and my need for speed has never looked back. Even on the c

Blog Moved!

I just moved this blog to a dedicated server (along with all my other domains) and released the new look (which is still in progress). I expect a few growing pains.

The code is in php and running on a LAMP stack as I continue my conversion from Java to PHP.

Let me know if you find any oddities.

409803367