Net Neutrality

Recently a colleague sent me a link to an online petition regarding the concept of Net Neutrality being under threat by a recent deal between Verizon and Google.  http://www.commoncause.org/site/pp.asp?c=dkLNK1MQIwG&b=1234951

The dialog signals a prioritisation of internet traffic for the rich, fast lanes for large corporations who can pay for them as well as the ability for ISPs to block traffic and prevent legitimate usages of the internet.

I found this ‘cause’ to be more fear mongering rather than based on true facts and whilst some points were correct, the practicalities of what was being proposed were apparently lost in fear, uncertainty and doubt. So switching into soapbox mode, here was my reply:

There are some valid concerns here, but I think there is a bit of FUD going on here. They are trying to say ISPs have these tools to control traffic and shouldn’t be allowed to use them, but I think those same tools are necessary to have a working network for all users.  

What got my back up in particular, was the bit where they claim that a corporation can buy a fast lane to their websites and supposedly lock smaller sites into slower speeds.  I wonder how technically speaking that they can do this feasibly and economically?  I mean its always been possible for an ISP to route traffic whichever way it chooses and prioritise some data over others & shape the speed of traffic also but I cant see how a router could handle slowing ALL traffic except the ones going to a certain address to create this artificial highway.  I don’t think network admins would want the headaches of shaping all their users en-masse.

Given my previous working life was all about building products to shape users who had gone over their download limits as well as products to do with prioritisation of data (Quality of Service), I understand this a fair bit.  Unfortunately I see it being taken a bit out of hand.  To implement this practically, loads on a router have to be considered, the more shaping and prioritisation you do, the hotter a router runs and then because you are applying features to thousands of users, not just a small handful who are paying for particular features, you increase the chances of bugs and other wierd stuff occuring.  Eg more calls to Cisco to have them diagnose your equipment because you are using a feature in a way that they didn’t envisage.

Another thing about the practicalities of this is to what effect Google (primarily a content provider) and Verizon (one bandwidth provider in a market of many) can do together to influence the speeds of internet surfing for those outside their networks… pretty much zip, nada, zilch from a technical perspective. Maybe Google can use its weight to make other ISPs pay a Google tax for content leaving its network, just as the big 4 ISPs of Australia (Telstra Optus AAPT Primus) do to the littler ISPs, but all it does is have an effect on the cost of providing the service, and the fact that although the industry is in a period of consolidation we still have plenty of ISPs in Australia means that such network access costs cant be prohibitive otherwise we’d only have 4 internet providers in Australia.  Ingenuity comes in, people change providers, companies build other networks to connect countries together and they build a market whereby if an ISP, or an end user of an ISP doesnt like the service they are getting, they can switch to another.  How can these laws distinguish from an ISP putting efforts to shape your traffic versus the existing efficiencies used to deliver you a cheap internet service that would otherwise be more expensive if you had your own 24/7 line direct to the ISP?  (It probably could but would have to be worded carefully and require auditing of ISPs unlike that previously seen before in order to ensure that the lack of service you were getting was because of a infrastructure or product limitation rather than a ISP governance one) 

In my opinion this thing they have been trying to fight has been happening in the industry from the days of dialup. Ever been with an all you can eat popular dialup ISP who was oversubscribed?  You’d get shaped without knowing if you were a big kahuna user, and your phone line would get disconnected and you’d have to dial back in again.  Its unfair that an ISP oversells its services such that the paying customers experience is pretty weak and stops decent ISPs from offering more value add services for free because they are too busy trying to cut costs to compete with these guys.  In an ideal world Net Neutrality can come into play here, forcing the industry to guarantee bandwidth and making them accountable to external auditors to ensure that they have enough bandwidth for subscribers, but its not a simple equation – your internet has always been oversubscribed from day one.  Even your DSL or cable link gets shared with your neighbours using the same exchange – you’ve been contending for bandwidth with your neighbourhood and probably didnt know it.  The business model is that not all users are using the network 100% of the time.  Days of large internet traffic like when Obama gets inaugurated and its an unusually busy day happen, but usually there is enough bandwidth to go around to support it.

There is some ISP filtering that is good, for example blocking Windows port 445 so that common viruses don’t get in to PCs and spread, preventing even more network traffic and headaches for users and admins alike.  And as much as users hate getting shaped when they exceed their monthly bandwidth, its probably a good thing they aren’t slowing it down for everyone else.  I have seen flooded links and network engineers sweating when a particular part of Australia goes overboard.  The thing I remember about internet protocols are that they are generally not very good when they get saturated.  A link is good at about 70-80% capacity but more of that starts making performance take a huge nosedive.  Having some control so everyone gets their fair share is a good thing, although always unpopular…. eg who likes water restrictions?

Everything else they say about blocking services, the example about dropping VOIP packets so people use old school telephone instead of cheaper internet calls, is a perfectly valid concern.  Its a restriction of trade.  Could you imagine the outcry when a business (or group of) where denied access to amenities – water, electricity that were used for producing an income just because the utility company was unregulated or just evil?

So, I agree with the concept of net neutrality, but I dont want to see it taken out of hand and removing network administration safeties to keep users free of issues, nor removing restrictions that see them clogging up bandwidth for users with more legitimate internet concerns.

UUID’s in Java

UUID’s are useful for making unique reference numbers of things.  In an ideal world these UUIDs are so long, they never collide.

The first place to discuss UUIDs would be RFC 4122.  The next part would be the wikipedia entry for a more concise version.

So why generate UUID’s?  One reason could be to generate a unique code to identify a particular PC (mac address?).  Another is to identify points in time (and can include the machine aka node’s mac address that created the UUID).

Further refs:

Java 6 api UUID entry
Blog that touches on UUID support in Java

Of Cisco, Tcl and Java

Whilst busily reading up on Scala and Groovy and other languages that ran on the JVM, I had a thought with regard to the scripting language that the network architect at work now advises is included in the Cisco ISG/ASR’s.  Cisco now have the Tcl scripting language installed on the IOS.  One application is used to control phone IVR and voicemail systems which is a pretty neat feat. 

Tcl itself doesn’t seem to be much of a mystery language either and should be easy for anyone coming from another scripting language background.

There is a Jacl for the JVM as well and also a means to bring Java code to a Tcl interpreter via Tcl Blend.

You can use Tcl to script EXEC level commands on a router such show version and int fa0/0 type stuff as shown here.

There is also a Cisco article about getting started with Tcl on the routers.

RSA Client Downloads

RSA clients for windows from 5.2 -> 7.0

Both 64 bit and 32 bit versions.

Am using the remote agent with 6.1 on Vista Ultimate and everything is hunky dory.

What prompted me to upgrade was a recent Vista SP1 upgrade and some strange behaviour afterwards.  Some connections would cause the authentication process to lockup and a particular Windows service to fail.

https://www.rsa.com/node.aspx?id=2518

Quick guide to router config

>enable (en)  go from user to privelaged mode

#configure terminal (conf t)  Enter configuration mode

(config)# hostname YourCustomName Put a hostname on the router

(config)# enable secret pass Enable a password on the router when entering privelage mode.  Stored in MD5

(config)# enable password pass Seldom used password enablement as above but stored in plain text.

(config)# line vty 0 4   Configure 5 virtual telephony ports (telnet) ports
(config-line)# password cisco
(config-line)# login 
Set password for telnet.  Forgetting the login command following the password will not make the command go through

(config)#line con 0   Enter the console config
(config-line)# password cisco   Set the password for the console
(config-line)# login 

#show run Show running config  (Show running-config)
#copy run start  Copy ram config to NVram
#show start  Show start
>show flash  Show config in flash

(config)# inteface fastethernet 0/0 or int fa0/0  Enter interface config mode
(config-if)# ip address 192.168.10.1 255.255.255.0  Set the ip and subnet for that address
(config-if)# no shutdown  Bring the interface up (shutdown would take it down)
(config-if)# description Your friendly description of the router

#show protocols  Show the state of the router interfaces
#show ip interface brief  Checks the state of the router interfaces

When using the show commands, use space to page down, enter to line down and any other key to exit the more prompt

#erase start  Erase nvram; Refresh the router to the default state
#reload    Restart the router, using config from new state

Trace Route

Send pings to successive routers, along the path to the destination.

 Sends 3 packets to each destination

Netstat flags

-a -e -n -s (statistics) -rn (routing table)

H:>netstat -rn

Route Table
===========================================================================
Interface List
0x1 ……………………… MS TCP Loopback interface
0x2 …00 13 72 7e e0 8d …… Broadcom NetXtreme Gigabit Ethernet #3 – Eacfilt
0x3 …44 45 53 54 42 00 …… Nortel IPSECSHM Adapter – Eacfilt Miniport
===========================================================================
===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
0.0.0.0          0.0.0.0  131.170.112.254  131.170.112.73       20
127.0.0.0        255.0.0.0        127.0.0.1       127.0.0.1       1
131.170.112.0    255.255.255.0   131.170.112.73  131.170.112.73       20
131.170.112.73  255.255.255.255        127.0.0.1       127.0.0.1       20
131.170.255.255  255.255.255.255   131.170.112.73  131.170.112.73       20
224.0.0.0        240.0.0.0   131.170.112.73  131.170.112.73       20
255.255.255.255  255.255.255.255   131.170.112.73               3       1
255.255.255.255  255.255.255.255   131.170.112.73  131.170.112.73       1
Default Gateway:   131.170.112.254
===========================================================================
Persistent Routes:
None

H:>netstat -a

Active Connections

Proto  Local Address          Foreign Address        State
TCP    b05108003-14:82        b05108003-14.set.rmit.edu.au:0  LISTENING
TCP    b05108003-14:epmap     b05108003-14.set.rmit.edu.au:0  LISTENING
TCP    b05108003-14:microsoft-ds  b05108003-14.set.rmit.edu.au:0  LISTENING
TCP    b05108003-14:1761      b05108003-14.set.rmit.edu.au:0  LISTENING
TCP    b05108003-14:2030      b05108003-14.set.rmit.edu.au:0  LISTENING
TCP    b05108003-14:1033      b05108003-14.set.rmit.edu.au:0  LISTENING
TCP    b05108003-14:netbios-ssn  b05108003-14.set.rmit.edu.au:0  LISTENING
TCP    b05108003-14:427       b05108003-14.set.rmit.edu.au:0  LISTENING
TCP    b05108003-14:1029      SET-GN-WITTIG.set.rmit.edu.au:524  ESTABLISHED
TCP    b05108003-14:1031      SET-GN-WITTIG.set.rmit.edu.au:524  ESTABLISHED
TCP    b05108003-14:1098      SET-GN-HERTZ.set.rmit.edu.au:524  ESTABLISHED
TCP    b05108003-14:1103      SET-GN-HERTZ.set.rmit.edu.au:524  ESTABLISHED
TCP    b05108003-14:1107      set-gn-marconi-usrc2.set.rmit.edu.au:524  ESTABL
TCP    b05108003-14:1108      set-gn-marconi-sharec1.set.rmit.edu.au:524  ESTA
TCP    b05108003-14:1123      SET-WN-PROXY14.set.rmit.edu.au:524  ESTABLISHED
TCP    b05108003-14:1233      wasted.pacific.net.au:ftp  CLOSE_WAIT
TCP    b05108003-14:3017      b05108003-14.set.rmit.edu.au:0  LISTENING
UDP    b05108003-14:82        *:*
UDP    b05108003-14:83        *:*
UDP    b05108003-14:snmp      *:*
UDP    b05108003-14:microsoft-ds  *:*
UDP    b05108003-14:1026      *:*
UDP    b05108003-14:1027      *:*
UDP    b05108003-14:1034      *:*
UDP    b05108003-14:ms-sql-m  *:*
UDP    b05108003-14:1761      *:*
UDP    b05108003-14:3024      *:*
UDP    b05108003-14:ntp       *:*
UDP    b05108003-14:1134      *:*
UDP    b05108003-14:1240      *:*
UDP    b05108003-14:ntp       *:*
UDP    b05108003-14:netbios-ns  *:*
UDP    b05108003-14:netbios-dgm  *:*
UDP    b05108003-14:427       *:*
UDP    b05108003-14:1025      *:*

H:>netstat -e
Interface Statistics

Received            Sent

Bytes                     142159154        84633058
Unicast packets              185498          148531
Non-unicast packets           11683              71
Discards                          0               0
Errors                            0               0
Unknown protocols             12946

H:>netstat -s

IPv4 Statistics

Packets Received                   = 188221
Received Header Errors             = 0
Received Address Errors            = 8
Datagrams Forwarded                = 0
Unknown Protocols Received         = 0
Received Packets Discarded         = 47
Received Packets Delivered         = 188166
Output Requests                    = 148664
Routing Discards                   = 0
Discarded Output Packets           = 0
Output Packet No Route             = 0
Reassembly Required                = 0
Reassembly Successful              = 0
Reassembly Failures                = 0
Datagrams Successfully Fragmented  = 0
Datagrams Failing Fragmentation    = 0
Fragments Created                  = 0

ICMPv4 Statistics

Received    Sent
Messages                  46          97
Errors                    0           0
Destination Unreachable   0           10
Time Exceeded             0           0
Parameter Problems        0           0
Source Quenches           0           0
Redirects                 0           0
Echos                     8           79
Echo Replies              34          8
Timestamps                0           0
Timestamp Replies         0           0
Address Masks             0           0
Address Mask Replies      0           0

TCP Statistics for IPv4

Active Opens                        = 220
Passive Opens                       = 0
Failed Connection Attempts          = 0
Reset Connections                   = 51
Current Connections                 = 10
Segments Received                   = 177836
Segments Sent                       = 138744
Segments Retransmitted              = 2

UDP Statistics for IPv4

Datagrams Received    = 10125
No Ports              = 321
Receive Errors        = 31
Datagrams Sent        = 9820

H:>netstat -n

Active Connections

Proto  Local Address          Foreign Address        State
TCP    131.170.112.73:1029    131.170.136.3:524      ESTABLISHED
TCP    131.170.112.73:1031    131.170.136.3:524      ESTABLISHED
TCP    131.170.112.73:1098    131.170.136.5:524      ESTABLISHED
TCP    131.170.112.73:1103    131.170.136.5:524      ESTABLISHED
TCP    131.170.112.73:1107    131.170.136.32:524     ESTABLISHED
TCP    131.170.112.73:1108    131.170.136.33:524     ESTABLISHED
TCP    131.170.112.73:1123    131.170.136.6:524      ESTABLISHED
TCP    131.170.112.73:1233    61.8.0.55:21           CLOSE_WAIT

Display DNS

Havent come across this one before.

 H:>ipconfig /displaydns

Windows IP Configuration

         ns1.cisco.com
         —————————————-
         Record Name . . . . . : ns1.cisco.com
         Record Type . . . . . : 1
         Time To Live  . . . . : 23138
         Data Length . . . . . : 4
         Section . . . . . . . : Answer
         A (Host) Record . . . : 128.107.241.185
         1.0.0.127.in-addr.arpa
         —————————————-
         Record Name . . . . . : 1.0.0.127.in-addr.arpa.
         Record Type . . . . . : 12
         Time To Live  . . . . : 594069
         Data Length . . . . . : 4
         Section . . . . . . . : Answer
         PTR Record  . . . . . : localhost
         ibm.com
         —————————————-
         Record Name . . . . . : ibm.com
         Record Type . . . . . : 1
         Time To Live  . . . . : 8473
         Data Length . . . . . : 4
         Section . . . . . . . : Answer
         A (Host) Record . . . : 129.42.17.103
         Record Name . . . . . : ibm.com
         Record Type . . . . . : 1
         Time To Live  . . . . : 8473
         Data Length . . . . . : 4
         Section . . . . . . . : Answer
         A (Host) Record . . . : 129.42.18.103
         Record Name . . . . . : ibm.com
         Record Type . . . . . : 1
         Time To Live  . . . . : 8473
         Data Length . . . . . : 4
         Section . . . . . . . : Answer
         A (Host) Record . . . : 129.42.16.103
         Record Name . . . . . : ns.austin.ibm.com
         Record Type . . . . . : 1
         Time To Live  . . . . : 8473
         Data Length . . . . . : 4
         Section . . . . . . . : Additional
         A (Host) Record . . . : 192.35.232.34
         Record Name . . . . . : ns.watson.ibm.com
         Record Type . . . . . : 1
         Time To Live  . . . . : 8473
         Data Length . . . . . : 4
         Section . . . . . . . : Additional
         A (Host) Record . . . : 129.34.20.80
         Record Name . . . . . : ns.almaden.ibm.com
         Record Type . . . . . : 1
         Time To Live  . . . . : 8473
         Data Length . . . . . : 4
         Section . . . . . . . : Additional
         A (Host) Record . . . : 198.4.83.35
         Record Name . . . . . : internet-server.zurich.ibm.com
         Record Type . . . . . : 1
         Time To Live  . . . . : 8473
         Data Length . . . . . : 4
         Section . . . . . . . : Additional
         A (Host) Record . . . : 195.176.20.204
         ns.watson.ibm.com
         —————————————-
         Record Name . . . . . : ns.watson.ibm.com
         Record Type . . . . . : 1
         Time To Live  . . . . : 8473
         Data Length . . . . . : 4
         Section . . . . . . . : Answer
         A (Host) Record . . . : 129.34.20.80
         ns.austin.ibm.com
         —————————————-
         Record Name . . . . . : ns.austin.ibm.com
         Record Type . . . . . : 1
         Time To Live  . . . . : 8473
         Data Length . . . . . : 4
         Section . . . . . . . : Answer
         A (Host) Record . . . : 192.35.232.34
         cisco.com
         —————————————-
         Record Name . . . . . : cisco.com
         Record Type . . . . . : 1
         Time To Live  . . . . : 23138
         Data Length . . . . . : 4
         Section . . . . . . . : Answer
         A (Host) Record . . . : 198.133.219.25
         Record Name . . . . . : ns1.cisco.com
         Record Type . . . . . : 1
         Time To Live  . . . . : 23138
         Data Length . . . . . : 4
         Section . . . . . . . : Additional
         A (Host) Record . . . : 128.107.241.185
         Record Name . . . . . : ns2.cisco.com
         Record Type . . . . . : 1
         Time To Live  . . . . : 23138
         Data Length . . . . . : 4
         Section . . . . . . . : Additional
         A (Host) Record . . . : 64.102.255.44
         ns2.cisco.com
         —————————————-
         Record Name . . . . . : ns2.cisco.com
         Record Type . . . . . : 1
         Time To Live  . . . . : 23138
         Data Length . . . . . : 4
         Section . . . . . . . : Answer
         A (Host) Record . . . : 64.102.255.44
         ns.almaden.ibm.com
         —————————————-
         Record Name . . . . . : ns.almaden.ibm.com
         Record Type . . . . . : 1
         Time To Live  . . . . : 8473
         Data Length . . . . . : 4
         Section . . . . . . . : Answer
         A (Host) Record . . . : 198.4.83.35
         localhost
         —————————————-
         Record Name . . . . . : localhost
         Record Type . . . . . : 1
         Time To Live  . . . . : 594069
         Data Length . . . . . : 4
         Section . . . . . . . : Answer
         A (Host) Record . . . : 127.0.0.1
         internet-server.zurich.ibm.com
         —————————————-
         Record Name . . . . . : internet-server.zurich.ibm.com
         Record Type . . . . . : 1
         Time To Live  . . . . : 8473
         Data Length . . . . . : 4
         Section . . . . . . . : Answer
         A (Host) Record . . . : 195.176.20.204

It’s not cheating if you blog using OneNote 07

Wow. What a stupidly technological week. If doing I.T. was like eating fruit, I’d have a severe case of the runs.

 

Database Modelling

Ok, so the first interesting item this week was our Domain Model. A domain model, for all you B Comp. students, is essentially a Class Diagram, its just what the B. Info Systems students call ’em. We needed to prepare our Domain Model as the first step of our design for the vicICT Membership System.

 

A membership system sounds fine and dandy until said membership system requires you to facilitate group memberships and changing from one membership type to the other. One thing I’ve learnt is that regardless of what walk of life you come from, you will always argue about the database schema.

 

So, Tuesday morning started with the B Comp students in my team all standing at a whiteboard, arguing about the particulars of cardinalities of relationships and basic stuff to do with ER modelling. Then to assist, along came our tutors, who both disagreed with our approach, and then with each other. Apart from being humorous, in a Schindler’s List sort of way, this was a sign, along with all the other signs encountered in previous group work, that system design and modelling is a great

divider amongst men. I guess that’s why the majority of DBA’s I know are women!

 

Anyhow, if the torture of the morning wasn’t enough, we decided to press on. Find a meeting room in the uni containing a whiteboard. Tucked away in N block where no IT student normally ventures and after we had some time to think more about the data and problem space, we proceeded to draw our designs. This was followed by a series of drawing over each others design intertwined with a lot of explaining of our thought processes and explaining the basics of some database concepts to other members.

 

By the afternoon we were all bored and frustrated with each other, but we had learnt an important lesson:

 

The safest thing when coming up with a DB design is to have each person go away and draw their own models. This way everyone has thought about the perils and at least made a few mistakes in their revisions. They have also tested their schema in their head against different scenarios which can then be used to challenge alternate designs other team members have come up with. They can go and find tools and fill in their own knowledge gaps before we all get together and waste each others time. After that, they can regroup and compare ideas, merge models and go forward. I guess in the real world, a safe analogy would be that someone calls a meeting about a design. In preparation for this meeting you:

 

  1. Actually prepare.
  2. Find your database mojo. If you haven’t had much exposure to databases (ie, you are still a uni student), go and look at your textbooks on databases. Make sure that you don’t come to the meeting proposing silly things that can’t be normalised.
  3. Have a go with as much of the design as possible. Make sure you challenge it and find a few things wrong with it, then fix those things. If your design comes out smelling like roses on the first go, please go sniff a dogs bum and ensure your nose is in good functional order.
  4. Break the design and find test scenarios to break other peoples designs. Write these scenarios down, they will make the basis for some clever test cases when you are implementing your system.

     
     

    Office 2007

    My new toy this week was the new Microsoft Office. Surprisingly, my 3 year old laptop runs it faster than Office 2003. The user interface redesign in Word, Excel & PowerPoint (among others) was a risk but it certainly paid off. A lot of thought to what controls are used most often and common toolbar icons pop up over your document when you highlight something and right click, so you are closer to the editing controls. Some of my senior colleagues think the interface is shit and the ribbon is too big, but I’m very impressed with it. You can turn it off if you like later anyhow.
     

    One Note is still my fave app, and the extra features show that M$ are certainly pushing it. Some cool new features are the text recognition of pictures and audio recordings so that they can be searched just like typed and handwritten notes.
     

    The best feature so far is the blogging tool though. It can integrate with my two faves, WordPress and Blogger and it’s a great welcome to the new suite.
     

    Office Ultimate is still available at the ridiculous uni student price of $75 per license. You will need one license for each computer you want to install this on (per my reply from M$ when I emailed them about it), but its still a bargain compared to the Academic pricing in the shops for a not so Ultimate version ($250~). All you have to do is go to http://www.itsnotcheating.com.au and mention referral code MSP9.
     

    That Linux Box that’ll run a version control server and upstairs heater

    Fun and games on the linux front. The Cobalt Raq4 server is now running Fedora 5. All it took was to upgrade the firmware on the cobalt, pull out the old hard drive, install Fedora on a normal PC, then replace the kernal and modules with premade ones as well as code to run the LCD, configure the serial port and terminals to run on startup and then put the Hard Drive back in the unit, configure the unit to use the hard drive rather than network boot and tell Fedora it’s the /boot partition rather than the / one, I want it to start when it boots from disk.
     

    Yes, I am being sarcastic, it took an age and a day (two of them in fact) to get this thing up and running.
     

    My friend who has provided the hardware, has met with much frustration in linux land, particularly with user and group permissions, but has managed to resolve these, and also install SVN and Apache2 and have them run our repositories nicely.
     

    We have a backup strategy and he has also wrote a script to do an incremental backup of the repository onto a series of large rotated USB disks. One thing that still puzzles us is how to do a backup of both the repository configuration and the files in the repository. svnadmin dump does the first bit, but not the second.
     

    “By the power of SSH tunneling, I am HE-MAN” aka “now I can escape my countries Internet Censorship Proxy by finding an SSH server to bounce off”

    We had the box running solo throughout the end of the week while we were at uni/work. Something that was interesting were the amount of connection attempts from overseas. People from China, France and Russia trying a dictionary attack of usernames and passwords. On a bad day we had 600 connection attempts of which only a couple of them legitimate. Thankfully of all the successful logins, they were only done from our own networks in Aus, but its still interesting to see how many people just sniff ports on the web in search of a place they can squat and do all kinds of nasty stuff to. Side note: If we were hacked, the hackers could have gone and edited the logs to make us believe no one ever came in :S
     

    And the winner is Sydney, Australia

    As for hosting the server, it was sitting in my house for most of the week but the spare room is small and along with another computer, router, 2 monitors, a laser printer and god knows what else, the room heats up really quick. It’s also not suitable since my partner runs a home business from the same room!
     

    We were going to secure a place in a Sydney datacenter but our contacts advised that the operators of said datacenter had a habit of unnecessarily unplugging things they decided on a whim didn’t belong. My friend on the other hand is keen to host the server at his place, which I’m glad. Its a win / win since my friend has a dedicated internet connection just for the server (big family, 2 internet accounts), a large bedroom and personal tolerance for loud PSU fans, as well as a bedroom that gets really cold.
     

    The only limitation about hosting it there is the bandwidth involved, 64k upload will mean slow checkout times but once a checkout is done, then doing the updates shouldn’t suck too badly. We can consider an upgrade of speed and since it’s a wireless connection the provisioning lead time to upgrade shouldn’t be long at all.
     

    And after all our hard work, I managed to fubar it all up by doing a yum update. In doing so, it updated the kernal and heaps of other software. Great we have patched many known security holes. However it must have installed packages intended for a 686 instead of 386 architecture, and now every command is returning an illegal instruction message. I’ll use this opportunity to reformat the thing as a Raid device, and also set up our repositories using the FSFS type rather than the Berkely DB filesystem. Berkely DB is tried and true, but much less resilient to unexpected shutdowns. I read on one of the cobalt pages how to configure yum / rpm to only look at 386 packages, so I’ll take this on board next time so we can get back together.
     

    I’m am so haX0r. Give me admin rights so I can install developer tools

    Good news (I hope), the ‘development managers’ have met with the ‘internal services’ people at Monash and met our requests to install TortoiseSVN on the student labs. The dev managers seem quite happy with the idea. I believe Monday morning (a few hours away) I’ll be meeting with one of the internal services people in charge to run through Tortoise and determine if it can run on the Novell setup and talk to our servers, great and small.
     

    There could be a few issues with this. Tortoise can accept a proxy configuration but the problem is that it will store the said configuration in its configuration file. This means that if another student logged in, they could potentially have the password settings from the previous user. We would need a logout script to clear this value or have Tortoise ask for the password each time and not save user credentials. Or it could be that the students documents and settings where all this stuff is stored, is wiped on logout anyhow, so worrying about this may not be too much of a hassle.
     

    The other issue is that TortoiseSVN appears on every context menu in Windows explorer. This can be switched off I believe, just have to find out how.
     

    It all ends with V

    Shit its 1:33AM and I’ve already had my daily recommended intake of V. Time to sign off this stupidly long blog.
     

    Till next time

    -K