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…

Work begins today, computer fixed

It’s June 1, so work begins today. I’ve started out by looking for a JSP/Java Servlet host for my web development project for the summer. Found out an old friend of mine from high school (Andy) is running a business where he resells server space, and he found me a real cheap price and a lot of features, which is nice. I’ll be the only client of his using Tomcat.

My computer problems seem fixed. I don’t want to jinx it, but the tests are running smooth, and I spent all last night developing without a crash. I really think it was a hot spot on my CPU from uneven spread of thermal paste. I switched to the stock Intel cooler with the “black dust” thermal paste, and it is running better. The only problem now is that the old cooling system makes a bit of noise, but I’ll replace it soon.

I planned on doing some case mods to my ECube along the lines of this and this, but know I won’t be able to do them alone (not without a good drill press). I am going to have the holes drilled by a local glass shop I think (Lion’s Pride in Manhasset?). I don’t receive the Nvidia video card until Wednesday, but I hope it fits and I can have these modifications done at the end of the week.

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.