Wednesday, November 7, 2012

Holy Grail? Really, CSS People?

I recently had a website to build where the desired layout was three columns - left sidebar, right sidebar, and center content. The sidebars needed to be fixed width and the center content area needed to be liquid and resize itself to use the remaining available space. Pretty standard stuff, right?
Now, CSS has a lot of good points, and I try to be a good girl and drink the Kool-Aid when it makes sense, so I sat down and started making divs. And failed. And failed And failed. CSS just would not produce the result I wanted. So, I said to myself, "Self, there are people out there better than you are with CSS. Surely one of them have solved this!" To Google I went! Where I discovered that the CSS crowd considers this layout to be a "holy grail".

I read dozens of complicated methods for achieving this. I gave some of them a try, but most simply didn't work, or only worked for certain content. That's not such a big deal. All tools have their strengths and weaknesses. What did make me facepalm is the lengths these people are willing to go in order to avoid using the tool that is sitting right in front of them and achieves this effortlessly.



I've got your holy grail right here. It's called a table.

<table style="width:100%">
    <tr>
        <td style="width:200px">Left Sidebar</td>
        <td>Center Content</td>
        <td style="width:200px">Right Sidebar</td>
    </tr>
</table>


There. Grail found.

Friday, October 26, 2012

Proper Gift Etiquette

Dear Abby,

I work for this amazing guy. I'll call him G. I love working for him, and I really feel like I owe him everything, but he did something kind of strange the other day and I'm not sure what to do.

G sent one of my colleagues to my house to have sex with me. I said I didn't want to, but he hit me several times  and then had sex with me anyway. The whole business hurt a lot and was very upsetting. I talked to a friend about this, but since I got pregnant from the event, my friend says that I must have wanted to have sex with my colleague after all or I wouldn't have gotten pregnant.

I asked why G did this and was told by someone who says they were at the meeting that G thought I was doing a good job and he wanted to do something really nice for me, so he got me a baby.

The thing is, I already have two young children with my husband. We weren't planning on having any more just yet, so this gift is a bit ill-timed. Also, if G wanted me to have another baby, I don't understand why he didn't send my husband to have sex with me, since I do that willingly.

I don't want to be ungrateful after everything that G has done for me.  He has given me a number of gifts over the years, but this is the first one that landed me in the hospital. Honestly, it really doesn't sound like him at all, but this other person claims to know all about it.

What do you think, Abby? Did G really send this person to forcibly impregnate me against my wishes as a gift, or is the person who told me that just trying to make themselves look important? 

Tuesday, October 16, 2012

When Good Analogies Go Bad

This is what happened to a recent Facebook post I made on the subject of gay marriage. I think it speaks for itself.


Friday, October 12, 2012

No, Really, I Don't Want to Remarry

It happened again yesterday. This time, it was the woman cutting my hair.

Her: Are you married?
Me: Divorced.
Her: Oh, well that's ok. You're young. You'll get married again.
Me: No, I don't think I will.
Her: What?! You're so cute though. Of course you will.
Me: No, I don't mean I couldn't get married again. I just don't want to.
Her: Well, you just feel that way now. You'll get married again.
Me: *sigh* OK.

For the love of Pete, lady! You're cutting my hair, and you only even do that about once a year. It's not like you know a damn thing about me! People - strangers - keep insisting that I must get married again and giving me these pitying looks when I tell them I'm not planning to do that. Even if I still happen to be "cute" enough that I could land another man.

I was with my ex for 20 years. For about 19 of those years, I was really happy. I would have been happy to stay married to him. It's not like I don't know what I'm missing.  I don't hate men; I like men. I've thought about it. I've considered my feelings and my priorities. I've looked at the quality of my life. And I've decided that the whole dating/romance/marriage thing is not something I want to do again. I've done that and now I want to do something else. I suppose I may change my mind at some point, but it won't be because I've finally emerged from my choking cloud of denial, or whatever these people seem to think I'm living in.

I'm happy. My life is good. I'm not alone and I'm not lonely. The only thing I've really given up is sex. I've had a lot of sex with a lot of people over the course of my life and, honestly, I don't have a problem with that. It's nice and all, but it's worth a lot less to me than what I've gained by just taking a pass on the whole business.

So, it would be good if people could stop treating me like not being interesting in remarrying is some sort of terminal illness, ok? As it turns out, while there are indeed other fish in the sea, there are also other seas.

Wednesday, October 10, 2012

Choosing a Webmaster

Everybody seems to have figured out that they really need to have a website for their business these days.

Excellent.

So they go out and throw thousands of dollars at the first person they don't understand. Because that means that person really knows what they're doing, right? RIGHT?

Not so excellent.

Then they figure out that they've made a mistake and are genuinely eager to correct it. To do that, they need another webmaster.  But they still have no idea how to choose one and they don't want to make the same mistake again. Plus they blew their budget on the first webmaster. So they decide that they're trapped and live with whatever mess they're original webmaster made.

Very not excellent.

If you choose a doctor, you know this person has, at a minimum, graduated from medical school and received a license. If you choose a lawyer, you know this person has, at a minimum, graduated from law school and passed the bar. Webmasters don't have any minimum requirements. Anyone can announce that they are one. So, how do you choose?

You Are Not Stupid

New clients often tell me how stupid they are because they don't know anything about how websites work. As if I could do their jobs!

There is no reason to expect that you should somehow simply have an understanding of website design. It's a skill like any other. The people who know how to do it sat down and learned it, just like you learned the skills necessary for your job. Your webmaster should be able and willing to explain what they are doing and why in terms you can understand. You are not required to blindly accept anything they say and sign anything they hand you. You don't need to understand all the technical details of how everything works, but they should be able to clearly explain what a domain name is and help you choose a good one. They should also be able to explain the benefit their choices have for you, not just for them.

When you ask questions of your webmaster, you should get answers, not technical obfuscations. Say you ask: Will I have to check another email address?

Bad Webmaster: Gobbledygook flux capacitor temporal shift tardis YOU MUST GIVE ME $500 MORE DOLLARS TO SAVE YOU FROM THE EMAILS gobbledygook blarg.

Good Webmaster: Not if you don't want to. I can set you up a professional email address, but forward the messages to your GMail account so you only have to look in one place.

Retain Control

Not owning your website address (domain name) is like not owning your business name. Do not sign on with a webmaster who does not give you complete control and ownership over your domain name and your hosting account. In the best case, even the most professional and qualified webmaster can get hit by a bus. In the worst case, your webmaster may turn out to be both incompetent and vindictive. If your webmaster wants to create a hostage situation, walk away. Period. Before committing to a webmaster and/or a hosting service, make sure of the following:
  1. Your domain is registered in your name, not the webmaster's.
  2. The email address for the domain admin contact is yours, not the webmaster's.
  3. You have the login and password to access a domain management area where you can change nameservers and/or transfer the domain. You don't need to know what to do with this information, but you must have it available if you want someone else to be able to help you.
  4. Your hosting account is in your name, uses your email address, and is on your credit card, not in the webmaster's name or on their reseller account. This is crucial if you ever need to get account information from the hosting company. I recommend not using a webmaster that hosts sites on their own server.
  5. You have the login and password to access your hosting account. You don't need to know what to do with this information, but you must have it available if you want someone else to be able to help you.
In general, websites follow the money and the primary email address. make sure that both are yours.

Your website should also be yours. Webmaster will often put a small credit for themselves on sites they build. This is okay, but you should be able to remove it if you wish. The webmaster should also not claim copyright for any content you've written yourself or any artwork created for you. If content or artwork has been licensed from elsewhere, you should have a copy of those licenses for reference if needed.

Get What You Pay For

Certain large companies have taken to sending salespeople out to small businesses to pressure the owners into paying hundreds of dollars per month for a poorly designed web page. They claim that they are doing huge amounts of search engine optimization (SEO) work and suchlike for this money.

This is ridiculous. They are doing no such thing. They are certainly not doing hundreds of dollars per month worth of work. A well-made website with good SEO work built into it will do just as well or better.

For most small businesses, shared hosting is fine, comes with all the tools you need, and costs about $10 per month or less.  If you are paying more than that per month, something is wrong.

In general, your webmaster should not be collecting monthly maintenance fees from you unless there are some very specific tasks they perform on your site every month. For example, if they update your calendar of events each month, then a reasonable monthly fee is fine. Otherwise, you shouldn't be billed unless you ask them to do something for you.

Competence Counts

Websites aren't just pretty. They need to work. It can be difficult to tell if a webmaster is technically competent from the outside, but there are some clues you can look for. Ask them for links to sites they've built.  When you look at them, don't concentrate so much on whether you like blue or not.  Look for signs that this person knows what they are doing.
  • Do things line up and appear to be the same size?
  • Are the fonts consistent,or do they change at random?
  • Are images scaled correctly, or do they look stretchy or distorted?
  • Are there typos?
  • Do links go to the right places, or are they broken?
Even people who don't know anything about websites know they want to show up on Google. Determining if your potential webmaster knows about good SEO is trickier, but there are some clues you can look for.


  • Check the page titles by hovering your mouse over the browser tab. They should all be different and contain reasonable search terms for the site.
  • If you have a browser that will show image properties, make sure that the images have alt tags that contain reasonable search keywords.
  •  Look for large blocks of text that are actually pictures of text. Search engines can't read these and a good webmaster will avoid them in favor of actual text unless the client insists on them for some reason.

You should also ask your webmaster if they speak any web development programming or scripting languages. You're looking for answers like: Javascript, PHP, Perl, Python, AJAX, ASP, etc. You don't need to know what these are, but it's tough to build a good website these days without getting into at least a little bit of coding, so your webmaster should have some experience in this area.

Providing Guidance

Ultimately, the decisions about your website will be yours, but a good webmaster will let you know if you are making a choice that will cost you in terms of usability or search engine rankings. As a test, tell your potential webmaster that you want the name of your business to be in very large text on every page and that you want it to blink. If they don't at least suggest that you rethink that decision, you need to talk to someone else.

There's more, of course, but it's hard to check for unless you already know what you're doing. Hopefully, this information will help you choose the right person to get your business online.

Monday, August 6, 2012

A Bad Night on World of Tanks (Trigger Warning)

I while ago, I posted about how much I was enjoying playing World of Tanks. I still am enjoying the game, but last night, a player did something that made me consider never playing it again.

I knew what I was getting into when I started playing an online game. The gamer community is not the most courteous or politically correct group of people one will ever encounter. They insult people. They talk trash. They rant. They whine.  OK, fine. Whatever.

They also employ no shortage of racial slurs, sexist language, and rape references. Not fine, but the game has limited communications and I don't control the universe, so I just try to ignore that stuff.

Last night, however, one of the players took it too far. He "raped" me.

I was driving a type of tank called a tank destroyer. This tank is not very maneuverable and its gun doesn't turn all the way around. My tank was damaged in such a way that I couldn't turn or move, rendering me unable to defend myself from anyone who wasn't directly in front of me. An enemy tank approached me from behind. Instead of destroying my tank by shooting it, he instead announced via chat that there would now be butt-rape, and proceeded to kill me slowly, a few points at a time, by ramming my tank repeatedly and rhythmically from behind. It was icky, to say the least. There was absolutely nothing I could do about it. I felt like vomiting. He clearly intended it to echo a rape (as he explicitly said so) and he succeeded.

I understand that these are competitive and aggressive people. I understand that they enjoy putting aside the rules of courtesy when they play and reveling in being assholes. I wish that they would understand that behavior like what I encountered last night is not being an asshole. It's not gloating.  It triggers reactions that extend well outside the scope of the game and persist long after the round is over.  If this person had been able to see me and the effect he was having, I believe (hope) that he would have stopped immediately and apologized.

I wish that these folks would understand that, despite the low incidence of women/girls in these games (gee, I wonder why that could be), there is a sadly high likelihood that there is a survivor of rape and/or sexual abuse in any given round. This includes the men/boys. There is a line that has nothing to do with politics or correctness. Crossing it doesn't make you edgy. It makes you ugly and violent.

Friday, July 20, 2012

Um...Burger King?

OK, I'm not sure why this needs to be said, but apparently Burger King needs to be reminded that they sell food. That people eat. With their mouths.

When I was younger, Burger King ads featured delicious-looking flame-broiled hamburgers and a song about how they'd make my burger however I wanted. The song was so catchy that I can still sing it all the way through without even thinking, so it's not like it wasn't working.

Then, they got a new ad agency. Who decided that the best way to get people to buy burgers was by showing me an incredibly creepy plastic-headed king with dead eyes and an "I like to wear skins" grin. I don't know...maybe lots of people thought it was all edgy or something, but I haven't set foot inside a Burger King since I started associating it with waking up to find a plastic-headed serial killer in my bedroom, as depicted on one of the commercials. Burger King even calls this thing "The Creepy King" so it's not like they don't know. At any rate, I'm not eating anything that The Creepy King hands me, that's for darn sure!

Recently though, Burger King had a marketing epiphany. They decided to ditch The Creepy King and instead try to get me to buy burgers by ... wait for it ... showing me Steve Tyler of Aerosmith TOUCHING MY FOOD. Now, think what you will about Aerosmith's music. The fact remains that Steve Tyler makes a point of being a very very dirty boy. He's not clean. He's not nice. He's not safe. So, why in the FDA would I want to eat anything that he's been even marginally involved with? WHY?

Then, there is the "Mr. Beckham Goes to Burger King" commercial. David Beckham is drop-dead gorgeous and I'm always happy to see him show up on my TV, but the commercial is about the entire staff of BK failing to serve him food.

Burger King: You sell the ability to walk up to a counter and get a reasonably edible burger for a relatively small amount of money in a short amount of time.  At least, you used to. I never go to Burger King anymore, because I really can't figure out what it is you do now. Well done.

Monday, July 16, 2012

The Pareto Principle For Developers

For those who don't know, the Pareto Principle is that thing that says 80% of effects come from 20% of the causes. So, while ten goths may have collectively used all the eyeliner, two of them (we'll call them the Bogart Twins) used 80% of it between them. 

The Pareto Principle has been applied to software developers by saying that we spend 80% of our time on 20% of the work for any given project. I've come to the conclusion that this is hooey. We do not spend 80% of our time on 20% of the work. We spend 10% of our time doing the entire project and the remaining 90% is consumed by some minute detail that should have taken five minutes and ends up eating three days.

I once did a little project where I knocked out the code that did the actual work in a couple of hours. I then spent days battling the generic installer so I could deploy the thing. Which was frustrating, but not even close to the stupidest of the examples I can offer.

If you want to see me levitate with anger, let's talk about the time I couldn't get something to be the right color. It was a simple RGB setting. It was even called RGB. I checked my value over and over again. I tried multiple syntaxes. I pored over the documentation. I cursed the gods. Eventually, I stumbled upon the problem. Some clever soul had decided that RGB values should really be specified in alphabetical order, i.e. BGR.  They also decided that this was so obviously correct, it didn't need to be documented. I'm not making this up.

I've also spent absurd amounts of my time filling out structures. Filling out structures isn't a problem. Needs to be done. However, filling out structures where many of the members must be set and there is only one valid value for each one and it's cryptic and it doesn't default and you have to go look up what The Magic Value is for each one of them makes me want to take up drinking just to see if it all makes more sense with a bottle of Scotch in me.

I could go on. And on. And on and on and on and on and on. We all could. As I publish this, I'm actually a bit concerned that the planet will be knocked off its orbit by the sheer force of all the programmers nodding their heads.

So remember, when you pay a programmer for an hour of their time, remember: 90% of that is to pay a person to sit at a desk with their head in their hands weeping at someone else's remarkable stupidity.

Wednesday, July 11, 2012

Thanks, but no thanks.

I saw yet another TV show last night where a man looked earnestly into a woman's eyes, told her that he'd wanted her from the moment he saw her, and she melted.

I just don't get it. If somebody wants me the moment they see me, then they don't want me. They want my hair, or my ass, or my breasts, or the way I echo something that's already in their head. This is not something for which I melt.

I want somebody who has wanted me since they read my source code, or heard me speak about good design principles, or saw my thoughts on women's issues, or found out that I think it's really important to be kind to the people around you. Something besides a visual impression reacting with their own preconceptions.

Maybe I'm just getting old, but, "You have beautiful eyes," doesn't even catch my interest, let alone make me swoon. I'm much more likely to roll my "beautiful" eyes and get on with what I was doing. Because I'm doing things. Things that do not involve sitting around waiting for some random guy to decide he might be willing to hit that. Or even to have coffee with that.

I run a business. I write code. I participate in my community. I garden. I cook for pleasure. I play World of Tanks. I read. I do things with my family. It takes a lot more than a vague compliment about my looks to get my attention these days. Especially since I don't consider the fact that said random guy thinks that his opinion on my looks will be important to me to be a compliment in the first place.

I'm complicated. I'm sophisticated. I'm engaged in many activities and interests. I'm multi-dimensional. I'm variable. I'm articulate. I'm interesting. Yes, I'm also pretty by some standards, but if that's why someone is interested in me, then I'm not interested in them.

I've reached a stage in my life where I require someone who wants to be with me to engage with me as a whole person. Anything less is just a waste of my time and energy, and those are precious commodities.

So, no, I'm not a bitch because I don't consider Random Person thinking I'm hot to be a high-priority event that deserves my attention. It's just not very important to me compared to the other things in my life, like the people who have actually gotten to know me. Sorry.


Monday, July 9, 2012

How To Be Cool

My partner told me a story today about a guy he knew in high school and recently reconnected with on Facebook. This guy was really nice. He was kind even to people who were not kind to him. He did his best to like even people who did not like him.

He grew up to be an investment lawyer. A very wealthy and successful investment lawyer. He accomplished this not through the kind of reprehensible investment strategies that have so damaged our economy, but through slow, smart investments. Investments that made money for him, his clients, and generally strengthened the economic environment in which he moved.

He leads a full and well-rounded life. He earns a good living. He has a family. He writes and plays music. And he's still a really nice guy.

When my partner reconnected with him, he was welcoming and glad to be back in touch. He sent some of his music. He still speaks to people with kindness, even though he is well out of the economic class of many of his friends. He provides good and thorough investment advice when asked without being superior or dismissive.

He was a good boy who has grown into a good man.

At the end of the story, my partner bowed his head and said, "And this is the guy I ditched in high school because I didn't think he was cool."

Tuesday, July 3, 2012

How World of Tanks Ate My Brain

For about two years now, my best friend has been playing World of Tanks. He's been playing a lot. And by a lot, I mean he recently played his 4000th round. I was really surprised by this because, while he likes tank games, he doesn't like online games that you play with groups of other people. I kept expecting him to get fed up with that part of it and move on, but he didn't.

About six months ago, he started telling me hopefully about how you could now "platoon" with another person so both of you would always be on the same team. "Oh crap," thought I. "He wants to me to play some stupid-ass video game."

I hate video games. I like playing card games on the computer, but I really dislike most video games. I hate games you can't pause. I hate playing against other people. I hate games where you have to drive. I hate games where you have to shoot. I I have terrible problems with directionality, reading maps, and orienting myself in first-person view games. World of Tanks has all of those things.

Needless to say, I declined to platoon.

A few weeks ago, I was in a particularly good mood and as he was finishing a round of the game, I said I wanted to try playing a a round. He couldn't hand me laptop fast enough. So, I played a round of the stupid game. Then he tried to get the laptop back. Which didn't work out well because it turns out that I love this game. I shouldn't love it. It has everything I hate in a game, but somehow they managed to balance all the elements in such a way that I'm having an absolute blast playing it.


Currently, I've got an M3 Stuart. Some of the players know everything about the actual tanks, but I'm doing pretty well just to remember the name of the one I'm driving. The game has tried to be pretty good about replicating the actual capabilities and features of all the tanks in the game, but where it really shines is where they decided that purity just isn't fun.

When you enter a round, you are on one of about 20 maps with 29 other tanks, 15 to a team. The other tanks may or may not ever have been on the same field as yours in real life, or even in the same war. WWI American tanks are mixed with WWII German tanks. Chinese tanks are teamed with French tanks. The only thing that controls which 30 tanks end up in the same round is that they fall in the same range of  capabilities. A Tier I tank doesn't find itself in the middle of ten Tier 7's, which just wouldn't be any fun at all. None of the maps are real places and none of the battles ever happened. The rules are simple and the possible strategies are endless. Some people can't drive. Others can fire accurately while driving backwards in a circle. Those who get killed continue to shout advice at the survivors via chat. It's exciting and addictive and a giant pile of fun.

However, this game is eating my brain, especially when I'm driving my car. I find that I am taking corners tightly and carefully to avoid ambush. I am certain that all bushes conceal an enemy about to fire on me. I have to resist pausing before I crest hills and stop myself from hanging sharp rights into fields to avoid staying on the roads. I have to remember that my 2002 Taurus cannot crash through walls or drive over other cars. I wonder why my artillery is not taking out the oncoming traffic.

I plan to continue playing this game, but if you are driving through my area, be careful. I may be "hull down" on the other side of a hill or camping in the bushes waiting to strike.

Thursday, June 28, 2012

Reporting Bugs in Software

As a developer, bug reports are part of my life. I give a machine instructions. I send those instructions out into the world. Users type with their butts. I get bug reports on how that doesn't always work.

Or, my users do perfectly reasonable things and certain combinations of those things have effects that I didn't predict or handle. So, I get bug reports.

Some of those bug reports consist of somebody screaming at me about what an idiot I am and how upset the user is without providing any actual information. Some of them provide some information but few specifics and, again, a lot of screaming. Some of them clearly describe the problem. If you didn't already know, those last ones are the ones most likely to get fixed. Not because they didn't say mean things to me, but simply because they gave me what I needed to find and fix the problem.

There are certain members of my beta test group whose reports get my immediate attention. When these people report something, I know it's real and I know they've put an effort into providing me with the straightest possible path to the bug and the subsequent fix. If you want to be on a developer's priority list, consider following these guidelines for reporting bugs.

Things to include

 

Subject 

A brief description of the bug. The subject should allow the developer to quickly determine what area of the software is affected. This allows them to quickly assign the bug to the correct team member, and to group related bugs together. It also helps them to check out related issues and previously fixed bugs that might be affected by current work.
A useful subject line: Crash when loading invoice form
A not-so-useful subject line: CRASH!!!!

 

Version

As much information as you can provide about which version of the software in which you saw the bug. This information is often available in the About box for the software.
Example: Microsoft Word 2010 (14.0.6024.1000) SP1 MSO (14.0.6112.5000) (32 bit) as part of Microsoft Office Professional Plus 2010

 

Environment

Provide information about which version of which operating system you are using. Depending on the software about which you are reporting, you may also want to include information about your graphics card and driver, amount of RAM, etc.

 

Description

A complete description of the bug. This should include as much detail as you can give as to what you were doing when the problem occurred. If the software has modes, tell the developers which mode you were in. If the problem occurred when you saved, tell the developers whether you used a keystroke like Ctrl-S, or clicked on a toolbar button, or selected Save from a dropdown menu. The developer may be dealing with millions of lines of code. All the things that you take for granted because you always do it a particular way are critical in helping a developer track down which part of their code is causing the trouble.
A useful description: I was adding a new Invoice. I filled out the main Invoice information, then clicked in the Line Items table to add a new item. I filled out the Line Item fields and clicked back to the Invoice Date to make a change. My new Line Item disappeared.
A not-so-useful description: I tried to add a new line item and it disappeared.

 

Steps to Reproduce

Bug fixing gets a lot harder when you can't make it happen and you can't test whether it's gone. If you can give the developer exact steps they can follow to reproduce your problem, your issue will get fixed a lot faster.

Useful steps to reproduce:
Open any document
Click the Page Layout tab
Select all the text by pressing Ctrl-A
Click the Columns button on the ribbon
Click Three
Crash

Not-so-useful steps to reproduce:
Select some text
Set it to use three columns
Crash

Things to Not Include


As developers, we understand that bugs can be frustrating, upsetting, and even scary. We don't like them either. However, if you want to rant, you should talk to Customer Service. Development's job is to identify and fix the problem. Anything that doesn't help us do that is just a distraction. Along those lines, there are some things you want to leave out of bug reports.

 

Jokes

We appreciate that you want to soften the blow and humor is a wonderful thing, but a developer deep in bug reports and source code is in a very literal place. It may take them three readings to figure out that you are joking and, if your joke implies a problem, they may have spent an hour trying to track it down before they figure out that you're kidding.  Dry-as-dust technical information is the way to go.

 

Emotional Content, Emphasis, and Essays

We understand that the bug you are reporting may have caused you significant frustration, wasted time, and worry. We're really sorry about that. We didn't write it that way on purpose to upset you. We want to fix it so it doesn't upset you or anyone else ever again. Wading through three paragraphs typed in all capital letters about how stupid we are and how much of your time we wasted just makes it harder for us to dig the actual problem out of what you are saying. We get that you want to vent to somebody but, if you want your bug fixed, the developers might not be your best choice of outlet.

Most of the time, developers don't need to be convinced to fix a bug. We want to fix our bugs. When management or suchlike prevents us from fixing our bugs, we get very frustrated and gnaw on things. We are likely to understand why your bug is a problem simply by reading the description. We don't need an essay about why it's a problem if the program crashes when you try to put text in columns to understand why we should fix that. It's just more stuff we have to dig through to find the actual description of the bug.

 

Justifications

Either the bug happens, or it doesn't. The bug doesn't know or care that you have worked with fifteen other packages for the past thirty years and know all about software. Maybe you do, and maybe you don't. It doesn't change whether we can make the bug happen using the steps you provided. Again, we don't fix bugs based on the perceived credentials of the reporter. The only credential that moves somebody in my beta group up my attention list is that they have a history of being a reliable and thorough bug reporter.

In Summary

When reporting an issue to a developer, efficiency is everything. If it doesn't help them identify the bug, leave it out. If it does, put it in,

Tuesday, June 26, 2012

CSS and the War on Tables

Ok, I'm just gonna come right out and say it: I still use tables.

Not for everything, mind you. There are certainly places where divs work better, and I use them. But I've about had it with the hysterical shrieking about how you must use divs for everything, even if they don't work as well, or the webpage police will haul you off to webpage prison where you will do hard webpage time. Seriously, folks, enough. You can have more than one tool in the toolbox.

CSS has a variety of great and useful tools of which I take advantage on a daily basis. That said, I'm tired of pretending that either of the S's stands for "structure." I'm also tired of pretending that sacrificing two chickens and an Amiga to the God of Floats and Margins while praying that nothing moves by so much as a pixel is a reasonable substitute for the tremendously useful balance between rigidity and elasticity that tables provide.

Separating content from presentation is a great idea. I'm all for it. Structure is neither. It's not that I can't do it with divs. I can. I have. I'm not doing it any more. To do what I need structure-wise with divs, I find that I (and others also from the examples they post) end up building the exact same structure with divs that I used to build with table elements. Which would be fine except that it takes at least three times longer and the result is a fragile animal that lets sections be pushed out of position, breaks if the size of the content changes too much, and requires jumping through all sorts of hoops to have two things next to each other stay the same height. 

I tried drinking the Kool-Aid. I really did. But I sincerely believe that this is one of those cases where the Emperor needs to tell his tailors to settle the f*** down.

Monday, June 25, 2012

My Computer. It Is Not a Phone. (Windows 8)

I've been looking at the advance screenshots of Windows 8, and so far my main reaction is: Why?

This style of interface is fine on my phone. My phone is small, has a touchscreen, and I don't do much in the way of real work on it. My PC, on the other hand, has a dual-monitor setup, does not have a touchscreen, and I need to do complicated graphics work and software development in multiple languages and IDEs. So, why does it need to have the same user interface as my phone? Why do I need to page through tiles when I'm not swiping a screen with my finger?  I have a mouse and a keyboard and a whole lot of screen real estate. Why would I choose this paradigm? Why?!

It was bad enough when the monitor manufacturers decided that all I do at work is watch movies. Now, the Windows 8 desktop designers seem to have also decided that I don't actually work at work.

Well guess what, folks. I use fully-fledged applications, not apps. I use all ten fingers on a physical hardware keyboard; I don't peck out my code one letter at a time on a soft keyboard with overly helpful autocomplete. I do more with my mouse than drag prefab objects and poke a limited set of clickables. In other words, I WORK AT WORK!

Please, for the love of Turing, please don't turn my PC into a smartphone. I have work to do.