ncdevcon – coming to raleigh

August 16th, 2011 by mgkimsal No comments »

ncdevcon is a great conference for web and mobile developers, and will be in Raleigh Sept 17 and 18.   I was originally slated to be speaking there, but I’ve got some travel that’s got in the way, so I won’t be speaking.

I’ve gone the last 2 years, and it’s a great conference.  The value for the $60 registration as a 2 day conference is really phenomenal (still wondering how they manage to pull that off!).

Visit the site and register today – you won’t be disappointed!

Share and Enjoy:
  • del.icio.us
  • DZone
  • Facebook
  • Reddit
  • StumbleUpon
  • Digg
  • Simpy
  • Technorati

virus scanning as a service – looking for feedback

June 19th, 2011 by mgkimsal 8 comments »

I’m looking for feedback on a project idea.  This grew out of a project I did last year that involved a lot of user file uploads that are then downloadable by others.  Virus scanning needed to be part of the process, but I couldn’t find a good service out that that offered this.  I did find one, but they explicitly forbid commercial use of the service, which somewhat took it of the table.

So.. feedback please.  Have you ever needed a service like this?  Did you just roll your own, or perhaps just went without?

Share and Enjoy:
  • del.icio.us
  • DZone
  • Facebook
  • Reddit
  • StumbleUpon
  • Digg
  • Simpy
  • Technorati

mind blowing security practice

June 7th, 2011 by mgkimsal 10 comments »

Yeah, you read that right.

Kids, don’t try this sort of security in your own web apps.  This is reserved for high-end financial institutions only.

Share and Enjoy:
  • del.icio.us
  • DZone
  • Facebook
  • Reddit
  • StumbleUpon
  • Digg
  • Simpy
  • Technorati

indieconf 2011 call for presenters

June 4th, 2011 by mgkimsal No comments »

Our indieconf 2011 call for presenters is open.

indieconf is the conference for independent web professionals – whether you’re a developer, designer or someone in between, if you’re an independent freelancer or small agency, indieconf is for you.

What are we looking for?  Topics of direct or indirect interest to web freelancers – mobile development, server side tech, client side tech, workflow issues, client management topics, financial issues, legal issues, marketing, SEO and more!

indieconf will be held in Raleigh, NC on November 19, and we’ve got an early bird special of $99/ticket going on right now – get your ticket today! :)

Share and Enjoy:
  • del.icio.us
  • DZone
  • Facebook
  • Reddit
  • StumbleUpon
  • Digg
  • Simpy
  • Technorati

When Google controls the internet…

April 11th, 2011 by mgkimsal No comments »

I’m not a google fanboy (although I do use a lot of gmail and picasa some) – I’m also more than a bit wary about the amount of info they control and manage about me and others. That said, I was reading up on SPDY this morning, and a curious thought struck me.

For those of you old enough to remember the late 90s and the ‘browser wars’, IE was becoming the dominant browser. I remember hearing a rumor that IE was given preferential treatment with IIS servers – meaning that if you used IE against an IIS server, you’d have a faster experience, and that connections from Netscape and others were intentionally throttled down. Again, just a rumor, and not one I could ever confirm. Even if it was *true*, in hindsight, my guess is that it probably wouldn’t have been intentional. Or, to whatever extent it was intentional, it would be from lack of testing (or caring about testing) against non IE browsers. That may be wishful rose-colored thinking on my part, but it’s all in the past now.

Google’s Chrome has been on an upswing the past year or so. It became my default browser for about a year, although I’m using Firefox 4 more often these days. Google’s been experimenting with SPDY – a new protocol intended to augment HTTP. That’s the benign pronouncement – it wouldn’t surprise me if they really would like it to supplant HTTP altogether, but I suspect that won’t ever happen 100%. The SPDY spec has a number of interesting improvements -

  • X-header ‘hints’ to tell the client other related resources (to avoid having to parse the entire document first)
  • HTTP Header compression – I think I tweeted this some time ago, but this thought hit me last year. Many HTTP header calls are moderately big, and many pages have dozens or hundreds of these. SPDY reduces HTTP headers by ~80%, which can make for a marked improvement on many larger pages.
  • Request prioritization – allows the client to indicate which resources should be loaded first

and many more.  (See the link above for more info).

The interesting thing to me was the difference between when MS owned the client and server experience (for sites that mattered to me) and now that Google does (for sites that matter to me).  MS seemed to go for more lock-in – pushing ActiveX as a browser technology, pushing IIS as the server of choice, etc.  Google, on the other hand, investigates, tests, and promotes new technology to reduce load times and HTTP overhead for the whole internet.

Granted, right now, the only company using SPDY is Google, but they’ve published their protocol and research, and I wouldn’t be surprised to see some mainstream webservers support SPDY in the next year or so.  If Firefox and/or Safari also support SPDY, we’ll see some radical speed changes which will benefit the entire internet in the form of faster sites.  In MS’ favor, I will point out that the beginnings of what became AJAX originated in IE5, and AJAX has been a game changer for the web industry certainly.  It’s just a bit sad that it seemed to happen in spite of MS rather than them proactively promoting an IE tech as a cross-platform solution.

One wonders if MS would even be able to pull off something like SPDY today.  10 years ago they *could* have, but didn’t seem to have the foresight or inclination to do so.

Share and Enjoy:
  • del.icio.us
  • DZone
  • Facebook
  • Reddit
  • StumbleUpon
  • Digg
  • Simpy
  • Technorati

magic __get and __set style?

December 19th, 2010 by mgkimsal 14 comments »

For a long time I’ve held that __get and __set in PHP were not all that hot  - mostly because it’s solely error handling.  There’s no way to deal invoke __get or __set behaviour for properties that are defined on a class.  That’s sort of a beef for another post (I’d started an RFC some time ago on trying to extend that behaviour to defined properties as well as undefined, but didn’t finish it, life got in the way, and various other reasons – again, perhaps for another day).

For those who insist on using __get/__set, I *typically* see this sort of style code:

class foo
{
 protected $_holder = array();
  public function __set($name,$value) {
   if($name=='foo') {
    $this->_holder['foo'] = $value;
   }
   if($name=='bar') {
    $this->_holder['bar'] = $value;
   }
// etc
  }
}

The effect is to cram a bunch of unrelated code in to the __get/__set overloading methods.

Should I need to use __get/__set again, my new approach will be

<?php
class foo
{
 protected $__foo;
 protected $__bar;
 
  public function __set($name,$value) {
   if(method_exists($this,"set$name"))
   {
     $this->{"set$name"}($value);
   }
  }
  public function __get($name) {·
   if(method_exists($this,"get$name"))
   {
     return $this->{"get$name"}();
   }
  }
  protected function setFoo($value)
  {
    $this->__foo = $value;
  }
  protected function setBar($value)
  {
    $this->__bar = $value;
  }
  protected function getFoo()
  {
    return $this->__foo;
  }
  protected function getBar()
  {
    return $this->__bar;
  }
·
  }
$f = new foo();
$f->foo = "new";
echo $f->foo;

This feels cleaner – perhaps others of you already take this approach? It’s just not commonly reflected in PHP tutorial sites that I come across, and it’s been bugging me for a while. I also see “mysql_connect() or die()” in books published in 2010 though, which indicates the majority of stuff published on PHP is still behind the times.

What I’d like to see (and what my RFC would have been about) is PHP to look for the existing of internal getXXX and setXXX methods on property accesses all the time, and not just fall back to __get/__set on error conditions. Being able to call $foo->name, and having PHP call getName() *if the method exists* would make for easy to read code that’s also very extendable.

Perhaps I’ve written about this before – I can’t remember. Certainly, some of our PHP user group has heard me go on about this before. Now it’s there for the ages. :)

How do the rest of you deal with wanting to have overridable property access? Do you just have manual get/set() methods for every property access? Or some other approach?

Share and Enjoy:
  • del.icio.us
  • DZone
  • Facebook
  • Reddit
  • StumbleUpon
  • Digg
  • Simpy
  • Technorati

JavaScript library Open Source Awards announced

November 18th, 2010 by mgkimsal 1 comment »

I had the pleasure of participating in the Packt Publishing Open Source Awards for JavaScript Libraries recently, and they just announced the winner: jQuery.  I don’t normally republish entire press releases, but here’s the bulk of their release today.

Packt Publishing is pleased to announce that jQuery has won the inaugural Open Source JavaScript Libraries Award category in the 2010 Open Source Awards. The Award is a new category introduced to the Open Source Awards this year, featuring libraries of pre-written JavaScript controls which allow for easier development of RIAs (Rich Internet Applications), visually enhanced applications or smoother server-side JavaScript functionalities.
“On behalf of the entire jQuery Team, let me first say thanks to Packt Publishing for this award. I’d also like to give a huge thanks to the community of designers and developers that use jQuery daily and felt the urge to vote for jQuery as their favorite JavaScript library. We’ll use this prize to further the development of the jQuery Project.” Said Ralph Whitbeck, jQuery core team member.
“While jQuery hasn’t undergone any radical change in the past year, the project has continued to evolve at the same frenetic pace and the 1.4 release included a wide range of small but important improvements.” Added Michael Mahemoff, Google developer advocate, HTML5/JavaScript specialist and one of the judges for the 2010 Open Source JavaScript Libraries category. “jQuery covers all bases as its performance is high priority, it is easy to use, has a huge community, great documentation, and an excellent plugin ecosystem.”
While jQuery occupied the top spot in the 2010 Open Source JavaScript Libraries category, the other two extremely popular finalists Raphaël and Mootools tied and both projects will be awarded the first runner up position.
FWIW, jQuery didn’t get my top vote – MooTools did.  I’m glad to see they got a first runner up tie.  For the record, the finalists were MooTools, Raphael, jQuery, ExtJS and Dojo.  Frankly, given the scope of the finalists, choosing a ‘winner’ is darn near impossible – they’re all good in their own ways.  That said, myself and some other judges had some private discussions with reps from each project, got our answers, and made our votes.  I’m nominally a YUI guy, and while I was a bit disappointed to see them missing from the finalists, it made it easier to vote – I didn’t have a horse in that race that I had an attachment to.
Congrats to jQuery, but additional thanks to everyone who contributes to all of those projects.  Our internet is a much more productive place for devs having tools like Dojo, ExtJS, MooTools, jQuery, Raphael, YUI, GWT and more!
Share and Enjoy:
  • del.icio.us
  • DZone
  • Facebook
  • Reddit
  • StumbleUpon
  • Digg
  • Simpy
  • Technorati

indieconf affiliate program

October 18th, 2010 by mgkimsal No comments »

I’ve been somewhat remiss in promoting this – I thought it was up on the site earlier, but wasn’t(!).

I’m offering an affiliate fee of $20 per indieconf ticket to affiliates through the eventbrite affiliate program.  Visit http://www.eventbrite.com/affiliate-register?eid=682183429&affid=1214079 to get started.

Share and Enjoy:
  • del.icio.us
  • DZone
  • Facebook
  • Reddit
  • StumbleUpon
  • Digg
  • Simpy
  • Technorati

New indieconf speaker – Doug Foster

October 18th, 2010 by mgkimsal No comments »

We’re pleased to announce Doug Foster joining our lineup of presenters at this year’s indieconf.

Doug Foster

As an Idea Mechanic, Doug Foster helps people sell. He is an imaginative strategist, conversational storyteller, demonstration engineer, experience architect, and customer advocate. “Convince Me!” – his unique approach to selling and customer education – helps individuals or companies sell their products, services, and points-of-view.

In his 30 year career, Doug has been successful as an engineer, manager, vice president, board director, international liaison, and entrepreneur. He has worked in sales, marketing, manufacturing, information technology, telecommunications, engineering, systems quality, and IP management. Doug is also an expert in the area of Internet voice, video, and data convergence. With John Deere, he helped transform a worldwide SNA network into a multi-protocol Intranet. At Cisco Systems, he served as one of the company’s original Video and Voice Over IP consulting engineers. Doug holds a BSME from Iowa State University with postgraduate work in numerical calculations at the University of Iowa.

Doug’s session is titled “Convince Me! Why should I buy what you’re selling

“Everyone sells, even you. Learn a simple, easy way to sell by thinking like a buyer, not a seller. Every sales cycle has four phases, but learn why the second one  – educating your buyer – can make or break the deal. I’ll teach you the 5 step CM!™ process, set you up with a toolbox full of ideas, and get you started on how to become a convincing expert.”

Register for indieconf today at http://indieconf.com/register

Share and Enjoy:
  • del.icio.us
  • DZone
  • Facebook
  • Reddit
  • StumbleUpon
  • Digg
  • Simpy
  • Technorati

Authorization by social graph

October 14th, 2010 by mgkimsal No comments »

I’ve been kicking around an idea for a while now, discussed with some friends, but don’t have time to implement this just yet.  I may use this at the core of a project early next year, but I wanted to get the main idea out there now.  Perhaps others are already doing this, but I haven’t seen it anywhere (yet?).

Currently, many apps tie in with twitter/facebook/etc for authentication – a third party openid server indicates to the original app that you are who you say you are.  In some cases, there’s even a degree of sharing of data or allowing of control of a remote app (posting tweets via oauth, updating facebook wall, etc).  What I’ve not seen yet is something which allows for collaboration, with degrees of permissions defined by relations in your personal social graph.

For example, consider google docs.  Rather than inviting and granting permission on specific docs to specific people,  allowing anyone who is following me on Google Buzz or FriendFeed to have read access to my document would be useful.  Take that a step further – anyone who I’m following back – a two-way relationship – would automatically have read *and* write permissions on that document.

This is a somewhat simplified example, but the notion of permissions being automatically granted/revoked based on position and status in my social graph seems relatively unique (if also a probably rather obvious evolution in the coming near term).

Are there examples of this behaviour out there already I’m not seeing?

Share and Enjoy:
  • del.icio.us
  • DZone
  • Facebook
  • Reddit
  • StumbleUpon
  • Digg
  • Simpy
  • Technorati