The day I fell in love with CSS

Share

The day I fell in love with CSS

I can still remember how I celebrated Canada Day 4 years ago (July 1st, 2005).  I am not necessarily proud of how I spent my time but it was definitely memorable. I woke up around 9:30am that day, ...

Ewakened @kentf

I can still remember how I celebrated Canada Day 4 years ago (July 1st, 2005).  I am not necessarily proud of how I spent my time but it was definitely memorable. I woke up around 9:30am that day, went outside and smelled the fresh air.  It was a warm 23 degree and the sun was shinning.  I read the first few pages of the newspaper, cracked open a Corona, said goodbye to the sunshine and retired to my computer in the basement not to see the light again until 8:00pm that night.

I spent the better part of 7 hours learning CSS (Cascading Style Sheets) that day.  If you are a follower of the Pragmatic Programmers (and I strongly suggest reading some of their work, namely The Pragmatic Programmer and Pragmatic Thinking and Learning) and the Dreyfus model of skill acquisition, I climbed from an advanced beginner to proficient that day.  In fact, I dare say I almost became an expert.

It was one of those times that you read about, when you are so engrossed in what you are doing that you loose track of time.  Eckhart Tolle would say that for a brief moment, my inner and outer purpose were connected and I experienced true presence, Deepak Chopra might say that I entered the timeless now and drew energy from the source of life itself to sustain myself that day.  My friends might say that I was a total looser for wasting one of the nicest days in recent years, in a cold dark basement learning a language that they learned in Grade 9 tech class.  Either way, something happened that day that has had a profound effect on my life as a programmer.  I fell in love with a language that is overlooked by so many.  I fell in love with CSS and have been hooked on making web sites ever since.

CSS does so many things right.  It is one of the purest forms of the MVC paradigm to date where your model, HTML, is decoupled from your view, CSS.  Granted you can easily couple them by using the <style> tag or even worse the style=” attribute,  for the most part it’s very easy to convince someone how beneficial it is to have your HTML and CSS in different files.  CSS, like HTML, is open source.  By its very nature it can be looked at and studied.  In fact, one of the most common things I do with the Developer Toolbar in FireFox is look at the CSS source to see how certain sites achieved fantastic effects, normally, the code is much simpler than it appears.  It also has such an intuitive way of cascading effects onto a page.  This kind of behavior is so simple but so powerful at the same time.  I am sure I can speak for all designers who love CSS when I say that there have been times programming in a desktop environment where you have wished for something as elegant.

My only beef with CSS is that even for the most seasoned professionals, you tend to repeat yourself a lot.  Unless you attach a class variable to every element, there will often be times, when you must duplicate selector code which is quite livable but does seem redundant.  However, no need to worry.  CSS has many smart people backing it up.  Putting aside the hundreds if not thousands who have influenced its design and standards through special interest groups and by the W3C itself, people like Chris Eppstein have created ground breaking CSS frameworks like Compass that gives developers unprecedented control over the style of a page.  Some of these frameworks, such as Compass are built on top of SASS (Super Awesome Style Sheets).  SASS is a domain specific language for writing CSS that allows for custom mixins, dryer code, variables, math and formulas plus a whole lot more.  There has never been a better time to be web developer.

As summer is approaching I am excited for this Canada Day.  July 1st, 2009 will mark a turning point in my career as a developer.  I am three months away from completing my Masters degree, I am working on one of the most exciting projects I have ever had the chance to be a part of, and each day more and more opportunities are arising where I get use an old friend to bring me joy and happiness in my work.  We are always learning new technologies and disregarding the ones that don’t stick, I am happy to remember the day that I fell in love with CSS, it has defined a chapter in my life and opened up my world to all kinds of great opportunities.  So… what language will you learn today?  At best it might change your life, at worst, you wont have to think of a title for your next blog post.

Read more

Introducing Runner

Introducing Runner

It was December 28th. I woke up at 6am and Cursor had been running all night. I had Claude working while I slept, writing code, pushing commits, doing things that would have taken me a full day. Just sitting there staring at the screen, coffee getting cold, and realizing life wasn't going to be the same. I got a taste of the agentic workflow and couldn't go back. Turns out I wasn't the only one. When the Christmas break ended, Charlie and Yitong, my co-founders at Agora, had similar epiphanies

By Kent Fenwick
How I build: Dec 2025 Edition

How I build: Dec 2025 Edition

I treat AI as a tool and like any tool, people can use the same tools in different ways to acheive different results. I recently realized that I use AI differently than some of my colleagues so I was encouraged to share how I code. Before I talk about the tools and tactics, it's important to remember that I have a golden rule when using AI to code: Don't get AI to build something you don't understand or haven't built at least 3 times before. CRUD application? ✅ Simple Tab View Mobile App? ✅

By Kent Fenwick
The Messy Middle

The Messy Middle

My family is moving into a new house and we wanted to do a little bit of remodelling upstairs. Nothing big, just closing off a wall, making a closet a little bigger and swapping out a sink in the bathroom. My wife's family owns a construction business, so we are lucky to have an inside track with contractors and knowledge. My father in law is a genius, he runs his own construction business but still made time to come and measure, sketch and draw up the plans himself. My wife and I his customers

By Kent Fenwick
Someone needs to hear it

Someone needs to hear it

So, you want to write something but you are feeling like you can’t finish and post it for a really simple reason: there are 6 people in the world smarter than you on this topic, surely they should write it not you. During an interview today for Agora’s product manager, a warrior of art reminded me of this mental block and it rung so true. How many great pieces of advice, lessons, ideas and inspiration are left unsaid due to someone feeling as though they aren’t qualified enough to talk about it

By Kent Fenwick