It is a pretty common pattern to branch depending on whether a query returns any data - for example to render a quite different view. In Rails we might do something like this:
query = User.where(deleted_at: nil).and_maybe_some_other_scopes if results = (more...)
So the best swag you can get from a technology conference is code, right? Well RedDotRubyConf 2013 did not disappoint! Thanks to some fantastic speakers, my weekends for months to come are spoken for. Here's just some of the goodness:
It all comes back to connectivity. Om Malik (TWiST #327 @00:37:30) has a brilliant characterization of the true impact of the internet:
human emotion amplified at network scale
Good news, I am back in blogging :) In recent years I have spent my time primarily on eazyBI business intelligence application development where I use JRuby, Ruby on Rails, mondrian-olap and many other technologies and libraries and have gathered new experience that I wanted to share with others.
Recently I did eazyBI migration from JRuby 1.6.8 to latest JRuby 1.7.3 version as well as finally migrated from Ruby 1.8 mode to Ruby 1.9 mode. Initial migration was not so difficult and was done in one day (thanks to unit tests which (more...)
Megar (“megaargh!” in pirate-speak) is a Ruby wrapper and command-line client for the Mega API.
In the current release (gem version 0.0.3), it has coverage of the basic file/folder operations: connect, get file/folder listings and details, upload and download files. You can use it directly in Ruby with what I hope you'll find is a very sane API, but it also sports a basic command-line mode for simple listing, upload and download tasks.
If you are interested in hacking around with Mega, and prefer to do it (more...)
Mandrill is the transactional email service by the same folks who do MailChimp, and I've been pretty impressed with it. For SMTP mail delivery it just works great, but where it really shines is inbound mail handling and the range of event triggers you can feed into to your application as webhooks (for example, to notify on email link clicks or bounces).
The API is very nice to use, but in a Rails application it's best to keep all the crufty details encapsulated and hidden away, right? That's what the mandrill-rails gem (more...)
There are a lot of people who think camera’s in tablets are a bad idea. “Nobody should be allowed to take pictures with a large tablet in front of their face.”
But if you can think outside of the traditional camera box for a moment, and start to think what’s possible if you combine a really portable computer with a decent camera, you’ll soon see interesting new possibilities.
Just a couple examples:
And that's a compliment!
Wow. This year we mark the 20th anniversary of the Visual Basic 3.0 launch way back in 1993.
It's easy to forget the pivotal role it played in revolutionizing how we built software. No matter what you think of Microsoft, one can't deny the impact it had at the time. Along with other products such as PowerBuilder and Borland Delphi, we started to see long-promised advances in software development (as pioneered by Smalltalk) become mainstream reality:
While converting my old wordpress blogposts to markdown i read some of my old posts. For example, here is what i wrote when Apple launched the iPhone in 2007:
In a couple of years mobile phones will be powerful enough to replace laptops for most common computing usages. You won’t need a separate laptop. You walk around with your mobile phone, in the office or at home you put it in a docking station, attach a keyboard and a bigger display, and you have all the computing power you need.
Some news this last week indicates we’re getting close (more...)
So eBook sales have surpassed hardcover for the first time, and it is no surprise that the rise of the tablets is the main driver.
There's something quite comfortable about having a nice digital bundle of information at your fingertips, like warm buttered toast.
With relatively open standards and the ubiquity of ereaders, the ebook has become ideal packaging for all manner of information, from training manuals to open source project documentation. Or even that book that apparently 81% of us believe we have inside.
So how do you (more...)
Work in progress
I’m a slow mover here, far behind the hype-curve, but this blog is currently being moved to jekyll. The following are some notes and links from this process.
Reasons to migrate:
- Cheaper hosting - this blog is currently hosted on DreamHost. By migrating to a static site using Jekyll, cheaper options become available, for example Amazon S3 or Github.
So I just listened to the last IT Conversations podcast of all time All's Well That Ends Well.
I'll miss the curation they provided. Did you know that 8 out of 10 interesting facts I quote at dinner parties I learned on the network? ;-)
And still learning: IT Conversations was the 2nd podcast ever? Apparently Doug Kaye uploaded a feed the day after Dave Winer posted his first example of using the RSS enclosure tag.
I'm not sure the Conversations Network couldn't have remained relevant and valuable for years to come, but it (more...)
Ik kwam vanochtend op Google+ een interessante presentatie van Magaret Leibovic tegen waarin ze onder andere de tools in firefox bespreekt die je kunt gebruiken voor het debuggen van web applicaties op een smartphone.
On my morning commute today I realised that I am actually living in the future. I remember when I got involved in the PythonCard project 10 years ago one of the major questions on the mailing list was why we were building a GUI toolkit when the future was the web. It wasn’t true then but I think that it is now.
Fortunately, no dramas. The mono team have made it a very smooth process. I simply downloaded and installed the Mono SDK (it is packaged as a standard disk image [.dmg]). That's enough to compile and run simple projects.
$ mcs hello_world.cs $ mono hello_world.exe
There's a whole cross-platform IDE available now called MonoDevelop and it looks great if you are doing serious C#. Right now though, I was happy enough to build from the command (more...)