Web Design
Save Your Website – Automatic WordPress Backup – A Great Plugin!
My previous WordPress backup plugin broke when WordPress version 3.o was released. I tried a few different options and finally settled on Automatic WordPress Backup, which is a plugin that backs up your WordPress database, themes. plugins and htaccess files.
Here’s why its really good!
It backs up to Amazon S3, in the cloud data storage. This is great because it’s very unlikely that Amazon will lose the data! Yes, you have to register an account at Amazon, but it’s free and the storage cost is really tiny, I mean, 20 cents a month tiny and I’ve got a big one (website).
If you’ve ever lost valuable data you know that backups are:
A) Tedious and really dull
B) Vital to your continued well being
Therefore, a few cents a month is nothing and the process is seamless.
It exports the database; a lot of backup plugins just backup the WordPress files, but thats only half of the WordPress installation. You need to have a dump of the database too if you are going to retrieve your valuable posts, pages etc. Automatic WordPress Backup does the job nicely.
It also backs up themes and uploaded content; some plugins just export the database. AWB does the database, as an SQL export and the themes, plugin files and uploaded content. So it covers everything you need to be able to restore you whole wordpress installation, which is what you want.
It allows you to schedule backups; daily, weekly or monthly backups can be set, so you can cover your options if your a daily poster or just one-in-a-while kind of poster.
I’m using AWB on many of my blogs and am setting it up for clients too.
You can download the plugin at Automatic WordPress Backup.
Go here to sign up for an Amazon Web Services account.
A poorly designed website can cost you sales
That’s why I’ve written a special report;
————————————————————————————- 6 Hidden Traps that Kill Online Business and Why Most Web Designers Don’t Want You to Know About Them ————————————————————————————- The information in my report is honest and really good advice if you are looking to buy a website.
You probably put up your website without knowing exactly what to do. Or you hired a designer that was focused more on graphics than the sales copy. The sad fact is few website designers know how to build a site that sells.
Web designers seem to think that your sales message is less important than logos and pretty pictures. They love high-tech things like animations, little intro movies and fancy navigation menus. Well, fancy animations don’t generate income… except for the web designer. In fact, they frequently drive visitors away.
Clearly, people online are in a BIG hurry. More than likely, they didn’t get online to go shopping. They came to your website seeking information or a solution to a problem.
You have a tiny amount of time to convince visitors that your product or service is the solution they need. If your website doesn’t demonstrate that solution, FAST, they’re gone. That’s why fancy animations and graphics just get in the way.
If you would like to read my special report you can download it here and you can get $261 worth of FREE Bonuses too, no really! Go get yours now!;
Is Personalization Important?
Presonalization seems to be a pretty big buzzword right now, but is it as important as everyone is saying?
I recently heard from a friend who has implemented personalization in his landing pages that he has improved conversion rates by anywhere from 15-20%. Now that’s got to be worth a look.
So what is personalization? Its where you take a prospect’s name or some other piece of information you know about them and use it in a mass-marketing promotion. At least thats one form of it. We’ve all been doing this for years in our mailing right? Mail merge the persons first name into the salutation of our mailing so it starts ‘Dear firstname’.
But could just a simple first name improve response and increase conversion? and by how much?
The answer is a resounding YES! The REASON?
siteBOSS PASSES Microsoft Platform Test For Hosted Solutions
On Friday 02/06/2009 siteBOSS, TRS Technology’s Internet Marketing Website system, was tested by Microsoft and successfully passed!
siteBOSS PASSES Microsoft Platform Test For Hosted SolutionsThat’s quite a mouthful, so what does it mean?
Well, it means a couple things;
- siteBOSS is built to recognized development standards. This means that the system architecture is correct for a hosted solution, as determined by Microsoft. If you want to find out exactly what that means look at the test guidelines. Go on, I dare you…
- It means that TRS Technology Group Inc is now a Microsoft Certified Partner.
Of course the system architecture is correct! I’ve been doing this for a long time and with a certain amount of flair. Let me tell you though, it aint easy! Many people think that development is now a fairly simple task, requiring low level skills and the ability to point a mouse and click. Not so my friends. I don’t think it’s gotten any easier, just different.
I also get to brandish a new partner logo, which I’m ok with. I’ve been a Microsoft Certified Professional for years now, so a new designation is cool.
Here is mine and Microsofts, yep, I’m a Microsoft shop and I think Bill Gates is a genius and have nothing but total respect for the man.
Integrate Google Calendar in your web design
I’ve been asked by a couple people recently about option for coding a calendar function into their websites. While I do like to earn good money and make a handsome profit I feel that coding for the sake of it is not an option. There are so many services and online systems available these days that you can just plug into, why not just use whats available?
Many an anal retentive will explete ‘but it doesn’t look like my website’ or ‘I don’t want to drive traffic away from my site’. Fair enough, Ar’s (you know who you are).
Here’s a nice solution from Google, master of the internet, soon to be master of the world (when he’s finished photographing it at street level) and finally master of the universe (AKA God!).
You can plug in a Google calendar with but a few clicks of the mouse using my easy to use but pricey content management system!
Voila!
Visual Studio 2008 SP1
I’ve just installed and configured Visual Studio 2008 Service Pack 1. This is still in BETA but I was anxious to install and try it because of a bug fix that Microsoft were putting in after I logged a bug report with them in January. You can find that here if you want http://www.trstechnology.com/blog/asp.net/index.php/visual-studio-2008/
The bug fix was specifically to allow the use of a remote IIS Server. The initial version only allowed you to specifiy a local IIS Server.
I’ve just tested it and it works perfectly! Thanks so much to Bill Hiebert and Joe Cartano and the team at Microsoft for the fix.
Here’s the new option on the web properties tab;
ASP.NET Machine Generated Code
I just started working with a new client in Port Charlotte. They have had a website built by a company in Tampa and how now parted company with that company, so to speak. So I pick up this system and start to go through the coding and it’s build etc, trying to get up to speed as quickly as possible. But something is not right. It’s a struggle, confusing, big, messy. I don’t know why…
 Well I eventually figure out that this website system, asp.net code, classes and modules, forms, and by golly the database and stored procedures have, for the most part be generated by a …. MACHINE! ARGHHHH.
Yes, thats right, the original developers are working with a software tool that allows them to work in plain english (I guess) with a client to spec out the system. They do their high level analysis etc, enter data into the software, press a button and voila! Here is your website sir!
This doesn’t include the design of the site aesthetically, the way it looks etc, which is actually quite nice…
So, what’s my point. Here it is… A machine generated system (i’m going back to database design days years ago when I used software tools to design databases) tends to be broken down into a very low level. What I mean by that is the mathematics and algorithms that do the analysis and create the design tend to go WAY TOO FAR! This means that you end up with a system that is very complex. It explains one reason why my new client decided to jump ship from the pervious developer. The initial development costs where quite low compared to the cost of ongoing development and support. The original developer ended up in the same position as I did. After producing the system with a software tool, they were left looking at it, pondering its complexity and wondering how it all works exaclty.
Asynchronus Socket Programming
I’ve recently done some TCP/IP socket programming. The .Net framework provides a some nice features for making asynchronus program calls. One of the most robust is TCP/IP Sockets.
It can be quite confusing at first to understand the way an asynchronous call and callback mechanism works. I find it easier to understand when I look at the flow of the call first. So here is an outline of the flow.
The basic framework of an asynchronus call is:
- Declare the socket
- Socket.BeginConnect with ConnectCallback address
- ConnectCallback.EndConnect
- Socket.BeginSend with SendCallback address
- SendCallback.EndSend
- Socket.BeginRecieve with RecieveCallback address
- RecieveCallback.EndRecieve
And these are the actual function prototypes for an asynchronous TCP/IP socket. This is the outline, I’ll post some real code in another post later.
Dim state As New StateObject
‘ Create a TCP/IP socket. Dim client As New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp) ‘ Connect to the remote endpoint. client.BeginConnect(remoteEP, New AsyncCallback(AddressOf ConnectCallback), state)
Private Sub ConnectCallback(ByVal ar As IAsyncResult) ‘ Retrieve the socket from the state object. Dim state As StateObject = CType(ar.AsyncState, StateObject)
Try ‘ Complete the connection. state.workSocket.EndConnect(ar) Catch ex As Exception End Try ‘now do the send ‘ Begin sending the data to the remote device. state.workSocket.BeginSend(byteData, 0, byteData.Length, 0, New AsyncCallback(AddressOf SendCallback), state)End Sub ‘ConnectCallback
Private Sub SendCallback(ByVal ar As IAsyncResult) ‘ Retrieve the socket from the state object. Dim state As StateObject = CType(ar.AsyncState, StateObject)
Try ‘ Complete sending the data to the remote endpoint. Dim bytesSent As Integer = state.workSocket.EndSend(ar)
Catch ex As Exception End Try
 ‘now recieve the response ‘ Begin receiving the data from the remote device. state.workSocket.BeginReceive(state.buffer, 0, StateObject.BufferSize, 0, New AsyncCallback(AddressOf ReceiveCallback), state) End Sub ‘SendCallbackÂ
Private Sub ReceiveCallback(ByVal ar As IAsyncResult)
‘ Retrieve the state object and the client socket ‘ from the asynchronous state object.
Dim state As StateObject = CType(ar.AsyncState, StateObject) Dim client As Socket = state.workSocket
‘ Read data from the remote device. Dim bytesRead As Integer = client.EndReceive(ar) Try If bytesRead > 0 Then ‘ There might be more data, so store the data received so far. state.sb.Append(Encoding.ASCII.GetString(state.buffer, 0, bytesRead))‘ Get the rest of the data. client.BeginReceive(state.buffer, 0, StateObject.BufferSize, 0, New AsyncCallback(AddressOf ReceiveCallback), state)Else ‘ All the data has arrived; put it in response. Â If state.sb.Length > 1 Then response = state.sb.ToString()End If
End IfCatch ex As ExceptionEnd Try End Sub ‘ReceiveCallback
I’ll post the state object class and in another post. I found the easiest way to maintain the connection and shut it down was to have the worksocket in the stateobject.
Computer Security – Port Scanning
I’ve just been writing some code to run a TCP socket on a specific port. I was having trouble reading the response from the socket, which promted me to luckily find this damn good port scanning utility that I want to tell you about.
Its called JFirewallTest and it’s a nifty little Java program that can be run from the web page and will perform a full port scan. All 65,536 ports are scanned very rapidly to find possible security holes in your firewall.
My sincere thanks to Michael Gardiner for developing and making this utility available free. You did a great job!
I had to download the Java runtime on all my servers and then checked them all. I’d wanted to do this for some time just to check. I new they were pretty secure and my firewall is locked down tight. Now I’m sure of this thanks to JFirewallTest.
It downloads and installs quickly and the port scan is performed in two phases and only takes a couple of minutes! Bloody marvellous! Thank you!
Visual Studio 2008
I’ve recently installed Visual Studio 2008 and related software. I was hoping to upgrade and start developing in it as soon as possible.
I’ve generally always been an early adopter, but didn’t move to Visual Studio 2005 until quite late in it’s life cycle. I’ve since decided that was a mistake. It’s far better to be on the curve early than to come in late, or even miss a version and come in a versiion behind. Not a good idea.
Now, I know that Microsoft, God bless them, have had a really hectic schedule with the release of Vista and now Server 2008 and SQL 2008 coming soon. But, for heavens sake, I have a problem with using Visual Studio 2008 in my development environment and it’s a show stopper.
I always develop against a remote Windows server using IIS etc. That is so that I’m effectively running up against an environment that is pretty close to production. I haven’t had any problems with this for the last 4 years.
 I installed Visual Studio 2008 and tried to convert an existing project and VS couldn’t seem to access the development share. I then tried to create a new web application project with the same results.
 I’ve posted a thread on the ASP.NET forum. No replies to that yet…
And I’ve posted a bug report with Microsoft. I know that all environments may be configured slightly differently but if it’s working in Visual Studio 2003 and 2005 I certainly expect it to work in Visual Studio 2008. What a bloody pain!

