Archive | February, 2009

links for 2009-02-28

  • When it comes to MySQL 5 servers, Querious matches and exceeds the features of Sequel Pro with style. If you don’t need to connect to a MySQL 3 or MySQL 4 database, Querious is just more polished and feature-rich than Sequel Pro and is well worth the small price tag. I hope they add MySQL 3 and MySQL 4 support soon, as I will start using it the instant they do so.
    (tags: mysql osx dba)
  • Contained in this article are 80+ AJAX scripts and resources you should have at your side while designing your own applications. Auto-completion, instant field editing, menus, calendars, interactive elements, visual effects, animation, basic Javascript, as well as an extensive developer’s suite are contained here for a useful toolbox, so that you don’t have to go through a huge list of bookmarks.
    (tags: ajax reference)
  • That's gonna give a lot of us pause for thought—many PDFs contain information we don't exactly want floating around. Assuming the email you're receiving your conversions at is secure, here's what Nitro says about their PDF-to-Word tool:
    (tags: pdf converter)
  • (tags: logos)
  • (tags: logos)
  • I’m a big fan of JSON as a data exchange format. It’s simple, lightweight, easy to produce and easy to consume. However, JSON hasn’t quite caught up to XML in terms of tool support. For example, if you try to visit a URL that produces JSON (using the official “application/json” MIME type), Firefox will prompt you to download the file. If you try the same thing with an XML document, it’ll display a nice formatted result with collapsible sections. I’ve always wanted a Firefox extension that would give JSON the same treatment that comes built-in for XML, and after searching for it for a while I just gave up and wrote my own. The JSONView extension (install) will parse a JSON document and display something prettier, with syntax highlighting, collapsible arrays and objects, and nice readable formatting.
    (tags: firefox json)
  • jQuery is exciting library with lots of great plugins. This time we created another interesting collection. Below you'll find 20 interesting plugins.
  • We wanted a way to discover relevant and interesting items from the people we follow on Twitter. Most of the time something interesting is a link shared by a friend or colleague. So we built MicroPlaza to deliver us the filtered links from our Twitter timelines. It's our discovery engine, our personal newswire and just so god damn addictive!

links for 2009-02-27

  • Our datastore stores schema-less bags of properties (e.g., JSON objects or Python dictionaries). The only required property of stored entities is id, a 16-byte UUID. The rest of the entity is opaque as far as the datastore is concerned. We can change the "schema" simply by storing new properties.
  • Webrat lets you quickly write robust and thorough acceptance tests for a Ruby web application. By leveraging the DOM, it can run tests similarly to an in-browser testing solution without the associated performance hit (and browser dependency). The result is tests that are less fragile and more effective at verifying that the app will respond properly to users.
    (tags: testing ruby)
  • most popular repositories on github
  • In the overview below we present 10 useful tips, ideas and resources for Ruby on Rails-developers (both newbies and professionals). Please feel free to share your tips, ideas and suggestions in the comments to this post!
    (tags: rubyonrails)
  • TwitchBoard listens to your twitter account, and forwards messages on to other internet services based on what it hears. Our first service will automatically save any links you tweet to the bookmarking service. We're working on connections to many other services — stay tuned!
  • SOAP is out, REST is in when it comes to the protocols being deployed as part of SOA. When asked to indicate their past, present, and estimated future use of SOAP-based Web services vs. REST-based Web services, respondents show a marked drop-off in use of SOAP, from 54% a year ago to a projected 42% in the next 18 months. The number primarily using or considering REST-based Web services is predicted to grow by a proportional amount, from 14% to 24% over the same time frame.
    (tags: soa restful SOAP)
  • Develop your ideas into a prototype without the need for programming skills. Visually specify the user interface of your software project online. Create interactive wireframes or mockups with reusable parts through a sophisticated layer concept. Describe the underlying processes by visually linking the single wireframe pages instead of using some abstract diagrams.
    (tags: prototyping)
  • The major point I wish to convey here is that all designers need to work smarter in independently determining what their talent, skill and expertise are worth and charge the client accordingly – without question or apology. Being smart in determining what you should charge for your work will hopefully allow you to “work less, charge more” in the future.
    (tags: freelance)
  • In this article we’ve listed 7 fresh and simple tools for cross-browser compatibility testing, tools that actually make this stuff pretty easy. Not only that, but every single one of these tools can be used for free.
  • So the most important thing a community site can do is attract the kind of people it wants. A site trying to be as big as possible wants to attract everyone. But a site aiming at a particular subset of users has to attract just those—and just as importantly, repel everyone else. I've made a conscious effort to do this on HN. The graphic design is as plain as possible, and the site rules discourage dramatic link titles. The goal is that the only thing to interest someone arriving at HN for the first time should be the ideas expressed there.
  • If you checked into Oscar night this year, you may have caught host Hugh Jackman's brief but hilarious quip about finding the backup dancers for his opening number on Craigslist–dubbed 'Craigslist Dancers' in his ditty. Though Jackman's dance troupe was likely anything but discount, the utility of Craigslist listings is, for many, no ruse. And the more important a service is, the more developers will create companion services to enhance the basics (take Twitter, to wit).
  • Copilot OneClick is a new feature that makes it even easier to support the people you help most often. Install Copilot OneClick once, then connect to their computers with just a single click. Whether you are helping your parents each weekend or running a corporate help desk, Copilot OneClick makes it possible for you to help people quickly without them having to do a thing.
  • Paul Graham, Jessica's husband and partner in Y Combinator, has tackled this subject on his website. "The biggest reason founders stop working on their start-ups is that they get demoralized," he writes. "Some people seem to have unlimited self-generated morale. These almost always succeed. At the other extreme, there are people who seem to have no ability to do this; they need a boss to motivate them. In the middle there is a large band of people who have some, but not unlimited, ability to motivate themselves. These can succeed through careful morale management (and some luck)."
  • Ruby's not well known for being used to develop regular desktop applications. Part of the reason has been, until recently, a lack of good GUI-related libraries. Tk, which is included with Ruby's standard library, can be used to develop desktop apps, but they're frightfully ugly and the API is from the stone age (it also received the lowest scores in the survey for how well it met users' requirements). Things are changing quickly though with developments including Shoes, wxRuby, FXRuby, and Monkeybars (for JRuby).
    (tags: gui ruby shoes)

links for 2009-02-26

  • 9. Get ramen profitable.

    "Ramen profitable" means a startup makes just enough to pay the founders' living expenses. It's not rapid prototyping for business models (though it can be), but more a way of hacking the investment process. Once you cross over into ramen profitable, it completely changes your relationship with investors. It's also great for morale.

  • The company has created an entire 37 page guide to the development process (below), decisions they made and what they learned during the creation of their PhotoKast app. Their hope is that the document might provide insights for other developers when they start out on iPhone App development projects.
  • You can practice and test and work out your presentations, you know. Author and speaker David Meerman Scott works from the perspective of perfecting his presentations, mapping them out to great detail, and then tweaking only small pieces while leaving the most of his work intact.
  • At Wiki-Teacher, we believe that there is an untapped resource within our nation's teachers. Wiki-Teacher is a forum for teachers to share their collective intelligence through their resources, insights, and practices. As a community of educators, we will control the direction of Wiki-Teacher as well as determine the relevance and value of the resources. Wiki-Teacher is made possible through the support of the Clark County School District's Curriculum and Professional Development Division.
    (tags: e-learning)
  • This article is intended for developers interested in accessing the Google Data APIs using Ruby, specifically Ruby on Rails. It assumes the reader has some familiarity with the Ruby programming language and the Rails web-development framework. I focus on the Documents List API for most of the samples, but the same concepts can be applied to any of the Data APIs.
  • This site is an attempt to document, in one place and in a uniform manner, the web services and XML data sources that are provided by the US government.
  • Everyone caches. This guide will teach you what you need to know about avoiding that expensive round-trip to your database and returning what you need to return to those hungry web clients in the shortest time possible.
  • A new follower? Should you follow back? Find out if you have common followings with them, and which people you follow that follow them…
    (tags: twittertools)
  • What if we could provision and deploy instantly? This is where the difference between “a little” and “none” comes into play. If it’s instant, the portion of time spent on it goes to zero. The development process can then improve at any speed, and deployment/provisioning will never become a barrier. Problem solved.
    (tags: scm)
  • Typically, with a RESTful API, you’ll have a well-defined URL scheme. Let’s say you want to provide an API for users on your site (I know, I always use the “users” concept for my examples). Well, your URL structure would probably be something like, “api/users” and “api/users/[id]” depending on the type of operation being requested against your API. You also need to consider how you want to accept data. These days a lot of people are using JSON or XML, and I personally prefer JSON because it works well with JavaScript, and PHP has easy functionality for encoding and decoding it. If you wanted your API to be really robust, you could accept both by sniffing out the content-type of the request (i.e. application/json or application/xml), but it’s perfectly acceptable to restrict things to one content type. Heck, you could even use simple key/value pairs if you wanted.
    (tags: restful php)

links for 2009-02-25

  • Over the weekend, I mapped the spread of Walmart using Modest Maps. It starts slow and then spreads like wildfire in the southeast and makes its way towards the west coast.
  • 1. Ask a friend or colleague, or a volunteer from the audience to monitor the back channel and interrupt you if there are any questions or comments that need to be addressed. Jeffrey Veen calls this person an ombudsman for the audience.
  • This is a TextMate plug-in which allows you to QuickLook items in your project, either by selecting the item(s) you want to preview and using QuickLook from the context menu, or pressing ⌥␣ when the project drawer has focus.
    (tags: textmate)
  • Facebook is hosting 10+ billion photos, by some measures more than any other site on the web. If the URL of a photo were temporary and difficult to guess from the public address, this scheme might be okay. The photo server will in fact respond to a request from wget without any cookies at all.

links for 2009-02-23

  • I've really been struck at how common bad apples are. Truthfully, I've been kind of haunted by my conversation with Will Felps. Hearing about his research, you realize just how easy it is to poison any group […] each of us have had moments this week where we wonder if we, unwittingly, have become the bad apples in our group.
  • Now you can personalize your Twitter background like never before. The tool below will help you create Twitter backgrounds that have the same look and feel as those done by professional graphic designers. It's easy to use, and best of all, it's Free! Give it a try!
  • Open sourced version of a simple help ticket system that we use at BIG Folio and NextProof

    I wanted to share my help desk app with you guys. I built it so our customers could submit help tickets and our staff could reply (this is a support app, not a bug tracking app).

    Anyway, I decided to open source it and share with any startups that could benefit. I've learned a ton from HN over the last year, so this is the least I could do.

  • app will allow you to mirror your Delicious bookmarks to a MySQL database. How to display them is left up to you.
  • Through the integration, users loaded into Moodle will be automatically loaded into Google Apps Education Edition, "providing users with Web-based e-mail, document authoring, spreadsheets, presentations and sites, all integrated with their online learning platform," explained Moodlerooms' West Coast Managing Director Michael Penney.
  • The best all-round image to use with rails is Pawl Dowman's Rails on EC2 bundle (or here). EC2onRails is great. Unfortunately, if you’ve never used EC2 before, you probably won’t be able to “Deploy a Ruby on Rails app on EC2 in Five Minutes” as the documentation claims, so this document will try to fill in the gaps for someone who has never worked with EC2.
  • god monitors your server processes and tasks to make sure they run smoothly, and performs maintenance tasks (such as restarting your application servers) as necessary. This Ruby application is written by Tom Preston-Werner and serves similar functionality to, and inspired by, a popular tool called monit.
  • Database backed asynchronous priority queue — Extracted from Shopify
  • …If you really need a queue, use Starling, which Blaine Cook of Twitter released, like, yesterday. Or SQS if you need really huge storage. If you just want to fire and forget a local process as you say, I think Spawn is pretty good ( ). I haven’t actually used it but seems like the best of the forking bunch. That should eliminate the startup overhead. On the other hand, you don’t get any message reliability or cross-machine scheduling. ..I agree that BDrb is shady (actually all of Drb is shady). ap4r is too
    bloated. Thruqueue is promising if you make it past the crazy dependencies list. BackgroundFu is like a worse Spawn.”
  • If you memcache first, you will never feel the pain and never learn how bad your database indexes and Rails queries are. What happens when scale gets so big that your memcache setup is dying? Oh, right, you're even more screwed than you would have been if you got your DB right in the first place. Also, if this is your first time doing scaling Rails / a db-driven site, there's only one way to learn how, and putting it off til later probably isn't the way. Memcache is like a bandaid for a bullet hole — you're gonna die.

links for 2009-02-21

links for 2009-02-20

  • Today began with a great Voice of the Customer presentation by Nicolas Peeters of Accenture sharing how over 90K of his colleagues use their internal instance of Confluence.
  • It is usually because it is too expensive. A dedicated on-site assistant costs thousands of dollars per month in loaded costs. And you have to find one and hire them and manage them. Where will you put them? If you're like most executives today, you can't afford it or your company does not have the budget. And even if you did have a company-provided assistant, would they be allowed to take care of all your personal arrangements? Probably not.
  • So we looked in the dictionary for words around it, and we came across the word "twitter," and it was just perfect. The definition was "a short burst of inconsequential information," and "chirps from birds." And that’s exactly what the product was.
    (tags: twitter)

links for 2009-02-19

  • 18) Know When to Stop
    Make sure all relevant stakeholders have the opportunity to give feedback but don’t turn this exercise into painting the Sistine Chapel. Typically I would say three drafts should get the job done. The first gets the idea onto paper. The second reflects feedback from other parties such as developers, and designers. The third should be the final polish.
  • The API (Application Programming Interface) makes it possible for you to receive data from using HTTP POST calls. There are many situations where this could be useful, including posting information on blogs, websites, software applications and other government webpages.
    (tags: api government)
  • Contribute to local media by tweeting news-worthy updates
    (tags: twittertools)
  • We’re going to build a Gem that translates from American to British, it’s going to be simple, but it will demonstrate how to think about what you’re making and how to go about it. We’ll be testing with RSpec, for more details on the syntax of RSpec, please see their site.
  • Description Understudy allows access to streaming video through the Front Row interface of Mac OS X. The user can subscribe to multiple feeds, and select a video to watch from them. Understudy currently supports Hulu and Netflix.
    (tags: osx hulu)
  • We’re developing a checklist that all websites should be checked against before launch. Let us know if we’ve missed something out, or if something needs further clarification. Some well-known and well-documented tasks (such as validation and accessibility testing) are not explained in detail as most web developers will know what these refer to.
    (tags: startup launch)
  • (tags: jQuery)
  • You’ll need Geek Tool to monitor incoming tweets. (Geek Tool is a free utility that runs as a Preference Pane and lets you embed shell output, URLs, and more in your desktop.) I set up a new Shell Command entry, with the following command (all on one line):
  • With Queued, you can quickly access and modify your Netflix queue from your desktop, search for movies to add to your queue, rate movies, and you can even launch and view Instant Watch movies directly in the application itself.
  • The channel servers are the most intricate piece of the backend. They're responsible for queuing a given user's messages and pushing them to their web browser via HTTP. We made an early decision to write the channel servers in Erlang. The language itself has many pros and cons, but we chose Erlang to power Chat because its model lends itself well to concurrent, distributed, and robust programming. It's easy to model our millions of concurrent users with a few lightweight processes each, where the same tactic in, say, C++ would have been more daunting. Programming languages are always a tradeoff; Erlang makes some hard things easy but, unfortunately, some easy things hard.
  • (tags: twitter humor)

links for 2009-02-18

  • 6. Advertgames (the whole experience is an advert), common on movie websites, can also be big like America’s Army or the Burger King games on Xbox 360. I did one of the first of these called “Cool Spot” for 7-UP. The advertiser helps fund the game and depending on the deal, that determines who earns cash out of the revenue. Your reputation will impact this equation.
    (tags: games)
  • Approach 1. Sites using the JS client must host a small HTML file that we’ll call caller.html. They should inform your JS client of its URL as an initialization step. When the XHR response arrives, the XHR iframe creates a child iframe pointing to caller.html and including a URL fragment containing the response status, content, and a callback name from the original window. caller.html simply parses its URL fragment and passes the response information to its grandparent window via a direct function call that looks something like this: parent.parent[callbackName](status, responseText).
  • # Fidelity — memes have the ability to retain their informational content as they pass from mind to mind;
    # Fecundity — memes possess the power to induce copies of themselves;
    # Longevity — memes that survive longer have a better chance of being copied.
    (tags: memes)
  • For some time now I’m devoted completely to Web Grid Design. First I built Emastic then Malo and now The Golden Grid.

    Emastic is a very complete CSS Framework integrating various CSS construction techniques like floats, absolute positioning, complete freedom of your default width, extra usability with em based grid system plus possibility of fluid columns and extra % based grid system and many more features. Then the question is why build another grid system.

    (tags: css grid)
  • It’s important to note that Quest is not a school whose curriculum is made up of the play of commercial videogames, but rather a school that uses the underlying design principles of games to create highly immersive, game-like learning experiences.
  • All of these bookmarklets/favelets will be useful to all web designers and developers, they are the quickest method for testing, analyzing and tweaking any web page.
    (tags: webdesign)
  • Renowned design theorist and social scientist Donald Schon famously described design as "a conversation with materials." By this he meant that as a designer comes up with an idea and begins to simulate how it will be constructed, she will learn new things about the forces acting upon the situation and change the way she thinks about the problem, thereby evolving her sense of the solution. Although this kind of prototyping can start to bleed into a technical proof of concept, this isn't always a bad thing. It's not just about figuring out the hypothetically ideal experience for your user audience, but more importantly, it's about figuring out the ideal experience that can actually be delivered to that audience, given a certain technical environment and development timeline.
    (tags: prototyping)