Archive Page 3
In this video posted to the SVN blog you can see a chat screen where the guys mention the Backpack Calendar:

Now, I’m pretty sure this is a deliberate leak (“I’m pumped about BP calendar” doesn’t sound like something you’d say unless you knew people would be watching), but in any case, I’m pumped about it too.
If it is deliberate, I think it’s a testament to JFs marketing acumen (generating and maintaining buzz for a product while spending the least amount of marketing dollars possible). Or maybe I’m just giving too much credit.
Regardless, it’s good to see there are always new things going on over there.
Tonight’s RUM meeting was a great one, with better attendance than last month’s meeting. Tom gave an overview of the file_column plugin for Ruby on Rails (and also has a meeting summary on his blog). It has just about everything you need to handle file/image uploads built-in, including resizing, thumbnails and cropping (if you have RMagick installed, of course, for which I’d recommend using Locomotive).
We talked a little about PDF generation, and I promised to post some links to libraries I’ve been researching. Promise fulfilled:
- Doc_convert – a library that converts documents to and from html, rtf, pdf, and word. Has a ton of dependencies though so I haven’t tried it.
- RTex plugin for Rails – haven’t tried this one either, but it seems like it might be a decent way to generate PDFs from Rails views.
- All my ‘pdf’ links on Feedmarker
Then Luke (last name? site?) gave a presentation on Sparklines and the only Ruby implementation that looks usable: Geoffrey Grosenbach’s Sparklines. I love the way these things look but still haven’t found a compelling reason/justification for including them in an app. But I’m still looking.
Speaking of Geoffrey, his Gruff library was a breath of fresh air when I was looking for something to help me do graphs for Teacherly.com. His CSS graphs library doesn’t look half bad either.
Charlie Nutter talked about the latest milestone release of JRuby, which sounds wonderful even though I don’t really understand it. At one point he was talking about a similar project that was “trying to implement Ruby in Ruby” and I just kinda got stuck in that loop. Still cool though.
Lastly, Dan Grisgby gave us a summary of what he saw at Etech, which you can read about on his blog. Suffice to say that multi-touch user interfaces are way cooler than anything anyone anywhere is working on (except the multi-touch user interface people). As soon as this is implemented for the web I’m sure it will bring browsing for porn (isn’t that what the web is for?) to a whole new level.
I’ll be out of town (Brazil and Argentina) for the next meeting, but I’m looking forward to talking a little about Feedmarker at the May meeting.
Check out DHH’s post describing all the changes. With so many fixes and cool new features, it’s kind of amazing this is just a minor release!
The difficult (and great!) thing about Rails is that every time a new release comes out I have the urge to completely rewrite all of my applications. Just browsing through some of the RJS examples, I can see how using these would have made developing Teacher! a lot easier and cleaner.
Something like this:
page[:average_grade].replace_html :partial => "student/average_grade"
would have been about ten times simpler than the pure Javascript I’m using right now.
Over at Scott Raymond’s blog there’s a more in-depth guide to what’s new, including this beauty:
%w(1 2 3 4 5 6 7).in_groups_of(3) {|g| p g}
["1", "2", "3"]
["4", "5", "6"]
["7", nil, nil]
How awesome is that? No more setting up a counter and checking wether it’s divisible by three on each loop. So I can just do something like:
@students.in_groups_of(3) { |group|
group.each{|student|
render :partial => 'student'
}
}
That’s cool.
One last thing I’m excited about: calculations. Where before I had to do a bunch of queries and insertions and array manipulations to get a student’s average grade for a group of assignments, now I can just do:
Assignments.average(:grade, :conditions => ["student_id = ?", @student.id])
I can’t tell you how much easier this makes my life. Seriously.
So, congrats to the Rails team for pushing out another release so soon after the big one-point-oh! And I’m sure there’s more to come…
Sorry for the interlude… I just got back from a nice vacation in Akumal, Mexico (I recommend it if you’re looking to go somewhere near Cancun but not in Cancun). Anyway, here are some of the sites that caught my eye this month:
event:Selectors – Justin’s blog is required reading for anyone doing Rails, javascript, or a combination of the two (so, just about everyone). He’s responsible for Rico Rounded corners without all of Rico, among other things. Now he’s out with a plug-n-play script that lets you attach javascript events to elements using only their css selectors to identify them. This is a nice, clean, easy way of js-ifying your pages without mucking them up with inline event handlers (like I usually do). No if only Shopify would hurry up and come out…
Autoviewer - a free Flash image viewer/gallery. It’s pretty, it’s intuitive, and it’s got lots of good features. Free (but includes a link back to the Airtight site).
YouOS – A Web operating system that is just good enough to make you wonder. Still not ready for prime-time, but it’s the first one I’ve seen that makes me think it might someday be.
MyBurger – based in Minneapolis, MyBurger looks like the Web2.0 of hamburger joints. It also looks a little like a hipper version of In-n-Out, but that’s actually a compliment. A simple look, a simple menu, and supposedly (I haven’t tried it yet) good food too. I bet Jason Fried would get a hamburger here. If he eats hamburgers, that is. Also they only have one location (in a skyway) and are only open in the summer (to cut costs?).
Joel Spolsky has a good (but long) essay discussing how to price what you sell. If it’s software, your marginal costs are small (or nil) and you theoretically could maximize profits by hyper-segmenting your market and charging everyone a different fee (according to what they can pay). But should you actually do this? Turns out people don’t like to be charged more just because they can afford it (surprise!).
“It pisses the heck off of people. People want to feel they’re paying a fair price. They don’t want to think they’re paying extra just because they’re not clever enough to find the magic coupon code. The airline industry got really, really good at segmenting and ended up charging literally a different price to every single person on the plane. As a result most people felt they weren’t getting the best deal, and they didn’t like the airlines. When a new alternative arose in the form of low cost carriers (Southwest, jetBlue, etc.) customers had no loyalty whatsover to the legacy airlines that had been trying to pick their pockets for all those years.”
Examples of this kind of segmentation are software site-licenses and what Joel calls “how-much-money-do-you-have’ pricing (think big, bloated, enterprise software).
And when you charge too much, it’s expensive. If your product costs $75,000, not many people will be able to afford it, and those who can are going to be very careful before buying it. That means you’ll need to send a salesperson to convince them, set up product demos, jump through purchasing process hoops, etc. This costs money, which cuts into your profits.
And it works against you in other ways too:
“...look at BEA. Big company. Big price tag. The price alone means almost nobody has experience with their product. Nobody comes out of college and starts a dotcom using BEA technology, because they couldn’t afford BEA technology in college…At these prices, the sales pitch is made to the executive, not the techie.“
Ever since I heard about Newsvine, I’ve been itching to try it. Now it’s live and I’m excited to try it out. I’ll let you know what I find out….
via Veerle (who, by the way, just re-launched her excellent site as well)
Found an article called Real Lessons for Rails Deployment today via Peter’s blog, (although I think I may have come across it earlier while searching for help getting my Rails apps under control). In my experience, the hardest thing about developing an application in Rails is actually launching it on your server.
There are a ton of options, but from what I’ve read, the best ones require a dedicated server or a VPS. Like most people, I can’t afford that; I’ve got shared hosting. Unfortunately, Rails is tricky to deploy on a shared server.
The best option I have on my host (I suspect this goes for a lot of people) is to use FCGI with Apache. Lighttpd and SCGI apparently are much better and more stable, but my host doesn’t support them for shared accounts.
The problem with FCGI, despite it’s speediness, is that it’s unreliable. This details of this are a bit beyond me, but from what I’ve read, the library is a bit stale (hasn’t been updated in a while) and has some wierd quirks that make it go bonkers if it runs too long.
I run two Rails apps on my shared account, Feedmarker and Teacherly. If I don’t periodically kill my FCGI dispatchers, they’ll just grow and grow and eat up memory until the server crashes. This is bad.
When I noticed this happening, I set up a bash script to find so-called “zombie” dispatcher.fcgi processes and kill them. I run this via cron every half hour. Ever since I started doing this, both apps have been humming along fine, and the load on my server is far lower.
Links:
- Script to kill rogue FCGI processes
- Thread on solving some FCGI problems on Apache (hint: use ActiveRecord based sessions instead of tmp files)
- Using SCGI
Feedmarker: a new feature every 30 minutes
0 Comments Published March 2nd, 2006 in Feedmarker, Ruby on RailsOk, not really…I wish. But the latest thing I added to Feedmarker did take me literally thirty minutes to implement (from idea in my head to live on the production site). This is crazy fast, and in my opinion only possible thanks to Ruby on Rails.
Anyway, from now on, whenever you bookmark a url that ends in “.mp3”, Feedmarker will automatically add a little Flash-based mp3 player before the bookmark’s title. That way, you can bookmark all the music you want and people can listen to it right inside Feedmarker (del.icio.us has been doing this for some time).
Here’s what it looks like:

Check it out for yourself…all you need to do is log in to Feedmarker and bookmark an mp3.
Just wanted to let everyone know what I’ve been up to lately (besides re-writing Feedmarker and releasing it as open-source).
I’ve been working on adding graphing functions to Teacher! reports. After I push the next release, when you create a report, you also see a graph of that student’s grades as they compare to the class average:

I think this will be a really nice feature that will help teachers create informative, professional reports without wasting a lot of time putting graphs together by hand.
I’m using a graphing library for Ruby called Gruff. It’s super easy to use and comes with some great looking themes built in; if you haven’t checked it out, you should. Nuby on Rails has a good tutorial to get you started.
Gruff requires RMagick, which can be tricky to get running on Mac OS X, unless you use Locomotive, as I described in an earlier post.
Chalksite.com - a total web package for teachers
5 Comments Published March 1st, 2006 in AJAX, Ruby on Rails, Teacher!Just came across Chalksite.com, a Ruby on Rails application for teachers, parents and students. It’s not open to the public yet (coming spring 2006), but it looks like it could be pretty cool. I’d love to get an early look to see what they’re up to, and to see if there are similarities to my Ruby on Rails grading application, www.teacherly.com.
Chalksite is being built by Aaron Boeving and Stephen Rainey at Clear Function, a web design and development firm in Memphis, TN. You can check out their blog here.
Search
About
You are currently browsing the Feedmarker Blog weblog archives.
Archives
Categories
- AJAX (17)
- Blogs (3)
- Education (6)
- Feedmarker (27)
- Folksonomy (5)
- General (42)
- Javascript (4)
- minnesota (1)
- PHP (4)
- RSS (6)
- Ruby on Rails (33)
- Social Software (22)
- Teacher! (4)
- Walkwardly (2)
- web2.0 (3)
- Wordpress (1)