2005
08.31

lingo

so this sunday, i was determined to get our VoIP phone up and running once more. i have been putting it off for roughly 2 months since we started using dsl.

it was a 5 hour process that required the entire evening. basically, when i got the new modem from SBC, it used an internal IP address that was only accessible to the machine that is directly connected. that IP (192.168.0.1) just so happened to be the same IP as my router’s internal address. so when i installed the router, i pushed the IP of the internal network NIC down one to 192.168.0.2.

i didn’t realize it at the time, but the lingo device used that IP as well. so i had to push the lingo IP address back. but to do that, i had to log into the little web admin page that the device hosts. unfortunately, i was unable to remember the admin password, so i had to flash the ROM. i was warned to perform this as few times as possible. after having done so, i also managed to forget the settings that i setup on the admin page as well.

after 4 phone calls (~3 hours worth of talking) to lingo’s tech support, i finally got the information that i needed. the tech support for lingo is pretty decent, for off-shored business. they were actually able to carry a technical conversation, which aides very much in solving the problem. apparently, the only mistake i was making was that the WAN port needed to be set to use a static IP, the one you desire, and the rest should be kosher. need to know information that is not posted on their support site.

to summarize, here’s what is needed to get a lingo device hooked up to you LAN behind your router:

  • set the port forwarding rules (both protocols):
  1. 53
  2. 69
  3. 1024-1030
  4. 5060-5065
  5. 10000-20000
  • set a static IP for the WAN settings on the lingo device
  • plug a cat5 cable from the WAN port to the hub/switch
  • set the dsl model to use “smart dial”
  • hook phone cable into PH1 on the lingo device
2005
08.31

illinois

we spent some time at my uncle-in-law’s house this weekend helping them move furniture. afterwards, we enjoyed a nice steak dinner with several glasses of wine. we all decided that a good game of monopoly would be fun. as i’ve learned in the past, monopoly can turn into a very nasty game. there’s always one person in the group that seems to spoil all the fun.

that person happened to be my uncle-in-law. several trips around the board and i ended up with a variety of properties and so does he. crystal manages to collect 2/3rds of one set of properties while the other two players do not manage to collect much in terms of property. in fact, one of them only collects the light blues (oriental, connecticut, and vermont) while the other person doesn’t buy a property for half a dozen trips (boardwalk).

in a matter of a half hour, i had 2/3rd of the reds (kentucky and indiana, lacked illinois). my uncle-in-law had illinois but lacked 2 properties that i had. i actually had one of the light blues that the one player needed. i gladly traded the property for indefinite immunity to rent. this of coarse angered some of the players, of which included my uncle-in-law. he vowed to make the game very difficult on me; he delivered on this promise.

for the next 2-3 hours, i made dozens of offers to retrieve illinois, but every offer was scoffed at unless i was willing to go flat broke so i couldn’t build on the properties. apparently, it was irrational for me to want to build on properties. near the end of the game, he was very low on cash and i had a large surplus. however, i wasn’t able to make any dent in my opponents due to the fact that i was unable to improve my properties.

i was collecting rent, and it was getting old fast. round after round of negotiations resulted in him insisting that if i trade him, he will be unable to build and i will be able to do so. this was obviously unfair so he was only willing to trade if i was willing to fork up all of my cash and some limited immunity if i ever built up on my properties. since all of the other players now had at least 1 monopoly, i needed to improve my properties to stay alive in the game. his offer was clearly unacceptable, but he did not understand this.

he managed to trade with another player to build a monopoly on the yellows (marvin gardens, atlantic, ventor). this was eventually my downfall. he was the only player that i was really able to trade with because he had all the properties that i needed. eventually, i landed on of of his yellow properties and basically was put out of the game. i had landed on some of the other properties and survived them, but once i landed on his property, i was left with little to no money. continuing at this hope was delayed suicide. i quit and gave all of my property to crystal. shortly thereafter, everyone else quit.

one other interesting thing, crystal managed to land on boardwalk 4 times, once with 2 houses, once with 3, once with 4, and once with a hotel. somehow, she not only managed to survive, she dominated the game in the end with several monopolies and plenty of cash to spare.

i’ve never met a boardgame griefer and i can’t say i’ll ever play with someone who does that again. it was intentional and plain annoying. it may have been the wine, but i’m very leary about who i play monopoly with from now on.

2005
08.30

dead pixels

i was playing around with my psp surfing on a wifi connection in my apartment when i discovered the dreaded. i was reading an article about a new street fighter when i scrolled to the right too far. at this point, the screen was almost entirely black. i noticed some dead pixels. not some but nine.

ok so i have a “tainted psp.” it’s no big deal really, since i paid 20 bucks for the year long EB replacement plan. but i still have to give it up eventually. currently, the pixels do not appear visible on any colors other than solid black. i am thinking i might be able to grin and bear it but that may not last long. i just don’t like the idea of giving it up. i hope this won’t be a trend, or else i may have to just learn to ignore it. the one saving grace is the pixels are very tiny, much smaller than a PC monitor, which makes them harder to detect.

blah, stupid LCDs.

2005
08.28

globals++

recently at work, i stumbled across a problem that really isn’t stressed much in school: globals. bear with some of my vagueness as i can’t really go into details about what the application does.

an application i was working on needed to store some hardcoded globals due to the requirements. most of the constants were strings (stl) that pointed to locations of files and so forth. given the environment and the budget provided, it was the easiest (not necessarily most elegant) solution to stash them as static const globals.

eventually, i realized that some of these globals contained only part of the necessary information and that the rest is discovered at run-time (has to be done that way). this is where static became a problem. see i made the grave mistake of placing these statics in a header file, which is apparently a big no-no because of this exact reason. each time they were included in a file (typically a .cc file), that file received its own copy. thus, any modifications in other files were not reflected accordingly.

so i asked some of the senior level developers in the area what they would recommend to maintain this set of mostly constant global data. apparently, only inexperienced developers make this mistake and the fact that i have discovered the errors of my ways this early in my career is a good thing (i was told that many developers still make those mistakes, which is why they are still SWE 1).

the general consensus is that the most elegant solution is to make an entirely separate object and use it to store all the global data. in this object’s constructor is where i should set the values to their defaults. this object should be made global in my main entry point file (file that contains the main) and instantiated inside of the entry point (main). everywhere that this object is needed, it should be externed.

after 6+ hours of fiddling with the codebase and trying to get it to compile and operate as necessary, i have finally achieved a finely tuned way of storing (mostly constant) global data. to make matters even better, this technique finally let me decouple the original header and those constants from each object and module that did not need it.

as a side note, with the changes made, this pushed the line count of the application to above 20K. every line was written by hand from scratch.

/me wipes brow

2005
08.25

carbo-load

so a few days ago, i posted about how i finally met my primary physical goals for the year. well, i ran into a snag that slowed me down quite a bit this week.

crystal and i have been counting calories and i found out that i currently ingest a little over half the calories i should have for the year. on average, i don’t take in more than 1600 calories, when i am supposed to take in 2800-2900. that’s quite a difference and this difference was heavily felt.

on monday, when i got home from work, i felt like i was run over by a truck. i had a complete lack of energy and slight feeling of nausea. since i haven’t been sick in over 4 years, i knew it was unlikely that i was actually sick. that prompted the calorie counting. i am also seriously deficient in protein and carbs as well. given that i ran an amount per week that most people consider ‘competition level’, i needed to seriously revise my diet. since i’m not trying to lose weight, i started looking at my options.

i’ve been a reader of runner’s world for a while, and i know their website usually contains the same content as the printed form (only slimmed down). i found several rules that runners should bear in mind when doing more than a casual jog per week. basically, my diet is completely wrong and my running schedule is a tad too much for my body. i have revised my run schedule to allow for more recovery time. also, before each big run, i will make a point to do the “carbo-loading” tip (pack on some carbs, protein would be good as well).

since monday, i have tried to include snacks in my day that are high in protein (mostly graham crackers and unsalted nuts). tonight is my first official run since then. i have been leary about jumping back into the grind as usual, so i will be taking it easy on my low intensity runs for at least a week. here is my revised schedule:

Sunday: Weight Training
Monday: Weight Training
Tuesday: Weight Training, 1 mile run (LI)
Wednesday: Weight Training
Thursday: Weight Training 1 mile speed run (HI)
Friday: Weight Training
Saturday: Weight Training, 5K run (HI)

Note: HI = high intensity, LI = low intensity

i will not be doing a speed run day for the aforementioned reason until next week. i will also not do a full 5k this saturday for the same reason. i will continue normal schedule next week.

we’ll see if this works. hopefully i will have enough calories, protein, and carbs to get through these runs without exhaustion.

2005
08.21

couple news items worthy of mentioning.

first, it was discovered that crocs have super immune systems. this is a very major thing, possibly the biggest thing since penicillin. this sort of thing could be used to cure all viral infections, including AIDS and typical skin infections.

secondly, a couple of high school kids managed to discover the admin password that was taped to the back of their school district issued iBook. once they modified their settings to allow faster internet speeds and disabled admin monitoring, they had charges brought up against them. this is no joke, these kids are being charges with 3rd degree felonies. i would say that the punishment is not very fitting for the crime. this is what happens with the fear of being hacked becomes too great. shame on the school district for actually pressing charges.

2005
08.21

w00t!

that’s right, i said w00t!

every day that i go to the gym with crystal (MWFSu), i do 1 mile on the treadmill at “1 mile pace”. the days that crystal cannot go with me (TThSa), i run on the treadmill at “3 mile pace”. in a given week, i run 13 miles on the treadmill.

today was a speed run. i jumped on the treadmill next to an elliptical where crystal was working out. set the machine to 6.5 speed which is a 9:35 mile. this machine was different than the one i was used to running on due to the fact that i moved down the isle to be near crystal. i wasted about 20s getting the machine to the correct speed, 7.0 which is a 8:00 mile. i was doing great and made it to 0.9 miles without experiencing the “runner’s ache” (diaphragm soreness). at this point i pumped the machine up to 7.5 which is a 7:34 mile. i finished the mile at a 7:40 overall time.

i have achieved 2 out of 3 of my goals for the year. i have joined the sub-8 mile club. all that is left is to finish a 5K in less than 26:00. i don’t ever remember being able to run a sub-8 minute mile. i am in the best shape of my life.