jump to navigation

Design Principles of HTML5: Jeremy Kieth Keynote Video September 2, 2010

Posted by Ryan in : HowTo, Tech, Video, , , , , , ; add a comment

Are you curious about HTML5, and how it REALLY affects the future of the Internet? Long-time web design leader Jeremy Kieth recently gave a keynote presentation on HTML5 during the 2010 Drupalcon in Copenhagen, but don’t worry, this video will be useful even for non-Drupal web designers and developers.

Video from Drupal Radar, too bad there is no HTML5 video version. :)

Jeremy goes into some universal Design Principles, like the 80/20 Rule and Postel’s Law. He even touches on the current and future state of web accessibility. This video is a must-watch for anyone who writes HTML or creates websites.

How to Upload Podcast Files to Amazon S3 with Firefox November 18, 2009

Posted by Ryan in : HowTo, Podcast, Tech, Video, , ; comments closed

I recently moved several gigabytes of audio podcast files off of my server into the cloud. Amazon S3 is a simple and cost-effective way to reliably and quickly distribute files like podcasts to a large audience.

This video shows how to upload audio files and set public permissions using the Amazon S3 Firefox Organizer and Amazon’s Simple Storage Service. Check my channel for more how-to videos and DrupalEasy.com for Drupal tutorials and podcasts.

Let’s Make it Suck November 1, 2009

Posted by Ryan in : HowTo, Local, , , , , ; comments closed

This week I ordered my copy of The Art of Community by Jono Bacon. Jono is a community leader for a big open source software project, and hosts one of my favorite podcasts, all about open source, but he tries to write the book from a neutral perspective.

Still, you have to write what you know, so Jono’s 4 big examples so far are the Jokosher sound editor, Linux user groups, the LUG Radio Podcast, and the Ubuntu project, of course.

He has a big emphasis on writing things down, which I have to say I haven’t always been the best at in the past – I like to get my hands dirty. However, when the mission, goals, and a plan are written down and shared with everyone, more doors can be opened than if you keep everything in your head.

What do you mean by “making it suck”?

One of the coolest examples from the Art of Community is when Jono is discussing methods for brainstorming. One of the ways he suggests to get people talking and break down mental barriers is by asking them to design an end product with the opposite goals in mind.

From The Art of Community, Chapter 2, p. 55:

The idea is simple: reverse the aims of what you want to achieve.

As an example, imagine you wanted to design a cell phone. Traditionally, you would brainstorm the attributes of a great cell phone. Instead, turn everything on its head. What would make the worst possible cell phone? Maybe it ignores all calls? Or maybe it only accepts calls from telemarketing companies? Maybe the buttons are too small? How about really short battery life?

Awesome idea. I’m stealing that one.

So, what’s something I love, and how can I make it suck? I think Florida Creatives would be a great thought experiment:

Um, you get the idea… Now how would you make your favorite thing suck? The idea here is not to complain about an existing problem or bring up negative points. This is to be the “minus” side of the battery (+|-) or the “south” side of the magnet (N|S). What is so far opposite from the ideal, that any change whatsoever will be a step in the right direction?

I’d love to hear your thoughts.

(some) Drupal Theming: Slides July 16, 2009

Posted by Ryan in : HowTo, Tech, , , , , , ; comments closed

For a DrupalEasy workshop we taught today for NEFLIN, I put together some slides about learning good webpage design, which is mostly geared towards theming Drupal. All of the links in here are clickable, and I highly recommend you check them out.

(pass around a shortened URL to this slideshare with http://bit.ly/sAF6i)

I spent years making static pages and hand-coding stuff before I came to Drupal, and I feel as though I was able to reach the brains of some librarians today with a few of these links. It was good fun when I was showing off the article about Sprites. One guy said “…really small, fly around sprinkling magic dust”. Indeed.

Also, a quick reminder that we have a DrupalEasy CCK and Views Workshop coming up on July 23rd at Leu Gardens in Orlando. Use the coupon code “FLORIDA” to get $25 off registration.

How to Kick Ass at Your Job – Slides from Ignite Orlando #2 June 24, 2009

Posted by Ryan in : HowTo, Local, , , , , , ; comments closed

Before you get too far into your creative endeavor, stop and think about why you got into this in the first place. Creating a Mission statement can tell you why, but should not tell you how, when or how much, but a Vision statement can. Arnold, Cyrano and Kermit can help too.

Presented at IgniteOrlando just moments ago.

My Pipes to Retweet Article as a Video May 28, 2009

Posted by Ryan in : HowTo, Tech, Video, , , , , ; comments closed

I’ve been getting lots of good karma and feedback from people about my retweeting recipe using Yahoo Pipes. In truth, the tutorial can be a bit hard to swallow if you aren’t familiar with pipes or a node-based editing system.

Xavier Vespa from Hyve Up has done an easy to follow, step-by-step version of a retweeting recipe based on the content of my original tutorial.

From: HU Twitter: How-to Retweet Automatically – Video Demo

The Least Pretentious Demo I’ve Seen in Ages April 26, 2009

Posted by Ryan in : HowTo, Video, , , , ; comments closed

Everybody can take a hint from Ryland Haggis and Lisa Bettany over at redpilot media in vancouver, b.c. (that’s in Canada, yo). It’s simply designed, the edits are not too fast, and they have a very clear message to communicate.

Redpilot Media from Redpilot Media on Vimeo.
Most Demo Reels or Trailers you see for companies try to jam as many different styles, media, bright colors, fast motion and buzzwords as they possibly can. What Ryland and Lisa have done here is notable, because, unlike all the other guys, they’re not trying too hard.

Don’t agree? Concur? Tell me why.

Your Tech Doesn’t Matter, n00b – How to Kick Ass at Your Job April 25, 2009

Posted by Ryan in : HowTo, Podcast, Press, Tech, , , , , ; comments closed

My BarCamp Presentation actually hit the home page of SlideShare the other day. I gave this at the very end of the day, so if you missed it, check it out in 35 McCluhan-inspired text-happy slides.

Training: Zero To Drupal, Orlando – May 15, 2009 April 24, 2009

Posted by Ryan in : HowTo, Local, Tech, , , , ; comments closed

My company, DrupalEasy, is holding our second monthly training course in Orlando. Our March event gave us some great feedback, and we’re excited to bring some Drupal love to Orlando.

Friday, May 15, 2009 9:00am – 5:00pm

Training Course(s): Zero To Drupal

Leu Gardens
1920 North Forest Avenue
Orlando, FL, 32803

See map: Google Maps

Join us for a full day beginner workshop at scenic Leu Gardens in Orlando to learn all you need to know about Drupal as an economical content management platform. If you manage, need, develop or design sites that require information posting and collection including blogs, forums, videos, photos, or other data, sign up now at our hometown rate of $175. Seats are limited.

Drupal offers time and cost savings without sacrificing amazing functionality because it allows for quick development turn-around, easy internal updates and virtually no limit to the number of users. Zero to Drupal includes an information-rich, no-frills session perfect for designers, website developers/administrators, and even marketing professionals looking into Drupal to keep quality while cutting costs.

We’ll provide coffee and carbs to start the venture into the who, what, why, and hows of Drupal, including how you can access the plethora of free resources available through this open-source software and its devoted developer community. You’ll learn about the building blocks, installation, updates and security, modules and themes, as well as get some hands on editing exercises to get you comfortable.

The workshop runs from 9 to 5, with a break midday so you can grab a quick bite at one of several nearby lunch spots, or take in the scenic grounds of Leu Gardens. Registration is limited, so sign up now.

Price: $175.00

Howto: Yahoo Pipes Auto-retweet recipe for Twitter February 3, 2009

Posted by Ryan in : HowTo, , , ; comments closed

I have 5 or 6 twitter accounts, and some of them are only meant to serve as a discovery point for a blog, podcast, or community. That’s why I cooked up this little pipe recipe to auto-retweet around two possible keywords, but NOT to retweet my own retweets if I did so from another account. Get it? Well, I’ll explain:

Yahoo! Pipes is a free, web-based, visual programming environment. Those of you familiar with node-based editors like Shake or some other graphics and sound programs will feel right at home. Each “module” represents an input or output, or most importantly, ways to process and filter data as it travels through the pipeline. Pipes takes as input just about any feed or structured data – in this case, the river of tweets from a particular user’s friends.

It’s pretty easy to register for Pipes and create a new pipe. When you’re done, you get a big blank piece of graph paper, and the list of sources, operators and other junk you can drop in on the left side.

Fetch Feed The first thing you need to do is go ahead and grab the twitter feed. In the left sidebar you want to find Sources > Fetch Feed and drag it on to the working area. In addition to the url to your friends list, you have to provide your username and password, because Twitter’s API requires authentication.

Like this:
http://user:pass@twitter.com/statuses/friends_timeline.atom

At this point, if you take the output from the Fetch Feed module to the Pipe Output module, you have a working Pipe. But what you want to do here is filter out results based on certain keywords, so the output can be used to help you track a conversation.

Filter keyword 1 and yourself The next module you’ll want to take a look at is under Operators > Filter. Drag this one out and take a look – this one reminds me of the Smart Mailbox rules in Mail.app, and it works in much the same way.

In this case we are going to:

Permit items that match all of the following Rules
item.title Contains fringe
item.title Does not contain bloggingfringe:

What does this mean?

  1. The first rule just pulls out tweets that contain a single word or phrase you’re looking for – in this case, “fringe”.
  2. The second rule filters out tweets by a particular user. In this case, the username contains the word you’re filtering on, so you try to take that into account.

Again, you could connect the Fetch Feed to the Filter, and then to the Pipe Output and have a working version of the Pipe. In fact, I ran the pipe like this for a long time without anything else. But this is a two-keyword tutorial, and there are some other tricks I’d like to show you.

The next phase of your retweeting script is going to prepare the text of the tweets so they give a link back to the original author. You’ll also remove a few precious characters by removing your own username from an @reply.

RSS and Atom documents coming out of your twitter friends feed give the title and body of each item the following format:
liberatr: @bloggingfringe I think it's really cool how you're retweeting our posts about fringe automatically!
This is the format you’re going to pay attention to when you apply some simple regular expression replacement to the titles.

To give all of the retweets a more trational RT @user message format, you’re going to grab the Operators > Regex module next. There are two rules you’ll use:

In item.title replace : @bloggingfringe with :
In item.title replace ^ with RT @

Regex Rules

  1. On the first rule, we are just cleaning things up in the case of a reply. Check i to ignore capitalization, so the rule matches @bloggingFringe or @BloggingFringe as well.
  2. The second rule just adds a few letters to the beginning of the outgoing tweet.

Adding the second keyword

At any given time, there are other cultural events happening, not just fringe, so you might like to make two pipes, one pipe to track each event. If both keywords are going to the same account, you can use the Split and Union operators to apply different kinds of filters.

You need to use Split and Union in this case because your filtering has too many AND and OR questions:
If someone is tweeting about "fringe" AND it wasn't written by @bloggingfringe, OR
If someone is tweeting about "arts fest" OR "artsfest" AND not "fringe"

It’s important to add the “and not fringe” to the end, because we don’t want tweets appearing twice if someone mentions artsfest and fringe in the same tweet.

I’m going to gloss over a few steps here, because they are simple, and you’ve already done a few just like these: Filters for the second keyword

  1. Create two new Filter modules
  2. The first filter looks for your keywords, in my example the word could have spaces in it, so I needed a whole filter to spell out each variation
  3. The second filter makes sure you’re not duplicating tweets in the final pipe output
  4. Put the Split operator at the very top, just after Fetch Feed. attach one of the outputs to the very first Filter and the second to the new keyword Filter.
  5. Put the Union operator just above your Regex operator from before, with your two filtering decision trees going into the top, and the output from the Union going to the Regex, and that module’s output the the Pipe Output.

Retweet Filter The last rule you’re going to apply is one final Filter module. Since you’re retweeting any tweet that mentions these keywords you care about, you may end up catching some retweets yourself, if your friends decide to share what you wrote. In the example, I have this filter appearing in between the Union and Regex modules, but you could also put this at the very top, above the Split.

Block items that match any of the following Rules
item.title Contains RT @bloggingfringe
item.title Contains Retweeting @bloggingfringe

Finishing Up

Once you get all your filters connected, splits and unions, regular expressions, feeds and outputs in order, you should have something that looks like this:
Pipe Recipe for Twitter: Auto-retweet
Please note the output (in the gray area at the bottom), and how it took the original tweet and just added 4 text characters to the beginning, adding a bit of context.

Now you have to make sure you Save your pipe, and finally click the link at the top saying Run Pipe... The only thing I want to warn you about is Publishing your pipe. Please remember that your twitter password is in there!

Pipes will format your output as RSS or JSON (or serialized PHP objects), as well as hooking into your favorite RSS aggregator and Yahoo! Alerts. As if that wasn’t enough, think about all the RSS-to-Twitter applications that exist. My personal favorite is Twitterfeed.com – which is a free service, but I encourage you to donate a few bucks via PayPal, because it’s just a fantastic thing to do!
Edit: also check out the excellent TweetBots, another way to get feeds to twitter, but it also has auto-follow and a cool way to allow multiple people to update the account using direct messages.

Gotcha: Make sure you select “Title only” in twitterfeed’s interface, or the first few words of short tweets may be repeated!

I’m sure there are lots of other ways to filter your friends’ tweets, and tons of ways to create a retweeting service, but this is one that works for me, and I just wanted to share with anyone looking for a little help.

Update: Double-retweeting
Since retweeting is so widespread, you may come across several instances where you are retweeting a retweet. Most times this will be pretty innocuous, but if you get into a situation where several of the people you’re following retweet the same message, it’s probably best to avoid those.

Example of the bad behavior:

RT @Obsessionful: I have been retweeted by @VociDance and @bloggingfringe. I'm awesome. xP: Obsessionful: I have.. http://tinyurl.com/bewhqw

RT @VociDance: RT @Obsessionful: "I think the thing getting me through this mountain of homework is the fact tha.. http://tinyurl.com/dx3x4g

RT @Obsessionful: I think the thing getting me through this mountain of homework is the fact that Arts Fest is t.. http://tinyurl.com/br65e5

No need to retweet it a second time.

Therefore, add one last Filter module just before the Pipe Output.
Double Retweet

Block items that match any of the following Rules
item.title Matches regex RT.*RT

That should take care of most double retweets.

After I first made this script, I was thinking about setting up two accounts that just retweet each other all day, and call them “echo” and “chamber”…

RT @echo RT @chamber RT @echo RT @chamber RT @echo RT @chamber RT @echo RT @chamber RT @echo RT @chamber RT @echo RT @chamber RT @echo RT...

You get the idea…