A Django site.
May 13, 2008

Jesse Stay
obfuscated, Uncle_Jesse
» Utah Startup Series: Bungee Labs

logo_bungeelabs-flat_md.png(Sorry it’s been awhile since my last blog - it took me several days to figure out how to get my Flip video imported and exported to and from iMovie. To make a long story short, if you want to export from iMovie and have both picture and sound, you must import your source as something other than MP4 or AVI.)

This is the first article in my “Utah Startup Series“. Starting today I will be circling Utah to find the best and most innovative startups in Utah, and featuring them here on Stay N’ Alive. If you have a hot startup (early to even late stage) and would like to demo for me what your product can do, please contact me - if I have the time and like your idea I’d love to come out and take a look at it!

While at Web 2.0 Expo I had the opportunity to meet with Bungee Labs, a local, well funded Utah company who had “Platform as a Service” down before Google even started thinking about their App Engine. In our meeting they demoed their Bungee Connect “IDE” (written entirely on the web). You can see the video below.

My thoughts - you have to see this stuff in person to understand the full ramifications of what they’re doing. One of the cool things about their service vs. Google’s is they actually integrate with Amazon’s EC2 service (which was announced during Web 2.0 Expo), so you can actually host your other stuff on Amazon’s EC2 platform with the same licensing as your Bungee Connect account. Their licensing structure is very appealing as well - Bungee only charges based on the number of registered user sessions using their platform, not traffic, not bandwidth. If I understand correctly, it’s all based on the number of users actively using your application on their platform. For Facebook and Social Media developers this is appealing, as most Applications are rated based on Application use, not number of users or traffic. With Bungee you only pay for the users that actively use your system.

Overall, the guys at Bungee were Rockstars at Web 2.0 Expo. With their announcements about EC2 integration, flexible licensing terms, features on TechCrunch, EWeek magazine, and a dozen other publications, you can bet Google has a watchful eye on them. Ironically, it was interesting seeing Kevin Marx, head guy over the OpenSocial (and other) efforts at their party on Thursday evening.

Bungee will be presenting at our Social Media Developers meeting this coming Tuesday, showing us a simple “Hello World” example on how to build a Facebook App using their platform. Follow me on Twitter and if we can stream it live you can watch it via my Ustream channel. After demo I may just write my own Facebook App to try out their system - it should be interesting.


Bungee Connect Demo - Web 2.0 Expo from Jesse Stay on Vimeo.

Share This

May 9, 2008

Phil Windley
pjw
Phil Windley's Technometria
» Doing CPAN Installs Using Capistrano

I've been trying to use Capistrano for application deployment over the last few days, writing rules to do some common tasks, figuring out how it works, etc. One problem I ran into is that I have a private CPAN bundle that I use to ensure a machine has all the right Perl libraries when I deploy to it.

The problem is that CPAN is often run interactively and so module writers often assume the user will be present. That means that it stops in the middle and asks questions about skipping tests, etc. I searched for a while to figure out how to get a default answer to questions. It's not Capistrano's job and CPAN didn't seem to have a configuration option that worked. Turns out it's in MakeMaker.

MakeMaker is the Perl library that the CPAN modules use to automate the build process. There's an environment variable called PERL_MM_USE_DEFAULT that when true causes the MakeMaker prompt function to assume the default answer.

So, here's the task from the capfile I came up with.

task :load_bundle, roles => :local do
     run "cd /web/lib/perl/etc/kynetx-private-bundle; 
          sudo perl -MCPAN -e 
             '$ENV{PERL_MM_USE_DEFAULT}=1;
              install Bundle::kobj_modules'"
end

This works fine. Of course, you also need to make sure the account you're using for installs can sudo without a password or this will fail as well. Maybe there's a better way to do sudo inside Capistrano? I'd like to know about it.

Tags: kynetx sysadmin ruby perl

May 3, 2008

Jesse Stay
obfuscated, Uncle_Jesse
» Why I Hate the Twitter Syntax

history76156-thumb.pngI have disliked the Twitter syntax since I’ve been on it (you can find me via @JesseStay on Twitter - go ahead and follow me!). As a long-time IRC user, everything seems backwards! I have often referred to Twitter as “IRC 2.0″. I’m not sure I can fully embrace that concept though.

For those unfamiliar with IRC, it predates even instant messaging. It brought out the original concept of a “chatroom”, and exists even today on various servers throughout the world. Ustream.tv currently uses it for its users’ channel chatrooms. It is the home for almost any “live” activity of any open source project (log into irc.freenode.net to see - I’m often in #utah there, as well as recently #codeaway). Traditions have been established, and virtual friendships have been bonded. In many ways it could have been the original concept of a “social network”, the first concept of linking friends together in a single place on the internet.

I was at a Perl conference just last year, and was happy to see the #YAPC chatroom in irc.perl.org open during the banquet. We had a ton of fun with that! Now, just this year, when I go to conferences, I see speakers leaving up Twitter, and answering questions via Twitter. The two seem to be serving similar purposes, in different ways.

That’s why I was astonished when I got on Twitter for the first time, and started seeing public messages directed to individuals with “@” signs in front of them! Is there a source for that that I’m not aware of? I know of no known documentation that Twitter themselves created to establish that tradition. In IRC you simply type “username:”, and then your message, and it gets highlighted in that user’s chat window in most IRC clients. Better yet, I can start typing the username and it tab-completes. You can’t do that in Twitter. That tradition and method has been around for years, yet Twitter seems to break the mold for some reason.

IRC also supports commands - I can type “/nick newnickname”, and it switches my username, automatically! It’s a basic standard that all clients support, open, and available for all to use. Twitter I have to go entirely to their website to do anything, and it’s extremely limited in what you can do. To direct message someone on Twitter, I have to type, “dm username message”. In IRC it’s just a simple command, like all other commands, and I can always type, “/help” if I don’t know what the commands available are. I simply type, “/msg username message”, and it messages the user, and again, it tab-completes the username!

Why couldn’t Twitter just use the IRC standard in their platform, and then expand upon it to improve the IRC standard and bring it to a mobile world? By all means many of their scalability issues may have been taken care of had they done so. Not just that, but they would now be able to support groups, and less development would be needed to manage their platform. Twitter says they have an open API - I question that openness. It’s not based on much of an open standard, and IMO, it’s causing them problems now because of it.

Looking to start a project? Always look at the open solutions that are out there first, then build upon them - you’ll have much fewer headaches if you do.

(Photo courtesy GapingVoid.com)

Share This

May 2, 2008

Jesse Stay
obfuscated, Uncle_Jesse
» Using Perl/Catalyst and Want to Use Sometrics? Try This.

logo.pngI’ve been analyzing various Social Applications Analytics tools lately, and have recently stumbled upon Sometrics. Sometrics handles full Analytics for your Facebook, Bebo, and MySpace applications, and will actually utilize the Facebook API to retrieve demographic info about those visiting your Application. As I examine the other Analytics solutions for Facebook and other Social Network Applications, I’ll try to post my findings of their strengths and weaknesses here, OpenSocialNow, and FacebookAdvice.com. If you’re not a techie, you may want to skip the next part, or forward it onto your IT department.

One thing I noticed about Sometrics is it seems to only provide code to paste on your Application pages for PHP, Ruby, and ASP.net. The code they provide is relatively simple, but in case you’re wondering how to do it in Perl, here is how I did it in Template Toolkit under Catalyst on Perl:

Enter this on all Application pages (I do it in my “footer” file):


[% IF Catalyst.request.param("installed") %]

<fb:iframe width='1' height='0' frameborder='0' src="http://halo.sometrics.com/fb_tracer.html?src=fb&installed=1&session=%7B%22session_key%22%3A%22[% Catalyst.request.param("fb_sig_session_key") %]%22%2C%22uid%22%3A[% Catalyst.request.param("fb_sig_user") %]%2C%22expires%22%3A0%2C%22secret%22%3A%22%22%7D&t=[% date.now %]"></fb:iframe>

[% ELSE %]

<fb:iframe width='1' height='0' frameborder='0' src="http://halo.sometrics.com/fb_tracer.html?src=fb&session=%7B%22session_key%22%3A%22[% Catalyst.request.param("fb_sig_session_key") %]%22%2C%22uid%22%3A[% Catalyst.request.param("fb_sig_user") %]%2C%22expires%22%3A0%2C%22secret%22%3A%22%22%7D&t=[% date.now %]"></fb:iframe>

[% END %]

Then add this in the “post-remove url” subroutine for your Applicaiton (or create one and add the URL in your App’s config):

=head2 remove

  Page that handles App removal

=cut

sub remove : Local {

  my ( $self, $c ) = @_;

  if ($c->req->param(”fb_sig_uninstall”)) {

    $c->res->redirect(qq{http://halo.sometrics.com/met.gif?a=u&app=}.$c->req->param(”fb_sig_api_key”).qq{&uid=}.$c->req->param(”fb_sig_user”).qq{&age=&sex=&city=&state=&country=&friend=&src=fb});

    $c->detach();

  }

  return;

}

Share This

April 10, 2008

Jesse Stay
obfuscated, Uncle_Jesse
» Who Said Perl is Dead?

perl.pngI’ve been following the issue list for Google App Engine (just realized it doesn’t have an “s” in the official name), and the two top issues are a dead heat between Perl and Ruby in the requests to have Ruby or Perl support. Ruby, as of this writing is at 361 votes, and Perl is right on it’s tail at 347 votes. Perl until a few hours ago was pretty far ahead of Ruby. PHP is only at 70 votes, and Java is at 247 votes.

Does this mean Perl is making a comeback? Did we ever really leave Perl? As an avid Perl developer this makes me happy, as Perl can do anything Ruby or even Rails can do, and even more (Perl XS and tie-ins to C are very powerful!). All of my current Facebook Apps and OpenSocial Apps I do in Perl on an MVC Framework called Catalyst - it’s very scalable! It never made sense to me when people said that “Perl was Dead”. Is this just a reflection of the type of Audience Google supports, or is it reflective of what new media developers are actually developing in?

I’m hesitant in posting this, as it could bring more Ruby voters to the mix, but hey, let’s keep it fair. If you want to vote for Perl, click on the star here. If you want to vote for Ruby, click on the star here. Not a developer of either? Then you’re on your own. :-P

I wonder how Python would fare if it got equal treatment.

UPDATE: Within just a day after this post things have gone back to how I would expect them to be. Java has a strong lead over all the others, followed by PHP, then Ruby, then Perl. Perhaps the issues just needed a little exposure. Based on the interest, Perl is still far from dead though.

Share This

April 8, 2008

Jesse Stay
obfuscated, Uncle_Jesse
» Google Announces “Google Apps Engine”

google_appengine.pngOkay, so I was wrong - it was worth a try. I do still expect more large announcements related to Social Media from Google. Just recently, Google announced their “Google Apps Engine” (will it be nicknamed, “GAE”?). It is essentially a competitor with Amazon’s EC2, S3, and SimpleDB, but at a much higher level. You’ll be required to interface with the service via the Python Programming language at first, but it is intended to make scalability and server set up much easier. Google does say that the underlying infrastructure is entirely language neutral, so we should expect more languages in the future. The advantage over Amazon is Google takes care of all the server set up for you - this is essential for a small business that can’t afford to hire an expensive Linux Admin as Amazon requires.

The Service is only available to the first 10,000 developers that apply at http://code.google.com/appengine/, and will be available starting at 9pm PST tonight. You can read more at Venturebeat and TechCrunch here and here.

Share This

March 22, 2008

Jesse Stay
obfuscated, Uncle_Jesse
» Well Done Guy! Chris DeVore is a Cheapskate

I just caught this article from Mashable and I just had to pipe in. In the article, Mashable’s Kristen Nicole claims Guy Kawasaki paid too much for the development of AllTop, at $10,000. They compare it to Askablogr.com, claiming Chris DeVore only paid $7500 for the development of Askablogr, with its rich feature-set.

I was blown away by this! Not that Guy Kawasaki paid $10,000, but that Chris DeVore only paid $7500 for Askablogr. Now, I don’t know Chris, so take this with a grain of salt, but some call it a deal. I say he’s a cheapskate! For something that will be your primary revenue source and your main line of business, $10,000 for something like Alltop.com is a steal! The fact that Chris DeVore only paid $7500 for his development means he’s either hiring offshore, doing the development himself (in which those costs are way under-inflated), or he’s very much underpaying a bunch of gullible developers that probably don’t believe much in the product they’re working on.

As a business owner, when supporting a technology-based business, it is of utmost importance that you put your developers and IT staff at first priority. They are your bottom-line, and should be the superstars of your business. You have to keep in mind that for top notch developers and technology, you’re competing with the likes of Google, Facebook, Yahoo, and others to get the best talent. By not paying your developers, you will either a) lose your developers very quickly, b) have a revolution at one time in your future and your developers will all back out on you in rapid succession, or c) not get the best work and skills you could be getting, and you’ll definitely run into scalability issues as your site grows in the future.

I recently finished the book, “My Startup Life“, by Ben Casnochas. I bet Guy’s read it and Chris hasn’t. In it, Casnochas talks about the lessons he learned by not paying his lead developer well. He quickly had threats of the staff to leave, and they quickly ran into scalability issues due to the unexperienced offshores they were hiring overseas. In building a technology-based business it is of utmost importance that you pay and treat your IT staff well or it will come back to bite you in the future.

So, Kristen, I say Guy is the smart one in this case. I am willing to bet his site scales better, his developers are happier, and more likely to work with him in the future. Guy’s likely to get millions for Alltop.com in the future, should it succeed, so $10,000 is a very small price to pay to get good developers on staff.

Share This

March 13, 2008

John Anderson
sontek
sontek ( John M. Anderson )
» Update Twitter from irssi

I wrote a quick little perl script/irssi plugin that allows you to update twitter from irssi. It also has autocompletion for names from your friends and follower list. You can get it here: http://devtoo.net/svn/twitter/twitter.pl

To use this script place it in ~/.irssi/scripts and then type /load twitter.pl in irssi

Usage:
/twitter u I’m updating twitter from irssi
/twitter d sontek I’m direct messasging sontek from irssi

DISCLAIMER: First perl script I’ve ever written, i’m sure I’ve done things wrong.

February 12, 2008

Phil Windley
pjw
Phil Windley's Technometria
» Types as Comments

Steve Yegge is at it again. This time he's taking on modeling:

Well, we also know that static types are just metadata. They're a specialized kind of comment targeted at two kinds of readers: programmers and compilers. Static types tell a story about the computation, presumably to help both reader groups understand the intent of the program. But the static types can be thrown away at runtime, because in the end they're just stylized comments. They're like pedigree paperwork: it might make a certain insecure personality type happier about their dog, but the dog certainly doesn't care.

If static types are comments, then I think we can conclude that people who rely too much on static types, people who really love the static modeling process, are n00bs.
From Stevey's Blog Rants: Portrait of a N00b
Referenced Mon Feb 11 2008 17:02:45 GMT-0700 (MST)

Yeah, it's a long one--but it's worth the read if you're interested in programming language design, programming language choice, types, or modeling. It's especially nice if you're a dynamic language aficionado since it will make you feel vindicated!

Tags: programming java lisp perl

January 18, 2008

Phil Windley
pjw
Phil Windley's Technometria
» Perl Testing

I didn't grow up in an era where testing was as well though of as it is now. When I learned to program, you ran a few tests after the fact and threw it over the wall to the QA department. Not very politically correct in today's software engineering world.

As a result, I understand the value of testing and support the idea intellectually, but I don't have the discipline.

Recently I was faced with the problem of building code that translated a domain specific language (KRL) back and forth between three different representations:

KRL Representations and
Transformations

The textual representation is what people read and write. The JSON representation is what machines (other programs) will read and write. The abstract syntax (a Perl data structure) is what will be interpreted.

I quickly realized that getting this right--and convincing myself of that--would require something more than some ad hoc testing. So, I decided to mechanize.

I knew that Perl had testing facilities--anyone who's built a library has seen that. So, I had to figure out how they worked. I found these resources handy:

Here's what I did:

  • Wrote a collection of test programs in KRL. These can be expanded as needed, as I think of things to test.
  • Built a test script for running each of those programs through a round trip through the parser and pretty printer. If the text matches (modulo whitespace) it's OK
  • Built another test script for running each of these programs through a round trip all the way to the JSON representation and back.

I also added test scripts for each module in the system as well as a few scripts to check for developer issues--thanks to petdance (PDF).

I used the petdance smoke script to run all the tests in Test::Harness. I modified the petdance rule.t script to check for Perl programming best practices like always having use strict at the front of every Perl program in the collection.

I also wrote a use.t script that goes through the entire collection of Perl modules and programs, gathers a unique list of every library they use, and then checks for availability on the current machine.

Now, I can flesh out this framework with other tests as they come to me or I run into problems. It feels good.

Tags: testing programming perl kynetx

January 16, 2008

Jesse Stay
obfuscated, Uncle_Jesse
» Twitter Opens Their Messaging Platform

Today, in the first post on the new Twitter Technology Blog, Alex Payne announced that Twitter is releasing their underlying messaging platform, which they call, “Starling”, to the community. From the announcement it appears Starling is the basis for handling all communication underneath Twitter, speaks memcached, and reminds me in some ways of Perl POE, for Ruby. This is the development baby of Twitter, a great move by the new head of Engineering for Twitter, and a great benefit to the development community! Twitter is starting to remind me very much of Google in its philosophies, starting with a core technology, focusing on that, then figuring out monetization after the fact, all while giving back to the community. Way to go Twitter!

Share this article with a friend...

Share this article with a friend...

Gregarious FeedFlare

January 12, 2008

Jesse Stay
obfuscated, Uncle_Jesse
» Jesse Stay is Now a Bebo Developer and Consultant!

That’s right - you may now add Bebo to my list of expertise. You may notice there’s a new category to the right - “Bebo”. The popular website Bebo.com, that I guess one could compare much closer to MySpace than Facebook announced late yesterday night that they were opening up their platform to developers. Before this, the platform was open to a small number of developers developing in a private beta of their application space.

Bebo Developer

I have started delving into their API, and I have to admit - I’m impressed! Their system is much more responsive than Facebooks (Facebook was recently rated as one of the slowest Social Networking sites), and in setting up a basic app, I have to admit it is a little more user-friendly than on Facebook. While it is much more user-friendly, Bebo has striven to maintain compatibility with Facebook. Almost every aspect of their API, from the API itself, to its FBML derivative called SNML is near duplicate. Bebo denies being the first to use the 3rd party partner-licensed platform Facebook is soon to release, but I have to admit, Bebo has done an excellent job at replicating what Facebook has done. If only Google could do the same with Open Social. Could this bring the developer community over to Bebo from Facebook?

Stay tuned - on SocialOptimize.com we’ll be posting some white papers on statistics surrounding Bebo, demographics, traffic, users, etc. as we find them. My partner, Allan Young is hard at work putting those numbers together. In addition to that, I’m working on migrating the WWW::Faceboook::API Perl libraries over to Bebo.

On a side note - one ironic thing I found about Bebo is that somehow, my 84 year old Grandmother is on Bebo. She has been sick lately, so I can’t imagine how old that account is. How many people can say their Grandmother is their friend on a social network??? :-)

, , , , , , , , , , , , , , , , Share this article with a friend...

Share this article with a friend...

Gregarious FeedFlare

January 8, 2008

Jesse Stay
obfuscated, Uncle_Jesse
» Stay N’ Alive Has a New Design!

[?]

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:

, , , , , , , , , , , Share this article with a friend...

Share this article with a friend...

Gregarious FeedFlare

January 7, 2008

Doran Barton
fozzmoo
Fozzolog
» The Perl Catalyst framework: Is it your future?

Our good friend Jesse recently posted an article on his blog saying, "NOW is the time [for Perl] to step up!!!" Jesse mentioned a discussion going on inside the Ruby on Rails community in which at least one significant member expressed frustration with the lack of intelligent software architecture methodology put into Rails. I think he called other RoR contibutors "a bunch of half-trained PHP morons," which goes a long way -- in my book, anyway -- toward describing something akin to building an automobile out of toothpicks and rubber cement.

Jesse suggests this is the perfect time for Catalyst to make a entrance. I couldn't agree more.

Catalyst is a Perl web application development framework that compares, in some ways, to Ruby on Rails. Catalyst does a fine job of providing developers with a solid MVC framework for developing web applications, but I think what makes Catalyst so formidable is that it also leverages much of the excellent Perl code available from CPAN, the global distributed repository of reusable Perl component code.

Yeah, Catalyst is awesome. I'm thrilled to be using it for a project at work right now. That may come as a surprise to people who have heard me describe KnowledgeBlue as purely-Java shop, but the company is adapting to better exploit the skills available just as I am taking steps to learn more about Java development.

Catalyst needs a lot more (well-written) documentation. There is an excellent tutorial -- Catalyst::Manual::Tutorial -- that is distributed in POD format as part of the Catalyst::Manual package, but even after going through this tutorial, a Catalyst newbie is likely to still be doing some head scratching.

The tutorial is great, really. It walks through setting up a connection to a database backend with DBIx::Class, creating templates using the all-powerful Perl Template Toolkit, and using the Catalyst tools to magically provide authentication and program flow.

The problem, however, is that Catalyst, can do so much, it can be difficult to grasp how to do simple things. The complexity of deploying a simple application approaches what a JSP developer must do. The difference is that after a JSP developer edits several configuration, source, and HTML files, he or she has a simple web application that says "Hello World." The Catalyst developer might spend the same amount of time and end up with a "Hello World" application in a very extensible MVC framework. From there, it requires a minimal amount of work to extend the application, for example, to send its output in PDF format or to get its "Hello World" message from a web service.

In addition to wrapping your mind around all that Catalyst can do and how to do it is the large number of Perl packages you must install. This is less of a burden than it used to be because a lot of Linux distributions provide the fundamental packages necessary for Catalyst development like Catalyst::Runtime, Catalyst::Devel, and Catalyst::Manual, but to really develop kick-ass applications, you've still got to install other packages like HTML::FormFu, Template::Alloy, DBIx::Class, and others in addition to their corresponding Catalyst glue modules.

I think this blog posting may be the first in a long series of brain dumps on Catalyst. I hope I can make it easier for others to transition into Catalyst development.

January 4, 2008

Jesse Stay
obfuscated, Uncle_Jesse
» 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.

, , , , , , , , , ,

Share this article with a friend...

Gregarious FeedFlare

» 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.

, , , , , , , , , ,

Share this article with a friend...

Gregarious FeedFlare

January 3, 2008

Jesse Stay
obfuscated, Uncle_Jesse
» 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.

No Tags

Share this article with a friend...

Gregarious FeedFlare

January 2, 2008

Jesse Stay
obfuscated, Uncle_Jesse
» 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.

, , , , , , , , , , , , ,

Share this article with a friend...

Gregarious FeedFlare


Doran Barton
fozzmoo
Fozzolog
» Download 0.1b1 of Apache-FileStore

Interested persons may download the first semi-public release of Apache-FileStore here.

Does anyone care? I hope so.

December 21, 2007

Jason Hall
jayce^
» Perl 5.10 for all

For those that haven't already heard, perl 5.10 was just released for perls 20th birthday.  I had hoped to note this earlier, but was in my car the last two days transporting the family to the Holiday festivities.  So, what's with 5.10? why a big deal for just another small release?  Well, unlike some languages that change major version numbers at each small release, Perl has actually kept its numbering sane.  So what is in 5.10?  A lot of new features, many of which were specifically brought down from the perl6 design.

Syntactic things like the say operator, built in switch statement, smart match, named regex captures, regex plugins and more.  Add to that interpreter improvements for speed and memory.

A good help with understanding some of the new syntactic sugar can be found in Ricardo's Slides

November 21, 2007

Jesse Stay
obfuscated, Uncle_Jesse
» 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

, , , , , , , , , , , , , , , , , , , , ,

Share this article with a friend...

Gregarious FeedFlare

November 14, 2007

Jesse Stay
obfuscated, Uncle_Jesse
» 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.

, , , , , , , , , , , , , , ,

Share this article with a friend...

Gregarious FeedFlare

September 28, 2007

Jesse Stay
obfuscated, Uncle_Jesse
» 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!

, , , , , , , , , , , , , , , , , ,

Share this article with a friend...

Gregarious FeedFlare

September 12, 2007

Jesse Stay
obfuscated, Uncle_Jesse
» 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!

, , , , , , , ,

Share this article with a friend...

Gregarious FeedFlare

August 28, 2007

Doran Barton
fozzmoo
Fozzolog
» Catalyst RPMs in Fedora repositories!

Great news for Catalyst developers using Fedora 7 or Fedora Core 6 Linux distributions: Core Catalyst modules are NOW available in FC6 extras and F7 repositories!

Yes, it's true! Just do a yum install perl-Catalyst-Devel and BAM! You'll be taking web development to a new level while staying in the comfortable world of managable packages.

(Note: Thanks to redbeard2 for pointing out my stupid typo: "are not available.")