Hacker Newsnew | past | comments | ask | show | jobs | submit | nrubin's commentslogin

I took a version of this class (called The Art of Approximation) with Dr. Mahajan when he was a visiting professor at Olin College. The course helped me become fearless about tackling a broad range of math problems I knew little about, and has helped me in countless real life situations from financial planning to major work decisions.

Also, it's a great intro on good ways to nail PM interviews, at least at Google (where I now work, thanks in no small part to the lessons from this class).

If you have a spare few hours, read this book or take his classes on edX. It'll absolutely change your intuition for numbers.


Oh cool. I'm actually in Olin now, and even better, taking his class as I type this post.

Art of approximation https://imgur.com/a/OvDzl

I'll pass along any cool questions.


Thank you for sharing the first hand experience. When I see book pdfs posted here, my first question is "Did anyone actually read or go through this?"

Is it really just a few hours to go through it? :-)


> it's a great intro on good ways to nail PM interviews, at least at Google (where I now work, thanks in no small part to the lessons from this class).

Could you give an example? It would be great to know why you say so.


If you don't mind me asking, any other resources you found useful for PM interviews?


What class is that? Is any similar MOOC course available?


This looks neat! Signed up. Question though -- is this all $$$$+ restaurants or will you guys expand to cheaper/lesser well known joints too?


Thanks! We're starting off with the $40-$60 per head price range, and we definitely want to hit different price points.

Our selection of restaurants include both well and lesser known joints - good food exists in all places, and we want to help people discover that.


Allen taught every single software class I took in college,its awesome to see his writing recognized on HN! We actually worked through LBoS during a software systems course this past spring semester, it was a great way to get introduced to the complexities of multithreaded programs.


Really cool idea, I have a general question about the healthcare app space -- how many of these apps are written ad-hoc for each medical practice? I.E., should I expect my dentist to run a totally different software stack from my general practitioner, and do they usually run custom software or more general solutions?

Also, how much of the existing stuff is written on .NET? I have a feeling that's a pretty popular stack for a lot of small business/enterprise companies, but is harder to support via open source software.


If you're referring to what the providers use for patient documentation, billing etc, there's a slew of apps out there that unfortunately don't talk to each other in much of a meaningful way without a lot of work. Beyond the big EMR companies (Epic, Cerner, Allscripts, Siemens, etc -- what you'll see at academic centers and medium-large hospitals), there are tons of companies that have come out with medical record software for individual clinics (i.e. a couple dicots in a practice not owned by or affiliated with a major medical center) and much of it is often marketed in a niche way


From what I understand, many of the statistics quoted about Iron Dome are for "attempted interceptions". This skews the effectiveness of the system towards high-priority scenarios, maybe those that are more likely to produce a winning outcome for Iron Dome.

As an Israeli, I've always heard the Iron Dome rockets are stupid expensive to fire, so the IDF really only wants to fire them during scenarios that are high risk -- e.g., a rocket fired toward the Negev is much lower priority than a rocket fired at Tel Aviv.

On another note, I think that as programmers it's an interesting exercise to speculate as to the nature of the computer systems Iron Dome employs in order to mitigate attacks. AFAIK, Iron Dome rockets are only fired when high-value areas are targeted or there is a high probability of success. Can you imagine the kinds of online learning models we employ nowadays, being able to evaluate a set of inputs in <10s ? Even a complex Bayesian inference algorithm that could solve for a probable strike area in that short time with reasonable accuracy is incredible.

As colloquial evidence, a family member of mine recently posted a photo of Iron Dome intercepting a rocket almost directly over his home. So maybe it's not that accurate or that effective, but when it does work it's worth almost every dollar or shekel spent.


> I've always heard the Iron Dome rockets are stupid expensive to fire

I'm not sure that's really true. Estimates range from $20,000 to $60,000 - that's cheap compared to the cost of a single hit on a building (which the Israeli government pays for). (And never even mind the human and economic costs.)


>>As an Israeli, I've always heard the Iron Dome rockets are stupid expensive to fire

I was wondering how they deal with DDoS scenarios. Lets say the enemy just mixes genuine rockets with dummy one's and keeps firing. They could essentially create a scenario where a lot of Iron dome missiles can be wasted destroying dud rockets.


The enemy does actually do that now. Firing a dud is pointless since the cost of the rocket is the same, but they do fire many at once.

So what the system does is calculate the trajectory of the rocket to see if it will hit anything populated, only a small portion of them do.


>>Firing a dud is pointless since the cost of the rocket is the same

If this is the case. Then in the presence of Iron dome, only impact those rockets have is in scaring away people.

It hardly makes any sense to fire a barrage of rockets in this case. A more optimal strategy is fire them a few at a time spread out over a period of time.

Either way Iron dome will still remain expensive.


You are forgetting that Israel [tries to] destroys the launcher and the attacker after every launch. So every rocket attack is basically a suicide attack.

I think that's the main cause of most of the civilian death - Israel doesn't have time to check for civilians in the area, they counter attack almost instantly.

So they'll launch a bunch while they can before they die.

I don't think you can really comprehend the level of hate going on there that would make someone suicide and take civilians with him for even a tiny chance of killing an Israeli.


Why on earth would they do that? If you can launch 9 dummy rockets and 1 real or 10 juts real rockets, wouldn't you just launch real rockets?!

The effort and risk involved in launching any kind of rocket is about the same...


I don't have much knowledge in this domain. But it might be worth firing dud rockets if they cost lesser than the actual ones.

If you can fire 10 rockets in the same cost as 1 genuine rocket. Then essentially the enemy can drag you into a war of attrition.


A dud would cost the same - the warhead is the cheapest part of the rocket.


Rockets without a payload are lighter and have greater range so you can attack more northerly targets - for example Tel Aviv. They are about public relations far more than they are conventional military weapons.


Every launch site or detected launcher is attacked with an air strike, so setting up a lot of launchers to fire up all at once is very problematic.


I would guess that a rocket without the explosive warhead isn't that much cheaper.


This has to be one of the clearest academic papers I have ever read. Aside from the content, the author does a really good job explaining his thesis. I wish more academic papers were written this way.


I wish that none were written this way: Using a sample size of 4, the paper proposes some layer model. Already the first language (erlang) does not correspond to this model, yet the model will later be concluded to be the way to go: "A surprising result is that the four resultinglanguages have a common structure (comment: no, they don't). [...] I postulate that this common structure will be part of one possible definitive programming language".

Then we have four conclusions:

1. the notion of declarative programming is a the 'core' of programming languages

2. it will also stay there

3. it is concluded that message passing "seems to be the correct default for general purpose concurrent programming" (my emphasis)

@1: what's the 'core'? Without any useful definition, this is a meaningless statement.

@2: aha! The core seems to change over time. OK, I rephrase my last question: what's the 'core' today?

@3: First, it's a weak conclusion that something 'seems' to be the case. But, ignoring the odd usage of the word 'correct', how does the author support this conclusion? It seems like the author thinks that presenting a couple examples for your proposed solution (message passing) allows to conclude that a competing solution (shared memory programming) is worse. I fail to see evidence for that. Yeah, programming with locks is harder than programming with actors. But it's also more expressive, so the comparison is unfair. If you want to compare erlang to, say, java, you need to compare it to programming with higher level data structures (queues, actors, ...).

btw, this one's a gem: "Declarative concurrency is a deterministic form of concurrency that is much simpler to program with than the shared-state concurrency used in mainstream languages such as Java [18]" -- if you look at [18], it doesn't support the simplicity claim; it's a reference to Doug Lea's "Concurrent Programming in Java". The simplicity claim remains a claim. That may be sloppy writing. Or not.


I believe this was an invited talk at FLOPS, so the standards and expectations of rigor are a bit different.


Quick question about one of the algorithms this article proposes:

>Instead, we compute a seed by combining a server_seed (which is provided in hashed form to the client before the deal - in the same way as the initial_shuffle is) and a client_seed.

What if the server picked a large value and this appending caused an overflow? Don't some languages/runtimes turn an overflow into 0? Then the server could always seed the RNG the same way.

I'm probably very wrong, can someone tell me why?


I'm currently working on a project where we started with Trigger.IO but moved to phonegap simply because more people have used phonegap, so the documentation is a lot better.

Also, depending on your target user group, you may want to checkout out Ionic (ionicframework.com). It's a mobile-first front end framework built on top of AngularJS. I've been using it on top of cordova/phonegap and it's easy to get up and running with and very performant (on the modern devices it supports). With Cordova and Ionic, our app feels very close to native on iPhone 5+ and high-end Androids


Ionic is definitely the best I've seen. You can whip out an app with even the most rudimentary knowledge of Angular.


Hey, did you also here that there are NO trees on their campus?


They've all been replaced by hash tables.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: