Archive for May, 2011
Our Who isnt my friend? application is still growing! We’re going to do some re-designs in the coming weeks to enhance the feature set, speed and look of the application. Hope everyone likes it!
So recently (Sunday) we switched from Rogers cable to TekSavvy. TekSavvy offer the exact same deal, only with 240gb EXTRA data per month for $15 / month less (Around $35 in total)
So today (Tuesday) i came home, and Rogers have disconnected our cable…i guess they got jealous? The issue with this is, we now have no service.
From what I’ve been told by TekSavvy and the internet this isnt that uncommon. Rogers…you suck.
So its that time again! The IIA is launching another mission. This one is pretty ambitious, but if those playing the game really take a hold of this mission it could produce some amazing results.
Essentially agents are being asked to create a flash mob (dance / freeze / whatever). Personally I think a frozen mob would be pretty easy to pull off, and very fun to be part of. A mob of dancers isnt quiet as easy to get setup, but it is still something i’d like to be part of!
A while back i was writing an Online Training System / Learning Management System (As the marketing types would say) This was a pretty big project for us at the time. Our client was the Jim Knowles Group, a risk management & training company located in NSW Australia and while this project was big for us, it was a big step for them too.
The software itself was pretty well written, its one of those rare pieces of code I can look back at now and while there are some questionable things in there, most of its pretty well done. In summary:
- There are around 1500 unit tests written in nUnit
- The data model is pretty clean. Each Manager had very clear responsibilities and its own “DataStore” class, which contained no business logic, but simply extracted information from the database and returned it to the manager who would worry about permissions etc.
- Unforutnatly the ASP front end is still ASP…although its .net its using a few of the standard objects which by default produce invalid markup. We did extend a few of them so they produce more usable markup, but that takes time and we didn’t have a whole lot
Our project lasted around 8 months. We first launched a basic version after around 4 months which met the same level of functionality that the current offering provided by the University of Newcastle via Blackboard (There are a lot of people out there who really hate Blackboard, I’m one of them. At the time when we were in the same market their software was pretty horrible, i have not looked at it in a while but if you’re a student using it today chances are you know the name Blackboard) We continued to work on for several months and enhance the offering. We finally had what every development team wants, a product and someone who wants to fund it and use it!
So what went wrong? Although we had funding, it was the bare minimum. We were pulling in around 1.5k / month each, no where near enough to keep it up. We all got by with side work which topped up our piggy banks. Once we had some decent experience, we were no longer just programming graduates. We now had what companies want, people who have actually done something for someone before. So we lost one person after another simply because we couldnt afford to pay them, until it was just me who was left behind. I considered staying to work on it, build it up, but I too had other ideas of what i wanted to do. After a few months, I left Australia and moved to Canada….and here i am today.
Looking back i think it was an amazing experience. I’m writing about this today because i just had to migrate the server from a co-lo setup to Rackspace (The hardware was getting old…scary when thats the only instance! I feel a lot happier knowing where it is now) and I was thinking how nice it would be to be working on this again. .NET is by no means my favorite thing in the world to work on, but to jump back to that world of having unit tests, some good database separation and a product that someone wants to use…it would be amazing to go back there. I guess what I’m trying to say here is, if you ever find yourself in the situation where you have a product thats making money and you’re having fun – dont think that it’ll be easy to get back there whenever you want. Thats what I thought, and its not, but the good news is the drive to have something out there that people are using never goes away.
Well, i guess by definition a viral app is one that grows a user base on its own…right? If that’s the case…by golly we’ve got one! Just what I’ve always wanted, now i wish it would just make some money on its own
The reality is this app is hardly popular at all in the grand scheme of things, but for little old me its fun to know that people are using it…and that more people try to use it day over day without me pushing the point (thats a very strange feeling…)
This brings into mind a bunch of things i’ve never had to truly worry about:
- Scale – can my app handle this load? (Honestly no it cant, it’ll need a re-write)
- Can i make money from this? I had not intended to, but maybe its possible…anyone got any good affiliate recommendations?
- Am i breaking the Facebook terms and conditions (I think i am…) and if so, what does that really mean for me?
We’ll keep you posted on how this progresses, and also post an announcement when the re-write is complete. Peace out yo!
A bunch of you have started playing Minecraft, its been a bit of a dirty secret for a lot of us in the recent months. So we’ve decided to get involved and solve one of the pain points associated with Minecraft – the server!
The first time I played Minecraft it was single player, i think it works great…however really its more fun to play with others. For this reason we’re launching two options. Private and Public minecraft servers. Public servers will be…well…public. Private will only be for people who the server owner lets in.
What do we do for you? We update the server, maintain backups, restore backups, provide server side mods for a more fun game experience…and more
Probably the coolest part of our offer is Economod. This is a custom made server side mod we created which allows for an in game economy. Yep thats right! You can assign players salaries (They’ll earn Economod credits) which they can use to buy blocks. Maybe you want to assign individual players individual roles and pay them for it? You can also create guilds, and players can join and leave guilds as they please.
So if you’ve been playing, having bandwidth or reliability issues, jump over to www.hostedminecraft.net and maybe we can help you out and add a fun twist to the game!
Like everyone out there we’ve been through our share of hosting companies (and in my case worked for one) Recently we just migrated everything from a combination of hosting companies (primarily Dreamhost) over to Rackspace Cloud.
We now have the following servers with Rackspace:
- 512mb 20GB – Ubuntu / Apache
- 256mb 10GB -Ubuntu / mysql
- 1024mb 40gb – Windows server 2003 (Hosting some legacy products)
If we didnt have the legacy Windows products to support our monthly bill would be around $30 / month. However, our total our monthly bill is roughly $90 / month (the windows server is $0.08 / hour. The Linux servers start at $0.015 / hour) Personally i think its an amazing deal given the quality of the product!
In general we had 3 issues with our past hosting companies:
With other companies our instances were flooded with other customers who were heavily utilizing the same hardware we were on which gave us a lot of performance related headaches. Sometimes we would call in and get migrated to another cluster, however more often than not the issues would continue after some period of time.
So far with Rackspace their smallest instance (256mb / 10gb @ 1.5 cents per hour) has been amazing. A site which I was about to re-write when i had it at Dreamhost now responds around 3 times faster (which means i can delay that re-write for a few weeks!) After adding additional sites (i’ve combined around 3 hosting accounts here) i noticed performance started to decrease a bit, so i decided to “resized” my instance (i love this…) to the next size up (512mb instance / 20GB @ 3 cents per hour). I saw a massive increase in performance, far beyond what i had expected to get.
I’m actually looking forward to using the Rackspace virtual load balancers and adding more servers. The great thing about being at Rackspace is that my site can now be scaled across multiple servers in a way that I like. Being with companies like Dreamhost is…OK…but it doesnt allow me (as the application developer) to make critical decisions around how my application is handled on their platform.
The thing about this that I really dont get is that the more ‘restrictive’ hosting companies (such as Dreamhost) claim they dont offer complex setup options as they target a specific type of customer. That customer they claim to target is someone who doesnt want a particularly complex setup, they just want to get their site online with the smallest amount of trouble. Maybe they’re right, maybe people still make basic HTML 4 websites? What really makes me laugh here is that since I’ve moved over to Rackspace I’ve had to call them twice (not for anything that was their fault):
- To verify my account on signup (fair enough…)
- To find out how to add an additional IP to my server (For reference – you submit a ticket)
The second time i called and asked to have the additional IP added I was told to submit a ticket. I have to admit, right here i was thinking “oh man, i really wanted to get this SSL cert installed tonight” (I was right in the swing of migrating websites here…) about 2 minutes later after submitting the ticket at the end of the process i saw a link inidicating that if my request was urgent i could ask for online support. So i did it…a chat window opens and i start typing to a very friendly online support rep (they call them “Rackers” at Rackspace). The invidual asked if it was OK this process rebooted my server, i said “yes”and he comes back saying “hm…” As it turns out, in the (roughly…) 3 minutes between my ticket being submitted, and the online support call being started, someone had ALREADY added my IP and all the Racker had to do was reboot my server.
There are a few things about this that i love:
- Someone looked at my ticket only minutes after i created it
- Two people looked at my ticket at once. Normally this would be bad, but their systems / Rackers are somehow smart enough to only perform the request once and not give me two additional IP’s. This isnt something I would expect from any other hosting providers I’ve encountered before.
- They have online support – I’ve always been a big fan of typing to a support agent. I just feel like critical information is less likely to be misinterpreted
Lack of flexibility
We’re running some fairly custom configurations by now, and when you need to install something that doesnt come out of the box you really want to get it done without any additional headaches. There are many great examples of this which include things like installing a custom version of PHP, maybe you want to use Memcache or you simply want to change the path of where your sites root is. Once you’ve on a platform like Rackspace there is no looking back. I can scale my hardware in seconds (a re-size can be done from the Control-Panel in about 5 minutes with 3 clicks), i have full root access and if i need more servers (or less) its just a matter of logging into the control panel.
One more thing I have not talked about is backup. Dreamhost used to offer a set of hidden directories which stored hourly, weekly and monthly backups of your site. This was pretty good, the typical snapshot type setup, however recently they took that away and replaced it with a really bad tool in their Control Panel. And i quote from the Dreamhost wiki
The Domain Restore feature is found in the Manage Domains section. Each domain listed against your account has a restore button on the right hand side. Click this to see the details of the feature. Don’t worry, it won’t do anything to your domain.
Do note though that DreamHost make no guarantees at all for actually backing up your data so personally I wouldn’t rely on this
This just blows my mind…At Rackspace they have the “Backup” option in the control panel. What this really does is take an image of your entire server (daily & weekly). You can then download that server image whenever you like OR simply restore that image should something go seriously wrong. Its so flexible, quick to do and just makes it easy for me to sleep at night knowing that if something really bad happens, at worst i’m only 24 hours behind.
So in general what can I say? If you’re hosting a serious website and want to have full control over your setup, visit Rackspace.com You will not be disappointed.
One more note…canceling with Dreamhost is a bitch! I have a bunch of domains registered there, and they rely on the DNS services supplied by Dreamhost. I do not recommend ever using Dreamhost for DNS (you cant edit your TTL for starters). Personally I think the best solution you can go with is to do DNR / DNS with godaddy.com Their DNS management was recommended to me by my good friend and college Mike and he hasn’t over sold me on his word – its free, reliable and very flexible.
The conclusion: Host with Rackspace, register you domains and manage DNS at godaddy and relax!
Last year we launched a website called Contributeto.it, and given that I’ve been spending some time migrating from Dreamhost to Rackspace, i figured this is a good chance to re-share this website with everyone. This was my first integration with Facebook, be kind, it was intended to just be a bit of fun
Essentially the idea is:
- You draw a picture
- Your picture is only one colour (a background with an inverse color for you to write with)
- Your picture gets used as a “Pixel” in a bigger picture
- The “Pixels” get reconstructed to build a larger image
Eventually if we get enough drawings the bigger picture will get revealed.
Also, you can buy your drawing on a T-Shirt for around $20.00. So draw something cool, shared it with your friends and wear it on a shirt!
Here are some example pictures people have uploaded…
A while ago (after a few drinks…) some friends suggested I make a Facebook app that tells you when someone deletes you from their friends list. I added a few additional ideas to this and now we have an application which tells you when someone…
- deletes you
- changes their name (this happens a lot..never noticed until i added the feature!)
- blocks you
- unblocks you
- deactivates their account
- reactivates their account
- adds you (not so helpful…but anyway)
A word of warning, it posts to your wall and will send you a daily email of the changes however you can turn these options on/off on the settings within the application. I won’t annoy you if i can help it
Check it out for yourself @ https://apps.facebook.com/whoisntmyfriend
Normally I recommend clients to use Google Apps to host their email. There are a bunch of issues associated with this such as privacy, new limitations and (if you need to go past those limitations) cost.
Today we found a new-new limitation which made me laugh. Google doesnt like certain key words, one of those being “bitch”. Unfortunately this means we cant use Google’s services for our email