This is really cool. I have moved this blog and the dozen or so other websites I maintain to this new server. I am pretty excited about the initial results. Though I shouldn’t be surprised by any means. It is just exciting to see the difference.
The old server and slow internet:
On stella it got the worst rating, as it should.
Now for the performance of the Amazon EC2 Micro instance:
Talk about a huge difference in time. It is really the performance of what the website should be.
So far the cloud and the Amazon EC2 setup has not been bad at all. I configured an Ubuntu 10.10 Maverick x64 instance.
The documentation is pretty good. It was a bit difficult figuring out which ubuntu cloud instance I should choose from. I ended up finding the following page useful:
https://help.ubuntu.com/community/EC2StartersGuide#Getting the images
And then to figure out how to login using PuTTY on a windows box since you can’t use the normal username/password combination:
All in all – the information is available once you can find it.
I have obviously heard all the hype of the cloud infrastructures. Never had a need to jump in and try it though. I have been happy with my server machine that happily runs 24/7 using ubuntu. I have had it running over a full year without having to restart that machine even once. I made the mistake of looking at performance of the server. Not a good idea. I quickly realized that some of the websites I was hosting need to be on a more production like server. Now where do I turn? Maybe the cloud was my answer?
I really enjoy controlling the server so I immediately ruled out Google’s App cloud. It also ruled out the old $7 dollars/month domain hosting sites. Though some do allow ssh access they do not allow you to do upgrades on the server. I am down to only a few select. There may be others out there but it came down to Slicehost and Amazon EC2. Basically, since Amazon had the free year and I have heard so many good things about it. It ended up being a easy choice. The only probably is how much I will pay after the free year is up. I might end up going back to my old server if the cost is too high. Time will tell
I personally went with the Ubuntu Maverick x64 bit install. Here is the details – https://help.ubuntu.com/community/EC2StartersGuide
Here is some help for connecting with PuTTY for the first time:
I haven’t been back to the single-line command input on Firebug for a long time but over the weekend I noticed it had auto complete. Chrome has had this for a number of releases but I thought the way Firebug implemented it was very useful!
At CodeFreeze this year, I went to the User Experience (UX). They went through things that I have picked up from our UX team but it ended up providing valuable reminders.
One such idea is that on our team we can do user experience testing during requirements, prototype and final stages of development. Persona’s are necessary, of course, during all stages of development. It is key to understand your customer and how they end up using the system.
Here are a list of things to think about and general tips when going to a customer site to do user testing:
- Look at the users cube, cheat sheets, etc.
- Users will often say and do things differently
- Record their interactions with others
- How often do they use the software? all day? occasionally?
- Who conducts the test? Business as well as ux team members. Business / Developers can also be great observers.
- Take a story and go through it as if you were this person.
- Getting context around what the person is, what they are doing, etc.
- Quote: “Take a user to the edge of the cliff and then watch them step off. Let the user struggle a bit and then come back and ask questions later.”
- Question you can ask when the user is struggling: Do you see anything else that would help you?
At this point, it sounds like IndexedDB will be more highly adopted then WebSQL.
Mark West did a nice overview. I summarized a his comparison slides below:
• A real, relational db implementation on the client (SQLite)
• Data can be highly structured, and JOIN enables quick, ad-hoc access
• Big conceptual overhead (SQL)
• Sits between full-on SQL and unstructured key-value pairs in “localStorage”
• Asynchronous, with moderately granular locking
• Joining normalized data is a completely manual process
Code Comparisons: http://hacks.mozilla.org/2010/06/comparing-indexeddb-and-webdatabase/.
When I ran mysqld I would get:
> 090127 10:00:30 InnoDB: Operating system error number 13 in a file
> InnoDB: The error means mysqld does not have the access rights to
> InnoDB: the directory.
> InnoDB: File name ./ibdata1
> InnoDB: File operation call: ‘open’.
> InnoDB: Cannot continue operation.
Finally I looked in /etc/mysql/my.cnf and figured out that my bind-address needed to be updated. So took about an hour to figure that one out. It would be best if I could just leave it to localhost for the bind_address but I can not do that right now.
For others where it is not the bind_address it could be number of other things. I started reading through this thread: http://lists.mysql.com/mysql/216042. It was very helpful to think through the scenarios.
Myself and another have been trying to figure out how to modify the environment variables programmaticly using groovy in Hudson. After a little of tinkering we were able to do it.
hudson.save() //This is needed in order to persist the change
Then if you want to expand this for the slaves:
Interestingly I was able to get the environment variables for a build which could be useful for others that need to be able to get at the Hudson specific environment variables:
I was considering doing a CLEAR plan which says it averages around 3-6 Mbps download speed. Not quite as fast as I would want. My guess is that the CLEAR plan does not truly ever reach 6 Mbps.
Think I will stick with Comcast for a while…
If you have other tabs open and don’t want to clear your authentication on other websites you can do the following in Firefox and Internet Explorer (IE):
Authentication Switch in Firefox
Nice way to quickly change your authentication.
FYI – this does not work in Chrome.