This is itub's TypePad Profile.
Join TypePad and start following itub's activity
itub
Recent Activity
I'm not a big fan of "infinite scrollbars" because they make Ctrl-F inconvenient and you never know where you are (the latter is not a problem in your discussion view, but it *is* a problem in the discussion listing view).
Civilized Discourse Construction Kit
Occasionally, startups will ask me for advice. That's a shame, because I am a terrible person to ask for advice. The conversation usually goes something like this: We'd love to get your expert advice on our thing. I probably don't use your thing. Even if I tried your thing out and I gave you ...
I saw my electrical bill go way down after I stopped using the electric clothes dryer and started hanging the clothes instead.
For a Bit of Colored Ribbon
For the last year or so, I've been getting these two page energy assessment reports in the mail from Pacific Gas & Electric, our California utility company, comparing our household's energy use to those of the houses around us. Here's the relevant excerpts from the latest report; click throug...
We are willing to sacrifice security for convenience to be able to do business over the phone easily. Some of the glaring weaknesses that are common in the US, such as using social security numbers, dates of birth, mother's maiden name, or last four digits of credit card as a form of "identification", are rare in other countries where business over the phone is not as common or businesses are more paranoid.
In Mexico, if you want to do almost anything related to your bank/utility/government/etc. account, you have to go to a branch in person and bring photo ID. Sure, you might fake a photo ID, but that increases the barrier and risk greatly compared to fraud over the phone.
(On the other hand, many people in Mexico are victims of bank fraud that are perpetrated by bank insiders, so things are most definitely not perfect there either!)
Computer Crime, Then and Now
I've already documented my brief, youthful dalliance with the illegal side of computing as it existed in the late 1980s. But was it crime? Was I truly a criminal? I don't think so. To be perfectly blunt, I wasn't talented enough to be any kind of threat. I'm still not. There are two classic b...
Windows in not only the buttons, icons, and menus that you see. The operating system kernel is more important than that, and I'd say that Windows 2000 (or NT if you wish) was more "revolutionary" than Windows 95--it was the first version that didn't crash like crazy. A robust kernel is underappreciated: if it works, you don't notice it's there. But if it crashes twice a day and it forces you to reboot for silly reasons, you sure do.
Betting the Company on Windows 8
I'd argue that the last truly revolutionary version of Windows was Windows 95. In the subsequent 17 years, we've seen a stream of mostly minor and often inconsequential design changes in Windows – at its core, you've got the same old stuff: a start menu, a desktop with icons, taskbar at the bot...
I think anyone who works with data needs to learn some basic programming. Even if they never write programs, the experience can at least give them a taste of what programs can do.
There is a big difference between computer and cars or plumbing: computers are infinitely programmable, and the average user often has no idea about the many things their computer could do for them, if only the right program for it existed.
Despite the advances in what software written by professional programmers can do, there will always be some obscure need that is so specialized that it can only be solved with a custom-written program.
People know that if the plumbing doesn't work, they can call a plumber, but they often don't even notice that their computer "doesn't work" and they could/should call a programmer. By "doesn't work" I don't mean that it is malfunctioning, but that it is being underutilized.
I've had coworkers who wasted hours, or even days, doing repetitive labor on a computer. When I learn about it, I write a script to automate the task. Writing the script usually takes a few minutes, or an hour at most, and ends up saving them huge amounts of time. You would wonder why they didn't ask for help before. The reason was that they had absolutely no idea that the task could be automated. When you show them that the computer can do that, they are as surprised as if it were doing magic (thus proving that Arthur C. Clarke was right).
My hope is that teaching people like my coworkers some basic programming will increase the odds that they will ask for help when they need to use a computer efficiently. This could even lead to increased employment for real programmers like us!
So You Want to be a Programmer
I didn't intend for Please Don't Learn to Code to be so controversial, but it seemed to strike a nerve. Apparently a significant percentage of readers stopped reading at the title. So I will open with my own story. I think you'll find it instructive. My mom once told me that the only reaso...
I find some sort of net neutrality desirable because the providers most of us are stuck with have an inherent conflict of interest when it comes to the type of content that goes through their pipes. Either they are phone companies which would rather sell you overpriced phone service instead of letting you use VOIP, or they are cable companies interested in selling you overpriced access to TV and movies.
The same problem arises whenever someone is ostensibly selling you one kind of good or service when they really want to sell you something else. A meatspace example is movie theaters which bar you from bringing outside food and drink in the hope of selling you their overpriced junk food. Locked cellphones sold by phone providers are another example.
In all these cases you can argue that the unwanted, overpriced product is subsidizing the desired product or service. That is not bad *if* the providers are transparent about it. Some phone companies let you buy unlocked phones at a higher price, which lets you see the size of the subsidy and decide whether you want it or not. Some restaurants let you bring your own bottle of wine for a fee. I don't know of theaters which let you pay extra to bring your own food or drink. And I wonder whether ISPs would let you pay a reasonable extra fee for a neutral connection.
The Importance of Net Neutrality
Although I remain a huge admirer of Lawrence Lessig, I am ashamed to admit that I never fully understood the importance of net neutrality until last week. Mr. Lessig described network neutrality in these urgent terms in 2006: At the center of the debate is the most important public policy you...
You probably use some sort of templating language to generate HTML. Using templates to generate CSS is just an obvious extrapolation.
What's Wrong With CSS
We're currently in the midst of a CSS Zen Garden type excerise on our family of Q&A websites, which I affectionately refer to as "the Trilogy": Server Fault Super User Stack Overflow Meta Stack Overflow (In case you were wondering, yes, meta is the Star Wars Holiday Special.) These sites a...
@Eric Beard:
If you get sick reading long lines on Wikipedia: there is no law that says that you always have to maximize your browser window. In fact, one advantage of having a big monitor (or two or three) is that you can actually see more than one window at a time!
Three Monitors For Every User
As far as I'm concerned, you can never be too rich, too thin, or have too much screen space. By "screen", I mean not just large monitors, but multiple large monitors. I've been evangelizing multiple monitors since the dark days of Windows Millennium Edition: Multiple Monitors and Productivity...
To people who say that in their many years of programming experience they have never needed to use recursion/linked lists/sorting algorithms/loops/arithmetic/etc., implying that those things don't matter:
The charitable explanation is that you really understand these things and when to use them, but were "lucky" that they weren't necessary for your job. If that's the case, good for you, because you won't have any trouble if someone asks you at an interview.
The less charitable explanation is that you really don't grok what these things are or when to use them, and in all your years of experience missed plenty of opportunities to used them to produce a better solution to a programming problem. And believe me, this happens. I've seen code by coworkers who apparently didn't quite get the idea of loops and arrays. The code "works" but is an unmaintainable mess. Or code that performs very poorly because someone didn't have a clue about the different performance characteristics of arrays vs linked lists (or more likely had no idea about the existence of the latter).
Good programmers have a good toolbox of programming techniques, algorithms, and basic logic; they are always eager to learn and improve their toolbox and are constantly thinking of better ways of using the best tool for the task at hand.
The Non-Programming Programmer
I find it difficult to believe, but the reports keep pouring in via Twitter and email: many candidates who show up for programming job interviews can't program. At all. Consider this recent email from Mike Lin: The article Why Can't Programmers... Program? changed the way I did interviews. I ...
I have a really simple solution to the "insert operators into 123456789 to add up to 2002" problem.
It may not be the most elegant, or recursive, but it took only a couple of minutes to conceive, type, and execute.
Using bash:
for e in 1{,+,*}2{,+,*}3{,+,*}4{,+,*}5{,+,*}6{,+,*}7{,+,*}8{,+,*}9; do echo $e = $(($e)); done | grep '= 2002'
The Non-Programming Programmer
I find it difficult to believe, but the reports keep pouring in via Twitter and email: many candidates who show up for programming job interviews can't program. At all. Consider this recent email from Mike Lin: The article Why Can't Programmers... Program? changed the way I did interviews. I ...
itub is now following The Typepad Team
Feb 22, 2010
Subscribe to itub’s Recent Activity
