SQL is officially pronounced “S-Q-L” but I still prefer “Sequel”. The reason? 2 syllables versus 3 syllables. It is just quicker and easier to say “Sequel” than it is to verbally spell out “S-Q-L”. Plus, I think it makes conversations about SQL flow a little better.
Font Rendering Differences Between Apple And Microsoft
With the launch of Apple’s Safari browser for Windows (in Beta) yesterday, besides all the bug issues, Jeff Atwood at Coding Horror (a blog that I read often via RSS) has pointed out some issues with how Microsoft and Apple render fonts differently. Microsoft (via ClearType) renders fonts smooth but crisp. Apple renders fonts smooth but not so crisp. Some say it’s blurry, but within OSX, it seems to fit well.
Anyway, the reason why these two render the fonts the way they do has already been discussed to death so I won’t go into that. Ultimately though, it helped me to understand something about myself when it comes to Web Design that I always thought was kind of odd…
For some reason, I’ve always had an easier time doing graphic design on my Mac but writing code has always been easier on a PC. Even though Photoshop is almost exactly the same on Microsoft’s Windows and Apple’s OSX operating systems, I’m more inspired and can knock out graphics quicker on the Mac. Even though Dreamweaver is pretty much the same on both, I can knock out code quicker on the PC. I’ve always suspected it was the way the fonts displayed on the different operating systems, but after reading up on why they two render fonts the way they do, now I’m certain that is definitely the reason.
Now that Macs can run Windows as well as OSX, I’m planning to go back to just using Macs, although my G4 won’t do it since it has to be an Intel-based Mac so I have to buy a new one. This is mostly because I’m just tired of having to reinstall Windows on my computers every couple of years and all the other problems I’ve had with Windows and PC hardware. I’ve never felt like I needed to reinstall OSX on my Macs ever and I’ve hardly had any hardware issues.
Anyway, does anyone know if Boot Camp or Parallels render screen fonts the Mac way when you’re running Windows or does it keep it the Windows way? I’m going to have to find that out before I go back to the Macs. I use Visual Studio 2005 these days but I guess if Boot Camp or Parallels render the fonts in Windows apps the Apple way, then I may have to rethink that plan.
Going Back to Mac
After spending some of my time last weekend and two full nights this past week trying to make Windows XP functional on a friend’s computer, I’ve decided that I’m definitely going back to using Macs. Ok, that’s not the only reason but it was the final straw.
My Windows Problems
In the past year, I’ve had to re-install XP on my brother’s computer twice. Once, his hard-drive died (not XP’s fault) and another time because a virus messed his computer up. I just re-installed XP on a friend’s computer because a virus and spyware made it completely unusable. I had to re-install XP on one of my computers because it had gotten slow, bloated and was crashing too much.
Luckily, I was able to save most of the important data from each computer each time so it wasn’t as bad as it could’ve been, but it’s more than I’ve ever had to do with any Mac I’ve owned ever! I’ve never had to re-install the OS. Not once. Plus, the only time a Mac ever felt slow and bloated was when it had finally lived past it lifetime.
My Mac History
The first Apple computer I ever used was in elementary school (maybe 5th grade) and it was an Apple IIe, I think. All through the rest of school and even early college, Mac was the only option.
I bought my first Mac in ‘96 or maybe ‘97 and it was a Beige G3 233mhz. Then around ‘02, I was doing more print design (huge files) and Photoshop seemed slow so I talked myself into getting a G4 867mhz. I also wanted OSX. Anyway, I still use my G4 to this day and it works great.
My Move To PC
In 2000, I got a job as an ASP developer and a Windows PC was the only option there, unless you were a graphics person in the marketing department. So, I became a PC user during the day and a Mac user at night. For some odd reason, I’ve always found graphic design easier on a Mac and programming easier on a PC. Eventually, though, with ASP.NET I wanted to be able to program locally so I bought a Desktop PC. Later, as I starting taking classes again, I got a Laptop PC. My PCs have been ok, but I’ve definitely had more problems with them than my Macs.
What About Now?
From now on I’m going to go back to buying Macs. I’ve briefly touched on why but there are many more reasons going into that decision. Of course, I’ll still need to run Windows while programming but with move to Intel, I can do that now on a Mac. That’s actually one of the bigger reasons why I’m going back. Now I just have to resist buying a new computer now because I don’t really need another right now. My G4 and two PCs should still be ok for a while longer. It’s very tempting though!
The Hell is Over!
After a few months of programming day and night, my work project finally went live last Friday. I spent most of this week fixing bugs, but luckily, most of the bugs were fairly minor.
The Details
The idea behind this redesign was to start over from scratch and rebuild everything. Our old database that was originally setup about five years ago was getting to be pretty messy. It had been through two redesigns and with each set of improvements, it became more and more cluttered. With this redesign, I decided it was going to be better to start over from scratch and for us to convert and migrate as much data as possible.
So, for this redesign, I not only created a new database, but also built a complete administration site so others in the company could manage the content. After that was started, I build the entire front-end site. Needless to say, it was a huge undertaking. Of course, I didn’t build the entire thing by myself or anything, but I did the vast majority of it, database, back-end and front-end. The one part I didn’t create was the visual aspects. Marketing oversaw that part; I just put it over my code.
The Focus
The focus on this redesign was to make the site much easier for user to find what they are looking for. In the past, we always focused on our product lines, but realized that the average user has no idea what the differences are between the product lines. This time around, we focused on more generic terms like Home Audio that breaks down to Home Theater Systems, Speakers, etc. At the bottom level is where you finally see the product lines. We also used to have a focus on News-type items, but realized that over 80% of our traffic was directly to the product sections and most visitors didn’t care about the News items. So, we made products the main focus with News and other things as secondary options.
Another focus was to make the site more search-engine friendly. We used url-rewriting to make the urls easier to read for humans and to hopefully get the search engines to rank our pages a little higher. The urls match the page titles and the titles on the page which they supposedly like.
So, How Did It Turn Out?
Overall, I’m very happy with how the site turned out. It’s faster than I ever thought it would be. The code is clean and very easy to work with now. Plus, I learned so much planning and building this site. I’ll post some of the cooler things I learned soon. Now it’s time for me to take some time off because I am so burnt out right now.
Oh yeah, the url: Klipsch
Made In Express?
A while back, I saw a post on Digg about the finalists being picked for a contest Microsoft was having where developers built projects using on of the Visual Studio Express products and/or SQL Express called Made In Express. The contest site is a pretty nice looking site, but what surprised me was that it was created using ASP, meaning it was not actually “Made In Express” like the finalists projects were.
Eating Your Own Dog Food
Obviously, the purpose of this contest is to show developers some of the cool things you can create using the free Visual Studio Express software, so I’m amazed that Microsoft missed a great opportunity to show that it eats its own dog food. I guess to be fair, ASP is a Microsoft product, but it is more like they are eating their own old and stale dog food. After all, the Express software is all about .NET and should have been created in Visual Web Developer.
I know that Robert Scoble has written a few times about Microsoft “eating the dogfood” (see this post from last week) so I’m sure he would disapprove as well. They do have an RSS feed on the site though, which is almost redeeming, but not quite.
Made In Something Other Than Express
I’ll never use an Express product now because of this hypocrisy! Ok, just kidding. I do actually use Visual Web Developer every day at work and even most nights and weekends when I’m not at work and I love it. I was just a little disappointed the site wasn’t “Made In Express” like it should have been.
It really is a good product (I can only speak for VWD) and this is coming from someone that refused to use Visual Studio in the past for web development. Dreamweaver in edit view was always my editor of choice. Unfortunately, I do still have to use it for FTP because the FTP tool in VWD is terrible! That’s probably my only real complaint about VWD. Intellisense makes up for any of its weaknesses though. That alone makes my life so much easier.
Next Time, Make It In Express!
Anyway, I hope the next time Microsoft does some sort of contest or whatever promoting their Express products that they actually use them to make their site.
The Struggles of Redesigning a Large Web Site
Managing a fairly large website can be frustrating at times, especially when the time comes to do a major redesign.
The Move from Static to Dynamic
At my day job, I have been through about three major redesigns of our website over six years and am currently working on our fourth. Throughout these various redesigns, our site began as a completely static HTML site and became more and more dynamic over the years. The nice thing about having a dynamic site is that I am no longer responsible for managing the site content; I am only responsible for the code and any bugs that pop up. The major drawback to having a dynamic site is that we’ve amassed a lot of data and it has gotten more and more difficult to redesign the site each time.
Our second redesign was our first primarily dynamic site and its foundation (the SQL back-end) was the basis for every redesign until now because of all the data. We have modified the database pretty heavily over the years, but its basic foundation is still there, mostly because it became too difficult to start over from scratch with the deadlines we had for each redesign. Hell, with the last one, I had two weeks to reprogram the entire front-end of the site by myself by the time the marketing department had finished the redesign plan and I barely got that done in time. There was barely any testing done but it turned out to not be as buggy as I thought it might be. It’s not how I like to do it, but I had no choice.
The New Redesign
As I mentioned before, I am currently working on another site redesign, but this time around it has been decided that the functional changes needed are too great to just modify the current database like we’ve done before. So now, we are starting over from scratch. It is just something that needs to be done, but it’s a huge undertaking. To be honest, it is a bit overwhelming.
With the previous redesigns, I was able to “freeze” the database and start the reprogramming. I just made a copy and the content managers had to keep track of any changes they made after it was frozen so they could make them again on the new version. This time around, however, it’s going to take too long to do the “freeze” option so my plan is to create the new database, get the admin screens working and then migrate the important information from the old database.
The Payoff
Even though it will be a difficult redesign, it will be worth it in the long run. I’ll admin, our current database is a mess with tables and stored procedures that are no longer being used, but the site is too large to keep up with what is and isn’t being used.
Starting over from scratch is going to make it much easier to manage the site and make it easier for future redesigns. It’s also gives me the opportunity to take what I’ve learned since the last redesign to improve and optimize the site.
Final Thoughts
Managing a fairly large site can be difficult and even frustrating at times, but it has given me experience I couldn’t have gotten working only on smaller sites.
Confessions of a Self-Taught Programmer
Being a mostly self-taught programmer has been interesting. Some days I don’t feel like a “real” programmer but other days when I figure out some really complex process with code, I do.
When it comes to learning, I’ve always been at learning by reading rather than lecture. I can’t handle lectures; they put me to sleep. Being able to learn like this has been a great asset to me through my career as a programmer.
A little history… With the help of one professor, I started teaching myself HTML in 1996 because it was something I was very interested in. I created a web site for my band at the time (Birthright). From there I took the few web-related classes the college offered but found each time that with every class, I had already taught myself what they were teaching like a year prior. Eventually, I taught myself ASP with some database backend.
Despite not having my degree yet, I felt like I knew enough to make a career out of my passion for the web. So, I started looking for a job as a web programmer in late 1999, early 2000. It took me a little while, but I got a job at Klipsch (where I still work 6 years later).
Over the years, I’ve taught myself so much and have really enjoyed it. I love having a job where I have to constantly learn new things. It keeps my brain from turning into mush. The draw-back, as I mentioned to before, is that some days I don’t feel like a “real” programmer. The reason is that I’ve learned how to do many things without always learning why they work. That’s usually because I needed to find a solution to make something work but didn’t have the time to really learn why it worked. Of course over time, using the same code over and over, I eventually learn the reason why.
But then again, if you can make something work right, the why doesn’t matter quite as much. I know it can sometimes mean that the code might not be as efficient as possible, but as long as it runs quick enough and does what you need it to do, it’s not a huge deal.
I find myself working on some very complex web-based applications these days and I feel more like a “real” programmer now than I ever have. That’s a good feeling!
