Archive for the 'Perl' category

Stay N’ Alive Has a New Design!

Hi - you seem to be new here. If you like what you see, please give back by subscribing to my RSS feed!

You can check me out on Twitter, Facebook, or FriendFeed to see what I'm up to. Thanks for visiting!

I’m proud to announce the new design of the Stay N’ Alive blog. Yes, that is me on a Segway, a little slouched, but my real, geeky self, having fun. I’m tempted to subtitle the blog, “A Developer, Having Fun!” Really, that is what being a developer is all about - if you’re not having fun, find something else! I sincerely love what I do - at heart, I will always be a developer, a Geek at heart.

Another geek at heart, Bill Gates, gave his final keynote address at CES last night. He left a hilarious, yet touching video making fun of what his final day could be like. I have to admit, as a Linux and Mac user primarily (I use Windows for my Entertainment Center experience), I was a little choked up after this. I became a programmer because of Bill Gates, working on MS DOS machines, Windows 1 (came on a 5″ floppy), 2, 3, 3.1, and 95 way before I was ever a Linux user. I owe much of my experience as a programmer to this man - while we make fun of him, he is an inspiration to us all:

Rails Maintainers (and Users), Take a Hint!

It appears I’ve caused quite a stir in my post about asking Perl to step up. Joey DeVilla on Global Nerdy thinks I’m funny. Several Perl users, including Andy Lester (author of WWW::Mechanize) have corrected me on the fact that it does not require testing for modules to be submitted to CPAN - I stand corrected (I was writing this late at night when I wrote it, as I am now, so bear with me).

This still brings me back to my point that regardless of whether a module has to go through rigorous testing or not to be on CPAN, CPAN contains one of the strongest architectures to prevent bad code from being submitted available. When modules are submitted, they still have access to a large group of testers that will return test results to you and give you feedback. The Perl test suites included in the Perl packaging tools (Test::More, etc.) are some of the strongest unit testing tools I’ve seen.

Andy Lester himself is a great example of why I think Catalyst and other Perl tools and frameworks are much stronger than those of Rails, and have a much stronger and smarter group of developers maintaining them. He is the essence of a true “computer scientist” IMO. From his biography on O’Reilly:

“Andy Lester started with computers early by keypunching letters to Grandma on IBM 029 punchcards. Now into his third decade of professional software development, he’s the QA & Release Manager for Socialtext. Andy is also in charge of PR for The Perl Foundation and maintains over 25 modules on CPAN. Andy’s two latest book projects are Mac OS X Tiger In A Nutshell from O’Reilly, and Pro Perl Debugging from Apress.”

How many of the Rails programmers can say they keypunched letters into punchcards early on? Maybe a few, but I think Zed has a point. Andy himself isn’t a contributor to the Catalyst source code (that I’m aware of), but his skills and experience to me show the breadth of who a Perl programmer is, and the type of people maintaining the Perl Catalyst MVC Framework.

So I guess what I was saying in my previous article is that perhaps some of these programmers, such as John Rockway, Marcus Ramberg, and even Andy Lester or Larry Wall (whom everyone would take notice) should take this opportunity, now that it is in the public eye, to expose what Catalyst brings to the community - why should one use it over Rails? I’d like to see these guys show, through the experience and Computer Science backgrounds that they have, that Catalyst is one of the best options out there for building a scalable web architecture. I’d even suggest each address Zed himself, inviting him to give it a try!

As to the Rails supporters that were commenting, criticizing, and laughing at my “Perl Power” speech previously, perhaps you should step back and learn, rather than laugh at us. I know many of our own that are learning other languages, trying to learn from the Zed experience, trying to figure out how we can better apply principles that Rails brings into our own Frameworks, what works, what doesn’t - you get the point. Those criticizing what I have said, IMO, are simply further proving Zed’s point to an outsider like myself.

Patches to the Net::Twitter script for all followers and friends

As I was testing my auto follow script for Twitter and helping Chris Pirillo (see the comments in the link above) get his set up, I realized it wasn’t working for him. After a ton of hacking around, going through all aspects of the auto follow script, and Net::Twitter, I realized there was an undocumented (it’s now partially documented) feature in the Twitter API which states that a page must be specified with a “friends” or a “followers” request. I noticed that Net::Twitter was not checking for paginated results on these requests, therefore I’ve created a patch to make that possible. You can download that patch here (after installing Net::Twitter):

http://www.jessestay.com/Net-Twitter-jessestay.patch.gz

Just patch Twitter.pm (usually in /usr/lib/perl/site_perl/5.8.8/Net/Twitter.pm) with the above file (after un-gzipping it), and you should be set.

Twitter Development and Follow Blacklists

I’ve been playing with a new site lately that will be doing some integration with Twitter (more about that later). I realized the other day that several people that were following me, but I wasn’t following, weren’t being added to my friends list with my Twitter auto follow script.

I researched the issue, and realized that while the API calls were being made, and Twitter was responding as though I was now following them, when I would go back to the Twitter UI it would show up as myself not following them still.

For those unaware, there is a Twitter Development Google group that you can subscribe to to discuss Twitter development. The Twitter devs follow this group and openly answer questions about Twitter development. I mentioned my problem there, and after some going back and forth to convince them there was a problem, they responded.

It turns out that Twitter actually has their own Blacklist internally. If you try to follow too many people within a short time you can easily, at least temporarily, get blacklisted from anyone following you, or you following anyone else. This is why my API calls were not working on some individuals - at the API level Twitter acts as though they are being followed, but in the end they aren’t. The Twitter devs said they are working on a better blacklisting system for the future, and will expose the API to that when it becomes available.

So, for those holding out for ability to blacklist spammers on Facebook, it could be coming soon! It also brings comfort that Twitter is also taking measures to combat spam.

, , , , , ,

Perl - NOW is the Time to Step Up!!!

Rails has finally done it! They have finally admitted what we as Perl programmers have said since people went all Ga-Ga over it around the launch of BaseCamp. In an unprecedented blog post, Zed Shaw, creator of Mongrel, totally turned his back on the Rails community, saying what I’ve heard in outside circles all along (from Zed himself):

“This is exactly what makes Rails a ghetto. A bunch of half-trained former PHP morons who never bother to sit down and really learn the computer science they were too good to study in college. “

Perl is at a prime spot to step in here - this year, John Rockway published the first book on Catalyst, Perl’s answer to Ruby on Rails, in a much more Robust, more scalable package. Catalyst is stronger than ever. You see, I know some of the writers of Catalyst, and I know for a fact there is an entirely different mentality than that of Rails - Catalyst was built by Computer Scientists, and therefore was built by people who understand how an MVC architecture should be built!

My message to the Perl community is this - step in, do something! Promote the heck out of Catalyst now. Blog about it! Pull Zed aside, show him how it can help him, get him to blog about it. Ruby on Rails is weak right now, it’s breaking apart from the inside. Now is the time for the Perl community to show its strength and unite in an effort to make Perl once again the most used platform on the web! We need some big names in the Perl community to be stepping in here and taking advantage of the attention Zed’s bringing to Rails.

Next Utah Social Media Developers Garage Meeting: December 11

I mentioned this in the official group, but the next Utah Social Media Developers Garage meeting will be held Tuesday, December 11 at 7pm. Amazon.com’s Jeff Barr will be our featured speaker and will be talking about Social Networking sites that currently use Amazon Web Services and why AWS is beneficial to this medium. I’m excited to have him here and look forward to hearing what he has to say - I appreciate him taking the time to address our group. We will have at least one more guest speaker after Jeff, which will be announced soon - I’ll update that here and on the event page.

After the event we will hope to play some Guitar Hero, Halo 3, or Dance Dance Revolution on the Xbox 360 - bring your GH guitars! As always, the event is bring your own snack, and SNAPlicate will provide drinks for the group.

This event will be sponsored and hosted by 12 Horses and will be held at their new headquarters in Draper, unless there are too many attendees to accommodate. I’ll post a map and directions here and on the event page when that is officially confirmed. The event will also be sponsored by my Social Media development and consulting company, SNAPlicate - we are the ones organizing the event.

Please RSVP on the Facebook event site so we can have a good idea of the number of attendees that will be there - if you don’t have a Facebook account, please comment here and let me know you’re coming. This is critical to us knowing if we’ll have enough space or not. RSVP here: http://www.facebook.com/event.php?eid=20803448528

Auto-Follow Those that Follow you on Twitter

On Twitter, it is generally polite to follow those that follow you - they are saying, “you are interesting”, so it is the polite thing to show interest in them as well. I have heard from multiple people, including Scoble and Chris Pirillo that they have requested Twitter do this for them.

Well, I’m proud to announce that I’ve written a script that does just this for you. It’s a simple script, that does just what it says it does - auto-follows those that follow you. To install the script, download this script, unzip it (gunzip), then edit it. You’ll need to specify your Twitter username and password in the specified places, and if you want to blacklist any screen-names you’ll want to add those in as well. Then, add the script to a cron job somewhere, say, in cron.hourly or cron.daily, and it will now auto-follow anyone that follows you on Twitter! If you get any bologna (as I call it - others call it bacon) followers, you can simply add them to your black list in the script and it will ignore them.

If you have any problems installing it or running it, please comment. This script is being released under the GPL, v.1. Again, you can download the script at:

http://www.jessestay.com/auto_follow.pl.gz

I’ll post it to CPAN later as I get time so it can be downloaded there.

UPDATE: you’ll need to have Net::Twitter installed - you can install this by running “perl -MCPAN -e ‘install Net::Twitter’”

UPDATE (11/14/2007): Chris Pirillo has pointed out that it’s hitting an API limit if you have to follow more than 70 users within the same hour. If that is the case, set it to run on cron every hour, and eventually it should catch up. Twitter can also add your username to a white list if this is important to you and contact them. If you are on that white list, it should follow everyone in one swoop.

Jesse Stay is a Utah Facebook Developer and Consultant

Well, I’ve officially made the plunge! As of today I have announced my resignation at UnitedHealth Group and will very soon be completely self-employed, working on your business’s projects full time under my consulting business, Stay N’ Alive Productions. If you have a project of any caliber, I am giving short-term (that could become long-term) contracts first priority, but will consider anything.

I mentioned previously about my friend Thom Allen being a Facebook developer. Well, I’ve let him have the limelight for long enough and now it’s my turn! I am a Utah Facebook Developer. I currently have 4 applications written, one with near 10,000 users and growing. I also have been doing Facebook consulting since almost the launch of the Facebook platform. I have taught classes on Facebook and am definitely your man if you need some consulting or projects based on the Facebook platform.

So if you need any work, give me a ring via the GrandCentral “Call Me” button down on the right of this page and we can work on a bid or estimate for consulting work. You can also read through this blog to understand what I know and how I can help you. Feel free to blog or Twitter about me as well! I need all the help I can get to get this off the ground!

Am I Still One of the Only Utah Facebook Developers?

I mentioned this earlier, and only learned about one other Utah Facebook Developer. Today the question was raised again as someone contacted me, looking for Facebook developers in Utah. I only had one person to refer them to. Are you a Facebook developer? If so, please comment below and I’ll send you referrals!

As for other alternatives, if you are a business owner looking to launch a Facebook application and are looking for a Utah-based Facebook developer, I suggest choosing a good developer, and having them learn Facebook as part of the spec for the project. Any good developer should be able to learn Facebook in not too much time. Frankly, most Facebook Developers I know are in entrepreneurial mode right now, as there is simply too much money in this area to pass up!

Presenting at Utah Facebook Developers Garage Tomorrow

Just a reminder to everybody that I’ll be presenting at the Utah Facebook Developers Garage tomorrow (August 9th) evening at 6pm. The details are all on phil801’s blog (link above). I plan on doing a “Hello World” walk-through, where we’ll start with adding the application, work on setting it up, and actually write things for it. Hopefully we can cover a lot of the most useful features I’ve found to get you up and going. My preferred language is Perl, and the framework I use is Catalyst, so this might also be a good opportunity to get a glimpse into what the latest in Perl is doing, and how Rails’ up-and-coming competitor, Catalyst, is going to take the world. (okay, I’m biased - did I mention my license plate says “USE PERL”?)