HN user

ssmoot

1,414 karma
Posts1
Comments640
View on HN
A Grain of Salt 10 years ago

So I just checked out some crash videos on YouTube. The Model S appears to have a surprisingly small crumple zone.

That's just my layman's perspective, but take a look and see if you don't agree. The front readily collapses, but just past the center-point of the wheels (presumably about where the motor area starts) it's a brick wall and the whole 2+ ton vehicle just stops in it's tracks.

Compare that to Volvo crash tests, especially the Euro NCAP Small Offset. The front fender of the Volvo disintegrates, but then the wheel actually flys off and the front of the cabin even appears to absorb some energy. It looks like a much softer landing. The interior shots are even more impressive with less deformation and a lot more padding with a lot less slack in the airbags.

Taking a look at the XC90, it's probably no surprise then that it achieves significantly higher ratings, despite having a 4-cylinder ICE in the engine bay. (see http://www.euroncap.com/en/results/volvo/xc90/20976 and http://www.euroncap.com/en/results/tesla/model-s/7897)

I didn't run across any Model S tests where it looked like that long hood was actually doing much for it since it appears to hit some sort of impenetrably stiff wall halfway through. You can look at the crash test video during a Musk demonstration and see the same thing. There's some sort of structural member there in front of the motor that just doesn't seem to give way.

BTW, it actually appears the Honda Accord mentioned is slightly safer (except for pedestrians) despite the tested model being 5 years older.

The Model S is no doubt a very safe vehicle overall. But it's not the second coming, and Musk's talk of crumple zones appears to be more Marketing than Truth (and the ratings bear that out).

That "Tesla Model S breaks roof test" for example? Not the strongest. Not even at the time of testing. Here's the current generation XC90's results for example: http://www.iihs.org/iihs/ratings/vehicle/v/volvo/xc90-4-door.... Over 10 tons. The previous generation was off about a ton. As far as I can figure out both figures are greater than the Model S's despite the fan-faire.

A Grain of Salt 10 years ago

In addition to the engine going under the vehicle (even at fairly low speed crashes; just watch NHSTA videos on YouTube), the front motor in a Model S is more dense and weighs about the same as a 4 cylinder engine, transmission and accessories. I'm gonna call that a wash until I see evidence to the contrary.

Straight on collisions aren't even the toughest ones to pass. It's the small offset tests that really seem to give manufacturers a hard time. And no engine there.

Thanks for correcting me. I could've sworn I saw annual maximums when I looked on healthcare.gov but maybe I mistook the max out of pocket for a max annual.

The example I used is the case presented in the video. I just googled for Bob Weinkauf.

http://writingshares.com/cnn-anderson-cooper-medical-news-vi...

I was also curious when this happened. Looks likely to be under the ACA unless it took years to hit the news though.

So I don't know. Maybe he went to the emergency room and it was out of network under his plan, leaving him to shoulder the costs. I didn't dig much after skimming for an approximate date.

No. I don't. I mean that they had the most important safety net of all: Family with the will and ability to help financially.

I'm genuinely curious what financial life lessons you think a middle class kid is learning that a poor kid doesn't understand at a much deeper level.

My own experience is that (some) middle class kids succeed despite their own failures (dropping college classes before the grade becomes part of record stands out in my mind), and then attribute their success to their superior work ethic and intellect.

If most poor people fail to move up the class ladder, then in their same situation you're just as likely to fail. It's either that, or believe yourself somehow innately superior. I can't really think of a third option. It's like the adage about being surrounded by assholes.

You're right. Life isn't fair. But that doesn't mean the person cleaning my house isn't entitled to financial stability. I'm not religious, but I can't think of a secular version of "but for the grace of God".

I know middle income people spending their money on craft beer on the weekend and not participating in their company 401K. Or living effectively paycheck to paycheck. They may have "disposable" income, but only in the sense that they can float emergency spending on credit.

So yeah, there's a difference, but it's one of privilege.

Bad long-term financial decisions aren't exclusive to the poor.

You grew up poor. That doesn't mean your new middle-class peers had to learn the same lessons you did. They aren't middle class because they're smarter, more disciplined or have a better work ethic. They're middle class because they were born middle class.

Wanting to improve class mobility is one thing. Blaming the poor for not doing so on their own is another.

The fact of the matter is, people make bad choices. People who make bad choices are more likely to be poor. Lack of impulse control is extremely prevalent in poor communities. Like the GP, I was poor, I know poor people, and 95% of them are just shit at thinking long term.

This is true of most Americans and is incredibly condescending. The poor are better with the money they do have than the middle class by a huge margin IME. The poor by and large don't blow their money on "fine dining" or new cars. They change their own oil. They don't spend over $100/month on cable TV packages. You can find exceptions to all those of course, but they prove the rule IME.

BTW, your post didn't get the attention I'd hoped, but THANK YOU for "fighting the good fight".

IMO this stuff is more important than any technical choice you could possibly make. And I happen to think some technical choices are pretty vitally important. But even so...

Like the Agile Manifesto it's all about balance (IME).

One of the (many) ways I failed as a manager was to not trust my gut. To want to enable my team, even when what I thought they were pitching was questionable. I'd hoped that some technology, or this particular team would prove my own previous experience wrong. That through the power of team work and ambition it would turn out differently this time, but most of all, I couldn't figure out how to present a convincing argument to the team why I was skeptical and I didn't want to leave it at "because I said so".

On reflection, a cure might've been to ask for further analysis, both rewards and risks, balanced against costs. But that often comes with it's own cost and what I really wanted to say was: "We're not doing this because the solution in hand is good enough and better at any non-trivial price doesn't serve our business interests."

Of course being a developer myself that's a difficult message to internalize.

I guess it comes down to: I'm still not sure how to handle this situation, but experience definitely needs to be weighed heavily IMO and if your processes (and management experience) are lacking in maturity a lack of leadership in preventing a less experienced team (though very technically skilled, enthusiastic and hard working!!!) from making bad decisions can be devastating as well.

I guess what I'm trying to say is that, through my own mistakes managing teams, I think a lack of confidence and projected authority can be just as bad as any of the sins listed here, and is an important balance to consider on the flip-side of Arrogance.

That said, the rest of the list here is spot-on. The only nit I'd pick is Sloth. A description closer to my own experience might be one where the requirements are known, but not communicated thoroughly and clearly.

When a developer can say: "Show me where I was told this" and you can't respond with a URL to an Issue, instead relying on a months old email, Slack message that wasn't acknowledged, or no proof at all, then you have a big problem. Knowledge that isn't communicated, or analysis that's only half done, can mortally wound any project where the developers don't have the authority to decide the success parameters (time, budget or scope).

+1. I'm talking to you Sharon! I'm tired of getting your loan application details and RNC propaganda delivered to my inbox.

I'm just as annoyed at companies that don't bother with any kind of email confirmation click-through before sharing personal information though. I even frequently get one-click links to edit people's profiles with all their personal details.

If it includes a phone number I send them a polite text and ask them to be more careful when typing in their email address. I figure a little stranger danger fear might help motivate them to stop signing me up to be spammed.

OTOH I'm seriously considering leaving behind my many years old GMail at this point. I really only use it as an identity service for other site's logins 99% of the time. I just don't know what the options are and I don't feel like signing up for something that might not be around next year.

Just looked at the rails documentation for the first time in years. It's drastically improved.

My experience with earlier versions was that you kinda had to piece it together yourself. Learning Play Framework was 10X easier for me since the docs were already there: https://www.playframework.com/documentation/2.5.x/Home

So I think maybe you're just not considering non-Ruby options. Which is totally your prerogative. Just saying it's not my experience. It may be the best Ruby framework. But that's a different argument.

What I really need when I'm starting a new project and I'm working on a shoestring budget, is speed. I need to build something fast so I can get funded.

Aside from syntax, I don't see any reason anyone would be faster with Rails. It's certainly not my experience. I worked with Ruby for 8 years. I've seen some very talented and very enthusiastic Rails developers. I've never seen one that could build an app faster than even an ASP.NET developer from years ago, and I certainly don't see any advantage over Play, which is generally more stable, much faster, projects generally have fewer dependencies.

The performance advantage of other platforms is underappreciated IMO. The fastest code is no code. If I can do something in Scala through brute that would be impractical to do within the request/response cycle in a Rails Action, that's a development speed advantage. If I never need to consider using some sort of background job service like Resque or message queue because I can just say `Future(someComplexOperation)`, that's a development speed advantage. If I don't need to tune my app or worry about my caching strategies because it's just that fast... You get the point I'm trying to make I'm sure.

Outside of performance, deployment (far simpler with Play), language syntax, and ActiveRecord (I'd just use the simpler, faster Lightbend Slick library) they're basically the same framework. Play doesn't chart much new territory. Sure WebSockets integration with Actors is lightyears ahead. But many won't ever touch it. There's some JSON stuff with validations that's very powerful, but embedding the equivalent of a JSON schema in your Action is verbose beyond trivial examples. I'm not sure how much use it gets.

I found Play much easier to learn than Rails (again, this was years ago) and much more consistent. Given the other advantages, all things being equal (familiar with both Scala and Ruby), it's tough to imagine many developers choosing Rails unless they were worried about externalities like building a team or something.

It'd be interesting to hear the thought process of such developers though if they're out there.

There's nothing I love more than a long thread of point-by-point rebuttals, but I think I'll leave this one alone for once. ;-)

If you like what you're doing, more power to you. I picked up Ruby because I thought it showed promise as a good scripting language and web development tool (this was pre-Rails) at a time c# didn't really excel at either.

You seem like quite the masochist

Maybe. DM was created to solve a problem. I didn't burn anything down. I just walked away. The best time to do the right thing is yesterday. The next best time is now.

After 8+ years, I realized I'd spent much of it trying to work around limitations in Ruby. It was just time to open myself up to the idea that there is more to programming than what I knew.

I think I'd blocked out the pain of dealing with mutable strings. :-)

We were a pretty enthusiastic bunch back in the day. Glad to hear you're still pushing things forward.

You nailed it. HABTM just never worked, and there was little interest in making it work. Since I handed out commit-access like candy, the majority of contributions were to endlessly refactor. Or do things like letting you treat a CSV file as a database. And HABTM still didn't work.

I didn't know how to put the genie back in the bottle. I didn't have the same problems that prompted me to create DM in the first place anymore (and by that point, I wasn't sure that porting a large Java Pattern to Ruby was even a good idea considering what I'd learned in the process about method dispatch performance in Ruby) and I was burned out on maintenance. So I handed over the keys and the rest is history.

I messed up. :-)

Today I'm happily writing apps with akka-http and think O/R Mappers are a fundamentally flawed idea. It's like trying to build a truck to move a few yards of dirt 100 feet. It'll never pay off. And I think even "users" would probably find that the hours they put into learning and using the tool will never get ahead of the performance, simplicity and linear scaling of effort they'd have had with a simpler solution.

So these days I'm much more likely to write this in Scala:

  val limit = 10.0

  sql"SELECT name FROM coffees WHERE price < $limit".as[String]
Than anything else. You will never find an O/RM that's faster, simpler or easier to write and maintain than that.

Plus Contextual Validations in the O/RM is just a bad idea. Even if they do appear in the PoEAA. First-class-Form objects and deserialization/validation at the app boundaries may not be a new idea, but it's the right one. (IMO)

I'd suggest Play Framework and abandoning the idea of O/R Mapping entirely.

Once you grok pattern matching you'll never want to see another Ruby case statement again. Once you compose a pipeline of functions you'll find Ruby Procs a pale shadow of true functions. There's really no such thing as functional Ruby.

You'll end up with more maintainable code, a lower LoC count, easier testing, more mature libraries, and that's just the tip of the iceberg.

Un uncached Play Framework app will probably outperform a highly tuned Rails app out of the box, even with hundreds of person-hours spent in tuning the Ruby app.

Which leaves you more time to work on actual features.

And then you have Akka. Which is a whole other paradigm to master (but with it's own rewards).

And then you have deployment. Which is a huge breath of fresh air.

Sure, you'll miss some few things in Rails. Like Inflection. Add a dependency for one of the ported versions (like: https://github.com/backchatio/scala-inflector. It's just a single file).

The learning curve isn't the smoothest (though API docs for Java/Scala libs in general and the Play Framework guide is far more complete than anything I ever experienced in Ruby-land). But the rewards.

Come to the dark side. :-)

The idea that DM wasn't a DataMapper is misguided. Check out: https://github.com/datamapper/dm-core/blob/0.9.0.1/lib/data_...

The convenience methods were just wrappers. Earlier versions were even more true to the PoEAA version of a DataMapper with a Unit of Work in the Session class.

Turned out this was a bad idea if your primary motivation is performance.

The fact that it didn't bother to abstract away DataObjects was by design. Nobody would claim NHibernate (of the time, 2.x) wasn't a Data Mapper implementation just because it didn't have an adapter for treating an XML file as a database. That's a parlor trick.

The real effort is in making it work and making it fast. Porting Java designs to Ruby just didn't scale in the Ruby implementations of the time and conscious decisions were made to ensure DM would actually solve the problems it was developed to address (#1 being performance as I had a large set of data to migrate that initial experiments with AR projected to take a month(!)).

The primary concern turned out to be Ruby method dispatch performance. The shorter you could make the stack, the better. Since loading 1,000 objects might be operating on a 10,000 row set, and another order of magnitude more fields, the materialization pipeline had to be streamlined as much as possible. (AR implemented a nasty abomination of a hack for this by round-tripping to the database multiple times). When it's faster to round-trip to the database multiple times than it is to iterate a large object in memory, you've got a real problem.

The lazy loading, explicit fields, dirty tracking in the Unit of Work, (which at the time were all fairly controversial ideas in rails-core) etc were all an effort to address performance. The PoEAA was an inspiration for sure, but it turned out to be a prescription for poor performance on Ruby 1.8.x.

I lost interest in DM mostly because of my open-commit-access policy. I mismanaged the project horribly.

Just because something was called "Session" (ala Hibernate) instead of "Unit of Work", people would claim it wasn't "pure".

The only real compromises for purity were for performance. You saw the same thing play out with ActiveRelation. Ruby is (or was at least) just too slow for complex patterns unless you wanted to pay a huge performance penalty. The kind of slow that materializing 10,000 models in an O/R Mapper would bring your app to it's knees and use hundreds if not gigabytes of RAM.

And since a large reason for writing DM in the first place was AR's miserable performance at the time, it needed to be fast.

Most of the community wasn't that interested in closing open issues. Not that I blame them. It's not fun. But I was burnt out.

During the end, ActiveRelation started development, making many of the same mistakes early DM did in the quest for purity. By that point I just wasn't feeling it anymore. I'd spent orders of magnitude more effort on writing an O/R Mapper than I'd ever hope to recover, and I felt like some of the ideas were fundamentally flawed. So I moved on.

If I were still doing Ruby, I'd be using Sequel though.

That's not really a good comparison. You might as well say driving is within reach for most people.

You can drive at 70MPH. Windspeed doesn't impact you. The Cesna will cruise at ~140MPH. Windspeed might delay your arrival to the point that it's much faster to drive for shorter trips though. The jet will do 530MPH.

Maybe the Cesna makes sense if there's no reasonably direct route by freeway. Or you're island hopping. It seems like a fairly small window where chartering a Cesna makes sense though (IMO). You can't transport a family of 4 with luggage. It'll be more expensive than the (commercial, not private) Jet, and take about 4 times longer. For every 1-1/2 hours of Jet travel, you'll have to refuel the Cesna as well. And if you though economy class on a commercial Jet was uncomfortable you're in for a rude awakening as well. ;-)

I could be wrong, but I'm not sure how else they'd be showing up in my library under "Recently Added" then. I didn't specifically create any new playlists or anything and it's just the songs I "hearted".

I assumed it was just a "genius" thing at first as well, but there they are. Maybe it's new.

I use it every day. It pretty much does those things. The little Heart button is your "remember the current song".

The really confusing/annoying thing for me is there's no history AFAIK. So no looking up the previous song if you didn't get to hit the heart button because you were driving. Even finding a previous streaming/radio playlist is impossible sometimes. Click away from it, and now how do you get back? On the iPad: You don't AFAICT. Best you can do is bring up the Up Next list if you don't remember the search/navigation that found the playlist in the first place.

To me, if you don't care enough to take time to vote as it is, you probably don't know the issues, and you probably shouldn't vote.

Or maybe you live in a state where your vote doesn't matter because it's not a swing state.

Or maybe neither two-party candidate is on the right side of the issues you care most about.

Don't want to go to war? Do you pick Hillary or Trump? Who knows? Want to see Criminal Justice reform? Which candidate do you pick: The one that backed mandatory minimums helping shift the scales to the prosecution and making judges largely irrelevant for a majority of cases or the "not liberal" one? Want to see domestic spying scaled back and transparency introduced? Which candidate?

Nobody thinks it's ok to drive with a BAC of 0.4 but 0.04 is generally considered legal.

Not sure how you come to that conclusion. I think it's reasonable to assume it's legal because most people (including me) feel it's fine. I'm much more concerned about distracted driving generally.

Since testing positive just means that you might have used anytime in the past month or so, that's not meaningful.

The study linked in the article confirms that yes, according to the evidence seen, marijuana significantly impairs driving ability, especially among casual users (to the surprise of no one whose actually used it I'm sure).

I feel like you didn't even read the article. Here's the summary of the linked study:

Differences in study designs frequently account for inconsistencies in results between studies. Participant-selection bias and confounding factors attenuate ostensible cannabis effects, but the association with MVA often retains significance. Evidence suggests recent smoking and/or blood THC concentrations 2-5 ng/mL are associated with substantial driving impairment, particularly in occasional smokers. Future cannabis-and-driving research should emphasize challenging tasks, such as divided attention, and include occasional and chronic daily cannabis smokers.

Suggesting that taking a couple Tylenol is as dangerous as smoking anything (even tobacco for occasional users) before/while driving is ridiculous.