Hi there. My name is Dean Gardner and I'm a web developer. I work with HTML/XHTML, CSS, PHP/mySQL, and Apache; I write in Notepad and am a big fan of Standards Compliance. This site's purpose is to give me a place to experiment with web skills and to express myself creatively through writing and design. It contains things of general interest: a journal, quotes, webtricks, and possibly recipes (if I ever add them); and it contains things geared towards web development: code samples, tutorials, and resources — you might say it has a little something for everybody. Take a look around and let me know what you think. (This design is version 7: it's written in XHTML, CSS, and PHP.)
Deep Thoughts
A Real Website
Friday, 21 Nov, 2003
Yesterday I tweaked about 15 files to make the main part of the site compatible with version 7. For each page I had to make 7 to 12 minor changes. I also put some thought into the naming scheme being used for classes, ids, and variables. The process got me thinking it's probably a good idea to change how the site's files and directories are organized.
Up till now the main site has always been in a directory named '/dean/', and internal links have been relative to that directory. That's different from the traditional structure in which the main site is under the main domain.com, content is in subdirectories, and internal links are written as a full path from the domain rather than relative to the current directory.
I haven't used the second approach yet because I've had several site designs under the same domain and each design needed to be self-contained. The way to do that is either put each site in a subdomain (www.d9r.com, v1.d9r.com, v2.d9r.com) or in it's own directory (d9r.com/dean/, d9r.com/v1/, d9r.com/v2/). The hosting account I had didn't permit subdomains so I took the directory route.
Now, however, I have additional hosting which provides unlimited subdomains. There's a whole new world of possibilities available to me (I like the sound of that), and the more I think about it the more convinced I am that the approach to take is obvious. I'm going to put D9r.com in its own hosting account and the main site under the domain (and archived versions under subdomains). This will allow internal links to be written as a full path from the domain; and what's cool about this is I'll be able to organize the site content into directories - a standard practice which I couldn't really do before. In essence, my site will resemble a real website now. ;-)
- d9r.com/ - index
- d9r.com/weblog/ - page1, page2, page3
- d9r.com/webtricks/ - page1, page2, page3
- d9r.com/tutorials/ - page1, page2, page3
- d9r.com/forum/ - page1, page2, page3
- d9r.com/quotes/ - page1, page2, page3
- d9r.com/recipes/ - page1, page2, page3
- d9r.com/links/ - index
- d9r.com/about/ - dean, d9r.com, archives, faq, resumé, copyright
- d9r.com/contact/ - index
Plans for Version 7
Sunday, 16 November, 2003
At first glance D9r.com's version 7 looks almost identical to version 6, but there will be significant changes. I only work on this site part-time (I'm lucky if I can get in a couple hours once a week), so this weblog entry is partly a reminder to myself as well as an excuse to talk to you (whoever it is that 'you' are).
Plans for Version 7:
- set up style-switcher
- That's completed. It may need some tweaking but it can be considered done for now.
- make markup (xhtml) generic
- That's almost complete for the index page but nothing's been done for any other page on the site. I still need to decide on what convention (protocol?) to use. The goal here is to write the markup so that it will "never" need to be modified ever again, and any changes in presentation are made via the stylesheet only.
- make css clean
- That's coming along pretty good but I'm sure there's room for improvement.
- transfer content from version 6
- Once I've decided how to make the markup generic it will be time to move the content over from version 6 and make version 7 the default site.
- add more content overall
- There's always more content to add. Some weblogs, some quotes, a couple webtricks, recipes, lots of tutorials, and of course lots of new links.
- write some more tutorials
- I have ideas for about a dozen new tutorials I'd like to write. It's fairly time-intensive to do those because a lot of thought goes into an attempt to write them well. Most of my time these days goes into teaching myself and once I learn something it almost feels like a waste of time to write a 'how-to'. But it's true that one can learn by teaching, and of course it's nice to help others along the way. (I received a thank-you email recently for the Content Negotiation tutorial which I really appreciated.)
- write some new css designs
- I need to come up with some design ideas, study other designs, figure how to write them using CSS, and add more design choices to this site. At least a couple anyway.
- add a js rollover to the nav menu
- Version 6 used a CSS span tag display:hidden effect (something like that) to simulate a JavaScript rollover thingy. It's pretty cool doing that with CSS but it didn't coordinate well with the style-switcher so I removed it. I'd like to recreate the effect with JavaScript, and also make the menu show pull-down menus (whatever they're called). Not sure how that will work with multiple designs, but I'd like to play around with it some and see what can be done.
- add a php email form and js email scrambler
- Funny, I still haven't set up a PHP email form yet. I did that with CGI/Perl 2 years ago I believe on ettoi.com. CGI isn't the easiest thing to work with - it should be a non-event to set up a PHP version.
- write a simple php threaded discussion thing
- Now that will be an 'event'. I started doing that a few months ago by following the tutorial at webmonkey.com. I got as far as setting up a simple database with mySQL and was able to get the list of users and their info to display on a webpage. It was fun and exciting - my first time with mySQL (or any database for that matter).
- do thau's js tutorials
- "Some day I'm going to learn JavaScript." Been saying that for 3 years. Some day I will ;-)
(and while I'm at it)
Plans for Learning Web Development Skills:
- study eric meyer's stuff
- I believe he's one of the best teachers available for learning how to write clean markup and css.
- study css zen garden's stuff
- This is a good place to learn more about designing with css and separating structure from presentation.
- read the html, xhtml, css manual at W3C
- There's nothing like reading the infamous manual. I've read a lot of it but some day if I make the time I'd like to immerse myself in W3C's site and study the documentation for HTML, XHTML, and CSS from start to finish.
- study cgi101.com and learn basic Perl
- This is a great primer for learning Perl/CGI basics.
- do thau's JS tutorials
- Some day I'm going to learn JavaScript.
- do php tutorials (maybe webmonkey's)
- PHP too.
- get a graphics program and learn it
- Paint Shop Pro, or Macromedia's.
- study graphic design
- Learn traditional graphic design concepts although they don't always apply to web design.
- study webdesign at webstyle(yale)
- Yale's style guide.
- collect and study sample sites
- I like learning by example.
- set up webdesign business site
- Another site design and more text to compose.
- actively market myself as a webdesigner
- I used to do direct sales so I know how to prospect and market myself. Just need to set aside the time and do it.
- study programming concepts
- Learn how to program. Patterns and such.
- learn C# and .NET
- This is probably a bit farther down the road. It sounds like a good area to specialize in.
Domains and Hosting and Hardware — Oh My!
Monday, 10 November, 2003
Lately I've been focusing a little more than I'd like on the logistics of web design rather than the fun stuff: First, I've put a lot of thought into coming up with a name for my new web design business. You wouldn't believe how many names I came up with and then checked for availability just to find they were already taken — 20 to 30 easily. Finally I did manage to think of one which seems pretty good and was actually available, but I'm holding off for a little while longer before making it public.
Second, I've been fiddling around with a reseller hosting account. The server had some trouble back in August (actually, I think the entire internet had difficulty in August — there were some sort of hacking attacks going on and many servers were inaccessible) so I transferred my clients over to a supposedly better, high-end server. That was complete in early September. About a week later I was informed that the "new" server would be shut down soon (within a month), and all accounts would have to be transferred again. Oh, such fun. There's no need to get into a rant about that here, but suffice it to say there were some mysteries to solve in the process and now the transfer is complete (and I believe it was worth it because the newest configuration offers more features for playing with). So now I can stop thinking about hosting at least for a little while. It's good experience though, so hey, I'm not complaining.
Third, I need a new computer so I've been shopping around to see what's available and deciding what I "need". Low price is a top priority so at first I was considering one of the $400-500 models from Gateway or Dell. Then I heard I could build one from scratch with much better specifications and for the same $500. But after looking into that it seems I'd really end up spending about $800 (getting all top-of-the-line components) and of course it would take time to build it too. Now I'm leaning towards getting a notebook from Gateway for $800 — it's the same price as a custom job, the no-assembly-required feature is a big plus, and the portability would be really useful. So that's my decision and I'm planning to buy it by the end of the month.
With domain name issues, hosting logistics, and shopping for hardware out of the way I'm now planning to enter into a phase of Perl/CGI programming for the next week or two. That's the 'fun stuff' I alluded to earlier. There's a CMS (Content Management System) thingy I started working on back in the summer and I'm redesigning it into a generic structure so that one CGI will be used for editing any of several webpages (rather than using a unique CGI for each page which is how it was designed when I inherited it) — basic programming architecture I know but I'm still a programming newbee. It will be good to get back into programming mode for a while and I'm looking forward to it.
Version 7 Begins
Saturday, 26 July, 2003
In keeping with tradition it's the 26th of the month and time for another update. I have indeed begun work on that style-switcher thing I talked about earlier. The first step was to rewrite the (xhtml) Markup with a slightly different structure. I've done that for the basic layout but still need to go through and make changes on each content page. The second step will be to tweak each of the 6 stylesheets. It could be several months before the entire process is complete because we're talking about 40-60 pages here.
One of the stylesheets is mine — Classic (more to come later); the other four are written by Eric Meyer. I generally make a point not to copy-and-paste other people's work but in this case I'm making an exception in order to learn how Eric writes his CSS. He's written several books on CSS and is considered an expert on the subject, so who better to learn from? I plan to "take apart" his stylesheets rule by rule, get my site to work with them, and assimilate his knowledge in the process. (Prepare to be assimilated ;-)
Transition Time
Thursday, 26 June, 2003
The site is starting to have content now, or at least it gives the illusion of having content. Just about every link in the menu goes to a page with something on it other than "coming soon." With that done I'll be going back to clean up the XHTML and CSS to make the behind-the-scenes part look good too, so if you're one of those people who likes to view the source code, don't give me a hard time, OK? OK. :-)
Listen. Do you hear that? A rumbling, stampede-like sound? It's the sound of millions of people all over the world scrambling to add a Style-Switcher to their site. I must confess I'll be one of them — Eric Meyer released his new site design recently with about 8 stylesheets to choose from and the effect is pretty cool. CSSZenGarden also has a style-switcher. (Of course, W3C has had one (or something similar) in their 'Core Styles Suite' for several years now, but few seemed to notice. It took a celebrity like Eric to make it mainstream — that and browser support for CSS.)
I'm excited about adding a style-switcher to this site because it offers a way to write multiple designs and then let the user (you) select which one he prefers to view the site with. It adds variety and interest for you, it allows me to experiment with site design in general without redoing the layout, and I just get a kick out of working with CSS (it's fun!). I'll see if I can put together something like that by the end of July.
Bluebirds
Monday, 26 May, 2003
The long-awaited Links page is done (finally!). That makes a total of 6 sections which are complete: Home, WebLog, Links, Archives, About, and Contact. Next on the list is WebTricks. It will be a while before the entire site is officially complete (by their nature websites are never "complete" anyway — they're constantly being revised) because I'm spending more of my free time gardening, working around the house, and working in general.
It's spring here in Atlanta, Georgia, and it's really nice to be outside after an unusually cold winter. This year for the first time I noticed we have a family of bluebirds that congregate between our house and the neighbor's: the parents fly down, catch a worm or some other appropiate bug, and then feed it to their babies. Their brilliant BLUE color makes them fun to watch and they also have a pleasant song to listen to. Here are a couple sites I found in case you're interested: The North American Bluebird Society, The Bluebird Box.
Valid XHTML
Saturday, 3 May, 2003
It validates!
Pretty cool; it's sort of like getting a gold star or a seal of approval. And it was fun — I learned about the sometimes controversial distinctions between alt and title, that id is widely supported (which means I'll be using name in forms, and id everywhere else), and how to use JavaScript to make external links open in a new window (which really isn't necessary except to get the page to validate for XHTML 1.0 strict, because browsers already support <target>, and XHTML 2.0 Strict will support it; but hey, it's the principal of the thing :-). Along the way I discovered an excellent tutorial site (SitePoint.com) and 2 weblog sites (bdhamilton.com and SarahHepola.com).
Moving Into The Big League
Friday, 25 April, 2003
I've decided to start writing for XHTML 1.0 Strict. Up until now I've been writing for HTML 4.01 Transitional, and I was thinking maybe I should convert over to XHTML 1.0 Transitional; but then I thought, "Why take another half-step? Why not just go all out and take the plunge and code for the new standard?" So I will. I know CSS well enough that I can separate style from structure; and I'm pretty sure it should be relatively hassle-free to get it to validate. (I hope — we'll see.) So this version will be written in XHTML 1.0 as well as using CSS and PHP.