Confessions of an Eccentric Web Developer II

By  on  

My original article, Confessions of an Eccentric Web Developer, got quite a bit of attention. I have a lot of controversial views and I'm not afraid to stir the pot. Since we last spoke, I've compiled another list of confessions and feel like it's a good time get them off of my chest.

  1. I'm contemplating adding "font-weight:normal;" to my "*" selector. I like a 28px H1 tag with a normal font-weight. My h2 is similar. Of course, I'll need to define the STRONG tag, but that's fine. Note: IE and Firefox look different if you don't pay attention to this.
  2. I see absolutely nothing wrong with opening links in new windows. You really want a PDF, Word DOC, or Excel spreadsheet opening in the same window? Much less the primarily window of a web-illiterate user? They'll close the window instead of just clicking "back." Hell, I do that. And if a link is simply used as a reference or supporting link -- you want that to open in the same window? Hell no.
  3. As many posts as I do about MooTools, very rarely do I get to use any of my MooTools scripts on customer sites. And I'm OK with that.
  4. I'm starting to get annoyed with having to hack WordPress after upgrades. I think the core code makes too many assumptions with <li> formatting.
  5. I wish PHP's syntax was more like JavaScript, specifically the MooTools flavor. PHP is supposed to be "quick and dirty", but it's nowhere near as flexible as JavaScript.
  6. I sometimes take more pride in an awesome "workaround" instead of the eventual solution. A good developer needs to be clever.
  7. When I look at some of my CSS and PHP code from a few years ago, I have no clue how I wasn't fired on the spot. That's how great it is to be a programmer -- I honestly feel like I improve every day.
  8. I think that the more outsourcing of support a hosting companies does, the more their service fails. And eventually they'll end up losing for it.
  9. Dudes don't let dudes use emoticons.
  10. I cannot stand the new SourceForge.net homepage. Awful, awful, awful. Great software, terrible homepage.
  11. I'm over "clever" hostnames. "De.licio.us" and "script.aculo.us" were acceptable at the time, but these new ones popping up missed the boat and are more of a nuisance than anything else.
  12. While I don't have an preference on the new versions of HTML or XHTML or [Whatever]HTML, I don't see a lot of value in an "<article>" tag or a "<header>" tag. I guess I don't see that as progress. Just another tag to worry about browsers adding default styles on. Why not do away with default styles on elements and let us define our own, like XML?
  13. "MooTools users are (for whatever reason) associated with having an elitest disposition" states a recent NetTuts article. While I agree that's how Moo developers are viewed, I think that it's a myth. MooTools doesn't promote itself like jQuery, which is probably part of the problem. Maybe it's just me saying this as a programmer, but the syntax is beautiful and not at all difficult to learn.
  14. As much as it hurts to say, IE7 will disappear before IE6. IE7 users will update and IE6 users don't know how.
  15. I prefer IE6 over IE7.
  16. I don't regret turning down a MooTools book offer at all. The time commitment would have been too much and I prefer this blog over that. And as Chris Coyier said, "We're kids of the new school." Rarely do I pick up a programming book -- you can find it all online.
  17. While I wont abandon MooTools any time soon, Ext still blows my mind. Of course, Ext is a more GUI-based library, I find it unbelievable and hope to use it some day.

This is the part where you agree with me, ask questions, or flame the hell out of me. Choose your destiny!

Recent Features

  • By
    CSS Gradients

    With CSS border-radius, I showed you how CSS can bridge the gap between design and development by adding rounded corners to elements.  CSS gradients are another step in that direction.  Now that CSS gradients are supported in Internet Explorer 8+, Firefox, Safari, and Chrome...

  • By
    Create a CSS Flipping Animation

    CSS animations are a lot of fun; the beauty of them is that through many simple properties, you can create anything from an elegant fade in to a WTF-Pixar-would-be-proud effect. One CSS effect somewhere in between is the CSS flip effect, whereby there's...

Incredible Demos

  • By
    MooTools Star Ratings with MooStarRating

    I've said it over and over but I'll say it again:  JavaScript's main role in web applications is to enhance otherwise boring, static functionality provided by the browser.  One perfect example of this is the Javascript/AJAX-powered star rating systems that have become popular over the...

  • By
    Dynamic Waveform Visualizations with wavesurfer.js

    Waveform images are an awesome addition to boring audio widgets.  They can be functional as well as aesthetically pleasing, allowing users to navigate audio visually.  I recently found wavesurfer.js, an amazing waveform image utility that uses to Web Audio API to create super customizable...

Discussion

  1. Anon

    Hm. Well you got a comment out of me. Perhaps this mindless sort of post will stir up enough traffic to to up your ad rate. Is the whole blogosphere going to be medium in which we just try to bring attention to ourselves? How about next time your get a tattoo of IE6 and pose nude.
    Pointless.

  2. @Anon: Actually, I prefer not to get a comment like this, which is, in your words, “pointless.” This has nothing to do with my ad rate — I’m simply sharing opinions. If you disagree, that’s fine, but give reasons instead of insults.

    Lastly, when you flame someone you should own up to it and give your name.

  3. hahaha that is halaries I love your confessions, I complitly agree with
    (14: As much as it hurts to say, IE7 will disappear before IE6. IE7 users will update and IE6 users don’t know how.)

    I think New Window is been down plaid too much and I too fight the flow by still using it. KEEP NEW WINDOW ALIVE hahaha

    @Anon, don’t be a hater. As a fellow developer/designer who works in this industry I think his post is great and very funny.

  4. Carrying on with the tradition of not proofreading your posts (which I don’t do either), “I’m don’t regret…”

    Dangit, almost used a smiley face there. How else do I try to convey that I’m not a grammar Nazi, and just having fun?!

    (P.S. How do you like the WMD WYSIWYG editor? It’s the best looking one I’ve come across so far… not sure how well its markup validates, but oh well. P.P.S. My comment errored out in Firefox… ugh.)

  5. @Ben: Damnit, thanks for pointing that out. I’m always in such a damn hurry to get them written that I don’t take the time. With the blog’s one year anniversary coming up, that’s going to be a resolution of mine.

  6. Cudos for not being afraid to say what you feel!

    I see absolutely nothing wrong with opening links in new windows.

    I agree, as long as a site has a consistency to it. Some define that as you do, that links to non-html files should open a new window, others believe anything that is not an internal link deserves it. Just as long as there aren’t pop-unders or ads bombarding me, I don’t mind.

    I’m starting to get annoyed with having to hack WordPress after upgrades.

    Here here! While I want to offer upgrades as a part of my basic on-going support offering, the volume of change which happens to core tags with each point release is so significant that I can’t without losing a significant amount of money in re-work. Some plugins are guilty of this as well. For being at 2.5 – 2.6 you’d think most of the major elements would have stabilized.

    BTW, your commenting window w/ preview is quite fantastic.

  7. Ha – good follow up. I especially like point 9. I’ve shared that sentiment for some time now….
    For what it’s worth, I’d have to disagree with point 12 though. Browsers’ default styling is always a nuisance, but at the same time, “meaningful” tags play an important role in accessibility (e.g., screen readers).
    Great post though… I enjoy these…

  8. @Jeremy: Very good point!

  9. Jay

    I think you need to jump on the jquery bandwagon. I used to use mootools too but jquery is better built from the ground up me thinks.

  10. @Jay: I respect your opinion, but I wont be leaving Moo any time soon.

  11. ton

    Screw you man :-) What’s wrong with emoticons. :P

  12. An agreement and a partial disagreement:

    I too accidentally close tabs/windows of sites that have linked away in the same window. This is one of religious discussion points that people get way too worked up over. As you say, just be consistent, and possibly be clear, and that’s as much as is needed.

    There’s nothing wrong with the carefully used emoticon. I agree that text that is littered with them is as bad a 1337 speak, but sometimes I find my often sarcastic nature isn’t communicated sufficiently well though text alone, and the very occasional emote can put people at ease.

  13. @Evil: Let me clarify. I have no problem with “:)”, but using the little smiley icons is just unacceptable.

  14. 7 – I do that for code I wrote a week ago

    5 – The number one complaint against PHP is that it’s too flexible already. Flimsy, un-constrained code has found a home in JS.

    8 – I’ve gotten so fed up with it that I’ve gone ahead and blanketed any/all outsourcing as a sign of a company flipping their customers the bird.

    9 – layoff the smilies

    10 – The entire sourceforge layout has always confused the hell out of me. I know it’s a great (maybe the best) open-source resource for developers but if I just want to download something give me an easy 1-click path for it.

    13 – 90% of the jquery tutorials I see demonstrate some kind of ‘cool’ visual effect that repeatedly kick any usability expert in the balls. I know it’s nabbed the majority of the framework marketshare.. but all these articles really turn me off. Prototype or Mooltools for life.

  15. @Mike

    5 – To put it as nicely as possible, your comment demonstrates a level of naivety with regards to dynamic languages…

    13 – If you can say that you like both Prototype and Mootools in the same sentence, then you must not understand either of them well enough.

    Mootools and jQuery are like the twins that don’t get along. They bicker all the time, but when you get down to it, they do a lot of things the same way, and hold to many of the same principles. Prototype, on the other hand, is a bloated, no-namespacing monster from the days before good design practice (considering toning that down…). It does many wonderful things by itself, but wreaks havoc if you try and use it with other libraries.

  16. @Jeremy: Moo isn’t namespaced either, which I would agree it would be nice if it was. That said, I don’t blame framework developers for not wanting their code to be used with other frameworks — that’s another level of support to deal with.

    And as far as jQuery and Moo being twins that don’t get along….Moo’s animations are smoother! Hah!

  17. @David: Oops! I guess I hadn’t looked at that close enough. Based on most of the code samples I had looked at, I had assumed that it was namespaced (I guess because most operations tend to be performed on a return from the selector engine).

    @Mike: I recant – maybe Mootools is really Prototype’s evil twin brother!

  18. @Jeremy: Hmm. If Moo and Proto are twins, Proto is the fat one and Moo is the athletic one.

  19. @David: …and jQuery is the hot sister… :p

  20. @Jeremy: OK, I’m good with that. While I keep hearing from my friends that jQuery is hot, I don’t want to tinker with my sister.

  21. Jeremy,

    All I meant is that there is nothing but the browser keeping you from writing horrible javascript code. Same for HTML.. FF and IE will even correct misspellings etc in your html and css. If such a thing happens there is nothing letting you know other than validating it or getting an addon. With PHP you at least have several layers of notices, warnings, and errors telling you that you screwed up and to the Nth degree.

    If you want to call PHP flimsy, quick/dirty, or too flexible and then suggest it should be more like javascript then you’re really asking it to be more flimsy, quick/dirty, and flexible. I hope this better illustrates my point

    ..to put it as nicely as possible.

  22. @Mike: I wasn’t hating on PHP. I don’t believe it’s flimsy or too flexible. I guess I see PHP as having an identity crisis. I’d like it to be more flexible. For example, I’d like to code:

    $first_item = explode(',',$mylist)[0];

    instead of:

    $value = explode(',',$mylist);
    $first_item = $value[0];

    That’s the sort of flexibility I mean.

  23. @Mike: I can understand your point. I will definitely admit that languages such as PHP and JavaScript do lend themselves to “quick and dirty” code (sometimes the emphasis being on dirty). However, I would also have to suggest a stronger separation between “too flexible” and “flimsy”. The lack of design/compile time type checking, or other enforcements found in many other languages, are actually an empowerment and are true “features”, rather than signs of a lazy language. And upon re-reading my comment, I apologize for coming off as too ornery – I did not intend to respond at a personal level….

  24. /dev/null

    Wow, interesting opinions there. However, I disagree about PHP. PHP is not meant to be quick and dirty, I have no clue where you people get that stuff. PHP is supposed to be a powerful, flexible web development language, and it does that well. Javascript can’t do half the things PHP can (password authentication, database connection, anyone?)

    Oh, and I disagree about emotes. What’s wrong with them? I only hate the ugly ones.

  25. @/dev/null: As long as I’ve known PHP, it’s been considered the “quick and dirty” server side language. Also, my main point was that I wish its syntax was more like javascript, like my example above.

  26. @/dev/null: I think “quick and dirty” is fair to some extent. For example, if I wanted a server side script to simply print out a random quote, PHP is “quick and dirty” in that I don’t have to deploy a .war or go through the headache of configuring IIS for a .net application. 10 lines of code and any old LAMP configuration and I’m done. I do agree, however, that it’s not fair to “constrain” PHP to quick and dirty applications. There are certainly enough real world examples out there to demonstrate that it is, as you stated, a powerful, flexible web development language.

    Regarding PHP being more “powerful” than JavaScript, I would have to contend that you’re comparing environments, rather than the language itself. JavaScript is purposefully limited due to browser security concerns, but these limitations are not inherent in the language itself.

  27. @david – I didn’t mean to suggest you were hating on php, just that your suggestion could further degrade it’s credibility within the community. As far as your example, I think a lot of that has to do with the fact that variables in PHP are not objects and such do not have those built in properties. This is also a subject of huge debate and I believe it may be on the verge of changing in the next couple of major versions.

    @Jeremy – I absolutely agree with you. PHP’s flexibility is a true feature and does allow you to get things done quickly. However, there is a time and place for that and a lot of people code that way 24/7. There is a point where procedural code must stop, and objects begin. When people hate on PHP, I believe they’re knocking the fact that PHP allows you to write in several ‘styles’ no matter the situation. It’s up to the coder to decide what the best style is for the situation.

    btw, keep it up David.

  28. With #2 – I’m onboard, except it’s kind of a caveat – I mean, we’re talking about opening “filetypes” in new windows vs. what most people think of as links (html, php, jsp, etc.).

    With #3 – That’s horrible. I refer to a lot of stuff you write for reference (and am slowly trying to document it all down so I can quit referring myself). I use mootools on a lot of client sites.

    With #7 – isn’t that the point of being a developer though? No one is perfect out of the gate, it’s a continual improvement experience. Every day I think I get a little bit better.

    With #13 – That’s a huge misconception. Valerio never helped though, he was quite an ass on the message boards and probably should’ve delegated his moderator tasks to someone else. He got pretty aggressive pretty quickly.

    With #14 – I sadly agree.

    I’ve talked to a few people about the MooTools book, and it’s like the book gives MooTools “credibility” or “relevancy” to those outside of the tech area. When a PM/MGMT has a book in hand they can refer to, it becomes “more enterprise” and less “free open source.” Political bullshit, basically.

  29. William

    About #12
    It’s true, some of the “new features” of HTML5 and XHTML 2.0 does not surprise as it should. Most of them was made to “free” divs (since nowadays we use it a lot), and some others are the very same elements we already use, but with native CSS applied (like the NAV tag).
    But there’s one thing I think it would really help: layout (like Java and ExtJS). Imagine if, to make a layout, we just had to create a container (could be body) and the regions? And the regions would adjust itself by the container. Something like this:

    <body>
    <layout fit="true">
    <region dir="north"><!-- header --></region>
    <region dir="west"><!-- menu --></region>
    <region dir="center"><!-- content --></region>
    </layout>
    </body>

    No more CSS frameworks and JS workarounds. Just plain HTML.

  30. What a great post! By why, on earth, you prefer IE6 over IE7? When I see IE6 I feel as if I’m back to ’90!

    Besides that – awesome!

  31. @Janko: IE7 is bloated, “heavy”, and slow. IE6 is very quick.

  32. Nice article. But IE6… really?!?
    I will take slower but works (mostly) over faster and broken any day of the week. The ability to used advanced CSS selectors, min-width/height, max-width/height, fixed positioning, and semi-transparent PNGs, trumps the speed issue for me. Not having to make sure sites work right in IE6 would cut down on development time as well.
    That being said, IE7 does need to be faster.

Wrap your code in <pre class="{language}"></pre> tags, link to a GitHub gist, JSFiddle fiddle, or CodePen pen to embed!