Tagged: Markup languages Toggle Comment Threads | Keyboard Shortcuts

  • Michael Krakovskiy 1:07 am on July 6, 2008 Permalink | Reply
    Tags: , , , , , , , , , , Markup languages, , , , push technology, , school web, , search forms, , , , Web, web standards compliance, web strategy, Webs,   

    7 Things You Can (Mostly) Do Without in Your Web Business 

    I’ve spent a lot of time in meetings about websites. Not as much as I’ve spent building websites, but a sizable chunk of my career. I mostly spent that time listening and not being listened to. But now that I’m older, have “Sr” in my title (it stands for Senor), a beard, those cool designer glasses, and have a lot more weight in meetings. Mostly due to the fact that I got pretty fat.

    Previously I wrote about the evils of redesigns in The Russian Tea Room Syndrome, and about how web developers are like cooks and prison inmates. Restaurants are a notoriously difficult businesses to run, mostly because there are a lot of amateurs who do not understand what is not important. It’s not what’s important. Everything is important. It’s knowing what can be cut, especially in the beginning, that makes some restaurants succeed when others fail.

    Here’s my list of 7 things that seem like they are important in websites, but really aren’t. These are not deal breakers. These are the things to think about last.

    1) Looks. It’s nice to have a clean and beautiful design. But making a site pretty is not going to make you more money. Just look at plentyoffish.com – probably the ugliest dating website in existence. It does not stop its maker from raking in 10 mil a year without any hard work whatsoever.

    2) SEO. SEO is the alchemy of the web business. I’ve seen more sites get sandboxed by Google than gain pagerank from SEO efforts. Most big url rewriting efforts create broken links, which are bad no matter how you look at it. Don’t break urls, if you can – make them descriptive, and try to make your site linkable (i.e. GET instead of POST search forms), but that’s about all that might help you. Spending a lot of money on SEO is just plain stupid.

    3) Performance. Everybody hates slow and crashing websites. But unless this lasts for years, it’s not a deal breaker. Twitter suffers from worst imaginable performance trouble. Livejournal went through a long stretch of bad performance. Even the big dogs like eBay and Amazon have a slow spell or outage or two. MS Windows became the most popular OS in the world not because of its stability. Of course it’s currently losing market share to Apple, but this precess took decades. If anything, it looks like Twitter outages make its users miss the service so much, that when they get back in the twitter their brains out after bitching about the outage for a bit.

    4) Good branding. A good name, url, and logo are not going to make you more money. They are just not that important. As long as it’s not too embarrassing, like therapist.com it’s going to be ok. If you look on Alexa, icanhascheezburger.com has almost as much traffic as tvguide.com.

    5) Pure CSS markup and web standards compliance. I’m sick and tired of being told that “tableless” design is somehow important. It’s not, it’s not, it’s not. Go to google.com, amazon.com, ebay.com, nytimes.com and view the source. You will see tables galore. Wasting time eliminating tables is just plain stupid. And all-div completely web standards-compliant XHTML markup is not going to make you any more money. I refuse to feel bad about using tables. And perfectly validating XHTML is only going to help page scrapers.

    6) Keeping the site ad-free. Site users are ok with ads. They really, really are. If you have what they want they will suffer through the biggest ads you can throw at them. “Half Page Godzillas”, “Skyscrapers”, “Page Killas”, “Shrieking Flash Sound Diddlers” – whatever you call your most annoying ad – despite heated assurances from the users, it’s not going to make most of them leave. Some will and more will follow, but it’s not as drastic as you might think. If you have something unique. I’m not advocating horrible Flash ads. “Flash Sound Diddlers” are not more effective in selling stuff than tasteful Adsense ads which will not have anybody at all leave. You can use ad money to buy more servers, more content, ads of your own. This will bring in more users.

    7) Widgets. If your entire web strategy is based on building widgets, well, you are in trouble. You are entering an frenzied and very crowded market. Widgets are the bastard child of old school web “badges” and “push technology.” Widgets sometimes work great for increasing pagerank, just like the “web awards” that were given out by some sites in Web 1.0 times. They might get people to link to you, especially if these people are Myspacers that are constantly looking for shiny things to line their pages with. But in the big scheme of things widgets are not a great way to spend ttime and money.

  • Michael Krakovskiy 5:17 am on February 18, 2005 Permalink | Reply
    Tags: , , , , Functional languages, functional programming, , , Markup languages, Procedural programming, , , , Source code, Subroutine, Variable,   

    Side Effects Of Programming 

    “Nelson: Ah, he’s the greatest showman since that kid who eats worms!
    Kid Who Eats Worms: My 15 minutes of fame are over!”
    The Simpsons, Episode 3G02

    The post about Durian seems to have been the most popular one in the recent history of deadprogrammer.com . This once again proves that eating gross things is entertaining to the masses. To prevent the surging popularity of my blog I absolutely must write a little bit about something that I almost never write about. Programming.

    My co-worker who could not understand why he could not increment a variable in XSLT found an amazing piece of technical writing in an O’Reilly book about XSLT. Here it is:

    “Although these XSLT variables are called variables, they’re not variables in the traditional sense of procedural programming languages like C++ or Java. Remember that earlier we said one goal behind the design of the stylesheet language is to avoid side effects in execution? Well, one of the most common side effects used in most procedural languages is changing the value of a variable. If we write our stylesheet so that the results depend on the varying values of different variables, the stylesheet engine would be forced to evaluate the templates in a certain order.

    XSLT variables are more like variables in the traditional mathematical sense. In mathematics, we can define a function called square(x) that returns the value of a number (represented by x) multiplied by itself. In other words, square(2.5) returns 6.25. In this context, we understand that x can be any number; we also understand that the square function can’t change the value of x.

    It takes a while to get used to this concept, but you’ll get there. Trust me on this.”

    (full text here)

    The quote that I highlighted in bold absolutely gets me. Yeah, that’s one good side effect. I get the feeling that XSLT was committee designed with the specific purpose to make life miserable for programmers. Also that committee must have had some really good stuff to smoke.

    Uh, see, now this is what happens when you try to write programs without actually understanding computer science fundamentals. I did not realize that XSLT was functional, not procedural. Like most mediocre programmers out there I was not exposed to much functional programming (I did try to teach myself Lisp, but quickly gave up). Having to do a lot of SQL(which is near-procedural) over the years improved my understanding of functional programming, but not enough to realize what the XSLT book was talking about (reading it from beginning would have been helpful too). Now hardware XSLT accelerators, which made me laugh when I first heard about them, make sense too.

Compose new post
Next post/Next comment
Previous post/Previous comment
Show/Hide comments
Go to top
Go to login
Show/Hide help
shift + esc