Like any being that thrives in the urban environment, I'm finding ways to take both the good and bad that is around me and use it all as raw material to survive, to be inspired, and to create. House music, rare grooves, and obscure B-sides are the soundtrack. An accomplished graphic designer, web developer, and writer, communicating with the soul is - after all - the thing that I live and love to do.
~ George Carlin
The post Rights aren’t rights if someone can take them away; they’re privileges. appeared first on Qa'id Jacobs.
I’m here in Amsterdam on a secret and brief mission. My tools for this trip:
The post My Amsterdam Secret Mission Kit appeared first on Qa'id Jacobs.
Ten years ago I read a story, “Food of Paradise,” about a person who was trying to find ultimate truth. What a notion! An ancient notion: the story was written in the 12th century. (I don’t know many of us who are currently questing for such things in the 21st century.) I loved the story and always wanted to tell it to others, but I could never get the details consistently correct to the degree that re-telling the story would be consistently entertaining.
I decided to commit myself to memorizing the story verbatim, but it was so long that proved difficult. Guessing that I’m more of an auditory learner (given my passion for music) and a thorough hip hop head, I thought it would be strategic to re-create the story in rhyme and then memorize that. I set about the task and ended up having a great time re-writing this tale. The original story was 1,934 words; my re-created version is 6,604 words! So much for making it easier to memorize (even given the rhyming verses).
Although my original goal of rendering the story easier to memorize wasn’t achieved, in the process of trying I created a literary work that I’m really proud of. It’s a great story with interesting twists and turns and a surprise ending. It’s also a whole chunk of data that I can now use as a basis for all kinds of interesting web projects!
Originally this story seemed perfect for a website with a parallax scrolling effect. The parallax scrolling approach is great for narratives, among other things. There are plenty of resources online that explore really great parallax websites and even some tutorials that take you through the steps to create one. JavaScript is at the heart of the parallax design approach: changing presentational styles based on scrolling position/activity. There are even many JavaScript libraries out there devoted to executing parallax. The one that interested me most was the Super Scrollorama plugin, but that ended up being too much of a handful for what I wanted as a first stage of using The Food of Paradise on the web.
When I’m looking for inspiration and great uses of code, I often check out CoDrops. Recently I saw a tutorial they posted exploring the use of the BookBlock jQuery plugin to make a Fullscreen Pageflip Layout. It was the perfect starting point for The Food of Paradise. I went through the tutorial, built my own local version, applied my own styling and tweaked some code and settings, and voila:
The site uses cool things like Border-boxgoo and Modernizr to achieve an accessible, degrading, page-flipping bonanza of good, rhymed reading.
[UPDATE March 4, 2013: I created a Github repo of this project in case others find it inspirational as well, or in case people find ways to help make my iteration even better.]
I am looking forward to the ways I will be able to freak and tweak this body of work to thrive on the web in ways beyond the static literary read for which I originally conceived the story.
The post Retelling An Ancient Tale (with jQuery) appeared first on Qa'id Jacobs.
TL;DNR: I changed my DJ name because I could and it was time.
One of the many great things about being a DJ is that you get to create a new name for yourself. Whenever you want! Of course, if you ever achieve any name recognition you are essentially throwing that out the window, but a dramatic shift in identity is not only a right and an option, but also a great thrill!
It looks like these thoughts will ramble on, so instead of trying to make the space and time to write it down all at once, instead I’d break it down in small pieces. Some of the things that I endeavor to touch on include:
Quite a list. I hope I get to it all and manage some insightful writing. My experience of Fatherhood so far has been the catalyst for these thoughts and this writing.
I was named by my Mother and Father; they gave me a name in the Arabic language – actually two names, my fist and middle names. Both my names are very meaningful to me: my first name is more of a title of leadership than a proper name, while my middle name is an attribute anyone would want associated with themselves. And it turns out that these names have effected the path of my life in no uncertain way.
Growing up in the United States and having an Arabic name has meant having to explain and correct its pronunciations ad infinitum. Occasionally it’s been embarrassing; like when cuties I was already nervous to approach would force me to repeat my name so many times and still not get it right. Converversely, quite often it’s been an occasion to be defiant, proud, and unapologetic; like when I get to loudly correct someone who has loudly and rudely mispronounced my name (high school teachers, I’m lookin at you). Beyond that I honestly try to embody and infuse the definitions of my name(s) into my actual personality every single day. There hasn’t been a day yet where I’ve been completely successful, but it’s a virtuous routine that I believe will be with me forever.
The post Why I Changed My DJ Name, or Identity Fluidity, Part 1. appeared first on Qa'id Jacobs.
I decided to jump into CoderWall today after reading Sam Saccone‘s 3 Demands of an Effective Frontend Dev article, which was pretty insightful – and brief. (BTW, I came across the link to Sam’s piece at LayerVault’s fantastic, open-source-y mysterious, Hacker News-like Design News listing of design and development related resources, which I saw listed in Thursday’s Sidebar.io email.)
For my first post on CoderWall, I wrote about creating a rule in Outlook 2011 for Mac that automatically archives read emails from the inbox. Stunningly exciting. It was really just an exercise in familiarity as I wanted to explore the platform and not contribute something totally useless. Their editor is pretty fresh – it allows you to compose in Markdown and features a preview feature that launches with keyboard shortcuts. Slick.
In any event, here is the post in its entirety:
You’re on Coderwall already so you’re dope at what you do. But If you’re stuck in a corporate environment that requires your use of Outlook 2011 for the Mac with its lackluster archiving tools, here’s a quick rule you can set up to keep your Outlook inbox (or any other folder) automatically clean; on a weekly basis it will automatically send read emails to a folder you’ve identified as the archive folder.
Everybody wants to start the new year with a fresh and clean slate (or inbox). I’m sure I don’t need to big up the advantages of inbox zero to this smart crowd.
Duh.
This was an aspect that I previously missed and couldn’t figure out why Outlook was so daft. In order to create a complex rule with some intelligence, you’ll have to create it on ‘My Computer” and NOT on the Exchange Server. Huh? I know – Outlook is daft after all.
Hit cmd + , for Outlook Preferences and choose Rules
Click on the Exchange item underneath “On My Computer.”
I’ve already got a “daily inbox archive” rule set up.
The options Outlook offers are pretty robust at this point. You can basically tell it “if I’ve looked at the email and it’s a day old, archive it. If I haven’t looked at it, don’t touch it.”
- When a new message arrives: [option] If all conditions are met
- [option] Date Sent [option] Is [value] 1 days old
- [option] Status [option] Is [option] Read
- Do the following: [option] Move Message [option] Archive.
Enable it. Ok it. Enjoy it.
Bonus pro tip: borrow from the Getting Things Done method and decide on the spot whether your email needs action right away, can go into the archive folder right away, or can be trashed right away. Sometimes the action might be to send that email to OmniFocus or whatever your task management system of choice may be. Whatever it is, do it quick, don’t waste cycles on it, and get back to your hustle.
The post My first post on CoderWall.com appeared first on Qa'id Jacobs.
UPDATE: Nada. Nothing. No response, no mention, no glory, no solution (other than the one I’ve already mapped out). I’ve since come across what looks like a good solution: running the csstosass conversion tool baked right into Sass called sass-convert.
Because I’m interested in the development of HTML, CSS, and JavaScript, I’m a regular listener of the Shop Talk Show podcast, hosted by CSS-Trick’s Chris Coyer and Paravel developer Dave Rupert. These guys are down to earth, speak in English I can understand, and bother breaking stuff down.
The format of the show involves a short news/ [hot]drama section, guests, and listener-submitted questions answered by the hosts. One of the projects on my horizon is the Sass-ification of an existing large scale website. In other words, I manage a big ol website built on a handful of templates all styled by a single massive CSS file. As an exercise in Sass, Compass, and Scalable and Modular Architecture in CSS, I’m looking to re-create and organize the website’s CSS file. Fun!
I had a fleeting thought that I should ask the Shop Talk Show guys how best to approach this kind of large-scale project. So, as [another] exercise in executing the decent ideas that cross my mind, I went ahead and recorded the question and sent it to the Shop Talk Show. Hopefully they’ll play it and answer the question!
Before I recorded anything, I drafted a super long version of my question and then cut it down to something more reasonable. Here’s my first version of the question:
“Live from the planet of Brooklyn, this is Qa’id and I have a question about sissifying – if you will – an already existing biggish site. This might be a bit redundant considering the recent episode with Harry Roberts, but I think it covers some new ground.
For one of my projects I’ve inherited a Drupal 5 site built in 2008 with a heavily and cryptically customized theme featuring lots of browser compatibility hacks. There is one traditional style sheet that governs all presentation on the site and it’s 1200 lines of sorta disorganized code when compacted.
(Did I mention that I’m a WordPress developer by preference? You can imagine how much I’ve loved holding up this aging install).
Over the years I’ve made small improvements here and there like replacing background images with CSS, optimizing then re-uploading all the images, and implementing a CDN and minifying to files pulled in http requests in order to reduce load times. All the while I’ve been campaigning for a redesign and a migration to WordPress which is finally coming to fruition some time in the next year.
In the mean time I’ve been studying and implementing Sass when writing code for my other, smaller scale projects and getting comfortable with with the tool set of Coda, CodeKit, and Git repos using SourceTree. As my final hurah for that old version of our website I’m determined to completely rewrite the site’s css using Sass and Compass. Not only will it be a great exercise for me, but will ostensibly further optimize and organize the code of the site making it more accessible and a better resource.
The advice I’m seeking from you guys is how do you think I should approach this RE-organization feat?
This was a long question and I appreciate you taking the time to listen. Your insight into any one or all of these quandaries is much appreciated in advance. Live from the planet of Brooklyn, Qa’id out.”
Cheesy – I know – and long! So I cut it down to this:
“Hey folks – this is Qa’id and I have a question about SASS-ifying – if you will – an already existing biggish site. This might be a bit redundant considering the recent episode with Harry Roberts, but I think it covers some new ground.
For one of my projects I’ve inherited a Drupal 5 site built in 2008 with a heavily and criptically customized theme featuring lots of browser compatibility hacks. There is one traditional style sheet that governs all presentation on the site and it’s 1200 lines of sorta disorganized code when compacted.
In the meantime I’ve been campaigning for a redesign and a migration to WordPress which is finally coming to fruition some time in the next year. As my final hurah for that old version of our website I’m determined to completely rewrite the site’s css using Sass and Compass. Not only will it be a great exercise for me, but will ostensibly further optimize and organize the code of the site making it more accessible and a better resource.
The advice I’m seeking from you guys is how do you think I should approach this RE-organization feat?
Would it be sensible to use CSS Lint as my first diagnostic step?
How about CSS Comb – is it going to be useful to use on a set of code that probably won’t live to see too many more months or edits by anyone other than me?
I gave Snook’s SMACCS a read, but honestly found it a little obscure upon first read – is there an easier way to understand how I can “modularize” the existing css code?
Should I start a Kickstarter and record my process in order to achieve wealth and fame? Just kidding there, but any other wisdom you can offer in order that I might get the most erudition and fun out of this task would be super appreciated.
Live from the Planet of Brooklyn, Qa’id out.”
And here’s the audio I recorded:
We’ll see what happens.
The post Pondering Sass-ification (Updated) appeared first on Qa'id Jacobs.
To be awesome or not isn’t really a question I personally struggle with: fact is that I go as hard as possible on everything until I hit a wall or obstacle, at which point I try my best to solve that problem in whatever creative ways I can muster. I’m a designer — that’s what I’ve been training myself to do. And as long as it’s in the realm of personal projects or projects upon which clients ask me to innovate, I find this to be a perfectly good way to go about my work.
However, I think this approach fails when you expect someone (who you don’t know well) to follow in your steps — and you don’t want to be a jerk. On a micro level, this is the kind of dilemma one avoids by writing well documented code: your notes and thought-process will be accessible and visible to the person looking at understanding or making changes to that code. Simple future proofing.
The scenario I’ve been contemplating is more of a macro thing. It might even be meta [or insert any other current meme-y buzzword without a consistently agreed upon definition].
Well-formed and commented code is one thing, but what about future proofing an ENTIRE JOB? How do you “comment out” those important pieces of knowledge so that the next person – and only the next person – will be able to pick them up and utilize them?
I’m going to say it comes down to two things:
This is obvious. Just as with code, the instructions you leave for your predecessor should be clearly written and easily accessible.
Creating a binder (physical or electronic with something like a shared Evernote notebook) divided into categories representing the broad areas of work this current position entails seems like a good start. Beyond some simple grouping, I can’t think of how I would further organize that info, so I’d initially dump everything into this kind of thing:
WORK AREA NAME
I presume that as these buckets begin to fill, I’d see patterns or useful ways to further organize this info.
This is the less obvious part. The part that I’m not so sure about: restraint. In other words, you got your job with a certain set of skills; any position is probably expected to grow somewhat, but keeping the required skill sets from expanding too too much is considerate and strategic. As you do your job, do not go so far above and beyond that the next person to fill your job will have to be someone with a skill set that is necessarily beyond what anyone in the company/organization [other than yourself] can even grasp.
An example: you were hired to mow the lawn every friday but instead you not only mow the lawn but you get all horticulturally masterful on ‘em and make sculpture out of the shrubbery. The garden owners are not going to say, “hey, don’t make an elephant out of that bush,” they will just sit back, look at your hustle, and enjoy the outcome. As you learn about new approaches to keeping plants and trees on the cutting edge of design, you try them out and they’re fantastic; your ideas push this garden to never before seen beauty.
But then one day it’s time for you to move on to focus on additional gardens. You won’t have the time or interest to keep up the masterful manicuring of this garden’s presentation. No sweat off your back, you think, they didn’t hire you to create these leafy masterpieces. They created you to mow the lawn. So finding the next guy to mown the lawn shouldn’t be too hard at all. Right?
It’s just that a simple mow of the lawn is no longer what’s needed in the garden. No one has asked you to, but you’ve have been irresponsibly awesome, and have raised the bar to the point where the folks running the garden are going to find it hard to find a similarly skilled and affordable person. Nicely done.
So what is a budding Landscape Architect to do? Stop themselves from reaching for that design nirvana at the end of the branch? Be happy just sitting a top a lawnmower going round and round? No. Impossible. And this is the dilemma.
Does being a conscientious collaborator at work mean one should be dialing back their ambition or ideas. I think so – if executing them means the institutionalization of infrastructure that cannot be easily maintained. The sentiment doesn’t even feel right coming out of my mind, but it does seems like the considerate thing to do – and probably even the philosophically moral thing to do. So perhaps, it makes more sense to focus the expansion of your skillset onto sideprojects whose consequences don’t impact what happens at the job.
Eh, never mind, I’m gonna choose fully awesome every time. Sorry to the next person who can’t hold it down; you need to get your weight up.
The post Be All That You Can Be … Not Really Tho. appeared first on Qa'id Jacobs.
It took a season of research, learning, listening, and practice, but I am now consistently designing and developing web content using these powerful groups of tools:
GIT for revision control (through X-code’s Command Line Tools, the SourceTree app’s management of repos, and BitBucket.org‘s cost-free online hosting of those repos).* [UPDATED Dec-07-2012] About 50% of the time I develop fully locally on my machine with an instant LAMP stack for Mac called MAMP. Totally slipped my mind before, but now ya know.
SASS for speedy and correct CSS authoring (through the CodeKit app’s error checking and css compilation).
[SOCIETAL NOTE: as a man in this world, I try to be conscious of my role in sexism and patriarchy in order to avoid constantly propagating the problem. In that vein, I've decided that the Sass logo is sexist and offensive. While the acronym Sass (Syntactically Awesome Style Sheets) has nothing to do with gender identity, the designers of the Sass logo, by depicting a woman enjoying herself on a corded phone, seem to have chosen to rely on the convenient connection between the term "sassy" and its relationship to describing women's behavior - a connection which is sexist. Boooo.]
Coda for aesthetically pleasing code authoring.
Instead of launching each of these pieces of software one-by-one, I shave off a few seconds every time by using the Alfred app to jump them all off when I enter the keyword “codefest.”
BitBucket.org? Don’t all serious developers live and die for Github.com?
It seems so. In fact, I have my own Github account that I use for keeping track of cool projects from others and for hosting the repos that I want public because they’re cost-free on Github when they’re public, but require payment to keep private. BitBucket.org, in addition to having a pretty fly interface and setup, is cost-free even for private repos. The first repo host I experimented with was Beanstalk, which seemed perfectly agreeable, but is also fee-based when it comes to private repos. The freemium account type Beanstalk offers is limited to 1 user, 1 repo, and 100megs of storage. Yawn.
The post Quickly Launching a Sass and Git-based Coding Environment appeared first on Qa'id Jacobs.