Minh’s Notes

Under Construction

I am working diligently to put a nicer-looking look and feel to this website and a more streamlined system of managing it. Please bear with me; as I can only do this during my free time, this effort will take a long time.

Speaking of construction, here’s a prehistoric under construction page for my now-defunct LSP Online.


In the meantime… some old notes

Due

Tuesday, April 08, 2003 — Is this the freedom we’re fighting for?

Comment on this via e-mail

You may e-mail a comment to me, and I will publish it here as soon as I can.

Changin’ times

Thursday, April 10, 2003 — For those of you who detest what some religion teachers at our schoolahem — have to say, this is the editorial that basically sums it up:

“… It sounds almost too good to be true: Leftist professors who came of age protesting the Vietnam War are disgusted and shocked—shocked!—by the pro-war views of many of their students. …

“What’s truly pathetic about these nostalgic lefty profs is that they’re out of sync not only with their students’ views, but also with their own generation. The most shocking thing about this week’s Washington Post/ABC poll is that the age group with the highest level of support for the war in Iraq (87 percent!) is the 45 to 54-year-old set. That’s the same baby boomer group most of the professors in the New York Times story no doubt belong to. Even the baby boomers are pro-war!

“As those Vietnam-era protesters might have said: The times, they are a-changin’.”

Comment on this via e-mail

You may e-mail a comment to me, and I will publish it here as soon as I can.

Looking forward

Thursday, April 17, 2003 — Typically, Internet writers predicting the future of technology will take the naïve approach of suggesting outlandish possibilities and science-fictional conflicts that arise as a result. I’m impressed, though, with Paul Graham’s very enlightening and inspiring essay on the future of programming, The Hundred-Year Language. Although it is very long, the essay should be of interest to anyone who’s ever learned a programming language.

“I think that, like species, languages will form evolutionary trees, with dead-ends branching off all over. We can see this happening already. Cobol, for all its sometime popularity, does not seem to have any intellectual descendants. It is an evolutionary dead-end— a Neanderthal language.

“I predict a similar fate for Java. People sometimes send me mail saying, ‘How can you say that Java won’t turn out to be a successful language? It’s already a successful language.’ And I admit that it is, if you measure success by shelf space taken up by books on it (particularly individual books on it), or by the number of undergrads who believe they have to learn it to get a job. When I say Java won’t turn out to be a successful language, I mean something more specific: that Java will turn out to be an evolutionary dead-end, like Cobol.

“This is just a guess. I may be wrong. My point here is not to diss Java, but to raise the issue of evolutionary trees and get people asking, where on the tree is language X? The reason to ask this question isn’t just so that our ghosts can say, in a hundred years, I told you so. It’s because staying close to the main branches is a useful heuristic for finding languages that will be good to program in now.

“If we had the hundred-year language now, it would at least make a great pseudocode. What about using it to write software? Since the hundred-year language will need to generate fast code for some applications, presumably it could generate code efficient enough to run acceptably well on our hardware. We might have to give more optimization advice than users in a hundred years, but it still might be a net win.”

Comment on this via e-mail

You may e-mail a comment to me, and I will publish it here as soon as I can.

Catching up

Wednesday, April 30, 2003 — It’s amazing how much has happened in the past week or so:

Comment on this via e-mail

You may e-mail a comment to me, and I will publish it here as soon as I can.

MusicFest 2003

Friday, May 02, 2003 — Well, MusicFest 2003, the last “play day” of the school year, has come and gone. Some little tidbits:

And for all those who are envious of our “play day,” we were partially rained out. It was kinda funny seeing everyone scrambling to put away the grills they brought to make their lunches. Mass Exodus.

Comments (2)

Re: MusicFest 2003

,” Sunday, May 11, 2003, via e-mail — Minh,

Just so you know, the weather graphic created with paint was meant as a joke: note the wildly zigzagging lightening strike. All New York Times controversies to the contrary, journalists are allowed to mess around a little bit. But thanks for being such a thorough reader.

~paul

Re: Re: MusicFest 2003

,” Monday, May 12, 2003, via e-mail — Hehe, I know it was a joke. Kind of like the “our resident meterologist John Cole defines a tornado as…” announcement that Mr. Odioso always makes when there’s a tornado watch that morning. :^)

And, uh, what NYTimes controversy?

 – Minh

Comment on this via e-mail

You may e-mail a comment to me, and I will publish it here as soon as I can.

Me, a painter?

Wednesday, May 07, 2003 — I’d better keep an eye on this Paul Graham guy. He’s obviously been thinking too much about programming. But the lastest article of his that I’ve read is just fascinating — especially because I instinctively agree to most of what he says.

“I’ve never liked the term ‘computer science.’ The main reason I don’t like it is that there’s no such thing. Computer science is a grab bag of tenuously related areas thrown together by an accident of history, like Yugoslavia. At one end you have people who are really mathematicians, but call what they’re doing computer science so they can get DARPA grants. In the middle you have people working on something like the natural history of computers— studying the behavior of algorithms for routing data through networks, for example. And then at the other extreme you have the hackers, who are trying to write interesting software, and for whom computers are just a medium of expression, as concrete is for architects or paint for painters. It’s as if mathematicians, physicists, and architects all had to be in the same department.

“Perhaps one day ‘computer science’ will, like Yugoslavia, get broken up into its component parts. That might be a good thing. Especially if it meant independence for my native land, hacking.

“…Hackers need to understand the theory of computation about as much as painters need to understand paint chemistry. You need to know how to calculate time and space complexity and about Turing completeness. You might also want to remember at least the concept of a state machine, in case you have to write a parser or a regular expression library. Painters in fact have to remember a good deal more about paint chemistry than that.

“…I was taught in college that one ought to figure out a program completely on paper before even going near a computer. I found that I did not program this way. I found that I liked to program sitting in front of a computer, not a piece of paper. Worse still, instead of patiently writing out a complete program and assuring myself it was correct, I tended to just spew out code that was hopelessly broken, and gradually beat it into shape. Debugging, I was taught, was a kind of final pass where you caught typos and oversights. The way I worked, it seemed like programming consisted of debugging.

“…For a long time I felt bad about this, just as I once felt bad that I didn’t hold my pencil the way they taught me to in elementary school. If I had only looked over at the other makers, the painters or the architects, I would have realized that there was a name for what I was doing: sketching. As far as I can tell, the way they taught me to program in college was all wrong. You should figure out programs as you’re writing them, just as writers and painters and architects do.”

Mr. Hoar, I assume you’re reading this. It’d be a great idea to take Paul’s reflections into account as you teach novice programmers how to go about programming. Because some of your students will be the ones just looking for another math credit, this may not matter all that much to everyone. But to those of us who care about programming, treating us like programmers — makers — will, in my (humble) opinion, help us learn our field of study so much better.

Not that IPO charts and pseudocode are wrong; they might be necessary on larger projects. But don’t push us to write pseudocode until we get to the big programs — the Best Works™ projects. Maybe then.

Comment (1)

Re: Me, a painter?

,” Monday, May 12, 2003, via e-mail — Hi Minh,

I do try to avoid the mathematical extreme for programming. I like to put code in to see what would happen as much as the next programmer. The danger, however, is that dreaded spaghetti code thing. Bad code begets more bad code. I code much like I write… Each line is slowly formed and deliberate. In many cases the process is not fun but tedious.

In general, I am not training the next generation of corporate CS drones. I am trying to learn you some programming. Learning involves investment, experience, reading, reflection, time, chaos, …

Good luck with your pursuit. You have a good brain! Let it go untethered in your quest.

ttfn,

Mr. Hoar

Comment on this via e-mail

You may e-mail a comment to me, and I will publish it here as soon as I can.

Here’s a cupholder

Friday, May 09, 2003 — I had promised Brad a long time ago that I’d show him how to give someone an e-cupholder. Well, here it is, in two scripting languages, thanks to Andy Baio (color-coding by Allaire HomeSite):

In VBScript:

<script language="VBScript">
	<!--
		' Access the Windows Media Player CD-ROM collection
		Set oWMP = CreateObject("WMPlayer.OCX.7")
		Set colCDROMs = oWMP.cdromCollection
		
		' If the computer has at least one CD-ROM drive...
		If colCDROMs.Count >= 1 Then
			' ...eject each one
			For i = 0 To colCDROMs.Count - 1
				colCDROMs.Item(i).Eject
			Next ' As in "next CD-ROM drive"
		End If
	-->
</script>

And in JScript, Microsoft’s version of JavaScript:

<script language="JavaScript">
	<!--
		// Access the Windows Media Player CD-ROM collection
		var oWMP = new ActiveXObject("WMPlayer.OCX.7");
		var colCDROMS = oWMP.cdromCollection;
		
		// If the computer has at least one CD-ROM drive, eject each one
		if (colCDROMS.count >= 1) for (i = 0; i > colCDROMS.count; i++) colCDROMS.item(i).eject();
	-->
</script>

Only Microsoft’s browsers and e-mail clients will understand these scripts, and viewers must have Microsoft Windows Media Player for this to work. (Anyone with Microsoft Windows ME or XP will already have this, I believe.) This is bound to shock anyone who hasn’t seen this before. As I hinted to before, this can also work in HTML e-mail.

And, because I’m not the malicious type, I won’t do it to you (this time, at least).

Comment on this via e-mail

You may e-mail a comment to me, and I will publish it here as soon as I can.

The Firebird lives

Saturday, May 17, 2003Mozilla.org has released Mozilla Firebird 0.6, the first release of what used to be called Phoenix. In case you’ve really been missing out, here’re some of the reasons you really should get Mozilla Firebird:

Fast
Mozilla Firebird starts up in half the time that Internet Explorer does on my computer (Dell Dimension 600T, Intel Pentium III 600 MHz, 128 MB RAM). It acts very fast, and zooms by Mozilla, which it is based on.
Standards-compliant
Mozilla Firebird supports plenty more Internet standards than Internet Explorer does, including the really-cool MathML and, optionally, SVG. It supports CSS enough that the redesign of this website will be displayed correctly only in Mozilla-based browsers, including Mozilla Firebird.
Simple
Mozilla Firebird has a very simple interface that isn’t cluttered up with menus for everything under the sun (cough Mozilla cough Netscape cough). Its Options dialog box makes accessing your preferences much easier.
Customizable
Mozilla Firebird’s toolbars can be customized even more than Internet Explorer’s.
Favicons
Mozilla Firebird fully supports favicons — little icons for bookmarks that make using bookmarks easier — while Internet Explorer only supports them on random occasions. They’s just cool.
Tabs
Mozilla Firebird has one feature that Microsoft hasn’t even dreamed of: tabbed browsing. Instead of opening yet another window, just middle-click on a link to open the link in a new tab, which you can easily switch to and from. This feature is just one of those things that you just have to try to see the value of.
Download Bar
Mozilla Firebird stores all of your downloads in a simple, easy-to-use Downloads sidebar, instead of cluttering your Taskbar with download dialogs. When you’re done with downloads, you can just leave them there, and even turn off your computer. The files will still be there in the list, waiting for you to double-click on them.

There are so many reasons to switch to Mozilla Firebird. Maybe it’s just the environment of the program that makes it so easy to use. Download it today, for Windows, Linux, or MacOS X!

One note: if you don’t like the default theme, get some other themes to use. Mozilla Firebird Help has probably the most comprehensive (and fun-to-use) listing. I personally prefer Luna Blue (you can also use Luna if you have Windows XP).

Update: I don’t think this entry does the poor browser justice. You should check out Ben Goodger’s page on this.

Comment on this via e-mail

You may e-mail a comment to me, and I will publish it here as soon as I can.

Blueprint: One Word

Thursday, May 22, 2003Hilarious!

Sorry, I don’t feel like typing a lot today, but if you attend St. X, you’ve just gotta read the front of the Backside.

Comment on this via e-mail

You may e-mail a comment to me, and I will publish it here as soon as I can.

Catching Up

Wednesday, June 11, 2003 — Sorry for not blogging in awhile… as if anyone were still reading this thing… I’ve been working hard on my website. But there are some things to talk about:

Comment on this via e-mail

You may e-mail a comment to me, and I will publish it here as soon as I can.

|


Top of Page | Back to Front Page | Back to MingerWeb | Copyright © 2002–2003 Minh Nguyen.