Monday, January 19. 2009
 | In Australia Internet users are limited to the amount they may download. Each Internet Service plan normally involves a speed and download limit. Failing to keep an eye on this and exceed your limit normally effects the user in question either by:- Paying exorbitant excess fees that can be as much as $150/GB!
- Being 'throttled' by your ISP, in effect turning your lovely xDSL/Cable connection into something slower than dial-up.
As you can image, most people wish to avoid these. As a result ISPs provide a usage meter normally on their site, however you have to remember to view it, which unless you're diligent in doing so, you can still run over your quota.
Previously I've relied on the fabulous Firefox extension NetUsage, however this meant you had to have a browser open. This isn't always the case, and I found it frustrating to have to load a browser just to check my usage. (I could just login to the ISP's usage meter if I had a browser open).
I've seen others produce mrtg graphs and even Cacti graphs to display their usage; however they too also rely on having a browser open.
Ideally, I want to have my usage available, when I wanted, and without loading a browser.
I use conky on my desktop to display a range of information. It seemed a logical step would be to integrate a meter into my conky setup.
As you can see from the graph in the picture to the left, it displays a raw percentage of what has been used, as well as a visual bar graph. Below that is the raw data, showing exactly how much I've downloaded (~11.5GB), what my ISP believes my quota to be (55GB in this case), and when this billing period ends (the 13th of every month).
I can now view my current Internet usage at a glance, without the need to load any additional program. 
So how did I achieve it? Like many ISPs, my ISP provides an interface to the raw data. This is used by 3rd party utilities like NetUsage and others to parse and generate the information. Internode (my ISP) has such an interface.
A quick and dirty script and I was able to spit out the graph in a format conky liked. Whilst this works directly with Internode, similiar ISPs have such interfaces and you will be able to hack the script to suit your own environment. |
Below is the simple bash shell script used to generate the data:
#!/bin/bash
# Get usage information from Internode's web page.
# Setup to run once every half hour.
#
# Set the username and password
Username=INTERNODE_USERNAME
Password=INTERNODE_PASSWORD
# Grab the details
Temp=`wget -q -O - --post-data "username=${Username}&password=${Password}" --user-agent="Conky ISP Quota Grabber 0.1" https://customer-webtools-api.internode.on.net/cgi-bin/padsl-usage`
# Generate the percent used.
echo $Temp|gawk '{print $1/$2*100}'> /tmp/node-graph.txt
Percent=`cat /tmp/node-graph.txt`
echo $(printf %.0f $Percent) > /tmp/node-percent.txt
# Break up the values into their respective parts
Values=($Temp)
echo "Used: $(printf %.0f ${Values[0]})MB Quota: ${Values[1]}MB Period Ends: ${Values[2]}" > /tmp/node-text.txt
# Time to leave.
exit
Sure it's not the most secure script (It stores your username/password in plain text). For me, the script sits on my desktop machine... and is protected by file permissions. The password I use for my ISP I also don't consider highly sensative. (It's important to note that most people throw around their password in clear-text across the Internet when picking up their mail with POP3!  ). It does however do the job.
The above shell script I run every 30 minutes from cron.
It is then up to your ~/.conkyrc file to display the results. Here is the snippet of the appropriate code for the ~/.conkyrc file that will do that for you:
${color orange}INTERNET USAGE ${hr 2}$color
${execi 900 cat /tmp/node-percent.txt}% ${execibar 900 cat /tmp/node-graph.txt}
${execi 900 cat /tmp/node-text.txt}
There you have it, a simple ISP usage meter sitting right on your desktop. 
It's not the most elegant or complicated program, however it serves it's purpose extremely well. YMMV.
Tuesday, November 4. 2008
Leave your IRC client set to away for a day, and then check your private chats later that night.
It's amazing some of the strange banter you get:
[someuser] hi..
[someuser] yesterday we completed the network config change in all servers, and now network part is clear
[someuser] ;P
[someuser] ;P
[someuser] :p
[someuser] please ignore above 3 lines
For the record, I was helping a fellow admin out with configuring a series of bonded interfaces for a server (7 connections - 3 bonded, one not).
I take it the first two lines of the message tells me it's been completed. 
The next 3 lines were meant for someone else, whilst the last the user recognised what they had done.
The lesson for today: Check which window you're in before typing.
Tuesday, October 21. 2008
One thing Linux often gets bashed about is 'the fonts look crap', or something similar.
True, it's hard to deny, most distros ship their distro without enabling certain features to give you great looking fonts. (Basically to avoid patent issues).
Having said that, there is no issue with users deciding what's best for them.
I recently read a blog post describing how to get those nice crisp clean fonts that we all would like. That in turn lead to this excellent post, that has a great ~/.fonts.conf file if you like the look of those silky smooth Apple OSX fonts. (In fact some people think these settings make Linux fonts appear even better than OSX! -- ymmv)
Take a look at his example screenshots, comparing Windows (no AntiAliasing), MacOSX, and Linux -- and you decide.
I turned it on Thursday night, and it's been refreshingly crisp and clean. Well worth a look.
I'd be interested to know what other options people are setting and what they've discovered to get the 'wow' factor out of their fonts.
Some great background reading can be found on the font-config website, and in particular the fonts-conf User Manual.
Saturday, October 4. 2008
This week saw me head to the Victorian regional city of Ballarat for a few days to undertake some RHEL5 x86_64 builds for work.
Whilst it's not as exotic a destination as an unnamed colleague visited nor did it see me returning without my pants or shoes ( sorry Jon, I couldn't resist! ), it was a productive visit.
Traditionally we undertake builds remotely, however these servers are likely not to appear on our network or even administered by ourselves, so it made sense to go onsite to undertake the work.
I stayed in the Doherty Ballarat Hotel and Convention Centre which literally is on the opposite side of the road to Sovereign Hill (and no I didn't have time to go there!)
View Larger Map
Whilst I spent most of my time in the office battling with hardware that had been incorrectly ordered (ie: missing hardware and/or non-compatible hardware (ie: 3.5" SATA drives ordered instead of 2.5" SAS drives for the internal enclosure)), I did venture back to the hotel in the evenings for some R&R.
The hotel room was quite pleasant, and what something a corporate traveller expects. There was no surprises out of the ordinary (which you really don't need when travelling), though I did have two strange nights of sleep due to external factors:
- 1st night: Apparantly it's Koala mating season. Staying in a hotel room surrounded by forest is lovely to look at during the day, but it's also the playground for randy koalas of a night. So thumbs up to the 'big boy' who kept me up for several hours in the early hours whilst he ravaged the local female population. Koalas aren't dying out in this region whilst this bloke is still kicking!
Seriously, I thought those types of noises I may have heard from other hotel rooms, not above my hotel room.
- 2nd night: Local Football season must have finished. Seems some of the local players didn't head over to Bali to celebrate but decided our hotel was a great place to party.
In depth conversations at yelling level could be heard at around 3am. Answers to lifes biggest questions such as "Can you scull beer or bourbon faster?" were asked repeatedly. Finally after about an hour when it took that long for the gorillas to realise that they couldn't order a pizza to their room (and yes their was going to be surcharge for anything delivered to their room), the group of 6 decided that bundling into a car and heading down to the local McDonalds whilst tanked was the sensible thing to do.
I passed out after that, though it appears they were successful (if not foolish) as their car was there in the morning without any visible signs of damage. It seems the drink and driving campaigns don't apply to footballers.
I made sure I made enough noise as I passed their room at 7am heading off for breakfast, however in their drunken state the night previously, I doubt I would of woken them. It did bring me mild relief to my simmering frustration/anger from the previous nights interruption however.
The crazy and overpriced Internet costs in the room ($0.20/1MB with both uploads/downloads charged or $0.15/min) ensured I had a relatively Internet free week night. I really didn't miss being connected, though it did remind me how often I relied on just 'quickly looking up something'. Items like news, weather and even a TV guide via the Internet seems to have become the 'standard' method of information retrieval for me. It became more of an inconvenience than anything. I realised then that there was indeed a TV guide in the room.  I gathered a quick round-up of news/weather using local radio. So this is what life was like prior to the Internet? (It seems so long ago now!)
Traditionally I use Google Reader to keep abreast of my feeds (as it allows me to bookmark, tag and share feeds easily), but being disconnected from the Internet was going to make that impossible.
I did however utilise a RSS reader, and was pleasantly surprised how easily it actually integrated into my Gnome desktop (particularly as it's a KDE app). The tray-icon and minimize/restore from tray all worked flawlessly (mostly due to the fact it's probably coded using FreeDesktop specs). I went with Akregator over Liferea after hearing reports that recent versions were prone to 100% CPU usage.
One thing I did notice, is that current RSS readers do allow for 'offline' mode - though it would be nice if it gave you the option of a 'full download' of certain feeds. Offline mode that only sucks down text is quite frustrating at times, as the associated image (being discussed in the article) isn't available. It feels like over-hearing a discussion you weren't meant to hear!
Whilst it's probably prudent allowing it to be set as a 'per feed' setting as I suspect many people may not want to download a full page for every article on every feed. (Particularly those feeds you only 'scan', and read a small amount of, or those that are overly heavy with graphics/flash, and embedded video.)
Since returning I did notice that Gnome also has the Straw Reader. Hopefully that comes along nicely as it appears to be in early development.
Ideally I would love to see an RSS reader that integrated WebKit with a good OPML import/export feature, as well as good support for RSS (0.91, 1.0 and 2.0), RDF as well as ATOM formats. Having a feature that allowed you to selectively do a full download of certain feeds for offline mode would be fantastic.  I'll whack that down on my ever growing todo list (I think I'll need to live to 800 to ever complete it!)
One nice feature I discovered is the room had direct dial-in, and due to poor mobile reception in the room it was much more cost effective to have Pauline call me direct over VOIP.  It also meant we could speak for much longer.
The staff I met at the Ballarat office were extremely friendly and actually quite enjoyable to be around. ( Sorry MrPointy, they were more cheery then you! ) They appreciated the effort I put in whilst down there (it's always nice to get some recognition) and appreciated the attention to detail. It was quite good timing as I will relocate offices to this one once I move into our new home (probably 4-6 weeks away). Heading into the Ballarat office is much closer than the Melbourne offices from Bannockburn. I've already made some good inroads into getting to know people there. I'll be the only member from my team at this office location, so it makes sense to build some bridges.
I did add two things to my 'travel-list' when travelling for work:
- A cheap mini 10/100 switch.
This is invaluable when you're stuck in a room with one Ethernet port attempting multiple server builds, and also wishing to have your laptop online at the same time. I headed out the first day a picked up a cheapie TP-Link 5-port 10/100 Switch. Cost me $20 from a local computer store, but saved hours of frustration.
- A decent power board with surge protection
In hindsight I should have also taken/purchased a decent power board. The room only had 4 power outlets which meant I could only have one server up at a time. It would have been nice that I could have multiple machines up at the same time, as these were identical builds (besides their hostnames), I could have used something like clusterssh to undertake the same tasks across all the machines at the same time -- ensuring I could have finished the job in a fraction of the time.
We live and learn.
Sunday, September 28. 2008
Most people are aware the Google's Chrome Browser is based on the great work of the Chromium Browser Project.
CodeWeavers have even created a free 'port' of Google Chrome for Linux users, aptly named CrossOver Chromium. This means Linux people don't need to feel left out of all the Google lovin'.
There have been a few people concerned with privacy issues (also here and here) when using the Google Chrome browser. Even the EFF has raised concerns. Google has reacted and posted some information regarding privacy in Chrome.
There has been some applications produced that remove one of the largest concerns people have (a unique ID assigned to every installation of Chrome). In particular Chrome Privacy Guard will strip this unique ID out for you. Turning off some of the features (like Google Suggest) via the Browser preferences will also limit the amount of information sent back to the mothership (Google).
Buoyed by all these privacy concerns, SRWare a German software company have released 'Iron', a browser also based on Chromium source but without all the 'Googleness' privacy issues.
If you like Chrome, but are concerned about the privacy aspect, Iron might be your solution.
For those on Linux and really just wanting to use a WebKit based browser, take a peek at Midori.
Saturday, September 27. 2008
I was appalled after reading the rather rash statements made by Jim Zemlin the Executive director of the Linux Foundation.
His rather bizarre statements against Sun (who is also a silver member of the Foundation) must have left many execs in Santa Clara scratching their heads and wanting some answers.
What's worse is the story originally ran in InfoWorld, then was picked up by the New York Times. Other notable online sites also ran with it, including Slashdot and LWN to mention just two.
Lets look at some of the statements the Exec Director of the Foundation made:
- "The future is Linux and Microsoft Windows, it is not Unix or Solaris."
- Solaris has almost no new deployments and is a legacy operating environment offered by a company with financial difficulties. Original equipment manufacturers also do not see a bright future for Solaris. This was paraphrased and not a direct quote.
- Sun, he declared, should just move over to Linux.
- "It's certainly true that Unix is on the decline." - Discussing IBM AIX and HP-UX
- "The only people I hear talk about DTrace [Solaris's technology for assessing program and OS behaviours] and ZFS [the Zettabyte File System] as competitive features [are] Sun Microsystems sales representatives. It's not something I believe is impacting the market in any way."
- "...With capabilities such as ZFS and DTrace, Sun is trying to compete based on minor features", Zemlin says. "That's literally like noticing the view from a third-story building as it burns to the ground."
- Zemlin, on Sun's open-source Solaris as "too little, too late." He also goes on to claim that there is no real open source community around OpenSolaris, arguing that Sun still controls development
- Open Solaris is no more than an attempt to expand the Solaris user base to drive customers to commercial Sun technology.
Seriously where does the guy get off?
Looking at his profile on the Linux Foundation it doesn't instil a level of confidence.
A former Exec at Free Standards Group (who with the OSDL merged to become the Linux Foundation). He was also VP of Marketing of Colavent Technologies (basically a crowd that sold commercial Apache support amongst other things). In 2000 he was a board member of Corio an ASP, that had an IPO then was sold off in chunks. IBM retains the http://www.corio.com/ URL.
So, from my reading he's got quite a bit of marketing/exec background for web-based application servers.... beyond that, I don't see any real technical prowless. He's a marketing suit that appears to shoot from the hip.
Let's review some of his "quick-draws":
- The future is Linux and Windows?
WTF?! Did you take crack before taking the interview?
Sure as the exec. director of The Linux Foundation we expect you to come out and say "Linux is the future" - but to throw Microsoft in the mix -- you have to be kidding me.
Look at general stall that Microsoft has had with Vista. They have forced OEMs to install it, and even some of the larger ones now have kicked back and offer corporations and high-end consumer devices the option of Windows XP instead.
- No major deployments of Solaris... and disliked by the OEMS.
That must be news to both IBM and Dell, who offer OpenSolaris on their x86 series servers.
As for a company in 'financial trouble' this is an extract of the letter to shareholders attached to their latest Annual Report /10-K filing to the SEC (Read it online here).
I've included a screenshot the opening paragraph of the letter:

That doesn't sound like a company in 'financial trouble' to me. 
You can see this on their Consolidated Statements Of Operations
- The decline of Unix (Solaris, HP-UX, AIX).
It's interesting to note that all of these make hardware as well as an operating system. These systems normally scale much larger than that of a traditional Linux server (excluding clusters). Take a look at Sun's M9000, IBM's p5 595 and HP's HP-9000 Superdome Server. These computers can replace dozens of Intel based servers and thus are not something companies run out and buy dozens of. (well normally!) Interestingly... both HP and IBM are also Platinum Members of the Linux Foundation. With a Platinum membership of $500,000USD each. How's that for biting the hand that feeds you (literally in Zemlin's case).
The I/O throughput and disk-subsystems available for these machines normally far outstrip that of anything under Intel/Linux range.
- ZFS, Sun Zones/Containers and DTrace.
Seriously you jest Mr Zemlin?
Linux virtualization is still a mish-mash under heavy development. (take Xen, KVM, LVS and even Sun's VirtualBox)... I wouldn't class as enterprise ready. Hell, even VMWare that started in Linux roots, has moved over onto their own kernel. Zones and Containers under Solaris are much neater and better suited to an enterprise environment.
As for ZFS -- Linux has no mainstream file-system that competes. The size of volumes and the ease of use leaves ext3 behind. Even the upcoming ext4 has no real claims over ZFS. For large scale filesystems, ZFS has it over native Linux filesystems.
DTrace - ask any administrator of 100's of Linux servers if they think DTrace is a minor thing? Sure Systemtap is nice, but the comparison of Systemtap to DTrace still shows some deficiencies. Being able to trace safely on production systems is a requirement for something that can be used in the real world. Add to it the ability to trace user-space programs and DTrace does indeed have some features many SysAdmins discuss and would love to see under Linux.
- Sun's open source Solaris 'too little-too late'. No community, still controlled by Sun.
Wow... I wonder if he would make the same statement if Microsoft released their OS as open-source? Open-Solaris is a community site, though Sun still controls it. There is nothing wrong with that. It's their baby, and they can do with it what they like.
Sun is still a large OSS backer.... remember products like MySQL, Innotek/VirtualBox, and hey, they even OpenSourced Java.
Sun have shareholders to consider, and they need to make a return on their investments / R&D. I don't really have anything bad to say about the CDDL. It makes sense for them... and hey something is better than nothing. What I find hilarious is that many Linux advocates will bag the CDDL, but love Mozilla. Wake up people... the CDDL is based on the MPL! The CDDL is also recognised as a license under the OSI.
- Open Solaris attempts to drive customers to commercial Sun technology
Actually most of the people I've come across it are already using the commercial Solaris or wish to learn Solaris. OpenSolaris is a nice way they can install it at home and come familiar with the environment outside of work at their own pace. It makes sense that they can utilise the same operating system in their work-place and in the comforts of their own home.
For me, I'm a fan of Linux. I love the breadth of software available to me, the rich and colourful community around it. I have grown up watching Linux (I first compiled up an 0.54 kernel on a lowly 286). My servers and desktops/laptops all run Linux.
Having said that, I learnt *NIX on SunOS and later Solaris. It has it's place, even in today's world.
I agree, the low-end UNIX servers are often replaced by Linux servers, yet there is nothing really in the Linux space that competes with the high-end UNIX environments.
A lot of what we see in Linux has it's roots in commercial UNIX. (Hell, who has networked file systems in their environment that doesn't use Sun's NFS?)
So take some advice from a Linux admin at the coal face. Linux co-exists well in a heterogeneous environment, sharing the space with commercial UNIXes and even those annoying Windows servers.
If you need to beat up a 'Server OS' next time Zemlin, try attacking Microsoft (Hint: they are not a member of the Linux Foundation).
Linux servers have probably dented more Windows server sales then that of commercial UNIX. Samba has played a large role in that.
Exchange is probably the last bastion of Microsoft dominance. With the amount of Exchange 'replacements' now on the go that run under Linux (ie: PostPath, Zafara, OpenGroupWare, Scalix and Open-Xchange to name just a small fraction of those available. ) It's likely more inroads into the proprietary walls of Microsoft are now showing cracks in many corporations. Many IT managers are struggling to justify the outrageous price they get slugged for Microsoft Exchange, and these cheaper and feature-rich alternatives are often fractions of the cost if not free.
So next time you attempt to speak for the 'Linux Community' Jim Zemlin, try actually speaking to some Linux administrators that live in the Fortune 500 world. We aren't all hippies yelling 'free OS love'.  In fact we happily co-exist with commercial *NIX and sometimes even Windows servers (much to our disgust).
Leave your "Us vs Them" mentality at your door, it's not a view held by a large proportion of the Linux community. Indeed many Linux administrators actually also administer other commercial *NIX machines in their day-to-day jobs. There are more similarities between the commercial *NIX flavours and Linux than not.
We do realise it's part of the Foundation's role to 'promote Linux', but keep the mud-slinging and crap out of it. Let Linux stand on it's own technical merits and not at the detriment of dragging another 'cousin' down in the process. We see enough of this style of 'marketing' from Microsoft that we don't need to stoop to the same levels.
Disclaimer:
• I work commercially as a Linux System Administrator at a Fortune-500 company.
• I have however administered a large range of *NIX based operating systems over the years... including Solaris, HP-UX, AIX, Tru64, and IRIX just to mention a few of the more 'known' variants.
• My home desktop and all my servers run Linux. Many that know me think I'm a one-eyed Linux zealot!
• I have no affiliations with Sun Microsystems at all.
• The views and opinions expressed by some members of The Linux Foundation are not mine.
Thursday, September 25. 2008
Most people don't read User Manuals. It's a shame as they miss out on lots of great tid-bits.
One such nugget can be found on Page 66 of the VirtualBox User Manual:
Like a real SATA controller, VirtualBox’s virtual SATA controller operates faster and also consumes less CPU resources than the virtual IDE controller. Interesting...
I thought I would give this a go.
I had an existing 32-bit Windows XP installation that used the traditional IDE interface, and found it used about 25% of my CPU when running (using an Intel Core 2 Duo E6600) when running under a 64-bit Linux installation.
Whilst it ran fine, dropping the CPU utilisation and speeding it up sounded like a great idea.
Once done, I compared the results... it was indeed 'zippier', and low and behold, the CPU utilization had dropped to around 5%! Now that's a big improvement!
 | So how did I go about it?
- Start the Virtual Machine as per usual.
- Download and install the Intel Matrix Storage Manager (used to see the SATA interface).
- Install the software.
- Shutdown the Virtual Machine
- Now create a temp virtual disk, and install this on SATA-1 on the virtual machine.
- Boot back up and ensure you can see the disk (it won't be formatted, so you will probably need to look in the Disk Management utility found in the Administration Tools -> Computer Management -> Disk Management)
- Hopefully you can see the newly added disk.
- Shutdown the virtual machine.
- Change your IDE disk to now be on SATA Port 0
- Remove the temp disk you previously added.
- Boot back up and you should now be on a SATA HDD, that now is more snappier and uses a lot less CPU.
You can also use the floppy disk drivers to install it directly using the 'F6' key during installation. |
NB: For those using Vista - you'll find it supports SATA out of the box. (No need to install an additional driver)
So enjoy faster and less resource hungry virtual machines.
NB: Whilst this covers SATA under Windows based Virtual machines, it also applies to running Linux based Virtual Machines.
Wednesday, September 24. 2008
I've seen many people that run Windows under VirtualBox to run those legacy applications that just haven't made it across to Linux.
Too often I see people messing about with Ethernet bridging because they feel the need to have some incoming ports on the machine active to the outside world.
Fair enough, however it's a complex way to accomplish that. You're much better using the simple NAT interface, particularly if it's only a few incoming ports.
NAT under VirtualBox does indeed allow incoming ports. Knowing how to set these up is the key!
By definition, a NAT internal IP uses an IP address in the private address space defined by RFC1918. Namely one from these networks: 10.0.0.0 - 10.255.255.255 (10/8 prefix)
172.16.0.0 - 172.31.255.255 (172.16/12 prefix)
192.168.0.0 - 192.168.255.255 (192.168/16 prefix)
Most people are familiar with 192.168.0.0/24 or 192.168.1.0/24 which many ADSL routers provide. Many know that you can setup port forwarding in their router to allow external IPs access to a particular port/service on their internal machine. Virtual Box is no different.
Like a network router that can be configured so that accessing a particular port on the router it can be sent directly to the machine(s) behind it. How is this accomplished under VirtualBox? You just configure a port on the host machine to be forwarded to the IP and port on the virtual machine.
VirtualBox ships with a nifty little GUI. It's simple but effective. Unfortunately much of the power to configuring your virtual machines is not found in this tool.
VirtualBox also packs some handy cli tools for managing your virtual machines.
One such tool is the VBoxManage utility. Infact this is the tool we'll be using to enable some port forwards.
Let's enable the Remote Desktop Protocol in our Virtual Machine. This Virtual Machine is called MyVM for ease of use: VBoxManage setextradata "MyVM" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/vmrdp/Protocol" TCP
VBoxManage setextradata "MyVM" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/vmrdp/GuestPort" 3389
VBoxManage setextradata "MyVM" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/vmrdp/HostPort" 3389 As you can see we passed several arguments to VBoxManage. You'll find by just running VBoxManage without any arguments that it will list all it's available options (there is quite a few!).
In this example the arguments are:
- setextradata: Inform VBoxManage that we wish to do additional configuration of our Virtual Machine.
- "MyVM": The name of our virtual machine.
- "VBoxInternal....": The key we wish to change. In this example, it's a new port forwarding rule on our specific ethernet card. (You'll find more information in the UserManual for Virtual Box for a list of available ones)
- Final value: The actual value we wish to set for the key.
So what did the 3 lines accomplish?
- We informed VBoxManage that we wanted to configure a TCP rule (named vmrdp) for our first ethernet card (pcnet)
- We set the TCP port we want to send the forwarded packets to within the virtual machine. (GuestPort 3389)
- We then defined the port we wanted to listen to on the VirtualBox Host (HostPort 3389)
Now basically from anywhere on you can hit your Virtual Box Host on TCP/3389 (eg: Your Linux desktop), and it will forward the packets through to your virtual machine. Neat 'eh? If you are on your Linux box and running VirtualBox in say headless mode.. you can get a remote desktop session by just connecting to localhost:3389.
Some things to also remember: - If you need TCP and UDP rules... you need to define them seperately.
- You need to set a 'working' port forward with the triple configuration above (it takes 3 commands to get a working port forward.
- No two rules can have the same name. This also counts for a service that runs on both UDP/TCP on the same port. In that instance name it something like myserviceudp and myservicetcp to distinguish them.
- Port forwarding is set across reboots. You don't need to do this multiple times.
- VBoxManage basically edits the xml configuration file for your Virtual Machine. If you don't want the port forwards any more... just edit the xml file directly is the fastest and easiest way (likewise once you get the hang of it and the format, there is nothing stoppign you editing the xml definition file directly).
Other things you should know about NAT networking include: - By default the NAT network is 10.0.2.0/24.
- The actual network can be changed using VBoxManage modifyvm "MyVM" -natnet1 "10.10.1.0/24" (Change the last value to your desired network/netmask.)
- The IP assigned by the VBox DHCP server will be .15, with a gateway of .2.
That's a brief introduction to some of the features you can accomplish with VBoxManage. Explore a little and you'll be amazed how much you can customise.
Have fun!
Friday, July 25. 2008
I'm eagerly awaiting large amounts of presents for all those demanding users out there that think sleep is a value-added extra for Sysadmins, or that weekends/public holidays/holidays in general are something that don't apply to us.
Today is System Administration Appreciation Day.
So before you ring me up today to fix your urgent problem, ensure to have that present sent over first.
Any calls raised without the appropriate attached gift will be ignored today.
Geek presents earn additional bonus points. Caffeine and chocolate substances are also welcome.
Wednesday, July 9. 2008
Ask any small business owner in Australia what drives them craziest running their business.
More often then not the answer will be their accounting software.
Why? It's not because they are unable to understand the principles of double-entry accounting or even the tax system imposed on them.
No, its the lack of a decent, flexible and affordable solution.
The two most popular business accounting packages for the SME is either MYOB and QuickBooks. Both have huge hurdles, and it's not uncommon for users to find that they spend more time attempting to work the software than the software working for them.
I have previously blogged about the issue when talking about how Linux is difficult for many Aussie SMEs to take up. (Mainly due to their critical accounting software only available under Windows, though it is possible to run them under WINE if required). Though getting these Windows programs running under Linux doesn't actually solve the problem, it just migrates it. You are still stuck attempting to drive these frustrating accounting packages.
The Australian market is crying out for an alternative! It's something I've pondered over for some time.
An OSS based accounting and payroll system that put the source code directly in the hands of the users would be appealing to many.
I like the idea of a browser-based accounting system. It means end-users aren't restricted to one operating system platform, and in theory it doesn't need to be restricted to just a computer. (3G Accounting anyone?).
Accounting isn't fun, in fact it's dead-pan boring.  It is however a required evil if you wish to be paid and be compliant with the taxation law. (Particularly GST, BAS reporting and PAYG).
I've looked at programs like SQL-Ledger and LedgerSMB, though both didn't 'fit right' for an Australian environment.
SYMBOL was promising. But unfortunately has been abandoned. fiveDASH, I played with for several hours, though I found it quite primitive and in it's infancy... it's one that at least has some promise, but it will need to progress quite some way to make it in any real production system for a business.
As such, I've decided to look at writing my own. This is purely selfish, as I would like to ditch MYOB come the 2009-2010 financial year. That gives me just under a year to get something up and running.  I'll run a dummy book up til the time, by running MYOB in parallel to ensure all is working as required. The ATO also has some excellent test suites/scenarios to assist in testing an application.
The big choice now is from what components should I build it?
I think PostgreSQL is probably the most solid OSS database to use, though writing something that can also talk to MySQL (due to it's popularity) is probably also wise. End-users can then elect to run whichever they feel most comfortable for their backend.
I considered many languages, but I'm leaning towards PHP for a few reasons: - Most SMB that have a Linux server for File and Print serving also have a LAMP environment already setup.
- Writing the system using say the Zend Framework ensures a lot of the ground work is already done. Working within their coding standards also ensures the code is reasonably clean and readable (and thus maintainable).
- Python was also considered, but it's more likely a SMB has a Apache/PHP environment over an Apache/Python setup
- I already have quite a number of generic PHP libraries that will mean I can get moving much faster. My Python libraries are no-where as extensive.
- A Java-based web app would be an overkill and likely to confuse many small business owners. (ie: Install a Java Application Server, etc.)
- SugarCRM is already popular in many SMBs. It would be quite easy to have an Accounting + Payroll package integrate into SugarCRM. Sugar is written in PHP, so it would make the job much easier if they both spoke the same language.
I haven't commenced any coding to date, and am still in the embryo stage of getting something up off the ground.
I'm interested to hear people's feedback with their thoughts. Do you think a PHP application (backended by your choice of MySQL or PostgreSQL) for your business accounts is feasible? (Obviously if 'approved' by the ATO as compliant).
Do SMB owners prefer the option of paid software with support packs? (like offered by MYOB and Quicken) they can fall back on? Would you not trust your business books to an OSS based accounting package? What other hurdles do you envisage if you used OSS accounting software?
|