On keeping things

You know, my philosophy about buying things used to be, never buy high-end because you’ll always have to replace it/upgrade it within a few months. But now I’m starting to reject that whole idea entirely.

I mean, I’ve already posted on other sites about how new PDAs don’t impress me because I still use a Palm Vx and it does everything I need in a PDA, and then some. Everything I need. No, it doesn’t play seven or eight MP3s in its Flash memory. No, it doesn’t play video clips I record with the tiny video camera embedded in the back. No, it doesn’t connect to wireless internet access if hotspots are available.

Nope, all it does is keep track of my todo lists, download articles from AvantGo and download maps, directions and listings from Vindigo. I can also set reminders, create shopping lists, and play DopeWars. All in 8MB of RAM. Plus, it’s thin, it’s beautiful, and it’s made in the USA.

Now that computers keep getting faster and faster and most software is not proportionally taking advantage of it, I find it easier to say, “Okay, I’ll have this computer for a few years.” That’s a good thing. In retrospect, these last five years have moved so quickly that it really made us geeks spend a ton of cash. I mean, I’m on a 2.6Ghz machine with a gig of RAM. I never use more than 300MB of RAM unless I’m running VMWare (which I’ll admit, is often nowadays). My CPU never gets cranked unless I’m doing video processing. I mean, things aren’t as speedy as perhaps they should be (I/O being the bottleneck), but I haven’t felt my computer “lagging” in years.

As a side note to that, software needs to get smarter. At 2.6Ghz of raw power, my computer should be doing more for me automatically 🙂

300 lines of (careful) code later…

And I am chiseling away at this project. Coded the registration form in true MVC fashion. As I said to Olivia today, they don’t call it software engineering for nothing. I had to really plan this out properly and code the components with lots of reuse in mind. It’s paying off, slowly.

So anyway, I can see why my brother’s developers shy away from doing extensive error checking on their forms. It’s a pain in the ass. But a necessary one, I think. I really wish something like XForms were widely adopted so that us poor web developers could enforce constraints easily at the client level. I would do it with JavaScript except I really fucking hate JavaScript. It’s slow, clunky, and almost always makes your page look-n-feel unprofessional.

So, I said, fuck it, might as well take some OOP features of Java and code some reusable error handling for forms. I came up with a nice idea of using a HashMap that stores keys of the form element identifiers and passing that object to the JSP page through the RequestDispatcher/Session. Once my JSP page has it, it checks if there are errors, and if there are, it outputs the error message and also marks off asterisks next to invalid form elements.

This is probably the kind of thing Struts/FormBeans handles for you easily, but I’m doing it from scratch. All in the name of knowledge, I guess. Is the time I’m spending on this from scratch > the time it would take to learn the Struts framework/deal with the issues arising from the Struts framework? Who knows. But at least I’m learning more, so I guess that’s why it wins out.

Argh, I need sleep. I’m so pathetic. I disabled Workrave, and so I haven’t taken ANY breaks in the last 2 hours. sad

Busy days

Been working like crazy the last couple of days. Spending most of my time on the UAC project–coding all the great Java classes that will make the website run smoothly. Learning a lot more about MySQL (and Connector/J) in the meanwhile. In fact, yesterday in order to get up to speed I spent about two hours reading some relational database theory (stuff I had stupidly forgotten to review when I jumped into MySQL earlier this year, in a very practical way).

Yesterday, after finishing my Java work, I had the pleasure of setting up a Bugzilla for my brother’s web developers. I say pleasure because the Debian bugzilla package rocks and literally makes it an apt-get install bugzilla bugzilla-doc affair. From there I was able to customize it up the wazoo by editing /etc/bugzilla/localconfig and rerunning dpkg-reconfigure bugzilla. Ah, Debian. Makes things so easy.

Bugzilla is really nice when you play with it. I’ve been entering bug reports for my brother on and off as I browse his websites. 10 minutes ago I got bored so I added a bunch of Stephen Wright jokes to Bugzilla’s “quips” feature (displays a random quip on every bugzilla query). Hopefully that’ll keep my brother’s devs entertained as they try to face the growing steep of UI bugs and such.

Anyway, back to work. Just felt I was leaving this web page without love. More to come later, when I’m less under pressure.

NFS sucks

I started using NFS the other day because I realized I wanted to have transparent access to my server so that I could deploy Tomcat applications there easily (more easily than with FTP, SCP or CVS, at least). Well, it turns out NFS is complicated on its own. When I asked about NFS in #debian, someone told apt to tell me what NFS is. Quoth the bot: “NFS, or Not Fucking Secure: The Networked Filesystem from Sun.” Among the other replies in the room were that it “never fucking works,” or that “when it does, it works poorly at best.” If you care about stuff like this, read on…

Murphy’s Law: Murphy was an optimist

Well, I have to hand it to you, Murphy. I really wasn’t expecting it this time. But you managed to do it. I thought I was free, but clearly I was not.

It’s 5:44am, the birds are starting to chirp, and here I am, finally with a working computer. I am still not entirely sure why it works now. I believe that the clips on the HT800 CPU cooler push down to hard on the CPU or the socket, and are causing instability problems. It doesn’t surprise me. Right now I have the clips off and it boots every time. I put the clips on and it doesn’t boot. I’m pretty sure it’s not coincidental. It’s also the only thing that has changed.

In any event, this has significantly slowed down my work on the summer project, but I’m going to make it up by working all weekend. angry

The question becomes, how am I gonna clip this CPU cooler to the motherboard without causing the instability? I tried only using 2 clips but that seems not to work either. And I can’t even lift up the HT800 since the thermal paste is acting as an adhesive (maybe I did too good a job?). In fact, I’m starting to think perhaps I put too much thermal paste, and that’s why the CPU is getting crushed. I guess things like that really make a difference when you’re talking millimeters.

Throughout all of this, I thought the reason for POST failure was: (a) thermal paste hotspots again; (b) BIOS issues with the installed video card, causing me to do CMOS resets about 40 times with mixed results; (c) bad memory, becuase sometimes taking a DIMM out helped; (d) bad IDE controller, because sometimes removing the drives helped. In all a-d, I believe I was wrong. This was Murphy playing games with me. He gave me four red herrings. The problem, I’m sure, was the clips all along, but Murphy took me for a ride and provided the coincidences to make it possible. All-expense paid trip into my own personal hell: a malfunctioning computer with all my data on it.

I am still not entirely sure of my theory. If Murphy breaks it here, though, I will be quite upset. What a bastard he can be.

Tomorrow I have to do UAC work all day. It’s imperative. Hopefully it’ll keep booting so I don’t have to use the Mac.

SSL and high school reunion

Been reading the SSL Certificates HOWTO to learn a bit for my summer employment (which will require SSL communications). Nice because here my college education is actually helping, in that things I learned in my Discrete Math class are showing up.

Yesterday in the wee hours of the morning, I was getting bored researching this stuff, and so I googled one of my good friends from high school, David Krauss, an extremely talented computer engineer who knew PPC assembler and was fluent in C (and when I say fluent, I mean it) at the tender age of 15. A die-hard Mac lover with so much knowledge, I always wished and hoped he would get a job at Apple. And, it turns out, he did. That makes me happy. The world is somewhat just, it seems.

If you want something done right…

You know the rest.

Well, I got my video card, and definitely needed new holes drilled in my side panels. Unable to find a usable drill press, I decided to bring it to a local glass shop, as I mentioned before.

The guy acted like he could handle it, and said it was completely “feasible,” but that he’d have to “look it over tomorrow.” So I left the panels with him. I called him twice the next morning to see if he still thought it was possible, and to suggest I reduce the drill pattern to make it easier for him. No responses. He disappeared until 5pm or so. When I called him back he said he was “done.” I couldn’t believe it. Could the side panels be finished already? He said they “looked good,” there was just “a little shelling.” (Ok, so I can’t expect something like this).

Holy shit. A little shelling? He ruined my side panels!…

Hardware instability

Well, I’m annoyed now. My hardware’s been unstable since the start of the summer. In WinXP I experience random BSOD on mysterious STOP codes like 0x0000008E and 0x0000007E (which are like page faults and unhandled system thread exceptions). I’m suspecting bad RAM. I pulled out one of my memory cards and left 3DMark03 running in loop, and indeed the computer still crashed. I have the other RAM DIMM out and will do the same kinda test to see what happens. If this crashes as well, the only thing I have left to suspect is this damn AIW 8500DV, which’ll be out of here soon anyway.

I hate stuff like this.

Leadtek Winfast A360 (GeForce FX5700)

So, I decided I’m going to move away from my ATI hardware (an 8500DV AIW) and on to a cheap GeForce card by Leadtek. According to reviews, my 3D performance should increase significantly (from 1000 3DMarks with my current card to ~3500), and this way I should be able to use the Nvidia Linux drivers which are all the rave lately. Frankly I’m tired of ATI’s piss-poor graphics support for Linux.

The other thing is that now I will move my TV capture to a separate card in the PCI slot. A Hauppauge WinTV PVR Media Center Edition (MCE) 250 is my current choice. What’s nice is that then I’ll also get the capture functionality in Linux, which I’ve been missing with my ATI card.

The only thing I fear is that the Leadtek’s fan won’t fit in my Ecube because the AGP slot is near the side panel. But if that happens I’ll RMA to NewEgg.