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!…

Project Outsourced on Lou Dobbs

Came across a website called Project Outsourced the other day. A group of documentary filmmakers are attempting to cover outsourcing from every angle. Interesting clip on the front page relating to Lou Dobbs, although almost everyone in that clip (including an NYU Economics professor) is so unbelievably wrong about Lou Dobbs that it hurts me to hear supposedly intelligently people speaking such garbage…

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.

libranet-archive

About a year ago, I bought a commercial version of Debian from a Canadian company called Libra Systems. It’s called Libranet, and it’s become pretty popular. Basically, it is a 2-CD distro that gets you up-and-running with a Debian sarge system in no time. Pretty soon, Libranet may be obsolete what with the debian-installer efforts and better and better configuration tools being released for free, but I’m still thankful for a commercial Debian distro that gets out of your way and allows you to get up and running with ease, and all the while maintaining 100% compatibility with the official Debian branches. I have since upgraded to sid without a problem, and even run Gnome 2.6 from experimental. All of this upgrading has never been met with problems, despite the custom packages produced by the Libranet maintainers.

In any event, libranet-archive is a project that is not entirely mine. Someone on the libranet mailing list (a great place to get general Debian Linux help) said that he had made archives of the mailing list from February 2001 to December 2003. So I opted to host them on my server. You can view the libranet-archive here. I plan on continuing his effort by turning my mboxes of the libranet mailing list since December 2003 into html using the same tool, MHonArc. For now, though, this may be useful for people searching for answers to the questions.