How Microsoft is changing the programming world - <AUTHOR> http://programmingzen.com/2010/06/23/how-microsoft-is-changing-the-programming-world/

<comment><USER2> Wow, I have to pipe up here. The commenters so far are completely missing the point of this article. The author is making two observations, both of which are quite correct in my experience. First, the mainstream MS developer universe -- the overwhelming majority of it -- is parochial. People learn new things when MS release some new technology and not before. (I'm talking about the smart ones here. The mediocre ones don't bother learning.) Back when I was an MS programmer, the place to learn new things was MSDN Magazine. There is very little interest in looking outside the village gates; in fact it tags you as a little weird. This phenomenon is so well-established that I'm surprised anyone would deny it. I've commented about it on HN many times myself.

The second and main point is that since this large programmer population receives its knowledge almost exclusively from MS, it's a really good thing that MS have started teaching functional programming. It's probably the best chance FP has ever had to break into the mainstream. Even if it takes over just a corner of the MS world, that corner is probably larger than the rest of FP put together. This is a really good thing, and it massively kicks the ass of the crap that MS used to feed their "Elvises" and probably still do.

I'll add a third point. We know why this is happening. It's because a little less than 15 years ago, MS changed their direction, acquired some top-notch people (starting with Hejlsberg), and started moving in a direction more informed by CS and PL theory. This process is slow, but good. One can finally see it yield real fruit in the form of F# and the recent enhancements to C#. People like Meijer are having a very real influence. Come to think of it, that's probably why people like Meijer went to MS to begin with.

<comment><USER3> Well, I'd say that MS-only developers ignore Linux because it's not directly relevant to their day-to-day work. They just want to do their jobs with the tools they know then go home (and there's nothing wrong with that). On the flipside, Linux-only developers actively avoid Windows on ideological grounds. The latter is where this article is coming from. You can't really say a LAMP developer is any more cutting edge than an ASP.NET developer. Both adhere to the orthdoxy of their preferred platform.

Simon Peyton-Jones is another heavy hitter at MSR.

<comment><USER2> I didn't mention Linux or LAMP. I said that the MS programming world is parochial. It's closed-in on itself and remarkably ignorant of the rest of the software universe. I worked in the MS space for years and observed it closely. There simply isn't any doubt about this, or at least wasn't at the time. Possibly things are changing as MS' power wanes; possibly the people who frequent HN are outliers; possibly some people just don't like hearing this; possibly all of the above. But I can walk you down the street from where I'm sitting and take you to my friends' consulting shop where life is all-MS-all- the-time and introduce you to a dozen or so smart programmers who can tell you all about Linq-to-objects and ASP MVC, not one of whom knows anything they haven't gotten from MS, except what they learned at school.

<comment><USER3> On the flipside of that is people using MySQL who have no idea what MSSQL can do (for example). The Linux world is no better or no worse in this respect.

<comment><USER4> No, it's much, much better. For one, there's no such thing as the Linux world. "The Linux world" is everything else in this context, which includes Java, Ruby, Python, Web, C, and dozens of different technologies. With the exception of the Java community, none of those communities come even close to being as insular. None. Every Ruby and Python dev I know has at least checked out Java and C# before going back to their primary language. Every Java developer has dozens (too many, perhaps) of choices for libraries, app servers, and even other language that run on the JVM. Even PHP developers have some notion of other tools used for web development (generally Flash and Flex). It's true that many of these communities might not have much exposure to deeper subjects of more dubious relevance, like CS theory and classic FP languages like Lisp, but they at least know and understand that there are other choices out there. Meanwhile, most MS-only devs don't even know about Apache, SVN, or even the notion of using a text editor as your primary development environment.

</comment></comment></comment></comment></comment><comment><USER5> It is an arsurd article. I can point you to web devs on LAMP from the same era that were equally ignorant of other languages or paradigms. The real question for developers isn't, "what things, do I consider important, do you know?", but rather "what have you shipped?" If the only language you know is C++, but you're the lead dev for the Halo series, that gives me a lot more respect than if you know 20 languages and your great contribution is a website where you criticize what other people don't know.

And I think he doesn't understand the difference between language features making it to your production language and the feature existing elsewhere (especially if elsewhere is an obscure academic language). I can be sincerely interested about lazy evaluation showing up in language -- but that doesn't mean that I hadn't used it for the past 20 years in toy projects.

<comment><USER6> People that read this as an anti-Microsoft article are totally missing the point. I've met plenty of these "Dicks" and they're not necessarily bad programmers, they just work entirely within the MS domain, which is easy to do because it's pretty comprehensive.

Like the author, I commend Microsoft for using this influence to help bring functional techniques into the mainstream. The programming challenges we face today are more suited than ever to FP and the backing of a big vendor with mature, sophisticated tools is exactly the kind of boost FP has been waiting for. This can only be a good thing in the long run for Haskell, Clojure, Scala, Erlang etc.

I deplore a lot of Microsoft's business practices but the work they're doing in this area and in support of the Haskell team deserves kudos.

<comment><USER7> It's not what he's saying that gives it the anti-Microsoft flavor; it's calling every Microsoft programmer a Dick. Hiding behind this moniker that is obviously insulting -- and the author proves he knows this when he says "short for Richard, of course" -- all the while pretending it's innocent is what does it.

<comment><USER2> You're quite right, that was uncalled for and, well, a dick move. For some reason I didn't notice it this morning.

On the other hand MS don't treat their own workaday programmers much better by calling them "Mort".

</comment></comment></comment></comment><comment><USER8> Through " _the impact it's currently having on making functional programming, or at least some degree of it, more mainstream._ "

Go, Microsoft! ^_^

</comment><comment><USER9> The other day I was browsing through computer books. One, on LINQ for VB, seemed very enthusiastic on this radical new technology Microsoft had brought out -- and the example they used to illustrate this was something Smalltalk had 30 years ago.

Incidently, Smalltalk isn't normally considered a functional programming language (do doubt because object orientation overshadowed it) but with its closures (called blocks) and select:, collect:, reject:, inject: etc methods it seems (to me) as much so as Scheme.

<comment><USER5> Which book?

<comment><USER9> This one: [http://www.amazon.com/Pro-LINQ-Language-Integrated- Query/dp/...](http://www.amazon.com/Pro-LINQ-Language-Integrated- Query/dp/1430216441/ref=sr_1_1?ie=UTF8&s=books&qid=1277320215&sr=8-1)

The example on page 3 was:

       Dim greetings() As String = {"hello world", "hello LINQ", "hello Apress"}

       Dim items = _
         From s In greetings _
         Where s.EndsWith("LINQ") _
         Select s

Which In Smalltalk would be:

       greetings := #('hello world', 'hello LINQ', 'hello Apress').
       items := greetings select: [:s | s endsWith: 'LINQ'].

Needless to say I was not completely bowled over by this stunning Microsoft innovation.

<comment><USER5> I don't think this one line is exactly where all the innovation is. But it is representative of getting your toe in the water.

But this is the typical argument I hear from people about anything. "Hey, that was a good movie"... "Dude that plot is basically a derivative of Hamlet with a twist of Revelation, chapter 3. Nothing really new there". Or the most standard, "Actually you can do that with Lisp." I'm sure you probably know that everything in that Linq query is pure syntatic sugar. Not runtime changes needed.

But with all that said, I'm sure MS didn't do this to be "innovative". At least I hope not. I assume they did it to make the lives of developers easier. That's the real test, not if no other language ever implemented the feature.

<comment><USER9> > _I assume they did it to make the lives of developers easier._

I imagine you're right, and it's an entirely reasonable thing for MS to do. What I took exception to is the way the book spun it as an amazing new technology.

<comment><USER5> I agree. The "has your world been shaken yet" (or whatever the line they use) was over the top. Unnecessary. For most users, the code speaks for itself.

</comment></comment></comment></comment></comment></comment><comment><USER10> I am not sure I can agree with the article. By hiding so many aspects of what a program is made of, Microsoft did a disservice to C programmers. Visual Studio programmers that can write a makefile are not many and, by hiding the gory details inside an IDE, Microsoft created - and enjoyed - a good excuse for, if not creating gory details, at least allowing them to exist and thrive. The recent "embrace" of functional programming is too little, too late.

Plus, I have a personal feeling those gory details are there by design - Microsoft has every incentive to make it hard to port Microsoft code to any other platform and no incentive to play nice with code that will run elsewhere.

I cannot imagine going back to a career limited to a fully-Microsoft stack. There is just too much missing.

<comment><USER11> > Visual Studio programmers that can write a makefile are not many

I'm curious why you think it would be important or valuable for a VS developer to write makefiles.

Your subsequent statements seem to indicate that you believe it allowed MS to put more project complexity, hidden by the IDE. I don't particularly see anything wrong with that, but maybe I'm misunderstanding you.

My view on this is: I write code to create sellable product. I don't sell makefiles.

<comment><USER10> You write code to make sellable products and every avoidable complexity, every thing you don't understand in your code or build system will eventually come back as increased cost when you need to extend, adapt it to the next Microsoft OS or simply debug it in an environment that looks like what your clients use.

Of you don't understand your build system, you really don't know what you are shippin.

<comment><USER12> Have you ever use Visual Studio or written a production app in C#?

VS provides the ability to do all of those things. You can both extend the IDE and create DSLs. And .NET runs on a VM, so it's write-once, run-everywhere (unless you're trying to port to Mono/Linux, but that's not what .NET is designed for). It also has the absolute best debugging toolkit of any IDE, ever.

Make files are for the people deep down in the guts of systems, writing bare- metal code. This isn't 1990, we don't to force ourselves to use these antiquated tools for all sides of development.

The idea that you need to "understand your build system" is particularly ridiculous. I understand that my code compiles, has no warnings from VS, passes all my test cases, and works fine in beta testing. Why do I need to write a make file to do what VS is smart enough to do automatically?

<comment><USER10> I have used the Visual Studio family from 1997-ish to 2001 (VB, ASP/VBScript and C) and then, again in 2002 (C for WinCE) and 2004/2005 (this last time, with C# for IIS), so, I would say, I have used it quite enough. I have also used NetBeans since the time it was called Forté and Eclipse for Java/J2EE/J2ME. I find they are all at the same level in terms of debugging, with some advantage to the Sun complete toolset when running under OpenSolaris and when you want to optimize your C code for multiprocessors.

As for this not being 1990 (or 1980, BTW), I agree. One should not use antiquated tools to do a job, but I find your willingness not to understand what you are doing quite amusing. If I cared, I would find it distressing, but, since I don't, I will leave it as it is.

<comment><USER11> > I find your willingness not to understand what you are doing quite amusing

Being condescending and rude isn't moving your point along any. In fact, I still don't know what you point _is_. You appear to think makefiles are inherently superior to VS solution/project files, but for no obvious reasons. The only reason you give seems to be that VS users don't understand their build system, whatever that means.

</comment></comment></comment></comment></comment></comment><comment><USER13> Watch various SPJ lecture videos for a take from the inside. He'll sometimes talk about working with collegues at MS to add things from FP to these mainstream languages.

</comment><comment><USER14> The 'Dick' he writes about didn't know functional programming concepts in early 2000s. If HN existed at that time, you probably could have said that about the HN readers. OOP was the big deal then and the majority of non-MS programmers didn't grasp functional style either.

I sure didn't in 2001. The author is an idiot.

<comment><USER15> You're missing the age of Dick. If Dick is 18, sure, it's excusable. If Dick has been programming for 30 years, his lack of knowledge isn't so excusable (assuming one's goal is to amass 'knowledge').

So many Kids These Days feel the entirety of Computer Science and Programming has been developed since 2000. I'm pretty sure LISP and functional programming existed in literature, learning, and practice before early 2000s.

<comment><USER5> Unless your an encyclopedia or going on Jeopardy! I don't think that amassing knowledge is a very interesting goal. To each their own, but I think creation is a lot better than amassing knowledge.

And to be honest, there was little practice in Lisp before 2000... and frankly little after 2000.

<comment><USER16> Creation without understanding is shallow. You don't just learn the technique of playing piano and then crank out beautiful symphonies. You don't learn how to draw a blueprint and create world-class architecture. You don't memorize the times table and start doing advanced physics calculations. Knowledge of the history and state of the art is a huge component in creating great things.

And the statement that there's "little practice" in Lisp is a statement about the current mindset of most programmers, not about the language itself. Whether it's useful is orthogonal to whether people use it.

<comment><USER5> Understanding necessary for creation is... well... necessary. But "amassing knowledge" is simply amassing knowledge. I can amass knowledge all day long, but if I don't understand or create it really is simply mental masturbation.

And my statement about Lisp was just about the state of the world. It's a fine language, but we shouldn't pretend that its used more than it is. Actually in teaching it is used a fair bit, and teaching is practice of a sort.

</comment></comment></comment></comment></comment><comment><USER17> Blah - this is just trying to hide an anti MS screed by wrapping it in an article about functional programming. You'll find good and bad developers that use any language. A few anecdotes about how well he knows Dick (this name choice backfires on the author more than once) isn't really going to persuade me that most MS devs are clueless. Functional programming is new to MOST devs regardless of their preferred platform I would imagine. MS may not be as innovating as it once was but at least it isn't stagnating.

</comment><comment><USER18> I think the accessibility of any language nowadays has the potential to create many more dicks than microsoft ever did. I also think Microsoft go to more effort to teach good programming practices than they are given credit for. I also don't subscribe to the view that I have to learn everything in order to pick up new tricks. I learn the languages, platform and tools which enable me to ship my chosen products in my chosen markets. I think too many assumptions are being made about microsoft programmers.

</comment><comment><USER19> This article is terribly bitter, with a contrived, unsupported sense of superiority.

I'm a pretty well-rounded developer, but I know there are innumerable things that I don't know. I also know that I research enough that the things I'm not comfortable with aren't particularly important for me or my projects.

I've never developed anything real in a functional language, for instance, aside from doing some tutorial tests and realizing that the friction (with coworkers trying to maintain, for instance) overwhelmingly demolished any potential advantage.

I will say one thing though -- the most mediocre developers I've ever worked with tended to have the widest "range" of "skills".

It's a way to compensate for never being able to provide solutions. Instead they always weaved, always sure that if you just embraced the latest thing and did things entirely differently it would be so much better (which they never actually _do_ themselves because their role is more "OMG, you don't know about {X}? OMG!")

</comment><comment><USER11> This article reeks of bitterness.

I find it curious that he seems to knock 'Dick' for not being well-rounded enough for his tastes. If his company doesn't pay him to develop Linux products, why on earth would he learn about developing for Linux? Or other languages. Or tools.

I'm all for picking up new languages (learning PHP changed some of my approaches to C++), but there's a lot to be said for sticking to your tools and learning them thoroughly. I can either be highly productive in C++ or flail around in a functional language/new platform. I'll stick with the productive one until someone wants to pay me to flail.

<comment><USER9> > _If his company doesn't pay him to develop Linux products, why on earth > would he learn about developing for Linux?_

If programming is just a job, and you don't care about it when you leave the workplace, that's a reasonable attitude.

If, OTOH, programming is something you care about and that actually interests you (which is true of nearly all good programmers), it's an attitude you won't have.

<comment><USER11> > If, OTOH, programming is something you care about and that

> actually interests you (which is true of nearly all good

> programmers), it's an attitude you won't have.

Whoa! So what you're saying is that if I don't know the recent trends in functional languages, I don't care about programming? Seriously?

Do you see the problem here? This guy is laying out arbitrary things which appear in _his_ domain of knowledge, and discounting others for not having the exact same set of experiences. I see this a lot among software people.

Sure, broadening your horizons gives you new insights, but there is a _lot_ to be said for mastery and focus.

Additionally, why is it that there is an expectation in software that my job has to also be my hobby, or else I don't care and/or I'm no good? Do you think mechanical engineers working for an auto manufacturer are expected to be at home designing bicycles, lest they be thought of as not caring?

<comment><USER9> > _So what you're saying is that if I don't know the recent trends in > functional languages, I don't care about programming?_

No, I'm saying that if you're not interested in different programming paradigms, you're not interested in programming. You don't have to know about "recent trends" in functional programming (it's not actually that recent -- Lisp has been around forever, and the Haskell standard is over a decade old). But if you're not interested in functional programming at all, then no, you're not interested in programming.

> _This guy is laying out arbitrary things which appear in his domain of > knowledge, and discounting others for not having the exact same set of > experiences._

But I'm not doing that. I'm saying that programmers ought to have some familiarity with some of the basics of the technology they work with. Knowing nothing about functional programming is like knowing nothing about HTML -- it is a big gap in one's knowledge.

> _there is a lot to be said for mastery and focus._

I agree. Focus is good. But you can't have mastery without knowing the right programming techniques and paradigms -- these can change a 500 line program into a 100 line (and easier to understand) one, or a 5000 line program into a 500 line one.

> _why is it that there is an expectation in software that my job has to also > be my hobby_

I have no such expectation. I neither know nor care what you do for a living or in your spare time. What I am saying is:

1\. some skills take a lot of effort to master.

2\. programming is one such skill

3\. you're more likely to take the time and effort to learn a skill if you like doing it

4\. therefore, programmers who program because they like doing it are going on average to be better at it than programmers who program because it's just a job

<comment><USER11> > I'm saying that if you're not interested in different programming paradigms, > you're not interested in programming.

I'm going to go ahead and call B.S. on that. At my most interested, I've had no interest (nor awareness) in functional programming.

Now I'm aware of it, but still not particularly interested in it. What I _am_ interested in is working with a platform that has better foundations (e.g. .Net vs raw C++).

> Knowing nothing about functional programming is like knowing nothing about > HTML -- it is a big gap in one's knowledge.

Completely arbitrary. A lack of HTML knowledge would be shocking only due to its ubiquity.

> Focus is good. But you can't have mastery without knowing the right > programming techniques and paradigms

You seem to be saying that functional programming can be used to greatly reduce code. But if my employer doesn't allow it, and my teammates aren't experienced in it, what good is it to me?

> therefore, programmers who program because they like doing it are going on > average to be better at it than programmers who program because it's just a > job

I agree with this statement, which is nothing like your earlier statements.

<comment><USER9> > > I'm saying that if you're not interested in different programming > paradigms, you're not interested in programming.

> I'm going to go ahead and call B.S. on that. At my most interested, I've had > no interest (nor awareness) in functional programming.

FP is just _one_ programming paradigm. Other important concepts in programming include: object orientation, stack based languages, model-view-controller, macros, templates/generics, structured programming, lazy evaluation / dataflow-based programming, interrupts, cooperative v. coercive multitasking, memory protection, pipes between processes, serialisation, event loops, modularity / seperation of concerns, common data structures such as lists, arrays, binary trees, hash tables, etc.

My contention is that a programmer who doesn't have a large number of concepts such as these is likely to build bad software when confronted with a large, complex software project.

> You seem to be saying that functional programming can be used to greatly > reduce code. But if my employer doesn't allow it, and my teammates aren't > experienced in it, what good is it to me?

Functional programming doesn't just mean esoterica like Haskell. In the wider sense of the term, it means anywhere where you're passing a function as a parameter or the return value form another function. You can do it in such mainstream languages as Python, Ruby, C#, and JavaScript. They're even adding closures to Java.

I'd be very surprised if your employer has a blanket edict against higher- order functions, because employers are either clueful or clueless -- clueful ones will allow it, clueless ones won't know what it is.

<comment><USER11> > FP is just one programming paradigm. ...

Right, but _this article_ was bashing people for not knowing, specifically, about functional programming. My entire point has been that it is ridiculous and petty to do this. Let's say you know A, B, C, and E. Aha! What about D, I ask. You're clearly an idiot, I can't believe you don't know about D. And here you get F, which is related to D, and you act like it's something new to the world. Pssh!

See?

> I'd be very surprised if your employer has a blanket edict against higher- > order functions

Er, every employer I've ever had has been very strict about the introduction of _any_ new technology, library, language, etc. This is because every employer I've had is concerned with maximizing productivity and shipping product. Tinkering with new stuff on the job can be rather dangerous to one's employment.

Again, I'm not promoting ignorance, what I'm doing is speaking out against this alpha-nerd judgment of others.

<comment><USER9> > _Er, every employer I've ever had has been very strict about the > introduction of any new technology, library, language, etc._

Your experience differs from mine. For me, while I've often been told what language to write code in, I've never been told what features of the language I am or am not allowed to use. Regarding libraries, I've always used relevant open source ones, paying attention to licensing issues as appropriate.</comment></comment></comment></comment></comment></comment></comment></comment>


According To A Nasa Funded Study, We're Pretty Much Screwed - <AUTHOR> http://www.iflscience.com/environment/according-nasa-funded-study-were-pretty-much-screwed <comment><USER2> Water, Food, Energy. Those three forces are all likely to be strained in our lifetimes. It's probably why all three are included in the YCombinator Request For Submissions.

[http://blog.samaltman.com/new-rfs-breakthrough- technologies](http://blog.samaltman.com/new-rfs-breakthrough-technologies)</comment>


Impossible Landing (United Airlines Flight 232) [video] - <AUTHOR> https://www.youtube.com/watch?v=SqDlEgZYgww <comment><AUTHOR> [https://en.wikipedia.org/wiki/United_Airlines_Flight_232](https://en.wikipedia.org/wiki/United_Airlines_Flight_232)

      United Airlines Flight 232 was a DC-10 (registered N1819U) that
      on July 19, 1989 crash-landed in Sioux City, Iowa after suffering
      catastrophic failure of its tail-mounted engine, which led to the
      loss of all flight controls. The flight was en route from
      Stapleton International Airport in Denver, Colorado to O'Hare
      International Airport in Chicago. Of the 296 people on board, 111
      died in the accident and 185 survived. Despite the deaths, the
      accident is considered a prime example of successful crew
      resource management due to the large number of survivors and the
      manner in which the flight crew handled the emergency and landed
      the airplane without conventional control. The flight crew became
      well known as a result of their actions, in particular the
      captain, Alfred C. Haynes, and a DC-10 instructor on board who
      offered his assistance, Dennis E. Fitch.</comment>


China Buys 80 Very High Speed Trains (236 mph) for $4 Billion - <AUTHOR> http://www.bombardier.com/en/corporate/media-centre/press-releases/details?docID=0901260d800acfd9

<comment><USER2> High-speed train competition is a fascinating topic (if you're a.. uh.. trainspotter :))

For about a decade, Germany has been trying to sell the 'Transrapid' mag-lev trains and tech to China. Transrapid was sponsored by various German governments (both federal and state) for well over two decades, with the occasional state PM or federal minister turning it into their pet project (e.g. to link an airport to a city, or to link two big cities), etc. The Transrapid patent is from 1934 and the first test track was completed in Germany in 1987, almost twenty years after planning first started.

Unfortunately (for the Transrapid guys), 'normal' train technology started catching up, and the technological hurdles to implementing long-distance mag- lev trains remain prohibitively expensive, despite vast sums being sunk into it by the German government (not only is the actual technology quite sensitive, but the tranches that need to be built tend to be elevated and very straight - which doesn't work well in densely populated areas like Europe).

In the late 90s and early 00s, the only way forward seemed to be selling it to a place needing fast trains and having no scruples about building the tranches wherever they damn well please. Enter China. A few years ago, a German-Chinese joint venture built a single 19-mile track to connect Shanghai to its airport.

The real kicker? The German companies behind Transrapid continue to allege that the Chinese are stealing the technology and implementation details from the German side of the joint-venture so they can build their own -- much cheaper. Or as China Daily reported, the State Council is 'encouraging engineers to "learn and absorb foreign advanced technologies while making further innovations."'

The cost for the aforementioned 19-mile Transrapid track was $1.4 billion dollars. The cost of 80 high-speed Bombardier trains (running on presumably standard rail lines)? $4 billion.

<http://en.wikipedia.org/wiki/Transrapid>

<comment><USER3> It might please you then to know that in dutch 'ATB' stands for 'automatische trein beveiliging', loosely translated to 'automatic train protection'.

</comment></comment><comment><USER4> This reminds me of an article I read awhile ago (in wired?) that said something to the effect that China could very well leap-frog petroleum and go straight to a 'green' transportation model. Seems dictators don't have to wage petty battles over who-gets-what-when-where-why-and-how.

Given the number of dedicated, high speed rail lines in the U.S. (uhm, 0? as far as I know...), it looks like China could beat us.

Note: Not advocating communism or anything here, it just makes me angry that rail transit is so crappy in this country. It's a great way to travel, at least in Europe.

</comment><comment><USER5> This is great for China. Hopefully, US will be working in implementing this soon too.

<comment><USER6> I hope not. The shinkansen is lovely, don't get me wrong (+), but they estimate $40+ billion (which is likely about 40% of what it would actually cost given the persistent cost overruns in infrastructure projects) just to connect Sacramento through San Diego.

The only thing that would come close to making trains economical in the US is a massive firebombing campaign of every city you hope they're going to run through, and even that would be pushing it, since even with cheap right-of- ways you'd still have to string them across the country.

See, in general, [http://green.venturebeat.com/2008/04/11/why-the- california-h...](http://green.venturebeat.com/2008/04/11/why-the-california- high-speed-rail-plan-is-fundamentally-flawed/)

\+ If you priced US high speed rail like Japan prices the shinkansen, it would cost you about $250 for a round-trip ticket from New York to Boston. I do the Nagoya to Tokyo circuit every once in a while for work. The system is one of the wonders of the modern world but, holy cow, is it expensive. (Its expensive to ride, its expensive to subsidize, and HOLY COW was it expensive to build. Shinkansen-related debt hit nearly 30 trillion yen -- that's in the general vicinity of $300 billion, folks. And that is for a country that would fit in California, with room to spare.)

<comment><USER7> > See, in general, [http://green.venturebeat.com/2008/04/11/why-the- > california-h...](http://green.venturebeat.com/2008/04/11/why-the- > california-h..).

Too much hot air. How about some real numbers from historical data?

From "Sustainable Energy - without the hot air" by David McKay, p.121. <http://www.inference.phy.cam.ac.uk/mackay/Books.html>

Energy consumption

(kWh per 100 p-km)

\</comment></comment></comment><comment></comment><comment></comment><comment>

Car 68

Bus 19

Rail 6

Air 51

Sea 57

\</comment><comment></comment><comment></comment><comment>

Table 20.8. Overall transport efficiencies of transport modes in Japan (1999).

</comment><comment><USER8> American here, I think it'd be amazing if we'd increase our infrastructure by taking oh, say, two billion and helping to cost down someone building these in the US.

I admit I haven't researched this more, but someone just mentioned that there's talks about a cross country high speed rail being built; it would go through MI and that's how I came into contact with the topic. I'd love to see something like that happen...stop building 2/10 bombs and build a few trains/bridges :)

</comment><comment><USER9> Love riding the train. Such efficient transportation. So much more relaxing than driving the car. Personally though, I like the old technology. Steel wheels on steel rails still goes plenty fast, feels smooth, is cheap, and is so terribly simple that it's hard (but of course not impossible) for things to go wrong.

</comment><comment><USER10> Totalitarianism has its efficiencies.

<comment><USER11> Totalitarianism is very efficient until the people realize material wealth without political freedom is hollow.

<comment><USER12> That's the standard line, but I'm not sure that it's as inevitable as that. It might well be that an efficient and well-run dictatorship or monarchy can compete with Western-style democracy (though I'm not sure China is "well-run" enough in this sense to be a good test case).

<comment><USER13> Singapore . . . is the example you were looking for I think.

<comment><USER12> Yeah, I did think about Singapore, but I don't know much about how it's set up politically, so I decided to stick with the case already on topic. :)

</comment></comment></comment></comment></comment><comment><USER14> Not trying to be funny, but I am kind of surprised they didn't just buy a few and make copies of them.

<comment><USER15> Construction will happen in China (Qingdao), with project management and components(?) split between China and Europe offices.

And not that funny; I know of heavy manufacturing companies that multiply their selling prices by 10 for equipment that is destined for China just for that reason.

<comment><USER3> Thereby giving the Chinese a great incentive to copy them, after all they're being ripped off.

That's pretty much analogous to people copying music because they've been ripped off for so long.

<comment><USER15> Apologies for not being clearer. I believe that they agreed to this co- development project because they are getting a good deal; as in, no being charged 10x because they're chinese.

They will have ample opportunity for the technology transfer required to do the next 800 on their own. And Bombardier will have their opportunity to compete on the next project. But the pessimist in me also believes that Bombardier will do their best to prevent that technology transfer! Sad, but it seems to be the path of least resistance in business these days.

<comment><USER3> Ah ok, I misread you completely. Too late to edit now, but thanks for the clarification.</comment></comment></comment></comment></comment>


Netboot.xyz – Multiple Operating System iPXE Installer - <AUTHOR> http://netboot.xyz <comment><USER2> At one point I set out to cook up something like this for my home network. It pleases me to see it already done and to a level far beyond my capabilities.</comment>


Stalkeo - <AUTHOR> http://blog.guykawasaki.com/2007/12/reality-check-s.html

<comment><USER2> "The Spokeo process begins with providing your address book; your name and password at social-networking sites; or the URL of your friends' profile, photo album, website, or blog."

OMG !

<comment><USER3> It's sad how many people continue filling it in anyway.

</comment></comment><comment><USER4> There's no new privacy intrusion going on here. This service is simply an aggregator for data you could find on your own with a little effort. If anything, this will help people to think twice about what information they're making available on all the services it aggregates.

<comment><AUTHOR> You are providing Spokeo with your credentials for all your social networking apps. Isn't that scary?

At least there is one solace: "Forgot your password? Enter the email address to your account and we will email you a link to reset your password."

This _might_ mean they are not storing your Spokeo password in plain text.

<comment><USER5> Even if they store the passwords as MD5 hashes the system is still extremely vulnerable because of MD5 hash google searches as detailed a while back. Besides, the whole system is hub for potentially thousands of users passwords, and that would worry me a little.

I supposed it'd use it instead of yahoo pipes or other mashup services - giving it lists of my friends' myspace pages and looking for new comments for example - but I would never give it my passwords.

<comment><USER6> A bit of salt defeats MD5 hash google searches and rainbow tables. Not that I'm saying anything about these guys. :)

</comment></comment></comment></comment><comment><USER7> Just when I thought it couldn't get any creepier...

</comment><comment><USER8> I think for most people, someone else having their social networking passwords would be mere annoyance, so if any product were at all compelling, they'd have no trouble giving them up. I know that's the case for me. It wouldn't be anywhere close to them getting my email or online banking passwords. The worst they could do is leave obscene comments on my friends' walls.

That said, this product doesn't seem very useful, and I wouldn't expect it to catch on.

</comment><comment><USER9> Probably a hit. Most people outside our paranoid (hacker) demographic don't seem to care much about online privacy, so long as it doesn't involve them losing money.

</comment><comment><USER10> Sounds like they need a good dose of this: <http://news.ycombinator.com/item?id=92745>

</comment><comment><USER11> Predator : Stalk, Yo!

Prey : Stalk, eee oh!

</comment><comment><USER12> I don't think its necessarily a bad service, but it should have some sort of approval system.</comment>


Experts warn parts of U.S. on verge of being overwhelmed by Covid-19 resurgence - <AUTHOR> https://www.cbc.ca/news/world/coronavirus-covid19-world-june24-1.5624885 <comment><USER2> At this point any "expert" should be able to show somewhat accurate predictions that they made in February, March, or April. Otherwise their opinion is just a best guess.

<comment><USER3> Hospital administration has a pretty good idea on the capacity of their ICUs. And it shouldn't take an expert to look around an ICU with 4 empty beds and suspect they might be overwhelmed if more cases come in.

<comment><USER4> SF Bay Area has been flat for months, and everybody knows that. Yet we keep hearing about NYC, as if they represent the globe.

<comment><USER5> what? NYC has been dropping significantly, with a positivity rate of under 2%. Texas is at 10%. Nobody's freaking out about NYC right now.

<comment><USER6> > Nobody's freaking out about NYC right now.

You wouldn't know it looking at the media.

</comment></comment></comment></comment></comment><comment><USER7> As far as I'm concerned, if quarantine is the "answer" then the cure is worse than the disease.

In fact, I'd take this as evidence that quarantine might have been a mistake.

<comment><USER8> Chilling at home is worse strangling to death on your own blood? My friend you may need to do some work on your home life.

<comment><USER7> Damaging the economy to the tune of 2 trillion in bailouts, the cost of the war in Iraq, just to have the exact same number of deaths delayed by 4 months is inexcusable.

And you should be ashamed of your self-righteous and dishonest argument style.

<comment><USER8> 2 trillion dolllars is worth far less than even a single human life

<comment><USER9> Your insurance company disagrees steadfastly.

<comment><USER8> No doubt they do. But my insurance company also doesn't want _everyone_ to die. That'd be bad for business. As would hundreds of thousands or millions of claims due to COVID. Look at all the insurance companies that are waiving costs for testing. It's cheaper for them to eat that cost and help slow the spread via more accessible testing than to deal with the work of millions of hospitalization claims and of course paying out for even a fraction of those.

</comment></comment></comment></comment></comment></comment><comment><USER4> As I've said for months, the sooner we get to herd immunity, the better.

The US literally can't do testing and tracing to save their own lives. Yet people still pretend otherwise, like the tulip or bitcoin manias.

<comment><USER10> If we need 70% of the US population to get infected to reach herd immunity, and COVID has an infection fatality rate of .05%; this will kill about 1.2 Million people.

I, for one, am hopeful that we can get through this without that many deaths.

<comment><USER11> Recent studies have shown that covid antibodies disappear very quickly in a fairly high percentage of positive cases.

[https://www.the-scientist.com/news-opinion/studies-report- ra...](https://www.the-scientist.com/news-opinion/studies-report-rapid-loss- of-covid-19-antibodies-67650)

<comment><USER4> Those have been discredited as not measuring all immune components.

HN readers: there is no conclusive science behind anything reported about COVID-19.

<comment><USER12> Thus proving the point that we can't expect herd immunity until there is valid evidence for it.

<comment><USER6> Then we should just treat it like a tough flu season.

<comment><USER12> Except it's far worse than any flu season in recent history in the US, there aren't any treatment options or their immature, but yea...

<comment><USER6> Correct me if I'm wrong, but they've never found a treatment for the flu, right? You get it, you tough it out. At least I've never been cured of a flu, despite many, many flu shots.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER13> We need to protect high-risk people, while waiting for the rest of us to reach herd immunity. Anyone with even a suspected risk factor should get help to be able to hide out for the next year.

Instead, we have the opposite: everyone goes into lockdown, the nursing homes are ravaged, and there is no additional support for high risk people. The many high-risk people I know personally (diabetics, older people, people with lung conditions, heart conditions) will get asked to go back to work in the next couple of weeks, and none had any help isolating or buying groceries, and were barely able to isolate at all during the last few months.

I could lose a lot of friends and family over the next year because they have almost zero support, but thank goodness all the healthy people couldn't go to restaurants for 2-3 months.

Unpopular opinion, so downvote away. Nevermind that 96% of hospitalizations in new york were with patients with preexisting conditions that put them at higher risk, it goes against the trending opinion

[https://www.nytimes.com/2020/04/23/health/coronavirus- patien...](https://www.nytimes.com/2020/04/23/health/coronavirus-patients- risk.html)

<comment><USER14> The point of locking down everyone is to slow down the spread of the virus through the entire population, which protects the high-risk people from accidental exposure, until a vaccine can be developed and deployed. That way we get herd immunity _without_ killing the percentage of people who can't survive a full infection, but will be just fine with a vaccination.

Having healthy people isolated is _not_ about protecting the healthy people. It's about stopping the healthy people from spreading the disease to the high- risk people.

<comment><USER13> It has done very little to protect the high risk people I know, who are all going back to work soon, and nothing for any high risk people who worked in an essential service. I know of an 60ish year old person who was sent back to work at his meat packing plant less than 14 days after testing positive for covid because his life apparently didn't matter. If any of them had quit, they would have lost eligibility for any government support and ended up homeless

<comment><USER14> I'll agree that allowing corporations to steal most of the resources that were intended to help people trying to quarantine, and failing to ensure both the ability to quarantine and the safety of those who absolutely could not, have been abject failures of the governments handling of this crisis.</comment></comment></comment></comment>


Ask HN: Should you put your freelance experience on your resume if you work FT? - <AUTHOR> I'm wondering if or where it would be beneficial for a developer to mention freelance work they've done while working full-time. My understanding is that some employers own their employees' IP, so how do they view a potential employee who regularly does freelance work outside of their 9-5? If the freelance work is related to your FT position, is it a net positive or negative? <comment><USER2> I've never had a problem with freelance work on my resume. If nothing else, it's helped me get day jobs; employers / recruiters have usually been more interested in work I've done on the side, then at a 9-5.

It's helped me so much, I've now broken it out into it's own section on my resume in a resume re-write this week (it was getting a little "feature creep")

<comment><AUTHOR> Was there a particular type of company that you were applying to? Was your freelancing work on the front- or back-end?

<comment><USER2> I've worked for small mom and pop shops to national banks to everything in between - and my freelance is full stack (back, front, + server)

Everyone appreciated the time spent outside of the day job and most always found those projects more interesting then what I was hired to do - as they usually are - corporate work can be boring most of the time; freelance is where i can "show off"</comment></comment></comment>


The $9 CHIP Computer Is Shipping - <AUTHOR> http://makezine.com/2015/09/24/the-9-computer-is-shipping-today/ <comment><USER2> This article is very confusing in the way it refers to "early backers", I think it's leaving people with the wrong impression of what is shipping. They are shipping "alpha" CHIP computers only to the 150 people who backed at the "KERNEL HACKERS" tier for $150+S/H [1]. They've also announced that they'll be shipping an unexpected second alpha unit to each of those 150 backers again next month, partly because the first batch won't have any boot images programmed.

This initial shipment of 150 was scheduled for September from the beginning of the kickstarter, but it's not until December that the "$9" tiers begin to ship, and not until May 2016 that the majority of their rewards are due. It's nice to see them more or less on schedule with the roadmap in the original kickstarter, but this isn't anything unexpected.

There are people who say the $9 price point is unrealistic, and that the company will have to start taking additional "preorders" at higher prices just to afford to manufacture the preorders they already have, or that it's relying on corporate partnerships and funding to sell at a loss until enough interest is built up that they can increase the price. This is a fairly small shipment, which probably won't change any minds on that subject.

[1] [https://www.kickstarter.com/projects/1598272670/chip-the- wor...](https://www.kickstarter.com/projects/1598272670/chip-the-worlds- first-9-computer/posts/1355196)

<comment><USER3> _There are people who say the $9 price point is unrealistic, and that the company will have to start taking additional "preorders" at higher prices just to afford to manufacture the preorders they already have, or that it's relying on corporate partnerships and funding to sell at a loss until enough interest is built up that they can increase the price. This is a fairly small shipment, which probably won't change any minds on that subject._

$9 is substantially less than the BOM cost, even assuming huge quantity discounts. A small American startup does not have access to some secret source of ultra-cheap components. The price is marketing spin, nothing more.

<comment><USER4> I don't buy that.

The OrangePi is crazy for what you get. And it's $15 with $3 shipping.

I don't see a reason to buy the CHiP, given I can get a OrangePi ordered right now and have them in 3 weeks.

<comment><USER3> The OrangePi omits the on-board flash and the wireless chipset, which represent a substantial proportion of the CHIP's BOM cost. The HDMI and Ethernet jacks add less than $1 to the OrangePi's BOM cost. The OrangePi team are based in Shenzhen, which is a big deal when you're trying to squeeze your suppliers.

The $6 difference in price is highly significant - a 66% increase is far from trivial. I can see how the OrangePi can be made at a small profit, assuming they're getting a decent price on the Allwinner H3 SoC. The CHIP simply doesn't add up at $9, even as a breakeven proposition.

<comment><USER5> Ethernet jacks are actually surprisingly expensive - I'm guessing due to some combination of the integrated transformer and the difficulty of manufacturing the connector - so the BOM cost could well be more than adding a wireless chip these days.

</comment></comment></comment></comment></comment><comment><USER6> It will by interesting to see what comes from this, I think it's really interesting how far things have come... once we see python and node running on this, there will be some significant proliferation of projects that can target it.

Hopefully direct sales orders are coming soon, I missed the boat on this... then again, I've given away a couple of Raspberry Pis over the years mainly because I never got around to doing anything with them.

<comment><USER7> I'm glad to hear this, I have a pile of pi's and I haven't used them (plenty of ideas, no time). I was feeling really guilty..glad I'm not the only one.

<comment><USER8> If you're at all interested, please email me.

i.am AT ozzmotik.com

<comment><USER9> I've never heard someone say they "need" a Pi. What's your pitch?

</comment></comment></comment></comment><comment><USER10> Please correct the title. It is $39 after the kickstarter. Plus $15 for HDMI output if you want to compare it to the Raspberry Pi.

[https://olimex.wordpress.com/2015/06/05/how-to-get-in-the- ne...](https://olimex.wordpress.com/2015/06/05/how-to-get-in-the-news-tell- people-that-you-will-make-and-sell-something-which-cost-you-20-for-9/)

<comment><USER5> No, a company that makes competing single-board computers claimed that Chip will have to go up in price to $39 after the Kickstarter. The actual manufacturer never said it's going up in price, and I doubt it'll cost anywhere near that much because it wouldn't be competitive. The higher-end Orange Pi PC is currently selling for $15 with a quad-core processor, 1GB of RAM, 4K video decode in hardware, and Ethernet and HDMI out: [http://hackaday.com/2015/09/05/orange-is-the- new-15-pi/](http://hackaday.com/2015/09/05/orange-is-the-new-15-pi/) (No onboard WiFi or Bluetooth on that, but there's plenty of free USB ports to plug an adapter into.)

<comment><USER10> > a company that makes competing single-board computers

Allwinner aren't CHIP's competitors - they're their suppliers! However CHIP have claimed that it will stay at $9:

[http://bbs.nextthing.co/t/final-price-of-c-h-i-p-ntc- confirm...](http://bbs.nextthing.co/t/final-price-of-c-h-i-p-ntc-confirms- still-9/190/3)

</comment></comment></comment><comment><USER11> I had a professor who liked to say things like "RAM is free" when talking about how the cost of computers has come down over the course of his life. I always rolled my eyes and thought yeah, it's basically free when you're an accomplished academic who brings in untold amounts of grant money and makes even more from consulting than you do from your university salary. But to a broke college student, anything that costs more than a few hours of minimum wage =/= free.

I really like this concept of cheap, all-in-one computers. We've had Arduinos and Raspberry Pis, but stuff like this really opens a lot of doors. $40 is a great price for a computer, but I would never consider using it for a project where its destruction is a legitimate risk (anything exposed to the elements, or liquid, or drones, for example), but with a $9 computer I would.

<comment><USER12> > _We 've had Arduinos and Raspberry Pis, but stuff like this really opens a > lot of doors._

I think this is an inflexion point for IoT at amateur level. We have the CHIP for RPi-level devices, running full Linux, with WiFi and BT onboard.

We have particle.io and soon digistump.com for Arduino-level devices with WiFi and soon cellular onboard.

My prediction: the number of IoT projects I'll see next time at the Maker Faire will just explode.

I have a Photon (by particle.io), I've preordered a CHIP and an Oak (by digistump.com). Very excited to play with the new toys.

<comment><USER13> Power is still a problem for IoT.

In addition, this thing will not ship for anything close to $9 in the near future.

The BLE and WiFi bill of materials is more than that-it's why the BeagleBone Black and RaspberryPi don't include them.

<comment><USER12> > _Power is still a problem for IoT._

I'm not sure about that. If it's a stationary, long-term thing, just tap the main power conduit on whatever device you're hacking.

If it's mobile or short-term, Li-Ion cells are pretty awesome. For a few bucks, you could buy a Li-Ion cell, and a smart charger that will switch the load between battery and main power depending on voltage levels.

<comment><USER14> Many IoT concepts are remote or battery-powered. Most of the single-board computers on the market will drain a 9V battery in a couple of days.

Wireless power transmission will be the enabler that causes IoT to really advance.

</comment></comment></comment></comment></comment><comment><USER15> Somewhere in a Terry Pratchett book he opines that the best thing governments can do is build libraries and schools and leave the doors open. I think that we are at or very near the point where you could similarly write "just fly over countries, parachuting down single board computers and solar cells"

<comment><USER16> Don't forget Wi-Fi dongles! Otherwise you're just parachuting down a bunch of libraries without books.

I'm not sure whether Elon Musk is trying to take over the world with his "free satellite internet for everyone" plan, but if that network ever comes online, it could be a game-changer for people in developing countries. Too bad it probably won't be compatible with regular Wi-Fi.

</comment></comment><comment><USER17> Wow, I had not heard about this before. For the price and spec that can't be beat. I would've expected the maker scene to blow up over this but I haven't heard anything. I have a ton of projects that could leverage this. How did they make this so cheap?

</comment><comment><USER18> I ordered one with the video attachment months back. I am not sure when it is supposed to come.

<comment><AUTHOR> My understanding after talking with Rauchwerk today is that the boards are shipping out on the timeline they've outlined on the kickstater page. The only divergence from that schedule is that Kernel Hacker Backers will get their first board in 5-9 days and their second -- which is a bonus board -- in mid- October.

</comment></comment><comment><USER19> Any word on the Pocket CHIP? That was the most interesting part of the Kickstarter to me.

<comment><USER20> Agreed, that is the thing I want. It would be like a proper sane calculator.</comment></comment>


What makes an entrepreneur? - <AUTHOR> http://www.doingbusiness.org/features/Research-Entrepreneurship.aspx

<comment><USER2> Interesting article. Thanks for posting.

</comment><comment><USER3> If I was a VC and someone came to me saying he is an entrepreneur, I would run as far away as I could.

</comment><comment><USER4> I'll try to paraphrase the best definition I've come across from, of all places, a Harvard b-school prof.: "An enetrepreneur is someone who pursues (as opposed to talks about or plans) a perceived strategic opportunity (perception being the entrepreneurial advantage) regardless of tactical ability (money, position, credibility, skill set, connections, resume, background, etc.).

A bias for action, superior "a priori" perception of potential payoffs, and a high tolerance for bluffing and "faking it till you make it."

I have found no better practical explanation that covers the whole spectrum.</comment>


An Interview with Cornelius Goodwin About Coding, Skin Color, and Jazz - <AUTHOR> https://coderintros.com/interviews/ibm-cornelius-goodwin/ <comment><USER2> Nice! Great story; inspiring guy. Makes me wonder how many programmers are also musicians. Programming is so much like jazz improvisation and composition. From the outside, before I studied programming, I would have never thought this to be the case. The way an improviser thinks about taking a solo within a tonal and rhythmic context is like writing a little program. Many musicians have no idea how much they would enjoy programming because they think of it as entirely foreign to the type of creativity they are engaged in every day. And perhaps many programmers who have not yet tried music, wrongly thinking it isn't their thing, should give it a try.

<comment><AUTHOR> I played tuba in middle and high school, so I didn't much opportunity to improvise (lol).

But tell us more about your story! Go to [https://coderintros.com/suggest/](https://coderintros.com/suggest/) and suggest yourself.</comment></comment>


What Would Happen If We Just Gave People Money? - <AUTHOR> http://fivethirtyeight.com/features/universal-basic-income/ <comment><USER2> There are many laws that exist with the singular goal of keeping jobs in the market that are no longer naturally supported by free market capitalism. Universal basic income eliminates the need for those inefficient laws by removing the negative externalities of labor market shifts caused by innovation.

As a creator of technology, I would be more than happy to contribute to UBI so that I can both continue to innovate without restraint and guarantee that the people do not have to fear innovation as an instigator of their personal financial instability.

</comment><comment><USER3> Substantial problems with a universal basic income (UBI) do exist, but I'm increasingly inclined to believe that given the substantial technological disruptions on the near term horizon (Machine Learning, Self-driving cars, improved robotics, etc.) that several first world societies will have a UBI within 40 years (around retirement age for me).

I've found more and more friends in my peer group who might not work at the particular job they hold presently, but would absolutely continue to work even if it was optional. I know many people motivated by far more than $$.

As a scientist, I'm expecting to just keep doing what I am doing...</comment>


Alive v1.0 – Live Programming for C# - <AUTHOR> http://blog.comealive.io/Alive-Version-1.0 <comment><USER2> It's really nice to see a tool like this come out for a statically typed language. When I started learning programming 2 years ago, tools like Light Table and the live editing capabilities of Seaside for Smalltalk were not only a huge help but are something I've come to miss in other languages.

I think that live coding tools for the big 2 languages (C# and Java) could be a great boon to students learning programming in college, where at least in my area statically typed languages seem to be the norm.

<comment><USER3> Xerox PARC already had it for Mesa/Cedar in the early 80's, which was the inspiration Niklaus Wirth had for his Oberon system.

Which was a statically typed systems programming language with RC and local GC.

[http://www.computerhistory.org/revolution/input- output/14/34...](http://www.computerhistory.org/revolution/input- output/14/347/1860)

[https://archive.org/details/bitsavers_xeroxparcteCedarProgra...](https://archive.org/details/bitsavers_xeroxparcteCedarProgrammingEnvironmentAMidtermRepo_13518000)

The progress we have lost with mainstream ignoring Xerox PARC research in programming environments.

Those workstations already had something like IPython and Swift Playgrounds available.

<comment><USER4> PARC/Cedar looks real, real cool. I've heard them in passing but the earliest machines I got to use were the mid 90s Sun/SGI era and AS/400s.

Local GC as in, as soon as you go out of scope you free? Or is it doing something more complicated than that. I love all these old/research languages/environments, so many cool ideas. Thanks for the archive.org PDF.

PS: If you're interested in PARC, you might be interested in Brian Beckman, et al's (of MSR) "TimeWarp" [http://www.cs.nyu.edu/srg/talks/timewarp.pdf](http://www.cs.nyu.edu/srg/talks/timewarp.pdf). It ran into resource scarcity issues at the time but that's no longer an issue. Old PoC's are really interesting to revisit now that our main issue isn't space but latency.

(Fun fact: A CPU -> Northbridge RAM fetch is only ~5x (~60 ms[1]) as fast as a prosumer eMLC SATA3 fetch (~200ns) . Data segmentation matters guys, if you are going to have a cache miss. Sequential data matters and predictable prefetching matters, and isn't "pre-optimization" if you're dealing with low- latency stuff!")

(1): [https://software.intel.com/sites/products/collateral/hpc/vtu...](https://software.intel.com/sites/products/collateral/hpc/vtune/performance_analysis_guide.pdf)

<comment><USER3> The local GC was a cycle collector.

So traditional RC with GC for the cycles, if any.

Thanks for the link.

</comment></comment></comment></comment><comment><USER5> I find the `for` example really bad. Mainly because 99% of the apps (I totally made up that number) are NOTHING like that.

You usually are using DI, so you'll have an interface that you need to resolve and do stuff.

How is alive going to deal with that?

<comment><USER6> Do a lot of people use DI?

I thought that was all a bit of a fad like factories. Lots of extra code for little benefit. Especially in a statically typed language like C# where it gets rid of so many of the benefits of using it as a language.

<comment><USER7> How does it remove anything beneficial?

I look at DI, or really the dependency inversion pattern, as a guard that encourages better/more maintainable code. Can you write good code without it, sure, and you can write bad code with it, but it's much more likely that code written with it is easier to trace and maintain. Not to mention much easier to test.

The configuration based, hot-swapping of dependencies...that I've never seen much need for even in larger projects.

</comment></comment></comment><comment><USER8> Alive looks super cool, but the $99 price for individual devs feels pretty steep to me. It's basically just a different way to interact with the debugger during test right? So im not doing so much pause, edit, continue activity? Or am I am missing something?

<comment><USER9> If it saves you even an hour of time over the course of months or years then why wouldn't it be worth it?

With that being said, if it's not yet "stable" then I agree, a hundred bucks is quite pricey for an unfinished dev tool.

<comment><USER10> You can't spread the cost out of "years" because the individual license is only good for a year. I won't complain about the price because that is a value judgement that everyone will have to make on their own. However, it is always disappointing to see tools like this that an individual can't simply _buy_. Instead you have enter into a yearly licensing deal in which you have no idea what this software will cost in 12 months or even whether the company behind it will continue to be in business. These type of yearly licensing deals are the norm in enterprise environments, but they are harder to justify as an individual developer.

<comment><USER11> Agreed, Jetbrains is moving to this model and it is disgusting.

<comment><USER12> They backpedaled mostly and offer perpetual licenses.

I just wish they'd simply added subscription options in the first place vs going through all the hullabaloo. Perhaps it was a smokescreen, but that just feels very conspiratorial.

<comment><USER13> mostly but not completely. After your year you have to downgrade to the version as it was when you originally bought. Removing bug fixes and new features you have got used to over your year of use.

Mental.

<comment><USER12> That's what my 'mostly' meant. You can simply pay a 12 month fee and buy it 'in advance' and just use what you get, vs thinking about it as "I'm losing bug fixes". I'm still using PHPStorm 7.1 from a couple years ago, and it still works. Same concept would apply going forward, but... I still think they handled this wrong.

</comment></comment></comment></comment></comment></comment></comment><comment><USER14> That looks very cool. Is it going to crush my processor? I'll give it a shot after I'm done with my work.

<comment><USER15> No, all the processing is asynchronous.

Depending on size of your project and complexity of the code, we can update within <100ms to a few seconds after your keystroke.

<comment><USER16> _Is it going to crush my processor?_

 _No, all the processing is asynchronous._

That's not an answer to the question. If every keystroke kicks off a compile- execute-report cycle, then the processor (and drive) are definitely going to be taking on a lot of additional load. It doesn't matter that it's asynchronous; all that does is prevent latency between keystrokes so long as your machine can keep up with the additional load.

I use ReSharper, with pretty much default options because it's too much of a pain to figure out the magic combination of hundreds of options that will improve performance without disabling the features I like to use. ReSharper does its work on a background thread, but that doesn't stop it from making VS crawl when I open up a large solution after doing a scripted (external) rebuild. Async != Free Work.

<comment><USER17> Yup, I was gonna say this. We use ReSharper, but even on our modern dev machines visual studio can really crawl after building.

</comment></comment></comment></comment><comment><USER18> I like it!

There's a ton of stuff you can do in this space: lint-type tips, RT TDD, code "explaining", path identification, etc.

Keep up the good work! Would love to see more of this as it comes along.

</comment><comment><USER19> This should be combined with Code Digger, it's a tool for C# that can detect all the possible ranges of input to a function by working in reverse from all the possible outcomes. If a function might throw an Exception somewhere it will show you the input that leads to that code path.

</comment><comment><USER20> For just running tests, I found [http://www.ncrunch.net/](http://www.ncrunch.net/) to be very handy. It puts a green/red/black dot before each line of code to indicate how it does in your unittests.

</comment><comment><USER21> Pretty cool. Would it play nice if my code uses Dapper or Linq2SQL?

<comment><AUTHOR> It should! Fair warning, if you're not using mocks in your tests, it will be making network calls on every valid compilation.

If anything isn't working you can report it on our public issue tracker: [http://github.com/CodeConnect/AliveFeedback/](http://github.com/CodeConnect/AliveFeedback/)

</comment></comment><comment><USER13> How is this different to [http://www.ncrunch.net/](http://www.ncrunch.net/) which runs tests as you type, so you know if tests are passing before you even save the file!

Edit: Well that looks creepy :) I don't know ragebol and apart from being a happy user I don't have a relationship with the nCrunch dude!

<comment><USER4> I'm not the developer of either product, but it seems like Alive has Roslyn based which offers direct access to every step of the compiler. Right now it doesn't look like much difference (in fact I bet NCrunch is more stable and has better integration with NUnit and the rest of the ecosystem), but I bet (purely speculating) that Alive intends on expanding their feature set into something more extensive.

Performance wise, assuming the Alive developers use Roslyn efficiently (which admittedly is difficult), they could offer a lot more semantic/syntax analysis at a way faster rate (i.e., think about solutions with 10s of projects and hundreds/thousands of classes, while having a dynamic dependency graph available-- unit tests, invariants, and even property-based QuickCheck-esque testing could easily at type-time [as in after the keydown event] or a few hundred ms after).

These are all capabilities inherent of being Roslyn based though, nothing too special about Alive, just a benefit it has over NCrunch should they choose to go down that road.

</comment></comment><comment><USER22> This is great, I wish more people where into live programming, it is the future.

</comment><comment><USER23> Woah! Make it work with Unity3D and in general with graphic libraries.

<comment><USER15> Are there any libraries in particular that you're interested in?</comment></comment>


Show HN: MedicLib - A better medical litterature search engine - <AUTHOR>

MedicLib ( http://www.mediclib.com ) is medical literature search engine that rank and categorize articles from Pubmed/Medline ( http://www.mediclib.com/about ). The goal is to be helpful to physicians by filtering noise and boosting landmark papers in the results (still in progress).
I plan to add fuzzy search, enhanced filters and also a new datasource, the FDA drugs descriptions.
Any comment, question, or suggestion is welcome. <comment><USER2> Do you have any plans to expand this to all scientific literature, not just medicine? A useful scientific literature search engine is greatly needed. (Good job on Mediclib, though)

<comment><AUTHOR> I have no plans to expand to all scientific literature, unless I find a good source of structured data to work on. If there is a Pubmed equivalent for other scientific fields, please drop me a link :)

<comment><USER2> There isn't a good public database of scientific literature; that's part of the problem.

</comment></comment></comment><comment><AUTHOR> Link: <http://www.mediclib.com>

</comment><comment><USER3> I'm impressed. Nicely done.

One suggestion would be to add dates.

<comment><AUTHOR> Release date and journal will soon be added in the results view under the authors.</comment></comment>


Peter Thiel and Palantir Are at the Heart of the Iran Nuclear Deal - <AUTHOR> https://www.bloomberg.com/news/articles/2018-05-08/peter-thiel-in-eye-of-iran-storm-as-deadline-looms-for-trump <comment><USER2> Be a little careful about pieces in Bloomberg about the JCPOA. I read Bloomberg about as much as I read stuff like Slate, and the sense I have is that Bloomberg's editorial stance has been anti-JCPOA for a long time.

As it stands, this article is basically saying "$DATABASE is at the heart of the Iran nuclear deal", which is about as interesting as saying "Excel is at the heart of such-and-such a merger deal". Like, yes, you do use databases to track stuff, indeedly-do.

<comment><USER3> JCPOA = justified comma partitioned ordinal .. um .. array? :)

<comment><USER4> I think it's the "Joint Comprehensive Plan of Action" [1], which seems to be the official name of the Iran nuclear deal.

1: [https://en.wikipedia.org/wiki/Joint_Comprehensive_Plan_of_Ac...](https://en.wikipedia.org/wiki/Joint_Comprehensive_Plan_of_Action)

</comment></comment></comment><comment><USER5> This is only tangentially related to the article, but...

I'm all for preventing nuclear proliferation, but how long do we realistically think we can maintain a world order where only a few states have nuclear weapons? This technology has been around for nearly 75 years. It's still a dangerous frontier, but far from a new one.

<comment><USER6> I'm not sure what you mean, it's not like we are in a world were we've successfully prevented most countries that desire nuclear weapons to get them; Israel, Pakistan, North Korea, India, South Africa all wanted nukes and (more or less) secretly got them.

The current "world order" is certainly not an ideal to uphold, or even moving in the right direction with regards for nuclear proliferation.

</comment></comment><comment><USER7> > Whatever Trump decides, the "dirty" or unstructured data obtained by Mossad, > which prides itself on deception, could serve as a stress test for > Palantir's nuclear analytics. Even a small amount of false information could > trigger a flurry of unnecessary snap inspections and derail an agreement > that took years to reach, Vaez said.

This smells very strongly of policy laundering. The Trump administration doesn't like the Iran nuclear deal, and they don't like the IAEA, but they can't directly act against either of them. But one Trump ally (Thiel) controls a tool that the IAEA depends on, and another Trump ally (Israel) controls the inputs to that tool.

So given the desired policy outcome, Palantir and Mossad wash the decision- making process so that the outcome appears to be arrived at independently and objectively.

<comment><USER6> The intel haul Mossad released was interesting in that it fills out the details of the background to the treaty itself, but as the data is about activities up to 2003 it just doesn't impact verification of current activities.

Most of appears to have been known in the intelligence community, this was just publication of it. Here is a podcast with some experts discussing the release and having a general good time with all the nerdy details: [https://www.armscontrolwonk.com/archive/1205128/netanyahu- an...](https://www.armscontrolwonk.com/archive/1205128/netanyahu-and-the- atomic-archive/)</comment></comment>