Reader Mail – 10/07/2012 To 10/13/2012

A Hungarian website "weblabor" cited my blog, leading to a traffic spike. According to Piwik, it was double my normal reader count for a few days.
B commented on node.js Is VB6 - Does node.js Suck?.
Holy crap you're such a moron! I couldn't read anymore after you said:

"Javascript is incredibly ugly. Why would anyone extend it to a full server-side language?"

You're such an idiot! Lol. Guess what? *Your* javascript is ugly because you suck at programming. Javascript is an incredibly powerful language you can easily make beautiful with reasonable knowledge about object composition.

I did read through the comments and laughed at how you said setting up a LAMP stack is a day of work. Good job man. Hope you're working on something unimportant.

commented on Brian Banks, Victim Of A False Rape Accusation.
Are you fucking kidding? You are exactly what's wrong with religion. In such a horrible story, you saying the victim "must have God next to him" is completely fucked up. This should have never happened.

According to Piwik, I got a lot of traffic from this website. (original untranslated link) It isn't English. It was 60+ pageviews in one day! Surprisingly, it didn't generate a pingback.

It was mostly bounces or 2-3 pageviews. That's another advantage of Piwik over Google Analytics. Google Analytics only tells me overall bounce rate. Piwik is better at giving me details on traffic from a specific source. Cynically, because Google Analytics makes it hard to track the effectiveness of links and ads, that makes it easier to trick people into advertising on Google! With Piwik, I can identify the original source of regular readers; that is not available with Google Analytics.

I read another interesting bit about Test Driven Development. It's a stupid idea that combines well with Design Patterns, another stupid idea. When you use Design Patterns, your project is broken up into lots of classes. When you have lots of small classes, it's easier to write unit tests. When you have lots of small classes, you have more potential problems, so you need more testing.

Anonymous commented on Test Driven Development - How Stupidity Spreads.


Weblabor is a Hungarian community site for web developers, now there is a heated debated about TDD since many people agree it has nothing to do with automated tests or optimalization but anyway that has not much to do with the article which is informative and great

Blacksonic commented on Test Driven Development - How Stupidity Spreads.

Which one is easier:

find a bug between 5k lines of code or 100 lines of code?

Yes, the places are increasing, but they became separated following the SRP, and easier to maintain

Finding bugs become much faster

Just because you have fifty 100 line components, all of which passes every single unit test, doesn't mean the program as a whole works. When you break the application up into more components, you're adding more lines of code for the interfaces.

Suppose your program has a lot of 100 line components. The program as a whole has a bug, even though each component tests perfectly. You still have to dig through and find the problem, exactly the same as if you had fewer components.

My point is that Test Driven Development adds overhead. It isn't a substitute for skilled people working intelligently. A highly skilled person will be frustrated in a TDD environment, due to the productivity-draining added overhead. If you have a large group of mediocre programmers, TDD might help you manage them better, but they won't perform as well as 2-5 highly skilled people managed properly.

Here's an example of automated testing at one job I had (but not TDD). It was financial number-crunching, so automated testing made a lot of sense. The program was in C. In C, an uninitialized variable has a random value (actually, it was a global variable re-used from a previous iteration). When the program parsed the input, there was no clause to handle unexpected input. I added a clause that said "If input is not one of the expected values, raise an error instead of continuing with an undefined value." This broke the automated tests, because one input file contained invalid data. They didn't want to admit to the customer that the previous version of the program had a defect, so they ordered me to remove the error-checking code!

At my current (new) job, the software I'm using is a lousy POS. I have no idea if they were using TDD. It's obvious that nobody competent ever sat down with the program for 5 minutes and pretended to be a user. I found some real boneheaded bugs after using the programs for a few minutes. It is possible that the program passed every single automated test, but I'm finding obvious defects nobody ever tested before.

Here are some bugs I found:

* If you close the program while it's saving, it saves corrupted data instead of exiting gracefully.

* The program has various editing modes. When you load a file, it enters "undefined" editing mode instead of a specific mode.

* The program works fine when editing a 300kb file, but it chokes on a 3MB file! (I.e., it's 1000x+ slower instead of 10x slower.) It's obvious that someone used a lousy data structure.

* When the program generates a textbox for me, I'm not able to resize or move that box.

* The input screens have 50-100 fields each, and I'm only using 1-3 fields on each screen.

* The button labels on the input screens are misleading. One button is labeled "Accept" (i.e. start working), but it actually means "Submit" (i.e. I'm done.). One button is labeled "Revert" (i.e. discard changes) but it actually means "Refresh screen". When I edit something, the data onscreen is not updated until I click "Revert".

All of these bugs could be handled by automated testing. However, that requires someone intelligent to test the program. I have no idea if the authors of those programs were using TDD or not. They certainly were incompetent. (They're probably billing the bank $10M+ for that POS.) It is possible that those programmers thought they had a perfect program, because it passed every automated test.

Anonymous Coward commented on GCW Zero - Linux Gaming Handhelds Vs. Android Gaming Handhelds.
If your precious Google clowns are so clever, they why did they have to buy in the Android operating system? Why couldn't they write it themselves?

Why didn't the Google clowns take the insides of the web browser Konqueror and rebrand it as their Google Chrome web browser? Why couldn't they write this technical stuff themselves?

Why did they have to buy in the technology for StreetView? Why couldn't they do this by themselves?

If the Google Clowns are so clever why can't they write anything outside of Google Search? What is the point of having proclaimed technical interviews, if the clowns can only create something new by getting out their check books?

A university professor was sent to investigate click fraud and he wondered why the Google Clowns took so long to fix it.

What goes on with these Google Clowns? If they are so clever they should write some new software instead of buying everything new in.

asdf commented on GCW Zero - Linux Gaming Handhelds Vs. Android Gaming Handhelds.

I'd say go with the GCW Zero and keep your phone. The GCW Zero is a handheld while the Open Pandora is a laptop with a controller built in. I've been following the GCW for a while and I decided I'm going to get it.

Anonymous Coward commented on GCW Zero - Linux Gaming Handhelds Vs. Android Gaming Handhelds.

Your precious Google Clowns are in the news.

The FTC is _thinking_ of bringing an anti-trust lawsuit against them.


We all know what lovely people the Google Clowns are and that they would never do anything evil.

They surely must suffer temptations.

In the past 6 months I've dropped for third place to near the bottom of the first page in the Clown search results. As a side-effect (purely unintentional) this is forcing me to spent more on Clown adverts.

The thing is I compete against low-cost East European producers that can quite simply offer a product for half the price. I've seen them play with playing Google for adverts. It never lasts for them. They dabble and then give up.

It is difficult to produce cut price goods and pay the clowns for advertising. commented on Taxes And Profit Margins.
You are absolutely right - when taxes are taken into account many profitable activities are no longer such. I believe that in order to end the recession all that needs to be done is to lower taxes. I have never understood why it is socially acceptable to add sales tax to a price. Why only sales tax, why a store would not add other taxes such as federal, state etc

The other taxes are included in the price (income, corporate, property, etc.). They aren't explicitly added, but they're in there. When a business has property tax as an expense, that cost must be added to the price. When a business has corporate income tax on profits, they must charge more for the same profit margin.

sth_txs commented on Taxes And Profit Margins.

People are so oblivious or just being slaves. When I lived in a state with an income tax, I figured out before and after my check I worked darn close to 5 months of they year and that is what I could visibly count. I could only guess how much of my rent was taxes and other fees paid by the property owners.

In NYC (and most other states), the property tax rate for rentals is higher than the property tax rate for single family homes. It's a subtle way of tax gouging the poor, because the property tax expense is invisible to them, paid by the landlords. If you own your home directly and paid off the mortgage, you pay the property tax directly yourself, and it's more visible.

In NYC, if a commercial property is fined for a building code violation, it's added to the property tax bill if unpaid. Many owners never find out about the fines, due to bureaucratic incompetence. Most commercial properties have mortgages. The property tax addition is added to the mortgage, and the bank adds it to the bill without itemizing it.

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>