Category Archives: Rants

Rants. Stuff I do not like, and the reasons why.

So-called Web “Developers”

So, I have been seeing this more and more.  I see the term “Web Developer” being applied to anybody that can do basic HTML5 and CSS scripting.  Even worse, I see the term being applied to people that do not know enough to understand how the back end works, or cannot even spell LAMP.

If you can do your job just using Notepad and Chrome (i.e. no compiler), with no back end services, you are just a “scripter.” Just make peace with that, and stop trivializing what real developers do.  And no, you are not writing a “web app,” you are scripting web pages (although maybe for someone else’s actual app).  Does PHP executing DB queries count?  Maybe – if you also (properly) designed the database it is working with.

Continue reading So-called Web “Developers”

Words to Watch Out For When Buying Arcade Games or Pinball Machines

I have learned through many years of posts, sales, people, auctions, and similar experiences that there are certain words and phrases that you need to watch out for when buying games, boards, etc.


The first one, and it is a biggie – UNTESTED.  Here is the truth: if dealing with a whole game, and it has an intact power cord, it is never “untested” – somebody tried to plug it in and power it on, guaranteed.  When dealing with intact games, presume “untested” means “I plugged it in, it did not work” – in other words, “broken.”

Now, sometimes “untested” really does mean untested.  For example, if someone just got a great bulk deal on a bunch of boards, and want to move them quickly, they may not want to go through the time and effort of testing each one.  For example, it is not worth building an adapter for a board that sells for $50 working when I can sell it for $30 untested – I would spend more than $20 of my time and materials building that adapter.

Things like power supplies may legitimately be untested because they might not want to risk damaging a board because of a bad power supply (not everyone has a rig to properly test supplies under load).  Same goes for controls, coin mechs, etc.  Might not be worth the time to connect and try out each one.

In general, just presume that Untested means the same as Broken.  That way, you are never disappointed.

Worked [time] ago when I put it into storage, on the shelf, etc.

This is another one.  “It worked 6 months ago when I put it into storage,” or “it last worked two years ago before I put it on the shelf.” Same as above – play it safe and consider that to mean untested or just broken.

It Just Needs This One Inexpensive Part…

This is another favorite of mine.  “It is broken and I am selling it for $100.  It just needs this one little inexpensive $30 part and then it will be worth $400, so this is a great deal!” Continue reading Words to Watch Out For When Buying Arcade Games or Pinball Machines

Manager Red Flags

(Attention lawyers and previous employers: the following information does not specifically identify a particular entity. 
You have nothing to worry about unless you think this represents you or your company and you know there is some truth to it.)

As I have worked with a few different kinds of managers/supervisors throughout the years, I have encountered one or two that had various red flags that I ignored but should have paid attention to.  Here, I share some of these red flags with you in the hopes that you do not end up getting screwed.  Not saying I got screwed (well, much), but you may! :mrgreen:

Red Flag # 1 – People tell you to watch out for her/him.
That should be obvious, but sometimes your first impression (which was good, in my case) clouds your better judgement.  Pay attention to what other people are saying about this person.  Even if you treat it as rumor, keep it in the back of your mind.

Red Flag # 2 – She/he has a long history of dismissing or demoting employees with excuses of “no confidence.”
When this manager joined us, it was because of a merger with another company.  My current manager was demoted in short order because of “no confidence.”  Note that he had been with the original company from the start and had been supervising/managing developers (quite successfully, I might add), up to that point.  Other people in the company (the new one in the merger) often mentioned her/his tendency to do this.

(As an aside, I strongly believe that one of the things that would greatly benefit the business world in general is a process for employees to call for no confidence in their manager/supervisor.  Once managers/supervisors realize that they can be called to task for the otherwise unknown shit they pull on their subordinates, things may change for the better.  Companies need to realize that most of the real work is done by those that have not yet reached their level of incompetence.  It is time to move out the ones that are not just incompetent, but possibly abusive and reduce the productivity of their subordinates.)

Red Flag # 3 – She/he exhibits bipolar behavior.
Not in the clinical sense, but you notice that she/he can run hot and cold at the drop of a hat.  Be more caution if this flipping between states is a result of perceiving you as a threat.  For example, she/he once asked if I wanted to be a manager “because I was good at it,” referring to how I worked with developers.  But when I put on my yearly review form that I wanted to become a lead/manager of the team, I was informed that she/he did not think that I would be good at it.  WTF?

Red Flag # 4 – She/he takes credit for things that she/he has nothing (or very little) to do with.  These types may exaggerate their involvement in the conception and implementation of (novel) solutions, or have their name placed on things that were conceived and implemented long before they were even around.

Red Flag # 5 – She/he is personal friends with one or more people in upper management.  By “personal friends,” I do not mean taking the occasional plane ride together, I mean things like frequently getting together on weekends, crashing at each other’s place, etc.  In some (less professional) companies, this can end up being Carte Blanche to do just about anything.  People in this position can become assholes to their subordinates, just because they can, and they have in the past without being called on it.  As as you may find out, the human resources department is sometimes just upper management’s bitches, so people like this are never correctly identified by their pattern of behavior and removed from the company.

Red Flag # 6 – She/he will undermine your authority over, or the respect you receive from, other developers. 
One specific case I can recall is with a problem one of our plug-ins had with another plug-in from another group.  Both worked fine separately, but when loaded into the same application, the other plug-in would sometimes not cleanup its interface correctly and would leave a window on screen that was broken, and would raise exceptions whenever it was touched.
Now, we had access to that other plug-in’s source code, so I wanted to load it up in the debugger to see what was causing the crash.  My manager at the time effectively berated me for this idea, that it was not the way to do things, and saying that “in her/his time,” we never blamed stuff on other developers.  (I never said it was the other group’s fault, I just wanted to get more details on what was happening.)  And then she/he had me make (random) changes to our code to see if we could get the exception to go away.
After a couple of days(!) if no results, she/he then stated in an open conference call “I guess we will have to find someone that thinks outside the box, then,” with other members of my development team present.

Well, I hope that helps… someone…

Assumption is the mother of all Fuckups…

So I find myself in the middle of a posting frenzy regarding a story on The Daily WTF:–More.aspx.

The point of my posts was that by withholding the assumptions made by the interviewer with his “one right answer”-kind of question, you put the interviewee in a bad position. (The link above explains the scenario.) IME, in the absence of specific details, one is likely to draw upon their experience to formulate a solution.

So when I read that according to the interviewer, the one right answer was to use a move operation to relocate the complete data file to where the watcher was looking for it. Of course, my first question was if the move was atomic or not. Far too many posters claimed that it always(!) was, other more intelligent ones indicated that it should be.

So my first post there was asking about different filesystems. For example, the average Linux filesystem can support many different filesystem types: ext2, ext3, ffs, UFS, RiserFS, FAT32, NTFS, etc., and can have filesystem locations on different partitions, drives, and even network locations… So what if the source and destination locations are not on the same device/partition? Are the moves still atomic? My experience with both Linux and Win32 filesystem driver code tells me no, so that is what I posted, indicating that the assumption that everything is on one filesystem/partition must be known.

This post started to draw out lots of interesting people… One started talking about how the POSIX specification states that renames (and moves?) must be atomic, but did not know enough to realize that some systems may play fast-and-loose with the specification (Hello, Windows!). Another started talking about how the rename(…) syscall (the syscall!) is atomic. Well duh – most C-style functions are… it may return to the caller only after the rename (or move) is complete, but that does not mean that the behind-the-scenes action is atomic to an outside (filesystem) observer.

It amazes me how so many people just do not “get it.” Maybe I am not just a good communicator…

Or maybe these people really should stay away from a keyboard as much as possible… 🙂

I want to meet the developer(s) of Sybase SQL Advantage…

Version: 10752 IR/P/NT (IX86)/OS 4.0/Wed Jan 15 12:59:30 2003

Why? Because I want to ask them why it takes SQL Advantage ~16 seconds to process a query that returns 674 rows of ~70 columns each and display them in Grid or Text output, when I have written an application that goes through two additional API layers above the CT libraries, and can do the same thing (even in a Grid) in less than 2 seconds?

You actually have to go out of your way and TRY to write code that slow – that kind of lousy performance does not happen automatically. That is the kind of stupidity that has to be cultivated through bad practices.

I just want to know how someone could write such an app, and consider it suitable for release to the public. I need to know the mindset behind that, so I know what questions to ask potential employees during an interview so that they can be weeded out. I do not even want to sit next to someone like this, for fear of them making be dumber via osmosis.

I can only hope that the GUI developers are not the same ones that implement the underlying libraries or the RDBMS itself…

Just not getting it…

I came across a poster some time ago (I think on /.) that had an interesting signature. It read something along the lines of:

When someone says: Lead, follow or get out of the way, get in the way!

I remember thinking at the time that the poster could likely use some more experience in the real world and that (s)he suffered from a fundamental misunderstanding of how the world works. I was thinking that if you are ever in the above situation where something important is going on, or there is an emergency, getting in the way is the absolute last thing that you should do. I felt that situations like that are perfect times to apply the Universal Assumptionassume that they know something that you do not.

Now, it is a year or so later, and I have concluded… That I was exactly right. There is no reason why anyone in their right mind, when faced with a Lead, follow or get out of the way scenario, would assume that becoming an impediment would be the right thing to do.

Now, there are times when you should get in the way. But the prerequisite for that is actually knowing what is going on, knowing a better solution, and having a means to implement the solution. Otherwise, getting in the way is a sure way to get knocked on your ass.

Worst… Spam… Ever…

So while browsing through my spam-basket I came across an interesting message that was caught by SpamAssassin.  The headers from that message follow (edited slightly to remove addresses and to emphasise details):

Subject: §Ú¬O¤@­Ó·Å¬Xªº¨Ä¨Ä¤k«Ä.·Q´M§ä¨ë¿Eªº­ô­ô±z³ßÅw¶Ü?¡ð20·³
Date: Tue, 19 Jan 2038 11:14:07 +0800
X-Spam-Flag: YES
X-Spam-Level: **************************************************
From Tue Oct 24 16: 43:51 2006
X-Spam-Checker-Version: SpamAssassin 3.1.7 (2006-10-05) on
Message-Id: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Content-Type: multipart/mixed; boundary="----------=_453E7B09.452041D8"
From: mailto:¼ÐÃD¡G¡m¥¨¨Å°Ï¡n·s¼W¡m»a¤«ªÅ¡n±j¥´·s¤ù¡A¤ù¤¤¦³¦o¸g¨åªº¼é§jÃèÀY¡I³ôºÙ¥L§@«~¤ºªº¤W¤W¤§¿ï%20(¡m¥¨¨Å°Ï¡n·s¼W¥i·Rµ£ÃCÄ_¨©¡m»a¤«)

I can honestly say – that has got to be the worst message I ever received.  Most of my spam emails never get above a spam-score of 20!  What gets me is that the sender of the message somehow managed to completely mess it up.  So this is an example of the fourth (I think) rule of software development – always test what you are doing (or trying to do)!

I mean, come on now… If you are stupid enough to construct a message that sets off that many spam-traps, you really are an idiot!  It is things like this that give me hope that we will eventually win the war on spam.  Hell, look at the kinds of people we are fighting! 🙂

Some people just do not get it…

While looking for additional backup hardware, I came across an item that displayed an image that had some red text across it stating “YOU STOLE THIS IMAGE FROM XXXXXX XXXXXXXX XXXXXXXXX” (company name changed to protect the stupid). Now, anyone that has been on eBay for at least a few years has seen images that have been switched or show a hotlink warning because the seller was pointing to someone else’s image instead of their own copy.

Being the nice guy that I am, I sent a little note to the seller telling them that it appeared as if they were using a “stolen” image. Here is the email exchange (with edited headers and content):

>>>> Question from xxxxxx
>>>>> (xxxxxxxxxx)
>>>>> This message was sent while the listing was active.
>>>>> xxxxxx is a potential buyer.
>>>>> -------------------------------------------------------
>>>>> Might want to check the image you are using (tip: view it
>>>>> from ebay as a buyer would).
>>>> From: Jay X. Xxxxxxx []
>>>> Yeah, and what is the problem?

>>> From: xxxxxx
>>> Well, if you actually take a look at it, it has the following text on it: “YOU STOLE
>>> -Which does not exactly inspire confidence in a seller…

>> From: Jay X. Xxxxxxx []
>> Well *GENIOUS* My Seller name is *Xxxxxx Xxxxxxxx Xxxxxxxxx* This is for the idiots
>> who STEAL my images because they are too lazy to take their own pictures! Are you new
>> to eBay? I remember my first time!

> From: xxxxxx
> Mind yourself!
> Have your hosting provider implement “hotlink prevention” to help deter theft of images.
> A quick view of this eBay account will show how long it has been active (slightly longer
> than yours with this particular ID).
> Again, my observation was that it appears that the image used in your listing was stolen,
> not that you are trying to prevent theft. It was the only thing (up to this point, at least) that
> stopped me from taking a serious interest in the item. A semi-transparent watermark
> with “Xxxxxx Xxxxxxxx Xxxxxxxxx” would be a better way to go, IMHO.
> Take it or leave it – but save the attitude.
> Lastly, the word you were looking for is genius, not GENIOUS. First time speller, perhaps? 🙂

From: Jay X. Xxxxxxx []

Well I really do not invest much time in worthless FUCKS, did I spell that right? Like you wasting my time none the less you can not afford the 10 dollar item any way. Not to mention you are blocked from buying any thing from me just on principal. And Genious was a joke; GENE-E-US enunciated you know like moron!

Well folks, that is the kind of talent you can get from Bellbrook, Ohio these days… Tip for the locals – be careful who you work with. Getting involved with amateurs like this guy will only cause problems in the long run.

Political Correctness is wrong – yer feelings do NOT matter!

As I write a post on Code Project Here, I think about how being PC has turned many of us into a bunch of wimps.

These days, you cannot even finish telling a joke without someone interrupting saying that they are offended by what you are saying, and after acknowledging them and then trying to finish the joke, they continue to interrupt you: “I don’t think I am comfortable with the content of this joke.

Well then… If the problem is that you are not comfortable with the content, then the problem is that you are not comfortable with the content, and you (not everybody else) should maybe do something about it… Like… Oh, I dunno, maybe


-And leave the grown-ups alone so that the joke can be finished and someone can get a laugh from it? It is completely OK if you cannot take the joke. And for the most part, other people will be comfortable with your limitation(s), as well. However, it is inappropriate to steal the enjoyment of the joke just because you cannot take it.

Here is a little fact: it is OK to be offended! Really! If you are walking down the street and see a billboard for a movie that shows a little too much skin for your taste and you get offended, all you have to do is BE OFFENDED, stop looking at the billboard, and just keep walking down the street minding your own business. No need to call a press conference to bitch about it. Something on the radio or TV that you do not like? Fine, STOP LISTENING, WATCHING, or just get off your butt and change the channel/station. You will be OK… The world will go on. Really. Trust me. It is OK if you cannot handle anything, but try not to involve others in your limitations.

IMHO, Political Correctness is based on a flawed assumption: everyone’s feelings matter. Why is this a flawed assumption? Because it fails to take into account one very simple and all-too-true concept: some people are just too sensitive. Sometimes, you just have to learn to deal with it, and not expect the rest of the world to change for you.

Parents of small children understand this. Just because your son took a toy from his big sister is not a reason for her to start screaming and crying. It is not that big of a deal, and it does not require all that drama. So while we correct the son so that he learns not to steal things, we also teach the daughter that some things are just not worth crying about. The old saying about not crying over spilled milk comes to mind. As the daughter grows up, we hope she learns which things are worth crying over and which are not.

If your child got upset and started crying each time someone spilled something on the table, would you go out to a restaurant and instruct all patrons sitting next to your family not to spill anything while your daughter is around? Of course not! You would teach her that spilling (or having something spilled) it is not a big deal, and not worth crying over. Political Correctness does the opposite – it not only requests, but REQUIRES that no one spill anything while your daughter is around! Does that not sound a little stupid to you?

Here is a little-known fact – I am generally offended by organized religion. Actually, I find most forms of religion greatly offensive. But I do not go around work demanding that people stop wearing crosses and/or remove pictures of Jesus from their workspaces. Trust me – if I can handle seeing crucifixes and the Jesus Fish everywhere, YOU can handle the crude joke!

The worst thing about the concept of PC is that far too many people are naive enough to believe that bring PC is the same as being professional. This is just plain stupid. Here is a small example – assume you have someone suffers from mental retardation. You can refer to them them in a few different ways:

  • As ‘Tard
  • As special
  • As Mentally Retarded

Calling someone that suffers from this condition “‘Tard” is not professional, nor PC, nor even close to correct. In fact, it is idiotic. That much we can agree on. Moving on.

“Special” is the PC or nice way to put it. But as far trying to provide proper assistance to this person, it does nothing! Why? Because it fails to correctly identify the condition that the person has. And if you do not know exactly what is wrong, you cannot render proper assistance.

“Mentally Retarded” is the professional way to put it. It does not sugar-coat the truth, nor does it obfuscate the underlying problem. As such, it puts the problem right out in the open, where it can then be addressed correctly.

You do nothing for this person by calling them special. If anything, you only do something for yourself by making yourself feel better about how you address that person’s problem. That is a bit selfish, if you ask me. Additionally, you actually might end up hurting them by doing so, because they may not get the assistance they require. Imagine having a school called Foster’s Institute for the Special. If you had one child that suffered from Asperger Syndrome and another that suffered from mental retardation, can you tell if that school is able to help either or both of your children?

Now, some people with limited facilities actually consider it derogatory to identify someone that is mentally retarded as “Mentally Retarded”, or someone that has autism “Autistic”. Where does it end? Does short become “vertically challenged“? Do those that are bullies become “nice challenged“? If you cannot type, are you then “keyboard impaired“?

This is not the fault of the words themselves, it is the fault of those that would use them in a derogatory fashion, and those that are too sensitive to handle it. But as is the case with many things, the solution is education, so that these people better fit into the world. Not trying to change the world to accommodate those people. After all, it is a great big world out there.

Short People and Big Cars

Having driven a decent amount of miles for my age, in a variety of vehicles ranging from motorcycles to my mom’s double-cab dually with a six-horse gooseneck trailer, I can truthfully say that one of the most scary things out there are people driving vehicles that are way to big for them.

In general, I have always believed that you should never drive a vehicle that is taller than you are unless you have a real reason for doing so. For example, if you have to haul a fully loaded four-horse trailer, you are likely not going to be pulling it with a Neon! Likewise, if you have to (read: it is your job to) drive a bunch of kids to and from school, a school bus fits the bill. If hauling large amounts of cattle, a semi/tractor-trailer is appropriate. Got three kids? The Dodge Grand Caravan makes for a safer bet than a Navigator, and is easier to park, especially when all you are doing is bringing the kids to and from Chuck-E-Cheese’s.

However, if simply taking your little 5’2″ ass on an all-blacktop 20 minute drive to and from work, you do not need to be driving an Escalade, H2, or Land Rover. If you are driving an SUV that is taller than you, and the most off-roading you have ever done was pull it into the backyard to drop off bags of mulch, or the most camping you do is when you are taking a nap in the backyard, you are likely in the wrong vehicle.

Nothing is scarier than driving at 75+ MPH on the highway and seeing someone closing in on you who can barely see over the steering wheel let alone over the side of their car when doing a lane change. That is real fear. At nighttime, when it is already hard enough to correctly gauge distance, the last thing you need is some dumbass on your tail illuminating your interior due to the height of their headlights.

Have we gotten so stupid that everyone needs to be driving a surrogate penis now? Even when their travel is so limited that nobody of any significance will see it? Oh, and how is that fuel bill treating you these days?


Top of the Food Chain, Baby!

Something that has always bothered me… I have always considered Software Developers to be pretty much at the top of the food chain when present in a software company. And that is not just because I happen to be one! Please allow me to explain…

If you are a software company, then your whole business is about software. Hence, your most valuable asset is your group of software developers! Yet many software companies treat their developers as disposable items, when they should be treated as the least disposable asset.

Another thing: software developers are generally the only ones present within an organization that can be fully productive (and make money) on their own, taking on the roles of almost all other members of an organization. For example, a single software developer can start their own company, do market research and design, architect, develop, test, manage, package (for deployment), and market a software product. They can also do their own user support. Now, of course, they may not be at good at marketing, as a large organization’s marketing group, but they at least CAN do it to some degree. Can people in the marketing group do that? How about the H.R. or Sales groups?

On the other hand, almost all other people/groups present within a software organization need the presence of a software product (hence, duh, the software developers) to do their jobs. Without a product, the marketing department has nothing to sell. The QA department has nothing to test. Project/Product management have nothing to manage. And without all that, the CEO has no company to lead. It all starts with the developers!

Using the above example about how a developer can successfully take on all those other roles in the organization, when is the last time you met someone in marketing that can do all that? Or in support? Or QA? Or any levels of senior management or executives?

Also, when is the last time you saw a corporate announcement (from a software company) that seems to credit/mention all other groups in the company except for software development? Dunno about you, but I sure see that shit a whole lot more than I should. Developers do not ask for much; we expect to get recognized for doing our part, and expect to get rewarded accordingly. Sounds pretty simple, huh?

Writing code for 8+ hours a day takes a bit more work and brain power than cold-calling someone, taking a client out to lunch, or bitching at developers about missing a milestone after you “adjusted” their estimates without their permission or guidance!

Something for managers/executives to think about the next time they are tying to figure out how to spend their budget or distribute the allocated raise/bonus money:

Never Forget Where Your Bread Gets buttered!

7th-Day Laws…

One of the things I never understood were the so-called “7th-day laws”, at least from the religious side of things. Now, I am by no means a fan of (US) organized religion, but if you believe that God created man in His own image, then would He not want man to grow? To accomplish greater and greater things and thus become more like Him?

If so, then how more like God could we be than to create life ourselves?

Or maybe I just do not get it – anyone want to clear it up for me?

Just a thought…