06.11.08

John Is Still Doing Too Much Stuff

Posted in Coding, Site News at 7:26 pm

Sorry, folks, things are kind of weird. Circle folks know what’s up, and there are other concerns, too. But overall this post is just to say that yes, there was some downtime of the site for an hour or so there, and yes, it was on purpose. Everything should be resolved now, so hopefully things will be back to something relatively close to normal.

I’m horribly backlogged on a ton of stuff, so I have to cut this short– but I promise that I’ll get on a few of the things I’ve neglected for a while. Please bear with me, folks.

05.22.08

Irony Man

Posted in Coding, Gaming, Movies, Rants at 5:33 pm

So… ( The promised Iron Man minireview is behind this. » )

In the interim between writing the above discussion of Iron Man and the retooling I did of it here at lunch, something else has started to bug me, and I feel it ought to take precedence over movie discussions. Most of you know that the little scrolling thingy at the top of the blog front page is powered, normally, by Twitter. I was introduced to Twitter through one or more podcasts that I listened to, and found it to be a pretty clever tool. Twitter’s primary function is as a micro-blogging tool; you’re given 140 characters to describe what you’re doing or where you are. It feels almost like a haiku, actually; you have a very small space to work in yet complete freedom within that space. Needless to say, I love the concept. I’ve even used it to somewhat great effect here on this ol’ blog.

Twitter’s implementation, however– and this is being nice about it– sucks.

Now, I’ll be completely honest in that my utilization of Twitter is not exactly what the developers intended. I imagine that the Twitter team felt it would be a slower-paced version of instant messaging; more akin to passing notes around class than a live conversation. To some degree, then, my use– posting thoughts without devoting the amount of time it would take to make a full post on the blog– could be considered a case of “you’re doing it wrong”. I’m fine with that. The problem is, however, that my “wrong” use of Twitter stays perfectly within the provided capabilities of the service. I’m not hacking anything, haven’t made any bizarre customizations, and nothing I’m doing is anything someone else couldn’t do. It’s the intent I’m conveying that seems different from other Twitterkin. That’s not my complaint.

My big complaint, in all honesty, is the same complaint I had that forced me to move from Blogger/WordPress.com to a custom tool back in 2005, and then back to WordPress in ‘06. I did not want my ability to work on my site to be reliant on an external application which fails repeatedly and inconveniently. Yesterday’s post exemplifies the fact that Twitter’s instability is causing problems for me. Therefore, I’m thinking about a way to do more or less the exact same thing as Twitter… but just for my site. I don’t want to knock the efforts of the Twitter team, but the constant downtime and slow access of the web client are more than a little irritating.

To that end, I’m thinking maybe I could create a small Windows or OS X client to carry around (ultimately creating an iPhone/iPod Touch version as well). I’m actually leaning towards creating an AIR-based client to start with, as that would easily let me prototype what I want the actual client to look like. And, you know, use it before I do the native clients. We shall see, of course. I imagine I’ll have a web-based mockup available soon.

Catch you folks tomorrow.

10.06.07

Tinkering

Posted in Coding, Site News at 12:44 pm

Nothing special today, folks. Just did some switching around of some layout bits on the blog front page. I may eventually go ahead and do some actual work on a better “real” front page, but that’s in the future. Catch you folks tomorrow.

06.24.07

Sweet Surrender

Posted in Coding, Gaming, Rants at 12:27 pm

I give up. Over the last 24 hours I have fought tooth and nail to try to get any of the three dance pads I owned to work with Stepmania on the Mac. And, while there is a solution available within my reach, I’m going to call it quits completely and just bite a pretty big bullet.

After looking at the sheer size of the Manhunt 2 rant and realizing, “Hey, that’s way too big”, I’m starting to use this “hide long rants” thing more often just because I don’t want to flood folks with really long, drawn-out diatribes for no reason. So…
Read the rest of this entry »

04.02.07

Red Pill

Posted in Coding, Rants, Site News at 8:35 am

And today is when reality starts to set in as April Fool’s gags are revealed. I managed to snag one of the ThinkGeek shirts, so I’m looking forward to that; also, the 8-bit Tie is so going to be mine. Not that I ever actually wear ties, and the few times that I do wear a tie I can’t conceivably be expected to wear that one, but… all right, so maybe I won’t get it. Anyway.

You might have noticed that I abandoned the “30 Days” idea. This is because I sort of got preoccupied and wound up not getting enough suggestions. All right, I got one. In any event, I have coding to do for the next couple days/weeks, so I’m more or less tied up. I should probably give you all an update on what’s being done… sounds like a plan.

I’ve been working on creating a simpler way of dealing with databases in PHP; my solution thus far is called Ether. It doesn’t stand for anything but it does sort of work like magic. The idea is to get database rows into PHP as quickly as possible and with as little transformation as possible. Ether pulls a table row out and turns it into a PHP object, adding a couple additional properties for its own use. All that’s really required is that the table have an identifier called “id” (I now realize that I ought to refactor this to be configurable). It also only works with MySQL for the time being, but most PHP setups also use MySQL. Porting it to other platforms is a job for other people, I suppose. Anyway, right now it’s in a partially-completed state; it can read and save rows/objects, and can also create new ones. The next major step is to get it to automatically make forms based on the database tables, and that’s partly done as well; after that, I’ll be working towards the first project to use it in a production environment (technically, the old blog archive was created using Ether, but it was the no-form alpha version). That will probably be yet another update of First and Last… maybe. I still haven’t decided just what I want to do with it, and First and Last is not really a suitable demonstration of what the system can do.

The ultimate goal for Ether is to make PHP application development much, much faster. Once the database design is set up, a very large chunk of coding is usually devoted to making forms and handling database input/output. The idea is that most of that coding is pretty much the same, and that once the database design is done, the majority of the coding is also done. It’s not very advanced stuff, and I’m sure I’ll have some kinks to work out, but the concept seems pretty solid. More than that, even if all I get out of it is the knowledge that there’s something out there that already does this, it’s still a good exercise.

Aaaaaaaaanyway. Last day at work for me, then all sorts of interesting stuff to be done. Catch you cats later.

03.03.07

The Non-Update

Posted in Bailout, Coding, Site News at 8:37 am

There, uh, really isn’t much to tell, folks. I upgraded WordPress to avoid that nasty little exploit that’s been going around, and everything seems to have progressed nicely. So, yeah.

Don’t mind me, I was at work until 8p last night.

02.24.07

A Few Helpful Pointers

Posted in Coding, Rants, Writing at 8:11 am

First, and possibly more interesting than the drivel below…

Inconsequential Update: 12 scenes left, with a current word count somewhere around 83,500 words or so. Odds are good that I won’t be doing much gaming this weekend in an effort to ride out this writing streak… But trust me. If I start banging my head against a wall, I’ll be sure to let you all know.

With that taken care of: I’ll probably start talking a little bit more about my coding work, especially as I continue my quest to learn more than just web-based technologies. Thus, the new tag for the posts. Those of you not inclined to that sort of thing, feel free to skip these– they’re going to get WAY nerdy WAY fast.

So, as I may have mentioned, I’m playing around a bit with a couple RAD tools. In particular, I’m looking at Microsoft’s XNA framework for C#/Windows/XB360 applications games, and Apple’s XCode suite/Cocoa framework for OS X development using Objective-C. Now, I’ve never been terribly adroit with C or C++ to begin with. I wrote some of it in college, fouling up a perfectly good traffic light simulator (remind me, if I haven’t ever recounted that story, to get it on bits one of these days), but to be perfectly honest it’s all Greek to me. Or, at least, it was for a while. Now it’s closer to, I dunno, Baronh, meaning I can barely read the f%$#ing code. Both C# and Obj-C take different tacks towards twisting C to their own purposes. Naturally, they both go in completely opposite directions.

You would think, actually, that C#, being a Microsoft product, would be pretty arcane and archaic. It’s not really the case, actually. C# has some quirks; but where it quirks, it tends to favor a more lax approach to coding. Everything is type-safe at compile time, variables are strongly typed (and well-enforced), and pointers are abstracted away. Inheritance and polymorphism is done through interfaces well, and the Visual Studio IDE is very helpful in telling you what you can and can’t do with an object. In about three hours of playing with it, I managed to get an animated mouse pointer on-screen, transparency effects, and the beginnings of a sprite-tile engine together. If XNA had an easy-to-use visual design studio, or at the very least better documentation on how to create, adjust, and use textures for 2D games, I could probably have cut that down considerably.

Contrast this to Objective-C. Objective-C is basically S&M For C. Yeah, you get a very nice visual interface builder, but unless you know the safeword you’re going to be on your knees, in tears, begging for mercy. The concept of “type-safe” is gone here. Everything is pointers; even the goddamn POINTERS are pointers. The language is weakly typed and nothing is checked until run-time. You don’t call an object’s methods directly; instead you send it a message. Your message is then returned by a large burly postman in leather and chains who crashes your program telling you that you didn’t do something right. He won’t tell you what, but he will pop up a whole shitload of assembly language in the hopes that maybe you’ll have an aneurysm and give up. XCode won’t tell you that you’re doing something dumb until you try to build your program. And the syntax! Good freaking Lord, the syntax! It’s like someone printed out the code, ran it through a weed-whacker, and then scanned it back in backwards and on fire. In two hours of work I had a very pretty interface that crashed whenever I touched anything because I couldn’t figure out how to make a string literal.

Anyway, despite what it sounds like, I’m about equally matched on both setups. XNA is easy to work with and the language is a snap for anyone coming from Java or even PHP (to a certain extent). The drawback is that it takes a little bit more work before you get something that looks good– or, in fact, ‘looks’ at all. Cocoa is insanely easy to make really nice interfaces with, up to and including tables with built-in sorting, tabbed stuff, and the like. Of course, the problem is that the underlying language isn’t exactly clear on how to accomplish certain things, and it’s tricky to tie objects and interface elements together unless you know exactly what you’re looking for. I probably won’t be doing concurrent development with them– I really want to try to get the Obj-C project I started done first, as it’s sort of a GTD tool– but I will try to produce something for both of them.

But not this weekend. This weekend is writing for Incon, and only for Incon. So, yeah, sorry to leave you with an abrupt ending here, but I gotta get back to work on that.