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
Tuesday, April 08, 2003 — Is this the freedom we’re fighting for?
You may e-mail a comment to me, and I will publish it here as soon as I can.
Thursday, April 10, 2003 — For those of you who detest what some religion teachers at our school — ahem — 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’.”
You may e-mail a comment to me, and I will publish it here as soon as I can.
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.”
You may e-mail a comment to me, and I will publish it here as soon as I can.
Wednesday, April 30, 2003 — It’s amazing how much has happened in the past week or so:
Last Thursday, I got my temps after taking the written driver’s test.
A long time ago, I went with my father when he took the CDL test there. (A CDL is the test you need to take if you want to be a licensed truck driver.) Back then, the test was a long Scantron test. Boy have things changed. Now, it’s a computerized system that gives you an accompanying picture, lets you zoom it in, and immediately tells you which questions you’ve gotten incorrect, and why. It even lets you take the test en español. (I didn’t, but I could’ve.)
Last Saturday, the St. X Quiz Team participated in a regional tournament at Cincinnati State Technical College.
We won against Kings and Colrain. Unfortunately, the game against Turpin wasn’t quite so easy. We struggled to take the lead in the first few rounds, and Turpin led after the team rounds. The Alphbet Round tied us once again, and the entire Lightning Round was neck-and-neck. We came out winning by two, but Turpin decided to challenge an earlier decision for two points. They won the motion, once again tying us. So there were five Tiebreakers. Turpin won by one point. The next round was a Bye (a free period) for us. The next round, we had to win against Moeller, and we would go upstate to Columbus. Perhaps we lost our morale after the Turpin match, but we easily lost against Moeller.
It was a true disappointment. I was also disappointed because I had to sit in the audience and just cheer them on. There was only one bright side to this: I got to eat lunch at Bruegger’s Bagels. That was delicious!
This coming Friday is MusicFest 2003 at school. That means that we basically show up at school and do whatever we want to. School bands will be perfoming outside, the Library will be used for videogames, the Cafeteria will be for DDR, and there may be a movie being shown on the big screen in tX. Earlier this school year, you may recall, I reported live from Spirit Day, our school’s other true “play day.” Unfortunately, the IT Department has since blocked every website hosted by Netfirms, including mine and DJ’s. So I will be providing an overview of the highlights of the day on this weblog that afternoon. I may write the actual report during MusicFest.
You may e-mail a comment to me, and I will publish it here as soon as I can.
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.
“Paul Whitlatch,” 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
“Minh Nguyễn,” 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
You may e-mail a comment to me, and I will publish it here as soon as I can.
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.
“Mark Hoar,” 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
You may e-mail a comment to me, and I will publish it here as soon as I can.
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).
You may e-mail a comment to me, and I will publish it here as soon as I can.
Saturday, May 17, 2003 — Mozilla.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:
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.
You may e-mail a comment to me, and I will publish it here as soon as I can.
Thursday, May 22, 2003 — Hilarious!
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.
You may e-mail a comment to me, and I will publish it here as soon as I can.
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:
You may e-mail a comment to me, and I will publish it here as soon as I can.