Meta tags:
description= A web architect on a mission to bring software development practices to web design.;
keywords= Chris Eppstein, chriseppstein, sass, compass, css, ruby on rails, ruby, rails, designer, developer, web applications, javascript, UX, UI, design, programming, javascript, xhtml, semantic markup, position, unique;
Headings (most frequently used words):
eppstein, and, design, source, susy, content, 2009, christopher, chris, with, inspiration, from, brandon, mathis, browse, site, help, nanoc, by, powered, open, me, about, post, featured, unique, position, sass, in, complexity, balancing, code,
Text of the page (most frequently used words):
and (32), sass (28), the (27), #that (22), you (17), #have (9), #code (8), #ideas (8), #language (7), are (7), #when (7), for (7), #this (6), #people (6), too (6), #them (6), make (6), they (6), things (5), actually (5), every (5), features (5), will (5), far (4), can (4), try (4), but (4), out (4), more (4), your (4), has (4), not (4), #complex (4), something (4), instead (4), maybe (4), source (4), about (4), syntax (4), where (3), very (3), then (3), maintainable (3), top (3), doing (3), don (3), feature (3), might (3), read (3), fact (3), because (3), stylesheet (3), only (3), eppstein (3), one (3), been (3), compass (3), find (3), what (3), strong (3), itself (3), reach (3), point (3), use (3), blog (3), complexity (3), open (3), well (3), with (3), pattern (3), day (3), bad (3), good (2), able (2), fix (2), natural (2), extend (2), doesn (2), idea (2), some (2), way (2), had (2), recently (2), new (2), chris (2), should (2), unmaintainable (2), working (2), design (2), become (2), little (2), abstraction (2), position (2), bit (2), post (2), unique (2), head (2), being (2), simplification (2), see (2), linkedin (2), bug (2), turned (2), need (2), let (2), happy (2), want (2), less (2), core (2), developers (2), may (2), simply (2), saw (2), even (2), css (2), discover (2), better (2), original (2), case (2), would (2), github (2), many (2), projects (2), grant (2), who (2), complicated (2), were (2), project (2), say, shake, other, technologies, true, first, user, introduced, buck, wither, sometimes, experience, mixins, deep, share, extended, nest, lots, great, trends, critique, realize, tend, medium, die, terrible, spread, particular, always, browse, myself, secret, hard, success, key, think, between, keep, psst, single, increase, continued, expressiveness, writing, simplify, added, understand, formalization, eye, any, archive, home, work, tweet, featured, balancing, patterns, already, existing, nice, put, languages, templating, simplified, initially, onto, progressed, expect, found, right, done, created, gone, saying, useful, behind, blogging, someone, calling, going, behavioral, implementing, hidden, question, imagine, interesting, used, behavior, express, now, users, maturity, starting, how, powerful, crazy, unintelligible, made, shark, jumped, developer, willing, seeing, taking, presents, live, san, jose, california, wife, daughter, comments, abstractions, stable, updates, often, long, coherent, hacker, tested, api, codebase, usually, whole, rare, dig, yourself, just, filing, hoping, finally, look, architect, patches, causes, twitter, help, inspiration, from, brandon, mathis, content, 2009, christopher, powered, susy, nanoc, styled, back, creator, contributor, authoring, framework, team, upon, which, built, maintain, dozen, known, ruby, libraries, rails, plugins, active, concept, scratch, risk, undo, yet, encourage, tried, net, negative, leave, also, afraid, write, all, means, document, test, mistake, entirely, concepts, implemented, pure, feel, limitations, otherwise, practice, appreciate, attempt, works, community, needs, these, sure, easier, implemenation, accessible, reaction, whoa, much, cool, figure, humbly, submit, short, sighted, underlying, implementation, web, incredibly, neatly, towards, tucked, away, across, barrier, inherently, everything, really, self, host, designers, site, makes, part, set, subscribe,
Text of the page (random words):
chris eppstein position unique subscribe blog archive home blog projects work chris eppstein position unique tweet featured post balancing complexity in sass psst i want to let you in on a little secret about sass let s keep this between you and me sass doesn t have any original ideas in it i think this is actually the key to sass s success original ideas are hard to understand every single sass feature is simply a formalization of what developers had already been doing initially sass features simplified what developers were doing in css or in templating languages on top of css and simply put a nice abstraction on top of existing patterns that we saw in use every day as sass has progressed we have turned that eye of simplification onto sass itself recently some sass features have been added to simplify the sass code we saw people writing every day and the language s expressiveness has continued to increase as sass has become more powerful we are starting to reach a very interesting point in the language s maturity sass users are now able to express in sass syntax complex behavior for things that they would have used to only imagine as language features as you might expect when implementing a complex behavioral pattern in sass the code is going to be complicated recently i read a blog post calling out someone blogging about a sass pattern they ve found useful and saying that they had gone too far and created code that is unmaintainable but if it s done right that complexity is hidden behind a strong abstraction so the question is how far is too far when has a sass developer jumped the shark and made something that is unintelligible and unmaintainable i ll grant you sometimes i read a sass user s code and i shake my head and say to myself i see a pattern as new sass features are introduced or when people first discover the language this is true for other technologies as well we want to try them out and in doing so we tend to reach a bit too far maybe we nest too deep maybe we make too many mixins or extend things that should not have been extended because we can and then we experience this and realize it s not better and then we find the happy medium of when and where to use a particular feature i will grant you that concepts implemented in pure sass might not feel as natural as if they were in sass itself in fact the limitations of the sass syntax might make an otherwise good idea bad in practice but i always appreciate the attempt to find a simplification that works every community needs these risk taking crazy people who are willing to buck trends and try things that may actually be terrible ideas because the only way to have a great idea is to have lots of ideas and for us to share them try them and critique them bad ideas will wither and die but the good ideas will spread because they will make people s code better i would encourage people who have tried to do something in your sass project only to discover that it turned out to be a net negative you need to undo that mistake don t leave bad ideas in your project but also don t be afraid to try them and if you write something complicated by all means test it and document it i for one am really happy to see sass reach this point where the language can self host new ideas as one of the language s designers seeing things actually working for people makes a very strong case for what should become part of sass s core feature set or maybe they point towards features that make it easier to extend sass s syntax in a more natural way i m not entirely sure yet finally when you look at a some concept that causes you to scratch your head you can actually read the implemenation and when you do if your reaction is whoa that s too much instead of cool i can figure this out then i humbly submit that you are being short sighted the underlying implementation of everything you do every day when working on the web is so incredibly complex the fact that a little bit of that complexity is accessible to you instead being neatly tucked away across a language barrier doesn t make things inherently less maintainable in fact it may make them more maintainable strong abstractions are stable and don t need updates very often so even if the code is complex that s ok as long as it presents a coherent well tested api you will have a codebase that is usually more maintainable one the whole and in the rare case where you find a bug in sass code instead of in something in sass itself you ll be able to actually dig in and maybe even fix it yourself instead of just filing a bug and hoping for a fix comments about me i am an open source hacker and stylesheet architect at linkedin i live in san jose california with my wife and daughter open source i m the creator of compass a stylesheet authoring framework and i m on the core team of sass the stylesheet syntax upon which compass is built i maintain about a dozen less well known ruby libraries and rails plugins on github and am an active contributor of patches to the many open source projects that i use twitter github linkedin back to top styled with compass powered by nanoc and susy design content 2009 christopher eppstein with design help and inspiration from brandon mathis browse site source code
|