Easy Web Design ::
Easy Web Design
We will put your business online and teach you how to succeed. Easily. Click to get a quick
Quote. or HERE to read more.
More info MMK Web Design
Easy Marketing/Hosting ::
Easy Marketing and Hosting Packages
We combine your hosting and marketing costs to make it easy and affordable for you to get listed on the search engines.
Click to get your easy account.
Jump to MMK Host Website
Easy Media Security ::
Jump To MMK Secure Stream Web site
We can effortlessly help you protect your media or secure meetings and conversations online.
Jump To MMK Secure Stream Web site
Instant Assistance<% session("instantasst") = "YES" %>
Name area Pre Number
Your Name 800 555 3358
Internet Presence :: Words that mean much more then 'web site'. A presence on line is about being found. It's about being noticed, and it is about interactivity with your client.

The Boston T Party
I attended my first TypeCon last summer. This year, as luck would have it, the conference is happening August 9-13th at the Hyatt Regency in downtown Boston. They’ve got an interim website up (by Boston’s Stolze Design) with more in the works for later this month.
read more:

Georgian revival

International Herald Tribune: Quirky serifs aside, Georgia fonts win on Web. The thesis of the article is that, because of its use in some fairly high profile redesigns (the New York Times website among others), the font Georgia is undergoing a comeback. A slim thread on which to hang an article, particularly when you consider that Georgia has been the font of this blog since at least its redesign in January 2004 (the original custom CSS design used Verdana or Helvetica, depending on availability, as my old stylesheet reveals).

It is sad, as Dave Shea at Mezzoblue notes, that there is practically speaking only a pool of eight or nine fonts through which we can rotate for web typography. In this vein, I have to go back and give Hakon Lie partial credit for at least trying to move the ball forward on web typography, as wrongheaded as he was about the business model implications of what he proposed.

read more:

CMC Sound Adventures receives Applied Arts design award
The CMC website Sound Adventures has received Applied Arts magazine's best information and educational site award in its Advertising & Design Annual. Canadian Music Centre is recognized for its work on Sound Adventure, an educational web site designed in collaboration with ecentricarts.This year, the Applied Arts Advertising & Design Annual celebrates its 14th year and status as Canada's most prestigious design competition. The annual competition receives thousands of entries from Canada, the U.S. and beyond, in six main categories: advertising, design, tv/video, editorial designand digitalmedia. An international expert panel of 30 judges decided winners. The Annual is available now on selected newsstands in Canada and the U.S.and online at www.appliedartsmag.com.
read more:

Jolt Award Finalist
We've just learned that both Head First Design Patterns and Head First Servlets and JSP are 2005 Jolt Award Finalists.
read more:

Hell freezes over: Consumer Report likes the Mac
Consumer Report (as reported in MacWorld) gives Apple high marks for tech support satisfaction and hardware reliability: "In this atmosphere of low expectations, Apple Computer has actually raised its support satisfaction for the desktop computers over the past three years to levels well above all competitors, while offering the most reliable desktop hardware." While I'm not the biggest fanof Consumer Report because I don't shop in "best value" mode and I find their ratings always seem a bit utilitarian, not understanding the emotional aspects of product design, it is nevertheless good to see Apple get some well deserved credit. CR was also wise to noticethe pervasiveness of viruses and spyware on PCs versus the Mac.
At this point, most of the people I interact with are on Macs (a huge change in the last 3 years), even my parents are going back and dumping their PC. If you're considering a new PC purchase, take some time to look into the Mac, once you make the commitment you'll never look back.
read more:

Head First Design Patterns #1 O'Reilly book
Head First Design Patterns has finished the week as the top selling book at O'Reilly. Of the top 20 O'Reilly books, the Head First series has captured four of the top spots (not too shabby considering there are ONLY four Head First books).
read more:

Web Design & Development>


Web development incorporates all areas of creating a Web site for the World Wide Web. This includes Web design (graphic design, XHTML, CSS, usability and semantics), programming, content management, marketing, testing and deployment. The term can also specifically be used to refer to the "back end", that is, programming and server administration.

ref: Wikipedia: Web Development

read more:

Web Site Maintenance


When web site is published on the Internet, the web site need to be monitored, evaluated, reviewed and updated. Maintenance of a web site starts with the owners intention to publish a web site, then it focus on its users needs, habits and preference, which is why the web site is published in the first place, to give its visitors useful information. A web site also promotes image and reputation of its owner whether it is a company, a brand name, a product or service, an individual or a community. Having to stumble into an out-dated information on a web site will, more often than not, frustrate a visitor. An out-of-date web site, be it for its content or design speaks for itself about its owner.

read more:

Image and Online Success and The Importance of Good Design
Having a good looking site isn't everything but definitely crucial in the overall scheme when branding your company.
read more:

Let's Design A Website That Sells
Designing a website to market you products on the Internet
read more:

Latest Web Design Articles at ArticleGeek.com
Read the latest Web Design Articles from ArticleGeek.com
read more:

Plasticpilots: News from all Over
Alex has a nice interface here, that aggregates news from a number of design related sites (many of which have resources listed here). He also has a program that features well-designed sites, one anyone can submit entries too. Lots of great stuff at PP.
read more:

Client and Designer Roles in Web Design
Clients and web designers must understand their individual roles in making sure that a website will succeed. For a website to be effective, the business...
read more:

Alternative content, mainstream web design practices.
read more:

A great design with a great foundation.
read more:

This just in: standards-oriented design continues to speed sites, increase intelligence. Bonzer!
read more:

Huntington Banks
Nice design, decent markup. Somebday ought to put this one in a CSS vault.
read more:

Standards-oriented design: not a hard choice at all.
read more:

Web Standards Workshop
A straightforward, yet very effective overview of Web standards. Covers markup, HTML and XHTML, semantics, accessibility, and CSS (in great detail). An excellent place to start your journey towards modern Web design best practices, highly recommended.
read more:

W3 Compliant Sites
If your design meets W3C standards by using semantic and valid markup, separates presentation from structure and content, and incorporates accessibility features, then submit it here to be listed with other developers who have gone the extra mile.
read more:

The Weekly Standards
There are plenty of Web design and development sites out there, both personal and professional, with clean, structured markup and standards-based designs. But how often do you see corporate sites doing this? This site showcases a few each month.
read more:

Digital Web: Standards
Contributed articles by many recognized design and development professionals.
read more:

Web Standards Awards
The Web Standards Awards aims to promote Web site design using W3C standards by seeking out and highlighting the finest standards-compliant sites on the Internet.
read more:

Skills for Access
If this site isn't a testament to beautiful design, and advocating, demonstrating and teaching accessibility, then I don't know of a better example. Also covers multimedia accessibility: Flash, Shockwave and external viewers. Great resource, thanks RJ.
read more:

Digital Web: Accessibility
Contributed articles by various recognized design, usability and accessibility professionals.
read more:

Building Accessible Websites
An online serialization of the classic book on accessible Web site design.
read more:

Designing and Understanding Accessible WWW Pages
The 5 first steps for designing accessible Web sites. Those who design and construct web sites can do a great deal to ensure universal access to their sites.
read more:

Designing URIs
Although you may have never thought of it as "design" (I do), it is important to carefully think about site structure and how URIs to different resources are related. Failure to do so can come back and haunt you. I speak from experience.
read more:

Soup to Nuts
Learn how to build a CSS-based layout from start to finish. From design in-flight, which used to be a pay-for PDF magazine only. Nice to finally add some of Nathan's work to this portfolio. He (et al.) does some outstanding work over at web-graphics.com.
read more:

CSS Panic Guide
It's 2:00am, that design you've been working so hard on is looking good, and the client is scheduled to review it in the morning. But wait, it doesn't work in browser X! Don't panic! Here be Owen, with tips and resources to keep you from coming unglued.
read more:

CSS Reboot
Is an "attempt to bring together Web professionals who design with CSS and standards in mind to launch their redesigns on May 1st." A good place to window shop for design inspiration. Drop a slice of humblepie in Adam's mailbox for me on the way out.
read more:

Comprehensive Design List
Dave has released the archives of all 569 (to date) of the CSS Zen Garden designs. I really had no idea, although I'm not surprised, that there were that many of them out there. I'm kinda partial to "bugs" myself. Go get inspired.
read more:

Box Lessons
Here be Owen...in his own unique style, bringing you a set of little CSS boxes, and the design problems and workarounds caused by major browser vendors and their "implementations" of the specs. Worth a visit even if you're not learning CSS.
read more:

Being the Head of Web Services isn?t All Tech
So of people might forget from reading my blog that web design isn’t all about tech. In fact, some days for me are very low tech or no tech oriented. Thursday and Friday of this week were like that because we are working on a header/banner for the Libraries website face lift.In many respects [...]
read more:

Design Eye for the Usability Guy
Design By Fire has a fun Queer Eye inspired design make over for usability guru Jakob Nielsen's boring but practical Guidelines for Visualizing Links.
read more:

I?m not dead?
I'm not dead - just busy. Some big news, however, is the launch of the new FT11 site. This one has been a long time coming, completely new code but still based on the older design, Sepia. I still have a few bugs to work out, preferences to apply, and general polishing to be done, [...]
read more:

Redesign in Progress
{style:phreak;} is undergoing a redesign. After 3 other prototypes I decided to go with a minimalist design. I'll be working on this new design, tweaking and pulling until it's done - hopefully that will be by the end of the week.So, if you notice anything strange, other than the psychotic clown, don't fret - I'm [...]
read more:

Putting a Leash On Web Standards
The Web Standards Project has posted What is a Web Standard?, an article defining what a web standard is, and isn't. At Sitepoint, The Four Essentials of Modern Web Design have been presented by Jason Foss.
read more:

Updated RSS Feed - Reminder
Just wanted to remind those of you still pointing your feed readers or links to this feed. The new RSS feed for design.Principles can be found here: http://resource.reh3.com/index.php/feed/
read more:

Don't invest too early in the wow factor
It's important that your website has a professional design and it's also important that your website looks great so that your customers have trust and confidence in your company. However, before adding bells and whistles to your website, make sure that it serves the basics.
read more:

How to rank well with Flash movies
Flash movies are a popular way to make websites more compelling. They are useful if you want to impress your website visitors or if you offer web design services.Unfortunately, if you use Flash movies, or if you even design your complete website based on the Flash technology, your odds of getting listed in the search engines are greatly reduced.Read this article to find out how to rank well with Flash movies.
read more:

APlus Web Hosting, Dedicated Hosting, Web Design and Fertilizer
Just a while ago, I got a mangled voice-mail message from someone named Jillian at APlus Web Hosting, Dedicated Hosting and Web Design. Well actually, all I got was Jilian at APlus, everything past that was messed-up. Fortunately (I'll explain...
read more:

Important changes to the BASE element for IE 7

Looks like my post went live over on the IETB regarding changes we made to the BASE element in IE 7. Previously the BASE element had some issues, primarily by design, that made certain actions within the guts of IE very easy to do, but polluted the exposed object model and overall tree hiearchy. Well, it was time to fix that. If you are interested in how we fixed it, go check out my entry All your <base> are belong to us.

There have been some comments on the post so I'll try to cover them over here with what might be some interesting posts about how IE works.

Share this post: Email it!
read more:

Publishing: Good reviews, bad reviews, and hurting oooh so many feelings.

Well, apparently you aren't allowed to have an opinion on the web anymore. I got flamed by an author after posting a personal review of his book. It wasn't an objective review, I didn't mark it as such, but I wasted a good deal of my life between reading the book and then turn that around with the extra hour I spent writing the review so I figured I'd put my real thoughts in there. Anyway, seems the author had some comments.

Guess what? Authors need to learn that not everyone can write a book. I don't care how technically able you are, how smart, or how much of an industry professional. I don't care if you've been writing X for Y years where Y > Z and Z is my age... Just because you've been working on technology since before I was born doesn't mean you have the ability to produce a book that is able to capture a wide audience and instruct them in a given area. I'll throw some points to back this up.

Microsoft Windows is a great piece of software and some insanely talented developers wrote the OS. But guess who wrote the documentation? Sure as hell wasn't the people that wrote the OS. What about the CLR? Super smart people doing super smart things over there. But how many of them dare write a book about it? Adam Nathan did a great job, but I think he took more than a year writing his. What about Brad Abarams and the annotated CLR? Well, that isn't a book of explanation but rather a book of comments that was very tactfully edited. The people that really write about the CLR are the tech writers that produced the oh so complained about .NET Framework SDK Documentation. If you think it's bad now, you wouldn't want to know what it would look like if there wasn't a dedicated team of technical writers with English degrees working on it.

You see, just being an expert isn't a license to write a book. You have to take many considerations into play. You have to design content around your audience, get down off of your soap-box, and explain things in a detail that your readership will comprehend and gain value from. It appears Edward doesn't agree with me. I pointed out that I got nothing from the text of his book, but then he points me to the free source code download. I already knew about the download and had perused the source before and after posting the original review, but I don't think that is important or relevant. When you buy a book, you are buying the material that you can read while you are in a bus, in your car, on a plane, while you are walking down the hall, or if nature calls on the toilet. You really aren't paying for the source code. The source code is an extra in the world of publishing. It is nice if the readers make use of it, but you want to provide everything in the text if you can. Popping between book and source is annoying, and even worse, nearly impossible when the book and source aren't logically connected.

Raise of hands, if I gave you a 65k file whose name was Form1.vb and I told you the compiled program would represent a rather complex regular expression validating GUI called ReLab, what would you do? How easy would it be to quickly find the information you needed in that file? Would you even bother trying to understand the behemoth? What if the text of the book didn't tell you about the code itself, but rather about the program and how it worked? What if they just gave you a bunch of pictures of the UI and some walk-throughs of how it would work? What would you say the target audience is when the book is filled with pictures and there is a huge backing source repository that contains almost no explanation?

You don't have to answer all that if you don't want, but I'm interested in what you have to say. Good or bad, wrong or right, I don't care, because this is MY opinion, but I'm interested in everyone else's opinion. I'm tired of paying 40-60 bucks for a book that doesn't stand on it's own merit. If the source is really what I'm buying then why give it away for free here http://www.apress.com/book/supplementDownload.html?bID=213&sID=1895. What in the hell would I buy the book if everything important is in the source code shown here http://www.apress.com/book/supplementDownload.html?bID=213&sID=1895. Go ahead, download it and check it out. It isn't easy to digest by any means, and the book itself won't help you at all.

Edward is taking this as a personal attack, but everyone that knows me knows better. I buy a book a week at least. Some are great, some are mediocre, but I never, ever buy the bad books. I invalidate them during my initial review process and I rely on my professional insight to quickly spot and discredit the bad ones. I don't always take the time to give those I've spotted a shining review on my blog, but there are certain things that really get my goat and this was obviously one of them. You can't ask for just good reviews as an author. When was the last time a movie released with not a single bad review somewhere on the web or published in some newspaper? But, "Oh", the actor says, "You'd like the movie better if you understood how many shots it took for that scene you didn't like and the technical difficulties behind it"... In reality, I don't care if it took them 1 shot or 50 shots, I don't care if the author produces 1 line of code or 50 thousand lines of code. I see the end result, I see what I read, and I'm going to rely on perusal process within the bookstore before deciding to buy. If you aren't going to give me the material in your book to enable that process, then I'm not going to buy your book, AND I'll post an honestly bad review.

Anyway, I responded to Edwards comments, and put my own right after. I'm sure the comment space will get heated if you are into that. In conclusion, don't put your heart and soul into a book and then get all parental when someone doesn't like it. If you can't take the criticisms, then you shouldn't be publishing. Build on it, forget about it, discount it, do whatever you must, but don't whine and use political bullshit to try and get me to take my criticisms down.

Share this post: Email it!
read more:

Solving big business problems in our little toolbox application. A use case for Project Distributor.

Project Distributor: Introduction to our distributed web service model
So Darren and I have put in about a month now on the Project Distributor website. We are starting to reach that critical point where the site is pretty cool, we have plenty of users, we are thinking about running out of the allowable bandwidth for the demo site, and all sorts of other things that tend to happen all at once. Now, there are some problems you can design yourself out of, and others that you really have to throw some money at. Our latest enhancements can be summed up in a short list.

  • Buy a domain name and start hosting in two places. Project Distributor.com should be up fairly soon to accompany MarkItUp.ASPXConnection.com
  • Have people host their own versions of the application. And that means a big source release is in the future. At this juncture risk fragmentation.
  • Design away fragmentation with a series of ingenious features that will make everyone want to use the application at hand.

I'm here to talk about the last two, since Darren already bought some additional hosting for us. The concept will be to release a fairly stable version of the application so that groups can host tools, code snippets and other source/binary releases for their teams to share. The application is very lightweight and easy to set-up, so it won't require a bunch of hand holding and configuration to get up and running initially. From our standpoint we solve a number of issues at this juncture. The most obvious problem is what we classify the Lutz Roeder use case. .NET Reflector is the key type of application we'd love to get hosted because it makes it a bit easier to find, not that Google does a bad job, we'd just like to get a bunch of tools in one place, with some features for feedback, new releases, and some cool client tools for publishing.

Now, Lutz would put his application up and he'd whack our bandwidth. He is the prime example of someone that should be hosting their own tools, but possibly using our interface. He doesn't have to, we haven't even asked him yet in fact, but if he decides to do so, then all the better for the web application moving forward. Users such as Lutz probably want a certain level of control over their own sites as well in terms of branding and controlling access. This will only come from hosting the application yourself (and maybe some other features we'll see later).

From a security standpoint many teams will also want to host their own servers. In this manner they get control over the hardware their sources and binaries are stored on. They can accept tools up to any maximum (instead of our imposed limits) and provide unlimited download bandwidth if they choose. Or they can take advantage of our gating mechanisms to make sure their server doesn't get overloaded with downloads and open their tools up to the public.

The only major problem from this source release is that the initial problem we were trying to solve, promoting the visibility of tools, starts to erode. You see, the more sites that host their own tools the harder it is to find the right site with the right tools. We are trying to solve this in a number of ways. The first is allowing users of a site to store bookmarks to other projects and external resources. This is only a temporary fix, because it still doesn't allow a mass search and categorization infrastructure required to truly promote the visibility of the tools being hosted. We have to come up with a solution that brings all of the sites, but we don't want to create just another portal or gateway site. That is boring. Now you have the background, so how will we solve the fragmentation issue?

Designing away Fragmentation
I won't lie to you, I've implemented this model several times, but have never had a project that was capable of really showing off the feature set we are about to talk about. The concept is to unify all of the sites, by allowing them to easily manage views of data from all of the sites combined. Each site owns their own content, maintains their own users, but in turn peers with other sites to obtain additional content.

Web services provide a dual feature set in this model. At the current level they allow us to generate really great client-side tools for managing, well, your tools! We have a drop-client target right now so you can drag and drop new releases to existing projects in just a few seconds. Some new tools for working with build systems to promote the source code up to the server are in the works. We natively integrate with your RSS reader and will have our own alert services in the drop client just in case you don't have one. There aren't any search or local caching features, but those are also planned for the drop client so you can background download new releases, just like Windows Update.

That doesn't solve fragmentation though, that just makes me realize how much work I have left to do. The second feature of web services lies in the ability for each site to aggregate data from the many other sites that are out there hosting the application. Remember, everything we make available at the service layer can also now be remoted. The more caching we put into the data layer, the more performant the entire process will be, and we can even tune the caching depending on whether the data layer is merging off-site contents or database contents.

Peer Sites
I'm sure there is another name out there somewhere, but for the past 2 years I've called these peer sites. Each instance of the project distributor will have a number of options allowing for adding peers that will be aggregated and added to the local collection while users traverse the site. The first step is to get the peer sites running in a read-only mode. And set up some really great options so the entire process can be controlled. This solves a number of use case scenarios for us including the following.

  • Fragmentation can be mitigated through proper configuration. If everyone aggregates 5 or 6 sites into their peers, then we have a huge network now of interconnected peers and users can pick and choose which one they use for purposes of searching the tool network.
  • Peer connections are unidirectional or bidirectional. Access is configurable. Teams can include tools from external sites while keeping their own tools completely private. They can exist behind a DMZ or a private network.
  • Users can host their own personal tool sites in the same manner as the team sites. They can configure statically which projects to make available even. In this way you can build a collection of personal tools that you love, and have the latest information automatically update on your machine for your perusal.

Peer sites solve plenty of visibility issues, but that is pretty much all they solve for now. We still want to enable all of the features available to the client tools. After all, the web service methods and proxy infrastructure is in place to do so much more.

Master Sites
Well, we want to solve another problem. That is where you edit your data. A master site is where the users, groups, projects, etc... are all hosted, but thankfully, you'll be able to log in through any site (assuming it is peered with your master site) and then edit your own projects and such. This is a remote principal context and is actually one of the cooler features associated with the peering functionality of project distributor. We'll be fully secure in our login and credentials region, but unfortunately we'll still be transferring data in open text in the short term. Maybe we'll fix that with enough push back.

Clone Sites
A clone site is where we empower a site to act on behalf of a master site. For me, my local project distributor is currently cloned to the main project distributor site. What does this mean? Right now it means I get all of the data from PD, and that users who trust my site can log-in to their project distributor accounts and cross edit data. Pretty nice if you ask me. It basically means you can fully host a project distributor installation and never, ever have to install a database server. Users can just act on behalf of a remote server.

This isn't a super reusable model like some of those you read about in the popular software architecture books, and it probably accounts for why master/peer/clone sites don't exist very often. The considerations for every option are heavily customized to the problem being solved, and I'm sure we'll be making modifications or updating the configuration context for a while. Right now you can independently configure your primary server type, whether master or clone, whether or not users can use you for a pass-through authentication and edit server, whether or not web services are enabled so peers can enable unidirectional only communications, setting up asymmetric security credentials. Man, you name it and it is in there

For the peer section we have full and selective modes. A full peer pulls all of the data on the remote peer locally for display (in a delay caching manner, just like you'd expect, unless you set up a scheduled pull which is also possible). I expect most people to configure full peers because they really are really easy to set up and maintain. A selective peer is where you specify the groups/projects that you want to display. This is best for a user setting up their own personal toolbox who wants to select a couple of items from many different peers.

We have an extensively exhaustive configuration module already and we'll be continuously adding more to it. The concept is to easily modify your toolbox to your own designs without having to touch the code. If we haven't given you enough options to satisfy your need then we'll have to make something up, because I'm just about running out ;-)

These are the basics of the model ideas I have for project distributor. That doesn't mean Darren doesn't have other great ideas happening as well. He has some pretty extensive UI enhancements, but I'll let him talk about those. We even have another product idea that is kind of a bolt-on for project distributor, but that is probably a couple of months out putting it into next year. Unfortunately we have too many ideas for our own good right now. Better than not having any ideas I guess. I'll try to drop some code with some of the ideas above, that way you can get a look at how the entire system is implemented. I have some diagrams as well, but I'm far too tired right now to add the img tags to the HTML view.

Share this post: Email it!
read more:

Language parsing and compiler design doesn't have to be hard, but boy this book really sucks!

How'd you like that for an opening title? Did it grab your attention? Hell, your reading this far so I guess it did. The book I'm focusing on here is Build Your Own .NET Language and Compiler and please, don't click the link and then go buy it. I don't care about the 50 cents worth of referral money I'll get if you do. I wouldn't even recommend the book if I got 50 bucks of referral money (well, money talks, so maybe I would).

The book starts out with the basics of parsing and regular expressions and all that jazz. But the extent of the code is a bunch of screen shots. We are writing a parser/compiler dang it, we aren't WYSIWYGing our way through life at this point, you have to show some real frigin code. What you end up with is a bunch of screen shots of many tools for writing a compiler, but not really the code, unless of course you go grab the CD and break through all of the code without a lick of explanation from the book. God I hope the code is well documented with comments, or you just bought an issue of Compiler's Illustrated and this isn't the Swimsuit edition. I'll include some of my own links at the bottom, where I give actual code for many of these processes.

OK, so you get to see a bunch of tools, and what do you get? Well, you get a bunch of half-assed tools (sorry for the language if your kid is reading my highly technical blog... In fact, if he/she is I could use some interns, must type 50+ WPM and be proficient at C, C++, or C#). A mathematical expression evaluator is the first. I think it is always the first. People always trivialize math. So make sure you look at all the pretty pictures and try to glean some wisdom from the text. I have a mathematical expression evaluator by the way, it's called calc.exe and from what I can tell it has shipped since 16-bit windows. He also makes an attempt at a regular expression workbench. You can't have enough of those (actually I'm not being sarcastic here, I always appreciate a new regex tool), but then he never writes anything or demonstrates compiler technology that uses regular expressions. Does he go into NFA/DFA technology? Well, he does talk about it for a few sentences. BNF format? Again a few sentences here and there. But wait, another tool is what you get and this time it is a picture of a drop-down menu with all sorts of really tantalizing names (convert from BNF to XML, display a BNF parse tree, display formatted docs, etc...). At this point use one of the pages to catch the drool coming off your lip, because that is as close as you'll get in this book to anything cool.

OK, so forget the tools. At some point he actually starts talking about real compiler technology. I think around chapter 7 maybe? I really should dig up the TOC on Amazon, but I'm only going to waste enough time on this book to finish this posting. Anyway, they start talking about the various parsing techniques. Recursive descent (RD), Top-Down, Bottom-Up... I think there are some other odd names they throw in there to mystify the reader. After reading all of the major compiler design books I shouldn't be mystified by something that could classify as a 4 Dummies book (unless it is something like Cross Dressing 4 Dummies, I could probably use that after my Halloween party)...  Anyway, they really don't do the entire process justice, and I think at some point some more tools are used, Yacc might be mentioned, and bam, back to the pictures.

At this point I want to identify the worst problem I found throughout the entire book. Apparently the author didn't have time to finish the code so they left a bunch of exercises for the reader. Nah, nah... You don't leave the compiler as an exercise in a book on how to write a compiler. You leave bits and pieces, but not the important stuff. Going through my Knuth books, I'm actually surprised when he leaves problems as exercises that require more know-how than what has been provided in the chapter. I don't mind exercises for the reader, but there is a limit people. Imagine getting back from Home Depot with a 300 page picture book on building a house, that had a bunch of pictures of completed homes, and some text offering that the building of the house will be left as an exercise for the reader. Doh!

At the end of the book, it is apparent I'm not going to get anything of use and then it starts talking about code generation. Oooh, something with some meat. In reality, they've been naming their nodes for the calculator in such a way that the name of the node was pretty much the name of the op code that was going to be called. They may have some Quick Basic implementation code spits as well, but I'm confused at this point (and mystified) because I've been thumbing this book for an hour. In reality the act of spitting IL is probably worth an entire book of it's own (oh wait it is Inside Microsoft .NET IL Assembler and you really should buy this one so I get 50 cents). That isn't fair because that book is actually how IL functions and not how to spit it. But I'd think one does precede the other since eventually your going to run out of node names to match to IL op-codes and when opComplexOperation isn't mirrored by OpCodes.ComplexOperation I just don't know what you'll do.

How fair of a review is this? Well, I've read actual compiler books, quite a few of them. I've implemented my own parsers and compilers many times for many different circumstances. I don't think it is a hard process and I think extending the process to a more general development audience is important. There should be a relatively accessible book on writing your own .NET languages, but this book is certainly not it. I'll keep looking around, I hear there is another book focused on .NET language generation and I'll have to search it out. Maybe an O'Reilly publication? Can you get an accurate review from something in about an hour's time? Well, I read fast, the words were quite large, most of the content was entirely familiar and only about 30% of the page material was text, so I'd hope so. Take this for what it is worth, but if I see any referral money for that book, I'll know someone is going to be laughing hysterically when they get that book in a 2-3 days from Amazon. PS: I didn't and won't buy the book. I spent a couple of hours at Borders today running through two books that caught my eye when I was really looking for a great .NET Localization book. I need to dig up Michael Kaplan, since I'm sure he has written something somewhere.

Lexer/Parser/Compiler  Code and articles for different types of parsers
Lexer, Parser, Compiler, Oh My!  Postings, with code, on even more lexer/parser stuff
ftp://ftp.cs.vu.nl/pub/dick/PTAPG/BookBody.pdf A more hard-core text on parser technologies

Share this post: Email it!
read more:

My friend Flickr
Design, usability, and the high bar.
read more:

Information Architecture
One new links: "The Reinvention of Information Design".
read more:

Five new links: "Graphics on Link-Rich Home Pages", "Label Placement in Forms", "SAP Design Guild Articles", "Simplicity Demands Difficult Choices", and "Personable 'About Us' Page Lifts Ecommerce Conversions 30 Percent".
read more:

You Searched for

sarasota web design

Click sarasota web design to go to MMK Technologies

sarasota web design | secure upload video | web programming | cgi programming | net hosting | net development | flash design | flash programming | cool flash | action script | flash database programming | flash graphics | graphics design | graphics disign | flash disign | web disign | web design | website design | internet marketing | web marketing | web site marketing | programming | web sites designer | web designs | internet design | programming developer | website marketing | web development | marketing internet | web sites designing | site designs | sites designs | internet designer | internet designs | e-commerce store | web development | web site development | design webs | internet site marketing | internet hosting | internet host | web hosting | web host | sell on the internet | sell on the web | e-commerce store | internet development | webdesign | florida web site design | website development | ecommerce store | sell online | affiliate program | asp web store | marketing program | marketing software | submission software | asp programmer | cgi store | perl store | internet store | database programmer | internet database | online marketing | ecommerce software | streaming media | video streaming | secure video streams | media streams | audio streaming | MP3 security | avi security | Windows Media Security | protect video | secure web cam | webcam security | video piracy | media piracy | windows media player security | secure media | protect audio | video stream protection | MMKTechnologies | MMK Technologies | prevent audio theft | prevent video theft | web page design | ecommerce shopping cart | shopping store ASP | sell online | sell products | products to sell online | web technology | website builders | web site builder | bradenton web design | florida web design | bradenton website design | protect MP3 | keep video from being copied | sarasota web design |

Orphan Art Inc Orphan Art Orphans Art Orphans Helping Orphans Orphanages Vietnam orphans Cambodia Orphans

Web Design Hosting and internet marketing by MMK Technologies

(c) Copyright 2005 MMK Technologies.


  Design Forum   Support   Hosting   News   Flash Design
Copyright © 2006, MMKTechnologies. All Rights Reserved.