<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss'><id>tag:blogger.com,1999:blog-343802044301005445</id><updated>2009-10-23T16:36:39.198-07:00</updated><title type='text'>Writing Web Applications</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://writingwebapps.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/343802044301005445/posts/default?orderby=updated'/><link rel='alternate' type='text/html' href='http://writingwebapps.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/343802044301005445/posts/default?start-index=26&amp;max-results=25&amp;orderby=updated'/><author><name>Jeni</name><uri>http://www.blogger.com/profile/10576917823469615986</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>30</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-343802044301005445.post-6873300861968764832</id><published>2008-05-28T17:00:00.000-07:00</published><updated>2008-12-11T06:51:11.888-08:00</updated><title type='text'>Amazon Price mistake</title><content type='html'>This was just funny, while researching ice cream and yogurt makers, I came across an entry for a Salton YM9 1-Quart Yogurt Maker which typically cost up to $30 (yogurt makers in general) but I found one on Amazon for: $100,000.00&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.amazon.com/gp/offer-listing/B00004SUHY/ref=sr_1_olp_4?ie=UTF8&amp;s=kitchen&amp;qid=1212017154&amp;sr=1-4" target="_blank"&gt;Not sure if the link will work for long (until it's fixed?)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a target="_blank" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_k4MwYVpAIbM/SD3zZze0LcI/AAAAAAAAAT8/MAbYSeHH5R0/s1600-h/oops_price_sm.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_k4MwYVpAIbM/SD3zZze0LcI/AAAAAAAAAT8/MAbYSeHH5R0/s400/oops_price_sm.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5205584368951897538" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Too Funny!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/343802044301005445-6873300861968764832?l=writingwebapps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://writingwebapps.blogspot.com/feeds/6873300861968764832/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=343802044301005445&amp;postID=6873300861968764832' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/343802044301005445/posts/default/6873300861968764832'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/343802044301005445/posts/default/6873300861968764832'/><link rel='alternate' type='text/html' href='http://writingwebapps.blogspot.com/2008/05/amazon-price-mistake.html' title='Amazon Price mistake'/><author><name>Jeni</name><uri>http://www.blogger.com/profile/10576917823469615986</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02935982958853200986'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_k4MwYVpAIbM/SD3zZze0LcI/AAAAAAAAAT8/MAbYSeHH5R0/s72-c/oops_price_sm.jpg' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-343802044301005445.post-7867885879785619377</id><published>2008-09-29T11:08:00.000-07:00</published><updated>2008-09-29T11:14:00.621-07:00</updated><title type='text'>Busy busy.. people leaving every week</title><content type='html'>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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;Not: What's the difference between asort, ksort and sort.  Any monkey can google that in a heartbeat..&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;BFN&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/343802044301005445-7867885879785619377?l=writingwebapps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://writingwebapps.blogspot.com/feeds/7867885879785619377/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=343802044301005445&amp;postID=7867885879785619377' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/343802044301005445/posts/default/7867885879785619377'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/343802044301005445/posts/default/7867885879785619377'/><link rel='alternate' type='text/html' href='http://writingwebapps.blogspot.com/2008/09/busy-busy-people-leaving-every-week.html' title='Busy busy.. people leaving every week'/><author><name>Jeni</name><uri>http://www.blogger.com/profile/10576917823469615986</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02935982958853200986'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-343802044301005445.post-3198138524235918038</id><published>2008-09-18T14:48:00.000-07:00</published><updated>2008-09-18T14:55:39.896-07:00</updated><title type='text'>Implementing subversion, installing Eclipse PHP</title><content type='html'>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.&lt;br /&gt;&lt;br /&gt;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!&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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!&lt;br /&gt;&lt;br /&gt;Still trying to work out how to make the debugger "ignore" certain errors (Debugger working for version 5.. but writing for version 4).&lt;br /&gt;&lt;br /&gt;I am still on the lookout for new opportunities, I thought I had something recently, but it didn't work out.  Very sad!&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;Anyhow.. enough bitching ;)&lt;br /&gt;&lt;br /&gt;BFN&lt;br /&gt;&lt;br /&gt;ps. Here is how you find your version of redhat:&lt;br /&gt;uname -a&lt;br /&gt;cat /etc/redhat-release -------(laymans)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/343802044301005445-3198138524235918038?l=writingwebapps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://writingwebapps.blogspot.com/feeds/3198138524235918038/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=343802044301005445&amp;postID=3198138524235918038' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/343802044301005445/posts/default/3198138524235918038'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/343802044301005445/posts/default/3198138524235918038'/><link rel='alternate' type='text/html' href='http://writingwebapps.blogspot.com/2008/09/implementing-subversion-installing.html' title='Implementing subversion, installing Eclipse PHP'/><author><name>Jeni</name><uri>http://www.blogger.com/profile/10576917823469615986</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02935982958853200986'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-343802044301005445.post-660166164622832802</id><published>2008-09-04T15:29:00.000-07:00</published><updated>2008-09-04T16:03:48.615-07:00</updated><title type='text'>Back from vacation! OOP?</title><content type='html'>Back from a wonderful vacation to see Washington DC.  It was much nicer than I expected, and the weather was delightful.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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. &lt;br /&gt;&lt;br /&gt;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!&lt;br /&gt;&lt;br /&gt;BFN&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/343802044301005445-660166164622832802?l=writingwebapps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://writingwebapps.blogspot.com/feeds/660166164622832802/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=343802044301005445&amp;postID=660166164622832802' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/343802044301005445/posts/default/660166164622832802'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/343802044301005445/posts/default/660166164622832802'/><link rel='alternate' type='text/html' href='http://writingwebapps.blogspot.com/2008/09/back-from-vacation-oop.html' title='Back from vacation! OOP?'/><author><name>Jeni</name><uri>http://www.blogger.com/profile/10576917823469615986</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02935982958853200986'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-343802044301005445.post-3330181172458866438</id><published>2008-08-21T16:06:00.000-07:00</published><updated>2008-08-21T16:12:25.107-07:00</updated><title type='text'>Many hosting options</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Basic hosting&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Hosting can either be very simple, or very complex.  It really depends on a few basic factors. &lt;br /&gt;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?&lt;br /&gt;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!).&lt;br /&gt;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.&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;My personal site, which I have a very simple page with very little design or information I host with &lt;a href="http://GoDaddy.com" target="_blank"&gt;GoDaddy.com&lt;/a&gt;.  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.&lt;br /&gt;&lt;br /&gt;Friends and associates have found success hosting personal sites with &lt;a href="http://1and1.com" target="_blank"&gt;1and1.com&lt;/a&gt;, although I've never personally  used them, I hear they are good!&lt;br /&gt;&lt;br /&gt;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!&lt;br /&gt;&lt;br /&gt;BFN&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/343802044301005445-3330181172458866438?l=writingwebapps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://writingwebapps.blogspot.com/feeds/3330181172458866438/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=343802044301005445&amp;postID=3330181172458866438' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/343802044301005445/posts/default/3330181172458866438'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/343802044301005445/posts/default/3330181172458866438'/><link rel='alternate' type='text/html' href='http://writingwebapps.blogspot.com/2008/08/many-hosting-options.html' title='Many hosting options'/><author><name>Jeni</name><uri>http://www.blogger.com/profile/10576917823469615986</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02935982958853200986'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-343802044301005445.post-8643981213193298970</id><published>2008-08-20T17:37:00.000-07:00</published><updated>2008-08-20T17:38:43.658-07:00</updated><title type='text'>What the site is for?</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;b style=""&gt;Finding out reasons why the web site will exist (Sales, Marketing etc)&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;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.&lt;span style=""&gt;  &lt;/span&gt;At other times it can be much less clear.&lt;span style=""&gt;  &lt;/span&gt;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.&lt;span style=""&gt;  &lt;/span&gt;How many people went to the site, and as a direct result of the visit, went to the show.&lt;span style=""&gt;  &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Setting up these goals at the outset, will give you something to gauge your progress.&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;Sadly I’ve seen some sites which want everything.&lt;span style=""&gt;  &lt;/span&gt;TPTB want the site to be profitable, while also increasing awareness about products, while also selling products.&lt;span style=""&gt;  &lt;/span&gt;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.&lt;span style=""&gt;  &lt;/span&gt;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.&lt;span style=""&gt;  &lt;/span&gt;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.&lt;/p&gt;  &lt;br /&gt;&lt;br /&gt;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&lt;br /&gt;&lt;br /&gt;BFN&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/343802044301005445-8643981213193298970?l=writingwebapps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://writingwebapps.blogspot.com/feeds/8643981213193298970/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=343802044301005445&amp;postID=8643981213193298970' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/343802044301005445/posts/default/8643981213193298970'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/343802044301005445/posts/default/8643981213193298970'/><link rel='alternate' type='text/html' href='http://writingwebapps.blogspot.com/2008/08/what-site-is-for.html' title='What the site is for?'/><author><name>Jeni</name><uri>http://www.blogger.com/profile/10576917823469615986</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02935982958853200986'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-343802044301005445.post-1805390912173111776</id><published>2008-08-19T13:02:00.000-07:00</published><updated>2008-08-19T13:03:21.090-07:00</updated><title type='text'>Transaction processing, lots to consider</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;b style=""&gt;For shop sites, how the transaction will be processed&lt;br /&gt; &lt;!--[if !supportLineBreakNewLine]--&gt;&lt;br /&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;There is lots of information out there about setting up a shopping cart/store on your site, so I won’t cover those items.&lt;span style=""&gt;  &lt;/span&gt;I’d like to go over all the _other_ options, and how to get the money from your people!&lt;span style=""&gt;  &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Some sites, (eg. Amazon.com) have wonderful API’s which allow you as the web developer SO much opportunity to sell stuff.&lt;span style=""&gt;  &lt;/span&gt;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!&lt;span style=""&gt;  &lt;/span&gt;Neat huh?&lt;/p&gt;  &lt;p class="MsoNormal"&gt;There are other store’s which offer similar API’s, as well as some which have affiliate programs worth pursuing.&lt;span style=""&gt;  &lt;/span&gt;If you don’t have many things to sell, and you’re in the right market segment, then another example is Best Buy.&lt;span style=""&gt;  &lt;/span&gt;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.&lt;span style=""&gt;  &lt;/span&gt;The only real drawback with them is that there is no API.&lt;span style=""&gt;  &lt;/span&gt;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.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;The beauty of using an API, is that you can have your site do all the work for you!&lt;/p&gt;  &lt;p class="MsoNormal"&gt;I’m a massive fan of letting the site do all the work.. that’s what they are for right?&lt;span style=""&gt;  &lt;/span&gt;An API should let you find out a lot of information about the product you wish to sell, after being given only a little.&lt;span style=""&gt;  &lt;/span&gt;You can send over the UPC, title, or similar identifier, and have the other site tell you everything about it.&lt;span style=""&gt;  &lt;/span&gt;From the cost, the link for more information, a buy link, an image of it, reviews, and much more.&lt;span style=""&gt;  &lt;/span&gt;Using just this information you can enrich the content on your own site, without having to do much at all!&lt;span style=""&gt;  &lt;/span&gt;Plus it can happen real time, so the information the user is seeing the most current possible.&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;br /&gt;As much as possible writing small add on’s, applications, or server side scripts to take care of any manual task the better.&lt;span style=""&gt;  &lt;/span&gt;When a user see’s your content changing, they will come back more often, just to see what’s different!&lt;span style=""&gt;   &lt;/span&gt;Creating a “clearance” or “news” section to a site, then never updating it, is instant site death.&lt;span style=""&gt;  &lt;/span&gt;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.&lt;span style=""&gt;  &lt;/span&gt;You don’t have to make it too hard on yourself, especially if you can make that content truly dynamic.&lt;span style=""&gt;  &lt;/span&gt;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!&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/343802044301005445-1805390912173111776?l=writingwebapps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://writingwebapps.blogspot.com/feeds/1805390912173111776/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=343802044301005445&amp;postID=1805390912173111776' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/343802044301005445/posts/default/1805390912173111776'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/343802044301005445/posts/default/1805390912173111776'/><link rel='alternate' type='text/html' href='http://writingwebapps.blogspot.com/2008/08/transaction-processing-lots-to-consider.html' title='Transaction processing, lots to consider'/><author><name>Jeni</name><uri>http://www.blogger.com/profile/10576917823469615986</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02935982958853200986'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-343802044301005445.post-2089643303693509032</id><published>2008-08-14T09:45:00.000-07:00</published><updated>2008-08-14T09:47:28.915-07:00</updated><title type='text'>Content Management is important</title><content type='html'>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. &lt;br /&gt;To make things easier for myself though (save time &amp;amp; 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.&lt;br /&gt;&lt;br /&gt;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. &lt;br /&gt;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. &lt;br /&gt;&lt;br /&gt;BFN&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/343802044301005445-2089643303693509032?l=writingwebapps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://writingwebapps.blogspot.com/feeds/2089643303693509032/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=343802044301005445&amp;postID=2089643303693509032' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/343802044301005445/posts/default/2089643303693509032'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/343802044301005445/posts/default/2089643303693509032'/><link rel='alternate' type='text/html' href='http://writingwebapps.blogspot.com/2008/08/content-management-is-important.html' title='Content Management is important'/><author><name>Jeni</name><uri>http://www.blogger.com/profile/10576917823469615986</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02935982958853200986'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-343802044301005445.post-349028608694316594</id><published>2008-08-13T14:37:00.000-07:00</published><updated>2008-08-13T14:43:41.571-07:00</updated><title type='text'>YouTube XML uploading</title><content type='html'>YouTube has created a fairly simple way for users to bulk upload videos.  I say "fairly" because you actually need to create an XML file with the appropriate contents.  As always, I seem to run into problems in the documentation and examples.  I understand what it's like to write a big massive piece of documentation, then get so involved in it, you can't see the obvious errors (it's Appendix E not Appendix D).&lt;br /&gt;&lt;br /&gt;I'll give a quick example of one thing that I was a little irritated by (because I knew it was going to break, but I had to guess which way was correct, sadly I picked wrong!):&lt;br /&gt;yt:title, Required. The tag specifies the display title of a TV or movie video. This tag may have the same value as the media:title tag.&lt;br /&gt;Subtag of: movie_metadata tv_metadata.&lt;br /&gt;THEN.. &lt;br /&gt;tv_metadata, Required etc.&lt;br /&gt;Subtags: id, show_title, episode, episode_title, season&lt;br /&gt;&lt;br /&gt;Umm.. yeah.. so it's a subtag of it, but it's not a subtag of it? So it turns out, it's not!  But of course I found that out the hard way (trying it).&lt;br /&gt;&lt;br /&gt;I know it sounds like I'm getting on their case, but I assume many people read/use these documents, and has no one ever mentioned these problems?&lt;br /&gt;&lt;br /&gt;Anyhoo! Book writing is going.. well.. no where!  Sadly.  Will have to get back on track next week.  Tomorrow I'll post another excerpt, then another one next week!&lt;br /&gt;&lt;br /&gt;BFN&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/343802044301005445-349028608694316594?l=writingwebapps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://writingwebapps.blogspot.com/feeds/349028608694316594/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=343802044301005445&amp;postID=349028608694316594' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/343802044301005445/posts/default/349028608694316594'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/343802044301005445/posts/default/349028608694316594'/><link rel='alternate' type='text/html' href='http://writingwebapps.blogspot.com/2008/08/youtube-xml-uploading.html' title='YouTube XML uploading'/><author><name>Jeni</name><uri>http://www.blogger.com/profile/10576917823469615986</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02935982958853200986'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-343802044301005445.post-8731108610096177309</id><published>2008-08-12T11:58:00.000-07:00</published><updated>2008-08-12T12:03:30.451-07:00</updated><title type='text'>All quiet on the ...</title><content type='html'>Quiet days yesterday and today.  So far just thrown up a page with a couple video's for a PR that's going out today.  The main site we're working on is supposed to go up shortly, but they have yet to actually choose a domain for it!  Oh well.. chicken or the egg, either way they'll have a site.&lt;br /&gt;&lt;br /&gt;Tried to help MS out yesterday (front end developer) with a problem related to the video's on the page.  There are basically 5.  One in the main spot, and one beneath it which load with the page. When the user clicks on one of the movies to see details (which open in smoothbox) both of them need to stop.  This is all working OK, the error occurs because each of those movies has also a trailer link, which then brings each of the (up to 3) trailers into replace the on load trailer.  For some reason the variable he was passing to detect which of them was playing, so to know which one to stop, then restart once smoothbox was done, just wasn't working!&lt;br /&gt;I made some suggestions about how to pass the variable differently, but I believe it is still not working.  Sometimes the simplest things about the most basic interface can get really hard to make work! Like the smoothbox + ajax error, which is still not resolved.  There must be someone out there who's got it to work before, I just have to find out who that is?!&lt;br /&gt;&lt;br /&gt;BFN&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/343802044301005445-8731108610096177309?l=writingwebapps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://writingwebapps.blogspot.com/feeds/8731108610096177309/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=343802044301005445&amp;postID=8731108610096177309' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/343802044301005445/posts/default/8731108610096177309'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/343802044301005445/posts/default/8731108610096177309'/><link rel='alternate' type='text/html' href='http://writingwebapps.blogspot.com/2008/08/all-quiet-on.html' title='All quiet on the ...'/><author><name>Jeni</name><uri>http://www.blogger.com/profile/10576917823469615986</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02935982958853200986'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-343802044301005445.post-2562099985238662070</id><published>2008-08-08T10:37:00.000-07:00</published><updated>2008-08-08T10:42:15.642-07:00</updated><title type='text'>AJAX and smoothbox - no resolution!</title><content type='html'>An update on the past few days trying to get smoothbox links to open from a list generated using AJAX.  We couldn't solve it.  I don't know a great deal about Mootools, but the front end developer seems to think it's basically impossible.  I just think we haven't cracked it yet.  I created a test page in which I used the AJAX object in Mootools to create the links, but it still wouldn't recognize the 'class="smoothbox"' in the link, just opened it to a new window.&lt;br /&gt;&lt;br /&gt;Frustration!  Sadly today is the day we show the site to TPTB, so those beautiful smoothbox layovers are off the site, replaced by clunky old school window popups.&lt;br /&gt;I simply can't get it into my head that we can't use AJAX, and Smoothbox together.  The front end developer (who for brevity's sake I'll refer to as MS from now on) thinks that it wouldn't matter which framework he used, that it simply won't work.  I think we're just missing something still, so if anyone comes across this while searching for a solution, AND finds a solution, please let me know how it works! If for some strange reason we crack it, I'll definitely post again as to how it was solved.&lt;br /&gt;&lt;br /&gt;BFN&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/343802044301005445-2562099985238662070?l=writingwebapps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://writingwebapps.blogspot.com/feeds/2562099985238662070/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=343802044301005445&amp;postID=2562099985238662070' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/343802044301005445/posts/default/2562099985238662070'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/343802044301005445/posts/default/2562099985238662070'/><link rel='alternate' type='text/html' href='http://writingwebapps.blogspot.com/2008/08/ajax-and-smoothbox-no-resolution.html' title='AJAX and smoothbox - no resolution!'/><author><name>Jeni</name><uri>http://www.blogger.com/profile/10576917823469615986</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02935982958853200986'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-343802044301005445.post-8468438261952363569</id><published>2008-08-07T09:44:00.000-07:00</published><updated>2008-08-07T09:48:12.652-07:00</updated><title type='text'>Ajax and Smoothbox problem persists</title><content type='html'>We've tried a ton of different things to get this to work, but it's just not working!  Today I will rewrite the ajax to come from mootools framework, instead of my own script, with the hopes that the html returned will be able to use smoothbox.&lt;br /&gt;&lt;br /&gt;The closest solution we found, and attempted to implement (unsucessfully) was found in the comments on the smoothbox web page.&lt;br /&gt;&lt;br /&gt;#  Pietr Says:&lt;br /&gt;2008-04-01 at 10.32 am&lt;br /&gt;&lt;br /&gt;There is a problem when you dynamically load content via AJAX into a div or span. If you have a link with the smoothbox class inside, it is not possible anymore to use the smoothbox, as it seems that the new element is not being regcognized as a smoothbox element. The link is just opened in the current window, and not in a smoothbox. How can this be circumvented? (A sort of “reindexing” of the smoothbox elements would be required I think.)&lt;br /&gt;&lt;br /&gt;Then:&lt;br /&gt;&lt;br /&gt;#  Boris Says:&lt;br /&gt;2008-04-01 at 10.33 am&lt;br /&gt;&lt;br /&gt;Just run TB_init() after you AJAX call.&lt;br /&gt;---------------------------------------------------&lt;br /&gt;&lt;br /&gt;So we tried to run TB_init() in a bunch of different ways, but still no luck!  Will update with results.&lt;br /&gt;&lt;br /&gt;BFN&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/343802044301005445-8468438261952363569?l=writingwebapps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://writingwebapps.blogspot.com/feeds/8468438261952363569/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=343802044301005445&amp;postID=8468438261952363569' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/343802044301005445/posts/default/8468438261952363569'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/343802044301005445/posts/default/8468438261952363569'/><link rel='alternate' type='text/html' href='http://writingwebapps.blogspot.com/2008/08/ajax-and-smoothbox-problem-persists.html' title='Ajax and Smoothbox problem persists'/><author><name>Jeni</name><uri>http://www.blogger.com/profile/10576917823469615986</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02935982958853200986'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-343802044301005445.post-1836530223789780346</id><published>2008-08-06T10:10:00.000-07:00</published><updated>2008-08-06T10:57:41.622-07:00</updated><title type='text'>AJAX and Smoothbox issues</title><content type='html'>Back to a situation today where the front end developer and I both think it's the "other" person who needs to fix a problem between ajax and smoothbox.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The entire process&lt;/span&gt;&lt;br /&gt;User "drags" an item into a "box".&lt;br /&gt;The JavaScript then runs my script thusly:&lt;br /&gt;&lt;blockquote&gt;pickMovie(item.id);&lt;br /&gt;&lt;/blockquote&gt;Then my script does this (shortened for brevity's sake):&lt;br /&gt;&lt;blockquote&gt;function pickMovie(int) {&lt;br /&gt; xmlHttpPoll=GetXmlHttpObjecta()&lt;br /&gt; var url="/pickmovie.php?element_id="+int&lt;br /&gt;   url=url+"&amp;amp;sid="+Math.random()&lt;br /&gt; xmlHttpPoll.onreadystatechange=stateChangeda&lt;br /&gt; xmlHttpPoll.open("GET",url,true)&lt;br /&gt; xmlHttpPoll.send(null)&lt;br /&gt;}&lt;br /&gt;&lt;/blockquote&gt;Basically all it does is capture the ID, and send it to the PHP page.  At the PHP page, it does a nice big request from the database, and returns the following:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;pre&gt;&amp;lt;li&amp;gt;&amp;lt;a href="http://www.blogger.com/titleinfo.php&lt;br /&gt;?id=1&amp;amp;keepThis=true&amp;amp;TB_iframe=true&amp;amp;height=609&lt;br /&gt;&amp;amp;width=761" class="smoothbox"&amp;gt;Title&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;/blockquote&gt;So now this is returned to the JavaScript to output like:&lt;br /&gt;&lt;blockquote&gt;function stateChangeda(){&lt;br /&gt;if (xmlHttpPoll.readyState==4 || xmlHttpPoll.readyState=="complete"){&lt;br /&gt;    $('demo').setStyle('display', 'none');&lt;br /&gt;   $('searchResultsCont').setStyle('display', 'block');&lt;br /&gt;   var resultsList = xmlHttpPoll.responseText;&lt;br /&gt;   var amp ="&amp;amp;";&lt;br /&gt;   var updatedResultsList = resultsList.replace(/&amp;amp;/g,amp);&lt;br /&gt;   $('searchResultsUl').innerHTML=updatedResultsList;&lt;br /&gt; }&lt;br /&gt;} &lt;/blockquote&gt;Pretty simple? The output we found had all the &amp;amp;'s turned into &amp;amp;'s.  No idea why, but so hence why the front end developer did the replace here.&lt;br /&gt;&lt;br /&gt;Doesn't work.. I mean the link works, but it doesn't use the smoothbox script.  It works elsewhere on the page, where it is simply written, but not when returned through AJAX.&lt;br /&gt;&lt;br /&gt;I'll post more as we learn more!&lt;br /&gt;&lt;br /&gt;BFN&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/343802044301005445-1836530223789780346?l=writingwebapps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://writingwebapps.blogspot.com/feeds/1836530223789780346/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=343802044301005445&amp;postID=1836530223789780346' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/343802044301005445/posts/default/1836530223789780346'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/343802044301005445/posts/default/1836530223789780346'/><link rel='alternate' type='text/html' href='http://writingwebapps.blogspot.com/2008/08/ajax-and-smoothbox-issues.html' title='AJAX and Smoothbox issues'/><author><name>Jeni</name><uri>http://www.blogger.com/profile/10576917823469615986</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02935982958853200986'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-343802044301005445.post-6686639736113267787</id><published>2008-08-05T15:10:00.000-07:00</published><updated>2008-08-05T15:30:23.491-07:00</updated><title type='text'>100 Open Source Presentations...</title><content type='html'>&lt;a href="http://www.webmonkey.com/blog/100_Open_Source_Presentations_From_OSCon" target="_blank"&gt;100 Open Source Presentations From OSCon&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Very interesting to see what's new out there! I particularly liked the &lt;a href="http://assets.en.oreilly.com/1/event/12/Developers%20vs%20Designers_%20Expanding%20the%20Java%20Platform%20Beyond%20Programmers%20Presentation.pdf" target="_blank"&gt;Developers vs Designers &lt;/a&gt; pdf.  Way back in the late 90's when Java was "the next big thing" I really thought it would be.  I was amazed at what a wonderful language it was (is).  While at News Interactive we wrote some internal apps in it, but were unable to find a way to integrate it into the web sites, since Java applets were just not what the users wanted to deal with.  With that experience, and being fortunate enough to attend the www7 conference in Brisbane, Australia in 1998 I thought that Java would eventually adapt itself enough to be useful in the web.  From what Developers vs Designers pdf talks about, I think the future is once again rosy.&lt;br /&gt;&lt;br /&gt;Still.. love PHP now!&lt;br /&gt;&lt;br /&gt;I loved the &lt;a href="http://www.mikehillyer.com/wp-content/uploads/2008/07/oscon_2008.pdf" target="_blank"&gt;How to be Normal&lt;/a&gt; pdf, simply because it explains in a simple, understandable and concise way what I've been trying to show people who _don't_ choose to normalize their database structure since the start! Over the past week I've been debating how best to cover this in the book I've been writing, and I think (without so much of the technical aspects) this will help me get my thoughts together .&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/343802044301005445-6686639736113267787?l=writingwebapps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://writingwebapps.blogspot.com/feeds/6686639736113267787/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=343802044301005445&amp;postID=6686639736113267787' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/343802044301005445/posts/default/6686639736113267787'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/343802044301005445/posts/default/6686639736113267787'/><link rel='alternate' type='text/html' href='http://writingwebapps.blogspot.com/2008/08/100-open-source-presentations.html' title='100 Open Source Presentations...'/><author><name>Jeni</name><uri>http://www.blogger.com/profile/10576917823469615986</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02935982958853200986'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-343802044301005445.post-8079258220553233573</id><published>2008-08-05T09:30:00.000-07:00</published><updated>2008-08-05T09:38:24.465-07:00</updated><title type='text'>Friday deadlines</title><content type='html'>I am always astonished to hear a deadline has come down from on high, and it's been set to a "Friday".  At first I thought perhaps I was some sort of super genius (well that's still possible) but wouldn't that be the absolute worst day of the week for a launch??&lt;br /&gt;&lt;br /&gt;Reasons why Friday's are bad launch days (for web sites, and pretty much anything):&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Everyone has had a long week, and are exhausted at the end of Friday, and all want to go home and rest.  People make mistakes when they are tired, and tend not to work as efficiently when they are thinking about all the wonderful plans they have for their weekend, none of which include being at work.&lt;/li&gt;&lt;li&gt;What happens if something goes wrong? It either stays broken over the weekend, or the staff have to stay late on Friday plus possibly WORK all weekend.  This messes up your relationship with your users, and your staff, a lose lose situation.&lt;/li&gt;&lt;li&gt;People often take Friday as a vacation day.  There is a chance, some of your staff won't even be there!&lt;/li&gt;&lt;/ul&gt;Recommendations: There are 4 other days of the week! &lt;br /&gt;Personally my favorite go live date is a Tuesday.  You set the deadline for finishing work on the Friday, spend Monday testing/final tweaking, then Tuesday morning you go live.  This gives you all day Tuesday to iron out anything else that you didn't see on Monday, while it's early in the week, your staff is still fresh and not tired, and the chances of them cutting into personal time is extremely minimal.&lt;br /&gt;Sometimes though these dates come from TPTB and you can't set Tuesday as your launch.  Absolutely determined that it is "done" by Friday.  This means you have to squash your timeline, and set the real deadline for Thursday.  Have everything done, completely written and tested, then Friday MORNING go live.  Spend the day ironing out any last minute bugs, and voila, everything is ready to go for a full weekend, and staff can enjoy it as they rightly deserve.&lt;br /&gt;&lt;br /&gt;See how simple this is? It doesn't just work for web site launches either, it is plain out COMMON SENSE people.  Think about it!&lt;br /&gt;&lt;br /&gt;Sadly I know the only people who read this agree with me already *sigh*.  Make a case to your bosses, use all the reasons I've posted and more that you think of!&lt;br /&gt;&lt;br /&gt;BFN&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/343802044301005445-8079258220553233573?l=writingwebapps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://writingwebapps.blogspot.com/feeds/8079258220553233573/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=343802044301005445&amp;postID=8079258220553233573' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/343802044301005445/posts/default/8079258220553233573'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/343802044301005445/posts/default/8079258220553233573'/><link rel='alternate' type='text/html' href='http://writingwebapps.blogspot.com/2008/08/friday-deadlines.html' title='Friday deadlines'/><author><name>Jeni</name><uri>http://www.blogger.com/profile/10576917823469615986</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02935982958853200986'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-343802044301005445.post-5406971970976207560</id><published>2008-07-31T11:03:00.000-07:00</published><updated>2008-07-31T11:04:23.190-07:00</updated><title type='text'>Advertising (How to get people to find your site)</title><content type='html'>&lt;p class="MsoNormal"&gt;There are a couple different ways you can go about this, plain straight out advertising.&lt;span style=""&gt;  &lt;/span&gt;Buying ad space on other sites, using print media, making sure your URL is on every other form of advertising you do for your business.&lt;/p&gt;      &lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;There are less obvious ways to advertise your sites as well.&lt;span style=""&gt;  &lt;/span&gt;Simple things like following forums about topics relevant to your business, and posting there, keeping your URL in your signature.&lt;span style=""&gt;  &lt;/span&gt;While that can be a great way to get known, be very sure that the topics you post about are relevant, or you can generate negative publicity, be banned, or kicked out etc.&lt;span style=""&gt;  &lt;/span&gt;Not really good with the web community, they tend to not let people who abuse their realm kindly.&lt;/p&gt;      &lt;p class="MsoNormal"&gt;Start a blog! Make sure again, that it’s interesting and relevant.&lt;span style=""&gt;  &lt;/span&gt;Don’t start a blog about your cat, and expect people to buy your refrigeration units.&lt;/p&gt;   &lt;p class="MsoNormal"&gt;Blogs are best updated daily, or more often.&lt;span style=""&gt;  &lt;/span&gt;If not people forget to come visit!&lt;span style=""&gt;  &lt;/span&gt;You can also use the blog as a way to network with other businesses that are complimentary to yours, friends and family.&lt;span style=""&gt;  &lt;/span&gt;I’ve found that people read/visit blogs most often when they contain images.&lt;span style=""&gt;  &lt;/span&gt;If you can draw a diagram of something, scan it, do it in Photoshop, or take a picture of a product, people will come back for more.&lt;/p&gt;   &lt;p class="MsoNormal"&gt;If you are using a blog to create awareness of your company, I suggest forgoing the quick and easy “ad banners”.&lt;span style=""&gt;  &lt;/span&gt;Although people are used to seeing them, it can confuse the message.&lt;span style=""&gt;  &lt;/span&gt;Instead fill the extra column with links to relevant sites, polls, trivia etc.&lt;span style=""&gt;  &lt;/span&gt;Something to engage the user, without sending them away.&lt;/p&gt;   &lt;p class="MsoNormal"&gt;&lt;o:p&gt;(Apologies for editing/typos etc, I haven't been through to edit anything before I post it.  Wanted to throw up as many ideas as I have, when I have them, for final edit later as the book comes together) &lt;/o:p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/343802044301005445-5406971970976207560?l=writingwebapps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://writingwebapps.blogspot.com/feeds/5406971970976207560/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=343802044301005445&amp;postID=5406971970976207560' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/343802044301005445/posts/default/5406971970976207560'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/343802044301005445/posts/default/5406971970976207560'/><link rel='alternate' type='text/html' href='http://writingwebapps.blogspot.com/2008/07/advertising-how-to-get-people-to-find.html' title='Advertising (How to get people to find your site)'/><author><name>Jeni</name><uri>http://www.blogger.com/profile/10576917823469615986</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02935982958853200986'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-343802044301005445.post-2784101876010894434</id><published>2008-07-23T14:20:00.001-07:00</published><updated>2008-07-23T15:03:20.065-07:00</updated><title type='text'>Frustrated with the state of things..</title><content type='html'>I decided to start writing a book!  Hopefully I'll finish it one day.&lt;br /&gt;&lt;br /&gt;Watching what other people write as web applications has started to really irritate me.  I can't understand what's so hard about the basic principles.  Making an application easy for both the end users, and the people who manage the content (assuming that the content changes).  Writing a content manager which shows the results of a table with the label of each column before every record?  Seriously unreadable stuff!&lt;br /&gt;Then for laying out the content of a selected record, doing it horizontally across the page instead of down the page.&lt;br /&gt;&lt;br /&gt;These people have jobs, and make good money writing these completely unusable systems.  I'm the last person to have design experience.  I can't design my way out of a paper bag, but I have learned what users like.  They like larger fonts, easy to read, plain layouts and fewer pages.  For this I'm only referring to content manager interface design, not the front end user interface.&lt;br /&gt;&lt;br /&gt;Basically the book will cover the following:&lt;br /&gt;- Finding out reasons why the web site will exist (Sales, Marketing etc)&lt;br /&gt;- Domain name choice (very important!)&lt;br /&gt;- Basic hosting&lt;br /&gt;- For shop sites, how the transaction will be processed&lt;br /&gt;- For marketing sites, best way to get the message across&lt;br /&gt;- Writing an easy to use, content manager, or using a framework or ready made CMS&lt;br /&gt;- Simple rules for Database Design&lt;br /&gt;- Design considerations (I won't actually write this part...)&lt;br /&gt;- Site architecture&lt;br /&gt;- Advertising (On the site.. if you must)&lt;br /&gt;- Advertising (How to get people to find your site)&lt;br /&gt;- Simple analytics (Setting goals for what you want from your site)&lt;br /&gt;&lt;br /&gt;I'd like to write a whole extra part which focuses on email marketing, but it's possible that should be a sequel.&lt;br /&gt;&lt;br /&gt;In the meantime, I need to get started on my introduction!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Introduction&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;With a history of over 10 years writing web site and applications, and watching while others struggle with what feels simple to me, I decided to write it all down.&lt;br /&gt;My goal with this book is to make something that anyone with a little know how, and enthusiasm can put together a simple web site that works.  Easy to use for both end users, and the people who manage what goes on the site itself.&lt;br /&gt;I will spend more time talking about interface design than anything else, because I feel this is often overlooked when people create websites.  Look and feel are very important, but without an easy to use intuitive interface that is all for naught.  The focus is to get users to come to your site, and once they are there, enjoy their experience enough to come back.  It's possibly you won't complete your goal (sell them something, encourage them to join in marketing campaigns) the first time they visit.  If you make the site compelling enough, they can return, and on that visit you have another chance to capture their attention. &lt;br /&gt;Too often I find myself surfing the web, looking for something in particular, only to find I'm rejected by a site.  Either it's too hard for me to find what I want to buy/research, or the barrier of entry is too big.&lt;br /&gt;As a user, people get tired of entering their credit cards and login details to tons of different sites.  There are alternatives! Some of them better than others, but I'll describe them all, and you can choose the best option for you.&lt;br /&gt;&lt;br /&gt;I'm excited to share with you so many details about making a web site that will make it great!  What I won't do is describe the exact code to write.  Everyone has their own style, and comfort zones, plus when talking about custom CM's, amazon, paypal etc, I'll include the examples the come with the software, but won't go into detail about syntax.  There is some assumption that you want to write your web site using open source software.  If this is not the case, there is still a lot of valuable information about architecture, interface design and usability that you can use to make web sites correctly.&lt;br /&gt;&lt;br /&gt;So who is this person telling you all about how to write a web site right? Hi I'm Jeni.  I started writing web sites back in 1996, but have experience writing in other programming languages before that.  My first real project writing for users was creating a MUD (Multi User Dimension).  Basically it's a text based adventure game.  Writing the game involved me in the entire SDLC as well as dealing with users comments and complaints on a daily basis.  Definitely it was a lot of fun, but I could see that there were ways the interface was failing for the users.&lt;br /&gt;THEN frames were added to the HTML DTD, and my life changed forever!&lt;br /&gt;&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;I wrote a ton more, but I switched to using Open Office, as that way if Blogspot decides to not play nice I'll still have a copy.  More on it tomorrow! Must write 1,000 words a day.&lt;br /&gt;&lt;br /&gt;BFN&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/343802044301005445-2784101876010894434?l=writingwebapps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://writingwebapps.blogspot.com/feeds/2784101876010894434/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=343802044301005445&amp;postID=2784101876010894434' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/343802044301005445/posts/default/2784101876010894434'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/343802044301005445/posts/default/2784101876010894434'/><link rel='alternate' type='text/html' href='http://writingwebapps.blogspot.com/2008/07/frustrated-with-state-of-things.html' title='Frustrated with the state of things..'/><author><name>Jeni</name><uri>http://www.blogger.com/profile/10576917823469615986</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02935982958853200986'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-343802044301005445.post-3457825086900479902</id><published>2008-07-01T14:57:00.001-07:00</published><updated>2008-07-01T14:58:07.785-07:00</updated><title type='text'>Really bad</title><content type='html'>I've been really bad about keeping my blogs up to date.  I think it's mostly because I know no one reads them :)&lt;br /&gt;&lt;br /&gt;Anyhow, nothing fun going on lately.. Pearloo is in closer Alpha.. when I say Alpha, I mean.. really.&lt;br /&gt;&lt;br /&gt;When I write some neat code I'll post it.&lt;br /&gt;&lt;br /&gt;BFN&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/343802044301005445-3457825086900479902?l=writingwebapps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://writingwebapps.blogspot.com/feeds/3457825086900479902/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=343802044301005445&amp;postID=3457825086900479902' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/343802044301005445/posts/default/3457825086900479902'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/343802044301005445/posts/default/3457825086900479902'/><link rel='alternate' type='text/html' href='http://writingwebapps.blogspot.com/2008/07/really-bad.html' title='Really bad'/><author><name>Jeni</name><uri>http://www.blogger.com/profile/10576917823469615986</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02935982958853200986'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-343802044301005445.post-6548324255226873762</id><published>2008-06-06T10:05:00.001-07:00</published><updated>2008-06-06T10:09:25.164-07:00</updated><title type='text'>Neat new things on Pearloo</title><content type='html'>My memory isn't what it used to be, and I'm too lazy to go through old posts to see, but I'll write it like it's new news to you.&lt;br /&gt;Working on a side project called "Pearloo".  It's location based social networking.  I made that up! Getting tired of explaining what it is in twenty sentences.&lt;br /&gt;&lt;br /&gt;I've been doing ajax on my ajax under my ajax, with my ajax.  It's getting a bit of a rats nest of includes.  I think I'm going to consolidate all my ajax JS files to save some pain and suffering, and think up a decent naming convention for my span results, and for the functions themselves.&lt;br /&gt;&lt;br /&gt;Now really only the 'add location' page is kaputt.  By that I mean.. I can't make heads or tails of the javascript in it, but it works! Which I guess is the good part, if only I could understand completely WHY it works.&lt;br /&gt;&lt;br /&gt;Picked up a new book on C++, so going to have a bash at it again, this time doing some command line style game programming.  Looking forward to getting my head around it, as I finish the last Algebra book I studied a while back.&lt;br /&gt;&lt;br /&gt;Maybe I should get a book on Calculus next? I mean.. I already know it, but I want to practice it so I don't lose it (any more than I already have that is).&lt;br /&gt;&lt;br /&gt;BFN&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/343802044301005445-6548324255226873762?l=writingwebapps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://writingwebapps.blogspot.com/feeds/6548324255226873762/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=343802044301005445&amp;postID=6548324255226873762' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/343802044301005445/posts/default/6548324255226873762'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/343802044301005445/posts/default/6548324255226873762'/><link rel='alternate' type='text/html' href='http://writingwebapps.blogspot.com/2008/06/neat-new-things-on-pearloo.html' title='Neat new things on Pearloo'/><author><name>Jeni</name><uri>http://www.blogger.com/profile/10576917823469615986</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02935982958853200986'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-343802044301005445.post-6367145906924248607</id><published>2008-05-22T16:37:00.000-07:00</published><updated>2008-05-22T17:55:45.958-07:00</updated><title type='text'>I &lt;3 Oracle</title><content type='html'>Lies!!&lt;br /&gt;&lt;br /&gt;For my own future reference, to get the last inserted ID (being created by the trigger from a sequence because auto increment is non existant) simply do this:&lt;br /&gt;&lt;br /&gt;SELECT schema.sequence_name.currval as the_id FROM dual&lt;br /&gt;&lt;br /&gt;Yep.. simple eh?  I couldn't find that anyplace online, so I'll try and include some descriptive keywords I searched for like last inserted ID, auto_increment, last_number, OK I think that's enough.&lt;br /&gt;&lt;br /&gt;Tschüss!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/343802044301005445-6367145906924248607?l=writingwebapps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://writingwebapps.blogspot.com/feeds/6367145906924248607/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=343802044301005445&amp;postID=6367145906924248607' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/343802044301005445/posts/default/6367145906924248607'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/343802044301005445/posts/default/6367145906924248607'/><link rel='alternate' type='text/html' href='http://writingwebapps.blogspot.com/2008/05/i-3-oracle.html' title='I &lt;3 Oracle'/><author><name>Jeni</name><uri>http://www.blogger.com/profile/10576917823469615986</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02935982958853200986'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-343802044301005445.post-3457711659638915984</id><published>2008-05-15T16:22:00.000-07:00</published><updated>2008-05-15T16:26:24.627-07:00</updated><title type='text'>Why would an upgrade change all the settings?</title><content type='html'>Our web servers for work are at a managed host.  That means we pay them tons of money, and they pretend to be sys admins, because we don't have one (cept me.. but I'm definitely not the right person for that job, being a programmer and all).&lt;br /&gt;&lt;br /&gt;A couple months ago, we decided that on a single machine, outside our regular development/staging/production environment to setup upgrade to PHP5, so I could test all teh sites, fix any problems, before we go ahead and upgrade all the machines.&lt;br /&gt;&lt;br /&gt;I've been so busy since then, only yesterday did I get a chance to glance at the upgraded server.  Turns out.. they installed PHP5, and went ahead and disabled mysql, oracle, pear, gd and well.. everything else.&lt;br /&gt;&lt;br /&gt;How would I ever possibly be able to use this as a web server running data driven sites?? WTF man.. when I say "upgrade" I usually mean "Just like it is, except the newer version".  Don't you?&lt;br /&gt;&lt;br /&gt;Oh well.. I've sent off the email to ask them to actually configure it in the same way as all the other servers, lets see how long this takes before I crack and do it myself.  Trying to relinquish control is difficult when people are so completely incompetant at their own jobs (and me at spelling).&lt;br /&gt;&lt;br /&gt;Argh!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/343802044301005445-3457711659638915984?l=writingwebapps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://writingwebapps.blogspot.com/feeds/3457711659638915984/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=343802044301005445&amp;postID=3457711659638915984' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/343802044301005445/posts/default/3457711659638915984'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/343802044301005445/posts/default/3457711659638915984'/><link rel='alternate' type='text/html' href='http://writingwebapps.blogspot.com/2008/05/why-would-upgrade-change-all-settings.html' title='Why would an upgrade change all the settings?'/><author><name>Jeni</name><uri>http://www.blogger.com/profile/10576917823469615986</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02935982958853200986'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-343802044301005445.post-8937293679427306121</id><published>2008-05-13T17:24:00.000-07:00</published><updated>2008-05-13T17:38:18.615-07:00</updated><title type='text'>Live Search - auto complete off!</title><content type='html'>Just for fun, I decided to write a live search version of the main movie DB.&lt;br /&gt;&lt;br /&gt;It was much quicker/easier than I thought.. since it's basically just ajax!&lt;br /&gt;&lt;br /&gt;I call the ajax-&gt;php bit "onkeyup".&lt;br /&gt;&lt;br /&gt;Do the DB query, and write it to a list which appears in a div under the form field.&lt;br /&gt;&lt;br /&gt;I think it should be harder!!!&lt;br /&gt;&lt;br /&gt;Oh and.. autocomplete="off" in the form tag turns off the browser autocomplete.&lt;br /&gt;&lt;br /&gt;I'll post snippets another time, although it's pretty darn obvious eh?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/343802044301005445-8937293679427306121?l=writingwebapps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://writingwebapps.blogspot.com/feeds/8937293679427306121/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=343802044301005445&amp;postID=8937293679427306121' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/343802044301005445/posts/default/8937293679427306121'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/343802044301005445/posts/default/8937293679427306121'/><link rel='alternate' type='text/html' href='http://writingwebapps.blogspot.com/2008/05/live-search-auto-complete-off.html' title='Live Search - auto complete off!'/><author><name>Jeni</name><uri>http://www.blogger.com/profile/10576917823469615986</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02935982958853200986'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-343802044301005445.post-6834678400270195584</id><published>2008-04-29T13:56:00.000-07:00</published><updated>2008-04-29T13:59:07.385-07:00</updated><title type='text'>New project, zapping all my time</title><content type='html'>Although I'd been pretty quiet work wise for the past few weeks, it's not picked up.  Next Wednesday we go live with a new site.&lt;br /&gt;Luckily the site is really only one page.  That's not _exactly_ true, but sort of.  It's for the classic (1980's-1990's) American Gladiators.  Cool stuff.. cept nothing to do programming wise.&lt;br /&gt;I have created a DB table for the video's, game's, downloads and cast.  Aside from that there's no other data!&lt;br /&gt;&lt;br /&gt;Took about 20 mins to create the admin site, and about 20 more to customize it.  Waiting on the front end to start integration.&lt;br /&gt;&lt;br /&gt;I just can't think of anything else moderately interesting to post.  Tonight I'll be working on my side project, to try and get it out the door faster.&lt;br /&gt;&lt;br /&gt;Cheers&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/343802044301005445-6834678400270195584?l=writingwebapps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://writingwebapps.blogspot.com/feeds/6834678400270195584/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=343802044301005445&amp;postID=6834678400270195584' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/343802044301005445/posts/default/6834678400270195584'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/343802044301005445/posts/default/6834678400270195584'/><link rel='alternate' type='text/html' href='http://writingwebapps.blogspot.com/2008/04/new-project-zapping-all-my-time.html' title='New project, zapping all my time'/><author><name>Jeni</name><uri>http://www.blogger.com/profile/10576917823469615986</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02935982958853200986'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-343802044301005445.post-1351832655733301347</id><published>2008-04-17T11:20:00.000-07:00</published><updated>2008-04-17T11:30:45.457-07:00</updated><title type='text'>Front end fun - LiveValidation &amp; mooSwitch</title><content type='html'>Being a back end developer means that most of the time I don't get to do anything fun on the front end (well.. that's relative since I don't really like doing front end stuff).  Recently I've been spending a lot more time using AJAX for pages that I don't want to reload. Initially I wasn't liking it one little bit, but now I've come to not mind it so much.  Especially since I really don't have to write much in the way of Javascript, except to use it to capture a click and send the data to PHP.&lt;br /&gt;&lt;br /&gt;I found two very neat new add ons to use in my forms.  One of the I was completely blown away by how simple it is to implement: &lt;a href="http://www.livevalidation.com/" target="_blank"&gt;Live Validation&lt;/a&gt;&lt;br /&gt;Their website is very straight forward, and using the functions is incredibly easy.  All the examples work, and show you specifically what to add to your forms to use.  Right now I'm using the email validation, and the password matching validation.  I will continue to do server side form validation, but this is going to make my forms so much more user friendly!&lt;br /&gt;&lt;br /&gt;The other is called &lt;a href="http://www.reaktivo.com/mt/mooswitch/" target="_blank"&gt;mooSwitch&lt;/a&gt;.  In a new form design, the designer wanted the radio buttons to appear as a small toggle/slider.  I googled what I was looking for, and this one came up.  Within a few minutes, I had my radio buttons being sliders.  It does require mootools, but the front end developer is using that already, so no worries.&lt;br /&gt;&lt;br /&gt;I've been doing a ton of development recently, but I'll break up my posts over a few days to spread the topics.&lt;br /&gt;&lt;br /&gt;Cheers!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/343802044301005445-1351832655733301347?l=writingwebapps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://writingwebapps.blogspot.com/feeds/1351832655733301347/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=343802044301005445&amp;postID=1351832655733301347' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/343802044301005445/posts/default/1351832655733301347'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/343802044301005445/posts/default/1351832655733301347'/><link rel='alternate' type='text/html' href='http://writingwebapps.blogspot.com/2008/04/front-end-fun-livevalidation-mooswitch.html' title='Front end fun - LiveValidation &amp; mooSwitch'/><author><name>Jeni</name><uri>http://www.blogger.com/profile/10576917823469615986</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02935982958853200986'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-343802044301005445.post-8017628538115086287</id><published>2008-04-15T12:59:00.000-07:00</published><updated>2008-04-15T14:04:58.594-07:00</updated><title type='text'>RSS feed links as error messages</title><content type='html'>Things have been pretty quiet here of late work wise, so I decided that I was bored with writing error messages for our internal tools.  The person who uses the tools 99% of the time had expressed the opinion that error messages such as: There was an error, try again later; are boring, and she prefers the ones I write when I'm mad: It didn't work.  BUMMER!.&lt;br /&gt;&lt;br /&gt;With this in mind, and knowing her love for a certain blog that talks about celebrities in an unflattering light.. I thought wouldn't it be fun to incorporate links to the blog, with headlines, in the messages.  This will aid me in two ways.  Firstly she will have something to do while I fix the error.  Secondly it will make her like me more, thereby improving communication between our parts of the sites.  OK.. maybe the second one isn't the real reason..&lt;br /&gt;&lt;br /&gt;I searched for a while trying to find a super simple way of grabbing what I needed.  Honestly I don't remember it being this hard last time, but I settled on an example, and some tools from &lt;a href="http://www.bobulous.org.uk/" target="_blank"&gt;Bobulous&lt;/a&gt;.&lt;br /&gt;I'm using the &lt;a href="http://www.bobulous.org/coding/php-xml-regex.html" target="_blank"&gt;xml regex functions from Bobulous&lt;/a&gt;, as well as the make_safe function (good idea, and similar to one I already have).&lt;br /&gt;The resultant code looks like this:&lt;br /&gt;&lt;br /&gt;$xml = file_get_contents('http://dlisted.com/rss.xml');&lt;br /&gt;$news_items = element_set('item', $xml);&lt;br /&gt;foreach($news_items as $item) {&lt;br /&gt;$title = value_in('title', $item);&lt;br /&gt;   $url = value_in('link', $item);&lt;br /&gt;   $item_array[] = array(&lt;br /&gt;               'title' =&gt; $title,&lt;br /&gt;    'url' =&gt; $url);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;if (sizeof($item_array) &gt; 0) {&lt;br /&gt;$count = 0;&lt;br /&gt;$html="";&lt;br /&gt;   foreach ($item_array as $item) {&lt;br /&gt;//I removed the link from the next line.. blogger was not pleased&lt;br /&gt;    $html .=make_safe($item['title']);&lt;br /&gt;         $html .= ', ';&lt;br /&gt;    // Limit the output to three news items.&lt;br /&gt;           if (++$count == 3) {&lt;br /&gt;                   break;&lt;br /&gt;    }&lt;br /&gt;   }&lt;br /&gt;$html .= '&amp;lt;br&amp;gt;';&lt;br /&gt;   $funniest_error=$html;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Now wherever I want to leave a nice lil title/link for the users, I'll include this page, and put $funniest_error wherever I want the list of 3 links to appear!&lt;br /&gt;&lt;br /&gt;Fun!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/343802044301005445-8017628538115086287?l=writingwebapps.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://writingwebapps.blogspot.com/feeds/8017628538115086287/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=343802044301005445&amp;postID=8017628538115086287' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/343802044301005445/posts/default/8017628538115086287'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/343802044301005445/posts/default/8017628538115086287'/><link rel='alternate' type='text/html' href='http://writingwebapps.blogspot.com/2008/04/rss-feed-links-as-error-messages.html' title='RSS feed links as error messages'/><author><name>Jeni</name><uri>http://www.blogger.com/profile/10576917823469615986</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02935982958853200986'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry></feed>