First, Merry Christmas! Now, my "bah humbug"!
I despise adware. Its not that it is evil, in and of itself. Its just that, well, it is irritating to be exposed to someone's attempt at persuading me that I need to buy something. Look, if I have a need for something, it is quite simple to research the existing products that fulfill that need, decide and make the purchase. Do we really need to put up with the corporate propaganda stream just to use otherwise "free" software?
Since NetNewsWire switched their model to adware, I'd been looking for something to replace it. Why didn't I just pay the fee to remove the ads, you may ask? Because Newsgator doesn't offer that option. Nope, if you want to use NetNewsWire you must eat their adstream while doing it.
I had used Vienna before. It wasn't as polished then, but they have done some great work and now it is, for my needs, every bit as good as NetNewsWire. The fact that it isn't adware made the choice simple. The interface is simple and clean and serves my purposes very well.
Some features:
- Subscribe to Atom/RSS news feeds and podcasts.
- Simple and intuitive user interface with customisable toolbar.
- Built-in tabbed browser.
- Global search of all retrieved articles.
- Automatic detection of newsfeeds on web pages.
- Smart folders for organising related feed articles.
- Custom article display styles.
- Three separate reading layouts.
- Blogging integration.
- Support for downloading enclosures in articles
- Filter the displayed articles.
- Manual reordering of the subscription list.
- Full AppleScript support.
- Localised into several languages.
So if you are tired of being forced to eat ads while reading your RSS feeds, switch to Vienna. You'll be glad you did.
Tags: adware, vienna, netnewswire, newsgator, rss readers, feed readers
‘jaap’ wrote a rake task to convert your Rails application from using Gettext translation into the new I18n support, which is really great!
WARNING: Before you run the new rake task rake gettext_to_i18n:transform, read “So How Do You Fix It?” below
OK, so you’ve followed along in the article and now you want to test out your new localization system. Problem is when you try to start the server up script/server you get this error message:
/Users/cblackburn/Source/ruby/bols/lib/active_support/memoizable.rb:71:in `path': can't modify frozen object (TypeError)…or something similar.
What happened? Since you have frozen Rails and the rake task does not exclude the frozen vendor/rails directory, it modified memoizable.rb in ActiveSupport causing this error.
So How Do You Fix It?
Do one of the following:
- Backup lib/active_support/memoizable.rb before you run the rake task, then restore it after.
- Restore lib/active_support/memoizable.rb using your SCM.
For this project in my case it was
svn revert lib/active_support/memoizable.rbRecently I upgraded my blog here and lost permalinks to several articles, as well as the articles themselves. For that I apologize, if you are looking for something unfound. One such article that I referred to often was ‘Scripting Mac Terminal Using Ruby’. Though this is not the original article, here is a script I recently needed. As will all source code published herein, this is hereby released into the public domain with no warranties of any kind.
This humble little script uses rb-appscript, to change the background color, in Terminal, of the current tab you are running. I like to change colors of tabs to mean different things. For instance, where I am tailing log files – dark green… running irb – dark blue, etc.
Maybe, like me, you stay logged into several machines around the world and want to color-code your tabs based on location.
I called mine colorme.rb. The command line expects a color in this format:
- array: [0,32767,65535] of color values [Red, Green, Blue], 0 to 65535
- string: ‘red’, ‘green’, ‘black’, etc., only the basic colors work as strings
Have fun and let me know if you are doing something interesting with Terminal using Appscript on Ruby.
#!/usr/bin/env ruby
require 'rubygems'
require 'appscript'
include Appscript
_color = (ARGV.length > 0) ? ARGV[0] : 'black'
begin
term = app('Terminal')
current_window = term.windows.first
tab = current_window.tabs.first
current_color = tab.background_color.get
puts "Current Color is: #{current_color.inspect}"
tab.background_color.set(_color)
rescue Exception => e
puts "#{e}"
puts "Usage: colorme.rb array"
puts " ...where array is an array of 3 color values like this [0,32767,65535]"
puts " ...values can be anywhere between 0 and 65535"
puts " ...values, in order, represent 'Red, Green Blue'"
end
