Feb 7 2011

In Which the Fool Admits Defeat on the Fields of Dreams

So I’ve come to an internal agreement. Actually, it’s more like an admission of defeat. Either that, or it’s a sudden ability to see that the easist path has been plainly in front of me the whole time. Call it what you want, but I ain’t happy about it.

See, for the past eleventy-thousand years, I’ve been trying to build a website to showcase my music. After spending countless hours drooling, shit-for-brains, while staring at my laptop hoping to spontaneously grok everything I needed to do and write all the code to my own fluidly-custom specifications, I’ve given up. I’m stupid. So stupid, I’m gullible. I managed to convince myself that I had enough mental energy left over at the end of my workday to set up to the task of building a website from the ground up. How foolish I am!

So, having gotten half of a notion last summer to give up coding a full Ruby On Rails website, I decided to try some pre-rolled frameworks. I looked at Drupal and WordPress, among a few others. Since I already had some modicum of “experience” with WP, and since Drupal has a steep learning curve, I went with WP. And what did I discover? WP version 3 unleashed a new feature where you could make your own custom post types, so you can create a Song and have it display along with your regular Posts, Pages, and Attachments. “Astounding!” I exclaimed. “Just add my Song code and build a template, and I’m home, sweet mother of god, HOME!”

Herein, we shall call this moment The Second Great Con of the Man On Himself.

The problem, you see, is that WP 3.0 has half-assed support for custom posts. It doesn’t pull posts made from different types into feeds, doesn’t include them into the front page, doesn’t support archives. For that, you need a WP plugin developer’s mind, and the free energy, street smarts, and tenacity to navigate the byzantine WP wiki in the hopes of finding the help you need to make this happen. As it turns out, custom post types just aren’t user-friendly.

Since my job requires me to be task-based and results-oriented all day, every day, I just can’t summon up the smarts or desire it takes to actually make this stupid little dream of mine into a reality. When I’m settling down for my evening coffee, trying to unwind my head and get into my projects for the night, you know what I really want to be doing? Absolutely nothing. Now I understand the attraction to clicking on the TV and turning yourself off. I can’t do this anymore.

I lost my love for the web. Giving up. And now my task is much simpler. There are plugins for WP that allow me to stream media and set up podcasts. They make things on the back end much easier, but they are neither custom nor completely intuitive to use. That’s the tradeoff. And right now, I’m trading in my programmer’s hat for a dunce cap. The internet has won.

Hurp a derp.


Aug 13 2009

A Phaysis of Rebirth

So. Welcome to the new Phaysis-point-oh. My nine years with Prohosting have drawn to a close, and with the change in webhost comes a change in journaling engines. After 9 years of trying, and failing, and trying, and failing, and trying again (and then failing), I have given up on building my own engine and have finally decided to take the path of least resistance. Phaysis.com is now powered by WordPress. Resistance is futile.

During the site’s downtime (you did notice it was down, didn’t you?), I took the opportunity to convert all my old journal entries from the original engine (and a long-lived hack) called “Sojournal” (clever, ain’t it?), into a format suitable for importing into WordPress. Took a week of work to build the conversion script. So after installing WordPress on my new webhost, doing some basic configuration, and selecting the temporary design theme, I imported all of my old entries.

Now everything I’ve written over the 6 years I used Sojournal are instantly accessible by tag, category, archive, permalinks, and by the nifty search box to the upper right. Amazing how handy that stuff is, considering that for years the only way to read specific entries in Sojournal was to step through the pages sequentially…aaaaall the way back to the start. I know a few of you who did that, and I apologize for never fixing that design oversite for so long.

In the future, I plan to post an import conversion how-to with code and samples. Because I’m pretty damn proud that I was able to identify the need, start the project, plan the solution, and implement the code necessary to finally, for once in my unproductive hobbyist career, finish the damned project. (I have to celebrate my victories, no matter how insignificant they are.)

The upside to using WordPress is that it’s one of the most widely-used blogging engines around, so there’s a ton of support, themes, plugins, widgets, debugging, etc. So the heavy lifting has been done for me already. And that’s intensely liberating, because after years of groveling at the text editor with no less than five journal-engine abortions — “Glyph”, “Raganotes”, “Craftix”, “Ph::Thing”, and most recently “Munde” (the names are more clever than the code) — I can move on with my life and get to posting. Which is why I started this site 9 years ago (I promise you).

The downside? Spambots. Common attack vectors. Well-published vulnerabilities. A treadmill of upgrades to fix problems. Actually, the upgrades are fine, since the pen-testing is done by the developer community instead of me. And the final downside: homogeny…that’s a tough one to overcome. Everyone has a blog; what makes mine so special?

This is my blog.
There are many like it, but this one is mine.
My blog is my best friend. It is my life.
I must author it as I must author my life.
My blog without me is useless. Without my blog, I am useless.
I must write my blog true.
I must shoot the shit straighter than my blogroll who is trying to ping me.
I must bullshit him before he tracks back. I will….
My blog and myself know that what counts in the blogosphere is not the flames we fire,
the noise of our posts, nor the threads we make.
We know it is the blog hits that count. We will hit….
My blog is human, even as I, because it is about my life.
Thus, I will learn it as an author.
I will learn its permalinks, its categories, its tags, its comments,
its pages, and its blogroll.
I will ever use it against the ravages of annoyances and indifference.
I will keep my blog clean and ready, even as I am clean and ready.
We will become part of each other. We will….
Before RSS I swear this feed.
My blog and myself are the defenders of my personality.
We are the writers of our emotions.
We are the presenters of my life.
So be it, until there are no more emos. PEACE.


Jul 12 2006

Projects, Distractions

Haven’t been doing much with the site lately, as you may notice. Got several projects going on, mostly just development work. It’s all hobby, so take it for what it’s worth.

One thing I’m working on / was working on is a simple note tool called Raganotes. It was intended to be a tool to allow me to take quick notes, give them a title, and make them available. It’s a small experiment in pulling together some functional Perl building blocks: CGI::Application, Template Toolkit, Class::DBI, and Apache::Session. It’s a way to get my head wrapped around using these blocks in the assembly of a larger Content Management System for my site, a way of getting experience in doing so, finding methods that work, dipping my feet in the pool. It started from my overriding frustrations in building my CMS, a fast-and-loose attempt at coding something before I lost interest. What resulted was something that was kinda quick, I mean in the grand scale of things the month of building time was quicker than my past years of working on my site. I lost interest a few times, got stumped many, but I got it functional. Just not complete.

I think what I ended up with was something with way too much functionality to it. Instead of letting the user log in, make notes, add titles to them for quick browsing, publish them, search, edit, delete, undelete, copy, etcetera, what I got was a mashup of features that overall seem really cludgy. I had a vision, lost it during development, and then gained a vision that was hazily similar to the original, and now I’m stumped again. It’s mostly a user interface thing. So I’m letting it rest for a while.

My most recent project is my game, Chrontium. I started this back in 2004, some time before AJAX was an internet buzzword. It uses some advanced javascript, images, and realtime communication with a server to provide gameplay for users. At the time, it was fairly groundbreaking, yet I had only shown it to a handful of other people and promptly sat on it for months, years.

I’ve since gotten a new fire for Chrontium, and now, in the past 2 weeks, I’ve polished up the engine, redone the graphics, went from using GIFs to PNGs for true transparency (and much faster rendering in Firefox, et al). I’ve also done some cleaning up and changes elsewhere in the game code, I’ve rearranged the development file tree, and I’ve optimized the stylesheets and code to work in IE and Firefox (others forthcoming). Things are working rather nicely, but there’s rough edges. I also still need to build the server-side stuff, the database end, the user management, the scorekeeping, the game parameter controls, the message boards (which might come later), and all that. If it’s worth a damn, and gets popular after I post it here, I might relegate it to its own domain. We’ll see.

An associate of mine asked me why I didn’t simply use Flash instead of Javascript. My first answer was simple: I hate Flash. Really, I seriously do. My second answer: I want to prove to the internet community at large that Javascript, and the browsers they run in, are coming of age for realtime gaming applications. Anywhere you can use sprite graphics, you can use Javascript and images. I can’t wait until my first public release to see what issues, comments, or praises come my way. Will be interesting to stir a buzz.

But I’m not even finished enough to be concerned about these things. Really. Until then, I have my head down in the work.


Sep 1 2003

Ketchup.

Hey friends. A new entry.

friend: /frend’/ n. 1. a close acquaintance 2. one who has been befriended 3. one who reads Shawn’s journal even though there’s been no journal updates in over two weeks. “Hey friends. A new entry.”

As many of you know, I have fallen off of the wagon and back into the tobacco fields. This doesn’t surprise me, just depresses me. I realize now that I can’t hate the devil and still dance with him. Just doesn’t work like that. :sighs: The next time I quit, I intend to not have a cigarette, period. The crazy, intense dreams are gone. The hacking is back. The urge to be productive, waned. From this three-day-weekend’s round of smoking my throat is now puffy and tender. Perfect. I set myself up for an upper-respiratory thing; feelin’ it, too.

My health concerns aside, I called my family yesterday and got some disturbing news. My mother twisted her upper back pretty severe while at work about a month ago. If not for the cooler in front of her, she would’ve hit the floor. Some preliminary x-rays didn’t reveal any broken backbones, which is a relief. But there still exists the chance that a disc is blown. From what she said, it sounded like a loud pop; even some of her customers heard it. Geez. She’s been scheduled for an MRI later this month. I hope it reveals something repairable.

I also found out she lost her job. Some political b.s. involving a crooked coworker saying something to the owner. I dunno, but that whole bar was crooked. So much for that.

Called my sister, too. She and her family are doing well. Found out she’s been diagnosed with type-2 diabetes. It’s inherited from her father’s side. So she has to count sugar and sodium grams in her diet, measure her blood sugar twice a day, and take an insulin pill once a day. She has also quit smoking, and is sticking with it. I’m proud of her. She says her feet are no longer swollen; the fact that her doctors went overlooking this for so long astounds me — it’s one of the early, major signs of diabetes. Damned fools. But now that she’s watching her diet and taking better care of herself she’s losing weight and, as she says, she’s feeling better than she has in years.

As far as I’m doing, since I started smoking again (now almost back to a pack a day), I’ve been feeling rather cruddy. Especially now. Tsk tsk. (You can save your browbeating comments — I’ve enough of my own.) Stomach’s not as upsettable as it was, though. Thinking watching my own diet (sort of) is contributing to that. Dunno. It still tweaks every now and again, like it did about an hour ago at Mojo’s. Something about sitting for hours at my laptop while sucking on iced tea, peppermints, smoking, and generally not moving can kinda contribute to built-up internal pressure or something. Once I packed up, got up, and moved around by driving home I felt better.

This weekend, though, has allowed me to render several new chunks of code towards my website engine. I’m playing with a thing wherein disparate subobjects in my engine can communicate with one another and run each other’s methods transparently. What this means is that the master object in the engine, called “Kernel”, creates each subobject; when each subobject is created, it “registers” its methods and accessible data with the Kernel, and registers any messages it’ll “listen” to. Later on, during execution, objects can simply ask the Kernel to do something for them, and the Kernel looks up the task, calls the proper subobject to perform it, and then sends the results back to the original subobject that made the request.

Something like this is a huge improvement in the way I’ve been doing things in the engine thus far. By allowing this “proxy” subsystem to exist and by rewriting the current modules so that they use it, I can almost completely unlink the modules from each other; they’re no longer bound to each other, and they don’t have to know every single bit of information necessary about each other to make those calls. In the programming world, this is called “loose coupling.” If they want something, they call someone who knows where it is. Now, if I make a drastic change in how one module interacts with something from the rest of the system, everyone else is shielded from those changes; editing one part should not mean you have to edit everything else.

Pardon the geekout, but this is very exciting to me, and the fact that I was able to hammer out the guts of this in a few nights’ free time makes me feel excellently successful about it.

I think I’ll head over to some bookstore or something and pick up a ton of crossword books for my mother. She needs something to do while she’s laid-up on her back. I’m planning on sending her a care package with some books, a card, and some money to help her out. She’s in financial straits now, and if I was in her shoes, she’d do the same. She has for years, and now it’s my turn to help.


May 11 2003

Well that was plum weird…

I had a good ol’ long session up at Mojo’s today. Spent about 12 hours up there, just a programmin’, lookin’ at the photos I got developed, an’ chattin’ with any of my friends who was just passin’ through. Was a good time. An’ today I actually made a chunk a’ headway in my programmin’ duties.

But anyways, several hours after most a’ my people done left, this woman comes up to me (I got my laptop, see) and she asks me if I got any geeky skills, for you see she’s got some problems with her laptop. I says “Sure” an’ she sits down with me an’ I help her out. Hell, didn’t have much better ta do but play good Samar’tin. Well, after tryin’ ta fix her “com port” thang, which didn’t work out, I move on ta fixin’ her wireless connection. I get that fixed, and she was so ‘preciative. We sat an’ shot the shit fer a while, I intra’duced myself, an’ she was so thankful she asked if I wanted ta go fer a ride, y’know, ta take care a’ me. She was gonna smoke me out! Heh!

Now, don’t get me wrong here, I get stoned maybe once a year er so, but I figgered ta-night jus’ wadn’t the night, so I turned her down. She was cool with that. I was cool with that.

So we kept on chattin’ an’ whatnot, playin’ with her dawg (a well-b’haved nine-year-ol’ rottweiler, I might add), pokin’ ’round on her laptop and such, and then this gal asks me if’n I got a girl! Heh! I says “no, I don’t really,” then I point ta my laptop an’ say, “An’ this is prolly why.” She got a good laugh off’a that. An’ then, a few minutes later, she asks me if’n I’d like for us ta get to know each other better, y’know, non-computer stuff. She pro-po-zishins me! HEH!

Well I tell you what, it ain’t often I get hit on by a 41-year-old woman. Now, don’t get me wrong, she was good lookin’ for a woman her age – thin build, long curly hair, had kinda a Janis Joplin / Hippy thang goin’, but I jus’ wadn’t in the mood I guess, bein’ all shy and such (I figger I’m kinda “passive-agressive” with girls), so I turned her down again. And she was cool with that, and I was cool with that.

She asked me if I hung out there often, an’ I told her “Just about every day” an’ she laughed. Sumphin tells me perhaps that I’ll be seein’ her again. Y’know, I hate ta be the “woman” in this sitiation, playin’ coy like that, but if she comes back ’round, I think I might jus’ take ‘er up on her offers.

An’ lemme tellya, it’s women like that who keep this town cool. Gawdamn do I love this place. God bless Austin.

Y’all stay tuned now, y’hear?