Posted by Jacob Harris
Wed, 02 Aug 2006 16:46:00 GMT
I am pleased to announce that the digital shortcut PDF version (to purchase, you have to go to the Digital Shortcuts page or you can buy it from Safari Sorry!) of my Rubyisms in Rails presentation is finally available for purchase. At 54 pages in length for the low price of $9.99, I guarantee you’ll glean at least 18.5 cents of insight from each page (disclaimer: that’s a mean instructional value; although gorgeous, the title page is not particularly educational in itself).
In addition, the book is also now available in Safari Books Online, and possibly Amazon or other retailers as well. Also, be sure to check out the list of other upcoming Ruby titles.
So, what’s in it? If you’ve read the original presentation, you already have a sense of the scope of material I am covering here, but the shortcut allows me to focus on the material in greater depth. The result is a richer and more thorough examination of the examples presented in the original slides. If you are an intermediate to advanced Rails hacker, you probably know all this stuff already. But if you are a newcomer to Ruby through Rails, or you still find yourself still stuck coding PHP or Java-like Ruby, this ebook might help to align your thinking to the Ruby way.
Will I write another ebook? I’d say yes, but I’ll have to think up another interesting topic. But if you are ever thinking of creating a technical book, I’d recommend starting in a smaller dose like this first. As I discovered, even 54 pages can be a lot of work, and it’s better to test out your time commitments and abilities with something small before you start pitching large references. But that’s a topic for another blog posting. Make me happy: Buy the ebook or read it on Safari and give me your feedback. Thanks!
Update
Fixed purchase link to be go to Shortcuts page (where you can add to cart).
Posted in Books, Web Coding, Programming | Tags rails, ruby, rubyisms | 10 comments
Posted by Jacob Harris
Tue, 25 Apr 2006 17:44:00 GMT
In an apparently blatant attempt to be more like Amy Hoy, I’ve decided it’s time I did some Intro to Rails writing. Tonight I’m going to be giving a little talk on what I’m calling Rubyisms as seen in Ruby on Rails. I think one of the things that makes Rails so cool is how it is built upon some of the best aspects of Ruby’s style: duck typing, symbols, blocks, and metaprogramming. And yet, I think many newcomers to Rails don’t really notice some of the magic going on behind such simple declarations as
<% 30.minutes.from_now %>
or more complicated Rails cases like
class Review < ActiveRecord::Base
belongs_to :article
validates_presence_of :author
end
My humble little slideshow goes out to those Rails newcomers hacking code to look like PHP or Java. The conceit is to use some sample Rails code as starting points for deeper explorations into some of the Ruby coolness lurking inside Rails. This is a nice little look under the hood, but I hope it will educate people new to Rails on how to embrace Ruby style for cleaner and cooler code.
I’m posting the slides early for some last minute feedback and I might update these files if any other errors are found. I’d like to thank NYC.rb compatriots Sebastian Delmont, Ryan Raaum, Trotter Cashion, and David Black for their help and corrections as well.
The presentation itself is two parts. I’m releasing it here in two style. The light version is stripped of interstitial chapter screens and is a lot easier on the bandwidth:
If you like what you see there and want to get the version I’m presenting with images, the full 2MB PDF dump is also available:
Anyhow, I hope you enjoy my little presentation, and as always feedback and corrections are welcome in the comments.
Update (8/2/06)
This presentation is now available for sale as a digital shortcut from Informit (54 pages, $9.99). Please see my Rubyisms Redux for a small pitch and purchasing links. Thank you!
Posted in Web Coding, Programming | Tags rails, ruby | 7 comments
Posted by Jacob Harris
Fri, 06 Jan 2006 21:13:00 GMT
I have to agree with Obie Fernandez when he complains in his posting Enterprise Is Not An Insult about some of the recent derision directed at the Enterprise lately from the avant garde in the Ruby On Rails community lately. The problem is most of the mockery comes over a misunderstanding that “enterprise” means “insanely large”, which Obie points out is completely different from any definition used by people who actually work in enterprise software:
Plenty of us say “enterprise” when referring to internal-facing systems written by corporate IT departments and it doesn’t carry a stigma for being too large or too small, too simple or too complex. Enterprise projects might be large, take years, straddle business units and have global effects or they might be small, departmental efforts with only a handful of end users. So many factors influence the success of enterprise software in a given organization, only few of which have anything to do with technology.
Yes, there are large products that call themselves “enterprise-class software”, but that doesn’t mean that all enterprise software has to be big, slow, and hard to develop. But unfortunately, mocking the state of enterprise software has become an oft repeated dumb joke lately. This is like when a comedian throws out a laugh line – like slamming Microsoft or calling France “surrender monkeys” – to get a quick laugh; it’s funny at first but soon loses its novelty.
Giving a definition of my own, “enterprise software” means “business software.” All businesses want to increase their profits, and they do that by reducing inefficiency (ie, “we can track all of our operations within Excel”) or expanding into new niches (ie, opening overseas offices or offereing new business). Enterprise or B2B software – whether shrink-wrapped or custom – is what helps them get there. The best enterprise software becomes as essential as the CEO or infrastructure to a company’s success. And smart companies look to develop such software as quickly as possible, both to increase their profits quicker and gain advantage over their competitors. Yes, there is slow and clunky enterprise software, but there is also lightweight and rapidly developed enterprise software too. Speaking from personal experience, at Alacra, we work with a lot of vendors both large and small, and I can assure you that agility and profitability are far more important than slavish adherence to some awkward and enormous toolkit. Consider that the agile methodologies of Extreme Programming and Scrum were first heavily used in such large enterprise environments as Chrysler and Honeywell respectively. And I would argue that the success of such radically-new-at-the-time technology like the Web, XML, or Java was entirely due to the B2B community recognizing their value early and embracing them fully.
Which is why I think the jokes have to stop; does Rails want to continue to present itself as a niche tool for small B2C development or does it want to be a B2B player? Why have we gone from Rails does too scale! to Uptime is overrated?
Yeah, 99.9999% uptime is overkill for almost all software, but if you’re going to sell to business you shouldn’t mock people if they want 99% uptime. They’re not whinging; they want to make your product an essential tool for their business. And so I think Rails needs to embrace enterprise needs. I think David is right to resist such code additions to the core, but I think it has a place in third-party contributed plugins and code snippets. To be an enterprise player, people will want to plug Rails into working legacy database schemas, handling composite keys, potentially even interfacing with back-end service-oriented architectures; maybe even hacking lightweight support for such horrors as SOAP or CORBA. And I think such work is what Rails needs to really succeed. Maybe you think it’s selling out, but I’d rather see Ruby in the enterprise than C#. There is a middle ground between obscurity and (code) obesity; let’s not mock people for trying to find it.
Posted in Net Culture, Web Coding | Tags agile, enterprise, rails, ruby | no comments
Posted by Jacob Harris
Wed, 21 Sep 2005 04:39:00 GMT
If you haven’t seen it already, Anil Dash’s blog article titled Web Development Trends for 2006 is a worthwhile read for those curious about the future of web technology in the next year.
For me, the overall theme of this list is “Web2.0 Grows Up”. For starters, I would agree that what he terms dampening and buffering are really the main ways in which AJAX use will mature from just a “gee-whiz” factor to a basic usability requirement. I think this will be helped along by sites standardizing basic interface designs and Ajax libraries like script.aculo.us easing the way for new users. This might also be what pushes more people to do XHTML/CSS, not because of Greasemonkey, but because it’s the only way to get your AJAX stuff to work reliably.
I think the ATOM API might be important as well, but I think the bigger trend for 2006 will be the widespread adoption of syndication support (be it RSS2.0 or Atom) in many more places. RSS shines right not as a lightweight information sharing mechanism that puts REST to shame, not to mention the huge mess that is SOAP. It’s small wonder that even Microsoft has adopted RSS support within Windows Vista. While I suppose the Atom API will create a new buzz, I think the bigger excitement will be web developers placing RSS in places there are none and finding new creative ways to use RSS that haven’t been dreamed of yet.
One area that Anil Dash highlights that I would like to see come to fruition though is geeks marketing themselves. On this, he is completely correct on the importance of this, but I haven’t seen much evidence of this in the past. However, I think it might change soon. For starters, more developers and geeks are actively getting their presence out there, mainly by showing that blogging is not just for livejournal teens talking about their daily emotions. The profusion of several active Wikis is also a promising sign. Finally, I have to hope that Chad Fowler’s forthcoming book My Job Went to India (which I had the honor of test reading) will be enough to convince the remaining stragglers of the importance of promoting themselves for their careers.
I believe it’s as essential as learning to code these days. Which is why I’ve started blogging in the first place. But I will write more on that later…
Posted in Web Coding | Tags promotion, trends, web | no comments
Posted by harrisj
Tue, 03 May 2005 04:39:00 GMT
Still busy, but there is a great article at O'Reilly Radar on how great frameworks are sometimes extracted wholesale from successful applications rather than built from scratch up. That is, it's
often better to extract the framework from the application, rather than build the application on top of a framework:
That is, at 37signals, they try to design the usability and function of the application first, and that drives the implementation. And if they can then extract a re-usable framework, all the better. For example, basecamp wasn't built on top of Ruby on Rails. Rather, Ruby on Rails was extracted from basecamp.
This echoes some of the complaints I was making earlier about the
unwieldiness of SOAP for web standards. And it fits in with the philosophy of nimble technologies perfectly. Create a product, solve a need, and make it work great and the frameworks will follow, but complicated frameworks in themselves solve nothing.
Posted in Web Coding | Tags rails, ruby, soap | no comments
Posted by harrisj
Thu, 07 Apr 2005 17:34:00 GMT
Not really, but that certainly seems to be the attitude of the first poster in the Signal Vs. Noise post Ajax Takes Off
Great, so someone coins a new phrase in a shitty effort to attach themselves to a concept that’s been used for several years. What about the developers that found this solution? Do you see them hitting dozens of blogs shamelessly promoting themselves? No, they’re working on the next cool idea that inevitably some loser will try to stamp there name.
This is where quite frankly most developers annoy me. There is a large fraction of the population that are averse to any hype or popularity or style by nature. And so, it leads to this insane posturing about street cred when others stumble across their favorite technology. And so they attack the polish, they smear the evangelists, and they even will destroy their favorite technology in order to save it.
Dude, whatever. Personally, I am quite glad to the coining of the term AJAX for the nimble bag of technologies that is XML, XHTML, Javascript, XmlHttpRequest, quick server-side components, etc. Nobody likes to pronounce XmlHttpRequest. Having a nice-punchy-if-somewhat-reductive term is useful, especially when pitching your website improvements to those in management who ultimately decide your projects. Yes, Ajax is a bit of hype, but it's useful hype. Embrace it.
Besides, any thing that can be a reference to Greek Mythology, a cleansing product, or a soccer team can't be that bad.
Posted in Web Coding | Tags ajax | no comments