The future of Java and OpenJDK updates without Oracle support - <AUTHOR> https://developers.redhat.com/blog/2018/09/24/the-future-of-java-and-openjdk-updates-without-oracle-support/ <comment><USER3> "Oracle recently announced that it would no longer supply free (as in beer) binary downloads for JDK releases after a six-month period, and neither would Oracle engineers write patches for OpenJDK bugs after that period."

Where can I found Oracle's official statement about this issue?

<comment><USER4> In my own opinion, people are getting a bit upset over nothing. But you can be the judge.

Here is a pretty good write up on everything that's happening:

[https://www.azul.com/eliminating-java-update- confusion/](https://www.azul.com/eliminating-java-update-confusion/)

There was enough concern about all the FUD people are throwing around that Oracle took the step of providing a more visual explanation a long time ago. It's here:

[https://www.youtube.com/watch?v=YauqubC8FKM&feature=youtu.be...](https://www.youtube.com/watch?v=YauqubC8FKM&feature=youtu.be&t=1049)

I mean, what's wrong with Oracle only supporting every OpenJDK for 6 months?

I'm a Unity user, so no dog in that race really. (Well, we make some game server side stuff with java, but our big stuff is Unity). But it seems completely reasonable to me. I'm probably missing something though, since the internet outrage machine is in high gear. In all honesty though, it sounds perfectly reasonable:

Oracle is basically telling you, "If you want more than 6 months of support, buy a support contract. If you don't want to buy a support contract, then you'll have to download the newest OpenJDK to get those updates and patches."

???

I'm probably missing something here since I'm not a deep java user, but what's the problem with that release model?

<comment><USER5> The problem has to do with various factors in Java and Oracle history:

\- Open JDK has not historically been a production-ready deployment. It was a lower-performance, "reference" implementation, explicitly NOT recommended for production deployments. This changed around JDK 9, but see the next point.

\- in spite of Java's attempts at backwards compatibility, migrating non- trivial projects to new major releases of the JDK has always been painful and slow. Many projects are still on (or recently reached) Java 8. For example, Spring Boot released support for Java 9 just 6 months ago.

\- many Java applications are large enterprise applications (many dependencies), and enterprises want stability and long-term support of infrastructure components. It's likely that not all dependencies will get migrated to a new JDK within 6 months, even less that the application will be migrated, and that says nothing about rolling it out to production.

\- and production is when you really want security updates, etc. And Oracle's plan is that the last scheduled security update would be a couple of months before the next OpenJDK release, so you really only have ~4 months of a supported, updated JDK release.

\- there have been various security problems with Java, even with Oracle's support (particularly client-side, which is becoming less relevant)

So Oracle is moving from a slow-moving cost-free model to "hop on a rapid upgrade treadmill on a release we've historically told you not to use".

So the simple answer seems to be "pay oracle for support".

\- Then you get into Oracle's [abusive? domineering?] licensing practices, like requiring licenses for every CPU in a VMware cluster.

\- Some clients have been told by oracle reps to try enabling feature X, then brought up for license violations because feature X is commercial-only.

\- Working with Oracle is problematic enough that clients don't even want to enter into a conversation with them about the consequences of the JDK license change for fear of getting on Oracle's radar.

The community appears to be stepping up, but there's still a lot of concern about whether they will be able to provide production-ready, secure builds, across the many platforms Java supports. (Notably, Solaris support appears to be lacking...)

<comment><USER6> SpringBoot 2.1.0 already supports Java 11.

<comment><USER5> Exactly. 9, 10, 11 in six months (total, not six months each), representing a dramatic shift from the Java 8 history - and spring boot didn't support 9 until it was already reaching end of life.

Grails (built on spring boot) won't support anything higher than Java 8 until end of 2018.

<comment><USER6> Is Grails even a thing still? On local JUGs around here, Groovy is only alive thanks to Gradle.

<comment><USER7> I think Grails has died under it's own bloatedness, and all the moreso because frameworks like Micronaut [1] are showing that you can get all the advantages of a full stack framework without the horrific bloat. I won't miss Grails because I think that, a bit like Gradle, it is an antipattern use of Groovy - needlessly applying its dynamic features where they are not even required and hence resulting in code that is very hard to trace and figure out, and sacrificing performance everywhere. Groovy is best when it's dynamic features are used least, I find, at which point it hits a sweet spot that no other language achieves for me.

[1] [http://micronaut.io/](http://micronaut.io/)

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> At what point do we finally draw the line on Oracle and say enough is enough, we're forking?

Oracle clearly seem interested only in trying to exploit Java developer and users. Why are we still stuck to them?

<comment><AUTHOR> I get all the hate for Oracle the company, but they've taken the time to systematically open source every closed source thing they've had: JFR, ZGC, GraalVM (partially), and finally the crown jewel the TCK.

They've even been involved in getting the open community up and running.

I sincerely can't imagine what more you could want from a corporate steward.

<comment><USER9> _I sincerely can 't imagine what more you could want from a corporate steward._

A different business model than suing their customers?

<comment><USER10> They are only suing customers who refuse to pay licensing fees or remove offending software.

Don't forget many of their customers are pretty dodgy/incompetent also.

<comment><USER11> They demand their customers pay licencing fees to licenses they don't own, like the Java language itself which is not subject to copyright under US law.

The suit against Google was filed within a month of the Sun acquisition, it was part of their reasoning for buying Sun in the first place: so that they can sue Java users and get tons of money for nothing.

<comment><USER6> Sun would have tried to squash Google just as they did before with Microsoft, but they were out of cash, sadly as we could have gotten a proper JavaSE mobile platform instead of the craziness of Android development and incompatibilities with OpenJDK.

Gosling interview on "Oracle vs Google".

[https://www.youtube.com/watch?v=ZYw3X4RZv6Y&feature=youtu.be...](https://www.youtube.com/watch?v=ZYw3X4RZv6Y&feature=youtu.be&t=57m42s)

</comment></comment></comment></comment></comment></comment><comment><AUTHOR> TL;DR Andrew Haley is stepping up on behalf of RedHat and the greater OpenJDK community to provide leadership for LTS branches of OpenJDK 8 and 11.

> The OpenJDK Vulnerability Group, with members from many organizations, > collaborates on critical security issues.

Huh, I'd never heard of that before.

> There is also the question of back-porting important features from later > OpenJDK releases ... While new features, particularly performance-related > ones, are undoubtedly nice to have, our first priority must be to not break > anything: we must remember that we are stewards of a very precious piece of > software. ... each proposal will have to be taken on its individual merits, > and I don't think we can have a one-size-fits-all policy for such things.

This is so refreshing to hear. Especially after all the turmoil over the Linux CoC, it's nice to just hear: we'll rely on my human judgment and that if my peers.

All in all I think this is good news and well needed clarity.

</comment><comment> vaer-k > Some people might be worried that their chosen distribution will not build, > test, and package OpenJDK correctly, but if you don't trust your > distribution to build packages, you shouldn't be using it at all.

Can anyone say which distributions he is alluding to?

<comment><USER12> It's rhetorical. The point is that if you trust your distro with millions of lines of code from Linux, GCC, and a thousand other packages, then you should be able to trust it with one more package (albeit a big one).

</comment></comment><comment><USER5> The title on HN is misleading by truncating the word "Support" from the original.

Oracle remains the driving organization behind Java and OpenJDK. The change that has everyone up in arms is the cessation of Oracle support for updates to OpenJDK versions 6 months after release (no long-term support/updates of OpenJDK releases)

<comment><USER13> Thanks, we've restored the "support"!

</comment></comment><comment><USER14> People should use Go and forget all the licensing issues. Bonus: happy developers!

<comment><USER15> Go hasn't had a history yet of breaking compatibility with earlier releases. Wait until Go 2 comes out, then we'll see how much Google wants to maintain long-term support. Two hints: it'll be at least as long as necessary for Google to port all of its Go 1 code to Go 2, and it won't be much longer than support for Inbox or Google Reader. And a further hint, Google will figure out how to port all of its Go 1 code to Go 2 much faster than you think, and your company will not be able to port its million-line Go codebase nearly as quickly.

<comment><USER16> One of the stated goals of Go2 is forward and backward compatibility. We have to see how well this pans out when Go2 is released.

> Go 2 must also bring along all the existing Go 1 source code. We must not > split the Go ecosystem. Mixed programs, in which packages written in Go 2 > import packages written in Go 1 and vice versa, must work effortlessly > during a transition period of multiple years. We'll have to figure out > exactly how to do that; automated tooling like go fix will certainly play a > part.

[https://blog.golang.org/toward-go2](https://blog.golang.org/toward-go2)

<comment><USER15> It's an admirable goal, and we'll see whether it works out in practice. Remember, this entire thread is about JDK updates. Java also explicitly has forward and backward compatibility as a design goal, but then sun.misc.Unsafe turned out to be a bigger headache than most people thought, and upgrading to Java 11 will require many companies to update core dependencies, and unfortunately a lot of companies would rather pay for Java 8 support than put in the maintenance effort.

Even if there's 99% compatibility, if upgrading requires anything more than updating the compiler, even if it's just adding a runtime flag and the upgrade effort should be minimal, you're going to see significant resistance from companies with large codebases.

</comment></comment></comment></comment><comment><USER17> Java stemming from one company in particular is one big reason I don't like Java, on top of requiring a jvm.

At least with C++, there are several companies involved, and its inventor doesn't work for one software platform in particular (herb sutter works at Microsoft, that I will agree). I don't know how 'iso' Java is, but to me c++ is much more adaptable.

Java requiring a jvm makes things a little complex. Does the jvm offers guarantees like c++ does? I trust c++ more, because once it's compiled, there are much less uncertainties.

<comment><USER18> > Does the jvm offers guarantees like c++ does? I trust c++ more, because once > it's compiled, there are much less uncertainties.

This seems backward to me. C++ has a great deal of undefined behaviour, which you don't get in Java. And Java has had a memory model for years - <USER2> recently nobody could argue their parallel code was correct on C++.

If you want guarantees Java seems like the better option.

<comment><USER19> Exactly! also on my current project I have tried out different JVMs and the results where identical.

Oracle (HotSpot) GraalVM (also Oracle) Zing OpenJ9 ExcelsiorJET

Performance was radically different between them, but the answers where the same (ok equivalent as this a whole lot of parallel code).

My co-workers can't even get their C++ compiler to be accepted by two different compilers and it is not just them. Compiler upgrades are feared events where significant effort needs to be put in.

While even the hard upgrade to Java9 from 8 was 3 extra commandline switches on startup. For a project with 168 dependencies and more than 1 million lines of code. Done in one afternoon, with the upgrade to Java 11 taking 3 minutes. (needed to add java mail to the WAR/classpath instead of expecting it to be in the JDK)

Upgrades from 5->6->7->8 where equivalent or simpler. Eleven years in two bugs due to an upgrade. One a compiler bug in 1.7.45 an other not overriding all the methods from abstract list in a list of string implementation that uppercased on retrieval. Trivial compared to C++ upgrades.</comment></comment></comment>


Show HN: Drive Google's Streetview Car - <AUTHOR>

Last night I made this small webpage which takes any two points and shows a video of driving from one point to another atop the Google's Streetview Car. Download the file here https://gist.github.com/spicavigo/5263511 and open it in your browser. Wait for a minute or so for the video to load. Note that you should not move away from the browser window because the video will start automatically once its ready and restarting it would require opening the JS console of your browser.
Currently the two locations are hardcoded (Penn Station and 7th Avenue / West 49th Street, New York.
Once I get time, I will try and make a better interface for it.
Things that can be controlled here are the locations, speed of the car and number of frames in the video. So I will integrate them in the interface.
I think its cool. What do you say? <comment><AUTHOR> Clickable link to the gist <https://gist.github.com/spicavigo/5263511>

</comment><comment><USER2> Take a look [http://www.brianfolts.com/driver/#origin=malauce%20france...](http://www.brianfolts.com/driver/#origin=malauce%20france&destination=mon%20ventoux%20france) for inspiration. You can control the movie, and even download it.

</comment><comment><USER3> This seems like it could be cool, any chance of having it hosted somewhere? I'm too lazy to set it up to test, and I'm sure I'm not the only one :)

<comment><AUTHOR> I know I should have put up a demo but google caps the number of request one can make in a day and I didnt really find a workaround on that. Still looking for one though.

</comment></comment><comment><USER4> Cool! Definitely worth putting an interface around it. Love the concept and the simplicity of the code.

</comment><comment><USER5> very cool. The interface with ability to control location, speed, no. of frames will be awesome. Bonus point if you can add Play/Pause button for the video while car is driving and annotations/arrows on the map when taking turns

<comment><AUTHOR> Ya. This weekend maybe</comment></comment>


Since 2010, trolls have made 3 times as much money in court as real companies - <AUTHOR> https://gigaom.com/2014/10/08/patent-trolling-pays-since-2010-trolls-have-made-3-times-as-much-money-in-court-as-real-companies/ <comment><USER2> The article equates non-practicing entities with trolls, which isn't really fair. Most universities, for example, are non-practicing entities, and so are vehicles like Mojave Aerospace Ventures, the NPE used by Paul Allen to structure his investment into Rutan's Spaceship One. More importantly, most of the other NPE's hold patents made by practicing companies.

There are clearly NPE's that deserve the moniker troll, but that has more to do with abuse of the process than non-practicing status. In a way, NPE's are a refinement of one of the key advantages of the patent system--separating R&D from product development. It's the foil to the natural tendency towards vertical integration and the otherwise inevitable dominance of companies that have the strongest manufacturing capability.

All of this is of course orthogonal to the validity of particular kinds of patents.

<comment><USER3> You are equating universities with trolls. It's easy to tell the difference. Universities have employees who are listed as inventors. Trolls don't. Universities license their patents on reasonable terms and seldom litigate or even threaten litigation. Universities are able to do this because their patents cover valuable technologies. Trolls Trolls buy up crap patents and wield them like a motorcycle chain wielded by a street thug on unsuspecting passers by to see who's got a wallet worth taking.

Yet, by your lights, none of the above is an abuse of process. Even the patents sold off by failed ventures are toxic. Relatively few things a zero- stage venture has implemented are worth patenting. Investors requiring ventures to file provisionals are proliferating crap patents. These patents become vanity vehicles, listing "inventors" who are polishing their resumes.

You say you can tell drug money from money carried by people who distrust banks. Yet here you are willfully blind.

<comment><USER4> Your comment is overshadowed by your emotion, which is a shame. It could've been much better. For example, if you have any source for "Universities license their patents on reasonable terms and seldom litigate or even threaten litigation," then that would be interesting. Or a direct, actionable suggestion about how the current system could change.

I'm worried that comments like yours will make people like rayiner less inclined to contribute to HN, especially with sentences like "You say you can tell drug money from money carried by people who distrust banks. Yet here you are willfully blind," which seems to be both an unrelated topic and a personal attack.

</comment></comment></comment><comment><USER5> I can believe that, but it doesn't by itself show the full effect of the patent system. The _threat_ of a legal case is important in a lot of places where no actual legal case develops. For example, Stanford's CCRMA computer- music research lab has been funded over the past few decades largely by patent royalties, from licensing patents to synth-makers like Yamaha. IMO that's an example of the patent system functioning largely as intended: R&D group develops something, licenses it to a commercialization group, which develops a product and pays a small percentage as royalties to the R&D group. No court actual court case happened anywhere here, because everyone played by the rules. Yet the _possibility_ of one was necessary, or else there'd be no reason for Yamaha to pay anything at all.

So for a full picture of the effect of the patent system, I think you need to look at total licensing royalties, including both court-ordered and contractually agreed ones.

<comment><USER2> The value of the civil legal system is entirely about the influence of the possibility of litigation on primary behavior. Obviously any actual litigation is a loss--but the possibility of recourse to litigation can allow transactions to happen in low-trust environments, and thus be a net win.

Similarly, value of NPE's is that they allow recovery of investment into R&D that doesn't lead directly to a product, thus reducing the barrier to investing in R&D.

<comment><USER6> So that would include the nearly $100 million collected by Forgent in settlements over bogus JPEG patents [1]? Or all of the other NPEs who target the small startup, the app writer, or anyone else they can think of who can't afford a long, protracted legal battle?

Yeah, this article is just part of a complex picture, but it's telling.

[1] [http://en.wikipedia.org/wiki/Asure_Software#JPEG](http://en.wikipedia.org/wiki/Asure_Software#JPEG)

</comment></comment></comment><comment><USER7> The more I watch the development of patent trolling cases or net neutrality issues, the more I come to conclusion that the real problem is that we don't have any good legal and economical representation of the term "asshole". Most of discussions around those topics tend to be about whether or not a given proxy is good enough to capture the majority of despicable behaviour. The core issue is - and I'm probably stating the obvious, but it bears repeating every now and then - that we don't have a legal framework for capturing _intent_.

<comment><USER8> Laws take intent into account all the time. It's the difference between acting and assault, for example: Do you intend to put on a show or do you intend to make someone afraid for their safety?

The problem you're hitting on is that being an asshole isn't illegal, because we can't write laws that vague. Well, we could, but they'd be applied inconsistently enough that courts would practically fall over themselves to strike them down. And they should: One person's idea of asshole behavior is another person's idea of normal variation, which is fun when the difference comes down to culture, which always gets recast in terms of race, as in Europe's anti-Roma racism.

</comment></comment><comment><USER9> If you look at the EFF's list of patent troll litigation, it turns out that only three small law firms send out most than a few demand letters, and one firm is the big threat generator.

Also, if the patent holder wins in court, they weren't a troll. They really did have strong patent rights.

</comment><comment><USER10> I'm beginning to think the patent system is a mechanism for lawyers to extract money from people. The odds of another lawyer turning off that spigot seems low.

</comment><comment><USER11> These stats do not reflect the effect of recent changes in the law. Money being awarded now is from lawsuits launched at least one or two years ago. New case filings are down 40% year-over-year[1], and anecdotally, we're hearing that many troll-friendly firms are severely curtailing their new filings due to new procedures at the US Patent Office to attack patents in parallel early in a litigation [2].

[1] See for drop in filings, [http://www.iam- magazine.com/blog/Detail.aspx?g=dadf4dce-0f75...](http://www.iam- magazine.com/blog/Detail.aspx?g=dadf4dce-0f75-45dc-9339-dacb0f7bb465) [2] See for stats on IPR: [http://www.insidecounsel.com/2014/03/19/patent-owners- beware...](http://www.insidecounsel.com/2014/03/19/patent-owners-beware-your- patent-has-a-15-percent)

</comment><comment><USER12> Not surprising, since trolls exist solely to make money through the legal system; companies, usually, make money another way.

</comment><comment><USER13> I'll bet criminal organisations that use extortion on businesses also make more money than the average businesses being targeted. The fact that trolls use the law instead of violence doesn't make it that much better. Legal but morally offensive practices are certainly not exclusive to patent trolls though. They just get more attention due to the publicity of the action.

<comment><USER14> > The fact that trolls use the law instead of violence…

Law enforcement _is_ violence.

</comment></comment><comment><USER15> curious to see more detailed data, this seems to include research companies that, in fields like pharma, are real companies and their major product is patents.

<comment><USER16> Not only pharma: What about ARM? As much as I know, they even don't have a chip factory. They just deal with their chip-designs (I am not sure, if it falls under copyright or the patent system -- but it is just a chip design, some ideas and such they are selling).

<comment><USER17> I think there's a couple of distinctions to be made between trolls and more legitimate IP owners:

\- trolls usually aren't the original IP creator,

\- trolls' patents often cover trivial material, or ideas which are included in prior art.

I'm gessing that ARM patents are not trivial.

<comment><USER16> Yes, you are right. But the distinction that should divide trolls from non- trolls (at least, as much, as the big corporations wanted) was mainly, if a company produces something related to the patent. And that is in my opinion the worst classification you can find (it is handy of course for the big corporations).

</comment></comment></comment></comment><comment><USER18> how can a troll make money ?</comment>


LightShot screenshot URLs easily harvested - <AUTHOR> Just a warning to others who may use the popular LightShot screenshot tool that generates prnt.sc URLs. Those URLs can easily be changed by incrementing characters to "walk" through screenshots made by others.<p>Within a couple of minutes of testing, I saw somebody's 401k and a driver license. <comment><USER2> Last time I saw something like this, it was from someone's browser extension using pastebin as a backend. Wonder if there are anything similar things for this.</comment>


The DNA of Our API: Specification Driven Development - <AUTHOR> https://localize-software.phraseapp.com/posts/developer-the-dna-of-our-api-specification-driven-development/ <comment><USER2> And so we come full circle, back to waterfall.</comment>


Guillermo Piñeda Morales reminds us we don't need much to be our best [video] - <AUTHOR> https://www.nytimes.com/2019/11/01/opinion/memo-nyc-marathon.html <comment><AUTHOR> Guillermo ran a 2:33:03 (5:51/mile) at NYC this morning.</comment>


Outlaw Universities – Discrimination in Academia - <AUTHOR> https://fakenous.net/?p=1195 <comment><USER2> State funded schools are requiring new hires to be ideologically right- thinking. How is this not directly equivalent to the "Have you ever been a member of the Communist Party" question? And how is this getting so little attention? If Trump required school hires to submit a statement on their patriotism and how they helped make America great and secure, the media would have a stroke.</comment>


Ask HN: What is the best laptop for developer for less than 1100 USD?  - <AUTHOR>

Im a web developer ,looking to upgrade my old laptop, im currently thinking about purchasing a hp laptop here are the
-specs 4th gen processor core i7 -8 Gb Ram -24 ssd + 750 GB harddrive -NVIDIA GeForce GT 740M Graphics with 2048MB of dedicated video memory -15.6-inch diagonal Full HD BrightView LED-backlit Display (1920x1080) The cost for this laptop is 1100 including shipping. Is this worth it? <comment><USER2> You don't need to spend $1000 on a development computer. Yet if you do want to spend that much, there are better options.

Lenovo is about to release their new line of thinkpads. For the first time, most of them are going to have 1080p IPS screens. Historically, they have supported Linux better than most other manufacturers. Keep an eye out for the T440p, T440s, and the x240, they are all going to be around your price range, and they should be really good machines.

The Macbook Air is another good option, unless you truly do need that much power.

If you are going for power, the Asus N550JV is still a much better option than the HP. It's got a metal chassis, a Quad Core i7 Haswell processor, a 1080p IPS panel, and a Nvidia GT 750M. The best part is that it costs about the same as the one that you were looking at.

If you want something cheaper, I'd keep watching the Lenovo Outlet. I just bought a T430 with 8GB Ram and a 256GB SSD for 448 on the outlet, you just have to be patient.

<comment><USER3> I would like to second this opinion. I have a T430, bought it a year ago, and has never done me wrong. With extended battery which is only about $70 more it lasts 7-8 hours, the screen in good enough for anyone who isn't working for pixar, and all the function keys work on linux.

</comment></comment><comment><USER4> Reddit has a sub reddit specifically for this, (r/suggestalaptop) which I really liked. You might look at a clevo. I would want more ram, personally, and You don't need a video card that powerful for web development (many people like integrated only for the power savings).

</comment><comment><USER5> I'd get a Macbook Air, but it might be just a little bit above budget. On the plus side you get a huge battery life and you're running a *nix. You can't be sure how difficult it'll be to get Gnu + Linux to run if the HP has Window's 'safe' boot.

</comment><comment><USER6> I just picked up the Asus Q501 from best buy, I upgraded the ram and SSD, overall was about 1k spent. I put fedora on there and it's running like a champ.

</comment><comment><USER7> Why do you need so much horse power? I mean, you can do easily web development on a laptop for half the price.

I think you need to understand better your needs...

<comment><AUTHOR> I do backend development as well as front-end. I recently noticed that running tests i.e spec tests can greatly take alot of computing power. I just want a laptop that will speed up my work.

<comment><USER4> Completely unrelated to your original question, but I'd recommend you profile the tests sometime. often its not the processor that is the bottle neck, but the hard drive/ram.</comment></comment></comment>


Why Writing Firmware Is Kinda Like Software Exploitation - <AUTHOR> http://dontstuffbeansupyournose.com/2014/03/22/why-writing-firmware-is-kinda-like-software-exploitation/

<comment><USER2> LEDs are incredibly common and incredibly useful debug tools. I've had to work with boards that don't have them and without physical access to the traces for a scope, you're out of luck.

While some of it is fascinating, I've also had to spend entire days figuring out why a single pin won't toggle on a microcontroller. It sometimes takes herculean effort for the simplest debugging tasks.

</comment><comment><USER3> Perhaps these things (firmware, exploits) are more about scientific observation of experiments and less about reading documentation or literature to understand how to develop something. Commercial software development can be like that too. You may need to understand assembly code to figure out how library routines work (without access to the source). The documentation is usually incomplete or incorrect (as in "security by obscurity"). And people whose minds work in a particular way, who can back out what is going on from a set of empirical results, can get things done that others cannot.

<comment><USER4> The maxim in firmware is "this demonstrates the importance of not being seen".

The comparison to exploitae is .. modestly nauseating ( but perfectly understandable ) ; I never ran into a story about exploits where the perpetrator really wanted to be invisible.

There is no narcissism in firmware. It is the perfect satisfaction of leaving no ripple in the pond.

<comment><USER5> well said. I would agree. I am new to hardware...I just found myself getting the same tinglies I did with software exploitation as those I got writing firmware. Hence the correlation.

</comment></comment></comment><comment><AUTHOR> _Do not let the title fool you_. This is not about security; it's about all the stuff Steve Ridley learned working on bringing an RF hardware product to market.

</comment><comment><USER6> Edit: Shame on me, should have read the article more carefully, he actually explains why he was not able to use JTAG. Sorry for my hubris.

\</comment><comment>-

I like the approach, but while this post rants about the unprofessional Arduino crowd, his attempt to solve his init problem via a blinking LED to Morse debug data strikes me as similarly inefficient.

To solve these kinds of problems, one normally attaches a JTAG interface (or the equivalent device on the particular platform) and single steps through the code, observing registers and memory... if you don't have this tool (for ARM the most primitive will cost you maybe 30$ or €, the fastest and most feature rich will be s few 1000) you'll waste a LOT of time in low level debugging.

If you really have to Morse on a GPIO, you want something that a logic analyzer can decode.

<comment><USER5> No problemo, thanks for editing. I am equally as cynical. I would've called me an idiot for not using the debugger also...but alas it was busticated.

</comment></comment><comment><USER7> This article makes me sad. Here's a guy who has only relatively recently acquired skills in hardware and firmware development, but he already thinks he's in a position to arrogantly shit all over what he calls '"Maker" folks who are usually web programmers that want to declare to their coworkers and friends with self-righteous indignation that they are "going lower level" or "getting into robotics"'.

<comment><USER5> I don't mean to shit on "Makers". In fact the growing popularity of "Makers" is what makes companies like TI and others see market viability for the low- cost development kits that I take advantage of quite a bit.... I just find that if you visit your average hackerspace or Maker faire, you spend most of your time weeding through the noise to try to get actionable and useful information. I was merely pointing out that if you abhor the sciolist hipster smug, be wary of the "Makers" because there is a abnormally high concentration of that there than in most technology communities.

</comment></comment><comment><USER8> > Working on solved problems sucks

I don't think there is such a thing as a solved problem. The more I get into web dev, the more fascinated I become by it. There's just so much to learn, if it were such a "solved problem" then 99% of the code I have to maintain, including my own, wouldn't utterly suck.</comment>


Idea to Minimize the Economic Impact of Coronavirus - <AUTHOR> https://medium.com/@mgav/idea-to-minimize-the-economic-impact-of-corona-virus-2078836fcde <comment><AUTHOR> This is a temporary idea to prop-up our economy amidst the current extraordinary #coronavirus circumstances:

        Suspend all rent, loan and mortgage payments, between all parties, for a period of 30 days, without any penalties or accrual of interest.

This would help prevent individuals and businesses that are fiscally solvent under ordinary circumstances from being shocked into insolvency due to health measures taken to protect against the spread of the corona virus.

For example, a restaurant that is employs 15 people and typically earns enough to pay all its bills, but suddenly has zero revenue because all their customers follow advice and stay home.

A few points to consider:

        This would benefit both individuals and businesses in a way that gets at the heart of the economic problem (sudden and severe dip in revenue that would otherwise not be offset by a dip in rent and loan payment obligations)
        I'm not sure whether or not the government has authority to enact these measures for loans and other contracts between private parties.
        The corona virus is probably a "force majeure" event, meaning it's outside of a party's reasonable control and prevents that party from performing its obligations under a contract.

If you think this is worthwhile, refine the idea and share it with influential people who could make it happen immediately.</comment>


In these days of political correctness - <AUTHOR> http://neil-gaiman.tumblr.com/post/43087620460/i-was-reading-a-book-about-interjections-oddly <comment><USER2> > _"I was reading a book (about interjections, oddly enough) yesterday which > included the phrase "In these days of political correctness…" talking about > no longer making jokes that denigrated people for their culture or for the > colour of their skin. And I thought, "That's not actually anything to do > with 'political correctness'. That's just treating other people with > respect."_

No, being respectful and being politically correct are very different things.

* Respectful would be to say, "I don't care whether you're a man or a woman, white or black, Jewish or Catholic, I only care that you can code!"

* Politically correct makes a manhole cover into a person-hole cover.

* Politically correct turned "dumb" into "retarded", optimistically suggesting hope for a change in the future, and finally into "developmentally delayed", the current euphemism. But that isn't about respect, because each new euphemism carries the same meaning as the word it replaces, and people often turn well-intentioned euphemisms into insults, as with "retard", the short version of "retarded", the usage of which caused "developmentally delayed" to replace "retarded". Stay tuned for more replacements.

* Politically correct turns any number of politically incorrect student descriptions into "special-needs student", which, in the name of correctness, undermines any meaningful communication.

* A school in Seattle renamed its Easter eggs 'spring spheres' to avoid causing offence to people who did not celebrate Easter. This isn't respect, this is paranoia and overreaction.

* A recent zealous effort to replace the engineering terms "master" and "slave" (used to describe the relationship between storage devices, network elements and other things) has been provisionally abandoned for lack of a meaningful substitute. Again, stay tuned.

It's not about respect, it's about politics and the bizarre power of law in service of popular fads.</comment>


Ask PG: Please rate-limit submissions per user - <AUTHOR>

We've had 18 submissions from the same user in the past 2 hours.  There's nothing particularly wrong with any of them, but I think HN works best when there is a wide diversity of stories, and having so many similar submissions is getting in the way. <comment><USER2> Perhaps you are you referring to me. I posted 19 links within the span of a couple hours (around the time you posted this).

My submissions -- which spanned aerospace, commercial spaceflight, natural language processing, embedded computing, error-correction codes, etc. (three of which frontpaged) -- are far more on-topic for this community than the usual frontpage garbage. 15+ iPhone articles a day, "Stephen Colbert makes Bing donate money", or Steve Jobs _this and that_ do not belong on the frontpage day in and day out. At least not on a site called Hacker News.

If you look in the New queue right now you'll see several Apple articles, mostly about whatever is already on the frontpage (getting upvotes no less). This isn't a personal crusade against clashing ideologies (I use Apple as an example several times because this site overflows with Apple news), just an attempt to bring a little more hacker back to this site and a little less Engadget.

I apologize to anyone whose non-Reddit quality submissions were bumped to page 2 over the course of those two hours. To be clear, I believe your claim of so many similar submissions 'getting in the way' is well, ridiculous.

<comment><USER3> I have to agree with everything you said. "Apple stories" are getting tedious.

</comment></comment><comment><USER4> Maybe as an option we could just ask the submitter to slow down a little. If it's not spam he will probably be respectful of the request. My thoughts are that maybe sometime in the future some hot topic might call for a lot of quick submits—you never know.

Plus to me, I hate to see a forum with freedom of speech tightened down for everyone by iron fisted inflexible code just because of one user, one time. I like this forum a lot no matter how many posts someone makes, but 18 quick posts does seem like a lot to me too. Must be a slow day for him.

Maybe we could send him this: ICMP message Type 4 - Source Quench - the source is sending data too fast for the receiver (Code 0), the buffer has filled up, slow down!

<comment><AUTHOR> _Maybe as an option we could just ask the submitter to slow down a little_

If it was just this one time I would have done that -- but it has happened in the past with other people.

 _maybe sometime in the future some hot topic might call for a lot of quick submits_

Lots of quick submits, sure. But from the same person? I doubt it... if there's big news, lots of people will be submitting links.

<comment><USER4> Oh, I understand what you mean now. He must have brewed up some extra strong coffee or downed a case of Jolt or two. 18 is a lot of posts for one person.

</comment></comment></comment><comment><USER5> > There's nothing particularly wrong with any of them

Then why does it matter that they were submitted by the same person. I'd rather have 18 interesting links posted from the same person than 18 dumb links posted by different people.

</comment><comment><USER6> Not that I've ever submitted anything before, but based on experiences at other sites, getting throttled sucks. Having to sit and wait for the clock to reset for each subsequent submission is a pain and extremely unfriendly if the content isn't actually spam.

What if instead of rate-limiting the submissions, HN accepted all the submissions, but then controlled the rate at which they're released into the mix. That way, the user's experience is unencumbered, but there's also not a sudden flood of posts from a single user all at once?

</comment><comment><USER7> I don't think just limitting submissions from one user would solve the spam problem, as spammers will create different accounts. Less naive ones will even use different ips, change the text of the submissions while keeping the idea, and have random delays, all of this automated.

But I agree it would be nice to have a better anti-spam technique, like those implemented by Akismet on wordpress.

</comment><comment><USER8> I'm down with that. Thee's a (very small) number of people who abuse HN, either flooding the page with submissions or only ever submitting links from their own blog and stuff like that. It's rather annoying, though i don't know if there is a good automated solution.

</comment><comment><USER9> Perhaps rate-limit but expand the rate per user if the links submitted are getting points. Also perhaps indicate how much time/points are remaining before a new submission can be sent.

</comment><comment><USER10> I think a much better feature would be a "duplicate" feature.</comment>


Ask HN: Why is European/German Dedicated Hosting So Much Cheaper Than US? - <AUTHOR>

From another Ask HN thread about where people were hosting their sites I found the Hetzner Root Hosting packages:
http://www.hetzner.de/en/hosting/produktmatrix/rootserver-produktmatrix-eq/
You can get a quad core i7-920 with 8G ram and dual 750GB disks for 49EUR per month, which works out to about $65/month.
By comparison, RackSpace's "Basic Series" dedicated server solution with a dual core Opteron, 3.G ram and 2x250GB disks goes for $419/month.
http://www.rackspace.com/managed_hosting/configurations.php
Am I comparing apples to oranges or is there really that much of a price difference between dedicated hosting in Germany and the US? What's the story? <comment><USER2> That's because the hetzner systems are built using desktop components, not server

Opterons, Xeons, etc. are server class components, which need more expensive motherboards (typically those that can accomodate upto 64-GB RAM, 5X HDD, hardware RAID, iSCSI cards, etc.)

Secondly, it's the routers/network equipment that they use - they are much more prone to downtime.

webhostingtalk has a couple of interesting discussions about this.

What I suggest is you take a look at the deals/offers sections of such websites and figure it out. I currently have a 2 X quad-core Nehalem with 12GB RAM, 5TB B/W and 4X500GB HDD in Raid 1+0 for $399

<comment><USER3> the price differential between server and desktop systems isn't that great, especially if you use AMD systems. were I to go head to head with hetzner, I'd be getting killed on power costs. Does Germany have cheaper power than I have? (and is that right? 8GiB ram with mirrored disk for $65/month? because that is /really cheap/ - even with free power they have less margin than I do) Hm. It's possible that the core i7 stuff is way cheaper than I thought it was... but last time I looked, the core i7 stuff burnt a lot of power. Yup, the i7-920 is approx $230, and has a 130w tdp. Yeah. just the power for that goddamn thing would eat something like thirty bucks a month if it were in my co-lo. Unless I am badly misunderstanding something, they are paying vastly less for power than I am.

so if the cpu is $230, and say $200 for the ram, and, say, $300 for the chassis/motherboard, and say $100 for the two drives... $830 capital expense for the server... uh, they charge you around a $200 setup fee. so uh, at $65/month, if power is free, it'd take them more than nine and a half months to pay off their server... this on a server that only lasts three years. And power isn't free, so yeah, damn, those are some small margins.

Also, network equipment is a pretty tiny portion of your hosting costs, even if you pay for nice switches. you can get a really nice 48 port gigabit switch for two grand, and you can get something that is used but serviceable for 1/4 that. Ooh, they use 100M network, which is cheaper. even good 100M switches these days are essentially free. but even so, the switching infrastructure is not a huge portion of your costs.

Now that said, as far as I can tell, my margins are lower than most American hosting companies, and I plan to pay for my hardware in four months, which seems like silly high margins to me. It's possible that they are just willing to accept margins that are much lower.

I wonder if there is some foreign exchange weirdness making them cheaper? the euro was stronger when they bought the hardware, and now it's weaker?

also, how much bandwidth is that? I couldn't see from the website. San Jose (my location) has poor prices for power, but rather good prices for bandwidth.

<comment><USER4> >>Does Germany have cheaper power than I have?

i highly doubt that. they proud themselves that they only use power from hydro [1] .. so lets see. if i were to buy this kind of electricity for my home i would pay 0,2049 €/kwh without taxes. thats the ceiling for what they possibly pay.

[1] <http://www.hetzner.de/en/hosting/unternehmen/umweltschutz/>

<comment><USER3> around here, the more power you use, the more you pay per kwh, if you are a residential customer, while businesses have different rules. As far as I can tell, it's all largely disconnected from the cost of creating the power, and if you are on the lowest residential tier, it's /very/ cheap.

Anyhow, if we roughly estimate the server to use the CPU TDP of power (now, CPUs don't normally use the full TDP... that's the design maximum. Like sears horsepower, if the cpu itself hits that number, smoke is coming out of the thing. but the rest of the server uses power, too- the chipset, the ram, the network, the disk, etc... so the TDP often is fairly close to what the whole server draws.)

that puts us at 94KwH for the server. Multiply that by three to account for cooling, (in most data centers, you are looking at two watts plus in cooling for every one watt used by the servers. This depends on how efficient the data center cooling system is.) and multiply that by your power number and that'd be around 58 euros a month. 19 euros if the place used zero power for cooling (but that's just unrealistic for something you can't turn off on hot days)

I would say there is something fishy here, but I've seen hetzner talked about here for a while, and people seem satisfied... so maybe I'm just missing something?

<comment><USER4> well its what a common household would pay for that kind of electricity. i think starting from 5k kwh per year the local power company will start offering "power user" quotes (even for normal households). hetzner is one of the biggest server providers in germany so i imagine that they have huge datacenters and thus huge power consumption. its not entirely impossible that they can get below 0,1 €/kwh if they guarantee to take several 100k kwh. additionaly they can cut deals to bring the price even lower if they take the same amount around the clock (electricity is a lot cheaper at night).

</comment></comment></comment></comment></comment><comment><USER5> Rackspace is kind of pricey in general. Look over at <http://interserver.net/> for some more reasonable US rates on a decent backbone.

<comment><AUTHOR> That looks better, but it's still $150/month for a quad core with only 1GB of memory. In fact even their $270/month offering only has 1GB of ram. The specs vs. price is not close between the German and US offering.

</comment></comment><comment><AUTHOR> Here's the origin thread, btw: <http://news.ycombinator.com/item?id=1564897>

</comment><comment><USER3> you say European... are there other providers in Europe that are priced competitively with hetzner.de?

<comment><AUTHOR> European was a generalization, maybe it's only Germany. I'm not sure.</comment></comment>


Ask HN: What Python IDE do you use? - <AUTHOR> Hi everyone,
Since the last thread on this topic was almost 3 years old, I thought I should probably start a new one since the Python IDE landscape probably have changed a lot.
Please list the Python IDEs you use, the platform you develop on / to, and the pros and cons. <comment><AUTHOR> _Emacs23 trunk + Ropemacs trunk + AutoComplete trunk + Autopairs trunk_

      Platform
        - <USER2>
        - <USER3>
        - Python 2.6

      Pros
        - No rigid directory structure
        - Unmatched indentation mode (autofill)
        - Good backup editor
        - You can hack your IDE anyway you want easily

      Cons
        - Pymacs + Ropemacs are quite slow at pretty much anything
        - Emacs Pinkies
        - Ropemacs' focuses way more in refactoring (which I rarely use) than code analysis and automatic imports and auto-completion, so the later 2 major features are lacking quite a bit
        - Pymacs and Ropemacs have basically 2 people working on it, and an extremely small user-base.

_Eclipse 3.6 + Pydev 1.6.4_

      Platform
        - Same as above

      Pros
        - Fairly accurate code analysis, type-checking, auto-completion, syntax highlighting and import organization
        - Very good VCS, build tools, issue tracking integration
        - Has some very modern and very convenient editing shortcuts
        - Has unit testing support

      Cons
        - Can be slow at times
        - Monstrous memory hog
        - Rigid project structure, launch options and build options
        - Still have to drop back to the term for virtualenv, pip and other tools
        - Not so good at filling columns
        - Some people just prefer to type commands then click buttons

</comment><comment><USER4> I live inside WingIDE Pro(/Windows/wxPython/Django/) - it is the only IDE I have used that will reliably debug multi threaded apps and wxPython. We have hundreds of Python components in our product (financial industry) and Wing makes it easy to manage (or at least as easy as possible). The company fixes problems quickly (I have reported a few and they fixed all of them within a reasonable time frame). For commercial Python development it is as close to perfect as I have found. Not cheap, but well worth it...

<comment> cool-RR I love Wing too. Now, how is $180 for the Pro version not cheap?

<comment><USER4> You are right - for what it delivers $180 is more than reasonable. Unfortunately people tend to compare it to the free IDE's. Of course, Wing is free if you are working on an opensource project.

</comment></comment></comment><comment><USER5> Ubuntu, used to use VIM exclusively, now I'm trying a variety of IDEs at the moment (found out I prefer something that can remember the state of the project, to just VIM + NerdTree).

My experience so far:

* Geany (programmer's editor using GTK+) is simple and fast; if I'm using a graphical IDE, I'd like code completion (that can complete the code I wrote, not just stdlib) though

* Komodo (Edit) 6.0 (built on top of XUL) is fairly comprehensive; I keep getting bugs (or weird behaviour) with it (last time it wouldn't remember the custom python path for code completion), and feels a bit sluggish

* So far I like Wing IDE (commercial, I'm having a trial run atm). Comprehensive (if you go with the pro variant which costs a bit more, but hey, if I'm spending a lot of hours every day in it, it's worth it) & feels fast to me.

I haven't tried Aptana or PyDev. I have this (irrational?) feeling about Eclipse being huge, slow, and memory hog. I've used it a couple years ago (for some Java coding) and never felt good using it; and it was the bloatest application on my system (yes, even more than OpenOffice). From the comments here (so far), it looks its more or less the same nowadays...

</comment><comment><USER6> VIM and NERDTree and some Python plugins (although I did use Eclipse when attempting to port a Java library to Python library)

Platform: \- Mac OSX \- Ubuntu

Pros: \- The flexibility and efficiency of VIM has so far been the best thing about VIM for me. The ability to move quickly throughout the document and move lines with minimal keystrokes is why I got hooked on to VIM.

Cons: \- No auto-completion (never installed the plugin perhaps?) \- Dealing with 1000 line files and trying to compare things here and there is slightly painful \- Always having to exit VIM to get to the command line (which we had something like Emacs but it's against the VIM philosophy isn't it?)

</comment><comment><USER7> Eclipse with PyDev with a Vi emulator (can't remember which one offhand). Having been something of an Eclipse skeptic in the past (despite being a Visual Studio devotee) I have to say I'm really quite impressed with it. It certainly makes navigating larger Python projects somewhat easier. Eclipse certainly seems no _worse_ than VS for bloat or memory usage - although I guess that's not saying much :)

That said, if I'm just knocking out a single script or something, I'll just drop straight into vim.

(Oh, on Windows, almost exclusively)

</comment><comment><USER8> I use Vim and Terminal on Ubuntu.

Having spent a majority of my career so far developing on windows in Delphi and Visual Studio, this is a complete change for me. I have been programming in python for two years now, and spent a first year trying different IDEs: Eclipse with Pydev (on windows and ubuntu), PyScripter (windows), NetBeans, Komodo, WingIDE, recently tried PyCharm and MonoDevelop, but they were all too slow or cumbersome for me.

The speed and flexibility of good editor (vim) and unix tools is the way I feel most happy.

</comment><comment><USER9> Been using Wing IDE for a couple of years now, just upgraded to the new one. It works well for me ...

</comment><comment><USER10> I'm using PyScripter. Pros: very light, excellent debug with remote engine. Cons: only Windows, only 32bit Python versions.

My friend prefers PyDev.

I'm planning to try emacs for python coding.

I've tried vim, tuned code completion, doc strings, other - but I just did not like it a lot.

<comment><USER11> On my system (Window 7) undo/redo seems to mess up after a bit, which was quite annoying. It'd eventually start removing lines or something. I don't remember exactly, but in the end that's why I stopped using it. Also, I think I remember long running scripts freezing the IDE.

NotePad++ does a decent job for editing a file here or there. PyDev is my editor of choice when working on a project.

</comment></comment><comment><USER12> pydev on windows. Or sometimes i use Visual Studio 2010.

In Linux i tend to use Emacs. If you like Vim, then you could try Cream for windows, which is quite nice.

Its just a case of finding what you are comfortable with, I would quite happily dev on linux with nano ;)

</comment><comment><USER13> Aptana 3 Beta. It comes with Pydev. Developing on Ubuntu/Windows

I really like having Terminal in the IDE itself. Pydev also comes with django template editor which is nice.

</comment><comment><USER14> ActiveState Komodo on both Windows (7) and Ubuntu. I also plan to use it when I get a Mac, unless I run into something better there. :)

</comment><comment><USER15> Komodo IDE with VIM key bindings. Netbeans wasn't bad either. I really didn't like Eclipse.

</comment><comment><USER16> I use emacs, and almost always write for Windows. If I need a GUI, I use PythonCard.

</comment><comment><USER17> Notepad++ seems to work pretty well on MS windows. Can't really say it's any better than a lot of other editors out there.

Tried Eclipse and it feels like bloatware.

I would really like to find some middle ground between notepad++ and eclipse.</comment>


The 25% Discount that Cost Us $12,000 (Plus, a Big Announcement) - <AUTHOR> http://www.groovehq.com/blog/discounting <comment><USER2> I'm confused, the article starts with "Don't do heavy discounting, don't give away your stuff too easily" then ends up "Here's a load of discounts!".

What was the message you wanted to give?

<comment><USER3> They did say extended free trials did work for them, and while I struggle to believe long-term free users convert better than discounted users, that's what their data says. Most of their offers seem to be very extended free trials.

</comment></comment><comment><USER4> These article titles are very link-baity, regardless of their relevance to HN.</comment>


GPL violations for advertising purposes - <AUTHOR> https://github.com/MediaBrowser/Emby/issues/3075 <comment><USER2> Unfortunate that this has been going on for over 4 months, with not even platitudes, just "we are discussing it internally".

Emby markets itself as an open source competitor to Plex, however the binaries they distribute are not reproducible using the code published in the repository. Despite multiple requests for the build scripts for the dotnet core version of Emby, the core developer Luke states "we are currently not publishing the build process for it, but don't worry, we will be doing .net core-based packages for all of the popular distros."[0]

The GPL requires the release of not just source code, but build scripts and supporting materials, outlined here in the SFLC's "A Practical Guide to GPL Compliance", sections 3.3, 3.4, 4.2.3. [1]

The core development team has been made aware of this, but is still refusing to make the build scripts available for the currently distributed version of Emby. Neither have they relicensed the project, despite all current contributions being covered under a CLA. This constitutes a willful and deliberate violation of the GPLv2.

[0] [https://emby.media/community/index.php?/topic/51614-instruct...](https://emby.media/community/index.php?/topic/51614-instructions- to-build-netcore-version-from-source/)

[1] [https://www.softwarefreedom.org/resources/2008/compliance- gu...](https://www.softwarefreedom.org/resources/2008/compliance-guide.html)

<comment><USER3> > Emby markets itself as an open source competitor to Plex

Which, so long as they provide downstream with the permissions in the open source license they offer, is correct. Whether they are violating upstream open source licenses is an almost entirely separate concern, relevant only in that it could conceivably lose them the right to continue to offer their software at all, under open source or other terms.

<comment><USER2> How is it free software if I am unable to produce a build from the the source code that is made available. This clearly violates freedoms 0 and 1.

From the SFLC Guide:

"The Corresponding Source definition – both in GPLv2 and GPLv3 – has not been typically read to include the compiler itself, but rather things like makefiles, build scripts, and packaging scripts."

These are not provided with the source code, and they claim the distributed binaries are licensed under the GPL. How is this correct if they do not satisfy the 4 freedoms?

</comment></comment></comment><comment><USER3> If none of the upstream copyright holders feel there is a violation worth pursuing, then there is no real issue.

If the upstream copyright holders feel there is a violation worth pursuing, then they have venues to which to escalate if an issue filed with the project is inadequate to resolve the problem.

<comment><USER2> The project claims to be licensed under the GPL and markets itself as an open source competitor to Plex. Even if only the copyright holders have the standing to pursue a violation, that doesn't change the fact that they are falsely advertising their project and are not following their own selected license.

They distribute packages for Linux distro's, where the GPL is listed as the license for the package, instead they should be listed as custom or proprietary.

<comment><USER3> > They distribute packages for Linux distro's, where the GPL is listed as the > license for the package, instead they should be listed as custom or > proprietary.

No, you are confused about the meaning of the license label: that's the terms they are offering downstream (e.g., what permissions, and with what conditions, people _getting_ the package from them have), not the terms they are bound by. If upstream is proprietary, but the distributor has purchased the right to offer GPL downstream, GPL is the correct label. If upstream is permissive open source, and the distributor has decided to only offer GPL downstream, GPL is the correct label. If the distributor is the sole copyright holder and bound by _nothing_ , and has decided to offer GPL downstream, GPL is the correct label. If upstream is offered to the public under the GPL, but the distributor has a special deal for an exemption from a particular term with the upstream distributor, but is still offering GPL downstream, GPL is the correct label.

While the copyleft nature of the GPL is that people offering it to the public will often be obligated to particular upstream partners to also observe its restriction, upstream and downstream licensing are different things, and the label on a package is the downstream offer, not the upstream commitment. As a recipient, their obligation to you is to honor the offer they have made to you, which is simply that _you_ may distribute under the conditions in the GPL.</comment></comment></comment>


AirPods Aren't Headphones, They're Apple's First Implants - <AUTHOR> https://www.fastcoexist.com/3063955/airpods-arent-headphones-theyre-apples-first-implants <comment><USER2> Interesting attempt at trying to make Airpods into something they are not. Implants have to be implanted. The glasses analogy is a bit off because most people wouldn't ware glasses all the time if it wasn't for the fact they are needed to see.</comment>


Gödel, Escher, Bach: A Mental Space Odyssey - <AUTHOR> http://ocw.mit.edu/high-school/courses/godel-escher-bach/

<comment><USER3> I have to say I'm very surprised at how few people here seem to have liked the book. Going by my experience, I would have expected that HN readers would have thoroughly enjoyed it.

I first read it about 25 years ago, and while I didn't understand much of its philosophical arguments, I remember the experience as a sheer delight. Since then, i've read it at least twice more, and enjoyed it every time ( and understood it better):

\- It's the best explanation by far (for a non-mathematical reader) of Godel's theorem and its philosophical implications.

\- It's a theory about what is consciousness and how it arises, but unlike most such discussions, genuinely interesting and even playful.

\- It's an argument for what is called 'strong AI'. Given the author's view of consciousness, he makes a strong argument for why he believes conscious computer programs are possible.

\- It's a great introduction (again for the math-challenged) to formal systems, mathematical proofs, and what was called the Entschiedungsproblem (who can resist finding out what a word like that means?) :-)

\- It's tantalizing glimpses of the world of western classical music and painting and some interesting parallels he draws between them and his theory of consciousness.

\- It's a set of delightful dialogs (in the style of Lewis Carroll) about all the above.

For me, it was one of my formative experiences, and the one thing I got from it at the time was that there was more to computers than writing Pascal programs. It helped that I came to this book as the proverbial tabula rasa, knowing nothing about classical music, painting, formal systems or philosophy for that matter, but I really think most people here, even those who know a lot about these things, will enjoy and learn from it.

<comment><USER4> Gödel, Escher, Bach is a prog rock concept album: 70s, deeply focused on consciousness, indulgent, holistic/synthetic, great displays of technical virtuosity, three-letter acronym, umlaut. Even if you love it, were changed by it, hear selections from it in your head, you keep it a little on the down low because it is so far from the mainstream notion of cool, acceptable. Occasionally, you find a fellow traveller and you share some guilty passion for its awesomeness, like you would for Rush's Hemispheres or Genesis' Lamb Lays Down... Back at the farm you've got to fall in line, claim allegiance to the essentialist raw power of K&R, the baroque symphonies of Don Knuth, and the chart-topping successes on Tim O'Reilly's Top 40. When you're alone, lounging in your earth chair, you slip on your headphones, crank-up your stereo hi-fi, pop in your GEB 8-track, and you're gone...

<comment><USER5> Holy shit, you nailed it. Now I'm thinking of Metamagical Themas as an early 80's new wave album.

(And GEB is all about barouque symphonies and Don Knuth)

</comment></comment></comment><comment><USER6> I bought my copy a few years ago at a used bookstore. In the inner cover there are three signatures under a simple sentence - "sign this when you can't finish it and sell it back". It's still on my bookshelf - I should sign it and pass it on.

</comment><comment><USER7> I "read" this book, in that I passed my eyes over the words it contains, and mentally recreated the sounds of those words, parsed the individual sentences, and digested some of the paragraphs. It has had certain effects on my manner of thinking and acting, but it bothers me to know that there's a great deal more information in that hefty tome than I've managed to get out of it.

<comment><USER8> Same. I read it on Eliezer Yudkowsky's recommendation, but it was too much for me. I mean, I got a couple interesting ideas out of it, but I felt like I was barely scratching the surface.

I wonder if anyone has written a good companion guide to read along with it.

<comment><USER9> It's a combination of two things: An extended musing on the nature of Godel's Incompleteness theorem, including its practical and philosophical consequences, and a series of things as jacoblyles explains in his comment.

It's an arty/fun book, I don't think it's bad, but the "mystery" you perceive at the heart of it is simply Godel's theorem, which, to be fair, like many other aspects of computer science does indeed have more application than the immediate, raw application of the proof. I suggest spending some time with one of the more formal explanations of Godel's theorem, one that is really careful to explain how the self-referential statement is really constructed.

<comment><USER7> I get Goedel's theorem, I'd like to think. I get strange loops, and how Hofstadter would have a field day with our criticism of xkcd and of xkcd's critics. I just know there's still more.

<comment><USER9> Is there more? Well, yes. I did just try to summarize the book in about 20 words.

Are you about 90% of the way through? Yes. The book is written in a style to make it have the trappings of more depth than it actually has. I actually enjoy it that way and do not mean it as a criticism. (I also enjoyed the Illuminatus! trilogy, which is self-consciously written with somewhat similar motives.) Don't undersell yourself.

<comment><USER7> It's a Dunning-Kruger trap, carefully laid in pretty prose to catch people like me. I'll never be confident that I've "finished" it. As a consequence, I'll always think Hofstadter is smarter than I am. There's evidence beyond the scope of GEB to support that, of course.

<comment><USER9> What a beautiful way of putting it!

I happened upon the book in my life precisely when it would hold the least mystery, the second year of my graduate studies in computer science. It was fun but by that point in the category of "intellectual fluff" rather than "ow my brain". While I'm sure I have not discovered every last quirky little connection in it, every last pun or every last hidden pattern, I'm also pretty sure I didn't miss any of the main points.

But he's still smarter than me. I can read that book, I could never have written that book.

</comment></comment></comment></comment></comment></comment></comment><comment><USER5> _Gödel, Escher, Bach_ is one of the most beautifully bizarre, transcendent creations I have ever come across. I wish every computer programmer that I ever heard say something silly like "I don't like art", or "I don't read that much" could be exposed to it. There is nothing so humbling as getting your ass kicked by 800 pages of a guy trying to explain an idea in the simplest terms he can.

The only things that I can compare it to are more literary, but "Breakfast of Champions", "Foucalts Pendulum" or "Infinite Jest", aren't out of order.

They are all products of brilliant, obsessive, minds making a concerted effort to explain what they can see above the clouds.

As much intellectual ego that gets bandied about between computer programmers, its nice to keep a humbling base where you can actually see that no matter how smart you think you are, that there are people who are way way _way_ smarter than you and actually have the dedication, skill and expertise to try to help you understand what they have spent their life learning.

</comment><comment><USER10> A comment here, which is unfortunately dead, says this:

 _Make sure you don't neglect its contrary twin: Emperor's New Mind. (The entire dialectic between these two books is something straight out of G.E.B.)_

I haven't read GEB, but I loved reading the Emperor's New Mind by Roger Penrose. It's a little all over the place, going from non-periodic tiling patterns to quantum mechanics and relativity, all to argue against the case for strong AI.

</comment><comment><USER11> Awesome book. I ran into a friend the other day who told me: "I found a very interesting book that you might like. Godel something. Actually, you've probably read it since it's a _legacy_ book."

I think he meant a book which as "been around".

I've read it twice and found it awesome each time. You get more out of it reading it again. (One wonders: does it continue to be so? :)

What's even more cool is the bibliography in the back. The books are starred according to how useful the book was to the writing of GEB. So it's safe to say that the book and the pointers it has to other books is a treasure trove of wonderful ideas.

</comment><comment><USER12> This could be really good; I've started reading this book twice now, and gotten about 1/3 of the way through both times before my brain starts to melt.

Also, Douglas Hofstatder's "I Am A Strange Loop" is a little more accessible and is all about consciousness, if that part of Godel, Escher, Bach interests you.

<comment><USER13> "could be really"? Perhaps I'm misunderstanding your use of those words - <USER2> is from 2007, and everything from the course is on that page, including videos of the lectures.

<comment><USER14> I interpret that as based on the portion that the GP has consumed. Like eating a 3 course meal, if the starter is great you might say 'this meal could be really good', you can't tell for sure because you haven't eaten all of it, hence the caveat.

</comment></comment></comment><comment><USER15> We had a similar class at CCS <http://www.ccs.ucsb.edu/>, which really was just a book club for that book. Read a bit, discuss it, try to wrap your head around it.

I highly recommend this book for stretching your brain and doing some higher- level thinking.

</comment><comment><USER16> This is a book which I'm currently reading. On my recessionista budget I found a second hand copy (1980 edition) with a few dodgy falling out pages. My main reasons for wanting to read this were that I say a video a talk by Hofstadter in which he talks about analogy as the basis of cognition, which I quite liked, and also I more recently discovered that his book, GEB, apparently contains steganographic content (i.e. hidden messages), after searching for steganography in the light of the Russian spy story in the media.

</comment><comment><USER17> mp4 format here [http://www.kickasstorrents.com/mit-ocw-godel-escher-bach- bun...](http://www.kickasstorrents.com/mit-ocw-godel-escher-bach-bundle- summer-2007-video-lectures-t2756234.html)

Not 100% sure if that torrent is legit, but I've had the mp4 files on my harddisk for a few months now. I also can't imagine why anyone would go through the trouble to fake this particular torrent so enjoy !

<comment><USER18> Alternatively, use this script to get the real .rm files:

      PRE="mplayer -playlist http://mfile.akamai.com/7870/rm/mitstorage.download.akamai.com/7870/hs/godel_escher_bach
      POST=" -dumpstream -dumpfile "
      $PRE/OCW_7.01.07_Godel-220k.rm $POST OCW_7.01.07_Godel-220k.rm &
      $PRE/OCW_7.08.07_Godel-220k.rm $POST OCW_7.08.07_Godel-220k.rm &
      $PRE/OCW_7.15.07_Godel-220k.rm $POST OCW_7.15.07_Godel-220k.rm &
      $PRE/OCW_7.22.07_Godel-220k.rm $POST OCW_7.22.07_Godel-220k.rm &
      $PRE/OCW_7.29.07_Godel-220k.rm $POST OCW_7.29.07_Godel-220k.rm &
      $PRE/OCW_8.12.07_Godel-220k.rm $POST OCW_8.12.07_Godel-220k.rm &

<comment><USER19> Any way this could be done using vlc? I am trying to watch it on vlc but cannot forward it.

</comment></comment></comment><comment><USER20> I really enjoyed reading and re-reading "Gödel, Escher, Bach". Looking at the course/lecture page at MIT, I especially liked the following part :

       Grading
        There are no grades for this course.

You can't grade such knowledge. This is so universal...

</comment><comment><USER21> That incredibly a propos for me considering I reading this book right now. Thanks for posting.

I'm 150 pages into the book and it's quite interesting but I've seen a lot of the stuff elsewhere. What I find incredibly cool is how he connects different subjects with concepts he's explaining.

</comment><comment><USER22> Darn, wish he would have hidden a little play on initials as Hofstadter did in his title: GEB:EGB.

</comment><comment><USER23> I read this when I was like 12... I really need to go back over it again

</comment><comment><USER24> How do you know someone has read GEB? Because they tell you.

</comment><comment><USER19> I may be wrong but what-the-heck I am going to first watch all these videos, go through the lecture notes and all other ocw and then "acquire"(because I would not be able to buy it for cheap in my country) the book and read it.

I get a feeling that GEB is about materialism (of philosophy of mind) and I am actually not very impressed by it now (through my limited reading). But may be if I am successful in keeping an open mind (I would try my level best) and digest some of it (by ocw and reading) I may change my mind.

</comment><comment><USER25> This is a great book.

That being said, why is this on HN? The link is from 2007. The book is even older.

<comment><USER26> Yes, it's from 2007, but it doesn't seem dated and definitely would be of interest to readers of HN. As far as I know there is no preference for 'new' material here - in fact tried and true is preferred! And if it's a double, it's worthwhile just for the mp4 link above. I wanted to do this but .rm - no.

<comment><USER27> Well I've owned the book since about 1995 and still haven't gotten anywhere on it.

The .rm? I had to Google RealPlayer to see if they were even still around.</comment></comment></comment>


Show HN: Make your AngularJS, EmberJS, or BackboneJS website crawlable by Google - <AUTHOR>

http://www.BromBone.com
I posted "Tell HN: My Web App has 13 Users" 3 months ago (https://news.ycombinator.com/item?id=5386966). Over time, it grew to 150 (free) users, but retention was pretty much zero. I was trying to cast a wide net and offer a generic "headless browser as a service". It turned out I had make a service that was a little helpful to many people, but didn't really solve anyone's problem completely.
I finally took the advise offered in that thread. I focused on a problem I understood, and solved it completely instead of just offering a helpful tool. Instead of a "hosted headless browser" BromBone is now a complete solution for people who want their javascript websites indexed by Google.

BromBone.com - The javascript SEO problem has been solved.
Google can't index javascript driven webpages. The accepted solutions have been: 1. Run your own PhantomJS server to render snapshots and serve the snapshots to Google (a real pain). 2. Accept that your pages won't be listed on Google.
With BromBone you don't have to either. You just have to make a small change to your .htaccess file.
BromBone crawls your websites, runs your javascript in a web browser, and saves the rendered page. When Google crawls your site, proxy the requests to BromBone, and we'll send the rendered snapshot to Google.
Smile. Your javascript driven website is on Google. <comment> tech-dragon You have me wondering about the feasibility of offering this as a CloudFlare app.

If I was able to throw up a little ajax/client side JS driven app at a domain, throw CloudFlare over it (like I usually do for most smaller domains I own) and then have it all happen without even needing to change that .htaccess file, then your onto something even better.

I also think the pricing model may need some work. Per page seems like it could cut you off from some potential customers. For instance, I'm already thinking of a blog engine I wanted to try out more thoroughly by making it the one i use on my new blog but wasnt prepared to loose "google-ability". I Would like to be able to use a service like this but when I do my mental math it doesn't add up. I wanted to use a blog engine that will produce a large number of pages by pulling in third party service activity into my site. So its not 100% what I want, but damn its tempting.

If your pricing it to cover costs, might I suggest looking to optimize your stack to bring down those costs down?. If you can cut the price and make it more of a 'yeah for $X its easier than doing it myself' you'll get more takers. Right now it feels that your current lowest price per month is too high for a lot of devs to decide the $ is a throwaway expense to save them time. Id hazard, below $25, and probably with an order of magnitude more pages.

All that said... I may still try it out. It looks interesting.

<comment><AUTHOR> Thanks for your suggestion about CloudFlare. I am looking into it.

</comment></comment><comment><USER2> Perhaps you could use crawl frequency in your pricing. For example daily (or even hourly) crawls for the top tier plan.

Most people probably don't have that many pages so I'm thinking the existing pricing tiers might not work well?

And maybe offer a free plan that only crawls your site 3x per year or something really slow like that.

<comment><AUTHOR> I almost did that. Ultimately I decided to take an "it just works" philosophy to crawl frequency (unless you need realtime).

Would you segment the number of pages differently? I think some sites with a lot of user generated content might actually have a ton of pages. But it is hard to get real numbers.

<comment><USER2> Maybe Patio11 will chime in with some ideas for your pricing plans? Everything I know I got from reading his comments/blogs.

(I think he searches for mentions of his username, so the bat signal is officially turned on :-)

<comment><USER3> They're undepriced, but I think the first problem is going to be going from 0 users to 10 users (bang down doors) rather than extracting the maximum proper value from those first ten users. The optimal pricing strategy will still lead to him having 0 customers until he figures out who needs this and how to reach them repeatedly.

<comment><AUTHOR> You're right. Getting these first ten is _SO_ hard.

After I have ten customers, I will have much more information to base my prices and differentiators on.

</comment></comment></comment></comment></comment><comment><AUTHOR> Clickable: [http://www.brombone.com](http://www.brombone.com)

</comment><comment><USER2> Do you think there would be any demand for a separate service that makes it easy to screen scrape javascript heavy sites? (might be legal issues there though?)

(Sorry for all the comments, this concept intrigues me)

<comment><AUTHOR> I don't know. That was brought up in my previous posting, and I've had some people email me about it. It's hard for me to tell. I'm just not in that community enough to understand their needs.

I'm afraid that every scraping project is just enough different that it would be hard to write something that offered value to a lot of people.

<comment><USER2> That's probably a good point. I guess if someone wants to screenscape a dynamic JS heavy page they'd probably want to interact with the page.

</comment></comment></comment><comment><USER2> Marketing idea: How about you offer a free version but insert a link back to brombone in the crawable/rendered version?

As long as you were very upfront about it, it might not be too offensive.

<comment><USER4> Wouldn't that blacklist his own site?

<comment><USER2> Why would it? I guess I don't know a lot about SEO.

<comment><USER5> Some people think that embedding a link to your site in a web product/plugin you distribute can lead to bad things, especially if it is not a nofollow link and your plugin is used by nefarious sites. [http://www.jitbit.com/news/184-how-google-authorship-and- pen...](http://www.jitbit.com/news/184-how-google-authorship-and-penguin-have- killed-our-traffic/) has a bit about the Penguin algorithm and this effect.

</comment></comment></comment></comment><comment><USER2> That sounds really useful! Will google penalize for this though?

<comment><AUTHOR> This is actually the method that Google recommends for these AJAX powered websites. [https://developers.google.com/webmasters/ajax- crawling/](https://developers.google.com/webmasters/ajax-crawling/)

I am just letting people out source the hard work. Since the rendered page will be proxied from BromBone, there will be no way to tell that the same it rendered the file instead of the normal webserver.

<comment><USER5> That's very useful info; I had no idea. I thought the Google crawlers were basically headless Chrome bots so I wouldn't have expected this.

Do you mention this on your site? Seems like a good endorsement, "This is the correct way to get indexed, as per Google!"

<comment><AUTHOR> I have a section about that. I hope people will read it.</comment></comment></comment></comment>


Tesla creates a 'tiny house' to feature its energy products - <AUTHOR> https://electrek.co/2017/08/13/tesla-tiny-house-energy-products-solar-powerwall/ <comment><USER2> Does it fit inside the tunnel made by his boring machine?</comment>


Fury after Saudi Arabia 'chosen to head key UN human rights panel' - <AUTHOR> http://www.independent.co.uk/news/world/anger-after-saudi-arabia-chosen-to-head-key-un-human-rights-panel-10509716.html <comment><USER2> It almost seems like someone in the UN is just trolling the world with this pick.

Saudi Arabia's atrocious record on women's rights, and KSA's institutionalized mistreatment of foreign workers (employers hold the passports of foreign workers and can deny them exit visas in any dispute) are just two of a huge number of other issues too voluminous to enumerate.

EDIT: Not to mention that in Saudi Arabia, conversion from Islam to any other religion is officially punishable by death.

EDIT2: Just this week, a juvenile human rights protester in KSA had his appeal denied, and will be executed by crucifixion: [http://www.mintpressnews.com/saudi-arabia-juvenile- prisoner-...](http://www.mintpressnews.com/saudi-arabia-juvenile-prisoner- faces-death-by-crucifixion-after-appeal-is-dismissed/209642/)

It's difficult to conceive that a worse pick could possibly have been chosen. The inmates running the asylum...

</comment><comment><USER3> It is just ridiculous. Saudi has capacity to accommodate 2 million people in Mecca, but they would not accept single refugee from Syria. Instead they offered to build hundreds of mosques in Germany and Europe, to export their version of Islam.

Edit: Saudi accepted many refugees, so I would like to apologize.

<comment><USER4> Saudi Arabia have claimed this is misleading. They say they have an open border to Syria and have accepted over 2.5 million Syrians since 2011.

Is this claim incorrect?

<comment><USER3> Do you have source for 2.5? I only found 0.5M, but it seems like those are expats who did not moved in recently.

> _There are 500,000 Syrians in Saudi Arabia, according to Nabil Othman, > acting regional representative to the Gulf region at the UNHCR. In official > documentation they are referred to as "Arab brothers and sisters in > distress," he said._

[http://www.bloomberg.com/news/articles/2015-09-04/syria-s- re...](http://www.bloomberg.com/news/articles/2015-09-04/syria-s-refugees- feel-more-welcome-in-europe-than-in-the-gulf)

<comment><USER4> They claim 2.5 million here:

[http://www.sbs.com.au/news/article/2015/09/19/saudi- arabia-h...](http://www.sbs.com.au/news/article/2015/09/19/saudi-arabia-has- taken-25m-syrians-claims-minister)

</comment></comment></comment></comment><comment><USER5> This is the same country that declared atheists as terrorists. ([http://www.independent.co.uk/news/world/middle-east/saudi- ar...](http://www.independent.co.uk/news/world/middle-east/saudi-arabia- declares-all-atheists-are-terrorists-in-new-law-to-crack-down-on-political- dissidents-9228389.html))

Also, they tried to get a United Nations-backed ban on "blasphemy". ([http://uk.reuters.com/article/2012/10/15/us-islam- blasphemy-...](http://uk.reuters.com/article/2012/10/15/us-islam-blasphemy- idUSBRE89E18U20121015))

<comment><USER6> I dislike Saudi Arabia as much as the next sane person, but that "atheists are terrorist" article is april fools. Look at the date.

<comment><USER7> Though the publication date of that article would suggest that it is an April fools; it actually refers to an amendment made in March to a "royal decree" announced in January[1] 2014 that defines as a terrorist act, punishable by death:

"Calling for atheist thought in any form, or calling into question the fundamentals of the Islamic religion on which this country is based."

1: [https://www.hrw.org/news/2014/03/20/saudi-arabia-new- terrori...](https://www.hrw.org/news/2014/03/20/saudi-arabia-new-terrorism- regulations-assault-rights)

</comment></comment></comment><comment><USER8> It's like letting oil companies run studies about environmental impact.

</comment><comment><USER9> I remember there was a similar row a couple of years ago with an other country with a bad human rights record. An argument then was that the position carries little real power, but is a way for a country to show that they want to improve their human rights, and other countries allow it as a way to put some soft pressure on the selected country.

<comment><USER10> Libya in 2003: [http://www.un.org/apps/news/story.asp?NewsID=5924](http://www.un.org/apps/news/story.asp?NewsID=5924)

</comment></comment><comment><USER11> And at the same time, we have many in the US demanding that we support the UN in all things.

It's disappointing that they put so much faith in an obviously broken organization.. that is also completely unaccountable to its member countries and the world as a whole.

</comment><comment><USER12> This is crazy. It would be like choosing America to head up the UN Social Welfare Commission.

(edit: this was meant to be a mildly sarcastic zinger, if it wasn't clear)</comment>


Scientists capture MRI scans of single atoms - <AUTHOR> https://www.nytimes.com/2019/07/01/science/microscope-atom-magnetic-mri.html <comment><USER2> I love how amateur the physical machine looks, with all of that aluminum foil stuck to it and the wires falling about. This immediately reminded me of how my codebase looks whenever I am doing a proof-of-concept just to show someone that something is possible. "Let's get it working before we make it look pretty" \-- what I imagined they said.

<comment><USER3> Even includes what appears to be a can of orange pop. Seriously. Placed sideways, near-end of the table. Weird.

<comment><USER4> Actually, that's an Arizona Iced Tea: [https://i1.wp.com/sanpedrosupermarket.com/wp- content/uploads...](https://i1.wp.com/sanpedrosupermarket.com/wp- content/uploads/2017/04/Arizona-Iced-Tea-with-Lemon.jpg)

</comment></comment></comment><comment><USER5> This is a weird title, Nuclear Magnetic Resonance technology was first used in the field of Chemistry for identifying the structure and content of molecules. The medical industry was later able to adopt it, under the name MRI, for medical imaging. This should really be considered an extension of NMR.

<comment><USER6> Note that the medical industry chose MRI because it hides a word that is so taboo they don't even want to see it mentioned anywhere: "Nuclear", from Nuclear Magnetic Resonance, even though it has nothing to do with radiations in this particular case.

<comment><USER7> Not so sure medicine is afraid to use the word "nuclear". Nuclear medicine a field that patients deal with regularly from getting bone density scans for osteoporosis, thyroid and cardiac imaging, etc. In the US at least the name of the department is plastered on signs in hospitals next to everything else. As for why "nuclear" was dropped from I don't know the exact reason.

<comment><USER8> >> Note that the medical industry chose MRI because it hides a word that is so taboo they don't even want to see it mentioned anywhere: "Nuclear"

> Not so sure medicine is afraid to use the word "nuclear".

 _MRI was originally called NMRI (nuclear magnetic resonance imaging), but "nuclear" was dropped to avoid negative associations._

[https://en.wikipedia.org/wiki/Magnetic_resonance_imaging](https://en.wikipedia.org/wiki/Magnetic_resonance_imaging)

</comment></comment></comment></comment><comment><USER9> I'm not much in physics. Could someone explain what the picture actually shows ? I understand that there are 4 shots of an atom. I see that globally there are for spheres. But I don't understand the yellowish shapes...

<comment><USER10> What you're seeing is effectively a heat map of electromagnetic intensity, if I'm reading the figure correctly.

</comment></comment><comment><USER11> Does this mean we can increase the resolution of mris to the atomic level? That would be amazing for studying the brain.

<comment><USER12> Not an expert, but from my read they built this basically by combining an MRI sensor with a scanning tunneling probe - so it's set up kind of like atom- sensing atomic force microscopes ([https://en.wikipedia.org/wiki/Atomic_force_microscopy](https://en.wikipedia.org/wiki/Atomic_force_microscopy)). It doesn't seem like this technique would give you much depth penetration inside the body for one thing, and it'd be tough to process across human scales in a reasonable time. There are a lot of atoms in those 1mm-ish voxels of a medical MRI. It might be useful for purposes similar to AFMs or electron microscopes in the future, though.

</comment></comment><comment><USER13> Typo I think:

"disrupting the electrons (rather the protons, as a typical M.R.I. would) within each atom."

Should be:

"disrupting the electrons (rather THAN the protons, as a typical M.R.I. would) within each atom."

</comment><comment><USER14> Couldn't read because of the paywall, then also couldn't read in private mode (because it detected it - fun). To be fair I don't even want to read it, I just want to see the picture.

<comment><USER15> Funny thing; they hide the article after loading with javascript, so disabling it will allow you to read it normally.</comment></comment>


Mental Context Switches Are Evil - <AUTHOR> http://www.johndcook.com/blog/2011/06/09/mental-context-switches-are-evil/

<comment><USER2> Core Articles referenced. Skip the blog post

<http://joelonsoftware.com/articles/fog0000000022.html>

<http://snarfed.org/why_i_run_shells_inside_emacs>

<http://itc.conversationsnetwork.org/shows/detail4911.html>

</comment><comment><USER3> I agree with the premise, but I disagree with the examples provided. I don't view switching from Javascript client code to Python or C# server code to be a context switch. What is a context switch is switching to a different type of task (e.g. looking up documentation, talking to a co-worker, etc.).

Another point is that the cost of the context switch isn't automatically higher than other costs when programming. Yeah, you might save on a context switch by running your shell inside emacs. However, that savings may be more than canceled out by the fact that you have to learn a new environment. In other words, if you're already very productive with the shell as it is, you might be better off taking the hit of the context switch, as it'll be less costly than your lowered productivity from running the shell inside emacs.

</comment><comment><USER4> I know snark is not _au fait_ here at HN, but I am not a fan of John D Cook.

His basic method is to confirm some common wisdom, maybe with a handful of anecdotes. No reference to original sources.

For comparison, Jeff Atwood _references his sources_.

<comment><USER5> > His basic method is to confirm some common wisdom, maybe with a handful of > anecdotes.

And I like it.

<comment><USER4> Of course you do. And that's why it gets upvoted.

But you are not enriched by comforting, unverifiable group-think.

</comment></comment></comment><comment><USER6> True, but is not the ability to efficiently switch contexts of value? Won't that erode if not exercised?

For many, there is little chance that such efforts to reduce context switching will eliminate the need to.

But some people will end up in the same context all the time and be worse off. Meaning more people will be upset when someone moves their cheese.

</comment><comment><USER7> Context-switching is slow, yes, but in the first example the cause of evilness is not context-switching, it's that you must program web apps' client side in JS.</comment>


Simon Wardley is a big fan of containers – despite what you might think - <AUTHOR> https://read.acloud.guru/simon-wardley-is-a-big-fan-of-containers-despite-what-you-might-think-18c9f5352147 <comment><AUTHOR> So in the short term, if it's not a long-lasting project, pick what you're comfortable with. If it's containers, that's fine.

But longer-term, I'd be investing my time in learning about serverless practices. Because that's where the future is.</comment>