Well, not really. But having played a bit with the Windows stuff I’ve changed my mind about what I was planning to do at work (which involved VMWare EXSi on two of the servers). Due to a few problems, it doesn’t seem like it would be the way to go.
Why?
Well, largely due to my Small Business Server VM being a little unstable. The problem was that the VM would die sometimes, not necessarily the fault of SBS or ESXi to be honest, it could have been the Solaris server I was using as an iSCSI target.
What the problem is however, is not important, I don’t have the time right now to find it. What is important however, is the problems I would get because the one VM was down. This became very apparent when the VM would crash, and I simply could not kill it from the vSphere manager. If you’ve ever had this problem, then you would also know how much of a pain the vSphere software is, a bad VM an quiet easily had the interface, requiring a trip to the Task Manager and restarting up vSphere again.
This doesn’t seem to be an uncommon problem, and after browsing a bit, you can find the instructions on how to kill it via the maintenance console.
I ended up killing the VM using the “vm-support” command. Bad idea, I should have read further down and used the “kill” command like I’m used to doing on *nix type systems. Using the “vm-support” command to kill a VM results in a very long wait, even if you use the “-d0″ option like I did.
However, even if you do manage to kill the VM process off quickly, you still can’t use the vSphere interface to bring the VM back up, as vSphere still thinks it’s running. I was so frustrated at this stage that I just did a hard reset of the server. This leads me to the real problem.
While the single VM was down, we had no e-mail, windows domain, DHCP, or DNS. Now that isn’t completely true, I have been in the middle of a migration from old unix mail accounts to the Exchange accounts, so our old mail server was still ticking away. Additionally the DNS server on our gateway was still working and marked as the secondary, so that was fine. But it highlights a problem.
The damn Windows server wants to do everything. I also have a few issues that I will save for a later blog post. To be fair, I’m not really anywhere near using Windows for server functions, and I’m even though I’ve used Linux, and then Solaris, I’m no where near an expert in that area either. But the important thing is, try stuff, just make sure you have an easy way to get back out if it doesn’t work for you.
We live in a world that is dominated by the Windows operating system, of course, there are other options available. I’ve often switched around my operating system, pretty much I’ve always had a few hard drives in my PC so I could switch around as needed. I’ve always had Windows.
When I’ve been developing, a flavour of unix has always felt nice to work in. Especially when you’re looking for a cheap option for a server operating system. A unix is it. Pretty much any distro of Linux, Solaris, BSD, you have plenty of options. Also, if you’re after the most advanced filesystem that’s easily available, ZFS, then you need a unix. (As a personal note, I think that Apple really missed out not switching to ZFS).
Anyway! What the hell am I rambling about? Well at work, we’ve pretty much always run a *nix. Web, e-mail, database, storage, and the fax, always been either Linux, or recently Solaris. To be honest, it’s all worked just fine.
So why the post? Well, recently I’ve been working out on how to get our system working a bit better. Currently, we have no real intergration. For example, when we get a new employee, I need to create the user on the e-mail server, storage server, and our in house web software. To fix this, I started to look into something like NIS, or LDAP, and, well, it’s not something that is as simple as it should be.
What do I mean? Well that’s where Windows comes in, looking into what I would have to do for Solaris, I also had a look at the Microsoft option. Consulting a friend who knows far more about server configurations and system administration (heya Joe!) I decided to give Small Business Server a try.
I’m not going into it’s features, but since all the employee computers run Windows, and the fact that we get integration of e-mail and calendars, plus the added bonus of remote access to desktops, the price tag seems to be pretty worth it. With that, I’ve also removed Ubuntu from my development laptop and desktop. Windows has got me.
Ok, I have to admit that I have not really posted as much on my blog as I should have. I’m not under any illusions that anyone actually reads this, it’s just that I need more practice writing interesting and readable prose.
So, I’ve decided that I’m going write something here at least once a week, even if it’s just a few sentences. I actually do have a few drafts, but I’ve been mostly been using the blog as a notepad.
Under OpenSolaris, the right ALT key doesn’t work for EMACS, the solution is use xmodmap to change the key mappings. This normally never worked for me when I edited it before, but I thought I would try something else:
remove Lock = Caps_Lock
keysym Caps_Lock = Control_L
add Control = Control_L
add mod1 = ISO_Level3_Shift
clear Mod4
This seems to be working without any problems so far. It also maps the caps lock to be a CTRL key.
I’ve come across a tweet recently from PoisonTheMonkey, about the current BP abomination:
This is what capitalism looks like: http://tumblr.com/xevam3dx2
It’s a disturbing image, and I agree with what she is trying to say, except for her usage of the word “capitalism”. From wikipedia:
Capitalism is an economic system in which the means of production are privately owned; supply, demand and price are mostly set by market forces rather than economic planning; and profit is distributed to owners who invest in businesses. Capitalism also refers to the process of capital accumulation.
It continues with “There is however no consensus on the definition of capitalism, nor how it should be used as an analytical category.”
So pretty much it seems to be a very general word that actually covers a few things, and that’s the problem. Capitalism shouldn’t be a dirty word, there’s nothing inherit in capitalism that means companies should get away with killing flora and fauna. It just means that people and buy and sell stuff they own.
The problem is that we are under a system of corporatism, now I will fully admit corporatism is a capitalist system, but it’s not the capitalism of the system that is causing the problem, it’s the fact the governments of the world give favour to companies/corporations. So I feel PoisonTheMonkey’s statement is actually blaming the wrong thing.
She’s not being malicious at all, she knows the governments attitudes are the problem. What she is describing is what I understand as corporatism, so I would think that is a much better word to use to describe the problem.
As far as the BP situation goes, the American government should be stepping in, and making BP pay for a 100% clean up, until it’s fixed, or BP have no more money left. Corporations are all about profit, so if you make disasters like this cost them, they will make sure it’s fixed quickly and never happens again.
I’ve always liked developing software on a *nix based system, generally this means Linux, but I’ve recently been using OpenSolaris because, well, it’s better than Linux. Anyway, there has always been OSX, and I did used to own an iMac, which was nice.
However, it’s very hard to upgrade the video hardware in any Mac, besides the lovely, but very expensive MacPros. And as I do like gaming on my PC as well, it’s kinda something that is a bit important to me at times.
Anyway, I’ve managed to get OSX running on my PC hardware, there’s plenty of websites on how to go about it, so I’m not going to repeat them here, Google is your friend. So now I’m running OSX Snow Leopard, the only problem I seem to have is that I can’t enable my full 8GB of RAM, and I have to run at only 4GB. Besides that however, everything else seems to work just fine. Even my Geforce 295.
The only other problem is finding software that does certain tasks in a way that I’m used to on Windows, so I thought I would just mention a few in case it can help anyone else out.
Steam has just come to the Mac, so I think that pretty much solves the problem for me. For the last few years, I have only ever used Steam to buy my PC games, and Valve’s recent support for Mac now means that I can do the same under OSX. With the added advantage that when I buy a copy for my PC, I get the Mac version for free. With the support of Steam, I’m hoping that the Mac will get some more support from game developers.
This is a pretty important one for me, I pretty much always have music playing when I’m at my computer, so it’s important that I can at least have a music player that I can live with. On Windows, I always used Foobar as my music player of choice. It supports pretty much all music formats under the sun you could think of, it’s pretty customisable, and supports ReplayGain.
When it comes to OSX however, seriously, iTunes is probably the best option, all other music players just don’t seem as nice, which now gives me some problems.
iTunes doesn’t (and probably never will, support FLAC properly. This actually isn’t much of a problem now. iTunes has always supported Apple Lossless, which, seems to me, produces a smaller file size than FLAC did. So basically I can recode all my FLAC files to Apple Lossless.
Now this has always been an option, so why wasn’t I using iTunes on the PC then? Well, because I also have an iPhone. If I did have my entire music collection in iTunes, I would need to keep two copies of tracks about. The lossless ones for playing on the desktop, and the lossy ones for syncing with my iPhone. However, the new version of iTunes (at least on OSX) now supports encoding of lossless to lossy when syncing. So now all I have to do is manually manage tracks to sync on my iPhone, but don’t have to keep two copies, and re-encode tracks I want to sync.
This one is kinda important for me, ReplayGain addresses the issue of having a mixture of CDs that have been normalised to different levels, basically this is a problem when you have your music player set to random. You will some find some tracks are really quiet, so you’ll turn up the volume, and then it will switch to a much louder track, and you’ll be deafened.
iTunes does have support for pre-calculated volume adjustment, it’s called Soundcheck. However, the problem with Soundcheck, is that it does per-track normalisation, this is bad. On an album, say for example Pink Floyd’s The Dark Side of the Moon, you will find that with Soundcheck results in the volume of the tracks jumping all over the place. The volume should be normalised based over the whole album. iTunes does not support this…
However, with a bit of searching, I found iVolume. This program when set correctly, will calculate and set the Soundcheck setting so each track in an album is set to the same level. This means no jumping up and down in volume, and also that the normalisation will work across albums as well.
Well, that’s it for now.
The statements that MYOB generates are inflexible, and in a word, crap. I’ve found that getting timely and informative statements out to customers goes a long way to helping keeping your customers close to their payment terms.
So, in order to automate the process, I wrote up a script that generates statements, and any warning letters I needed to go with them. Keep in mind I’m using JRuby, as it gives me access to JDBC which is far easier to get working with the MYOB ODBC driver than trying to use the Ruby ODBC driver, and it requires no patching to get it to work.
I have previously written on how I was working on automating the invoice system between the sales database I wrote and MYOB. I do have something written up, however it’s not code that I would want anyone to see, because I know it’s not high quality.
Anyway, the statements MYOB prints, are, in a word, crap. So I wanted to write a system that would take the information out of MYOB and generate my own format of statements for either mailing or e-mailing.
Now the problem with MYOB and Rails, or to be correct, the problem with MYOB and ActiveRecord is that MYOB is not a vaild SQL database. This problem is compounded by the fact that ActiveRecord expects the database schema to be a specific way (this can be changed). ActiveRecord can be nice to work with, however there are cases where it can be a bit of a pain, and this is one of those.
I’ve had a little play with Sinatra and Sequel and this looked like a good chance to give Sequel a try. The statement generator I’m writing is just something to run, once or twice a month, so it doesn’t need a web interface.
JRuby is currently my Ruby VM of choice, because I’ve found the Java integration very useful for printing and faxing for our internal sales application, so I’ve stuck with that, which, when it comes to MYOB is a good thing. Why?
As mentioned in my previous post, I had found information on getting MYOB and Rails/Activerecord talking to each other at Pat Allan’s site, Freelancing Gods. The problem is the Rails ODBC driver doesn’t support MYOB (and I’m sure MYOB doesn’t have a 100% correct implementation), so you have to patch some files to get support.
However, JRuby allows you to use JDBC, so I figured that I could use the Java JDBC to connect to the MYOB ODBC driver. It works, with no patching involved.
Ok, enough of the length explanation, how does it work?
First, get and install JRuby.
At the moment I’m using JRuby1.3.1, and I download the jruby-bin-1.3.1.zip file. I’m going to assume you know how to get JRuby installed, and in your command path.
With that done, start up your command shell (I use Windows Powershell), and install the following gems:
That’s it! Next, you need to set up your MYOB ODBC datasource, again, I’m going to assume if you’re looking up this information then you know how. There’s one thing however, if, like me, you’re using the 64bit version of Windows Vista, you need to run:
C:\Windows\SysWOW64\odbcad32.exe
Otherwise it will only list the MS SQL OSBC drivers.
With that done, we can then load up jirb and play with the database. Or you can write the following file and run it.
require 'rubygems'
require 'sequel'
#Setup the database connection
DB = Sequel.connect( 'jdbc:odbc:MYOBTest' )
customer = DB[:customers].all[0]
puts customer[:name]
DB.disconnect
Don’t forget the disconnect, otherwise JRuby will crash when you exit.
If you’re familar with Sequel, you might wonder why I do the bad thing, and go:
DB[:customers].all[0]
rather than:
DB[:customers].first
This problem is that the MYOB ODBC driver will complain about the SQL statement generated, best I can guess is that it doesn’t support the SQL option LIMIT.
Anyway, that’s it for now.
Well, our work OpenSolaris server has been giving me the shits. After going down mysteriously I had to do a quick swapover job (basically I took the 3 drives out of it and plonked it into the new machine I had ready for the boss (quick note, it worked straight away, I was really surprised.)).
I decided I’ve had enough with building my own servers, seems to be that I had a few problems with hardware recently, in particular, RAM. The sudden loss of our e-mail server was enough motivation for me to get permission to spend some cash on a proper server.
Since (Open)Solaris is currently my OS interest at the moment, I figured I would check out what they’re offering, basically we’re a small business, we don’t need, and can’t afford something too hardcore. My choice came down to either the Sun Fire X2200 M2, or the Sun Fire X2250. They’re the same price (currently AUD $2,350.00), so I basically went with X2250 because it’s faster (I think).
So now I’m waiting for it to arrive (via Sun’s Try & Buy trial offer), when it arrives I’ll try and give a “review”. I say “review”, but honestly it’s just going to be what I think about it, and this is my first (and probably only) proper server purchase, so don’t actually use it to make a decision.
Of course, if you are deciding on new server hardware, and like myself, this is your first time, keep in mind that these server boxes are pretty deep. We had to purchase a new rack that was 1000mm deep, as the server is 633mm deep.
Ask me what my religion was, hmm, say about two months ago. I would have said “Agnostic”, however, I’ve recently been thinking about my views on religion. I really can’t remember what made me start thinking about it, I think it was a YouTube clip, anyway, that’s not important.
As a result, I’ve read “The Blind Watchmaker” by Richard Dawkins, followed by “God is NOT Great”, by Christopher Hitchens. I’ve managed to get hold of “Enemies of Reason”, and “The Root of Evil”, documentatries by Dawkins. And again, I’ve been following athiest channels on YouTube.
My views have gone from “Agnostic” (which would have been more correct to say that I was an agnostic athiest, as I’ve never really believed in God), to athiest, to anti-thiest. This is largely due to my reading of Hitchens, a point of view that had recently been firmly resolved by the recent bushfires in Victoria.
How? Simply, because a ministry in Victoria proposed that abortion laws are the reason why God started the bushfires, and recently Fred Phelps has said that the fires are send by God to punish Australia. These are but two recent examples of how the religious will try to use fear of God as a means to push their agenda.
Now you may think, “These guys are pretty fucked up, but, well, it doesn’t really affect me”, and you may be right, for now. The thing is, and what I’ve been starting to notice, is that this religious shit does affect us, there is a religious agenda out there that is trying to establish a control on the population.
For example, take the UN, there has been a resolution, that aims to make defamation of religion illegal. This is pretty old news, from November I think, however I believe at this stage, it’s optional. Australia voted against it, as they should, Australia is a secular government. However, you can see the obvious attack on free speech here, something which you can’t allow a compromise on. It’s a point that I am, unfortunately, not eloquient enough to present an argument for. However, again, Hitchens provides a wonderful speech on from June 2007 on free expression.
Unfortunately, I simply do not know how much free speech we have in Australia, but I think that this is something America has right. All speech should unrestricted, even the fucked up shit like hate speech, because once you make a distinction between what is allowed, and what is not allowed, then you open a door, ever so slightly, for more speech to be policed.
Anyway, here’s some links that I suggest people to check out:
Pharyngula
Refuting Atheistic Naturalism Episode 2 (This kid is like 14!)
Check out the videos by these guys on YouTube:
Thunderf00t
AronRa
AndromedasWake
DonExodus2
cdk007
patcondell
TheAmazingAthiest
C0ct0pus
| M | T | W | T | F | S | S |
|---|---|---|---|---|---|---|
| « Jun | ||||||
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 | 31 | |||||