Friday, July 29, 2011

Java 7 paralyses Lucene and Solr - The H Open Source: News and Features

Java 7 paralyses Lucene and Solr - The H Open Source: News and Features

Skype update enables account theft - Update - The H Security: News and Features

Skype update enables account theft - Update - The H Security: News and Features

sad but not a crime: Emacs has been violating the GPL since 2009

Emacs has been violating the GPL since 2009 - The H Open Source: News and Features

Austrian ISP's wireless routers set up secret network - The H Security: News and Features

Austrian ISP's wireless routers set up secret network - The H Security: News and Features

DWH Schemas: "star" vs. "snowflake" schema

DWH Schemas | DwhWorld: "star and snowflake schema"

Wednesday, July 27, 2011

Apache Camel updates with Amazon cloud service support - The H Open Source: News and Features

Apache Camel updates with Amazon cloud service support - The H Open Source: News and Features

Anonymous plans to publish confidential data from Italy's cyber police - The H Security: News and Features

Anonymous plans to publish confidential data from Italy's cyber police - The H Security: News and Features

Mozilla's 'Boot to Gecko' to be a web operating system - The H Open Source: News and Features

Mozilla's 'Boot to Gecko' to be a web operating system - The H Open Source: News and Features

Cups 1.5 with new security functions - The H Open Source: News and Features

Cups 1.5 with new security functions - The H Open Source: News and Features

Monday, July 25, 2011

Gabor Szabo: MetaCPAN is awesome!

MetaCPAN is awesome!

MetaCPAN.org

MacBook Pro: How to remove or install memory / successfully upgrading …

MacBook Pro: How to remove or install memory:
mine is a "MacBook Pro (17-inch, Mid 2009)"

Update 2011-08-03

The compatibility list said, I should add PC3 -8500 DDR3 1066 MHz type RAM, but that wasn't available at my Saturn Berlin Europa-Center, so instead I installed "2*4 GB 1333 MHz DDR3" (cost me EUR 100, not like EUR 140 as at Gravis), and that boots nice and still works very nice.

My "About This Mac > Memory" now says:

Your Mac contains 2 memory slots, each of which accepts a 1333 MHz DDR3 memory module.

Funny, isn't it?!!

Now I run VirtualBox with WinXP inside, and I still feel like walking on air, not like on stones.

Go is go for Google's App Engine - The H Open Source: News and Features

Go is go for Google's App Engine - The H Open Source: News and Features

VirtualBox: Typing special characters

Chapter 1. First steps

SUSE and Microsoft renew the Novell deal - The H Open Source: News and Features

SUSE and Microsoft renew the Novell deal - The H Open Source: News and Features

MacPorts 2.0.0 brings support for Lion - The H Open Source: News and Features

MacPorts 2.0.0 brings support for Lion - The H Open Source: News and Features

Oracle previews MySQL 5.6 features - The H Open Source: News and Features

Oracle previews MySQL 5.6 features - The H Open Source: News and Features

Oracle deletes ex-Sun-CEO's blog - The H Open Source: News and Features

Oracle deletes ex-Sun-CEO's blog - The H Open Source: News and Features

JetBrains produces another Java alternative - The H Open Source: News and Features

JetBrains produces another Java alternative - The H Open Source: News and Features

Sunday, July 24, 2011

installing WinXP in a VirtualBox on my MacBook Pro running Mac OS X Lion

VirtualBox

Q: Why do I need Windows at all?
A: for accounting software like Lexware Quicken, Lexware Financial Office.

Update 2011-07-24 11:51
I feel like somebody put my hands in chains. This WinXP installation binds all possible resources on my Mac, and this is just my favourite machine. I will have to wait for that installation to complete, then register that installation, then do all possible updates, than install Lexware Quicken (with all possible updates), than migrate its data, than install Lexware Financial Office (with all possible updates), ...

Update 2011-07-24 12:20
What shall I get in order to comfort my patience?
Rum, cachaca, beer, coffee, ...? I think, I go for coffee. Doesn't disturb the remainder of the day.

Update 2011-08-04
Lesson learned by now: virtualization eats memory. I you spend a little on extra memory, it will run smoothly. It's basically not a matter of CPU cycles, but only of enough memory. Don't hesitate too long, before getting that.

Saturday, July 23, 2011

Mac OS X Lion Pocket Guide - O'Reilly Media

Mac OS X Lion Pocket Guide - O'Reilly Media


Resize from Any Edge
In previous versions of OS X, windows usually had resize handles in their lower-right corners. In Lion, those handles are gone and you can change a window’s size from any edge. To pull this trick off, just hover your cursor over the edge of a window and the cursor will change to a double-headed arrow; simply drag to resize the window.
NOTE
You’ll still see the occasional resize handle in programs like Microsoft Word, for example. Don’t worry: you can still resize such program windows by dragging any edge, though the resize handle works, too.
If you’re used to moving windows by grabbing an edge and dragging, that won’t work in Lion—you’ll simply resize the window. You’ll have to adjust your habits and click inside the window to drag it.

Google Chrome Frame no longer requires admin rights - The H Open Source: News and Features

Google Chrome Frame no longer requires admin rights - The H Open Source: News and Features

Mozilla releases Firefox 5 - The H Open Source: News and Features

Mozilla releases Firefox 5 - The H Open Source: News and Features

Not compatible with the Sage newsreader yet. I will wait for that then.

Update 2011-07-23
Sage was made compatible in the meantime, and I love using it.

Sales lead - Wikipedia, the free encyclopedia

Sales lead - Wikipedia, the free encyclopedia

iReport vs. version control

Tried to include a JRXML string variable with "$Revision$" as initial expression. It's impossible to have such a string, as "$" is expected to start something JRXML specific like a field, a variable (itself!!), a paramater. And including a backslash "\" destroys the idea resp. the effect.
So: no RCS / CVS / subversion strings in JRXML. Alright within XML comments they work. But then: you never know for sure, what iReport does with your XML comments. With any future release they may decide to remove XML comments. Then you are pissed.

Linux receives 20th birthday video from Microsoft - The H Open Source: News and Features

Linux receives 20th birthday video from Microsoft - The H Open Source: News and Features

SUSE ships Studio 1.2 - The H Open Source: News and Features

SUSE ships Studio 1.2 - The H Open Source: News and Features

ESA Summer of Code in Space - The H Open Source: News and Features

ESA Summer of Code in Space - The H Open Source: News and Features

how is NULL being handled in SQL?

I got asked this, and I looked it up in these books:

Selenium 2.1 improves Grid - The H Open Source: News and Features

Selenium 2.1 improves Grid - The H Open Source: News and Features

Adium not working in Mac OS X Lion

cocoaforge • View topic - Adium not working in Lion

Well, some corners work, some don't.
It doesn't function with (GTalk and) Skype so far.

Update 2011-08-01:
Well, my GTalk problem was entirely my own problem, and it was entirely caused by myself. Rather embarrassing.

the latest Woody Allen movie: Midnight in Paris (2011)

Midnight in Paris (2011)

More at en.wikipedia.org.

I would really love to see this soon – I would very much like to see this on Friday, 29th – but I will only be returning to Berlin late from a course in Frankfurt.

Friday, July 22, 2011

Mac OS X Lion: from now on you can move more than one file to a different file system

wow, that took a while!

JasperReports in Berlin | Google Groups

JasperReports in Berlin | Google Groups

I hope we can start a lot of activity there and esp. within Berlin.

Of course I don't mind, if you contact me directly. I am looking forward to challenging projects.

How to completely disable Spotlight

How to completely disable Spotlight: "mdutil -E /"

Spaces in Lion - MacRumors Forums

Spaces in Lion - MacRumors Forums

They removed the Spaces Grid for Lion, that's crappy. It must come back very soon.

For the time being "absolute positioning to a space" with the right keyboard shortcut and "threefinger swiping" up and down will help a little.

good bye, Snow Leopard! very welcome, Lion!

Just installing ...

Update:
It started with saying "33 minutes ...", but these 33 minutes do not pass as fast as on my wrist watch.

Update:
The desktop started with eyecandy: no longer that well-known starfield, but a rather more modest background.

Update:
In Snow Leopard I had my "desktops" arranged in 4x4 matrix, that's gone now, and I am very sorry for that.

Update:
For running jruby I need a Java runtime system, which wasn't there by default, but "the system" was smart enough to tell me.

spreading my CV again and again and again and …

BTW: who's got a nice project for me?

Wednesday, July 20, 2011

shell programming: "for" loops vs. "while" loops and scope of variables created within loop bodies

Variables, that you create (by assignment) within loop bodies, are well visible outside the loop body. This is valid for both kinds of loop.

CAVEAT:
If the "while" loop reads from a pipe, the "while" loop is executed within a subshell, i.e. the scope of the variables within the loop ends with the loop.

Example:
x=a
echo hello |
while read l
do
  x=b
done
echo "x=$x"

What's the output of this echo?
x=a
Example:

x=a
for l in hello
do
  x=b
done
echo "x=$x"


What's the output of this echo?
x=b

Tuesday, July 19, 2011

SQL: Limiting the Number of Rows Returned

SQL Cookbook - O'Reilly Media

Chapter 1 Retrieving Records: Limiting the Number of Rows Returned.


Problem

You want to limit the number of rows returned in your query. You are not concerned with the order; any n rows will do.


Solution

Use the built-in function provided by your database to control the number of rows returned.


DB2



MySQL and PostgreSQL

Do the same thing in MySQL and PostgreSQL using LIMIT:
select * from emp limit 5
Oracle



SQL Server


Discussion

OS X: how to lock your screen immediately?

You achieve that through the Screen Standby command resp. shortcut, iff that got set up (within the Security preferences) to Require password.
Thanks for pointing me there go to JL.
I really love locking my screen instantly, when I leave my desk.

Monday, July 18, 2011

counting the elements within a group

If you created a group by the name of this_group, you also created a counter for the elements within that group by the name of this_group_COUNT, i.e. a variable.

Mono lives on with SUSE/Xamarin deal - The H Open Source: News and Features

Mono lives on with SUSE/Xamarin deal - The H Open Source: News and Features

Google Code gains native Git support - The H Open Source: News and Features

Google Code gains native Git support - The H Open Source: News and Features

PostgreSQL: Documentation: Manuals: PostgreSQL 9.0: LIMIT and OFFSET

PostgreSQL: Documentation: Manuals: PostgreSQL 9.0: LIMIT and OFFSET:
"LIMIT and OFFSET allow you to retrieve just a portion of the rows that are generated by the rest of the query"

Friday, July 15, 2011

Jaspersoft Training Services – web based and classroom training

Jaspersoft Training

JasperETL =?= TalendETL AKA Data Integration

JasperETL Tutorials, sponsored by Talend

JasperForge > Jaspersoft Studio Forum(s)

JasperForge > Jaspersoft Studio Forums

Jaspersoft Business Intelligence Tutorials

Business Intelligence Tutorials - Jaspersoft

The Open Book on BI: Finally . . . Reporting for Eclipse!

The Open Book on BI: Finally . . . Reporting for Eclipse!

Jaspersoft: BI Built for the BI Builder

Jaspersoft: BI Built for the BI Builder

IBM to contribute Lotus Symphony to Apache OpenOffice.org - The H Open Source: News and Features

IBM to contribute Lotus Symphony to Apache OpenOffice.org - The H Open Source: News and Features

how do or should JasperReports Server and subversion interact?

I am looking this up on the forum JasperServer Discussion/Help at jasperforge.org/projects/jasperserver/forum/.
I find 2 matches dated 2009:

Actually both threads are rather identical.

Thursday, July 14, 2011

Google LatLong: Live traffic information for 13 European countries

Google LatLong: Live traffic information for 13 European countries

Think Stats - O'Reilly Media

Think Stats - O'Reilly Media

Learning Perl, Sixth Edition - O'Reilly Media

Learning Perl, Sixth Edition - O'Reilly Media

Jaspersoft joins Eclipse Foundation - The H Open Source: News and Features

Jaspersoft joins Eclipse Foundation - The H Open Source: News and Features

Hurd Progresses - Debian GNU/Hurd by end of 2012? - The H Open Source: News and Features

Hurd Progresses - Debian GNU/Hurd by end of 2012? - The H Open Source: News and Features

Wednesday, July 13, 2011

MacRuby: The Definitive Guide - O'Reilly Media

MacRuby: The Definitive Guide - O'Reilly Media

Managing Infrastructure with Puppet - O'Reilly Media

Managing Infrastructure with Puppet - O'Reilly Media: "978-1-4493-0763-9"

I like this paragraph:


Throw Away the Handwritten Notebooks
Now that you’ve learned some Puppet and implemented an automation that does something useful, I’d like to talk about what it all means in the real world. Configuration management has been around for a long time, but its nature is changing. When we used to talk about configuration management, it involved checklists and difficult to test scripts. Often the policy documents regarding these topics were where 90% of the effort landed, and even those were not well adhered to. In the new structure that modern automation provides us, the system configuration can be treated like code. We can put it in version control, write functional testing suites for it, and QA it just like application releases. Configurations can have releases that relate to application code releases in meaningful ways, and bugs are easier to identify because we have explicit records of changes. So throw away the handwritten server log, and stop making cowboy changes to production servers. There is a better way. 


I hope, quoting it will not bring me in trouble.

Well, nice software, I think!
But how many sys-admins are there out there, that like and use Ruby? Not a lot, I guess.

Ruby creator joins PaaS company Heroku - The H Open Source: News and Features

Ruby creator joins PaaS company Heroku - The H Open Source: News and Features

Cyberduck 4.1 includes new WebDAV engine - The H Open Source: News and Features

Cyberduck 4.1 includes new WebDAV engine - The H Open Source: News and Features

PuTTY 0.61 - The H Open Source: News and Features

Fresh PuTTY - The H Open Source: News and Features

Jaspersoft Studio News

JasperForge > Jaspersoft Studio News

Jaspersoft Studio works within Eclipse just like iReport works within NetBeans.

Jaspersoft Studio is a new, free, open source report designer for JasperReports. A full rewrite of iReport on top of the Eclipse platform.

jasperforge.org/projects/jasperserver/wiki

Wiki

creating JasperReports reports taking into account users and their city / cities

I found a paragraph in the JasperReports Server Ultimate Guide (6.4.3 Alternate Filter Expressins using testProfileAttribute), that seems to deal with this.

jasperforge.org/projects/ireport/wiki

Wiki

PaaS = Platform as a Service - Wikipedia, the free encyclopedia

Platform as a service - Wikipedia, the free encyclopedia

Shaaark!


Tuesday, July 12, 2011

Google Readies Ambitious Plan for Web-Data Exchange | Digital - Advertising Age

Google Readies Ambitious Plan for Web-Data Exchange | Digital - Advertising Age

Matz joins Heroku

Heroku | Matz joins Heroku

how to connect iReport to the database, that comes with a JasperServer (installation)?

This is the JDBC-URL (replace "JASPERSERVER" appropriately!):


jdbc:mysql://JASPERSERVER/sugarcrm


And the default credentials are: jasperdb/password.

Next issue: dealing with "repo:", a reference to the resource repository on the JasperServer …

Google Translate resp. what do German and Indic languages have in common?

 They share agglutination, for linguists this is the agglutination problem.

Official Google Blog: Google Translate welcomes you to the Indic web

Hacking through the Software Patent Thickets - The H Open Source: News and Features

Hacking through the Software Patent Thickets - The H Open Source: News and Features

To defend Android, Google must attack software patents - The H Open Source: News and Features

To defend Android, Google must attack software patents - The H Open Source: News and Features

Barrelfish: Microsoft's free multi-core OS - The H Open Source: News and Features

Barrelfish: Microsoft's free multi-core OS - The H Open Source: News and Features

Learning SPARQL - O'Reilly Media

Learning SPARQL - O'Reilly Media



A book by Bob DuCharme, the author of the "SGML CD", which inspired me a lot back in 1990-s.

Jenkins: The Definitive Guide - O'Reilly Media

Jenkins: The Definitive Guide - O'Reilly Media

a Google Group on "JasperReport and iReport"

JasperReport and iReport - Google Groups

It's a private group, i.e. you can't easily find something in them from outside (YKWIM).

No Starch Press book: Book of GIMP

Book of GIMP | No Starch Press

book: Cult of LEGO | No Starch Press

Cult of LEGO | No Starch Press

Planning for IPv6 - O'Reilly Media

Planning for IPv6 - O'Reilly Media

WordPress Web Hosting

http://wordpress.org/hostingWordPress › PHP / MySQL Web Hosting

how to export a blog hosted by Blogger.com?

Settings > Basic > Blog Tools > Export blog

Q: Is the output format ("Blogger Atom export format") usable for import with the WordPress blogging software?
A: WordPress.org says yes.

I also set up an account and 2 free blogs at WordPress.com; assigning a custom DNS name costs USD 12 per year and blog. That's more money than with blogger.com (i.e. Google), but it's at least an working exit strategy.

OpenOffice - splits and pirouettes - The H Open Source: News and Features

OpenOffice - splits and pirouettes - The H Open Source: News and Features

Monday, July 11, 2011

Google+ notifications via e-mail: I switched them all off

Before they were able to seriously make me sick, I switched them all off.

iReport: Java Heap Space problems

JasperForge > iReport Forums

This thread discusses, how to solve this problem at filling and also at export time (JasperReports jargon).

Filling time configuration:


  • ... > iReport > Compilation and execution > Execution options > [_] Limit the number of records (=?!= REPORT_MAX_COUNT -> the iReport UG, 6.2.3)
  • ... > iReport > Compilation and execution > Execution options > [_] Use virtualizer
  • ... > iReport > Compilation and execution > Virtualizer; apress's TDG to iReport treats the Large Report problem (a little) in chapter 18 "Solutions to Common Problems": "... Using Report Virtualizer".

Export time configuration:

The above thread discusses how to pass a "java -XmxN" parameter via iReport. (This is good for manipulating the size of the memory allocation pool.)

Traditionally that was to be specified on the iReport command line.
The modern way to achieve this is through
/etc/ireport.conf

jdbc.postgresql.org : getConnection : various properties resp. parameters

Connecting to the Database


Q: how to pass connection parameters via getConnection? which ones are there?
A: …?

Who knows?

JDBC = Java Database Connectivity - Wikipedia, the free encyclopedia

Java Database Connectivity - Wikipedia, the free encyclopedia

Q: how to pass connection parameters via getConnection?
A: find getConnection within this article!

Otolaryngologist - Wikipedia, the free encyclopedia

Otolaryngology - Wikipedia, the free encyclopedia

also (from dict.leo.org): ear, nose and throat doctor [abbr.: ENT doctor] [med.]

in German: der Hals-Nasen-Ohren-Arzt | die Hals-Nasen-Ohren-Ärztin [Abk.: HNO-Arzt, HNO-Ärztin]

Vanessa da Mata's CDs

Vanessa da Mata

Web app test framework Selenium 2.0 now available - The H Open Source: News and Features

Web app test framework Selenium 2.0 now available - The H Open Source: News and Features

Brazilian government signs up to develop OpenOffice and LibreOffice - The H Open Source: News and Features

Brazilian government signs up to develop OpenOffice and LibreOffice - The H Open Source: News and Features

Sunday, July 10, 2011

Google+ and / vs. Google Buzz

How do they think, these two will co-exist? What's really the difference between Posts and Buzz?

They don't even support the import of my my blog RSS / atom feeds (AKA syndication feeds)

Saturday, July 9, 2011

somebody without caller ID tried calling me at 20:15 on Saturday night and gave up – somthing I hate terribly

I actually preferred, if my telephone system wouldn't tell me that. Why don't they have such an option? I would even love it, if my telephone system would tell callers without caller ID, to call again later with caller ID and that calling me without caller ID is (technically) unacceptable.

Update 2011-09-09 23:41 :
Happily identified ;-)

Thursday, July 7, 2011

early return from my holiday

That b*tch was far too stressful + manupulative + authoritarian.
German? Hmm, yes, with these qualities what else?

Lesson learned – hopefully.

Tuesday, July 5, 2011

off for h-o-l-i-d-a-y (AKA holiday)

I am still not sure, whether I am going to survive this holiday because of massive nearness anxiety (in German: "Nähescheu") :-)

I hope,  my target area will not be within one of T-Mobile's white spots, otherwise: disaster mode.

For son#2 (who is going to serve as company as well) I hope, we will have a few sunny days with as few mosquitos as possible. I do take almost all possible mosquito protection with me.

how do I point my iReport to a JasperServer?

On OS X: Window > JasperReports Server Repository.
In the Repository Navigator there is an icon with a "+" (white on green) with the hint text "Add new server".

Building Web Apps for Google TV - O'Reilly Media

Building Web Apps for Google TV - O'Reilly Media

ISO extends PDF/A standard for long-term archiving - The H Open Source: News and Features

ISO extends PDF/A standard for long-term archiving - The H Open Source: News and Features

GNU Awk gets major tune up in version 4.0.0 - The H Open Source: News and Features

GNU Awk gets major tune up in version 4.0.0 - The H Open Source: News and Features

Browser market share sees Chrome growing, Firefox stalled - The H Open Source: News and Features

Browser market share sees Chrome growing, Firefox stalled - The H Open Source: News and Features

TextMate: I finally purchased a license

TextMate — The Missing Editor for Mac OS X

I call it "The MacroMate Commercial Emacs for Mac OS X".

Why did I spend the money today? Jan L. SQL application on OS X better interacted with TextMate than with GNU Emacs, and don't bother whose fault it is.

Time was simply ripe for this decision. I never seriously needed TextMate before, but as for GNU emacs Mac OS X is not really the main platform, occasionally you reach points, where you prefer more perfection, and at least on OS X TextMate is a reliable and also feature rich text editor.

TextMate Blog » Tabbing Shortcuts on Mac OS X

TextMate Blog » Tabbing Shortcuts

TextMate: Forward Incremental Search

That's emacs's isearch-forward, and for both the keyboard shortcut is C-s.

is it worth migrating from Blogger to WordPress?

WordPress 3.2 brings Zen editing to blogging - The H Open Source: News and Features

Google recently announced to discontinue Google Health.

Having this in mind, shouldn't I migrate to more reliable services on a long-term basis for my blogging and address DB platfoms?

Google Health discontinued by 2012-01-01

Official Google Blog: An update on Google Health and Google PowerMeter

Microsoft HealthVault

Microsoft HealthVault

They only allow registrations from the U.S. and the U.K., and they check  your IP address, and your location within your Live or Facebook or OpenID profile. I ran out of time faking all this (right now), but I definitely will occassionally, as I do want to have such an account in order to upload my Google Health CCR profile and maintain my health data online.

Continuity of Care Record (CCR) Standard - Medpedia

Continuity of Care Record (CCR) Standard - Medpedia

Skype and concurrent logins with multiple

I love using Skype IM from within Adium. As "everybody" knows, that needs the Skype utility to run itself in the background, and just with Skype itself you can only have exactly one login on a "Desktop" (Desktop session per computer). So if you want to be available for your friends and family throughout your awake time (i.e. also at work) with one Skype ID, you must also allow business contacts to make use of exactly this Skype ID. But then business contacts will also attempt to contact you during off-office hours, and you will have uncomfortable situations during evenings and weekends, if you are not able to serve them as requested.

So Skype / Microsoft are kindly asked to support such concurrent logins. You can have concurrent MSN / XMPP / … logins, so why not concurrent Skype logins?

Sunday, July 3, 2011

FLV, MP4, 3GP, VOB, WMV Player - Final Media Player

FLV, MP4, 3GP, VOB, WMV Player - Final Media Player

A nice utility to watch downloaded Flash files.

jaspersoftstudio : JasperForge

jaspersoftstudio : JasperForge

From JasperForge.org/projects/jaspersoftstudio:
Jaspersoft Studio is a new, free, open source report designer for JasperReports. A full rewrite of iReport on top of the Eclipse platform.

movie2k.to – the replacement for kino.to

Watch movies online for free movie download at movie2k.to

apress.com: Beginning Relational Data Modeling

Beginning Relational Data Modeling



ISBN13: 978-1-59059-463-6

They don't let me register my paper book, so that I can order the companion e-book for just USD 10.

Learning UML 2.0 - O'Reilly Media

Learning UML 2.0 - O'Reilly Media

UML 2.0 Pocket Reference - O'Reilly Media

UML 2.0 Pocket Reference - O'Reilly Media

got it as paper and as e-book

O'Reilly Media book: UML 2.0 in a Nutshell

UML 2.0 in a Nutshell - O'Reilly Media

got it as user paper book,
still want it as e-book

Friday, July 1, 2011

Friday evening, 6:20 at Berlin, waiting for my date to show up at her place

book: Pragmatic Guide to JavaScript

The Pragmatic Bookshelf | Pragmatic Guide to JavaScript

book: Groovy Recipes

The Pragmatic Bookshelf | Groovy Recipes

PostgreSQL: Manuals

PostgreSQL: Manuals

Maybe you appreciate the variants with user comments, or maybe you want to submit a comment yourself.

The Pragmatic Bookshelf: Rails for .NET Developers

The Pragmatic Bookshelf | Rails for .NET Developers