Internap line problems, spinning, coding
Got a call from our install engineer at Internap. He said that last night (really this morning) the line tested for some errors. It sounded like a small number of errors to me, but he said they were going to submit the line for testing to the phone company; at least, I assumed the phone company. Someone is testing our line. To make a long story short, broken firewall is still in place, hopefully to be swapped out tomorrow if the testing runs clear. Amusingly broken firewall stayed up all last night and all of today.
I was playing with the Internap line yesterday, doing some pings and traceroutes, and I can’t say the results were really that impressive. I may have hit Allegiance at a good point — indeed I had problems with them today — but at the time I was testing I was sometimes seeing lower latency from Allegiance than from Internap. I guess we’re really moving to Internap for reliability, though; it’ll just be a plus if we can get lower latency.
Since I didn’t have to go to work this evening to install the new firewall I was able to code. I couldn’t really concentrate on coding for a lot of the day. I ended up spinning about an hour set of all my trance-ish records, which turned out surprisingly good. I need to complete this project so I can have others listen to me play and tell me how much I suck.
Finally coding hit me in the early evening and I was able to crank out
SimpleConsumer. I still have need to fix the interface between
SimpleProducer and SimpleConsumer, since I feel like
SimpleConsumer is checking the state of SimpleProducer with
SimpleProducer.waitForMoreData (). To rectify this, I think I’m
going to make a method on SimpleProducer that waits for data if
none is immediately available, then returns whatever data is
available. I thought about implementing a whole publish/subscribe
model, since that seem to fit so obviously, but that would probably
require a lot more work than I need to do for little or no benefit.
This way is the simplest thing that could possibly work, I think. I
hope. I will say that, due to all the work done in SimpleProducer
and CircularBuffer, SimpleConsumer was really short.
Another potential problem is two methods that are useful to several test classes, but don’t necessarily belong in a parent class (”Y is a special type of X” doesn’t hold in this case, at least not in the terms I’m putting it to). Java Design seems to indicate that it’s OK to christen these “utility methods” and make them static methods of some utility class; its one restriction is that this utility class not be subclassed, which is fine. OTOH, I seem to recall reading somewhere on PPR that this was something like a code smell. I’ll probably end up sticking them in a utility class, but I wouldn’t mind at least coming up with an alternative first.
You know, for a “web log” I don’t have many links to the “web” here.
They’re a bit cumbersome to make, admittedly. Maybe I should make a
system whereby I can easily and quickly queue a page to be talked up
when I make my web log entry. Yeah, I’ll Just C-x 4 f and load
the buffer with the URLs up in Emacs, then make it so I can open them
in Mozilla from Emacs…
[Delusions of grandeur proliferate in darky's head before being squelched by a need for sleep.]