Web-Development

I might already have something similar to this but this deserves its own article. Why? Well try to search the web for a PHP/MySQL solution which suggests on how to count the hours between two times on the same date, when one of the hours is on the other side of the midnight hour...

Now bear in mind the below is in European date format

Consider the following:
Date       Customer        Time From       Time To          Hours
---------- --------------- --------------- ---------------- --------------
04/03/2011 Tweedle Dee     10:00           12:00            2.00
08/03/2011 Tweedle Dum     23:30           00:30            -23.00            
Note the last row is obviously incorrect. This is because the script is not changing the date at the stroke of midnight. Take the last row as an example, the equation that's happening is:
$thisDateSQL=date("Y-m-d", strtotime($sub_row['DateSession']));

$this_time_from1 = date("H:i", strtotime($sub_row['TimeFromSession']));
$this_time_to1 = date("H:i", strtotime($sub_row['TimeToSession']));

$this_time_from_sql=$thisDateSQL." ".$this_time_from1.":00";
$this_time_to_sql=$thisDateSQL." ".$this_time_to1.":00";

$sum_hours = number_format(((strtotime($this_time_from_sql)-strtotime($this_time_from_sql))/60)/60, 2);

// Using the examples above this is doing the following:
2011-03-04 12:00:00 - 2011-03-04 10:00:00 = 2.00
2011-03-08 00:30:00 - 2011-03-08 23:30:00 = -23.00
This is great for everything during that date as long as the "To Date" never goes past midnight into the next day... But what system doesn't do this (no Microsoft jokes please)?

To be honest I saw this on some Joomlaworks Blog who appropriately title it "A must see for professional webdesigners". If you're a developer relying on clients for your income, then at least watch some of this.

March 2011 San Francisco, CreativeMornings (creativemornings.com) was Mike Monteiro, Design Director, and co-founder of Mule Design Studio (muledesign.com). This event took place on March 25, 2011 and was sponsored by Happy Cog and Typekit (who also hosted the event at their office in the Mission).

2011/03 Mike Monteiro | F*ck You. Pay Me. from SanFrancisco/CreativeMornings on Vimeo.


So I'm starting to get the impression that I no longer tender for brand new projects competing with time and cost in order to win the bids. Recently, more and more people have been asking if I can take over a project that has been abandoned by its developer.

I've started writing this article because I find myself forgetting to ask something that could have saved an infinite number of man-hours (I exaggerate a little); but seriously, I needed a checklist that works for me.


Most Difficult?
My hardest project was (still is) one created by a PhD student who graduated and left the institution. It was a custom-built site written from scratch, and it's purpose was to manage Staff and Students within the Additional Learning Needs group. These are staff who take lecture notes for people of all disabilities and assist the students for the duration of their course. It had to allow for synchronizing with the official student record system and timetabling system (done via file upload). It included it's own timesheet / session management / invoicing system.

The website was held on a virtual host running PHP and MySQL. There was no documentation, logs, notes, and any code comments were in Hungarian (later found out it was slang or a dialect not understood by most Hungarians). Fellow students and system administrators could not accurately describe what the system was for and what it does. The developer had created the system to only last during one academic year, and the system itself only just about understood academic years (required tweaking twice a year). Then there were the error logs... some 20000 errors per use of a feature over 4 seconds. Do some developers never check the errors log?

By the time, I started maintaining the project, a revamp had been agreed with another web team. This has been delayed somewhat and still after 2 years there is no new site (blamed on the customer for not knowing what their application did in the first place... tut tut. How long have you been a developer? And this is new?).

I don't usually write an article on another site but I came across it and rather than just add it to my weblinks section, I thought I'd give it a little more credit.

"Motive is a web design and development agency based in Wellington, New Zealand providing consultation, website design, development and usability evaluation services."

Their website has initiated a Web Definition Glossary (there are others but this one's got that "kiwi" approach)

Source: http://en.wikipedia.org/wiki/Comparison_of_web_browsers

 

Year Web Browsers Internet
Users (in millions)
1991 WorldWideWeb  
1992 ViolaWWW, Erwise, MidasWWW, MacWWW  
1993 Mosaic, Cello, Lynx 2.0, Arena, AMosaic 1.0  
1994 IBM WebExplorer, Netscape Navigator, SlipKnot 1.0, MacWeb, IBrowse, Argo, Minuet  
1995 Internet Explorer 1, Netscape Navigator 2.0, OmniWeb, UdiWWW, WebRouser, Internet Explorer 2, Grail 16
1996 Arachne 1.0, Internet Explorer 3.0, Netscape Navigator 3.0, Opera 2.0, PowerBrowser 1.5, Cyberdog, Amaya 0.9, AWeb, Voyager 36
1997 Internet Explorer 4.0, Netscape Navigator 4.0, Netscape Communicator 4.0, Opera 3.0, Amaya 1.0 70
1998 Internet Explorer 5.0 Beta 1, iCab, Mozilla 147
1999 Amaya 2.0, Mozilla M3, Internet Explorer 5.0 248
2000 Konqueror, Netscape 6, Opera 4, Opera 5, K-Meleon 0.2, Amaya 3.0, Amaya 4.0 361
2001 Internet Explorer 6, Galeon 1.0, Opera 6, Amaya 5.0 513
2002 Netscape 7, Mozilla 1.0, Phoenix 0.1, Links 2.0, Amaya 6.0, Amaya 7.0 587
2003 Opera 7, Safari 1.0, Epiphany 1.0, Amaya 8.0 719
2004 Firefox 1.0, Netscape Browser, OmniWeb 5.0 817
2005 Safari 2.0, Netscape Browser 8.0, Opera 8., Epiphany1.8, Amaya 9.0, AOL Explorer1.0, Maxthon 1.0, Shiira 1.0 1018
2006 SeaMonkey 1.0, K-Meleon 1.0, Galeon 2.0, Camino 1.0, Firefox 2.0, Avant 11, iCab 3, Opera 9, Internet Explorer 7, Sputnik 1093
2007 Maxthon 2.0, Netscape Navigator 9, NetSurf 1.0, Flock 1.0, Safari 3.0, Conkeror 1262
2008 Konqueror 4, Safari 3.1, Opera 9.5, Firefox 3, Amaya 10.0, Flock 2, Chrome 1, Amaya 11.0 1565
2009 Internet Explorer 8, Chrome 2, Safari 4, Opera 10, Chrome 3, SeaMonkey 2, Camino 2, Firefox 3.5 1734
2010 Firefox 3.6, Chrome 4, Opera 10.50  


  1. The concept - typically drawings, words, models, code and basic prototypes that describe the nature, objectives and features of the website.
  2. Design document - a detailed plan of the website’s features and how it will display are generated from the concept and presented to potential publishers.
  3. Technology demo – a prototype that demonstrates the website’s technology, illustrating for example the presentation and registration services. This is produced for review so as to decide if concept is marketable.
  4. Browsable prototype or Vertical slice – normally a few sections of the website are produced with many of the website features in and working, this allows reviewers to get a feel for the site, the level of usability, the saleability of the product and technical risk involved in fully developing the website.
  5. ALPHA/BETA – these are the next major milestones that represent near completed websites, these are subject to extensive testing, compatibility and QA by both the developer and the publisher.
  6. Master – a completed, bug-free website approved by the customer and available online.

What?
A quick reminder on basic regular expressions.


Match Any Character — Dot
The dot operator '.' matches any single character in the current character set. For example, to find the sequence--'a', followed by any character, followed by 'c'--use the expression:
a.c
This expression matches all of the following sequences:
abc
adc
a1c
a&c
The expression does not match:
abb

Credit where Credit is Due:


Feel free to copy, redistribute and share this information. All that we ask is that you attribute credit and possibly even a link back to this website as it really helps in our search engine rankings.

Disclaimer: Please note that the information provided on this website is intended for informational purposes only and does not represent a warranty. The opinions expressed are those of the author only. We recommend testing any solutions in a development environment before implementing them in production. The articles are based on our good faith efforts and were current at the time of writing, reflecting our practical experience in a commercial setting.

Thank you for visiting and, as always, we hope this website was of some use to you!

Kind Regards,

Joel Lipman
www.joellipman.com

Please publish modules in offcanvas position.