[GEEKY] Great set of excellent Rails 3 Gems
Just a quick read of this post showed me several great gems that I want to try right away! If you're a Rails programmer this is going to be of great interest: Rails 3: Fully Loaded
ActiveAdmin is particular looks like an excellent new way to generate a whole suite of reasonable views and controllers to create, read, update and delete information in Rails3 applications. ActiveAdmin is customized with a DSL so that you have a prayer of getting what you want without hacking the hell out of the logic that is built in. I will definitely try it.
Hilarious blog post teaching Israelis how to adapt to living in the USA
This is too funny. Here's a taste, but you should read the whole article saying how an Israeli should adapt to living in the United States. For example, this is about the express line in the super market:
"The express line operates differently in American grocery stores, and might take some getting used to. The 10 item limit is strictly enforced. It would not be considered normal for you to haggle and argue with the sales clerk and to raise your voice because you only have 11 items. It is even less likely that as you stood your ground, the people in line behind you would start to call you names and to yell at the clerk for not moving on. And do not expect six people to simultaneously yell at each other at the top of their lungs as a result of this unlikely confrontation. As you can see, the express line requires an adjustment period for any Israeli, and is perhaps the place where you will first start to feel homesick." (from Advice for Israelis coming to the United States)
University Teaching – homework, tests and grades?
I am about a week from beginning teaching my course at Brandeis University. The curriculum is a little different from last year, focusing on mobile software engineering and game development. This is different from last year, where we focused both on web and mobile software engineering.
The structure is that we teach during june and july, 4 days a week, and the students end up with 3 courses worth of credits. The students are both graduate and undergraduate. Given the time frame you can see that it's an intensive boot camp-like experience. It's a lot of work and a lot of fun.
So with my mind on teaching, curriculum, homework assignments and grading, I made note of "The Poor Quality of an Undergraduate Education", an article about higher ed in the New York Times:
"In a typical semester, for instance, 32 percent of the students did not take a single course with more than 40 pages of reading per week, and 50 percent did not take any course requiring more than 20 pages of writing over the semester.
The average student spent only about 12 to 13 hours per week studying — about half the time a full-time college student in 1960 spent studying, according to the labor economists Philip S. Babcock and Mindy S. Marks. (from The New York Times)
There are serious questions about how much homework is enough or too much. There are also serious questions about grading. I ponder these, from a newbie 's perspective - after all this is only my second year teaching at Brandeis.
I happen to think that the greatest learning happens when a student is struggling to solve a difficult problem or trying to formulate and defend a subtle opinion.
I also think that while I work hard at preparing a good lecture, that the most I can expect is to get the student excited about learning a topic, help them find perhaps the key concepts that they need to try and understand and give them excellent feedback on the work they are doing.
So we grade on homework and class participation/performance. There are no tests. However, many argue that grading itself is not a useful tool. If the student is motivated and works hard they learn, and if not they don't. After all, in the real world you don't have tests and you don't get grades, right?
I kind of agree with that. For me, grading is not about the final grade, when all is said and done. It is about the daily 'marks' on homework and other deliverables - they act as a motivator and a focuser of student effort to spend time on things that seem to lead to the greatest learning.
(remember, I'm a newbie 🙂 )
[GEEKY] REST and the PATCH verb
Last year when teaching REST concepts at Brandeis University I proved the truism that there's no better way to learn about something than to try and teach it. We (all) wrapped ourselves around the axle trying to understand HTTP "PUT" versus HTTP "POST" and learned new english words like Idempotency. I won't go into the whole story because it's kind of long.
< gross simplification> But one of the keys ideas that is tricky to understand is the difference between PUT and POST in REST as it is implemented using HTTP. PUT replaces a specific resource (think of it as a record for a specific key) while POST creates a new resource. < /gross simplification>
So I was interested to see that there's a move afoot (no idea how serious this will turn out to be) to add a new verb to HTTP/REST, to change an existing resource - not replace it like PUT does, or add a whole new one like POST does, but change one or more parts of it. In effect, it "Patches" it. Seems like a useful idea
[GEEKY] Devise Gem – current favorite for authentication of Rails Applications
How to build authentication into Rails applications? Well, at least at RailsConf 2011, the buzz was around a new Authentication gem called Devise.
I played with it a little (here in the airport) at it seems quite nice and straightforward. Check it out if you were looking for something like that.
railsconf
[GEEKY] Magic Rails Applications with Hobo
Another tidbit I came across at RailsConf is Hobo. I haven't tried it myself but did just go through the screencast and tutorial. I think it's worth a closer look.
"Hobo is a plugin for Ruby on Rails that brings a number of extensions—some small some large—to Rails application development. The common theme to these extensions is rapid development.
Like Rails itself, Hobo encapsulates a number of opinions about web application development. The opinion that is most central to Hobo is this: we have found that there is a great deal of similarity from one web application to the next. Much more similarity in fact, than is supported by today’s frameworks. We would rather implement this stuff once." (from Hobo Web Site)
The question with these kinds of packages is whether they are flexible in the right ways or whether they will get in your way when you try to do what you need to do. I can't answer for sure.
If you are looking for a further accelerator for building Rails apps, Hobo is a good option to explore.
railsconf
[GEEKY] Yes, Virginia, Rails DOES scale
Why doesn't every one love Rails? I am surprised when I run into someone (Pat?) who's not so sure about Rails. Usually it's about scalability.
[I warned you this is a geeky post]
When I am designing or building a system and am questioned about whether writing it in Ruby or Rails is a good idea. Or if someone asks me my opinion or for advice about whether it makes sense that his or her developers are recommending Rails for a big site.
What I believe is that scalability has to do with the overall system architecture -- caching, queueing, horizontal scalability and so on. It does not have to do with the programming language. (What the LivingSocial guy said about this wasn't quite as polite - he said "get better developers!!!")
I am at this conference, RailsConf, overflowing with hard-core Rails fanatics, so the sample is admittedly biased. But I did pick up some fact-based tidbits.
Did you know that two of the biggest web sites out there today are built totally on Rails? And I don't mean Twitter. No, LivingSocial.com and Groupon.com. Both huge. Both perform beautifully. Both written totally in Rails.
'Nuf said?
railsconf -- What, can't I use hashtags in a blog post?
Word of the day: Witholding or Withholding
One or two H's? Don't look it up!
MSFT and Skype, my angle
Check this post Why Microsoft bought Skype from I, Cringely:
There is so much to write about but I’ll begin with Microsoft buying Skype for $8.5 billion. The pundits are debating whether this move by Microsoft CEO Steve Ballmer makes good business sense, but that’s the wrong way to look at it. The better approach is to wonder what would have happened had Microsoft not bought Skype? Based on the high price alone I’m fairly confident that Ballmer felt he had no choice but to buy. In fact I’m fairly certain he felt that not buying could have doomed Microsoft.
Ok there's not much to add to this story, except one angle. In my view, this is good for Google. Say what? Microsoft is probably going to doll up (or ruin) Skype with all kinds of Microsoft specific crap making it heavy and ugly if you are not a Microsoftie.
Now you might argue that most of the world is a Microsoftie, and I assume you are right. But I wonder whether that is true of the millions of Skype users.
I know for my own sick mind, Skype began losing it's luster as it made it's Mac client bigger and uglier. That will only get worse. For my own sick mind, again, I am now more attracted to Google Voice than I was before.
If my own sick mind represents a sizable group, this can actually end up helping Google and hurting Microsoft.
Crazy?