Updates from wade RSS Toggle Comment Threads | Keyboard Shortcuts

  • wade 17:47 on Wednesday, 30 December 2009 Permalink | Log in to leave a Comment  

    Display 12, read/write 24 TimePicker jQuery plugin 

    Jason Huck’s jQuery TimePicker plugin didn’t work for me as-is since it reads and writes in 12-hour format. While most people (strangely) prefer 12 hour format for interacting with, database time fields are 24 hour. I could have converted the format with scripting on the back-end but decided I would prefer to have the picker display 12-hour but read/write 24-hour. So, I took Jason’s great design and rewrote it to suite my needs.

    Other changes I made were adding a colon between the hour and the minute select lists, adding a space between the minute and the am/pm list, and changed the hours and minutes arrays such that the hours no longer have leading zeros and the minutes are every five instead of every fifteen.

    I have intergrated tomsalfield (issue 3) and jasonalanharris’ (issue 5) changes as well.

    My version of the script can be found in the issue tracker on the Google Code project for the plugin. Here’s a screenshot of it in use next to a date field:

     
  • wade 13:53 on Monday, 14 December 2009 Permalink | Log in to leave a Comment  

    40% off PHP titles through Wiley Publishing 

    Spreading a little Christmas cheer, Wiley Publishing has offered our group 40% on the following PHP titles. Please use promo code PHPH1. Offer valid from December 15th, 2009-January 31st, 2010. (More …)

     
    • clintonb11 11:33 on Saturday, 26 December 2009 Permalink | Log in to Reply

      Thanks Wade, you are the man. I have been a member here at uphpu for a while, but I haven’t been an active member. I always have watched job postings come through, and when the day came that I decided to go corporate, I applied to one of the job postings and got the job. I want to become more active in UPHPU as a way of saying thank you. Let me know if there is anything I can help with.

  • wade 16:34 on Thursday, 15 October 2009 Permalink | Log in to leave a Comment  

    Post to group through Google Wave 

    I have created a Google Group for us so that you may “wave” to everyone in the group via Google Wave. Unfortunately, we didn’t get a pretty URL or email address because they were already used and Google has a lame rule that they can only be used once, even if the previous instance has been deleted (which was by me, which makes it even more lame).

    Visit the Google Group home page for more information. Join the group and then add the address “utahphp@googlegroups.com” to your Google Contacts list. You can then add the group address to new waves and everyone will have access to it.

    Note that Wave will bark that that user does not have a valid Wave account when you try to add it. Ignore that and simply strike the return key and the address will be added to your contact list.

     
  • wade 10:57 on Thursday, 15 October 2009 Permalink | Log in to leave a Comment  

    High Availability Figlet applications using Goto 

    For our October meeting, we’ll be having an open forum on general questions and a small presentation on High Availability Figlet applications using Goto.

     
  • wade 13:42 on Tuesday, 25 August 2009 Permalink | Log in to leave a Comment  

    Effective caching with PHP + Memcache 

    For our August meeting, Justin Carmony presented on effective caching with PHP and memcache. Scaling your Database or other resources your website needs can be complicated. Why not reduce their load instead? That is where memcached can help. Developed by the creators of LiveJournal, memcached is a light weight application that does one thing extremely well: caching data in memory and retrieving it very fast.

    Carmony has worked in web development professionally for the last five years. With emphasis on PHP, .NET, and Web Services, he has worked on projects ranging from simple websites to complex communications between thousands of remote systems. He currently is working as an independent contractor & private consultant. If you have any questions, comments, or curiosities you can contact him (justin AT justincarmony DOT com) or read about his latest endeavors at his blog.

    View slides from the presentation

     
  • wade 16:47 on Tuesday, 16 June 2009 Permalink | Log in to leave a Comment  

    Fundamentals of PHP 

    For our June meeting, Adam Barrett will present on fundamentals of programming in PHP. PHP is a fast and loose language with many features and options that sometimes are used inappropriately. This short presentation will focus on 40 Best Practices to optimize code, and prepare PHP developers for a faster and better tomorrow.

    Adam Barrett has been developing in PHP for about 10 years. Working for such internet giants as Overstock.com, GrabTakeOut.com, and most recently SOSStaffing.com, Adam has developed a little of everything including blogs, large scale ecommerce sites, intranets, mass email management systems, and PDF generating invoicing systems.

     
  • wade 18:11 on Tuesday, 31 March 2009 Permalink | Log in to leave a Comment  

    Open Source Bridge is a new conference for developers working with open source technologies. It will take place June 17-19 in Portland, OR, with five tracks connecting people across projects, languages and experience to explore how we do our work and why we participate in open source. The conference structure is designed to provide developers with an opportunity to learn from people they might not connect with at other events.

    Open Source Bridge is run entirely by volunteers who believe in the need for an open source conference that focuses on the culture of being an open source citizen, regardless of where in the stack you choose to code. All proceeds from conference registration and sponsorship go directly to the costs of the conference.

    Sessions and events will share in-depth knowledge about using, creating and contributing to open source as citizens of a greater community. You’ll find relevant information whether you write web apps for the cloud, tinker with operating system internals, create hardware, run a startup, or blog about technology. They are still seeking proposals—and just extended the deadline to April 10th—so submit yours before time runs out. Some examples of our proposals so far: Brian Aker on Drizzle, a reboot of MySQL designed “for the cloudâ€?; Linux Kernel hacker Greg K-H about how Linux manages development; Ward Cunningham, inventor of the wiki, about what’s next in collaboration; Amber Case, an anthropologist living in both the physical and virtual worlds, about Cyborg Citizenship.

    In addition to regular conference sessions, they are holding an unconference day for free-form sessions, and host a 24-hour dedicated “hacker lounge� at the top of the Portland Hilton. In addition to hosting the hacker lounge, the Hilton has offered Open Source Bridge attendees steeply discounted room rates, starting at $139/night.

    Visit opensourcebridge.org to learn more about the conference, see our session proposals, and register to attend.

    UPHPU members can get $100 off registration with a registration code obtained by contacting Victor or Wade. They have also given us one free conference pass to raffle off at our meeting on 16 April.

     
  • wade 15:03 on Friday, 16 January 2009 Permalink | Log in to leave a Comment  

    Branching and merging best practices 

    After asking some questions about branching and merging best practices, Levi with the Provo Linix Users Group pointed me to High-level Best Practices in Software Configuration Management by Perforce Software. It is indeed high-level, but contained good information.

     
  • wade 17:25 on Friday, 9 January 2009 Permalink | Log in to leave a Comment  

    Web performance with Steve Souders 

    A friend told me about Steve Souders yesterday. Steve works at Google and is the author of YSlow, the performance analysis extension to Firebug. My friend pointed me to a list of performance “rules” that Steve published and to a talk that he gave (first one on the page) recently at a conference. If you are interested in web performance, this checklist and talk are not to be missed.

    Two of the biggest things that I learned was to not use “@import” to link to style sheets and how to download javascript scripts in parallel.

     
  • wade 10:46 on Saturday, 13 December 2008 Permalink | Log in to leave a Comment  

    zebra striping across rowspans with jQuery 

    On one of my current projects, I am adding alternating shading (“zebra striping”) to rows in a table with javascript. This last week I encountered a scenario where I needed this to work on a table that had some cells that spanned multiple rows.

    My current script could not handle this as it was using jQuery’s :odd selector and I now needed to stripe all of the spanned rows together instead of just every other one. The additional shading that I was applying when hovering over the row was also broken as it too needed to shade all of the spanned rows instead of just the one the mouse was over.

    So, I enhanced my script to work with both scenarios. I hope it can be of use to someone.

    // check for rowspans
    rows = $('.datatable > tbody > tr:first > td:first').attr('rowspan');
    var rows_count = rows * 1;
     
    // if, shade spanned rows; else, shade for every other row
    if(rows_count > 1) {
       // find the row group leader
       function rgl(who) {
          var current = who;
     
          for(i = 0; i < rows_count; i++) {
             if($(current).find('td:first').attr('rowspan') > 1) {
                var rgl = current;
                break;
             }
     
             current = $(current).prev('tr');
          }
     
          return rgl;
       }
     
       // row shading
       for(r = 1; r <= rows_count; r++) {
          var nth = (rows_count * 2) + 'n+' + (rows_count + r);
          $('.datatable > tbody > tr:nth-child(' + nth + ')').addClass('odd');
       }
     
       // row hover shading
       $('.datatable > tbody > tr').hover(
          function() {
             var who = rgl(this);
             for(i = 0; i < rows_count; i++) {
                $(who).find('td').toggleClass('hover');
                who = $(who).next('tr');
             }
          },
          function() {
             var who = rgl(this);
             for(i = 0; i < rows_count; i++) {
                $(who).find('td').toggleClass('hover');
                who = $(who).next('tr');
             }
          }
       );
    } else {
       $('.datatable > tbody > tr:odd').addClass('odd');
    }
     
c
compose new post
j
next post/next comment
k
previous post/previous comment
r
reply
e
edit
o
show/hide comments
t
go to top
l
go to login
h
show/hide help
esc
cancel