Skip to main content

Posts

Caught red-handed...

Amazing. My book has only been out for a couple months and someone has the audacity to ask me directly if they can pirate it. Here's the message I received: ------------------------------------- hi, i m new to this group... May i know , from where i can get the following books for free ? Is there any site , from where i can download ? Thanks in advance Manish >"Accelerated C++" by Koenig and Moo > "Safe C++ Design Principles" by Thomas Hruska > "The C++ Standard Library" by Nicolai Josuttis > "Effective C++" by Scott Meyers > "More Effective C++" by Scott Meyers ------------------------------------- Basically, this person stuck their hand in the cookie jar while I was already getting a cookie. Figuratively speaking. I don't think it gets any more blunt than that. The thing is, I am a fairly lenient person. If someone can't afford my book "Safe C++ Design Principles", then they need to e-mail me ...

Why scams work...

Seth Godin has a blog worth reading if you like my style of writing. He's opinionated. I'm opinionated. He's right. I'm right. He talks about business. I talk about software development. He gets to the point. I blab like a journalist. Or an idiot. Pick one. Anyway, a recent article on his blog caught my eye: http://sethgodin.typepad.com/seths_blog/2006/03/ the_return_addr.html In the article (albeit very short), Seth admits having no clue why mail scams work. Unfortunately, I know exactly why they work. Here's the lowdown: Once upon a time a relative of mine received some junk mail. Now this relative was the type of person who had to have two of everything. This sort of behavior is also known as the packrat mentality. It is important to note that if someone who has packrat mentality can't immediately locate at least two items, they will buy another one just to be sure. Now this particular relative was also an elderly person. It is important to note that as a per...

Food changes

I like to know that when I make food that it will have the same taste and texture 100% of the time. That is how I know something is done right. I don't know if you have ever experienced this, but I can taste subtle differences in both taste and texture. I am every food company's worst nightmare - from cereal to ice cream to even rice. Don't mess with my choice in rice. Which is exactly what Uncle Ben's recently did. In fact, there was no warning that it was "New and Improved" - they simply changed it. And for the worse. See, I like their Fast-Cook (5 minute) Long-Grain and Wild Rice with Chicken Kiev (and I'm kind of picky about that too). However, a couple weeks ago I had some and it tasted terrible. Of course I'm not one to judge instantly - I gave them a second chance before deciding to contact the company. The taste was awful. The texture was terrible. And it didn't absorb the butter sauce of the Chicken Kiev like it used to. Actuall...

Security IS Simple

At the recent RSA conference, Bill Gates said, "Today, we're using password systems, but they simply won't cut it." This was after he presented Windows Vista and its new supposedly-secure architecture. Uh huh. I don't buy it. For one simple thing was overlooked at the conference: Vista's core graphics engine is based on DirectX (specifically Direct3D). Game developers and programmers have been using DirectX since it practically came out and it STILL is not stable. For example, some of the best minds designed, wrote, and released the Half-Life game engine (a.k.a. "Source") - and it took them all of five years to make ONE game...and it crashes randomly (can even freeze up the PC so that a hard reboot is required)! Microsoft is making claims that it can shift a fairly stable graphics architecture (GDI) over to DirectX in under two years. I don't care how many people Microsoft throw at Vista. The core of DirectX isn't being fundamentally re-w...

Eliminating web advertisements

I've discovered the perfect solution to removing advertisements from 99% of all websites. Well, I've known about the solution for a long time but only last night found the last piece to the puzzle. A little known aspect of Windows computers is the 'hosts' file. Linux people use this file all the time for various purposes just because Linux is all about editing configuration files. Gag. Anyway, I've known for some time that I can eliminate advertisements on the web by poisoning my DNS cache via a modified 'hosts' file. At this point you are wondering about various things like, "What is DNS?" "What is a DNS cache?" "What is DNS cache poisoning?" I'm so glad that you are asking smart questions like those instead of clicking the 'back' button. DNS is short for Domain Name Server. Basically, when you type in www.yahoo.com , a query is made to your ISP's DNS server to obtain an IP address for www.yahoo.com . ...

Headphone rant

Why do headphones have such lousy design? I have gone through about a half-dozen pairs of headphones in the past 8 years. They have to be replaced by equivalently lousy headphones. I'm not going to drop $200 for headphones because I know that it is just a waste of money and I don't need perfect sound. Here's how it goes: Purchase headphones. They work fine for about a year or two. Then strange things happen. The right earpiece flickers momentarily one day. Then the left earpiece. Then it starts alternating constantly. Then one earpiece goes out permanently. Or if there is an attached microphone, it flakes out. Or it loses its grip on the position I like it at and it drops...so I use a rubber band to hold it in place. The "adjustable" height for headband-based headphones is always off by half-a-notch. And accidentally smacking the cord tends to throw the headband completely out of whack - taking the next 10 minutes trying to fix it up. Also, most headba...

My goodness - what evil lurks in their minds?

I was just told a story about Lotus Notes (owned by IBM Corporation). Let's call the person who told me this 'John'. John was having problems with Lotus Notes about once a week where it would simply crash. Well, it didn't exactly crash crash. Apparently Lotus Notes utilizes WER (Windows Error Reporting) or an equivalent: https://winqual.microsoft.com/default.aspx So when the application crashes, it sends a crash dump of the program to John's IT Helpdesk (or IBM's Helpdesk - I'm not sure how the system works). John doesn't really care. Except John got curious because the application says to contact the corporate IT helpdesk about the issue. So, John calls the corporate IT helpdesk one day and describes the problem. Let's say the IT helpdesk person's name is Sue. Sue asks the following question, "Does Lotus Notes crash on Tuesdays right around lunch time?" Thinking for a moment, John says, "Not sure about the day, but that sounds lik...

The road to performance

Why is it that every time a developer has to go optimize something in assembler, they have to re-learn the darn language again? Okay, you've optimized the, to use a technical term, crap out of that loop in C/C++ and it is not calling any functions what-so-ever any more...and it still has lousy performance. So, now you have to make the tough call to move to assembler. It will instantly tie your application to a single compiler and architecture and make it that much harder to port. Any reasonable business person will look at the potential millions lost and will decide that the product is "good enough" if it means getting it cross-platform faster to gain an extra 20% market share sooner and then go back later to "fix" the problem. Unfortunately, in this case, there is only one platform and the performance is abysmal. The program should be operating at 10 times the speed it is actually performing at. And I've forgotten just about everything assembler in an ...

Rubber melts

I discovered today that rubber can melt just sitting in one place and that putting a graphing calculator under running water causes it to stop functioning. I picked up my calculator today that I've had for forever and my hand stuck to it. Removing my hand from the sticky revealed that the sticky had gotten on my hand. So, I went to the restroom to see if I could do something about it. Then I got back and realized that the sticky was everywhere. So, not thinking clearly, I took the calculator and ran it under water. And soap. Soap seemed pretty effective against the melted rubber pad and the only really good way to remove soap is with running water. Now each TI-82 graphing calculator that Texas Instruments manufacturers comes with four rubber pads. Only one of the four has melted so far. I'm letting it air dry for the next few days in the hope that nothing is seriously wrong (i.e. a short). I've never been very good with electronics, but I do know that water doesn...

Google has nifty feature.

If anyone can figure out how Google is selecting what links appear on certain searches, I would really like to know. Here is what I'm referring to: http://www.google.com/search?hl=en&q=cnet http://www.google.com/search?hl=en&q=yahoo http://www.google.com/search?hl=en&q=microsoft Each of those three searches return four select links to sections of each company's website. What I want to know is how Google is deciding what links come up. This is possibly the biggest feature they have put together in a long time. It seems to me that anyone can benefit from this, but the rules seem really sketchy at best. It looks like different subdomains are favored, but then why is CNet inconsistent? It also appears that you can only have 15 characters for each displayed link. I've not cared much for SEO until now. This, however, piques my interest because this potentially allows searchers to quickly find what they are looking for if they know your company name or website n...

Misinformation

Misinformation is abundant. For instance, I needed a read/write locking mechanism for Windows and was hoping to get some development tips and ran across this as one of the top ten results from Google: http://www.joecheng.com/blog/entries/Writinganinter-processRea.html That's all fine and dandy...if you want application performance to, to use a technical term, suck. Performance really goes down the tubes if 10 threads want to write all at once. Every thread wanting to write has to line up and then 1000+ synchronization primitives have to be acquired before the last one can finish writing. If you are a software developer with less than 5 years of experience and don't know the first thing about a topic, please, please, please do NOT blog on it, do not write an article, do not visit a forum declaring knowledge of it, do pass GO, and do not collect $200. (If anything, you owe the world a formal apology and you owe me $200 for wasting my time). Google and other search engines wi...

Day 3 - SIC 2005

Wow. I meant to post yesterday, but I was extremely busy and I was so exhausted I could not even blog about it. I went to a number of sessions, but missed portions of the afternoon ones. I missed the session on UI design because I was talking to people about ShareWrap. There is a lot of interest and excitement about the product activation system that does not "phone home". Microsoft is here at the conference and they had a session where they presented something that is shipping with their Visual Studio .NET 2005 product called the "Shareware Starter Kit". I will be publishing a PowerPoint presentation that describes what all has to be used in order to get it to actually work in the first place. At the exhibit I was literally swamped. I was executing about three conversations at once and needed to be doing about five at a time to keep up with the rate of people arriving. Thankfully the PowerPoint presentations explained both what the Microsoft SSK (that's ...

Day 2 - SIC 2005

Today I found out that Internet access is "free" at the expense of moving to a public area and having to turn on my computer's firewall. However, that is a small price to pay compared to the rediculous $9.95 US per 24 hours of access that was originally thought to exist. Very few places actually do that rate any more. I guess they can get away with it because the hotel is "super fancy." Silly hotel. I hung out with a couple people (Hi Carolyn and Jessie) from TechSmith today (a former life) after they spotted me. Well, technically I spotted them first, but only because I knew they were coming because they are sponsoring SIC 2005. I told them about this blog, so they are probably thrilled I mentioned them (and possibly annoyed as well because I mentioned them). I met a whole ton of people today from a number of companies. As usual, I supplied all sorts of advice and advertised my products - perfecting my sales pitch for the ShareWrap product. Actually, I ...

Day 1 - SIC 2005

Unfortunately, I do not have access to the Internet at this point. The price for access is a rediculous $9.95 (US) per 24 hours here at the Hyatt. You would think that for about 450+ technical geeks at a single gathering wireless Internet access would be one of those nice convienences they simply give out for free. As it is, I am going to have a heck of a time getting the overhauled Powerpoint presentation onto my main PC. Oh yeah, I changed the Powerpoint after giving a short presentation to a guinea pig audience of people who don't understand the technology. That opened my eyes to the major details I was leaving out. The Colorado mountains are actually quite lovely this time of year. While Michigan has skiing and stuff up north, I don't get up there very often. Besides too many jokes have been made of "Youppers" (Upper-peninsula). I took some photographs on my way back from visiting some relatives of the mountains and they are quite picturesque. As to the pr...

The IETF

Frustrated by spam? Blame the IETF. I sure did today on their primary mailing list. I probably sparked a war :) Just in case they choose to block the post, it is here for posterity's sake. Some guy named John wrote something that sort of triggered a lot of bottled up angst for the IETF. Partly because the IETF has turned, in the past few years, into a bunch of technically-correct drunkards. Instead of actually doing stuff at BOF (Birds of a Feather) meetings, they get drunk. Every time I receive a piece of spam, I think about how the IETF is not doing anything about it. Anyway, here is John's post and my witty reply: ------------ > John C Klensin wrote: >[..] > >> But the notion that the IETF can prevent something from happening or >> being deployed by declining to register it, or by turning our >> collective backs on it without any real explanation -- even at the >> waist of the hourglass-- is, in this world, just delusional. And, if >> t...

Visual Studio freaked out

The Visual Studio .NET IDE just completely freaked out and went all Japanese on me. If you ever want to be scared witless, don't close the IDE for weeks on end and this too will happen to you. I've had Intellisense freak out before (giving me the hint I need to save my work shortly before the IDE decides to crash), but the IDE itself never freaked out before to change the actual text in the document to Japanese/Chinese characters. Source code really doesn't look very good in anything other than English 7-bit ASCII. I mean, UTF-16 might be okay from a visual perspective, but I doubt most compilers would enjoy dealing with that. How does this relate to developing software? Well, don't do this. Users get confused easily. This sort of thing would only complicate their lives more and probably frustrate them to no end. Especially if they don't understand Japanese/Chinese/corrupt lines of text.

Everyone loves Garfield...

Completely and totally unrelated to software development, I found this: http://www.garfield.com/fungames/comiccreator.html And made this: Okay, so it isn't exactly funny, but given that the tools given to people to use are quite terrible, I'd say it ranks somewhere from sort of funny to downright hilarious - depending on your personal luck with "the ladies." As to how this relates to software development: Give people enough tools to get the job done, but not too many or users will get lost quickly (or use them for means they weren't meant to be used for). Given this tool is available free for everyone to use, you wouldn't want to grant too much power or people will start their own rogue Garfield strips. However, there are too few options to do anything remotely hilarious. It took me a long time to figure out the best way to pummel Jon was to use a pillow. That's frustrating. I could have used the other props. but the characters and objects are limited to t...

MSDN Library vs. "Grandma"

Dear Microsoft, Can you PLEASE stop using pictures of people on the MSDN Library CDs/DVDs? No offense, but this latest release has me realizing that I don't want to be looking at someone else's "grandma" for three months (the last one with that guy with the nasty goatee grossed me out for three months and this one is already making my stomach churn and my face turn green). While I'm at it, I don't want to be looking at anyone - about:blank suits me just fine. I'm sorely tempted to rollback several releases until I find a better-looking picture. But I know Microsoft wants to always look and sound impressive, so pictures of tech. stuff works fine by me. Come on, seriously, you've got plenty of geek toys lying around - Pocket PCs, Tablet PCs, that new mouse with the horizontal scroll - we're geeks and are more than willing to drool over cool stuff. Just no more people for a while... If you _absolutely_ have to use people, then stop making them l...

Spyware strikes again...

I'm getting really fed up with the idiots out there who think they can install spyware junk on my PC even _with_ my permission. There should be a way to set some obscure setting in IE that says, "I'm a computer geek, I'm not stupid, go away. Go bother someone else who is vulnerable to such nonsense." Take, for instance: http://www.lyricspy.com/ Running that site in FireFox makes it show up just fine. Now load it in IE (er, assuming you have all the latest security patches installed) and you get a face full of some annoying Flash animation telling you to install their ActiveX (spyware/virus/trojan) control (um...no way) and a dialog box telling you to install the ActiveX control (still no way) and a whole lot of junk (the text on the webpage is busted - still no way I'm installing it). This isn't the first time I've run into this and I'm just picking that page out as an example. In FireFox, just about at the same location in the source (if you c...

Really great monitor idea.

This is boiled down from a discussion on a list I own and moderate with over 5,000 software developers (I initiated the discussion): Let's say you are editing code. What is the number one complaint I hear people talking about from IDEs and editors? Not enough text on the screen. Well, since everything these days operates on fonts, the natural thing to do is to first play with the fixed-width font size being used (variable-width fonts don't work for programmers). So, now you have, if you are lucky, a font that can display maybe 140'ish characters across. The ideal width is roughly 200 characters. However, what about the vertical? Depending on the editor/IDE, most likely anywhere from 30-50 lines. The ideal height is 200 lines. Okay, now what? Well, since screens operate on pixels, the next natural thing to do is to increase the number of pixels. Okay, so you've got 1600x1200 screen resolution. Big deal. The font is so tiny you can't see it. So, you crank u...