HNHacker News
TopNewBestAskShowJobs

rit

1,099 karma · joined June 26, 2008

I like software that scales. In a past life, I worked at 10gen (now MongoDB, Inc.), where I maintained (and created) Casbah, the official MongoDB driver for Scala; I also created & maintained the MongoDB Hadoop Integration.

In the Scala world I've done a bunch of work on Akka, as well as a few other fun contributions.

[ my public key: https://keybase.io/rit; my proof: https://keybase.io/rit/sigs/4Jwnzfg6BAVyNZGJGciIgaLVUuxlthwJpO9XhSLunUc ]

submissionscomments
rit··on Show HN: SQL to Mongo Query Translator
The default query already filled in is translating to the use of a Group function, which is a very bad idea. While not deprecated per se, its use is discouraged.

Group does not function in Sharding mode at all, it also takes a lock on the JavaScript interpreter making it non-parallelizable.

Map/Reduce is somewhat better in that it is shardable, and with V8 likely in the next stable release, will have better parallelization prospects.

Ideally, you should be using the new Aggregation Framework to do this kind of work: http://docs.mongodb.org/manual/applications/aggregation/

(EDIT) To clarify - Aggregation is ideal because its implementation is 100% in C++, meaning there are no JavaScript interpreter locks necessary to run it, so it is parallelizable. Additionally, one of the biggest overhead costs to MapReduce and Group in MongoDB is the translation back and forth between BSON (the native format MongoDB uses for data, or rather the C++ representations thereof) and JavaScript types. Aggregation not utilizing JavaScript eliminates this overhead and manipulates the database' internal types directly.

rit··on MongoDB Gotchas and How To Avoid Them
The reason binaries aren't distributed by default have to do with US Export Controls -http://en.m.wikipedia.org/wiki/Export_of_cryptography_in_the...
rit··on We Need a Programmer for President
Most of the listed responsibility items would not fall under the purview of the Executive (the President) but rather the Legislature (Congress - the House + Senate).

There seems to be a persistent expectation in the United States that the President is an all powerful position that can dictate laws, etc. Remember that he can merely suggest to the legislature what should be done. While executive orders are available they often have limited scope and can be easily challenged (or even ignored).

In fact, legislatively the only real power the US President has is negative, not positive - he can say no to a legislation (by vetoing it).

Let's take a look at a few of the proposed items here:

* Issue #1: Teach Programming at an Early Age

The majority of curriculum decisions are deferred to a LOCAL level in the United States - mandates from individual states & school districts primarily decide what is being taught. Worse, because Texas is one of the largest text book markets many manufacturers simply print the textbooks used across the US to the Texas educational standards.

The only major influence I've seen in recent years on a national education standard is No Child Left Behind which, by many reports, has simply pushed schools to focus on test taking. By many reports, "Race To The Top" (http://en.wikipedia.org/wiki/Race_to_the_Top) has made this no better.

If you look at Wikipedia's article on the Department of Education, they do not really set policy in the US. Instead, 'The primary functions of the Department of Education are to "establish policy for, administer and coordinate most federal assistance to education, collect data on US schools, and to enforce federal educational laws regarding privacy and civil rights."[10] The Department of Education does not establish schools or colleges'

* Issue #2: Fixing Immigration

Again, this is primarily up to Congress to act on, and there seems to be no desire to do so. The President really has no influence on this issue directly.

* Issue #3 Abolish Software Patents

This is primarily a legislation issue – we must fix the patent system and that has to be done in Congress. The one place a President might influence this would be the appointment of Supreme Court Justices; and let us not forget that Congress has veto power over these.

* Issue #4: Internet Freedoms

This discusses amending the US Constitution; this process is not done by the US President. There are, to my knowledge, two ways of amending the US Constitution.

1. The US Congress can draft a proposed amendment with a MAJORITY of Congress approving it (2/3+), and put it to the States to ratify - 3/4+ of them must ratify it.

2. A Majority of the States can demand Congress form a Constitutional Convention to discuss creating a new amendment, then 3/4+ of them must ratify it.

I don't recall if every state deals with the Ratification of amendments the same, but I believe some can have the state legislature ratify on the people's behalf, while others have a direct popular vote.

* Issue #5: Cybersecurity

You might pull this off at the Executive level, by further empowering agencies like Homeland Security. But real action requires coordination with a Congress who can draft penalties for companies that don't comply, etc.

* Issue #6: Refactoring Congress and Agencies

Only Congress may refactor Congress; the Executive has little to no power over this.

* Issue #7: Improve Government UX

Again, we need Congress to refactor this, and probably constitutional amendment processes. A system like our Congress thrives on "insider" behavior and has little incentive to change itself.

* Issue #8: Space

Developers may care about space (I do, as well) but the majority of the United States does not. The President may propose a budget, but ultimately the Congress decides it.

the NASA budget tends to be less than 1% of the US Federal Budget, and getting it higher than that is a battle that would require a radical change in the perceptions of the American Public as well as Congress. (http://en.wikipedia.org/wiki/Budget_of_NASA#Annual_budget.2C...)

rit··on Linus Torvalds Compares Hard Disks to Satan
The OCZ drives are fantastic. I'm running a Vertex 3 right now, which rates at about 60,000 IOPS. It was a replacement for a short lived Crucial.

This is entirely anecdotal, and by no means a smear against Crucial I put a Crucial into my laptop the day before departing on a 3 month business trip to Europe last year.

By the time I got to London, the drive had failed utterly and completely. Thankfully, I had stuffed my previous drive into my bag with me and was able to recover.

I replaced it with the OCZ ( It amuses me that my time in London has made me hear that in my head as "Oh Cee Zed" ... I believe they have an even better Vertex 4 now ) and it has been a rock solid workhorse.

I've since hauled that laptop + drive over about 120k miles and 15 countries without so much as a blip.

Again, anecdotal but I adore this drive.

rit··on [dead]
Just a reminder of the guidelines posted at HN (http://ycombinator.com/newsguidelines.html):

"Off-Topic: Most stories about politics, or crime, or sports, unless they're evidence of some interesting new phenomenon. Videos of pratfalls or disasters, or cute animal pictures. If they'd cover it on TV news, it's probably off-topic."

Please, keep the posts on topic.

rit··on Vim as you IDE
As I recall, that was always the idea behind Vim. To bring the power and flexibility the author appreciated in EMACS to the style and interface of Vi.

There's value to be found in taking the best of multiple worlds into one product.

I for example, cut my teeth on Bill Joy VI, and the keystrokes are burned permanently and naturally into my brain. I love the extra stuff that Vim gives me, because it is a natural extension of that toolset that I started with.

rit··on MongoDB v2.2 released, now with database level locking
Title should be edited to reflect that this is the first release candidate, rather than GA.
rit··on Iranian nuclear program hacked, made to play AC/DC
You'd be surprised. During Operation Just Cause in Panama, US troops used loudspeakers blasting music (including Van Halen) to flush Noriega out of his hiding place.

Believe it or not, even government workers have a sense of humor ...

rit··on New High I/O EC2 Instance Type - hi1.4xlarge - 2 TB of SSD-Backed Storage
It seems we all may be missing the "backed" part - which I did on my first read through. They don't seem to be revealing how much of the logical volume is actual SSD, which I think is why they're instead putting down IOPS numbers.

Still, a huge and significant improvement over anything previously available. I'm looking forward to playing with it.

rit··on Patent Troll sues Facebook, Amazon and others for using Hadoop
Probably because Google clearly has prior art.

The initial white papers about Google Filesystem were presented in 2003: http://dl.acm.org/citation.cfm?id=945450

rit··on VISA & Mastercard Hacked
I think someone is mistaking the whole "Hacker News" title, here.
rit··on Linus Torvalds won't do github pull requests
Fun Fact:

If you tack '.patch' onto the end of a Pull Request you get a 'git am' compatible patch file complete with the email address that Linus complains is missing ;)

https://github.com/torvalds/linux/pull/17.patch

EDIT: I should note this works on any commit as well. Take this commit from Casbah (the Scala MongoDB driver I work on) - https://github.com/mongodb/casbah/commit/990a36fbde69db26689... - removing .patch gives you the normal web based github commit page.

rit··on Taxi Driver director launching a campaign on KickStarter without Hollywood
Martin Scorcese directed Taxi Driver, and isn't involved in this.

The director of this project, Paul Schrader, was the screenwriter for Taxi Driver (as well as Raging Bull).

rit··on MongoDB Hadoop Connector goes 1.0
We (10gen - I'm the primary author of this integration layer) have had a few people help us do testing with this in production, I don't know who I can name by name at the moment. However, we are happy to help you with any issues you run into and help you integrate cleaner into your stack.

[I can be contacted at my HN name on twitter or brendan at 10gen dot com]

rit··on This American Life Retracting "Mr. Daisey & The Apple Factory"
Notably as well, This American Life released the podcast and audio stream early to their website so everyone could hear it. I listened to the podcast this morning and was impressed at the way they approached it.

A particularly poignant bit for me was near the end, as Ira Glass is having a conversation with Rob Schmitz. I'm paraphrasing slightly from memory. Ira asks Rob after discussing the fact that it is established fact that many Foxconn workers do double shifts and insane amounts of overtime, "I own many of these products, should I feel bad?"

Rob replies (again paraphrasing), "It isn't my job as a reporter to tell you how to feel. It is my job to gather facts and report them as accurately as possible and let you decide."

I feel like that is one of the most important ethics missing from so much of journalism today. And it isn't just Fox News: almost every journalism source which fits into mainstream reporting these days seems to want to editorialize the news and push us on how we should feel.

rit··on Yammer CEO won't hire anyone from Yahoo who doesn't quit in next 60 days
Isn't this at least partly discriminatory? It seems likely if not Federal, there may be some kind of California law which may cover this.

It seems to me that making a public statement about this could burn them in the future.

rit··on Former Zynga Engineer doing AMA on reddit
Not a new term at all. See:

http://www.quora.com/Brogramming/How-does-a-programmer-becom...

rit··on Scala Feels like EJB 2
It's a relatively well acknowledged fact in the community that Scala's builtin actors are heavily flawed. This is why many of us switched to using Akka.

It is also why there are currently plans to integrate Akka actors into the language itself, replacing the builtins.

He does acknowledge that "It could become EJB3" which is a far sight better. But the tone of the rest of his post genuinely seems in conflict with this sentiment.

Another big piece of Scala which makes it a tremendous win over using say, Erlang, Haskell or F#, is that it integrates well with existing Java code. Many shop have been able to do new development in Scala while keeping and leveraging their existing legacy Java codebase. Something that wouldn't be properly available from these other Non-JVM languages.

Clojure of course is JVM based as well; however I'm not as familiar with it and I'll admit I don't know how well it does or does not work with existing Java Code. I do know that a few MongoDB + Clojure driver authors have had issues w/ certain aspects of our Java driver in wrapping it which seemed rather trivial. Not an indictment of Clojure, just the only view of Java compatability I've seen which anecdotally leads me to believe Scala has stronger integration.

Finally, I can't agree enough on the need for modules. It really is a major pain point... but I'm not sure it's one that we can easily fix at this point. I'd still love to see us (The Scala Community) try, however.

rit··on Where are the learning environments that are just like games like Skyrim?
Have we considered, frankly, the cost of a AAA title these days? IMDB Estimates the budget of Skyrim at $100m (http://www.imdb.com/title/tt1814884/). That isn't an unreasonable number – there have been a number of recent games which hit that as well. Grand Theft Auto IV had a budget estimated at $100m as well.

This points to the fact that the engine and the tools available are but a small part of what is needed. Granted, a big start would be getting publishers to donate their game engines to development teams for learning environments.

But... what makes these games incredible is the millions of dollars that goes into voice acting, motion capture (as I recall much of the model rendering is informed via mocap. Look at things like the woodcutting animations in Skyrim to see where this benefits), model rendering, textures, etc.

What's needed is to figure out how to reduce the cost of these things, or get collaboration from professional teams/publishers willing to donate time and/or resources to projects.

Otherwise, you'll end up with a bunch of learning environments using the same game engine as skyrim but with none of the magic.

rit··on Back to the Future Photo Project (NSFW)
The amount of hyperbole and ranting on the NSFW angle to me on this thread over the last day is rather disappointing.

One should not think of the NSFW tag as a comment on morality, puritanism or anything else. It is simply a common part of netiquette which developed as a courtesy.

"Hey, there is some stuff in this link such as nudity, questionable content, etc which may be an issue for you if you are at work, sitting in public or somewhere else potentially sensitive. Just a heads up!"

All it is meant to do is let you know. Some people work in schools, libraries or other places where this isn't OK. Not to mention that while many of us don't have any issues with nudity, myself included, we might not want to browse it at work.

Get over the whole "Oh my god $XYZ is so full of prudes, in my country this is totally OK" and appreciate the fact that it's considered polite.

rit··on Don't use MongoDB
One addendum to Eliot's "both our offices hold open office hours"; we (10gen) also recently opened an office in London.

Although we don't yet have a fixed office hours schedule, we typically hold them every 2 weeks. The exact dates are announced via the local MongoDB Meetup Group°; we always hold the hours at "Look Mum No Hands" on Old Street.

At least one (and often several) of our Engineers make themselves available during this time to answer any questions and assist with MongoDB problems.

° http://www.meetup.com/London-MongoDB-User-Group

rit··on Dear John Carmack.
Keep in mind as well that id Software was sold in 2009 to ZeniMax Media (The company behind Bethesda Softworks which did Oblivion/Skyrim and Fallout 3).

Obviously I don't know any internals of what happened post-acquisition but it's likely that John has a lot less control over the game shipping. More specifically, with a huge company behind him the likelihood is the artists etc will continue to have influence in a way that will perpetuate the OP's frustration.

rit··on MongoDB Performance & Durability (2010)
When we added it, being a new feature the decision was made not to initially flip it to default in case of bugs, unexpected behavior, etc.

As noted, it's possible that will change in future releases; there's been a lot of improvements to journaling since its initial release.

rit··on MongoDB Performance & Durability (2010)
If you are running with journaling enabled, you should get a much stronger crash recovery case.

In the event of a crash, the journal will be replayed: http://www.mongodb.org/display/DOCS/Journaling

rit··on Comparing Mongo DB and Couch DB
For the record: we (MongoDB) have a policy of not posting official Benchmarks. Could you clarify what benchmarks you are referring to that were posted and "dishonest"?

The only benchmarks we have ever done have been for internal testing comparisons between different versions.

The "Benchmarks" page on our site clarifies this policy: http://www.mongodb.org/display/DOCS/Benchmarks

Previously there were several third party benchmarks on this page, which we recently took down to stand firmer on our benchmark policy. In the interest of full disclosure however, you may examine the page history to verify that we have always clarified these as unaffiliated third party sourced.

rit··on Scala comes to .Net
There are pretty strong guidelines with regards to patents for any technology you turn over to an ECMA standard which basically removes your ability to patent troll by legal license.
rit··on Scala comes to .Net
Getting Shit Done trumps all things. The reality as well is that the majority of the .Net platform (with the exception of the Standard Libraries, I believe) are open ECMA Standards (See among others, #335).
rit··on Netflix: Because you love DVD, we'll make you pay for it
Unnecessarily editorialized headline.

notably as well, given that Netflix has been fighting with content producers to continue getting streaming rights are we really surprised they've been forced to do this?

rit··on Scaling with MongoDB (or how Urban Airship abandoned it for PostgreSQL)
For the record: we (MongoDB) have a policy of not posting official Benchmarks. I'm not sure what benchmarks you are referring to that were posted and misleading.

The only benchmarks we have ever done have been for internal testing comparisons between different versions.

What information hiding are you referring to?

[edit] The "Benchmarks" page on our site clarifies this policy: http://www.mongodb.org/display/DOCS/Benchmarks

Previously there were several third party benchmarks on this page; but if you examine the page history we have always clarified them as unaffiliated third party sourced.

rit··on Java.next() - Scala: The Revenge of the Static Typing
While this is a statement in some ways of preference it is a reasonable comment; not sure why it's getting downvoted.

However, can you clarify why you would argue for type classes over duck/structural typing? You indicate that 'type classes are the way to go' but don't explain why.

Scala of course does have a form of Type Classes and while they tend to be what I reach for more often than Structural Types in Scala, it doesn't obviate Structural Types completely and I'd be interested in analysis of the diffs.

← PreviousPage 2 of 9Next →