Max Password
On the HTML input form element, you must define a type and may define a maxlength attribute. This is in regards to the password type and the relation it has to the maxlength attribute. If the maxlength on a password input is wider than the width of the input, there is no way to tell if what you are typing (or pasting) is actually going into the field.
Below are two test forms that will illustrate my point. Each form looks identical, but have much larger implications in practice. Test the following KeePass generated password in the following forms:
What you have just experienced is a problem that exists on many website's user registration. If this were a real user registration, the password you entered will not completely save and you will be locked out when attempting to log in. This happens when sites validate the length of the password by specifying a maxlength as opposed to correctly checking its length during the form processing. Overall, using client side markup to validate form values is precarious. Therefore, maxlength should be limited to text input types, if it is backed up by server side validation.
P.S. Stop putting maximun length requirements on passwords, period. Just hash the password and store that. And no, password retrieval is not an excuse; have the user reset their password instead.
Creep Trap
Free dating sites such as Plentyoffish.com or OkCupid.com tend to be flooded with creeps. Creeps here are described as men who harass women with obnoxiously inappropriate comments or requests for sex.
Most women who have been on these sites have at least one story of a guy sending some ridiculous email with an incredibly offensive suggestion or perhaps an indecent picture attached.
A strategy to mitigate the effects of these creeps is two fold; first, identify these profiles, and second, prevent these profiles from continuing to creep.
An option for the first part would be to create a "creep trap". Ideally, this would be a profile of a fictional woman with attractive pictures and a generic profile. Messages sent to this profile would then be scrutinized for their quality. If they contained ads, an over the top request, or are written like a text message, the senders profile would be flagged.
As for the second part, I do not think this is taken advantage enough in services such as these. Some sites are diligent and do ban troublesome users, but with the internet it is easy enough to create another profile. Instead, the site can quietly sandbox the user. To them it seems as though their emails are being sent; though, in reality, they are deleted and their profile is not viewable by anyone else.
The specifics of how many creep emails over a period of time should cause a user to be sandboxed is up for discussion, as well as sandbox duration. Overall, I would imagine this would amend the creep problem as well as improve user confidence.
Load-bearing Code
The term 'load-bearing code' can be used to refer to software that exhibits the following attributes.
- Has no documentation or automated tests
- Written by an ex-developer
- Used by a large portion of the code base
- Supports critical system processes
This term was inspired by its memorable use by Cosmo Kramer in the Seinfeld episode "The Chicken Roaster": Jerry, these are load-bearing walls, they're not gonna come down!
I have encountered load-bearing code from legacy open source applications, inherited projects or debugging production software.
Get Directly Behind Me Satan
There is a phrase uttered by many CTA train conductors that has garnered a collective eye roll reflex for its would be passengers.
- There is an immediate follower.
- There is another train directly behind this one.
Now I am going to give these conductors the benefit of the doubt and assume they mean there will be another train arriving in less than a minute. More often, another train does not arrive any sooner than I would have otherwise expected. And of course there is a train directly behind the current train, we are on rails here! Now if the blues mobile is taking a shortcut on the L and a few trains had to be delayed, feel free to let us in on that.
I would recommend that this tidbit of information is no longer provided. If the CTA doomsday has come and this is the last train ever, go ahead and let us know. Otherwise, we are all aware that another train will be coming and from where.
I Mii Mine

On November 19th 2006, I set out with a friend to buy a Wii on launch day. After futilely showing up at about five stores, we took a chance at this small electronic boutique with ten people waiting outside. After getting into line at eleventh place, I was hearing murmurs of this place only having ten Wiis. We decided to wait the hour and a half and hope for an extra Wii. Five minutes to 11:00 am, this girl that was second in line with her boyfriend decided she was hungry and went to get a bite. Much to my happiness, when the guy came out of the store to tag who would get a Wii, she wasn't there and I got the tenth and final Wii.
Since then, I have only mildly played it. I finished Twilight Princess, perfected my power serve in Wii Sports Tennis, and made my share of Miis. Though, this will change a bit when World of Goo releases. Recently, after browsing the Check Mii Out Channel, I started thinking about how many unique Miis there could be. I started counting the options, did the math, and here are the results.
Options
| 1 | Genders | 2 |
| 2 | Clothing Colors | 12 |
| 3 | Heights | 10 |
| 4 | Weights | 10 |
| 5 | Face Shapes | 8 |
| 6 | Makeup Types | 12 |
| 7 | Skin Colors | 6 |
| 8 | Hair Styles | 72 |
| 9 | Hair Parts | 2 |
| 10 | Hair Colors | 8 |
| 11 | Eyebrows | 24 |
| 12 | Eyebrow Colors | 8 |
| 13 | Eybrow Vertical Steps | 16 |
| 14 | Eyebrow Size Steps | 9 |
| 15 | Eyebrow Rotation Steps | 12 |
| 16 | Eyebrow Horizontal Steps | 13 |
| 17 | Eye Types | 42 |
| 18 | Eye Colors | 6 |
| 19 | Eye Vertical Steps | 19 |
| 20 | Eye Size Steps | 8 |
| 21 | Eye Rotation Steps | 8 |
| 22 | Eye Horizontal Steps | 13 |
| 23 | Noses | 12 |
| 24 | Nose Vertical Steps | 19 |
| 25 | Nose Sizes | 9 |
| 26 | Lips | 24 |
| 27 | Lips Colors | 3 |
| 28 | Lips Vertical Steps | 19 |
| 29 | Lips Sizes | 9 |
| 30 | Glasses | 9 |
| 31 | Glasses Colors | 6 |
| 32 | Glasses Vertical Steps | 21 |
| 33 | Glasses Sizes | 8 |
| 34 | Mustaches | 4 |
| 35 | Mustache Colors | 8 |
| 36 | Mustache Vertical Steps | 17 |
| 37 | Mustache Sizes | 9 |
| 38 | Moles | 2 |
| 39 | Mole Vertical Steps | 31 |
| 40 | Mole Sizes | 9 |
| 41 | Mole Horizontal Steps | 17 |
| 42 | Goatee Types | 4 |
| 43 | Goatee Colors | 8 |
| Total | 568 |
Exceptions
1 hair style (bald) has no color or part.
49 hair styles have no part.
1 eyebrow style(none) has no color, vertical step, size, rotation or horizontal step.
7 eye types have no color.
17 lips have no color.
1 glasses type (none) has no color, vertical step, or size.
1 mustache type (none) has no color, vertical step, or size.
1 mole (none) has no vertical step, size, or horizontal step.
1 goatee type (none) has no color.
Combinations
To determine the number of distinct combinations I used the formula: 568! / 43! * (568-43)!. The factorial results are rather large so the precision is preferably limited since showing you results more than fifty digits long would be a bit unwieldy. I performed these calculations using Windows' Calculator.
568! = 3.6890690292812873468786451194959e+1319
43! = 6.0415263063373835637355132068514e+52
(568 - 43)! = 6.8908026240415422754382352913041e+1201
43! * (568 - 43)! = 4.1630965324925649240168357519319e+1254
568! / 43! * (568-43)! = 8.8613583674758947813475143744029e+64
No Fn Way

I have previously discussed my frustration with the placement of the Fn key on my Lenovo T61 laptop. When I accidentally pressed Fn+F12 (which puts the computer into hibernate) as opposed to Ctrl+F12 (to pull up Firebug) I decided enough was enough.
I looked at all of the light blue Fn keys on my keyboard and decided that I could do without them. Every function can be done in windows except for the keyboard light. Though, I can't believe that anyone would find that useful anyway. Seriously, isn't the screen bright enough?
I went about popping up the Fn key and thinking of the best way to suppress this key. I initially thought that I could slide a piece of paper between the key and the circuit board, but since the T61 keyboard is waterproof it was not as simple as I hoped. Instead I cut a small slit in the rubber molding for the keyboard button and slipped in a piece of paper.
Now I don't have deal with the unexpected side effects of accidentally pressing the Fn key.
Click here to go to a web page about the overuse of 'click here'
As with many early internet paradigms 'click here' has become the equivalent of the verbal overuse of 'like': an unnecessary filler before getting to the real point.
It is worth realizing that yours is not the first web site your user has seen (unless you are the operator of acoolwebsite.com). For the rest of us, telling a user what to do with a hyperlink is on par with having instructions on how to scroll and see the rest of a web page. Is it underlined? Does it react when I hover over it? Does it stand out from the rest of the text? If so, I know it's a link and I have a pretty good clue what is going to happen if I click it. The text of a link should answer a user's questions. "Where do I go to read more of this article" should translate to a 'Read more' link. "How do I get to the next page" gives us a 'Next page' link. "What is this web site's privacy policy" can turn into 'Privacy'.
Wait, what?
Click here to go to a web page about the overuse of 'click here'
Click here to go to a web page about the overuse of 'click here'
Click here to go to a web page about the overuse of 'click here'
Click here to go to a web page about the overuse of 'click here'
Obviously we have a problem
| Search Term | Results from Google |
|---|---|
| "click here" | 1,620,000,000 |
| "click here to" | 831,000,000 |
| "click here to go" | 16,800,000 |
| "click here to go to" | 7,730,000 |
| "click here to go to a web page about the overuse of 'click here'" | 1 |
Solace
The overuse of 'click here'In conclusion, I believe using a 'click here' qualifier to help the user actually makes it more confusing considering how inconsistent the 'Click here' linking can be.Any argument for keeping it I would have to rebut with the actualization that you would have to put 'click here' in front of every link.Imagining a menu navigation with that much filler should clarify my point.
Look at them shoes!

Where did you get those? Are they comfortable? Does it hurt your toes? Don't you worry about steppin' in something sharp? These are the questions you must be prepared to answer when walking in a pair of Vibram Fivefingers. I got them at Hanig's Slipper Box. They are comfortable once you get used to them. No they don't hurt your toes; actually, they feel more cozy than ever. As for glass, nails and crazy concrete, no, I don't worry about it. The bottoms of these are tough enough. Anyway, it is easy to avoid the perils in the road once you learn to pay attention to where you are walking.
After becoming annoyed with sandals and wearing socks in general, I read this article and these shoes blew my mind. That was about four months ago and I still love these shoes. The first month walking in these is tough. I walk and take the CTA everywhere I go and about all of my paths are concrete streets or sidewalks. This comes a shock for someone who has been wearing padded shoes all their life. What ends up happening is you start walking a bit different. As opposed to striking the ground with my heel (which was fine before when there was about an inch of padding underneath it) to my foot landing on the middle to back outside part of my sole. In the first weeks, you get a sensory overload when you can actually feel the texture of the ground you are walking on.
I still love these shoes and cannot imagine walking anywhere without them. My feet have never received so much attention before and it is always an instant conversation topic. Now, what to do when winter rolls around? Vibram does sell a neoprene padded pair... I can't even fathom the looks I will get then.

Caps Lock/Insert
If you were to look at my keyboard, you would notice some keys missing. Specifically the Caps Lock and Insert keys.
I never use either of these keys. That wouldn't be reason enough to pop them out of my keyboard, but the frustration caused by accidentally clicking them is.
These keys are remnants of the typewriter generation. As we have an appendix, keyboards are still plagued by these evolutionary leftovers. I have yet to hear a compelling argument for keeping these keys on the modern keyboard.
While I am at it, stop cramming a Fn button in the Ctrl Windows Alt section of my laptop keyboard. I know for certain the placement of the Fn and Ctrl are swapped on Dell and Lenovo laptops. Unfortunately, I prefer the Dell placement (between the Ctrl and Windows keys). On my Lenovo I have to contort my pinky to hold Ctrl.
This may mark the first instance of 'Control Pinky'.
Wishes
There is a saying out there, 'be careful what you wish for', and I really hate it.
Partly because it is a hindsight statement. One of those pithy quotes that only really works after something has gone wrong. It is passed off as wisdom when, in actuality, it is more insult than anything. It is said by a naysayers who launch these poisoned phrases to anyone within earshot.
Statements like these stealthily sneak into our collective psyche and create unnecessary limiting beliefs for ourselves.
Wishes can be seen as our dreams. When it comes to our dreams, we should not be careful of what we dream for ourselves. We should dream beyond reality, hope for what is seemingly impossible and strive for the absolute best in all we can accomplish.
Whether we wish, dream, hope or pray, do not take the careful path; be bold, be brave, be more than who you are today.
A little nibble of gum
I am addicted to chewing gum after meals.
Obviously this sent my gum consumption through the roof.
Then I realized that there is no reason to chew an entire piece.
Now I only take a little nibble of gum so now a stick of gum can last me five or more times.
After this change, chewing a whole piece of gum feels like way too much and I get more out of the gum I buy.
.Call if lost
Over the past years I have come upon a few lost phones that have been left in Taxis or restaurants. Usually I just hand the phone over to the manager of the restaurant or the taxi driver, but sometimes that isn't an option. In the latter case I flip through the phone looking for a number to call to inform about the phone. Usually there is no ideal listing in contacts that says 'call me'.
This is why I have added to my phone contact list a '.Call if lost' number. The period at the beginning sorts the entry to the top of the list and makes it very obvious whom too call if your phone is lost and someone tries to call you to return it.
Of the debit card in my pocket
I have recently changed financial institutions. I received my new debit card the other day which reminded me of a strategy of mine.
I carry my debit card in my pocket and, in past iterations, my signature line would smear off causing problems at the checkout.
Now, when I get a new debit card, I make sure to take a strip of scotch tape and cover over the signed signature area on the back of the card.
Once the tape is in place, it is trimmed to size. My previous debit card's signature line is still in as good of shape as it was when I attached it two years ago.
Previously I attempted to tape over more areas to preserve the number shine and the magnetic stripe, but those proved to cause errors in scan reads or elicit peculiar looks at the POS.
