|
Or, How to Make Your Audience Feel Old in Ten Easy PowerPoint Slides.
A couple days ago at work the dev team and some management had a long meeting with some Longhorn evangelists from MS. The evangelists' job is basically to get other companies to write software for Longhorn to be ready for launch. It's the equivalent of, say, Sony going to video game companies to get them to write launch titles for the next PlayStation.
This isn't a Longhorn post though, it's a historical post. At the beginning of the presentation, the first evangelical speaker went through a "ten years ago" section. He listed the goals MS had ten years ago with Windows 95. The biggies were run on affordable hardware (meaning 386s), run Win16 and DOS programs, and the ultimate goal, "A PC on every desk".
Now, aside form thinking "damn I'm old, I remember all that", I got to thinking that was a pretty remarkable feat to get a Win32 OS, with memory protection (even if it was only for 32 bit code), device drivers, VxDs, DOS compatibility, long filenames on FAT, and so on and so on... get all that running on a 386 machine that had less RAM than your current hard drive's cache.
My first PC was a P120 with 24 MB and man did Win 95 fly on that thing.
--Mike--
Personal stuff:: Ericahist | Homepage
Shareware stuff:: 1ClickPicGrabber | RightClick-Encrypt
CP stuff:: CP SearchBar v2.0.2 | C++ Forum FAQ
----
Actual sign at the laundromat I go to: "No tinting or dying."
|
|
|
|
|
I've been sitting on this release for quite a while because I haven't wanted to update the SearchBar article to describe the new features. I've gotten burned out on writing, as evidenced by the 8 months since my last article[^]
I just remembered that I have this blog thingy and I can put up pre-release stuff for anyone who wants to see the new features and happens to read this.
The big new feature is a signature manager. I know there are already a few of those, however AFAICT they all require you to have VC 7.x installed because they use a DLL that comes with VC. Since I don't use VC 7 (I actually installed it at home a couple weeks ago [but that's for another entry]) and since I'm a native code guy, I wanted to have a normal C++ signature tool.
The good news is that I use an XML file in the same format as the existing sig managers, so if you use another one, you can import your sigs into the SearchBar.
To use the new SearchBar, install the current version from the SearchBar article[^]. Then grab this zip file[^] and extract the DLL over the one you just installed.
Go to the options and there's a new Signatures tab:
Hopefully this is self-explanatory. When you hit Ctrl+Shift+Space on a posting page, there are signature commands on the Commands submenu.
Let me know how y'all like this.
--Mike--
Personal stuff:: Ericahist | Homepage
Shareware stuff:: 1ClickPicGrabber | RightClick-Encrypt
CP stuff:: CP SearchBar v2.0.2 | C++ Forum FAQ
----
Pinky, are you pondering what I'm pondering?
I think so Brain, but if we shaved our heads, we'd look like weasels!
|
|
|
|
|
With the recent Ad Banner SnafuTM I thought I'd do a little historical post.
Some time ago (a couple years at least), a lot more HTML was allowed in posts, including script. Some people used this to do neat sigs, like David Wulff with the anger/humor/sincerity scales. But of course, some a-holes always have to ruin it for everyone and exploit it.
That's what happened here. Someone made an account and put some script in the signature. The script changed the properties of the ad banners to point to their own banners, which were (naturally) for some adult chat site. When you viewed one of their posts, the HTML in the sig was parsed and the script ran, which switched the banners.
After that happened, Chris tightened up the restrictions on what tags are allowed in posts.
--Mike--
Personal stuff:: Ericahist | Homepage
Shareware stuff:: 1ClickPicGrabber | RightClick-Encrypt
CP stuff:: CP SearchBar v2.0.2 | C++ Forum FAQ
----
Pinky, are you pondering what I'm pondering?
I think so Brain, but how will we fit the hamster inside the accordion?
|
|
|
|
|
Eventually he will tighten it up to exclude everything but <br /> . Damned a-holes ruining it for the rest of us.
regards,
Paul Watson
Bluegrass
South Africa
Chris Maunder wrote:
"I'd rather cover myself in honey and lie on an ant's nest than commit myself to it publicly."
Jon Sagara replied:
"I think we've all been in that situation before."
Crikey! ain't life grand?
|
|
|
|
|
It's 2 AM and due to this stupid cold, I can't sleep. Since I've been stuck at home the past couple of days, I've gotten some time to play one of my all-time favorite games (thanks to MAME):
Block Out[^], a Tetris-style game viewed from overhead. It's intensely challenging once you get to level 15 or so. Of course, being sick has dulled my 3D spatial recognition skillz a bit...
--Mike--
Personal stuff:: Ericahist | Homepage
Shareware stuff:: 1ClickPicGrabber | RightClick-Encrypt
CP stuff:: CP SearchBar v2.0.2 | C++ Forum FAQ
----
You cannot truly appreciate Dilbert unless you've read it in the original Klingon.
|
|
|
|
|
On a whim, I went over to that other programming article site[^] because I wondered if my articles were still up there. It turns out they are, all three of them.
The first was Most Recently Used List in a Combobox[^] and to give you an idea of how old it is, the screen shot shows that I had Win 98 installed into "C:\chicago". ("Chicago" was the MS codename for Windows 95 and I often installed the OS into "C:\chicago" for testing; putting the OS in a directory with a name different from the default is a good thing to do when you're in QA.)
I haven't read the article... I don't want to see how bad my writing style was back then.
[The article is here on CP[^] too ]
--Mike--
Personal stuff:: Ericahist | Homepage
Shareware stuff:: 1ClickPicGrabber | RightClick-Encrypt
CP stuff:: CP SearchBar v2.0.2 | C++ Forum FAQ
----
Laugh it up, fuzzball.
|
|
|
|
|
First[^] article that I read written by you
I'll write a suicide note on a hundred dollar bill - Dire Straits
|
|
|
|
|
It was a running joke. A while ago (on the order of years) there was a Lounge thread about The MSDN Show[^] (now The .Net Show) and Erica Wiechers, who is on the show for a couple of segments. Being guys, we naturally started talking about her good looks. (This was back when Lounge traffic was much less than it is now, so the thread hung around for a while.)
The next month, when the new show came out, I posted a screen cap of Erica, again so we could talk about her good looks. Some else did it the following month, and then I had an idea. Some people keep a "sighist", a history of their funny or witty signatures. So I made the Ericahist, a history of Erica's outfits from various shows.
--Mike--
Personal stuff:: Ericahist | Homepage
Shareware stuff:: 1ClickPicGrabber | RightClick-Encrypt
CP stuff:: CP SearchBar v2.0.2 | C++ Forum FAQ
----
"How does one know if one's aura is dirty? Does someone come along with their finger and write "wash me" on it?"
-- Buffy
|
|
|
|
|
Is she actually a geek? Or is she just eye candy like those ladies on the screensavers?
How do I print my voice mail?
|
|
|
|
|
Well, I don't know her, but I don't think so. Listen to her when she reads the news on the .Net shows, I think it's pretty clear that she doesn't know what she's saying, she's just reading the words.
--Mike--
Personal stuff:: Ericahist | Homepage
Shareware stuff:: 1ClickPicGrabber | RightClick-Encrypt
CP stuff:: CP SearchBar v2.0.2 | C++ Forum FAQ
----
Actual sign at the laundromat I go to: "No tinting or dying."
|
|
|
|
|
I've never been much of a web reader, I only regularly read a few sites like:
CodeProject[^]
Homestar Runner[^]
ISCA BBS[^]
Alyson Hannigan Corner[^]
Astronomy Picture of the Day Archive[^]
As for blogs, I started with Raymond Chen's[^] (which was great at the beginning, he talked about historical stuff in OS development; still good now because he doesn't talk about much .NET stuff, which is refreshing), then gradually found other MS bloggers that were interesting. Here's an OPML file of my current reading list (not all the blogs are very active).
Other good blogs are Eric Lippert[^], Larry Osterman[^], and Sara Ford[^]
(Before you ask, Erica does not have a blog AFAIK; Robert Hess posts occasionally on the .NET Show blog[^] though.)
[edit]
BTW, I use SharpReader as my aggregator. I went through a couple of others but didn't like them, finally I tried SharpReader and it fits my needs well enough. I'm too lazy to keep going and find That One Perfect Aggregator.
[/edit]
--Mike--
Personal stuff:: Ericahist | Homepage
Shareware stuff:: 1ClickPicGrabber | RightClick-Encrypt
CP stuff:: CP SearchBar v2.0.2 | C++ Forum FAQ
----
Pinky, are you pondering what I'm pondering?
I think so Brain, but if we shaved our heads, we'd look like weasels!
Windows troubleshooting: Reboot first, ask questions later.
|
|
|
|
|
This is good stuff. Especially the link to Alyson Hannigan Corner[^]
"You can have everything in life you want if you will just help enough other people get what they want." --Zig Ziglar
Coming soon: The Second EuroCPian Event
|
|
|
|
|
Over on Larry Osterman's[^] log (he's on the Exchange team) we were discussing which version of the CRT to use[^].
There are two schools of thought. The MS view is that they trust installers to never mess up someone's system so the exact correct versions of all DLLs will always be present; as a result you can always link to the CRT DLLs and get several benefits, most notably less physical memory usage due to the DLL being shared among processes, and fewer heaps in each process.
My view, as a programmer in the real world (not MS's world where they control everything) is that people's systems (especially 9x) get munged by bad installers or other accidents. If someone has a wrong/missing/corrupted DLL, it can cause my app to crash or misbehave, and guess who gets blamed for that? Me, not MS. Guess who loses sales because of it? Me, not MS.
Therefore I always use the static LIB version of the CRT in every one of my apps. If I lose any sales due to bugs, I can at least say it was my fault, not the system's.
--Mike--
Personal stuff:: Ericahist | Homepage
Shareware stuff:: 1ClickPicGrabber | RightClick-Encrypt
CP stuff:: CP SearchBar v2.0.2 | C++ Forum FAQ
----
Kosh reminded me of some of the prima-donna programmers I've worked with. Knew everything but when you asked them a question; never gave you a straight answer.
-- Michael P. Butler in the Lounge
|
|
|
|
|
I was listening to the news on the radio whilst driving home tonight, and the girl reading the news did a list of "this day in history" items. One of them was in 1992, the Rodney King riots started.
I almost drove off the road when I realized that was twelve years ago. I can remember it like yesterday, I was on campus at UCLA working in one of the computer labs when I first heard about the riots starting. The following days were pretty bad and the air smelled like smoke due to all the idiots setting stuff on fire.
--Mike--
Personal stuff:: Ericahist | Homepage
Shareware stuff:: 1ClickPicGrabber | RightClick-Encrypt
CP stuff:: CP SearchBar v2.0.2 | C++ Forum FAQ
----
Kosh reminded me of some of the prima-donna programmers I've worked with. Knew everything but when you asked them a question; never gave you a straight answer.
-- Michael P. Butler in the Lounge
|
|
|
|
|
|
|
Note: I've copied this post here from its original location[^] to give it (hopefully) better visibility. Buffer overruns are possible because on x86 there are not separate categories of "readable memory" and "executable memory". If a block of memory has one permission, it has the other. They also work because a thread's local variables and return addresses are in the same area of memory, its stack.
Here's a typical stack with the default size of 1 MB, after one function call. Note how the stack grows down from high addresses towards low addresses.
0 100000
+--------------------------+
| <unused>|<vars>|<retaddr>|
| | | 40AE |
+--------------------------+
^ top of stack That indicates that when the current function returns, control resumes at address 0x40AE. Now after a few calls, the stack will have a few layers of that:
0 100000
+------------------------------------------------------------+
| <unused>|<vars>|<retaddr>|<vars>|<retaddr>|<vars>|<retaddr>|
| | | 4E33 | | 4AD1 | | 4F10 |
+------------------------------------------------------------+
^ top of stack Now lets say the current function declares a char[10] array as its only local variable. That array is denoted by asterisks:
0
+-------------------------------
| <unused>|<vars> |<retaddr>| ...
| |**********| 4E33 |
+-------------------------------
^ top of stack If the function blindly strcpy 's an input string (from say, the network) into that buffer, without checking the length of the source string, it will write past the end of the array, over the return address. The copied bytes are denoted by $:
0
+-------------------------------
| <unused>|<vars> |<retaddr>|
| |$$$$$$$$$$$$$$$$$$$$$$$ ...
+-------------------------------
^ top of stack All a hacker has to do is figure out what to use as the $$$ to change the overwritten return address to be an address within the $$$ itself. Since the $$$ is the malicious data, the hacker has control over it.
0 7AE1 100000
+------------------------------+---------------------+
| <unused>|<vars> |<retaddr>| |
| |$$$$$$$$$$| 7AE1 $$$$$$$$$$$$$ ... |
+----------------------------------------------------+
^ top of stack When the function returns, the thread reads its return value, which has been changed to point to within the $$$. Now the hacker has made the thread execute memory that he planted in the stack. If that thread happens to be running in a powerful account (like Admin or Local Service), bingo, your box is 0wn3d.
--Mike--
Personal stuff:: Ericahist | Homepage
Shareware stuff:: 1ClickPicGrabber | RightClick-Encrypt
CP stuff:: CP SearchBar v2.0.2 | C++ Forum FAQ
----
"Linux is good. It can do no wrong. It is open source so must be right. It has penguins. I want to eat your brain."
-- Paul Watson, Linux Zombie
|
|
|
|
|
Whoa boy. The June 2003 FHM (US edition of course) has some pics of the Buffy girls. New pics of Alyson. *drool* All I can say is DAY-UM.
Check out some scans here[^] (not safe for work)
[edit]The pics are gone now The site had to take down a lot of its galleries due to its popularity and the resulting bandwidth costs.[/edit]
--Mike--
Ericahist | Homepage | RightClick-Encrypt | 1ClickPicGrabber
"You have Erica on the brain" - Jon Sagara to me
|
|
|
|
|
LOL!
You're really desperate, aren't you?
Rickard Andersson8
Here is my card, contact me later!
UIN: 50302279
E-Mail: nikado@pc.nu
Interests: C++, ADO, SQL, Winsock, 0s and 1s
|
|
|
|
|
|
Me too...
although I must admit I have also recently developed a thing for Fred from Angel too!!...
...oh and Faith rocks too....!!!....
But Willow/Aly is the queen babe!!
|
|
|
|
|
|
|
|
|