Monday, September 29, 2008

Busy busy.. people leaving every week

Sadly since my boss left just over a month ago, many more people have been leaving. The trouble is not a single one has yet been replaced.

This means.. my blog suffers, amongst other things! When you lose your management, things get a bit "loose" and then you lose email marketing, and then you lose front end development.

I've been interviewing a lot, but I really don't know what I want. Wait.. I know what I want.. I want it to work at my current job! I just feel they don't want us to stay.

One offer I got really turned my stomach.. and the rest I pretty much dismissed immediately because they wanted to "test" me on my "php syntax knowledge". I am not the type of programmer who memorizes all the syntax, I think it's a waste of time. Since languages change so much, and who writes simple stuff from scratch anyhow? I definitely don't unless I have to.

I love solving web problems.. like .. How do we get this content to the users? how can we implement new technologies in intrigue users? stuff like that.

Not: What's the difference between asort, ksort and sort. Any monkey can google that in a heartbeat..

Frustrated, and really wanting either something new, or something to change here. I can't just be a regular developer forever, and I'm getting itchy to move to management, or more senior roles.

BFN

Thursday, September 18, 2008

Implementing subversion, installing Eclipse PHP

After doing some research, and realizing that I can't easily write a web app to allow lay peoples the ability to run rsync.. I've decided to try and move to subversion.

I'm having some trouble finding a concise guide to doing it, and I want to read ALL about it beforehand, because although I'll be doing this on a test server, I don't want to mess it up!

In theory I should present a case for doing it before I go ahead, but since no one else here is even remotely technical, I'm not sure how.

I've reinstalled Eclipse with the thought it will be easier to check stuff in and out of subversion when the time comes. I also realised they have quite a decent debugger, once I'd setup mysql to handle the queries from my desktop, it all works great!

Still trying to work out how to make the debugger "ignore" certain errors (Debugger working for version 5.. but writing for version 4).

I am still on the lookout for new opportunities, I thought I had something recently, but it didn't work out. Very sad!

I think ICANN should call me back.. just because I can't remember off the top of my head the difference between sort, ksort, and asort.. and I can't off the top of my head write the regex for an ip address. Lets face it.. I don't use that stuff all that often, and google (and php.net) are my friend! All these things are very easily solved. Writing a decent web application.. well thats a LOT harder than remembering syntax.

Anyhow.. enough bitching ;)

BFN

ps. Here is how you find your version of redhat:
uname -a
cat /etc/redhat-release -------(laymans)

Thursday, September 4, 2008

Back from vacation! OOP?

Back from a wonderful vacation to see Washington DC. It was much nicer than I expected, and the weather was delightful.

Onto more interesting things. Having been writing PHP since it's early days has left me wondering if I've been left behind. This means much of my past was procedural. I see OOP much more in my future, but am not sure where OOP starts, and procedural ends.

I've been looking at some code downloads that are samples from the book: Object-Oriented PHP. Honestly it looks just like the stuff I use right now.

As far as I can see, the main difference is doing things using classes instead of not.. sound about right? I'll read some more, then post again!

BFN

Thursday, August 21, 2008

Many hosting options

Basic hosting

Hosting can either be very simple, or very complex. It really depends on a few basic factors.
Are you expecting a dramatic amount of traffic right away? Or a gradual increase from nothing? What kind of scalability do you expect? If you don't know the answers to these questions, have a look at the traffic for some of your competition to get an idea of what you might expect. Is your site going to be database driven? Or mostly a static site?
The other main consideration would be features. Small sites just starting out will do wonderfully with a cheap shared hosting plan. There are literally thousands of options out there, I suggest going with one of the larger corporations though, less chance of them disappearing (along with your site!).
Larger traffic sites can look at co-lo hosting, getting one or more machines hosted at a facility designed to manage the hardware. Very rarely would I suggest you host your sites in house. Only if you have dedicated sys admins, a proper server environment with full backups for power and connectivity. The last thing you want is for a natural disaster, or accident to turn your site off! While these things can happen at other facilities, they are usually designed to keep running even in event of natural disasters.
For truly massive sites (although I don't think you'd be reading this, as you've got teams of people like me to tell you these things) it's exciting to setup clusters of machines, working with masters and slaves (machines) and distributed environments around the world. Good fun! Sadly not relevant for most of us though.

My personal site, which I have a very simple page with very little design or information I host with GoDaddy.com. My only reasoning for going with them as a host, was that my domain was registered there. Please give it more thought than me! I hate the interface trying to get into my account. I have to click through a half dozen pages of ads assaulting me, dreadful interface trying to guess where my next link will pop up. Truly a painful experience. Luckily most of the time I simply ftp straight to the server, and skip that user interface nightmare. I have setup a bunch of "testing" sites there, where I post sites I'm working on for various projects, since I like to keep my home network truly hidden.

Friends and associates have found success hosting personal sites with 1and1.com, although I've never personally used them, I hear they are good!

Please don't judge me by my home page! Ever heard the adage "The cobblers children have no shoes". That's my site! I spend so much time on sites for clients, and for new ideas etc, I never actually update my own. Please have mercy!

BFN

Wednesday, August 20, 2008

What the site is for?

Finding out reasons why the web site will exist (Sales, Marketing etc)

What is your website for? Sometimes that’s easy to see, since you sell your products directly to consumers, or you want them to go see your show. At other times it can be much less clear. What if you want them to go to see the show, but you don’t know how you can work out if it was successful or not. How many people went to the site, and as a direct result of the visit, went to the show.

Setting up these goals at the outset, will give you something to gauge your progress.

Sadly I’ve seen some sites which want everything. TPTB want the site to be profitable, while also increasing awareness about products, while also selling products. This can be done, but it must be understood that making a site profitable through advertising will also send users away from your site, and lessen the time they spend learning about your products. It can be counter productive to do both, so be very careful when deciding the best choice, you may be destroying your profits, customer loyalty and trust, to make a small amount selling ads. It could also be the other way around, where you should definitely focus on site advertising, you have very high traffic, and know that users will continue to use your site for buying your products, it would be a waste not to also offer then advertising, thus increasing overall profit without damaging the brand.



What is this site for? Well, so I can practice some of my fledgling writing skills on the unsuspecting web public. Hopefully one day people will leave comments... :D

BFN

Tuesday, August 19, 2008

Transaction processing, lots to consider

For shop sites, how the transaction will be processed

There is lots of information out there about setting up a shopping cart/store on your site, so I won’t cover those items. I’d like to go over all the _other_ options, and how to get the money from your people!

Some sites, (eg. Amazon.com) have wonderful API’s which allow you as the web developer SO much opportunity to sell stuff. If the things you want to sell are already on Amazon, more’s the better, because not only can you earn money by selling these products, but you can ALSO earn a cut of selling them through Amazon! Neat huh?

There are other store’s which offer similar API’s, as well as some which have affiliate programs worth pursuing. If you don’t have many things to sell, and you’re in the right market segment, then another example is Best Buy. They offer you the ability to earn a small percentage on what people end up buying at their online store, after clicking on a link from you. The only real drawback with them is that there is no API. That means all data about the product, including the link to it, you have to manually find in their tools, and add to your site.

The beauty of using an API, is that you can have your site do all the work for you!

I’m a massive fan of letting the site do all the work.. that’s what they are for right? An API should let you find out a lot of information about the product you wish to sell, after being given only a little. You can send over the UPC, title, or similar identifier, and have the other site tell you everything about it. From the cost, the link for more information, a buy link, an image of it, reviews, and much more. Using just this information you can enrich the content on your own site, without having to do much at all! Plus it can happen real time, so the information the user is seeing the most current possible.


As much as possible writing small add on’s, applications, or server side scripts to take care of any manual task the better. When a user see’s your content changing, they will come back more often, just to see what’s different! Creating a “clearance” or “news” section to a site, then never updating it, is instant site death. If a user comes to your site twice, and doesn’t see this information change, they won’t come back again because they assume it will never change. You don’t have to make it too hard on yourself, especially if you can make that content truly dynamic. If you spend a day a month just creating news items for the next month, then use a content manager to schedule them to come out every few days, suddenly your site appears relevant and up to date, even if that is the only thing on the site which is changing!

Thursday, August 14, 2008

Content Management is important

If you’re not a strong programmer, or don’t have a strong programmer working for you, your best route for a content management system is to just use one off the shelf. There are now tons of really good open source systems out there that can do just about everything. The only drawback with using pre-made over using a custom system, is that you won’t have as much control over the interface, specifically the backend. When I write a custom system, I draw from a basic framework that I have put together over the years, but customize the variables, database tables, and menu’s, so it’s specifically for only that site.
To make things easier for myself though (save time & money) I set all the variables at the top of each page. This way while each page stands alone, if they want to add/edit/remove a field, it can be added quickly and easily.

Security! This is a very important part of your cms. If it’s at all possible, I highly recommend never running this directly on a production server. This makes it harder for disreputable people to find it in the first place, leaving less room for brute force or other attacks.
This being said, if it’s going to be a well known site, you can protect your CMS in two ways, sometimes both. You can use the server (if it’s *nix use .htaccess) so that they can never even get to a login screen. Alternately you can use DB/server side scripting to protect your site. There are positives and drawbacks to both, so this decision should be made at the outset, as to what the security requirements will be.

BFN