This was one of the languages I was never very keen on working with, but I will not pass up on a good opportunity. I’m in an interesting position where I am working on stand alone project which is loosely coupled with other related projects. This means I’ll be using shared libraries and standards, but I have to read through other projects to learn how to use them.
In a previous post, I’ve been using Google’s PageSpeed Insights for a while to help optimize the page loads of my websites for a while now, but I’ve never gone so far as installing the Apache mod_pagespeed plugin. But after trying a few different Joomla extensions, I figured this one might be more efficient by optimizing directly through the Apache layer.
mod_pagespeed is an open-source Apache module that automatically optimizes web pages and resources on them. Optimization is done by rewriting the resources using filters that implement web performance best practices. Webmasters and web developers can use mod_pagespeed to improve the performance of their web pages when serving content with the Apache HTTP Server.
After having good luck with this plugin on Used Boats Ahoy!, I enabled it on my other websites. Below are the changes in PageSpeed score.
Bodhi Development: 70 to 92
Stat Addict: 74 to 90
Washington State Used Boats: 85 to 92
Quality Used Boats: 88 to 93
Bodhi Sanctum: 72 to 76
Used Boats Ahoy: 88 to 94
I’ve been hosting a VPS through Linode for the last couple of years, and I’ve have a great experience so far. A VPS provides the full root server experience without having to worry about the hardware. I was going through my server configurations, and realized I was running a deprecated Linux Kernal 2.6. A host like Linode makes it extremely easy to change kernels on a VPS with a simple web interface with a dropdown menu to select from a prepolulated list of kernels. From an issue in May of last year, I was recommended to use a more stable version (184.108.40.206) which was still selected. I’m hoping any issues I experienced have been resolved since then.
While there are no significant changes, there rare plenty of random fixes and driver updates, updating the revision to 3.0 was a huge milestone for Linus and Linux. As of today Linux 3.4 has been released, which I hope to be able to look in to taking the additional leap.
In my previous post about Used Boats Ahoy! I mentioned a Joomla plugin Mobile Joomla! and how it can detect mobile devices and display the website accordingly without having to redirect to a subdomain (though to access it anywhere, this URL can be used http://i.usedboatsahoy.com/).
Unfortunately since I don’t have complete control of how things are displayed due to the nature of the services I’m using, I’ve had to resort to complex CSS, and other creative solutions. It’s proven a little more difficult than I expected to format everything just right, but even so the mobile experience is much better now than it was before. By getting back into the code for this website, I felt it was an ideal time to look into other ways to boost my site performance.
Read more »
Web services are one of the easiest ways ways to communicate between multiple languages or multiple servers by passing HTTP requests, or XML/JSON. With the recent surge in HTML5, more web sites than ever can use web service requests to deliver updated content without requiring the user to refresh their browser. One of the most widely used web service protocols is SOAP.
SOAP is the protocol that Used Boats Ahoy! uses to populate it’s inventory of boats. The web service client connects to a web service server that has direct access to a database. Interoperability is key with web services since the code base of any given web site is unknown. In this case the client code is written in PHP and the server in ColdFusion, but they both communicate using a common XML format. Read more »
One web site can become much more useful to a user if it has access to other useful sets of information to display. The challenge is to be able to control the flow of information being passed between server and client interfaces. There are many different types of use cases for web services which have different sets of requirements. While RSS feeds are more of a precursor to the proper web service, they are a good example of a one way service where a client can display content, usually articles, from an external server’s database.
Read more »
The site UsedBoatsAhoy! is probably my most popular project to date which hasn’t required much major attention in a little while. The latest features I’ve added were first the Facebook like/share buttons, and then the Google +1 button.
With the current trends of smartphones though, this seems to be changing. This site was not built with the mobile web in mind (although it’s not usable). This is a trend that I can no longer ignore, since over the last two years, mobile traffic has been doubling. Read more »
Updating this app to be able to set sound clips as notification tones was easier than I expected. The way that it was originally built, it already saved the clips in a way that you could use them as notification sounds in the Android Sound Settings. I only needed to add the logic to be able to set them as the default.
Secondly, I needed to change the way the select box works since from what I can see regular alert boxes only support three options (positive, neutral, negative). Instead I implemented a list select box which would allow as many options as necessary.
I’m always happy to see a feature request from the android market, along with a few good reviews! Most recently there was a request to save the sounds as a notification. While it should be possible to do with a few work arounds, and a file management app, I don’t see why this feature shouldn’t be easy to implement now that it is possible to save the clips as ringtones. Hopefully I’ll be able to have something to release by the end of this weekend.
I’ve been interested in the emerging mobile platforms since I bought my first cell phone in 2004. At that point in time, carriers had nearly full reign of what applications a device would or would not have. Fortunately, I’ve always been the type to get the most out of my hardware which, for better or worse, usually involves warranty voiding shenanigans to work around the barriers. Read more »