There's an electrician coming this morning to fix the dud breaker, that my fridge keeps tripping.
I got up at 7.35am, checked my email, then went about shutting everything down properly, in preparation for the power going off.
I really need to get another UPS.
I left the tivo on, it's designed to handle abrupt power outages, and I left the card server machine running, so the sat decoder will keep working.
I had a shower, got ready.
It was now 8.15am, no sign of the electrician, as I expected.
I ate more dry cereal (really must get to the shops, I'll have to do it on the way home today).
I left home at 8.30am, still not there. Oh well.
The trip to work was uneventful, didn't see any cops on the way.
Just got to work, it's 9.30am. The sun is blaring in the window, and I can barely see my monitor.
OK, I did some work for a while. About 11.30am, I was starving, I emailed the guy upstairs, asking what time lunch was, he said soon.
I went upstairs, ended up sitting up there for an hour, doing work on the diskless machine I've got up there, before started to head out to get some lunch.
First we went and saw the guys in another section, spoke to them for a couple of minutes.
My phone rang, it was Dad. He said the power was fixed, something about a broken terminal block, and a loose wire. The electrician hadn't fixed the breaker, because he didn't have a replacement, he just "fixed" it. Great, so it'll stuff up again.
Dad asked how to put the stuff on to use the internet, and I told him, he asked if I wanted anything turned on, I said he could put the card server on if he wanted, then the tivo won't record "waiting for NIT acquisition" all day, (oh but it will, because he won't fix that anyway).
He tried to do it, but it just kept saying "waiting for reset from IRD" and wouldn't work, he pulled the card in and out a few times, and the cord (argh, don't do that), but it still wouldn't go. I said I'd have to look at it later.
I said I'd see him later, and got off the phone. I'm really not impressed that it just got "fixed" and not replaced, it's stuffed. Argh.
We went out, the DBA and the guy from Orange who's taking over IT were sitting outside the cafe across the road. We went over, and spoke to them for a few minutes, and then we continued down the road, going to the other cafe.
We had lunch in there, and then went back to work. Got back about 1.20pm.
I got back to working on a file I need to write a parser for, to load it into Oracle.
About 2.30pm, I got an email, from the guy upstairs, saying "help, come upstairs for a bit". I went up to find out what was going on. Probably the website or something again.
Nope, he was working on an application that's been broken for a while, it's a fairly complex application:
It has a java component that the webserver runs, which connects to an ODBC server on a workstation, and pulls the data out of an Access database, it then inserts this data into a temporary Oracle table.
After that, a PL/SQL script is run, which processes the data in the load table, and puts it into the correct tables.
They issue is caused by the Access database (what a surprise), the data in it is too long for the Oracle fields. The java, which retrieves the data from Access, and insterts it into Oracle, seems to be broken, while it has functions to truncate fields that are too long, it just doesn't seem to do it.
I looked at the code, we did some debugging, worked out that for some reason the java stuff was evaluating some if statements, and working out things like "1 = 2" (or 3, or 4).
We bodged around with that for a while, I then decided to do something nasty, and changed the logic from "if [variable] == 1" to "if [variable] > 0 and [variable] < 2" (ie, == 1), and we compiled that.
It actually worked, it fixed up a lot of the errors we'd been seeing. I have no idea what the issue with the logic is though.
It got a bit further loading the data into the Oracle table, but then failed with trying to insert a record, that was too long.
We found the record in the Access database, and it wasn't too long.
We put some more debugging outputs in there, and found that half the fields it was inserting were NULL anyway, so this gets better.. first 1 = 3, and now NULL is too big.
I mucked around with the logic again, it had a couple of "and" conditions, so I moved those to a nested if, that worked for some of the records, but not the one that was failing.
I tried to work out if we could output the SQL statements that java was running against Oracle, but because it uses "PreparedStatements", there's no way to output the actual statement.
I googled around, found a few classes you can use instead, and it's supposed to give you a debugging function, where it will trap the variables being used in the prepared statement, and output it.
I changed the code to use these, but then had no luck compiling the java again, I thought it was issues with the classpath or something, but no amount of mucking around could get it to compile, perhaps because there was a package or something missing.
I have no idea, this is the first time I've done something with java.
I suspected perhaps there was something funny going on with the data coming from Access, perhaps there's a single or double quote or something, and it's stuffing up the logic of the SQL statement.
I put some string replace commands in there, to make sure there were no quotes going through, but it didn't help.
I kept looking, changing things, compiling it running it. Not getting anywhere.
I tried setting up tracing in Oracle, so I could see exactly what was going, but then, when it was supposed to be tracing/logging, we couldn't find the trace file.
It was now after 8pm. Gees, I've been working on this for almost 6 hours.
We decided to go and get something to eat. I went down, jumped in the guy's car, we drove down the road to the pub. He checked in to stay there, I wandered up to the room and back.
I got us a couple of beers, I figured I'd be here for another hour or so.
There were a bunch of people from work out the back having dinner, we went up there, looked at the menu, I picked what I wanted, and the guy from work shouted me, for helping him all afternoon. I would have felt a bit better if I'd actually got it working though.
Anyway, the food came, good stuff, I ate that, had a chat for a while, and left to go back to work to get my stuff, at about 9.10pm.
I got back to work, grabbed my stuff, and went out to my bike. I was just getting ready to leave, when another guy from work turned up, he'd gone to another guy's place for dinner, and had just got back. I spoke to him for a minute, told him where the others were, and he took off down there.
I got on my bike, and took off for home, it was about 9.20pm.
I got home, got in the door at 10.20pm. Hmm, there's a meter and some screwdrivers sitting on top of my guitar amp.
The power was on, I booted up the other pcs, I looked at the card server, he'd half started it.
I wrote a batch file to copy the stuff into a ramdrive, so the hard disk can stop spinning, and it can run off memory, because a few times the disk would stop, and then have to start again, and in the meanwhile the sat decoder would break up, because the keys would take too long.
Anyway, when this batch file runs, windows is crap, and if it copies all the files, and then runs them, it's too fast, and they all crash, so I had to put pauses in the batch file, after copying the files, and between running the server and client applications.
He'd started the server, which connects to the card, and one client (which my box is attached to), and then stopped, he hadn't launched the second client, or connected it to the server, (the one that runs their box).
I sorted that out, went inside to fix their setup, just pulled the card out and in, and it came up.
I told Dad that he hadn't finished starting the machine, he had to run a client for their box "I did" he argued, "no, you started one client, attached to my decoder, you then need to start another one" "i did" "no, there was only one client running" "oh, well I mucked around with the com port it's attached to, and stopped and started it" (argh, I'm glad it was running off a ramdisk, where it doesn't save the config changes, it would have taken me ages to fix the results of that).
I then asked him what the electrician had done, and asked if he was coming back to fix it, and get his tools. Dad said "it is fixed", apparently it was the terminal block in the hot water heater that was the problem, it was all corroded, increasing the resistance, and it had been drawing more current, then because the breaker had issues (and still does) it was tripping at 21A instead of 30A.
He hadn't replaced the breaker, because he didn't have one, he'd just "fixed" it somehow, and if it stuffs up again (great, just what I want) then he'lll come and replace it.
Not really acceptable. I should have stayed home to deal with it, and made sure he replaced it.
Mum said that the electricity bill would probably go down now, if the hot water heating wasn't drawing as much current. I said that I suspected that was the problem, months ago.
Dad said "well I didn't have time to get around to doing anything about it", and I asked "what, to call someone to come and look at it?", and then Mum said "Don't say anything".
I suspect they'd already had that conversation.
I said that the guys tools were still all there, and then I went back out.
I checked my email, and then started mucking around with the linux box I'm trying to use for audio sampling. I downloaded a couple more tools, a GUI interface to JACK, that lets you connect specific inputs and outputs.
I need to find an application that can record via JACK now. I started mucking around with ecasound. I found some examples of recording from multiple channels, so I kicked that off, did some test records, managed to get one card recording happily.
I couldn't get anything out of the other one, I mucked around with different input settings, device names, but still wouldn't work.
I went back to using audacity, which has preview VUs,so I can see the input levels, they were fine on one card, but none on the other card.
I mucked around a bit more, with both the mic and the guitar plugged into different cards, I can still only get one card to record.
I eventually found, after switching the mic and guitar around, that regardless of which card I select as the input device in audacity, I can here the mic on both cards (or the guitar, if it's plugged into that card).
When I use ecasound, it'll record from one card, but just silence from the other.
Bugger, I'm going to have to muck around more with this. Perhaps there's actually something wrong with the input on the second card. I know when I had 2 cards in my mate's windows machine, we couldn't get any input through either of the cards.
It was now after midnight, so I gave up and went to bed.

0 Comments:
Post a Comment
<< Home