"We will sell you this microwave under the following conditions" - <AUTHOR> http://www.whoismcafee.com/three-guys-walk-into-a-microwave/ <comment><USER3> We have half of the solution required for this - there exists a per-feature based permission model that the applications are already using.

The second half is simple but requires a change on the device side - if an application needs feature X, Y and Z, then the choices shouldn't be limited to grant access or not install the application, but there should be a third choice per each feature called "fake that access being granted".

If an app claims to need access to my SMS messages, then there are two reasonable options:

1\. I want the app to read my SMS, as it does something that I want with them; so I enable that feature.

2\. I don't want the app to read my SMS for whatever arbitrary reason that doesn't matter and doesn't need to be justified to anyone. If the app cooperates with the refusal, then it stops at that, but if the app wants to read my SMS against my will (and, say, tests this ability to enable some unrelated feature) then that's hostile behavior and all of my hardware and software should assist _me_ in thwarting that hostile behavior - e.g. by simulating fake data to the app, by falsely claiming to have sent SMS / made a call, etc.

The other options (including the current scenario where my device cooperates with the app developer against me) aren't reasonable and should be eliminated.

<comment><USER4> cyanogenmod version 7 had this feature. and that was 2011?

google never accepted the patches into main android.

also as CM and google got more in bed that feature vanished for a while.

<comment><USER5> A feature that could disable certain permissions for a single app was briefly introduced in an earlier version of 4.3.x, but was removed again shortly thereafter. Apparantly, most apps were written to expect permissions to be granted and crashed pretty hard if they didn't get their way.

It is available for rooted phones running Stock Android through the Xposed framework. There it is called "AppOpsXposed".

<comment><USER6> I can understand that disabling permissions the app expects will fail, but faking the service the app expects permission for sounds like something that should work, and would be very valuable.

<comment><USER5> Yes, definitely. XPrivacy can fake data, so that works even better than AppOps, but is harder to set up.

I also miss the possibility to give slightly fuzzed/offset values for certain things, like GPS granularity (Do you need to know my exact location, or just my country?) There's however an eternal struggle between the API devs wanting to make the permission system simpler, and the APP devs wanting it smarter and more refined.

</comment></comment></comment></comment></comment><comment><USER7> > If you have any doubts, then I recommend you download DCentral1 (A Future > Tense Central product) from Google Play, and let it scan your Android phone > or device. It will tell you exactly what every app you have downloaded has > asked permission to do – and you will be shocked. DCentral1 is my own app, > and it asks for no permissions, as you will verify prior to installation.

I'm surprised that looking at the permission settings of other apps does not require permission. Knowing which apps someone gave permission to access their sensitive data can tell a bad guy which apps to try to exploit to get the user's sensitive data. It probably also leaks some information about the user. I'd not be at all surprised if there were correlations between permissions granted to specific classes of apps and things like the user's age or gender.

<comment><USER8> _I 'm surprised that looking at the permission settings of other apps does not require permission._

I'm surprised getting a list of installed apps does not require permission. The access settings for each app are the same for everyone and public anyway (99% of the time).

</comment></comment><comment><USER9> CyanogenMod's Privacy Guard gets this right.

It defaults to a _silently fail_ permission policy, and notifies you when an app is requesting access. You can then chose to deny, allow, deny always, or allow always.

It's the antidote to Android's insane security model where all users see is "do you want to be able to run this app?".

<comment><USER10> there is "allow but spoof' missing from that list to make it a viable option

<comment><USER9> That's what I meant by the silently fail part.

</comment></comment></comment><comment><USER11> The interesting thing is that while we now think all required permissions are ridiculous, there used to be no permission system at all. None of the popular desktop operating systems offer any permission model beyond limiting a user's account (and I myself certainly want to have access to my own contacts - <USER2> do all applications?).

So it's a very good step that there is a permission model at all. Now it's time to refine it, iterate improvements, and make it the way it should be. Broad permissions like filesystem access merely to save or open a file (such as a document) could be removed altogether if there is a basic system component that lets the user pick the location themselves. Or access to the camera could be asked for by the OS every time an app requires it, or at least it could be logged and display a notification.

<comment><USER12> To be fair, Desktops don't have as much of detailed look into our lives. SMSs are very intimate, location data can pinpoint you at almost any moment, and ( for me ) i know my address book on my phone is 10x the size of the address book I had on my computer before my phone started syncing contacts across. I think it's a great direction, but one that is now more necessary than ever.

<comment><USER11> SMS is just as intimate as private messages on forums, emails, telegram, photos from different cameras, friend's private facebook posts, et cetera.

</comment></comment></comment><comment><USER13> This is the primary argument for Apple's AppStore and App submission guidelines, and the evaluation (much of it automated) that Apple does upon submission.

This is also why iOS prompts the user before disclosing information to the App, such as location, contacts, photos, etc.

People hate the review process, but there's a reason for it.

<comment><USER14> Exactly, but of course putting the permission in a list that nobody reads (I do) in a confusing way that does not allow any customisation is easier.

</comment></comment><comment><USER15> A long time ago I worked on a Symbian OS called UIQ and we tried to tackle the permission problem differently - by not needing them!

I still like the approach I came up with and think it a good fit for all OS today. Here's an old blog post by me: [http://williamedwardscoder.tumblr.com/post/13316924653/bette...](http://williamedwardscoder.tumblr.com/post/13316924653/better- permissions-in-android)

<comment><USER16> So did you take up Dan Shapiro's offer?

</comment></comment><comment><USER17> For what it's worth, I make a point of calling it out. Here's a bad one: [https://twitter.com/clipperhouse/status/515206521723318273](https://twitter.com/clipperhouse/status/515206521723318273)

Maybe if we make a habit of it, it'll help a little bit. I think most devs say "give me all the permissions" out of expediency, and most users say OK for the same reason.

Is there such thing as graceful degradation here? If I say yes to Location, but no to Contacts, the app should still function but the bits that need the Contacts would be unavailable.

Or, it asks for those permissions when, and only when, it needs them.

<comment><USER18> This is an app for booking doctors appointments online? But you don't think it should have access to your id, location, wifi? Why is that unreasonable. The only strange one is the photos access.

</comment></comment><comment><USER19> Hey! You know the really neat thing about the Internet Of Things is that manufacturers really could start requiring all kinds of things in their TOS to use the physical item!

Why, you could have the device only work in certain regions, requiring new fees for new regions if you move!

You could enable features only if additional fees are paid! Free2CooK (broiling available for just 60 credits)!

Monthly subscription fees!

You could cross-market, requiring access to read information on your pocket computer (phone), in order to control your device!

Oh man, The Internet Of Things is gonna be so awesome!

<comment><USER20> _The door refused to open. It said, "Five cents, please."_

 _He searched his pockets. No more coins; nothing. "I'll pay you tomorrow," he told the door. Again it remained locked tight. "What I pay you," he informed it, "is in the nature of a gratuity; I don't have to pay you."_

 _" I think otherwise," the door said. "Look in the purchase contract you signed when you bought this conapt."_

 _...he found the contract. Sure enough; payment to his door for opening and shutting constituted a mandatory fee. Not a tip._

 _" You discover I'm right," the door said. It sounded smug._

PKD, _Ubik_

</comment></comment><comment><USER21> Yeah, that's actually something that perplexed me about a lot of android apps -- why does something like a flashlight needs internet access?

Then my naive behind figured out that it's how they make money.

</comment><comment><USER22> If applications from the play store reading your SMS messages bothers you, then I can recommend using something like CyanogenMod's Privacy Guard (which exposes a feature called App Ops that seems to be a part of Android, yet hidden), or Xposed framework's XPrivacy (which gives you very fine-grained control over what information/permissions apps can and cannot access).

XPrivacy is difficult to configure without reading the documentation.

Both of these things require root.

</comment><comment><USER23> I can believe people is still so naif to believe that google and third parties will give you apps "for free". You pay in some way or another, always.

<comment><USER24> If you've ever run Linux, it's not really naive at all. Almost any program you might want, free and easily installable.

<comment><USER23> The idea with Linux is that you contribute your time to the project or helping others. That's how you pay. If you don't do anything of that, you are freeloading.

</comment></comment></comment><comment><USER4> "those who give some freedom for security will have none of both" or so.

you gave up the hability to install apps from anywhere (to the point that if im at yelp own site for example, all the links to install their own app only takes me to app or play store) in exchange of the false premise that the downloads would be verified by apple/google as to not harm you. in the ens you just lost your freedom to do as you wish and now you are more exposed to threats because you assume they are safe since they came from the "official" place.

<comment><USER13> Apple does review apps for harm, calling bad APIs and the like.

</comment></comment><comment><USER25> I think the fundamental problem is that Android permissions (and privilege controls for most other platforms) are far too coarsely-grained.

I'm perfectly happy to allow an app to save files to a specific named folder on my device. I'm perfectly happy to grant access to my camera _when specifically prompted_ for barcode scanning or what have you. I'm happy to allow an app to check whether I'm on 3G or Wifi to save on data costs. Android permissions are currently far too binary. Permissions need to be more specific and explicit, atomised down to the finest possible gradations; The permissions dialog needs to clearly explain precisely what is being accessed, with extra resources available to help the user understand the privacy and security implications.

This frustrates me both as a developer and as a user. As a user, I avoid all sorts of apps that are probably requesting permissions for good reason, but that I don't really trust. As a developer, I find myself leaving out potentially useful features so that I don't present the user with a laundry- list of permissions.

I fastidiously explain exactly why my apps require permissions in the app description, but I shouldn't need to and my users shouldn't need to trust me - I should be able to specify the exact subset of functionality needed by my app and my users should be able to grant me that and only that.

Users should be able to reject or falsify any API request at will, and the SDK should be designed around this; Appropriate and flexible exception handling for API calls should be mandatory, with UI to alert the user if functionality is unavailable or unreliable due to their privacy settings, and with the option to allow specific access on a case-by-case basis.

As an industry, we need to look past our short-term lust for analytics data and ad impressions, and think about the future of computing. I think we are grossly underestimating the importance and urgency of user trust, which is hard-earned and easily lost. With the increasing ubiquity of computing and recent revelations about surveillance and leaks, we need to be making bold decisions to empower users to control their own data and devices. The future of computing is truly bleak if we cannot truthfully convince users that they are the masters of their devices and not the servants. Without decisive action, we risk a catastrophic and wholly justifiable collapse of trust that could set us back decades.

<comment><USER26> > I think the fundamental problem is that Android permissions (and privilege > controls for most other platforms) are far too coarsely-grained.

I think that point of view is only relevant to a small percentage of users who pay enough attention.

</comment></comment><comment><USER27> For a crazy guy I like what McAfee is doing :-). The "FM Radio" app which Motorola installs on the Moto-G wants to upgrade on my phone, but it wants "Device ID & call information, Camera/Microphone access, and 'other'". Really? Why does an FM radio need my camera and microphone? And who I call? And my device's id? And what the hell is "other"?

</comment><comment><USER28> Perhaps some legislation will be needed to fix this ...

<comment><USER29> No. Government isn't the answer to most problems and certainly not this. The market fixes this. If you don't like the terms, don't use the app. As soon as "legislation" gets involved, then suddenly app developers are now under the same type of regulation that covers medical devices, etc. That's a huge burden. Imagine the patent trolls -- they use patent legislation to attack developers (often small indy shops) that "potentially" have infringed on some patent, despite the fact that the developer didn't even know a patent existed and the technology involved is sufficiently ambiguous as to be case based more on the financial resources of the participants rather than the merits of the claim.

With this permissions legislation, an app that does legitimately request a permission might have increased lawsuit exposure because of someone's interpretation of what the permissible purpose of that permission might be. Even if the developer is "right" they still have to spend thousands of dollars they likely don't have to defend themselves. We have patent trolls -- what's next, permissions trolls?

The free market is the answer. However, education of the public is necessary for them to realize the tomfoolery in which some apps engage. However, all the education in the world is unlikely to help -- this "general public" we're talking about is the same crowd that plays Farmville and Candy Crush.

iOS is a bit more "safe" in the privacy regards because each app must explicitly request permission for a specific use and Apple is rather rigorous when you attempt to use a permission outside the scope of the app. I don't know anything about Android, but if it covertly enables a permission without the user's knowledge, then that's something Android should fix. But legislation? Hell no. I don't trust legislators to paint white stripes on the road correctly, let alone pass laws about technology about which they are demonstrably ignorant much of the time.

<comment><USER30> > Government isn't the answer to most problems and certainly not this. The > market fixes this.

[http://en.wikipedia.org/wiki/Just- world_hypothesis](http://en.wikipedia.org/wiki/Just-world_hypothesis)

There is no law of nature that suggests a free (laissez-faire) market fixes anything. More specifically, that style of pure capitalism only has one inherent trait: capital tends to become accumulated. While I, personally, think this kind of unidirectional focus is not healthy in the long run, the amount of regulation needed to mix into a market is a difficult and open questions.

> might have increased lawsuit exposure

Yes. That would be the entire point of regulation. You follow the legislated regulations or you get hit with some sort of lawsuit or fine or similar.

> because of someone's interpretation of what the permissible purpose of that > permission might be.

I agree! This is a _very_ difficult problem to describe in a clear, reliable manner. I suggest that the industry should be proactive on this; it would be a lot better if the people with the technical knowledge came up with some sort of permission scheme that avoided ambiguity and more accurately reflected what types of permissions the applications actually use.

The alternative is to wait for some well-meaning but technically inept legislation, and all the idiocy it implies.

> education of the public is necessary

Absolutely. This is always of vital importance.

> I don't trust legislators

Neither do I - which is why it is important to beat them to the punch with your own solutions and legislation.

        "we had to create the future, or others will do it for us"
          - Susan Ivanova, "Sleeping in Light", Babylon 5

</comment></comment></comment><comment><USER31> I dont install app which requests excessive permission. My Lenovo phone has application firewall, everything is blocked, except two white listed apps. My /etc/hosts has 3000 lines...

It is not that hard...

<comment><USER32> This reminds me of the infamous HN response to Dropbox's launch 5 years ago:

> you can already build such a system yourself quite trivially by getting an > FTP account, mounting it locally with curlftpfs, and then using SVN or CVS > on the mounted filesystem

[https://news.ycombinator.com/item?id=9224](https://news.ycombinator.com/item?id=9224)

<comment><USER31> Why would anyone install flashlight app which requires access to contacts and emails?

</comment></comment></comment><comment><USER33> I remember my blackberry would ask all kinds of permission prompts whenever I installed a new app. It was a pain, but now I see how bad it can get when you don't do it that way.

</comment><comment><USER34> This has the original title, but I propose these alternative titles, trying to follow the original title / don't editorialize guideline:

* You walk into a store to buy a microwave ...

* Three guys walk into a microwave store ...

<comment><USER35> In cases like this we usually look for a better title in a subtitle or (as here) the first part of the article.</comment></comment>


Gödel, Escher, Bach: An Eternal Golden Braid - <AUTHOR> https://en.wikipedia.org/wiki/G%C3%B6del,_Escher,_Bach <comment><USER2> Don't quite know why this is here, but if you haven't read any Douglas Hofstadter, this is probably where to start. This is a book that will A: change your life, B: require a pencil and paper to read with, C: Introduce you to Bach's genius, and D: will probably give you a greater appreciation of social interactions and language if for no other reason than it boils all of consciousness down to, essentially, language.

I'm so over simplifying it, and there's a lot more here than this. But I still found it extremely interesting to read this and contemplate just how intricately tied to our inner-narratives we are. Without that never-ending dialog in our heads, we're not really sentient, and without a language, we can't have that dialog...

Again, way more here, but this was the big thing I took away. I am a strange loop, after all.

<comment><USER3> I think you're going a little too far with A: change your life. It's definitely an entertaining read, but that's as far as it goes for me.

<comment><USER4> It changed my life as well -- along with other great books he wrote:

"The Mind's I", a collaboration with Daniel Dennett, is a more light read than Gödel Escher Bach which also talks about consciousness, emergence and cognition.

"Metamagical Themas" is a collection of fascinating articles he wrote for Scientific American after Martin Gardner stopped publishing his "Mathematical Games" (do you see what he did here?)

I can perceive the influence his ideas have in the way I raise my child, relate to people and act in the world. I would go as far as to say that my spirituality was sparked by his texts, specially those related to Zen and consciousness.

Sure, YMMV -- this is entirely subjective (as everything in life, really).

<comment><USER5> >It changed my life as well -

Lots of people are saying this here. May I ask how it changed your life?

<comment><USER4> It introduced me to cognition as a emergent phenomena (specially the chapter "Prelude ... Ant Fugue" [1]).

It made me think about various philosophical topics such as holism vs reductionism and syntax vs semantics, the meaning of "meaning", intelligence, cognition...

...and then absolutely blew them all with the Zen approach to life.

[1] [http://themindi.blogspot.com.br/2007/02/chapter-11-prelude-a...](http://themindi.blogspot.com.br/2007/02/chapter-11-prelude- ant-fugue.html)

</comment></comment></comment></comment></comment><comment><USER6> This is probably the only physical book I've purchased in the past several years and felt was a good investment, because of the lack of a decent e-book version. I haven't actually worked my way all the way through it yet; I had started about a year ago, made it about a third of the way through before getting distracted, and now I'm starting it again because it really is the kind of book that you have to build up piece by piece as a reader. I feel like my Web-browsing-Stack-Overflowing approach to reading over the past several years has hurt me and I hope working through GEB can help me get more experience in really working with a text deeply.

I've also found it helpful to consult the MIT OCW video lectures on this book: [http://ocw.mit.edu/high-school/humanities-and-social- science...](http://ocw.mit.edu/high-school/humanities-and-social- sciences/godel-escher-bach/video-lectures/)

<comment><USER7> This seems like a cool lecture, thanks. I've read it maybe halfway through before getting distracted also. It was one of the maybe 5 out of over a 100 books I brought with me when I moved.

</comment></comment><comment><USER8> After you're done reading GEB, I highly recommend moving on to the rarely mentioned "The Mind's I", Hofstadter and Dennett's 1981 collection of essays and stories about self/mind by themselves, Alan Turing, Richard Dawkins, Stanislaw Lem, and others: [http://en.wikipedia.org/wiki/The_Mind's_I](http://en.wikipedia.org/wiki/The_Mind's_I)

</comment><comment><USER9> Great book! See also "Ask HN: Is "Gödel, Escher, Bach" still worth reading?"

[https://news.ycombinator.com/item?id=7014299](https://news.ycombinator.com/item?id=7014299)

where I answered:

      It is a timeless classic which will draw you in if you give it
      the chance it deserves. If you find parts to be a bit heavy,
      you can speed up or slow down per your personal preference. I
      chose to slow down and read all the more carefully. I feel I
      was truly rewarded for the effort but believe that hurrying
      through such parts would be a viable alternative -- certainly
      better than abandoning the book as often seems to happen.

      It's my favorite book. I recommend you do try it.

<comment><USER5> 'Its great just read it' is not a convincing at all. Why is it your favorite book?

<comment><USER10> My own answer is that it is the most readable and entertaining text on the actual nature of consciousness - and a marvelous introduction to the processes of actual geniuses as well.

<comment><USER5> Sorry for being a pest. If a cutout the hyperbolic adjectives 'most readable', 'entertaining' , 'marvelous introduction' from your sentence. It leaves me with 'text on the actual nature of consciousness'.

How did it change your view of human consciousness. How do you define consciousness now after reading this book? Just a couple of lines summary of about consciousness in this book would be good a motivation for me.

<comment><USER10> I'm sorry, but I simply can't give you a neat summary of one of the most profound books I have ever read in a sentence or two. It'd be like saying Hamlet is a play about some dude whose dad died.

</comment></comment></comment></comment></comment><comment><USER11> I have read the first 20% of this book 5 times... Each time I get a little further but still a long way to go!

</comment><comment><USER12> This is a fine book, a sort of mind playground and one of those you cherish in the shelves of your memory. My Philosophy teacher at high school (hi Faustino) recommended it to the class and it led me to read later in college the collected works of Gödel, and never repented it.

</comment><comment><USER13> This book is fantastic as a tool. I have used it in many classrooms to teach students about how to identify pseudoscience. This and "Quantum Learning" are excellent examples of the work of well-read blowhards contributing nothing to human knowledge (aside from a very stylish series of handwaving and cargo cults).

Like most popular gibberish of this ilk, the most valuable part of the book is the reference list; most pseudo-philosophers are very careful to make as many references as possible to really excellent works, probably in an attempt for 'success by association.'

<comment><USER8> I'm curious what particular claim you think Hofstadter is pushing that is unwarranted -- I don't see how a book of wandering musings could earn the label "pseudoscience" when it doesn't claim to be scientific in the first place (as far as I recall -- it's been about 15 years since I read it). It's a bunch of interesting ideas he ties together in clever ways.

The best I can come up with is that you're talking about his idea that self- reference lies at the heart of consciousness, which I think an intelligent reader can see is just a guess of his. Whether or not it's true, we can still see how it's useful to think of ant colonies as organisms, and we still learn about the incompleteness theorem, and we now understand what a fugue is and how it has textual and visual analogues, etc.

Maybe there's a group of people who treat GEB's claims differently than I do that I'm unaware of?

</comment></comment><comment><USER14> Eh. I started reading his book "I am a Strange Loop", and it became obvious that the author is an enormous blowhard. Is it really worth reading despite the pretentiousness?

<comment><USER15> Perhaps, it's not the author who's pretentious.

<comment><USER13> Are you accusing the copy editor of something?

<comment><USER15> Well, you never know... People are strange.

</comment></comment></comment></comment><comment><USER16> Started reading this book in mid-February and I'm about halfway through today. Fantastic thinking, and still relevant despite its publication date.

<comment><USER10> Great thinking doesn't rely on publication date. One could argue that anything that only works in a certain short period of time isn't great thinking. There are things written thousands of years ago that are still relevant.

</comment></comment><comment><USER17> Whenever I see GEB, I always chuckle thinking how Steve Martin turned me on to Hofstadter. [https://prelectur.stanford.edu/lecturers/hofstadter/images/s...](https://prelectur.stanford.edu/lecturers/hofstadter/images/stevemartin.jpg)

</comment><comment><USER18> I don't understand any of the words used to describe Bach's music, and I don't know any of the pieces. Is there an accompanying audio track I could listen to that shows the examples the book is referencing, and explains the words used to describe them?

<comment><USER15> Wikipedia has a nice glossary of terms used in music theory and lots of linked articles: [https://en.wikipedia.org/wiki/Glossary_of_musical_terminolog...](https://en.wikipedia.org/wiki/Glossary_of_musical_terminology)

You can find a lot of recordings on YouTube and, in twenty or so years, all of them on [http://allofbach.com](http://allofbach.com)

If you can read sheet music at least on a basic level, there's a huge repository on IMSLP: [http://imslp.org/wiki/List_of_works_by_Johann_Sebastian_Bach](http://imslp.org/wiki/List_of_works_by_Johann_Sebastian_Bach)

Also, if the piece is particularly significant, it's likely that there'll be a Wikipedia article about with some more detail. There may be some books dedicated solely to the work of Bach, but I don't think they're necessary for this purpose.

</comment></comment><comment><USER19> This book had a big influence on me. I bought it right when I started university, and it contributed a great deal to my decision to switch study program from software engineering to physics/math after the first year. I never regretted that decision.

</comment><comment><USER20> I always thought it was interesting that apparently Hofstadter isn't into geek computer/tech culture (from what I remember reading on his Wiki page, IIRC). Its ironic considering who his biggest fans are.

</comment><comment><USER21> I actually started reading this a week or so ago. It's very interesting but every now and then I get the feeling that everything in it is really beyond me. I've sort of dismissed that thought because it's probably how everyone feels when first reading it, and that eventually it'll start making sense.

</comment><comment><USER22> Oh yes, wonderful book sofar, only started recently. The mini assignments are great and I get a small smile if I have one correct in one go, only to be completely cranky if I don't get one.

Absolute recommend-er for AI people, linguistics. Actually, everybody should read this.

<comment><USER7> I think there's definitely some programming mindset stuff in it too, I remember the chapters about building your own set of instructions to do multiplication with only loops and earlier axioms (adding numbers together). I thought it was really fun to think about the problems.

</comment></comment><comment> vezzy-fnord See also my previous thread on whether it's currently relevant (in summary, yes, it is, but with a few caveats): [https://news.ycombinator.com/item?id=7014299](https://news.ycombinator.com/item?id=7014299)

</comment><comment><USER23> For those might get discouraged when struggling to read this book (of which I am one), don't forget that Hofstadter struggled quite a bit to write it.

So it's not just you.

<comment><USER4> Not only the mathematical content gets hard, but the book is full of puns, metalinguistics, crossreferences, good enough to make you laugh out loud and subtle enough to not become saturated.

<comment><USER24> Yeah, what's striking is that the book itself is an example of what the book covers. For example, read the last page, then go to the first page.

</comment></comment></comment><comment><USER25> This book changed my life in High School. I eventually worked out Gödel's theorem. I felt good. I've forgotten it now, it's hard.

<comment><USER25> Oh, it basically proves that computers can't think!

<comment><USER26> Current computer programs do not operate the way human brains operate. But ... Given that human intelligence is a capability of matter arranged and operating in a certain way, isn't it possible that different arrangements of matter (computers) might eventually be capable of "thinking" in a way similar to human intelligence? Even if not, won't we learn more about ourselves in trying to write AI programs?

</comment></comment></comment><comment><USER27> Thanks for reminding me. I just went and found my first edition to re-read. It's been more than a few years, I will enjoy this.

</comment><comment><USER28> This has been sitting on my "too read" pile far too long. That changes this summer.

</comment><comment><USER29> Without any doubt one of my favorites ever. Few books had so much impact on me

</comment><comment><USER30> I don't read a lot of books and this one is enormous but I did read it cover to cover. In its best moments it's genius, in its worst moments it's either dry or over my head. But it was a combination of delightful to read, educational, and mind blowing in parts.</comment>


A Framework for Purposeful Open Source (2018) [pdf] - <AUTHOR> https://blog.mozilla.org/wp-content/uploads/2018/05/MZOTS_OS_Archetypes_report_ext_scr.pdf <comment><USER2> Apps like github not only allow you to share code but also to collaboratively develop it. Are all the archetypes mentioned here equally easy to execute on github? Are there some features missing that would help promote some of these archetypes?

</comment><comment><USER3> Some of the "archetypes" mentioned inside remind me of [https://www.gwern.net/Complement](https://www.gwern.net/Complement) "Commoditize Your Complement".</comment>


Digital Ocean DNS Down for 2nd Time in a Week - <AUTHOR> https://status.digitalocean.com/incidents/c9wspjy7ktzv <comment><AUTHOR> Previous incident:

[https://status.digitalocean.com/incidents/bmh4fb6p4mw6](https://status.digitalocean.com/incidents/bmh4fb6p4mw6)</comment>


Build Your Side Project Challenge + SideProject eBook - <AUTHOR> Hey HN,
http://www.buildyoursideproject.com/
I needed motivation to complete a side project I've been dabbling with for the past year, so I put together this sprint for myself -- realized others might benefit from going through the challenge as well so here it is. I'm also including my ebook, SideProject Book (www.sideprojectbook.com), as added motivation to ship! <comment><USER2> Unless I'm missing something, this is a sign-up page. Sign-up pages can't be Show HNs. Please read the rules: [https://news.ycombinator.com/showhn.html](https://news.ycombinator.com/showhn.html).

</comment><comment><USER3> The sign up page does not seem to be working.</comment>


Machine learning algorithm that writes rap lyrics by mining rap songs - <AUTHOR> http://www.technologyreview.com/view/537716/machine-learning-algorithm-mines-rap-lyrics-then-writes-its-own

<comment><USER2> It seems to be more a rhyme analyzer and arranger than a rap song writing bot</comment>


Samsung Chromebox gets a premature outing, $330 price tag - <AUTHOR> http://www.engadget.com/2012/05/22/samsung-chromebox-gets-a-premature-outing-330-price-tag <comment><USER2> Pricing fail yet again. I'm not sure if it's mostly Intel's fault for having this cost as much as it does, or Samsung and the others' fault for wanting to take advantage of early adopters.</comment>


Gravitational wave ringing sound – my view in comments - <AUTHOR> https://www.sciencedaily.com/releases/2019/09/190911121948.htm <comment><AUTHOR> _Article starts_

External Intellectual influcences in one's brain hinders muscle brain capacity. It may have gotten the stronger senses in the past and detoriated from its skill level.

If we were at harmony (like monkeys), could we have heard this sound without help of scientific instruments?

Music is our first and the only enjoyable discovery. It comes from within. Ear senses vibration. gravitational waves are also vibrations.

My view is that if we live peacefully as per nature's law than human's law, we will become strongest species biologically rather than implants, machine processing, counting(good for nothing) And perhaps we could learn more while staying here in earth than roaming out there.

What would you learn if you couldn't learn from yourself.

Your brain is the closest device to think.

Think and learn from it.

There should be a balance between what we learn and we we create out of it.

When we create out, it should like the effect of music.

Scientifically proven that music has its benefits.

Isn't it scientifically proven that living in comfort is the most dangerous thing yet ?

 _Article ends_

\- I like to write this kind of articles. Appreciate if someone could point me to sites where I can write content of this type.

<comment><AUTHOR> As per article the sound is similar to birds chirping.

Birds have more developed brain than us. They make chirping sound.

We learnt music from birds.

My finding is that bird learnt chirping from gravity sound.</comment></comment>


Ask HN: How to stand out at career fairs? - <AUTHOR> I'm a sophomore undergrad currently going through the recruitment process for summer. I go to a large-ish school  (20,000 undergrad) and our career fairs are _crowded_<p>How can I stand out to the recruiter? My resume is unconventional and I'm (I think) competent at networking, but it still just feels like a numbers game. Is that all career fairs are? Or have you had different experiences where something worked for you? <comment><USER2> Do your homework: find the firms you want to engage with before attending, call them A firms, call the rest B firms.

Have two talking points based on recent news releases and one on company culture for each A firm. When you go to the fair, learn from the B firms: what are they pitching (they might switch to A status), and most important of all, use B firms to master your general networking/pitching.

Then, and only then, go stand and smile next to the A firm recruiter—yes the one talking to others. Stand patiently and smile. Once they notice andEngage with you, start drawing your talking points from memory. If you like the way it goes, hand then your card. Your card should not be cute, it should be clean. Recruiters talk to a ton of people at student fairs, when you hand them your card after speaking intelligently to them, they take notice and they pocket your card. Given that 99% of the other students don't have cards, the recruiter will walk away with a dozen or two tops. And, when they receive your thank you email in their inbox the next morning, they'll grab a hotel pen, find your card and put a start on it.

Congratulations, you just made great impressions on your favorite companies.

Just remember, even if you win the rat race, you're still a rat. So, use that first internship to learn tools, write down ALL the stupid things you see the firm doing, write this down in notebooks. You will fill three this summer and three next summer. Three years after graduation, you'll have many notebooks covering all the things you don't ever want your company to do.

Congratulations, you just increased your startup's likelihood of making it to an A round by 100,000%

I could keep going, but I'm going to save the rest for chapters 2-10.

Final thoughts: be thoughtful, be hyper critical of everything you observe at fairs and jobs—but keep that to your self, and rather than getting frustrated, take that energy and ask yourself how YOU will do it differently when you're the boss.

<comment><AUTHOR> Thanks for the thoughtful response. These are some great ideas

</comment></comment><comment><USER3> In what ways is your resume unconventional?

I'm pursuing a Math degree, and my strategy has been to tailor to tech companies by getting involved in organizations and starting side projects. I've interned at [LARGE GRAPHICS CARD COMPANY] after my sophomore year because I did signal processing for a student organization.

<comment><AUTHOR> you can see a live version on [https://maxleiter.com](https://maxleiter.com)

printing it out (as in, file > print) will print my resume.

it's not the traditional style; i'm looking to be a web/front end developer so i went for that kind of look. I do modify it for each company (add GPA, leadership goals, etc), but that's the gist of it.</comment></comment>


Ask HN: Programming languages and audio/sound - <AUTHOR>

Hello,
I am not a programmer perse' but have done a lot of base MIDI and Max/msp stuff.
But...
I am curious what baseline language(s) would be the best for somebody like myself to begin learning if I wanted to write apps from the ground up, say plug ins or hypothetically write my own custom sound engine for video games ( max and csound not included)... and maybe even write my own audio codec.
I would also like peoples opinion on what they would suggest as starting language(s) to learn for web audio. (lets say I wanted to write a player like VLC , or at least hack it)
Ok ... that's all. <comment><USER2> Play with Lush:

<http://lush.sourceforge.net/>

It has all the DSP goodness you crave in a simple interactive shell.</comment>


Dear Google: You Can't Threaten People Into Being Social - <AUTHOR> http://gigaom.com/2011/04/08/dear-google-you-cant-threaten-people-into-being-social/?utm_source=social&utm_medium=twitter&utm_campaign=gigaom

<comment><USER2> meh, bonuses are hard. Once you start giving them, people like this start saying that you are 'punishing' your people if you don't give them a bonus that is quite as large next year.

I mean, obviously, the idea behind a bonus is that it's something you don't always get; something extra, so that employees can share when the company is doing well, or a extra thank you to employees who worked extra hard or who were especially effective at helping the company.

Of course, trying to get employees who have the same attitude as the author to have the right attitude about bonuses is hard, and I don't really have any good ideas how, other than making bonuses rare, which has it's own problems. Maybe having bonuses not on a set schedule? (e.g. tie the bonuses to, say, breaking a quarterly revenue record, and only give bonuses when that event occurs, rather than every year, once a year?)

<comment><USER3> This reminds me of a guy at the last place I worked. It wasn't bonuses he was on about (though we had that issue come up, too), but performance appraisal. He was always trying to figure out _just_ how much he needed to do to "far exceed expectations", as though by accomplishing _just_ that much (and no more?) each year, he could "far exceed" consistently.

I think he might have been a little unclear on the concept.

<comment><USER4> He was unclear, really? It sounds to me as though he fully understands the "don't go all out on your first wedding anniversary" concept.

</comment></comment></comment><comment><USER5> Google profiles need to solve facebook's privacy problem. Do what the competitor's aren't doing. Let us have control over what we share. They disrupted email with with gmail (by offering the storage space people wanted) they should do the same for social.

<comment><USER6> What do you think Google should do that Facebook doesn't let you do with its privacy settings?

In my opinion, Google is even _more_ open than Facebook about user data...

<comment><USER7> By default everything is private -- even my existence in the social network.

And then modes to easily see what is available to different classes of people. E.g., "my friends view", "my public view", etc...

And then when apps say they need a specific class of data, I want a button that will show exactly what will get sent to them today. So when I click this I can see, "Oh, you're getting those pictures!" or "I didn't realize my phone was still in here and being sent over".

<comment><USER8> Unfortunately, this is the sort of thing that sounds good in theory but leads to a pretty awful experience in practice.

Here's an example for you: You are a private user on the social network. You post on a friend's wall (or equivalent).

Can that friend's other friends see your post? If not, that's going to make it seem like there's no activity on your network. Can that friend's other friends request to add you as a friend? If not, that's going to prevent people from making new friends. But if they can, then you've confirmed your existence on the network every time you've done anything.

It turns out that if you want to be a private person, you don't get a lot of value out of your social network, and the social network doesn't get a lot of value out of you. Your best option is to not join a network at all--and, indeed, if you target your network to users who mainly want privacy, you'll find that is what will happen.

</comment></comment></comment></comment><comment><USER9> I don't quite understand why "social" is a goal in itself. When I look back at Google's underwhelming attempts at getting in on this newfangled social scene, I feel like they were products that were conceived by starting with the word "social" and trying to come up with a product that word describes. They didn't feel like they were made by starting with a want or need (or dissatisfaction with an existing product) and designing a product to satisfy it, which is where most of their successes have been. As long as Google keeps doing social just for the sake of doing social, it will keep being their white whale.

</comment><comment><USER10> I can't help but compare this to Bill Gates pivot after they launched Windows 95 and he turned the entire company towards the Internet. He didn't need to threaten their bonuses. He lead, this is where we're going and failure wasn't an option. You can quibble about Internet Explorer, IIS and ASP classic all you want but they succeeded in crushing Netscape.

</comment><comment><USER11> a change in incentives is not a threat.

<comment><USER12> And employee incentives isn't threatening customers into being social like the title implies.

</comment></comment><comment><USER13> The only talk that I've ever seen about social networking that made me say, "YES! This guy gets it!" was from Google, so I'm thinking that they can pull it off. It is going to take a lot of engineering effort and testing, though, so it's not something we're going to see tomorrow.

<comment><USER14> if you're talking about this presentation by Paul Adams: [http://www.slideshare.net/padday/the-real-life-social- networ...](http://www.slideshare.net/padday/the-real-life-social-network-v2) \-- I would agree it's a great presentation, but he works at Facebook now :-)</comment></comment>


Summit Supercomputer Up and Running, Claims First Exascale Application - <AUTHOR> https://www.top500.org/news/summit-up-and-running-at-oak-ridge-claims-first-exascale-application/ <comment><USER2> This is a poorly written article.

Here is a better source: [https://www.top500.org/news/summit-up-and-running- at-oak-rid...](https://www.top500.org/news/summit-up-and-running-at-oak-ridge- claims-first-exascale-application/)

Interesting bit about nVidia Tesla V100 GPUs:

 _Assuming all those nodes are fully equipped, the GPUs alone will provide 215 peak petaflops at double precision. Also, since each V100 also delivers 125 teraflops of mixed precision, Tensor Core operations, the system's peak rating for deep learning performance is something on the order of 3.3 exaflops.

Those exaflops are not just theoretical either. According to ORNL director Thomas Zacharia, even before the machine was fully built, researchers had run a comparative genomics code at 1.88 exaflops using the Tensor Core capability of the GPUs. The application was rummaging through genomes looking for patterns indicative of certain conditions. "This is the first time anyone has broken the exascale barrier," noted Zacharia._

<comment><USER3> I wonder what the application was. There is not that much deep learning in genomics.

<comment><USER4> The tensor cores are simply matrix multiplication + accumulation. They don't need to be used purely for deep learning.

</comment></comment></comment><comment><USER5> What's not inside the Summit Supercomputer speaks volumes: Intel.

Knights Landing/Hill/Mill is simply not compelling; Omni-Path was created as an infiniband knockoff that doesn't beat Mellanox. The Cray Gemini/Aries interconnects can be found all over the top of the list (and the Intel acquisition of those interconnects happened in 2012), but you don't see Omni- Path replacing anything.

Meanwhile, Nvidia comes out with NVLink and begins to build small clusters of GPUs connected by larger networks containing IBM and Mellanox. A vacuum was created, and IBM and Mellanox moved (back) in.

<comment><USER6> The DOE (and DOD, but with whom I'm less familiar) tends to spread out these purchases over multiple vendors to keep multiple US-based providers able to build and support these machines (and I imagine to keep costs competitive).

The last few acquisitions by ORNL and LANL have been Crays while ANL and LLNL were buying IBM Blue Genes. With this generation, it looks like things have switched. As another poster mentioned, it certainly seems like ANL's next one will be Cray/Intel. It was going to be based on Knight's Hill, but Intel cancelling that sort of put the architecture up for grabs.

<comment><AUTHOR> I would love to see Intel tweaking the Phi line with asymmetric cores like some ARMs do. Having a couple brawny proper Xeon cores and a bunch of smaller 4-thread cores, all coupled with local HBM (and maybe some dedicated HBM for each core) would make it a very versatile part that, with some tuning in number of cores, cache sizes, HBM size, etc, could cover from low-end server all the way to supercomputing.

I don't think there is much doubt core count will increase on all segments and that asymmetric core tech that's currently used in ARM is pretty cool.

<comment><USER7> Do HPC-oriented ARMs do that?

I don't see the advantage of mixing Phi and SKX cores. Just use an appropriate balance of different nodes (maybe not all Intel).

<comment><AUTHOR> It makes sense for multi-node machines, much like we do some tasks mostly on CPUs and others on GPUs within a single node. A processor like this makes much more sense on desktops and general-purpose servers, as most of the time my Xeon cores are doing things an Atom would be perfectly capable of doing at a fraction of the power consumed. This translates into more heat and more cooling. If you consider a Xeon Phi uses 300 Watts for 256 threads, this translates roughly to 1.2 W per thread, which is well within what I would expect from a very puny Atom core. Being able to power down most of my computer while, say, I write this, would be a very nice feature.

</comment></comment></comment></comment></comment><comment><USER8> > 27,648 Nvidia Tesla V100 GPU modules

holy shit

<comment><USER9> I always wondered what's the bulk discount on these since it's north of $200,000,000 for GPUs alone.

<comment><USER5> Bulk discount when currency miners will pay full price?

<comment><USER10> Nvidia was probably under contract for this before mining blew up to where it is today. Provisioning for these machines starts 5-10 years before they ever come online.

</comment></comment></comment></comment><comment><USER11> Why do they need expensive Power 9s when the bulk of the processing is done by GPUs?

<comment><USER12> Because Power 9's have on-chip NVLink ports.

<comment><USER13> This. CPUs are hungry.

</comment></comment></comment><comment><USER14> I drive by a site with large signs declaring it to be an Exascale computing construction project at Los Alamos, but I'm not sure what they're building. I'm sure they've announced it somewhere.

</comment><comment><USER15> I think I still have my nv3 graphics card. Fun to think of how Nvidia grew.

</comment><comment><USER16> "Competition remains stuff."

</comment><comment><USER16> Is there anything preventing them from mining crypto as a burn-in to help subsidize the costs?

<comment><USER17> Yeah, common sense.

Also, actual science work that they have to do.

<comment><USER16> > Yeah, common sense

Could you explain

> Also, actual science work that they have to do.

Presumably these clusters aren't 100% utilized 100% of the time. They certainly weren't at the national lab I had access to ages ago...

My question was more inquiring if there's any red tape preventing the laboratory from paying the bills with mining, if it could do so profitably. Let's just assume there's idle time where this could hypothetically occur.

I'm not even trying to suggest that they should do that, it's just an interesting relatively new possibility and these things are quite expensive.

<comment><USER18> The cost of the energy to do so would not be worth the bitcoins mined. Maybe some alternative crypto-currencies would break even, but it wouldn't be easy.

Sitting idle, the machine is not using nearly the power draw of when it's running full-tilt.

<comment><USER19> I'd be surprised if it sits idle at all. Someone correct me, but it's gotta have a job queue, and a priority for each. There are plenty of problems (every single one submitted) where it's energy consumption is irrelevant.

<comment><USER20> [https://slurm.schedmd.com/](https://slurm.schedmd.com/)

It still depends on scientists to produce code that can run during off hours. (And how well are scientists known to code?)</comment></comment></comment></comment></comment></comment>


Richard Stallman Collapses At Barcelona Conference - <AUTHOR> http://www.publico.es/ciencias/432664/richard-stallman-rajoy-nos-quiere-matar-a-todos <comment><USER2> Hi, I am from Barcelona, and I was there. Stallman is a great man. I dont know what happened at the end, but when we were in the talk the organizers told us that the talk is suspended because Stallman was not well. The medical service arrive 20 minutes after Stallman ask for attention. This delay was used by him to say: "Son los recortes, Rajoy nos quiere matar a todos", meaning: The delay is because of the cuts in the spanish health systems, Rajoy (the president) want to kill us". :-).

<comment><USER3> Wow, if only he were in the United States where you don't have to rely on the Government for medical care...

<comment><USER2> Yes, but in US you have to have a lot of money for receiving a very basic and fundamental human right: medical care...

<comment><USER4> I wasn't going to respond to this to avoid prolonging this burgeoning off- topic health care flamewar, but I figured that in the name of cross-cultural understanding, I'd correct you:

Hospitals in the US are obligated to treat any emergency patient regardless of whether they can pay.

<comment><USER5> They then charge those people least able to pay a higher rate, add interest, and turn it over to a collection agency.

[http://www.democracynow.org/2012/2/15/new_york_hospitals_sad...](http://www.democracynow.org/2012/2/15/new_york_hospitals_saddle_uninsured_patients)

[http://www.democracynow.org/2004/1/7/state_secret_why_are_un...](http://www.democracynow.org/2004/1/7/state_secret_why_are_uninsured_patients)

[somehow Democracy Now seems appropriate for a Stallman discussion]

<comment><USER6> This isn't entirely true and varies from state to state and hospital to hospital. We had a trip to the hospital last year (non-ambulance, but was an actual emergency). Prior to checking out, we refused to sign anything from the hospital itself until checkout time. (quick sidebar, I've never seen anything as sleazy as an administrator trying to get someone who's heavily sedated and mediated but hasn't been fully diagnosed yet (triage and stabilization only) to sign paperwork related to billing and insurance, and then to authorize a room change to long term and the to an overnight room...all before they even knew what was going on). At checkout time, they had no insurance info...if we had no insurance, they would consolidate the fees from all groups (contracted doctors, anasthesiologists, equipment use, medications, etc.) and waive 2/3 of it and set up a payment plan (non-loan style, so no interest, or fees). This total was lower than if we used insurance and paid what was remaining on the deductible for the year and happened late enough that we wouldn't have benefited from using the insurance. I have no idea if it was attitude, handling it like business, persistence or just how they do business, but it greatly impressed me.

</comment></comment></comment></comment></comment></comment><comment><USER7> He's ok [http://www.fsf.org/news/richard-stallman-speech-in- barcelona...](http://www.fsf.org/news/richard-stallman-speech-in-barcelona- canceled)

<comment><USER8> Thanks for letting us know. I really like rms, even if I don't agree with his every position. Here's to hoping he gets into good health soon.

<comment><USER9> RMS is controversial, extreme, and perhaps even crazy.

But it's scary to imagine a world without the counterpoint that RMS singularly embodies.

In a way, he evokes images of the Dalai Lama: In (metaphorical) exile, regarded as a heretic from many, and revered as a guiding beacon by others.

<comment><USER10> One step ahead of the curve and you're a genius. Two steps and you're crazy. Three and you're dangerous. RMS#2

<comment><USER11> Actually, I believe he's _behind_ the curve.

There was a time when some of the things he talks about mattered (1980s), and that time has long gone.

The general public don't buy "computers" to tinker with any more. They buy them just like they buy a toaster. As an appliance to use. The software or hardware it runs is irrelevant. All that matters is the user experience, and if it fulfils the purpose - does it make good toast.

<comment><USER12> I find it ironic how vocal the anti-RMS contingent is being in the same week that Microsoft is locking Firefox out of one of their Windows 8 lines, while we live in a world where Apple rigidly controls what you do with everything not-Mac and continue making strides towards locking down the Macs as well, where consumer electronics like eBook readers are rapidly displacing computers, and where Google's dedication to openness seems to come and go and is held hostage by hostile phone carriers and indifferent-at-best hardware manufacturers. Let us not forget Microsoft's ongoing efforts to ensure BIOSes can only boot approved (read: Microsoft) OSes. I can barely even remember all the ways in which almost every tech company under the sun right now is trying to lock us in a box.

The Open Web Honeymoon is rapidly coming to an end and our ability to ignore his ideas is also rapidly coming to end. His ideas are regaining their importance fast, because the victories circa 2000 that allowed us to pretend he was crazy because our world was comfortable are being walked back. The classic Right to Read [1] is no longer a far-out vision but very nearly a matter of some switches being flipped in existing software and hardware. I see a developing consensus group on HN that we can ignore RMS as a loon, but now's a terrible time for that to take root. We're going to get stomped in the next several years if that happens. The fight for the openness of the next hardware generation has started and we're barely showing up.

[1]: <http://www.gnu.org/philosophy/right-to-read.html>

<comment><USER11> The sky is not falling. In fact, if you look at the situation now, with real browser choice, IE declining market share, and with Android, then the situation is better than it has ever been. Most games consoles have opportunities to write software for them. Something you could only dream about in the 90s.

The market decides these things extremely well. We don't need people shouting and taking extremist positions.

The only thing that matters is "Does this device solve a problem I have, and satisfy my needs?". If the answer to that is yes, then I don't care how open/closed/walled garden it is.

<comment><USER12> Yes. We have real browser choice on our conventional computers and Android. Less on iPhone, none on Windows 8 for ARM. Game consoles are walled gardens and I'm not sure what you mean by "most" because I'm pretty sure it's only the XBox 360 that is open to all, and that a hugely restricted sandbox as well.

So, your bright spots are a fading category under active attack (web browser choice), a dubious walled garden (XBox 360) from the same company working to kill our browser choice, and a phone platform which as I've said goes back and forth between open and not depending on the who, what, and when, with basically a single project standing between us and the whole platform being effectively closed (CyanogenMod). (I'm assuming you're not claiming the PS3 as open after the openness was retroactively removed by Sony. There is nothing stopping Microsoft from doing that either.)

This isn't extremism to be ringing the bell, our insertion into the trunk is nearly a _fait accompli_ , and again, we're barely showing up to the fight.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER13> I just wanted to add that at no point does the article mentions that he collapsed. Looks like he suffered an increase in blood pressure and decided to call it of. A doctor was contacted and he was able to walk away by his own means.

<comment><USER14> Google's translation made the article a bit more amusing: "The president of the Free Software Foundation has begun to feel ill, apparently due to a power surge"

He needs better line filtering I'd guess!

</comment></comment><comment><USER15> Ironic that the only way I was able to read that article was through non-free software (Google Translate). Hope he's OK.

<comment><USER16> Nope. You could learn Spanish and understand it. It is not like the content is encoded in a proprietary or patent encumbered format.

</comment></comment><comment><USER2> Here, there is a picture when he was in the ambulance: <https://p.twimg.com/AsjR-wCCEAEVxLa.jpg>

<comment><USER17> Here's my original post of the picture from Twitter: [https://twitter.com/#!/Cribstopper/status/200641059389313024...](https://twitter.com/#!/Cribstopper/status/200641059389313024/photo/1)

</comment></comment><comment><USER18> Shit. I hope he's okay, it's difficult to tell what happened through the lens of Google Translate. Anyone have more information?

<comment><USER19> My Spanish is rusty, but the article says that:

\- Stallman felt ill halfway through a lecture he was offering in Barcelona, probably due to a blood pressure spike;

\- he asked the staff for medical assistance;

\- meanwhile, he continued the lecture with some difficulty, but in a good mood;

\- the lecture was suspended when the ambulance arrived, and was eventually cancelled;

\- after being attended by the medical staff, he was well enough to walk out of the building;

\- no further details on his health.

<comment><USER20> Of course, the big question is whether the firmware in the EKG machine was open or not.

<comment><USER21> I seriously wonder if medical care done by proprietary devices with proprietary software is something that he would object to!

</comment></comment></comment></comment><comment><USER22> One of these days it's going to be for real and I wonder how many of his fans will be enraged when someone says something like "I'm not glad he's dead, but I'm glad he's gone".

<comment><USER23> All of them. It's been my experience that Stallman fans refuse to deal with even fair criticism of him. That aside, I hope no one says that about him or anyone else ever. I have a lot of problems with Stallman and his ideology but when he dies I hope we can all take the high road. We may _think_ it's the man we don't like but it's really his actions and beliefs we have a problem with and when a well respected public figure like him dies it's just common decency not spit on his grave like that. When someone dies you should get past all the negativity you hold for a person and remember their humanity. To some he may have been an asshole in life but in death we're reminded that the deceased had family they loved, hopes and dreams, and changed people's lives in a small way just by having lived and interacted with others. I was one of the people who was outraged by what he said when Steve Jobs died but I'll forgive it when Stallmam goes because of what I just said earlier. Let's hope he's alright and take the high road.

By the way, "he did not, for example, have a heart attack". Really? There are no confirmed details but he definitely didn't have a heart attack? Well are there confirmed details or not? If he didn't have a heart attack then there's at least one confirmed detail, right? Why the need to clarify that one point? I'm not saying its a lie but whenever someone tells me "I don't know what happened but I know this one thing _didnt_ happen" they're either guessing or hiding something.

<comment><USER24> It amazes me that Stallman is viewed in this way. Steve Jobs was undeniably an asshole to many .. and Steve Jobs' fans refuse to deal with even fair criticism of _him_.

There's a strange warped perspective at play.

<comment><USER23> You're missing the point and rushing to defend someone I'm not trying to insult. I never said or implied Jobs fans aren't the same. The point is that when someone dies or has something bad happen to them saying something like "I'm not glad he's dead but I'm glad he's gone" is like spitting on their grave and in such times we should remember that they were human like you or me and forget our petty grievances out of respect. When someone like Stallman dies it reminds us of our own mortality as would anyone's death. I'd hope no one was a dick about it "because Stallman said this and that about Jobs after he died" or "because he promoted some awful ideology" or something like that. I don't even like Stallman but when someone has a health crisis or dies you don't celebrate it no matter who they are. It's just common decency. Don't make this a Stallmam V. Whoever comparison.

<comment><USER24> I find the way many people talk about Stallman to be patronising and bitter. I believe this is partly just because he's fighting against the current, whereas a person like Jobs oiled the wheels of capitalism. Stallman has a huge positive effect on the world, it's a shame any recognition will need to be balanced against so much negativity.

</comment></comment></comment></comment></comment><comment><USER25> What's strange is Wikipedia shows him as deceased. First sentence says: Richard Matthew Stallman (16 March 1953 – 10 May 2012), often shortened to rms,[1] was an American software freedom activist and computer programmer.

</comment><comment><USER26> Social/Moral question: Is it acceptable to wish Mr. Stallman well in light of allegations that he has advocated for truly awful practices?

e.g. _Dutch pedophiles have formed a political party to campaign for legalization. I am skeptical of the claim that voluntarily pedophilia harms children._

<http://stallman.org/archives/2006-may-aug.html>

<comment><USER27> There, you're doing it.

It is all right for someone to be skeptical about any commonly held view, _except_ when it's about sex with minors.

In any discussion about any kind of sex with anyone under 18 whatsoever, if you're not 100% fully completely convincedly against it, then _you're a bad person!!1_

Why can't we just discuss this? Like we can discuss anything else? _Especially_ in the US, where the norm appears to be that the KKK people and the Westboro Baptist nutcases are insane, but they should still be allowed to say what they think? Why is that ok with nazis and homo haters, but not for people who are merely _skeptical_ about the current social norm wrt sex with minors?

It's this same attitude that allows governments to block half the internet, it's to seek out the child pornographers! What, you're against my law? Hey guys, this one here is in favour of child pornography!

Note: I completely share the common opinion that sex with minors is bad and that there are only very few edge cases to be found where it isn't (e.g. a sexually active couple, both 17 years old, one turns 18 and is now a peadophile? surely not). I just think that, like everything else in the world, if we're civilized, we'll allow the discussion.

<comment><USER26> Well actually, I haven't expressed an opinion about whether his words are acceptable or whether he's a bad person, whatever that means. I have heard more than a few people taking me to task for wishing him good health on account of his words, and one of the reasons I posted this was to hear from people like you.

<comment><USER27> Genuinely curious, because I don't think I understood this: what do you mean with "people like me"?

<comment><USER26> HN readers, especially those who might contruute another perspective. e.g.

reg: Stallman is an important voice.

detractor: He's also advocating pedo.

reg: He's still an important voice.

HN reader: Actually, he isn't advocating pedo. <\- new perspective

<comment><USER27> ah right! thanks for elaborating. in fact, i'm flattered! :-)

also, my compliments for not turning this into a flamewar. in retrospect, it would seem that i was about to.

</comment></comment></comment></comment></comment></comment><comment><USER28> "Stallman, conocido por sus excentricidades..."

The wonderful thing about having a smattering of French and Latin is that I can recognise "damned with faint praise" even in a language I don't know.

(Hint for the mono-lingual: [http://translate.google.com/#auto|en|Stallman%2C%20conocido%...](http://translate.google.com/#auto|en|Stallman%2C%20conocido%20por%20sus%20excentricidades))

</comment><comment><USER29> I'm really beginning to worry about rms's health. I recently saw a tv interview of him on russia today where he seemed to have put on a lot of weight.

I hope he doesn't overexert himself.

</comment><comment><USER30> Get well soon,RMS.

</comment><comment><USER31> i don't like all he's promoting, but hope he will get well soon. Bless!

</comment><comment><USER32> This presents an interesting situation. Is Stallman okay with being hooked up to medical computers even though they may not be running free software? What about the privacy issues involved in being checked into a hospital?

<comment><USER33> I'm not rms, and I don't speak for him, but his opposition to non-free software is predicated upon the claim that it harms the user. As death is arguably a greater harm than any non-free software could inflict, I suspect he would say that it is not wrong to use non-free software to save a life if no free alternative is readily available.

You can ask him yourself, if you want: email@example.com

He replies to almost all emails within a couple of days.

EDIT: He actually answered a very similar question in his reddit AMA [1]:

22\. two_front_teeth: Suppose your doctor told you that you needed a medical procedure to survive but that the procedure would require inserting a device inside of your body which ran proprietary software. Would you be willing to have the procedure done to save your life?

RMS: The only way I could justify this is if I began developing a free replacement for that very program. It is ok to use a nonfree program for the purpose of developing its free replacement.

[1] <http://blog.reddit.com/2010/07/rms-ama.html>

<comment><USER34> To continue with the above comment, I'd like to point out that RMS has valid concerns regarding non-free software running inside your body.

You don't want to have a buggy pacemaker with unencrypted unprotected wireless access.

[http://www.theregister.co.uk/2010/07/27/buggy_pacemaker_code...](http://www.theregister.co.uk/2010/07/27/buggy_pacemaker_code/)

[https://www.softwarefreedom.org/resources/2010/transparent-m...](https://www.softwarefreedom.org/resources/2010/transparent- medical-devices.html)

Moreover I don't feel comfortable using a technology that is owned, developed and maintained exclusively by one company.

<comment><USER35> As if free software cannot be buggy and with lousy security. I am so tired of this "open and free makes everything perfect by magic" thinking.

<comment><USER36> It's not about it being more secure. It's that at least when it's suffering from malfunction, you got shitloads of eyeballs on the thing to make it work and work well. Why do you think all the OpenBSD tools are so ubiquitous?

<comment><USER37> Keeping this in the context of devices like a pacemaker, do you really believe that an open-source development model would be safer for the people who depend on it than a closed-source model? Do you expect them to flash custom ROMs to the pacemaker that keeps them alive if it turns out there may be a problem with them, instead of going to the hospital to get the thing replaced?

<comment><USER12> One of the things I've learned in life is that We're All Just Folk. There's no magical divinely-inspired programmer out there creating firmware for your pacemaker. The difference between him and me is process, and little else. If I'm given access to the same testing processes they use as part of the open source package, I see no reason to believe my code is going to be worse than anybody else's. Sure, I'd think twice before installing it, but in some sense that's irrational; I should think twice before anything like that because We're All Just Folk, and it's just some guys writing all the firmware we all depend on.

In some ways, it's best not to think too hard about this.

</comment></comment></comment></comment></comment></comment></comment><comment><USER38> > Richard Stallman: "Rajoy nos quiere matar a todos"

RMS: "Rajoy (Spain's president) wants to kill us all."

Well there you go, Richard.

<comment><USER39> President? I think you mean prime minister.

<comment><USER38> No, I did not mean prime minister.

In Spain, the head of state is the monarch and the head of the elected government is known as the "Presidente del Gobierno", or president of the government. Although a counterpart can be found in other parliamentarian systems such as the prime minister in the UK, the Spanish president of government is not primus inter pares but the undisputed head of the government.

</comment></comment></comment><comment><USER40> Wikipedia had him as expired briefly, had to do a double take.

[http://en.wikipedia.org/w/index.php?title=Richard_Stallman&#...</a>

</comment><comment><USER41> "Reports of my death have been greatly exaggerated"

</comment><comment><USER42> TIL: Richard Stallman has a heart.

</comment><comment><USER43> Maybe Microsoft tried the "Surprise! You were actually using Vista!" trick on him.

</comment><comment><USER44> Did he choke on the toenail this time?

</comment><comment><USER45> i will not make a parrot joke here. i will not make a parrot joke here. i will not make a parrot joke here. ..</comment>


Did I reinvent the wheel? (JS plugin to link to page selection) - <AUTHOR> Spent quite some time looking for a JavaScript library that would allow me to select a part of a web page and send a link to that selection to someone else. I know there are scripts like AnchorJS that allow to deep-link sections and paragraphs, but didn't find any that would allow linking to a specific word, phrase or image.
So failing to find what I need, I wrote my own thing: https://github.com/iafan/LinkToSelection
Can't believe I'm the only one who thought about this — it seems to be super-useful for any documentation pages. Do you know of other implementations? <comment><USER2> Not many javascript stuff comes to mind, but you might find more implementations if you search for a specific problem you were trying to solve. The closing javascript thing that comes to mind is the letmegooglethatforyou site, an extreme way to point out the search button.....

From a personal point of view, Sometimes I would just email myself a link to a webpage if I wanted to view it later on mobile or vice versa.

In technical support over email, I used to send customers a link to a kb article or a pdf and a page number. I never had to go beyond something along the lines of, here is a link, you forgot to do step 4 or follow the instructions under the known resolution section.

From a bug reporting point of view, Most people would send a picture and send the dropbox link over slack/email. Dropbox has a little popup with the link to the image after taking a screenshot so it is very easy and fast.

It reminds me of Onenote and Evernote feature to copy snippets from a webpage, though I never tried to share the content.

While not directly similar, The code for searching for specific parts of a webpage seems similar to some web scraping solutions. Ie, here is a webpage, I want to scrape this selection for all similar pages,etc.

<comment><AUTHOR> I know that the best available option in today's world is to make a screenshot of a selection to point to a specific point on a page, but heck, this seems to be an extreme waste of bytes when the only thing you want to do is to point someone to a specific word or a phrase...

The closest implementation that comes to my mind is GitHub's ability to select a line or a range of lines that would immediately update the hash and give you a permalink to the selection, e.g.: [https://github.com/iafan/LinkToSelection/blob/master/lib/Lin...](https://github.com/iafan/LinkToSelection/blob/master/lib/LinkToSelection.js#L16-L17) , and I think this is one of the small but handy features people love GitHub for, but it has a very specific use case and doesn't allow one to point to a range in the string, or just one character that, for example, is causing a problem.

</comment></comment><comment><USER3> related: > [https://medium.com/the-bower/lets-please-use-hashtag- terms-t...](https://medium.com/the-bower/lets-please-use-hashtag-terms-to- create-_arbitrary_-deep-links-f9185d5da2f0#.z3h36b4w3)

<comment><AUTHOR> Thanks for sharing. This proposal makes every bit of sense, IMO. I wish selection sharing could also be a part of some cross-browser standard so that people wouldn't have to install anything on their sites. It's one of the things that would just work if it was implemented universally across major browsers.</comment></comment>


The Art and Science of Seductive Interactions - <AUTHOR> http://www.slideshare.net/stephenpa/the-art-science-of-seductive-interactions?type=presentation

<comment><USER2> This is about how to make your app seductive, not you. It helped me think of my app more as a service AND a videogame.

<comment><USER3> In fact, you can go further: don't try to turn an already-created app into a game. Instead, when you're first working on a business concept, make sure that you _create a game_ first and foremost, and then try to figure out how to let the user do some interesting thing (whatever your original app would otherwise be about) as a _side-effect_ of play. This is how Flickr got off the ground: first it was just an MMO, and then people possessed and traded photos within the MMO, and then that started to become more and more the focus. It's still a game at heart—just like Reddit and, to some extent, Hacker News itself are—it's just shifted to achievement by means of photos, rather than whatever else it had people do before, because that's what interested them.

Let me clarify, though, what I mean by "game." There's this idea in pen-and- paper RPG game design called the _threefold model_. Basically, it states that there are three reasons people immerse themselves into a virtual, social world constrained by rules (a "game".) It's usually phrased, though, that there are three archetypical players, one to purely seek each goal, of which any individual may be a varied mixture.

1\. There are Simulationists, who want to explore the "reality" of the world itself.

2\. There are Narrativists, who want to feel that they're part of an overarching story, and that both themselves, and the world, are important and have purpose.

3\. There are Gamists, who want to compete for resources, usually against the other players or the game's universe itself.

This model is useful for more than pen-and-paper RPGs, obviously; the three motivations people have for playing games are the same as the three motivations people have for doing _anything_ , once they've sated their base urges: _satisfying curiosity_ and feeling _in control of the world_ (Simulationism), finding _a sense of purpose_ (Narrativism), and _feeling powerful_ and _having control of the other players_ (Gamism). Whenever you're helping people to achieve one or more of those three goals, the means by which you're doing so can probably be classified as a game: D&D, Facebook, the Stock Market, Religion, etc.

</comment></comment><comment><USER4> Mistake #1: Distributing your presentation via Slideshare. Just about the "least seductive" Web presentation interface around.

<comment><USER5> However, it is a) functional and b) massively easy to embed.

</comment></comment><comment><USER6> This is much, much better than the title suggests.

<comment><USER7> To clarify, this is an excellent presentation about "seductive" UI/interaction design... very very good, with lots of great examples.

Really worth a read and a bookmark. I've also forwarded to my team and we'll no doubt lift a few ideas from there.

</comment></comment><comment><USER8> A lot of the points this presentation lists (make it a game! reward with points and levels! make users curious by hinting at hidden information!) are techniques that have been used extensively by the most successful Facebook applications. I look at Facebook apps as a bit of a primordial soup of Darwinian evolution, because of the short development cycles and easy access to a potential audience... and the fact that the presentation sums up many of the techniques I noticed succeeding on Facebook is what makes me take it seriously.

Highly recommended for anyone working on consumer apps. Even if you know a lot of the concepts already, it brings them together nicely.

</comment><comment><USER9> Thank god. I thought this was another #1 link about getting laid.

<comment><USER10> Me too. It seems that I reliably click on the titles I like least, just to see if they're as bad as I expect. Isn't that odd?

</comment></comment><comment><USER11> That was an unusually pleasant and very interesting presentation. Thank you.

</comment><comment><USER12> The iLike app looks terrible. What happened to simplicity and non- interference?</comment>


How to support open-source software and stay sane - <AUTHOR> https://www.nature.com/articles/d41586-019-02046-0 <comment><USER2> Argh, this article is going to give researchers the misleading impression that releasing code as open-source is complicated, that you need to maintain it, ask yourself difficult questions, be an expert in programming, find funding to keep it around, etc.

But in my field, in most cases the source code is never released at all. That's a far bigger problem that not having support to use it.

So fellow academics, please don't use this article as an excuse to not release your code. When in doubt, just push the thing to Gitlab as is, add a README that says "This is research code for paper X and it is unmaintained.", and disappear. It's not ideal, it's not the best way to do science -- but it's much better than not releasing your code.

Related: the CRAPL [http://matt.might.net/articles/crapl/](http://matt.might.net/articles/crapl/)

<comment><USER3> > But in my field, in most cases the source code is never released at all. > That's a far bigger problem that not having support to use it.

I agree but I think it's good for people to know that almost any moderately successful open project will attract whiners, complainers, entitled people, and in some cases outright abuse.

From the perspective of society, having no open code is worse than having open code that's unmaintained. We're agreed here.

From an individual contributor's perspective, opening yourself up to varying forms of whining and abuse "for the social good" (and not, say, for your tenure or publication count or whatever a researcher cares about in the moment) is a bigger problem than just sitting quietly on stuff you don't want to become a drain on your life.

<comment><USER4> What exactly are the whiners going to do if you just ignore them?

<comment><USER5> If you use an online presence that is traceable across the internet, some subset of them will bother you _everywhere_ or decide to make your life miserable when you ignore them. As such, anything that can remotely be seen as connected to you with any longevity is best put online without your name and with a throwaway nickname.

Given that precaution, nothing! Sadly a lot of people don't take this precaution.

<comment><USER6> If the code is released anonymously, what good is it though (in the context of research code)? Ideally it should be connected to the paper to allow for replication, and what academic would want to release a paper anonymously?

<comment><USER5> I think we agree then that releasing code connected to a paper is something I wouldn't recommend anyone actually do, even if I do like it when it does happen :)

</comment></comment></comment></comment></comment></comment><comment><USER7> Great article, and fantastic to see a spotlight on an issue that I've thought a lot about.

The sad part is that to a lot of scientists and researchers, software/software engineers isn't something worth paying for. It's not uncommon to see "programmer" jobs that are looking for 3+ years of experience that offer <$15 dollars an hour in the US. Sometimes they're "volunteer intern" positions. Of course the people who end up filling these positions aren't usually actual developers, so the software gets built poorly, eventually gets scrapped, and the cycle continues.

Management also hasn't really evolved past the 90's. Non-technical scientists often want 100% of control and to make each decision, but don't want to spend any time on it. This means developers often have little to no specs to work with, but spend all of their time guessing about what the scientists want, and having to go back and fix everything after.

>"That's really the tragedy of the funding agencies in general," says Carpenter. "They'll fund 50 different groups to make 50 different algorithms, but they won't pay for one software engineer."

This is the crux of my frustration. It's not even 50 different algorithms often. A lot of the time, 50 different research groups will be working on very similar programs, and none will be able to deliver a working version.

Though the article mentions that research funding does exist, clicking on one of those funding pages and looking through their examples reveals that only ~1/10 of their websites are actually still active, and they aren't old sites. Again this goes back to the whole "scientists don't value software thing". I've seen scientists happily sign off on spending $20,000+ on hardware components that would usually cost <$100 to make, but balk at contributing $50 yearly to support open source.

I got lucky that I managed to find a place where I get paid fairly, and my boss is actually technical and can manage tech projects well, but these places are few and far between.

<comment><USER8> A lot of the points you bring up re related to cost. Here's the thing about cost, let's say it costs $100k/year to hire a good software engineer capable of writing scientific code (able to program and test complex algorithms, write HPC code, turn whitepapers into code), which might even be an underestimate depending on how benefits are paid out and the area. You can also fund 3 more grad students for that kind of money. The grad students will directly convert a PI's money into authorships while the software engineer's contribution will be only indirect, and likely take years to pay off.

Plus, with only a single software engineer, there's a good chance you get unlucky and end up with someone clueless/lazy. You would probably need 3-4 software engineers to make a functioning team with best practices and hedge your bets against accidentally hiring someone who sucks. So now we're talking 10+ grad students.

Open source software is a bit different because many labs can band together to fund things they find useful. But again there are still issues with cost- effectiveness. I'm guessing most lab contributors to OSS would want some sort of quid-pro-quo which may not be realistic for all OSS projects. And by funding OSS you are also funding competing labs' abilities to use the same features you use, which is good for science in general but not good for people's careers sometimes

<comment><USER9> Why hire an engineer? Why not walk over to the CS (might have a different name) and talk to a professor there. They can set you up with plenty of undergrads who need this experience, and they should be able to guide them into something that is maintainable long term.

Note that I said should there. How to write maintainable programs seems to be lacking in research area.

<comment><USER8> I was such a CS undergrad working in a lab once upon a time. I don't think you really want that because the undergrad will probably only be working for like 4-15hr/week potentially for only a single semester. For a summer position, sure it's 40hr/week but still only for about 10-15 weeks.

And still, you're getting a generic CS undergrad's caliber of work and responsibility which I would say on average is not great. They might not be as familiar with version control, best practices, etc. and could just end up writing code just as bad as the scientists.

I think if hiring a team you would need at least one somewhat experienced full-time software engineer to act as team lead/PM for the other developers, whether fulltime or students.

<comment><USER10> Yeah, picking up undergrads (or even grad students) from the CS department is not a surefire way to end up code that follows best practices, is well maintained/documented, etc. and I'd probably argue if your team leader doesn't have that experience, you're more likely to end up with something that doesn't follow great practices (especially with regards to any sort of test suite).

<comment><USER9> All the replys about undergrad quality are correct. I stand by my statement though: we need to figure out how to solve this problem and research is sorely lacking.

</comment></comment></comment></comment></comment></comment><comment><USER11> Maintenance is a challenge anywhere where software is developed in-house without a dedicated development team. Development is often lead by one person and becomes very difficult when they depart. It seems like all the regular maintenance challenges are present in these situations, just exacerbated. Not sure what organizations that aren't software-focused can do to improve their situation in this regard.

<comment><USER12> One thing we can do as users is champion the idea that open-source authors don't owe us anything. Having support or getting help with problems is great, but the author's already done us a huge favor by writing the software we needed in the first place, and they aren't required to go beyond that or do anything specifically for an individual.

<comment><USER13> Mostly agree, however, at some point the author's DO NEED to do something beyond creating the thing or else face the extinction of that piece of software.

I think most people who have created something will generously bend over backwards to help individuals in the early stages of it's lifecycle. You can see that all the time on github.

The problems come when the project takes off to the point where there isn't enough support for the number of people using it BUT the software isn't mature/popular/fit-enough to be "under the wing" of a larger organization who can afford to pay for it's maintenance and evolution.

Is there a way to bridge the gap between author's-generosity-support and corporate/organizational stewardship? We do have the social networks in place to allow that, they're just focused on different objectives.

<comment><USER14> Wasn't there a thing recently were an author just gave away one of his node.js libraries, and then it was used maliciously by the requester to attempt to hijack bitcoin wallets?

Found it: [https://arstechnica.com/information- technology/2018/11/hacke...](https://arstechnica.com/information- technology/2018/11/hacker-backdoors-widely-used-open-source-software-to-steal- bitcoin/)

I don't blame anyone in this scenario because the culture of open source projects and their interplay with enterprise encourages it

</comment></comment></comment></comment><comment><USER15> I think part of it is funding--but part of it is also recognition. In a number of fields, the development of scientific software receives little recognition compared to the science--even if the impact is large in terms of the discoveries it enables. So, for say tenure or career advancement, it might be "nice" for you to do it, but nowhere near as important as publishing high impact papers (at least in many fields). Especially if a graduate student or postdoc commits too much time to it instead of research results, they risk not being able to continue in their field (though they probably have more options if they decide to leave science to become software developers).

</comment><comment><USER16> Speaking about biomedical software - I suggested[1] to make a Julia flavor of Biostar Handbook[2], an amazing introduction into the field of bioinformatics and genomics from the Biostars[3] Q&A site authors. Porting algorithms to Julia will greatly improve the speed and maintainability of corresponding programs.

[1] [https://discourse.julialang.org/t/biostar-handbook- computati...](https://discourse.julialang.org/t/biostar-handbook- computational-genomics-and-julia-to-be-or-not-to-be/25732)

[2] [https://www.biostarhandbook.com/](https://www.biostarhandbook.com/)

[3] [https://www.biostars.org/](https://www.biostars.org/)

</comment><comment><USER17> Great article, thrilled to see PIs coming out and saying explicitly that the funding agencies are making a huge mistake funding discovery-driven science at the cost of long-term production work.

</comment><comment><USER18> Determining worthiness of projects to fund is a really difficult battle. Do you go based on popularity? Importance? If something is worthy, how much is it funded? For how long? Who is paid to do the work?

Even other projects that tried to address this like the Core Infrastructure Initiative seem to have unintended consequences. For example OpenSSL got CII funding, then used some portion of that to relicense as Apache 2 which breaks compat with the more free LibreSSL fork, weakening the overall community.

</comment><comment><USER19> if people paid the price of a coffee for good software, post-docs could attach themselves to a research group and fund themselves by maintaining quality software products - freelance scientist FTW.

the problem here is that lots of people want _other_ people to work for free. if you're not being paid, it's a hobby and you don't owe anyone anything. if the science system relies on free labour and refuses to support it, that's a very different conversation and the results are predictable.

</comment><comment><USER20> "...Scientists writing open-source software often lack formal training in software engineering, which means that they might never have learnt best practices for code documentation and testing..."

This is the most ridiculous statement. I had chance to work in either environment. Having that experience for the quality of the end result I will take scientist (preferably physicist or mathematician) with self taught software development skills over formally trained agile guru any time.

Of course there are exceptions but ...

<comment><USER21> I have the exact opposite opinion, plus my cousin is a robotics/ML professor who has to deal with this same issue in his research group.

Indeed, tons of scientists really have no idea about style, testing, etc. They're happy to just write an imperative C/C++/Python program with no docs whatsoever, run it, and be done with it.

<comment><USER20> I was talking about scientists who switched from science to writing software as a product for whatever reason. They surely produce good docs (properly documenting their work is the very basis of being scientist).

As for writing imperative code in C/C++/Whatever other language they seem to choose: nothing is wrong with that.

<comment><USER8> Writing medium-sized amounts of imperative code is wrong if it is going to be shared with any other person than a single developer writing it. And even if only a single person will ever see it, you are still better off writing it in components once the project reaches a certain size.

<comment><USER20> Imperative programming and components are 2 different things. The latter could be implemented with numerous approaches including imperative programming

<comment><USER8> That's true, but when someone mentions writing something in an "imperative style" I think it's common for that to actually just mean one huge file that executes sequentially which is not amenable to testing, having someone else working on a different part of the code without running into lots of merge conflicts, makes it very hard to refactor, etc.</comment></comment></comment></comment></comment></comment>