Main

November 28, 2006

Goodbye Vlog, Hello GlennFrazier.com


Okay, inspired by my transferring of the archives from my astronomy blog (ylog.blogspot.com) over to my main site (GlennFrazier.com), I've decided to also import all my Dev Log (VLog) archives over as well.

So this is "officially" the last post done via blogger. No longer will you find Vlog at mac.thefraziers.org/dev/vlog/ but incorporated within the posts at GlennFrazier.com. For backup purposes, the old posts will continue to be available at macsvlog.blogspot.com, but I don't know how long that'll be the case.

--------

July 2, 2002

Note to Self


Note to self

I need to look into this.

--------

Suggestion


Suggestion

It's been awhile since I updated this. Hm.

Well, I've been busy.

For the sake of having something to say, I'll say this:

Someone should make a plugin for BBEdit that uses Blogger's XML-RPC to turn BBEdit into a Blogger client for Macs.

Yeah. That'd be cool.

Hey, just go read my real blog.

--------

June 18, 2002

Ancient Browsers - Who Needs 'Em?


Ancient Browsers - Who needs em?

Well, I've got someone who's having trouble seeing the new version of my site, but they're using AOL 4.0 for Macintosh, of all things. I'd be somewhat inclined to just let it pass, except that this person is my mother!

Okay, I'll help her upgrade when I get the chance, but it got me thinking about how many average people don't ever upgrade their browsers until absolutely forced to.

It also bugs me that I can't track down what the incompatibility issue exactly is. My latest guess (to be tested when she next checks email) is that she's choking on my <?xml namespace.../> or my DOCTYPE declarations. The browser keeps trying to download the site as a file. At first I thought it was choking on receiving PHP files, then I thought it might be the linked in stylesheet; I mean, who knows what AOL 4.0 isn't capable of handling? I certainly don't, off-hand.

Anyway, I sent her to various sub-pages and dummy pages on my various websites, and php extensions and linked css pages offer no problem. For a bit, I suspected that it was a JScript issue, except that (a) that makes no sense, and (b) I haven't changed any of the client scripts since the last version of the site, which she could see fine. Did one of my advertisers do something goofy with one of their scripts?

Nah, that still wouldn't make sense. I think it's got to be something to do with the site being in xhtml. Of course, I've never had problems before with XML-stupid browsers reading XHTML, but who knows.

It's also hard to troubleshoot this sort of thing over the phone, of course. If I get a chance, I'd like to actually sit at her machine and try things from there.

--------

June 11, 2002

Here We Go


Here We Go

Okay, the lessons learned in all my PHP hacking are about to go into an actual launch.

The full-scale portal isn't going up, mind you.

My main blog is getting more and more traffic, and is also getting more and more cumbersome to maintain and, to a degree, to load. There's way too much javascript going on, there. Too much is being handled from the Blogger template. The archives menu keeps breaking (both a javascript and a Blogger problem). Many things (the archive menu, the essays menu, the book promotions, etc.) are getting a bit big.

So I've now got the URL glennfrazier.com set up and ready to receive. This is what I'm going to do:

First, I'm going to build some PHP rotation scripts for banners, buttons, textads, news headlines, and book promotions. These will be very simple. Basically, there will be a directory ("topbanners") for instance, with a bunch of html snippets in it. The script will randomly choose one and shlorp it into the main page. Weighting of the snippets will, for now, be handled merely by duplicating scripts so there are more copies of the ones I want to show up more often. For what I want, this actually makes more sense than a MySQL solution, although in time I'll want to cut over to that. There will be a subdirectory in each dir for holding "non-circulating" snippets for future use.

Then, I'm going to build a PHP page that contains all the nav elements and the rotator scripts and shlorps up the blog postings from html files. This will mean my blogger template will become extremely slimmer, just pushing out the html of the posts and archive posts, and little more. Probably Blogger will publish html snippets to a "posts" directory, from which the main PHP pages will shlorp.

The archive menu I'm not entirely certain about and have to think a little more on. Basically, I want the menu to be mostly static, and get updated only as needed. One thought was to just phpinclude an html snippet that is the menu, and have a seperate phpscript that generates the menu; this generator script will only be called explicitly by me when I see the need to do so (like when a new week of posting begins).

The main PHP page will involve some changes to the layout, include a top nav system, throw some other static bits, and generally make using the site a little easier while at the same time increasing the behavior I want from users (hopefully).

Having done all this, I'll then test the mother out of it. (Each step also includes unit testing, but the next step is a doozy, in a sense, and shouldn't be leapt into until everything preceding it is working just right.)

Then, I'll cut my main blog預s far as Blogger is concerned熔ver to glennfrazier.com. Test the snot out of it again.

If all is good, I then do some fancy-dancy .htaccess RewriteEngine magic over at mac.thefraziers.org so old links to my site and to specific old blog posts will be gracefully handed over to the appropriate places under the new URL.

If all goes well, I'll then begin phasing in additional items.

For instance, launch one of glennfrazier.com will add menu items for Home & Contact and move some of the other junk around. Launch two will add in menu items for FAQ, Links, Archives, Tips, Swag, and "Copyright & Disclaimer". In third and later launches I'll bring in nav links for items that will take some effort to build in themselves, such as RSS, Deadpool, Forum, and Subscribe. Also in these 3G+ launches (or maybe sooner) I'll be replacing the pollhost.com poll (it throws occasional popunders, which I despise) with a php doohickey, as an interim step toward creating my International Deadpool (a fun concept that I'm excited about but not quite ready to code). During the 3G+ launches I'll also be making major mods to the Swag section. In the 2G launch, this will just be a page of Amazon Assoc. items傭asically a bookstore to make up for the fact that I'll only have one book on the main page at a time, now. Later on I'll be incorporating a book store, a news stand, a swag shop (fun CafePress.com tchochkies (sp?) and possibly some ebay-related stuff.

There are other plans, but rather than write them down, I'll just get going on what I know for certain needs to be done.

--------

May 21, 2002

Less Free Time


Less Free Time

Who woulda thought it?

Some progress has been made on this silly project, but not as much as I expected a month ago.

My coding efforts have been temporarily diverted elsewhere, but I'll be back on this project soon.

--------

April 11, 2002

More Free Time? Hah!


More free time? Hah.

I'm leaving the company I founded. I'm not disengaging entirely, but I will no longer be a full-time salaried employee, there. Theoretically, such a move would give me the time to finish out the initial release of this experimental site. Not likely.

--------

Server Problems


Server Problems

A porked nameserver took us down for a good bit of today. Everything should be working, now. (Of course, if you're reading this, that should be apparrent.)

My host, Eryxma, has been otherwise very, very good, by the way. Check them out if you're in the market for a hosting service.

--------

March 25, 2002

Seeing the Light at the End of the Tunnel


Seeing the Light at the End of the Tunnel

This weekend I managed to finish off some major work on PHP functions that will be used throughout the system. I've only implemented them fully within the Front Page, but it shouldn't be too much trouble to build out the rest of the pages.

For a sneaky peak at the prototype, go to mac.thefraziers.org/index3.php. Eventually this link will not work, but for now it's there for testing purposes. Keep in mind that this is not a design preview, but a structure preview.

Note that most of the content is dummy data, but the News section (and its corresponding subesets of the Sources and Subjects menus) is being pulled from real live RSS feeds.

--------

March 20, 2002

Chugging Along


Chugging along.

Made a lot of progress this weekend, but it's always two steps forward, one step to the side.

Multicolumn flow of the main text has officially been abandoned. It didn't really make enough sense to implement, given the hair-pulling challenges involved in working around the various "float" bugs found in css browsers.

Note: PHP is not an OOP language, by any stretch. Sure, it has support for OOD, with classes and all, but it doesn't really lend itself well to that sort of approach in any rigorous sort of way.

Current issue: I want to list in sidenavs the "current" sources and subjects of article headlines showing up on the main portal pages. The trick is, my original design called for them to display in reverse chrono order. I.e., the subject of the most recently posted article, of any type, would be at the top of the "current subjects" nav, and so on. Of course, duplicate subjects should not be displayed. I've just managed to work out how to accomplish this, but I'm a bit concerned about performance. For such a small feature, the code and database calls required to implement it seem excessive, even with the pseudo-dynamic publishing approach I'm taking. Now I'm starting to wonder why this feature needs to behave the way I originally designed it.

The problem is, I almost abandoned this approach during the design phase, but then ended up deciding that it really was necessary for a not-so-obvious reason. I made no note anywhere of that tricky reason, though, and I can't recall it right now. <*sigh*>

--------

March 12, 2002

Always Changes


Always changes.

Some careful analysis of how pulling RSS feeds into different sub-pages revealed a flaw in my thinking. I've gone back and fine-tuned my data tables, plus altered the specs for the different presentation views and now things are much more streamlined.

As a result of rescrutinizing everything built up to this point, I'm very close to abandoning the multi-columned approach to the various headline portal pages. It would save me from having to write alternative stylesheets for those supposedly advanced browsers that break when you try to "float" something in a semi-complex way. Depending on what else transpires this week, I hope to have the changes complete one of these next several nights and hopefully by the weekend all of the templates for every presentation view will be complete, if not their underlying data abstraction functions.

--------

March 6, 2002

RSS Imports


I've got RSS imports working.

I've written an XSL stylesheet that transforms RSS files (versions 0.9, 0.91, 0.92 and 1.0) into XHTML fragments. A PHP script processess the XSL Transformation and echos out the fragments to the appropriate part of the front page.

Next on the list is building the Article pages, and then the Author's admin screens.

--------

March 1, 2002

Rethinking My Architecture


As always, I'm rethinking my architecture.

Now that the wife and kids are all in bed, I've finally had some real time to go over what I've accomplished in the last two weeks and map out my next steps. The very next step is to get the RSS import functions working on the home page.

Here's the thing: I intend to export RSS feeds of all my content channels, and (as already mentioned) I'm going to be importing RSS from elsewhere; so the begged question is, "Why not just import my own feeds when building the homepage?"

Yeah, that would imply all the code I wrote over the last week in my spare time (hah!) was purposeless.

Actually, most of it is entirely reusable; it can just be swapped around so that it becomes my core RSS export algorithm.

You know, I went round this circle a hundred times when planning, so it irks me that I'm going around again. Something just seems wrong about exporting RSS documents from my SQL database, only to just slurp them back up again to post on my own site.

But what's the alternative?

Well, the path I'm going now will require me to publish twice, as it were, every time new content is added. Once to the xhtml on the site, once to the rss files left behind for content subscribers to pick up. Is that better than publishing once and then using the published rss materials as sources for my own homepage?

Actually, the rss generation is not necessarily synched with the xhtml generation. The plan for publishing, right now, is to ignore messing with cron schedules, and instead just publish the xhtml on the site when an author/editor commands it. The publishing model will actually generate static pages from the dynamic output of the php and database. When a new article is added, it can be previewed via the "live" php pages connected to the db, and when it looks good, the author just hits "publish", and the php will splurt out static xhtml that gets served on demand in end-users browsers.

The rss, on the other hand, is (was?) only going to be generated as requested by outside agents. I.e., there is no "rss file" sitting on the server, waiting to be picked up, getting regenerated every hour/day/week/whatever. Instead, when an agent requests the rss feed, a php script will dynamically generate one on the fly, using whatever the then-latest content is, as needed.

Hrm. Well, none of this changes the need to bring in rss/rdf/xml data from outside syndicates. I'll just bang that out and then revisit this internal problem afterwords.

Aside: BBEdit rocks. It's been a very long time since I've used it. I've got the 6.5 Demo running right now; it's much better than the 5.0 version I used back in the day.

Opera also rocks. And Netscape is back on track.

I used to be a major Netscape fan. I'm by nature irrationally anti-Microsoft, and since I got on board with web development within days of Mosaic being launched, I've got a soft spot in my heart for it's first child.

Still, Microsoft's no-need-to-think interoperability is nice. And the ubiquitousness of their "standards" makes many things easier. And ASP was a great development. And MSWord finally replaced WordPerfect on my desktop due to a couple of specific features. And Exchange convinced me I wanted Outlook in all its bloated glory at work, and thus my work pc became a windows machine. And when I was writing Java, the Explorer kicked Navigator's bee-hind when it came to conforming with the "standards".

And suddenly I'm a MS fan. My company is a Certified Gold Partner development company. (Not that we do only MS work, but the majority of our programming rev comes from clients that are distinctly MS-based.)

And then IE on the Mac, touted as one of the first "fully compliant" CSS1-savvy browsers, failed me. Right here, just in the last week or so. IE 5.1 Mac is rated around 98% CSS1 compliant. It's that final 2% that has me pulling my hair out. Their "float" selector is buggy as all getout.

And then, for testing purposes, I loaded a bunch of "forrun" browsers on my G4 at home, and on my Win2k machine at woik. And I spec'd out the conformance matrices for Navigator 6 and various vers. of Opera wrt CSS1. And you know what? I'm about to abandon Explorer as my browser of choice.

For now, at any rate.

EXCEPT THIS ONE PAIN IN THE REAR THING THAT IS HAPPENING RIGHT NOW!!! I'm in Navigator 6 on my Mac right now, typing away into the Blogger window (which I hope soon to replace), and I reach for my mouse, wander up to the top-right corner of the screen, hit "Post"...

...No, wait a minute - I don't hit post. THE BUTTON ISN'T THERE! Weird. I guess I'll just copy this longwinded post to the clipboard, fire up Explorer (or, actually, Opera, cause I'm perverse), and paste it in there.

<*shurrrp*>

[..........]

<*THPBLAT*>

Okay, I just pasted it into the Blogger window on Opera. It looks kinda funky, but there's a "post" button, so I guess it'll work.

Until next time....

--------

Focusing on Importing RSS


This weekend, I'll be focusing on importing RSS feeds.

I've already got Headlines and Summaries of local Opinion, Blog, and Review articles showing up dynamically on the "front page", along with dynamic lists of recent Authors and Subjects. Once I have Headlines and Summaries of items linked out to RSS providors, I'll have the main portal all spiffed up.

I still need to go back and clean up some of the code, though. There's a lot of repetitive crap that should be folded into more user-defined functions.

Oh, and my front page validates as XHTML 1.0, and the stylesheet validates as CSS1 - no errors, no warnings.

What goofball, by the way, took the "target" attribute out of "a href"s??

--------

The Interface Is Nailed Down


Okay, the interface is nailed down pretty well. I'm not set on colors and such, but the layout and logical ordering is fine.

Of course, I am frustrated with the mixed support for CSS1, which is, after all, a six-year-old recommendation! Navigator 6, Opera 5, and Explorer 5.5 (Windows) are all pretty good, at this point. Unfortunately, Explorer 5.1 (Macintosh), while overall one of the most compliant browsers, still has a really nasty float{} bug that totally destroys any attempt at floating columns of text in any but the most simple layout. I may just offer an alternative stylesheet or two, but for now I'm done with that side of the development until I get the data flowing better.

Which, by the way, is going nicely. I've got PHP talking to MySQL, pulling headlines and summaries into a nice webzine blurblike page, building nav lists of recent authors and subjects, etc., etc., etc.

Still to do:
RSS import;
RSS export;
Publishing static pages;
Session management;
Discussion boards;
Author's input screens;
Other stuff.

Yeah, there's a way to go. But I've spent a long time developing a strategy, architecture, framework and design schema for everything, so things are now moving along without much in the way of speedbumps.

--------

February 26, 2002

Experimenting on the Front End


Okay, in spare moments between dealing with toddlers, newborns, and the house they like to trash, I did a lot of experimenting on the front end.

I tried to develop a table-less layout, relying solely on CSS to get things where and how I want them. Argh.

Right now I'm experimenting with a mixed TABLE/CSS solution. I have justified it (for myself, anyway) by limiting table usage to distinguishing those major elements that are logically distinct from one another. In other words, I have a very simple table:



tr: [td3: MAIN NAVIGATION ]
tr: [td: AUTHORS INDEX ] [td: CONTENT BODY ] [td: SUBJECT INDEX ]




Everything else is specified via CSS, including, obviously, font and color information, plus multi-column layout stuff in the CONTENT BODY cell.

Unfortunately, using FLOAT to execute the multi-column body is not working out as expected. I'll keep plugging away at it, though.

--------

February 20, 2002

Layout


Meanwhile, I did some thinking last night about layout, and I pulled together a fairly solid data model (I believe).

The site will (eventually) have the following main content Types:
News
Opinions
Reviews
People
Explanations
Talk

Each of these will cover multiple Subjects.

There will be multiple sources, including both contributing Authors and syndicated feeds.

It will be principally Date based.

[Yeah, it's basically four-dimensional. But the navigation works! Trust me!]

I've laid out a nice basic ezine front page, plus similar Type index pages. I've also done some preliminary layout for the main article/review pages. I was principally inspired by National Review Online and BBC News. Though a number of open source CMS/Portal frameworks also had a noticeable influence.

I'm about ready to code.

--------

IT'S A GIRL!


IT'S A GIRL!

See my main blog for details.

--------

February 19, 2002

IT'S A GIRL!


IT'S A GIRL!

My new daughter and my wife are both doing fine. The baby was born some time after 4:30p today - after we woke up to go to the hospital at 4.30a. 8lbs. 5 oz. Good ap-garr (or whatever) scores. Cute kid. More noseless than usual.

You know, it never gets old.

(For some reason, posting to Mac's Temporary Blog isn't working. Hrm.)

--------

February 17, 2002

Things Have Changed Again


Of course, things have changed again. This is why we do long planning and design phases.

Especially, my original idea of storing everything as XML has evolved and may now be out entirely. I'm coming to agree with those who see XML as principally useful as a data transport format that is kinda stinky as a storage format.

--------

February 12, 2002

I Have Things Straight


Okay. So last night I couldn't sleep, and I got to thinking. I think I have things straight in my mind, now.

Some brainstorming produced the following lists:

Content Sources
Me
Syndicates
Special Guests
Other Websites
Affiliates

Technologies
Linux
Apache
mySQL
PHP
XML

Features
Opinions
Reviews
News
Links
Updates

Interface Items
Navigation
Archives
Search
Home
Inline

Miscellanea
Advertising
RSS
Commerce
Email
Rings

Furthermore, the planning I did following this brainstorming made the structure, purpose and behavior of the site much clearer in my mind. I came to a conclusion: This is not (at least for now) a "community portal". Almost all of the CMSs I looked at were geared toward community sites, and thus are not appropriate.

I've fooled around with some data models, and I know where I'm going and that I'm building most of it myself.

--------

February 11, 2002

My Head's Spinning


My head's spinning.

I'm experiencing scope bloat - no, scope explosion - and I've only just begun.

I did a nice little set of use cases and data flow diagrams that made things oh so simple. Then I started hunting around for examples of the various technologies and techniques I would need to build thefraziers.org. My initial thought was to create a site that included:

1.) Blog-style rants, opinions, articles and updates, of personal, philosophical, political and special-hobby-related natures;
2.) Product reviews, focusing on software, books and websites;
3.) Outside content via RSS and other syndication technologies, drawn from news, opinion and blog sites;
4.) It's own syndication method for sharing content with other websites.

I envisioned starting with a Blogger-run site that would incrementally transform into something more and more customized and "mine". It would sit on a Linux/Apache/mySQL/PHP/XML foundation, eventually.

Then trouble walked in.

I guess it started when I began looking at the limitations of Blogger. I came quickly to the conclusion that I would have to replace Blogger. My initial instinct was to eventually write my own CMS, bit-by-bit replacing packaged solutions with home-grown ones, and at some point I'd have to write code to replace Blogger as an entry tool. Problem was, though, Blogger was already so restrictive (note: I love Blogger nonetheless, and heartily reccommend it to others who are interested in tinkering in autojournalism) that it appeared I'd have to ditch it almost immediately.

When I sat down to look at writting a replacement module for Blogger, I stopped myself and said, "Maybe I should check out already-existing Blogger alternatives that I can install and tweak on my own site." Such an alternative would have to be PHP-based, live off of mySQL, be fairly stable, and not cost me any money.

Well, after browsing and searching around, my head began to spin and I lost focus. Things I looked at included: PHPNuke, Post-Nuke, Geeklog, Personal Weblog, b2, Pivot-log, More Like This, drupal, monaural jerk, MKDoc, movabletype, Greymatter, and others. Many of them did not fit my criteria, but almost got me to change my criteria. Some of them are huge CMSs in themselves.

Isn't writing my own CMS an insane and masochistic project, considering I only started messing with PHP in the last few months and haven't written ASP (or any other code) in more than two years?

Shouldn't I just plop something like Post-Nuke on the server, customize it, and then just focus on content?

Or is the whole point of this exercise to have fun writing code? Isn't that why I mapped out an incremental install-packages-then-replace-with-custom-code development schedule?

Do I really want the hassle of tweaking a huge mass of interdependant code that I did not originally develop myself? Inevitably any drop-in CMS will handle things just-so-very-slightly not-the-way-I-want/need-it, and then I'll be asking these questions all over again, won't I?

Is mySQL really right for me? What about postgres??

Are my scoffings at Perl ignorant? Or are they ignorant and correct?

XSL, CSS, custom PHP - my head kept circling uselessly around multiple approaches to the same basic abstraction problem. Was I throwing in a technology or technique somewhere just for its own sake?

Ditto for SQL and XML.

And so it goes...

--------

February 10, 2002

Technologies


The technologies I'm playing with here are:

1.) XML (including XLS and RSS);
2.) PHP (version 4.1.1);
3.) SQL (mySQL, to be specific);
4.) CSS;
5.) XHTML;
6.) Blogger (at least to start with).

--------

Welcome to Vlog!


Welcome to Vlog!

This is a dev log tracking the construction of mac.thefraziers.org. This is a site I'm building to house all my random babblings and commentary. More importantly (as far as this blog is concerned), it is an excuse to fool around with different technologies, especially php, sql, and xml.

--------