MacBook, defective by design banner

title:
Put the knife down and take a green herb, dude.


descrip:

One feller's views on the state of everyday computer science & its application (and now, OTHER STUFF) who isn't rich enough to shell out for www.myfreakinfirst-andlast-name.com

Using 89% of the same design the blog had in 2001.

FOR ENTERTAINMENT PURPOSES ONLY!!!
Back-up your data and, when you bike, always wear white.

As an Amazon Associate, I earn from qualifying purchases. Affiliate links in green.

x

MarkUpDown is the best Markdown editor for professionals on Windows 10.

It includes two-pane live preview, in-app uploads to imgur for image hosting, and MultiMarkdown table support.

Features you won't find anywhere else include...

You've wasted more than $15 of your time looking for a great Markdown editor.

Stop looking. MarkUpDown is the app you're looking for.

Learn more or head over to the 'Store now!

Friday, November 30, 2001



This internview with "Microsoft Chief Architect Anders Hejlsberg" is pretty interesting. I'd read it a while back, but didn't think about it for a while until I saw he was headlining with D. Bill Gates at the Visual Studio .NET Launch coming up around mid-Feb.

This is a bit of what brought on the "weather predicting toasters" thread from which I posted a snippet on 11/15. Anders quotes Gosling grossly outta context with "[Gosling] said, yeah, the whole write-once-run-anywhere, 100%-pure-thing was a really goofy idea, and was more of a marketing thing. " It seems to be an attempt by Anders to claim that C# is not a Java clone ("First of all, C# is not a Java clone. In the design of C#, we looked at a lot of languages. We looked at C++, we looked at Java, at Modula 2, C, and we looked at Smalltalk") by showing how Java is "goofy" and (in other parts of the article) C# is, um, anti-goofy.

I don't think there's any denying that C# is a pretty spiffy language, but as one /. poster put it (okay okay, it was me):
"No matter how many times MS wants to claim C# isn't a Java clone, the point is it's a well-done language based on lessons learned by programmers who are familiar with Java"

My biases aside, it's a pretty interesting interview.

posted by ruffin at 11/30/2001 11:41:00 AM
Monday, November 19, 2001



Stumbled over an article called Fifty Ways to Improve Your Visual Basic Programs on O'Reilly's VB site today. Actually has some excellent pointer for [dare I say] most VB programmers -- and is useful even if you don't program in VB. Certainly I don't agree with everything the author suggests (I think when he says Hungarian Notation he's talking more than just putting "str" in front of strings -- keep using it, as long as the rest of the name's descriptive), but here are a few "indispensible" points, imnsftistco:

Don't forget about the keyboard. Assume there is no mouse. Provide the means to do everything (if possible) from the keyboard.
Don't use global variables. (I'd amend that to "Don't use global variables without preceeding them with the keyword "Me." -R)
Use ByVal for function parameters
Be aware of how your object looks in an object browser (that one's more clever than indispensible, I think -R)
Separate the business logic from the user interface (wish I did... -R)

posted by ruffin at 11/19/2001 01:44:00 PM



Is it just me, or does everyone who receives a URL that ends with "aspx" immediately fire up IE to take a look? I find I don't even bother in NS (or even Moz) anymore.

[update 11/30/01 -- Okay, it's been pointed out to me that not everyone is running Windows and/or Mac OS, and don't necessarily have the ability to open IE. So the answer is, "No, eveyone does not open IE to read aspx files, you Win/MacOS pseudo-competitive environment sell-out!"

posted by ruffin at 11/19/2001 09:59:00 AM
Thursday, November 15, 2001



The joys of SAX and VB. Two great tastes that don't go well together.

mactari2 (5:21:01 PM): I mean, look at this crap:
sAttValue = String$(cchValue, 0)
CopyMemory ByVal StrPtr(sAttValue), ByVal pwchValue, cchValue * 2


mactari2 (5:21:06 PM): That's Visual Basic? Sheesh.
mactari2 (5:21:13 PM): VB ain't coding. That's real close.
mactari2 (5:21:14 PM): :^)

posted by ruffin at 11/15/2001 05:58:00 PM



Date: Wed, 14 Nov 2001 18:06:08 -0700
To: java-dev#lists.apple.com
Subject: Re: Weather predicting toasters

"Ruffin Bailey" wrote, quoting James Gosling:

>The perfect goal of "write once, run anywhere,
>anything runs on anything" is just goofy. You're
>never going to run some piece of weather modeling
>software on a toaster [laughs]. And you wouldn't
>want to.

Yes I would.

With a hundred million or so toasters in the US alone, that's a formidable array of Java computational elements sitting idle at least 99.9% of the time. Worldwide, the distributed computational power in toasterized countries would be staggering (and still idle at least 99.9% of the time).

Added to high availability, consider the fairly low security risks if one of those toasters is compromised. What's a compromised toaster gonna do, lie to you about the weather forecast? Burn four-letter words into your toast? Worst case, you'll have to reset it to manual mode or to its builtin ROM defaults. Every computer security failure should be so difficult to recover from.

Let's see:
- High availability, at least 99.9% idle in normal operation.
- Low security risk, even if compromised or crashed.
- Implicitly connected to a weather-forecasting service (how else would it
get weather-forecast data?).

Sounds like the perfect choice for doing a piece of distributed weather modeling.

One person's "just goofy" is another person's distributed computational resource pool.

-- GG

posted by ruffin at 11/15/2001 10:51:00 AM
Tuesday, November 13, 2001



No one even knows about the blog, but I keep posting...

Check out this paper on a case study of the Gnutella network. Gnutella is a peer to peer protocol (check this link for a headstart -- O'Reilly sponsored page) that's gained some fame for being a "Napster replacement". It's a shame that's how Gnutella's known, though, b/c it's got the potential to help people make distributed web systems much in the same way .NET does.

Anyhow, the paper has some interesting points. One of the most interesting is that Gnutella doesn't take into account where each servent lives when it logs onto a Gnutella network. To get to the 'Net, you have to go through your ISP. Your ISP and many others hook onto the Net at a common location where they meet up with several other "supernetworks" (my cheesy term, sorry).

Now if the cluster of servents to which you're hooked live in different supernetworks (called "Autonomous Systems" or AS in the paper), that's a ton of bandwidth wasted at that node where they all come together that didn't need to happen as each servent tries to ping each other. Instead of asking the computer down the street if they have a copy of the Gnutella Protocol pdf, you're going across the world. And the next servent that that servent queries might be in yet another corner of the world, ad infin... um, and on and on.

Let's say all the servents in your Gnutella cluster all lived in the wires of _your_ ISP. You'd find each other much more quickly, cut down on bandwidth, and help make the Gnutella network much more scalable. Basically, 3-4 servents who are in "close proximity" on a Gnutella network might be in 3-4 different AS's or "supernetworks". This possiblity greatly increases network traffic and your ISPs required bandwidth to serve customers -- and possibly increasing your price for Net access in the future.

And who can mention The Net and Gnutella that many times without leaving with a mental image of The Ne..., ur, The Net and Nutella. Now that can't be all bad.

posted by ruffin at 11/13/2001 12:19:00 PM



Blogger seems to be inserting some extra, unneeded, and unclosed paragraph tags to my blogger entries. Sorry for the mess. Makes the first paragraph of each date not indent. I'll figure it out later.

posted by ruffin at 11/13/2001 11:18:00 AM



Another installment of Links to self (stolen from the glish page -- and okay, this is the first installment):

The CSS Edge -- Lots of simple to implement tips to make your pages a little nicer.
Nested Float Layout -- This is where I stole the code for this template page (or will have stolen, depending on when you're looking at this). Goodness. Just typed </a> in place of the period on that sentence. How long until I'm dreaming about Grover yelling web methods?

posted by ruffin at 11/13/2001 10:36:00 AM



Just read Day 3 in Teach Yourself C# Web Programming in 31 Days. Looks like they're putting up chapters one at a time and then taking 'em down as the next goes up. Worth a read, and much cheaper than the book. Day 3 was a relatively decent read if you stumble over some spare time. Ymmv.

posted by ruffin at 11/13/2001 10:17:00 AM
Monday, November 12, 2001



One of the things everyone loves about Visual Basic is just how easy it is to get an application up and running literally in minutes. MS has done their best to have prebuilt objects controls that do everything from stick a web browser in your app to create a data report to show a progress bar to run a timer.


Because of these ready-made components, people love to prototype applications in Visual Basic. The IDE is such that you can practically drag and drop your way to something every bit good enough to show off to the boss. Heck, there's an "application wizard" where simply clicking "Next" until you're able to click "FInish" gives you a feature complete copy of WordPad. What's neat is how many times people make a prototype in VB, then decide simply to add a few features that actually require programming, and call it a finished product.

This isn't always bad. When it involves things like the MS Internet Control, this quick turnaround time can be good. I've always likened VB to the glue between real applications. When your app is basically marshalling parameters between apps, VB is absolutely perfect.

When someone is using the Data Report or a data-bound field (textbox, combo box, etc), it isn't. Why? Quite simply, it's tough to customize one of these "make an app in seconds" controls that MS likes to dole out. Same story when you try to customize a control you bought from a commercial vendor for use in your VB app. To save time and money and to get in on deadline, VB programmers often succumb to settling for MS-level functionality in lieu of the extra programming required to add the desired functionality that would require that they start from scratch.

How does this effect web programming? Well, with ASP.NET, those "prototypes" are going to come to the web. VB.NET and ASP.NET allow people to essentially code in VB or C# (a great language in and of itself) and the IDE can make the pages for "uplevel" (read: IE) and "downlevel" (read: not IE) browsers for you. You create something called a "Windows Form" using .NET controls (like the datagrid) in an IDE very similiar to the VB 6 IDE. The MS magic does the rest.

Now instead of people asking, "How do I create a javascript routine that checks for legitimate date formats", MS can do it for you. Instead of creating a report positioned with CSS, MS magic can create a "data-bound Datagrid" for you. When people debug web applications, they might very well be debugging VB.NET code, not javascript or dhtml or DOM. What you're doing now compared to what a VB programmer'll be doing in ASP/VB.NET is kinda like the difference between someone who knows assembler coding in C and someone who just knows C. Hard to tweak the bytecodes when you don't know a LDA from a BNE.

I don't think anyone's going to say assembler is a better programming language than C when it comes to getting today's tasks done, but I do think this attempt to simplify can go too far. I doubt you'll find a single programmer who knows both C and machine langauge think that it hasn't been to his/her advantage. I think the VB IDE can lull people to the point that they're never curious to learn what's underneath. When what you're not learning is, say, SQL when you're creating data reports (versus bytecodes when coding C), I think this has to be a negative.

It's not that a good programmer can't program everything from scratch in .NET, it's just that people think testing in IE's good enough* might be a little more prevalent in your web world than they've even been before. And I think MS is going to push this "IE-first, and IE-only's good enough" approach in much the same fashion that they push VB today. Coding for IE-only will give the ASP.NET on the web the same "advantages" VB has over C++ in the client-side today. Why worry about losing 1% of your potential customer base when you could've made a wholly new application in the time it'd take to reach 99%?

(*) "They can just go to Windows Update and get the latest version if the page doesn't work, right?" -- which brings up an interesting question -- guess what the page looks like if you visit using IE 5.1 on Mac OS X? :^D

posted by ruffin at 11/12/2001 06:48:00 PM
Friday, November 09, 2001



This movement by the self-proclaimed Web Standards Project is crazy. The gist of it is that web developers should start programming with as much dhtml as they please, and refer people whose browser doesn't pass the if (document.all || document.getElementById) test to the page I have linked above (and again right there!).

If you ask me, WaSP (where did that "a" come from, exactly?), is whining. There's a plethora of browsers out on the net these days, and not every one is going to support the latest and greatest suggestions from the w3c like [insert your browser of choice] does. You're going to have to write the page awfully cleverly once or fairly well twice to get your content out there to the masses, and they don't want to do this. Wasn't getting our content out to everyone in some crazy democratic kind of way the whole point behind the net?

The bottom line is this: If you have a Internet site, no matter how insignificant, you also have customers that are going to use Netscape 4.7 and Lynx -- or even IE 2.0 on their Windows 3.1 machine -- and if you want them to see your goods, you're going to have to continue to rewrite your page at least once in a relatively low-teach standard like html 4.0 transitional. Where I work, people with disabilities are a pretty high priority (in spite my unncessary use of tables in this blog; that's apparently not so kosher for screen readers) -- believe me, if Microsoft and the Mozilla team are having a hard time keeping pace with the latest from w3c and have ended up with quite different implementations, the people who make the programs that read web pages for the blind are quite a few steps further behind. You don't have to shoot for the lowest common denominator to support it.

The premise that web programmers should have the audience come to them instead of doing the extra work to reach the audience is not unlike a Visual Basic programmer whining that Sun should make its virtual machine support their code rather than having the programmer bother to learn Java. WaSP seems to be hiding behind the excuse that due to their use of standards their forced technology upgrade is legitimate.

To people with a 68k Mac (you'll never run Mozilla with Mac Classic 8.1, sorry) or who need their screens read to them, convoluted tricks that make pages less book-like and more TV commercial like is still about much more useful as a BetaMax movie is over a book. I suppose the WaSP idea is more like those restaurants where you're better off refilling your own drink than waiting for the wait staff. You're a web developer! Making accessible pages is your job!

If you want to use the latest and greatest to make your job a little easier and provide a better delivery mechanism for 80 plus percent of your viewers, knock yourself out. But to claim that you can't write a standards compliant page that gives content to 100% of your potential audience is bogus. Worst case: Write twice, read everywhere. Better yet, as some of the well produced sites out there show is possible, write standards-based code that truly degrades gracefully. It's extra work, but that's what you're getting paid for, not for typing location.replace("http://www.webstandards.org/upgrade/")

Phew. End vent. :^) That's a little overstated, but so is their propaganda for what they probably believe, so we'll call it even. Like I said, even this page isn't a paragon of web accessibility, so I can't cast too many stones. Gimme a few weeks. :^)

posted by ruffin at 11/09/2001 01:46:00 PM
Thursday, November 08, 2001



What the heck, start up the freakin blogger content.

Anybody ever try posting to aieja tee tee pee colon slash slash slash dot dot org? What's going on with the moderation points there? Hey, I'll admit it, I'd like to know how to get modded up to 5 without actually taking the time to write the perfect post.

Here's what I've got so far:

-- (small vent) Jokes aren't understood. They get you modded as a troll. :^)
-- Post first. Most anything within the first 10 minutes gets a point for something.
-- Posting a day late == you're not going to get read. Not a big surprise, but come on, don't some topics deserve some reflective thought?
-- Nearly guaranteed to get ya a 5: Be John Carmack. I'm working on a FAQ on how to do this.

posted by ruffin at 11/08/2001 12:29:00 PM



Wow. It's a post the next day. Let's see what that looks like.

Needless to say, the first week's archive is not going to be Pulitzer material.

posted by ruffin at 11/08/2001 12:18:00 PM
Wednesday, November 07, 2001



This is just another post to help me format my template. Basketweaving for dollars and stone angels (stock templates) just didn't cut the mustard.

posted by ruffin at 11/07/2001 07:58:00 PM



Oh freakin' boah! Another blog! Seems like anyone who is anyone over the age of 12 who can spell CSS has their own freakin' blog online asking for consulting work, so I felt like I was missing out. They apparently don't get much work as most that I see are still begging for jobs, but seeing as how most of 'em seem to know at least as much about dhtml as I do, I'm not real sure why they don't. Must be a status thing.

posted by ruffin at 11/07/2001 07:33:00 PM

<< Older | Newer >>


Support freedom
All posts can be accessed here:


Just the last year o' posts:

URLs I want to remember:
* Atari 2600 programming on your Mac
* joel on software (tip pt)
* Professional links: resume, github, paltry StackOverflow * Regular Expression Introduction (copy)
* The hex editor whose name I forget
* JSONLint to pretty-ify JSON
* Using CommonDialog in VB 6 * Free zip utils
* git repo mapped drive setup * Regex Tester
* Read the bits about the zone * Find column in sql server db by name
* Giant ASCII Textifier in Stick Figures (in Ivrit) * Quick intro to Javascript
* Don't [over-]sweat "micro-optimization" * Parsing str's in VB6
* .ToString("yyyy-MM-dd HH:mm:ss.fff", CultureInfo.InvariantCulture); (src) * Break on a Lenovo T430: Fn+Alt+B
email if ya gotta, RSS if ya wanna RSS, (?_?), ยข, & ? if you're keypadless


Powered by Blogger etree.org Curmudgeon Gamer badge
The postings on this site are [usually] my own and do not necessarily reflect the views of any employer, past or present, or other entity.