existdissolve.com
the singularity of being and nothingness
the singularity of being and nothingness
Aug 30th
So a coworker and I are always talking about code. Not terribly interesting (especially for people who aren't in the biz…), but sometimes we make ourselves laugh. Yes, I know. I am a huge nerd for finding conversations about code to be funny…
But anyway, the other day we were talking about XHTML validation (you're welcome to start sleeping about right now, if you wish) and how validation fails if there are markup tags that are not "closed" (e.g., a "div" tag that hold an image, text, etc. needs to have a "closing" tag to tell the browser what it's dealing with).
Somehow, the comment was made that life feels like failed XHTML validation–replete with open "tags" of disappointment that never close…
Boy, I made myself bored just writing this. Appartently my line of work is dorky and lame. Oh well.
Share this:Aug 24th
One question among a million has plagued humanity for thousands of years, and still remains without an answer. No, it's not theological, and it has nothing to do with chickens and their alleged eggs. Rather. it is the question of whether you should bid out your next job based on number of hours or a project basis.
This question is tricky, and I know every designer has a lot of different opinions about the subject. And in all fairness, all sides probably have a legitimate argument. So instead of arguing for a particular perspective, I'm going to simply explain my own view.
From the moment I began freelancing, I have always quoted my jobs on a project basis. Here's a few reasons why:
First, I worked for nearly three years in a law firm where everything was billed by the hour. While legitimate work was done, a standard practice in legal billing is to assign certain number of minutes (or hours) to certain tasks. So for example, every phone call is billable for 10 minutes worth of time, even if it's 45 seconds long.
Now in my last post, I argued that a legitimate part of billing your customer is for your expertise, and More >
Aug 19th
Okay, I'm going to take a bit of a detour here from the "series-in-a-series" that I've been doing to quickly blog about an invaluable CSS trick that every designer needs to use as often as possible.
So here's the scenario: You have a blog that's going to have pictures in it. The thing is, you want to be able to float the images either to the right or to the left with some margins applied. Oh yeah, you also want to have, say, seven different border-color options. And did I forget to mention that you also want different padding between the image and border?
What to do, what to do? When I first started, I would have sat down and mapped out a class for each "scenario." For example, for the left-blue-2px-bordered option, I would have created something like "img.leftbluetwoborder." While this will, of course, work, it's not usable. Who can remember "leftbluetwoborder", not to mention the 23 other similarly named classes? So what's the alternative to this terrible mess?
Enter what I call "class overloading." What is this? Simply, it is applying more than one class to whatever you're applying classes to. So if I have an image with "class='myimage'", with More >
Aug 12th
Okay, so at some point as a web designer you're going to come across a project where you have to design some kind of gallery with image thumbnails.
In an ideal world (e.g., Photoshop), all of the thumbnails will be precisely the same size, so plugging them into nice little skins (the "pretty" that you put around them) is cake. Unfortunately, the real world ain't like that. In the real world, you have hundreds of thumbnails to deal with, none of which will probably ever be exactly the same size.
Now, of course, the thumbnail skins still have to work. So what should you do?
The first thing to NOT do is hard-code the "width" and "height" attributes of the <img> tag. Super bad idea. Okay, not a TERRIBLE idea, but it will inevitably lead to some funny looking thumbnails as the img tag will stretch or shrink your image to fit these values.
So what's the alternative? Well, ideally, you'd be using Coldfusion 8 and could use the super-cool built-in image manipulation tools to properly scale and crop every image to be the same size. Ah, but we're not in an ideal world!
The second alterative I've found that works to a limited More >
Aug 11th
Wow. I haven't posted here since the middle of May.
Well, I've been busy…and whatnot.
For the last several months, I've been extremely busy with my company, Singularity Concepts. I've launched several websites and currently have some "bigguns" in progress.
But for some reason, I've gotten the theology bug recently. So here goes.
The other day, I came across a post talking about problems with Arminian theology. As was once my practice, I jumped into the fray, gunning down the arguments of my Calvinist detractors (not to difficult, but good sport nonetheless). At one point, one of the Arminians actually defended the Reformed view of the atonement, and pointed me to a post somewhere which he believed was a "great" defense of PSA theory from a non-Reformed perspective.
Needless to say, the argument highlighted was terrifically weak and philosophically thin, but one point did pique my interest. One of the fundamental arguments made by the author for his view of atonement is that sin damages God's glory, and that this glory must be restored.
Obviously, this is nothing new. Beginning primarily with Anselm, theologians have thought this way about atonement. Simply, they suggest that in the fall and continuing sinfulness, humanity degrades the glory of More >
Jul 28th
Some people on the internet are jerks. They like to write scripts that roam the interblog, trying to muck with people's sites for their own gain. A common tactic is SQL injection, and it can suck out loud if you get hit with it.
Over the last week and a half, I've been attacked 5 times by the same malicious code which tries to use SQL injection to modify my database.
Wait, what is SQL injection? Basically, it's when someone takes an "in" to a query you're already running and adds their own SQL into it that executes an additional SQL command on your database. So for example, let's say you have a query that runs based off of a URL parameter, like this: http://css-imagine.com/gallery.cfm?siteID=12. In this method, my page looks to see if the URL parameter "siteID" exists, and if it does, it runs a query that looks for and retrieves information that equals the value of the argument "siteID" (here, it's '12').
What SQL injection would try to do with this, then, is to add some additional SQL to the end of my query string, hoping to find a hole to exploit and execute its own commands.
So how do More >
Jul 16th
Pop Quiz!!! What's the worst possible thing that can happen to your freelance project? Okay, besides not getting paid for all your hard work, what's the worst thing that can happen?
I know there's some out there that will say the answer is that they will not get enough inspiration for the project, and will burn out on an only marginally interesting design. Others might swear that the answer is that they'll overbid the project and feel guilt about over-charging their client. These people are crazy, by the way.
Seriously, though, the real answer is scope creep. What, exactly, am I talking about?
First, let's lay down a definition. While I'm sure many will disagree, this is how I define scope: "A description of all deliverable products, including their requirements and features." Pretty simple, really–it's an outline of the project, from start to finish, that defines what things are going to be produced for the client, down to the level of specific product features and functionality.
So yeah, this seems simple enough, but the truth is far from that. Why? Well, there are a few reasons. First, alot of inquiries to my site look like this: "I need a blog. How much do you More >
Jul 13th
So you've refined your HTML and CSS skills. Excellent. You've become a master of all things Adobe. Perfect. You can code a custom blog in your sleep (and have the code snippets to prove it). Good for you.
So what's next? Well, unless you code only for the sheer enjoyment and self-actualization of it, you're going to want to make money. And making money will require clients, and clients require BEING EXTREMELY CAREFUL!
What do I mean? Well, when I started freelancing, I was incredibly naive about customer relations and managing my projects. I quoted low (had to get the deal, right?) then killed myself to get the under-bidded job done on the ridiculously tight timeframe that I agreed to.
I have learned some hard lessons about customer and project management, but they are crucial to becoming a more professional web designer AND getting what you're worth as a designer for the work you do. So over the next few installments of this series, I'm going to be reflecting on some of the lessons I have learned–and am still learning!–that will hopefully help you in your customer managment.
Tip #1: Realistic Bidding
Okay, so it's common for those just starting out with freelancing More >
Jul 5th
When I got into web design, table-based design was already anathema. So for me, CSS was the most natural thing–it was the ONLY thing I knew. CSS made sense to me, and I really liked how I could granularly control the behavior of everything that I slapped on a web page.
One downside to this, however, is that I went a bit overboard. To get this control, I went with what I thought was the best route–uniquely class EVERYTHING. This, of course, led to bloated stylesheets and difficult to maintain code.
My problem? I failed to take advantage of default element CSS behavior. What do I mean? Well, consider the <h1> tag. By default, this tag is a block level element which means it will take its own "line" and force content which follows it to appear below. The same is true with the <p> tag. So what's the point? Well, let's say we use good semantics and have our page title be wrapped in <h1> tags. If we simply use the default behavior, the title of the page will be separated from any content that follows it–that makes sense, so why not use it?
And <p> tags? As most are aware, More >