Updates from February, 2005 Toggle Comment Threads | Keyboard Shortcuts

  • Ken Snyder 5:11 on Saturday, 26 February 2005 Permalink | Log in to leave a Comment  

    Professional PHP5 

    This is an awesome book that I would highly recommend. I am the type of person who learns well by considering how things fit into the big picture. Professional PHP5 really does a great job of describing the issues of PHP software design in its most structured forms.

    Professional PHP5 starts with PHP5 Object Orientation Programming (OOP) concepts and moves into the ideas of broad patterns and toolkits. They provide code you can tryout yourself; doing is of course the best way to learn.

    You can build a tool kit with useful collection classes, generic object classes, communication classes, debugging classes, and abstract classes. You can learn the practical and ideal implementations of a Model View Controller pattern and Unit Testing. You can get a feel for SOAP, the finite state machine, and PHP session handling.

    The book also has great tips and examples of project management, system design and planning, quality testing, and deployment.

    It is a really great book for a wide audience, and I’d recommend it for serious PHP programmers.

    View Amazon Summary �

    Professional PHP5
    Author: Edward Lecky-Thompson, Heow Eide-Goodman, Steven D. Nowicki, and Alec Cove
    Publisher: Wrox Publishing
    Published: November 2004
    ISBN: 0764572822
    Pages: 662

  • macnewbold 17:25 on Friday, 25 February 2005 Permalink | Log in to leave a Comment  

    JavaScript: How to use it without abusing it 

    “Javascript is one of very few languages that is used less often than it is abused.” — mac newbold

    A recent discussion on the mailing list (subject: “RE: Javascript form validation [was Re: Posting a form]“) prompted me to post an article about JavaScript, and how to use it appropriately. I’m not a JavaScript expert, and I don’t play one on TV. But I am versed in it and have seen a lot of good and bad things done with it. My main goal in sharing my thoughts on the subject is to help people know when and how JavaScript is the right answer, and make the world a better place. If talking about things like this can open a dialogue, that would be great, and we can get the word out to help stop people from falling into the trap. Newbies especially can benefit by finding out about the problems before they get into bad habits.

    One of my biggest issues with the way people use Javascript is when they use it for validating form input. It is one aspect of the problem of using client side programming for things that can only effectively be done on the server side.

    Because Javascript is run on the clientside, it is not guaranteed in any way to be run. It is insecure. It can be faked, skipped, avoided, disabled, and any number of other undesirable things. Search engines don’t run any of it either, though that doesn’t have much to do with form validation in particular. People can even make a form like yours, but without the javascript, and submit that instead of your form.

    Before I go further, let me say that client side validation (and other client-side functionality) has its place. In many cases, it can make the user experience better by providing faster response than submitting the form to the server, and it can do things that the programmer thinks are helpful, like updating other fields as values are selected or entered. (Another pitfall is the programmer doing things that they think are helpful, without any consideration for the users that find the same thing very unhelpful, and weren’t given a way to disable the behavior, but that’s an article for another day)

    However, because it can be easily bypassed, it is of absolutely no use for guaranteeing that the form submission meets certain criteria. The only place that can be done is on the server side, where the programmer has complete control over the data and the validation performed on it.

    I’ve seen horrific things in this regard. One in particular that makes me cringe is when I saw a site that used Javascript to calculate the amount a credit card would be charged, and the server side blindly accepted whatever the javascript told it, and billed the card that amount, and considered the bill paid in full. Another javascript abuse I saw used a form that did not have a valid action, so the form didn’t have anywhere to submit to, and by means of javascript, validated things and proceeded to (incorrectly) fashion a GET string, then set the page’s location to that string. I’ve seen others that do a pretty good job in the javascript of validating things, but when the page was submitted, did absolutely no validation on the server side. To make matters worse, I saw all three things on the same site, one that I did not write, but which I was hired to debug, repair, and complete. I’ve seen most of those things in plenty of other places too, at least the client side mistakes.

    Another thing to keep in mind is that if your site will not work with javascript disabled, you are closing out a significant portion of your potential users. And I’m not just talking about the wierdos (I say that affectionately) who use Lynx for normal browsing. In the worst case, you’re locking Google, Yahoo, MSN, and the other search engines out of your site. (If that doesn’t matter to you, it probably should.)

    Every site should be functional and usable (at least) without javascript. If it has more bells and whistles with javascript, fine. But it should still work without it.

    A statistic I found recently stated that a significant number (I heard about 10%, but others dispute that, saying that it is 5% or less) of users have javascript completely or partially disabled in their webbrowsers. And no, that isn’t one of the 93.61% of statistics that get made up on the spot.

    I hope this isn’t perceived as a rant, diatribe, or flame.I’m just trying to help people not to make the same mistake that so many people have already made (and in many cases, are still making).

    As my final plea, please don’t depend on javascript for validation. Use it if you like, but back it up with all the same (or better) validation on the server side. It will make you much happier.

    – Mac Newbold

  • wade 9:30 on Saturday, 12 February 2005 Permalink | Log in to leave a Comment  

    Object oriented PHP and object/relational abstraction 

    For our February meeting, Jeff Moss presented on OOP/PHP.

  • wade 6:54 on Saturday, 12 February 2005 Permalink | Log in to leave a Comment  

    Non-shell, chrooted, secure server access 

    It has been several years that I have been looing for an adequate solution to the task of giving a user non-shell, chrooted, secure server access. I finally found that in an small application called scponly. It was simple to install, easy to configure and use, and got the job done beautifully. A script is even provided for setting up accounts, assisting you in configuring all the options. I would recommend this to anyone looking for a similar solution.

  • wade 3:27 on Monday, 7 February 2005 Permalink | Log in to leave a Comment  

    Server purchased, final call for donations 

    The generosity and support that pours out to our group never ceases to amaze me. Once again, in our hour of need, some of the most wonderful and unexpected individuals have stepped up and taken care of us, often even before we realized we needed it.

    We would like to take a moment to report on the progress of our project and to publicly thank everyone that has so graciously contributed. To-date, we have received almost a hundred dollars in donations from our members. I am thrilled to announce that with this a server has been purchased. Installation and configuration is nearly complete and it will be online very shortly. We have been able to acquire hardware that will serve us well for some time. Several offers for donated or subsidized rack space and bandwidth have also been given. The invitation from UVNet has been selected and we will begin calling their data center in Orem our new home within a few days. We have also received much assistance in planning, preparation, and execution of the overall project from local businesses, organization, members, and friends of the group.

    Specifically, we would like to thank the following for their support or donations:

    Adam Olsen, Beau Scott, Brady Mitchell, Computer Admin, LLC, Fluidtiger.com, Gary Thornock, Jared Smith, Jonathan Duncan, John Anderson, Ken Williams, Lonnie Olson, Mac Newbold, Ray Hunter, Twin Peaks Technology, LLC, UVNET, Inc., Webpipe.net, Inc., XMission.

    We would also like to announce that UVNet has just been selected as an additional official mirror for php.net! We are thrilled about this new formed friendship, excited about their interest in our group and PHP, and look forward to working with them in the future. We encourage everyone to recommend them to clients and to look to them for any collocation or ISP needs that you may have.

    In conclusion, we thank everyone for the outpouring of support and for the wonderful community that we have. Please take a moment to send in both your donation (if you have not yet and would still like to do so) and your comments on ideas you have for the group or ways in which we can better serve you.

  • wade 23:21 on Friday, 4 February 2005 Permalink | Log in to leave a Comment  

    Miller Business Innovation Center genus breakfast 

    A monthly breakfast, started by Matt Asay, the Director of the Linux Business Office at Novell/SuSE, is being held for anyone that wants to meet other Utah entrepreneurs, or potential investors. These breakfasts draw a wide range of entrepreneurs, from many disciplines, along with potential angle and VC investors. For someone thinking of doing their first, or next, start-up it is a place to meet others doing the same thing- from experienced and successful entrepreneurs to the graphic designers, accountants and sales people that can assist. Matt created this event to get more entrepreneurs in Utah networking with each other.
    Their information follows:

    Join us on Friday, February 4 at 8:00 a.m., for light refreshments and networking. Bring yourself, bring a friend, bring your boss, bring five dollars we’ll provide the rest, no reservation required.

    There are a few changes to the 2005 breakfast series: this year, we’re moving up from the 2nd floor of the Center to the 3rd floor. Also, we’re offering participants a posting board. Bring materials to post including employment opportunities, service provider information, capital resources needed, etc. etc. Creativity is encouraged!

    If you are interested in giving a 2-minute “elevator pitch” to promote your business, please respond to this e-mail with the phrase “Elevator Pitch” in the subject line and include your telephone number so that we may contact you.

    Note to genus breakfast newbies:
    The genus venture breakfasts are intended to bring together the people that make up a successful startup, from entrepreneur to VC to recruiter to accountant to government official, and anyone else I may be leaving out. You were likely referred by someone already in attendance, or you attended another event sponsored by the hosts at Miller Business Innovation Center. Unlike other events staged by UITA, Mountain West Venture Group, T2M, etc. (all of which are great, and deserve your attention), we’re focusing on making these gatherings informal, speaker-less, and inclusive. The purpose is to create a regular forum for people in Utah’s venture community to meet, swap ideas, and hopefully make a billion dollars. No Ponzi schemes. No Amway. Just a breeding ground for good ideas, good connections, and good business.

    Directions to Larry H. Miller Business Innovation Center:
    9690 South 300 West, Sandy

    Driving from The North:
    Take I-15 South to Exit 298 (9000 South). Exit right (west) onto 9000 South and proceed to 450 west (1st light). Turn left (south), go to 9120 South; turn left (east), go to 300 West (frontage road); turn right (south). Proceed 6 blocks south along frontage road. We’re in the Corporate Partnership Center (look for the PacifiCorp sign on the building).

    Driving from the South:
    Take I-15 North to Exit 297 (10600 South) after exiting, turn right (east) and proceed to State Street. Turn left (north), go to light at 10000 South (Centennial Way) in Sandy. Turn left (west), go under I-15; turn right (north) on 300 West (frontage road). Proceed 2 blocks north along frontage road. We’re in the Corporate Partnership Center (look for the PacifiCorp sign on the building).

compose new post
next post/next comment
previous post/previous comment
show/hide comments
go to top
go to login
show/hide help
shift + esc