-
How Not To Sort By Average Rating
Sweet. Now someone implement this in Python. Oh, and as a Django ORM aggregation method.
Visit -
Measuring the Django Community: The Django community in 2012
Jacob writes about the size of the Django community in 2012. It’s pretty amazing how the little framework built in Lawrence, KS by some of the best friends and co-workers I’ve ever had has exploded in the past few years. I remember vividly being in that basement in Lawrence when Google announced App Engine and we all sat, dumbfounded and beaming with pride that it was based on Django. Later, we all were so stoked when Pownce launched on Django, because we felt like there was finally a big “app” (versus “site”) that ran on Django. Today, as Jacob writes, “the high-profile uses of Django read like a Who’s Who of the Internet. Check this list out: AMD, Canonical, Discovery, Disqus, HP, IBM, Instagram, Intel, Lexis-Nexis, the Library of Congress, Mozilla, NASA, National Geographic, the New York Times, Orbitz, PBS, Pinterest, Rdio, VMWare, Walt Disney, and the Washington Post. Not bad for a few nerds hacking in a basement in Lawrence, Kansas, eh?” Not bad at all. Those days in the basement were special, indeed.
Visit -
The many ways to work with CSS preprocessors
There’s a fair amount of confusion surrounding CSS preprocessors like Sass and LESS, and I think some of it has to do with the fact that there are so many different ways you can use them. I thought I’d outline the different approaches, and some of the pros/cons to them.
More -
How Basecamp Next got to be so damn fast without using much client-side UI
DHH on how 37signals has managed to make the next version of their flagship product so fast. Bottom line: cache everything.
Visit -
* { box-sizing: border-box } FTW
I’ve recently started using border-box a lot, and Paul’s right: FTMFW.
Visit -
On CSS preprocessors
Over the past couple of years, I’ve become a huge fan of Sass. It’s really the only way I write CSS now, and frankly, if anyone tried to make me write plain ol’ CSS I’d probably knee them straight in the taint.
But CSS preprocessors like Sass and LESS aren’t for everyone. At least not yet. There’s still a lot of resistance to them from the community. In fact, I resisted them for a long time, myself (here’s an old post from Nathan Borror’s blog where I outwardly hated on Sass). When you’re very comfortable with something, like many of us are with CSS, it’s hard to switch to doing it a different way.
More -
Categorizr: A modern device detection script
A nice concept, unfortantely implemented in PHP.
Visit -
This ain’t your Mama’s Internets
Sometimes I feel like our community (that of standards-oriented web professionals) prefers to talk about what we do in the most simplistic way possible — the way we built websites many years ago. In fact, most of us don’t actually build websites like this at all, and those on the cutting edge of modern web development have a process that looks almost nothing like what we talk about.
I took the time to outline the workflows at play:
More -
Identifying the same content on multiple services
As the social web has grown, we find ourselves, more and more, cross-posting content to different service. For example, when I post a photo to Instagram, I often cross-post it to Twitter, Facebook, Foursquare, and Flickr. In the process of developing this latest version of JeffCroft.com (which pulls in my content from several social networks), I found myself wishing there were a way to identify the same content in multiple places.
Each place that photo goes adds some metadata to it. I wanted to collect all of this metadata and display the photo as one item on JeffCroft.com that, for example, included both how many Flickr comments the photo got and how many Instragram likes it got — and include links to this piece of content on all the networks it exists on.
More -
Ben Ward on browsers today
“If I mark up a column heading in my code, why won’t the browser allow me to sort the table? To this day, I’m still not sure that there’s a good answer to that.” Some damn good thoughts about browsers from Ben Ward.
Visit -
Building Twitter Bootstrap
On one hand, I’m thrilled to see this ALA piece on Twitter Bootstrap, because I think Bootstrap is extremely well-done, and because it lends some credibility to my original 2007 concept of CSS Frameworks, which a lot of traditionalists shunned hard. On the other hand, Mark Otto’s article is yet another example of my complaint that ALA is focusing on the same things in 2012 that they were in 2007.
Visit -
Forest, trees, and acko.net
Few people can take the fun out of something quicker than an over-zealous user experience nerd.
Over the weekend, I came across Steven Wittens’ blog acko.net. If you read Steven’s About Page, you’ll discover that he’s a programmer who likes to “build and design cool pieces of technology.” And that’s exactly what he’s done with the latest version of his personal site. The entire UI is done in 3D, using Javascript, CSS, and not a single image. In order to build it, he had to first build his own 3D scene editor for Three.js. The end result is a mind-bending UI that not only animates perspective changes on each individual page as you scroll, but also neatly uses the HTML5 pushState API to animate changes from page to page. The whole thing is responsive, and gracefully degrades for smaller screens and browsers without support for the 3D goodness.
More -
How I Learnt enough Python/Django to be Dangerous in One Month
Nice piece describing the process one person took to understanding the basic of Python and Django.
Visit -
Magic
When I first joined the team that built Django, back in late 2005, they were hard at work doing something they called “Magic Removal.” Apparently, Django’s first few iterations had been way too magical, and it had now been deemed desirable to break down the illusions and make it very obvious how everything was being done.
This seemed absurd to me. In my very limited understanding of Django at the time, I totally agreed—it was magic. It made things that I’d previously never been able to do not only possible, but so easy and—dare I say—fun. I couldn’t understand why anyone could possibly want to remove that magic.
More -
Go ’head, Mr. Lendle
About a month ago, I got a call from Brian Ford, who happens to be my cousin. Brian’s wife, Carolyn, had come up with an idea and Brian wanted my thoughts. Amazon had recently rolled out a new feature that allows users to lend Kindle books to others using their e-mail address. This, in effect, means you can really only lend books to people you know (because you probably don’t know many stranger’s e-mail addresses). Carolyn’s idea was simple: what if there were a site that could hook you up with a stranger that has the book you want, so they can lend it to you?
Although I owned exactly zero Kindle books and in the past five years have literally written more books than I’ve read, it sounded like a pretty great idea, and I was interested in building it. The first thing I did was call up my homeboy Nathan Borror, whom I trust implicitly on all things, but especially all things web and all things books. Nathan runs social book site Readernaut, and I figured he’d be able to help me understand the ins and outs of how a service like this might work, and he’d probably also know if something similar was already out. Nathan dug the idea and said wasn’t aware of anyone else already doing it. I was sold. That same night, I dug into Amazon’s Product Advertising API to see if I could make this thing happen.
More -
Google URL Shortener API
The Google URL Shortner API looks really nice. Has everything you’d want (analytics, etc.), and seems super-simple to use.
Visit -
URL Design
Good piece. Also, if your development platform doesnt let you have full control over the design of your URLs, get a new one.
Visit -
Notes on “how to clone delicious in 48 hours”
A good reminder that the whole, “I could build that in a weekend” thing is usually a fallacy. Sure, the frameworks and libraries we have today make building the core of most web apps fast and painless. But there’s a lot more to productizing and launching an app than that core. You’ve got to deal with design, user experience, scaling, merchant accounts, legal docs (terms, privacy, etc.), scaling, SSL, security, scaling, lost password flows, error messages, copywriting, deployment strategies, scaling, backups, APIs and API docs, unit tests, scaling, and so much more. So, when your programmer tells you the app you want is “simple” and he can build it in “no time,” realize he probably just means the core functionality, not everything that is required to productize and launch your project.
Visit -
Tracking changes to fields in Django
David Cramer shows off the clever solution they use at Disqus for tracking changes to fields on Django model instances.
Visit -
On admin interfaces
A few minutes ago, I tweeted the following: “Starting to feel like any site which requires a separate admin interface is not fully baked. Am I crazy?” A couple people responded asking for more details on what I meant, so I logged into the admin interface (or backend, or CMS interface, or whatever you want to call it) of my personal site, and started this here blog post.
Which is ironic, because the point of my tweet was to say that, more and more, I’m wondering if these kinds of interfaces are necessary, or even helpful.
More -
Why I’m a hybrid. (Like a Liger. Or a Tigon. Or a Prius.)
One of the most popular blog posts I’ve ever written was titled Django for non-programmers. In it, I explained that I was not a programmer, and had no desire to become one. The article, written over four years ago, was all about how people with very little programming experience can use Django to build cool stuff. And while I still think it’s true that Django lets non-programmers do some pretty neat things, a funny thing happened over the years: I learned to love being a programmer.
Well…sort of.
More -
Transloadit
Handy-looking file upload/conversion API
Visit -
Building BarStar
Over the past few months, I’ve spent a lot of my free time working on a personal project centered around a social activity I’ve become pretty passionate about: karaoke. Karaoke? Yes, karaoke. Why? Because it’s fun, dammit. I could write a whole separate post on why I love karaoke and what makes a great karaoke performance, but my boy Jon Culver already did, so just read that, instead. But I did think I’d take a few minutes to write about the process of building BarStar, and how it came to be.
Back when I was at Blue Flavor, Keith Robinson had this idea for a simple iPhone app. We were calling it “karaoke finder.” All it was really supposed to do was use your physical location to tell you where some karaoke is going down tonight near you. Simple, but very useful, especially for those of us who travel and want to find karaoke in a city we’re not familiar with. The idea kind of died as Blue Flavor fell apart last summer.
Separately, way back in May, my good friend and fellow KC-to-Seattle transplant Scott Phelps and I had the idea to somehow make a karaoke game. Both of us were (and are) very interested in real-world social games like Foursquare and Gowalla, and wondered if such an idea could work for a niche hobby, like karaoke.
More -
Startups: Keep It In Your Pants, by Ted Dziuba
Good advice.
Visit -
Perch - A Really Little Content Management System (CMS)
Simple and clean little PHP-based CMS from Drew and Rachel edgeofmyseat.com. Looks really nice for those simple projects that don’t need something heavier.
Visit -
On applying OOP concepts to CSS
Last night, while work on a very cool client project for Blue Flavor, I took a short break to make the following tweet: “It’s amazing what you can do in very little code when you apply object-oriented principles to CSS. Wish more front-end devs understood OOP.”
I got a surprising number of responses from people asking what I meant, exactly, and for examples. I also got several responses, and a few IMs, from people touting Compass and Sass, a pair of Ruby projects that provide useful language features and syntax to CSS and CSS frameworks, allowing you to do all sorts of fancy things.
More -
Twitter @replies Saga: Oops, But the Feature Isn’t Coming Back | Epicenter | Wired.com
A nice overview of the Twitter @replies kerfluffle that went down this week, if you weren’t part of it. I guess maybe because I’ve built my share of web apps, it was completely obvious to me from the moment they announced the option was going away that it was for reasons of scaling an optimization. But Biz messed up by not just saying that. I love, love, love Twitter, but I do have a beef with the fact that they keep doing this. Every time they have a scaling issue (which is, let’s be honest, often), they solve it by removing features. I still want track back, but it was taken away in the name of performance. So was IM integration. I appreciate that Twitter is facing scaling needs the likes of which have probably never been seen by any other website. It’s a tricky problem, no doubt, and I certainly don’t have any answers for them. But, removing features to lighten the database load every time things get a little slow just seems like a back-asswards approach to optimization.
Visit -
360° MP3 player UI demo (SoundManager 2)
Really great Canvas + JS audio player.
Visit -
Xian’s django_compressor
I’ve tried pretty much all of the Django CSS and/or JSS compression apps, and Christian Metts’ django_compressor looks like the winner to me. Why? Mostly because it doesn’t make me list all my CSS/JS files in my settings — it just reads it straight from the
Visitlinkandscripttags in my HTML templates. This is how it should be. Well-done, Xian! -
EE Insider: A Gentle Introduction to CodeIgniter
Blue Flavor’s own Kenny Meyers drops you into the deep, dark, scary world of PHP. Which, it turns out, it way less dark and scary if you use Code Igniter. There’s still a damn lot of brackets and dollar signs, tough. Seriously, it’s a good article. If you’re interested in Code Igniter, check it out!
Visit -
A Detailed Django Tutorial: Blog Basics Part I
Part one of what looks like it will be a very detailed a through “building your first Django app” tutorial. Nice.
Visit -
django-lfs (Lightning Fast Shop)
I haven’t had a chance to play with this, but I’m glad to see it out there. Satchmo, the de facto Django ecommerce solution, is terrific, but it’s also pretty large, complicated, and overkill for many sites. It’s nice to have a simple solution, as well.
Visit -
Jacob Kaplan-Moss: It’s time for a change
My buddies Jacob and Frank Wiles have started a new kind of Django company: they’re focusing on supporting and maintaining your apps after you’ve written them. We all know Django makes writing apps very easy, but if you have some success, you might find yourself stuck on scaling, optimization, obscure bugs, and the like. Jacob and Frank want to be your go-to experts on these issues. Good idea.
Visit -
Django snippets: Smart {% if %} template tag
A terrific drop-in replacement for Django’s built-in {% if %} tag, this one includes logical operator support. I have a series of filters I use for logical operators in Django templates and while it works well, I think this approach is better. Plus, it’s 100% backwards-compatible with the built-in {% if %} tag, so it’s really easy to get started using it. Nice.
Visit -
django-haystack
Daniel Lindsley’s search app for Django looks wonderful. The API is perfect, and feels very “Django.” It matches up very closely with how the admin APIs work, so it feels great. Currently has support for about five different search engine backends. I wonder if there’s a chance it will eventually support regular SQL backends, as well? One of the things I liked about djangosearch was that the same app could handle simple SQL backends and something like solr when I needed it. Good-looking stuff, here. Excited to try it out.
Visit -
jQuery Sparklines
Pretty sweet-looking implementation of sparklines using jQuery.
Visit -
Django 1.1 alpha 1 released
! New features include SQL aggregation, query expressions, testing performance improvements, and more.
Visit -
Malcolm: Some Simple Django Debugging Tools
Malcolm drops some debugging knowledge on your ass. Good stuff.
Visit -
django-ratings
Good, flexible-looking Django ratings app by David Cramer. Might have used this for 97bottles.com if it’d been available at that time.
Visit -
django-paypall
Looks like a pretty sweet PayPal integration app for Django.
Visit
