How Well Do We Understand Probabilities in Medicine? (2016) - <AUTHOR> https://psychscenehub.com/psychinsights/well-understand-probabilities-medicine/ <comment><USER2> Reading some comments in this thread you might think physicians are unable to apply Bayesian statistics to medical care. As a physician myself, I'd encourage a more considered line of thinking.

Clearly, physicians here failed to calculate an exact positive predictive value in the example. The question is does that inability affect their 1) medical care delivered and 2) communication with the patient and the patient's own informed decision-making.

In speaking to 1-- there are many examples to choose from from probably any medical specialty but let's stick to breast cancer screening since that's the example from the article. USPSTF presents their recommendations[1]. I'd encourage anyone with interest to at least skim the rationale presented on the page below those recommendations. They very well consider prevalence as well as efficacy of specific tests given the presence of different risk factors in a patient (age, family history, etc). Importantly, those and many other screening guidelines are applied by primary care physicians who may not otherwise be able to calculate exacting probabilities.

[1] [https://www.uspreventiveservicestaskforce.org/Page/Document/...](https://www.uspreventiveservicestaskforce.org/Page/Document/RecommendationStatementFinal/breast- cancer-screening1)

In speaking to 2-- patient autonomy of course requires an appropriate understanding of the tests they receive, any risk to those tests and the benefits and harms of true positives, false negatives, etc. The associated frequencies, albeit with some degree of imprecision are avaialble by reference and I'd suspect they're memorized by most radiologists reading mammograms and the breast surgeons involved in tested positives-- even if they may not be able to calculate them. If the doctor doesn't have them memorized-- they should be available by referencing the relevant guideline.

<comment><USER3> I've never once in my life been able to give real informed consent to a physician, because I've never had one able to inform me quantitatively of the risks and benefits of accepting or refusing treatment. So like, I assume, everyone else I pretty much just have to take what the doctor says on blind faith. Since the vast majority of physicians are good people who actually want to help their patients, I'm not entirely uncomfortable with this, but it's still troubling given how many people die every year as a result of interventions or complications thereof.

<comment><USER2> I too wish everything in medicine was cut and dry. But oftentimes precise numbers are unavailable. More qualitative reasoning such as "high risk," "serious morbidity or mortality" is usually given in medical assessments. Plans are developed based off that assessment. Doctors and patients routinely make well-considered decisions and get consent knowing that exact numbers aren't known. On the other hand, many treatments (pharmaceuticals and screening being 2 major ones) are backed by very reliable studies where numbers are known.

<comment><USER4> Yet the point is that even when the numbers are absolutely clear cut and are more than relevant to medical decision making, doctors' training doesn't help them reason their way out of a wet paper bag. They're hopeless even when they're provided with a problem that has the equivalent of training wheels and handrails.

</comment></comment></comment></comment><comment><USER5> BSEE and MSEE with 8 years of heavy math and the fact that I still have to read the solution slowly and not really get it scares the bejeezers out of me.

<comment><USER6> This is a little surprising to me. I was required to take a probability class for my BS in electrical engineering, and a version of this problem was a homework question.

<comment><USER5> Funny you should call this out: As an undergrad I got to choose between a prob & statistics path and a complex math / advance calc path. I took the complex math path. However, I was required to take a semester on engineering methods that touched on statistics, but that was part of one semester. As a grad student, I went down the numerical methods path for parallel computing. Not as many classes as undergrad, but still.

College: RPI. Graduation year: '91.

</comment></comment></comment><comment><USER7> Bit annoying that this article hat-tips Taleb, when Gerd Gigerenzer has been doing this better and for longer.

This book is a good introduction, includes a lot of anecdote from different health care professionals across a range of different testing (including cancer and HIV), and mentions the research across different health care professionals.

[https://www.amazon.com/Reckoning-Risk-Learning-Live- Uncertai...](https://www.amazon.com/Reckoning-Risk-Learning-Live- Uncertainty/dp/0140297863/)

Here's an extract: [https://imgur.com/zO4zkl4](https://imgur.com/zO4zkl4)

</comment><comment><USER8> This topic comes up here periodically, and I've linked to these articles before, but it's probably worth doing so again for those interested. I am a physician who was also puzzled by these matters, and wound up inventing a simple diagram that I use as a mental "widget" to manipulate the ideas of the 2x2 table in my head. The full text articles can be found at: [https://www.researchgate.net/profile/Kevin_Johnson40](https://www.researchgate.net/profile/Kevin_Johnson40)

P.S. I'd love to have someone animate this in Javascript!

<comment><USER8> The code for an R version of this is on Github at [https://github.com/two-by- two](https://github.com/two-by-two)

There is a limited demo there as well.

</comment></comment><comment><USER9> I always wonder the pros/cons of getting tested for no specific symptom... anxiety.stress.costs of false positives could be enormous.

There's even a book & several articles out there arguing that getting tested for cancer might be a bad idea: [https://www.theatlantic.com/health/archive/2015/06/should-I-...](https://www.theatlantic.com/health/archive/2015/06/should- I-get-tested-screened-for-cancer/397100/)

</comment><comment><USER10> Science, Statistics and Lies [https://en.wikipedia.org/wiki/Lies,_damned_lies,_and_statist...](https://en.wikipedia.org/wiki/Lies,_damned_lies,_and_statistics)

</comment><comment><USER11> Sadly unsurprising. I remember reading a conversation on Twitter where a psychologist wrote openly "I don't use statistics because I have an analytical orientation".

</comment><comment><USER12> I find it ironic that this article is posted on a website aimed at the mental health industry. The actual challenge faced by mental health practitioners is with the futility of their approach.

I met a young man (early 20's) who'd recently arrived in town for the purposes of "recovery". Having learned something about people's problems with self- medicating I asked, "People usually know when their problems with substances started. When did it start for you?"

He instantly said that when he was in third grade his teacher thought he was disruptive. Parents took him to the doctor, who prescribed medication. When he got to 9th grade he gave his parents an ultimatum: "if you don't take me off these drugs, _I 'm going to kill myself._" His parents promptly took him off the drugs that didn't address the boredom he'd experienced in his suffocating 3rd grade classroom, and that's when he started self-medicating with whatever he could get his hands on.

The DSM is the mental health industry's guide to help practitioners precisely diagnose symptoms. The problem is the industry frequently jumps to treatment without concern as to the cause of the patients' symptoms.

Court-ordered treatment (aka "assisted outpatient treatment") is where the mental health industry decides to force a patient to take the drugs they think they need. I have the affidavits that were filed against my friend. They say, essentially, "Patient expects us to believe that her symptoms are related to consuming 2 bottles of liquor a day. She is clearly in need of court-ordered treatment because she does not believe that she has a chronic condition. We know that she has a chronic condition because she's had two previous orders for treatment. She took herself off our forced services 4 years ago, and here she is again."

Before this went down, I'd decided that my friend's substance abuse problems were related to her having been adopted, exposed to meth amphetamine as a pre- teen, having "lost her future" at 16 years old when she was expelled for self- medicating with what is now approved as a breakthrough therapy for PTSD (MDMA), and having been injected with a prescription endocrine disruptor [0] with the black-box warning of "cortisol deficiency" at 18 or 19 years old. This "birth control" drug is known to make some women suicidally-depressed. Cortisol deficiency is now associated with psychosis. My friend allowed that maybe the injections took her from "drug abuser" to "drug addict".

[0] [https://en.wikipedia.org/wiki/Depo- Provera](https://en.wikipedia.org/wiki/Depo-Provera)

In the world where mental health professionals address causes rather than symptoms and treat conservatively when the causes of a condition are unknown, those doctors would have recognized my friend's presentation as a form of substance-induced psychosis [1], and provided support to help her sober up.

[1] [https://en.wikipedia.org/wiki/Substance- induced_psychosis](https://en.wikipedia.org/wiki/Substance-induced_psychosis)

Rather than provide rational treatment, they just force her to take "anti- psychotics" in the delusional belief that their drugs (rather than sobriety) are what allows my friend to be functional. At one point they thought she needed two different drugs. My friend explained her presentation as, "I'm sorry, these drugs make us slow".

Every medical specialty has practices that aren't actually justified by the findings of science. I believe Psychiatry is the most important of the medical specialties, but the path "mainstream" practitioners has taken since the 1950's has been a mistake: most psychiatric drugs are just modern FDA-approved "patent medicines" [2] that don't actually address the causes of the patient's symptoms. While some people like their psych drugs, they'd probably do much better with more scientific approach to their complaints.

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

<comment><USER13> _Rather than provide rational treatment, they just force her to take "anti- psychotics" in the delusional belief that their drugs (rather than sobriety) are what allows my friend to be functional._

My best friend's father is a paranoid schizophrenic. Antipsychotic medication allows him to live a relatively normal life.

<comment><USER12> > My best friend's father is a paranoid schizophrenic. Antipsychotic > medication allows him to live a relatively normal life.

How do you know that it's the medication that allows him to "live a relatively normal life", and not the other factors?

If you want to trade anecdotes... My other friend's father fell out of a tree and broke his back when she was a child (iirc). Some time later they decided he was a "schizophrenic". He's been on antipsychotics ever since. His condition has spiraled downward over the subsequent years. Last I heard he was full-on crazy. If the doctors had provided supportive treatment instead of suppressive, his life trajectory would have been totally different.

My aunt's good friend had a "psychotic break" soon after her husband died unexpectedly. The friend was put on "anti-psychotics". She's now dying of liver failure, certainly as a consequence of her long-term drugging.

The ugly truth about so-called "antipsychotic medication" is that the class is palliative rather than curative, and actually causes the deterioration it supposedly treats.

Robert Whitaker makes the case that medications turns people's "episodes" into chronic conditions: [https://www.madinamerica.com/2016/07/the-case-against- antips...](https://www.madinamerica.com/2016/07/the-case-against- antipsychotics/) and [https://www.madinamerica.com/2018/03/a-tale-of-two- studies/](https://www.madinamerica.com/2018/03/a-tale-of-two-studies/) and [https://www.madinamerica.com/2017/09/thou-shall-not- criticiz...](https://www.madinamerica.com/2017/09/thou-shall-not-criticize- our-drugs/) , for example.

<comment><USER13> I dislike exchanging anecdotes too. If you can point me to a treatment for schizophrenia tested in quality randomized trials with the success rate of antipsychotics (which still have a very poor success rate), please do.

<comment><USER12> _Mad in America_ makes reference to an approach to psychosis from Finland called "open dialogue". [http://psychrights.org/Research/Digest/Effective/OpenDialogu...](http://psychrights.org/Research/Digest/Effective/OpenDialogue2yfollowupehss0204.pdf)

It was recently re-established that psychosis is linked to cortisol deficiency: [https://psychcentral.com/news/2016/06/04/low-morning- cortiso...](https://psychcentral.com/news/2016/06/04/low-morning-cortisol- levels-linked-to-psychosis/104266.html) \- the first such linkage was in the 1950's, but this observation was never put to mainstream use.

Psychosis is fundamentally a condition of metabolic stress. Vitamin B-3 (niacin/niacinamide) was found to help patients recover: [https://riordanclinic.org/2014/11/niacin-and- schizophrenia-h...](https://riordanclinic.org/2014/11/niacin-and- schizophrenia-history-and-opportunity/) [http://orthomolecular.org/resources/omns/v13n23.shtml](http://orthomolecular.org/resources/omns/v13n23.shtml) [http://orthomolecular.org/resources/omns/v10n18.shtml](http://orthomolecular.org/resources/omns/v10n18.shtml)

> If you can point me to a treatment for schizophrenia tested in quality > randomized trials with the success rate of antipsychotics (which is really > miserable), please do.

It will be 15-20 years for a randomized trial initiated today to get such a result. Who would pay for such studies? The businesses who've been making $billions on their FDA-approved drugs for decades? The status quo defends itself, and refuses to admit they made a mistake in forcing palliative treatments on vulnerable patients.

<comment><USER14> As I'm sure you're aware, there's a thing called the Dunning-Kruger effect, which predicts that people with less knowledge are more confident in their grasp of the situation than people who really do know what's going on. Reading your comments makes me wonder if perhaps you might want to reflect on whether you've seen 10,000 psychiatric patients on the in-patient wards. If not, I'm guessing you may want to revisit the possibility that the thousands of psychiatrists and nurses on the floors, who have invested their lives in caring for the sick might have a better appreciation for the signal-to-noise ratios that matter in the present topic of discussion.

It seems you consider yourself wise. If that's true, I suspect you will recognize the value of at least projecting humility in the face of the cummulative lifetimes of effort others have invested in a problem.

<comment><USER12> The opposite side of Dunning-Kruger's coin is that "competent students tended to underestimate their own competence" [0]. I have no idea where I fall on the spectrum, I just try to be observant. I read books, and check references when it seems important. The science library at the nearest State University is quite useful for this purpose. I'm working on a model to help me understand what's going on. There are lots of holes in my model, and I'd certainly take myself straight to the hospital if I sustained a sudden injury (broken bone, etc).

[0] [https://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect#...](https://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect#Later_studies)

I have videos from 2 weeks before my friend ran out of alcohol that show she was not psychotic when on her maintenance dose of alcohol. She was with me the weekend her mother said she "disappeared" \-- I'd encouraged her to call her mother, but she did not do so. She ran out of alcohol when I took her home. She called me the next morning. I knew something was happening, but I didn't know anything about "psychosis" at the time. If I'd known then what I now know about withdrawal psychosis, I'd have called her mother right away...

I have the affidavits from the hospital's application for court-ordered evaluation, and the psychiatrists' affidavits from her first prosecution for having a "persistent or acute disability" (ambiguity in statute), even though the statutes distinguish between "mental disorders" and conditions resulting from "drug abuse, alcoholism or intellectual disability." I witnessed her deterioration while getting the finest of the mental health industry's standard of care. I drove five hours to retrieve my friend the day after she was released from a "stabilization" that left her more delusional at the end of the week than at the beginning.

There is a resistance against conventional psychiatry because of the field's long history of harmful treatment: Lobotomies, water torture, palliative medications, [edit: electrocution], etc. Robert Whitaker examined the predicament of the "mentally ill" in his first book, _Mad in America_ : [https://books.google.com/books?isbn=0786723793](https://books.google.com/books?isbn=0786723793)

The tragedy of the situation is that the Quakers figured out how to compassionately care for people while they had mental episodes (Ref: Whitaker's book). This was without the benefit of the sciences' contributions to humanity's understanding of our condition. Furthermore, 20th Century Science figured out the physiological considerations behind most so-called "mental" conditions. For some reason, psychiatry didn't incorporate these findings into clinical practice. Whitaker makes the case that psychiatry has been compromised by profiteers in the drug industry in his third book, _Psychiatry Under the Influence_ : [https://books.google.com/books?isbn=113751602X](https://books.google.com/books?isbn=113751602X)

People have rights, even people who are declared to have a "mental disorder", but most such patients have trouble asserting their rights on their own. I had a breakthrough last month, and am now confident that my last 3 years of efforts have not been in vain.

Thank you for reminding me of the importance of humility.</comment></comment></comment></comment></comment></comment></comment>


Exploring ReasonML and functional programming - <AUTHOR> http://reasonmlhub.com/exploring-reasonml/ <comment><USER2> Someone will have to explain why I might pick ReasonML over Elm for front-end development. Elm's community seems very focused on making front-end development as intuitive and hassle-free as possible. ReasonML seems like Facebook just wanted to leverage a pre-existing community but couldn't bring themselves to adopt the syntax so rewrote it in-house.

<comment><USER3> ReasonML has a much more advanced module system via Functors. As far as I know Elm has nothing like this. Despite a fair few arguments over incorporating type classes into Elm, the creator is pretty dead set against the idea.

This does make Elm a lot more approachable, but after a while can feel quite restrictive.

There is bucklescript-tea, which is the Elm architecture in for Bucklescript (and thus also Reason). It is pretty much an exact match, so technically there isn't really anything you are missing out on by going with Reason. In reality the Elm community is more mature which means there is more documentation and libraries available. However bucklescript does interface to javascript a LOT easier - which does open up a much wider ecosystem of javascript libraries.

<comment><USER4> > Elm community is more mature which means there is more documentation and > libraries available

There's some excellent libraries but the Elm documentation is terrible compared to Reason.

<comment><USER5> Agreed, I love Elm but the lack of documentation was a pretty big hurdle for me. Especially because I came from using elixir/phoenix on the backend which I found had excellent guides and docs (for language, framework and most packages).

</comment></comment></comment></comment><comment><USER6> Rauschmayer is a good writer - He's been running a great JS blog for many years ([http://2ality.com/](http://2ality.com/))

</comment><comment><USER7> Maybe not the right place to ask, but "Better standard library" appears in the section detailing future improvements that ReasonML might bring to the OCaml ecosystem. How do they plan on doing this, given that the major standard library camps seem relatively entrenched in OCaml today? Which one does the ReasonML community favor/intend to contribute to?

<comment><USER8> Base[1] is a good candidate for an OCaml standard library. It's got tons of functionality, results in binaries with small footprints, is cross-platform, and has a fairly stable API. It's also code that has been and continues to be battle tested every day in production systems at Jane Street. I'm biased, as I'm one of the maintainers, but trust me it's good, it's good.

[1]: [https://github.com/janestreet/base](https://github.com/janestreet/base)

<comment><USER9> How does Base compare to Core?

[https://github.com/janestreet/core](https://github.com/janestreet/core)

<comment><USER10> Seems like Core depends on Base ([https://github.com/janestreet/core/blob/master/core.opam](https://github.com/janestreet/core/blob/master/core.opam))

</comment></comment></comment></comment><comment><USER11> FYI for anyone who was fuzzy on the license/patent situation with the project:

[https://github.com/facebook/reason/commit/e8fb73ec6ff7c31367...](https://github.com/facebook/reason/commit/e8fb73ec6ff7c3136715a3c628769e3d5906c4f0)

(As of 12/2017, relicensed to straight MIT from BSD+patent.)

Rauschmayer's work here makes me interested in the language and motivated to learn it. After reading more, only wish I'd explored for a recent project where I was working to implement a lot of functional patterns in native JS.

Any thoughts about ReasonML vs "straight" OCaml? (Or does that question even make sense?)

<comment> aaron-lebo Someone can correct me, but Reason is just a syntax on top of Ocaml's compiler. Bucklescript and Reason even share the same site design. there's not much of a choice beyond what you like more, as they use the same libraries, tools, etc.

Does anyone know where this new wave of interest came from?

<comment><USER12> Community. The Reason team focused on building it, and neatly embraced and nurtured BuckleScript in the process. It's a symbiotic relationship and the community has a reputation for being very newbie-friendly to boot.

</comment></comment></comment><comment><USER13> How would you compare ReasonML with ClojureScript, why or when should one be used over the other, what are the strengths and weaknesses of each in areas like JS interop, productivity, maintainability, creative prototyping and exploring, and so on?

</comment><comment><USER14> This man is a machine.

Love his stuff!

Now async/await and Reason is good to go ;)

</comment><comment><USER15> Why should someone unfamiliar with functional style programming be learning ReasonML rather than say, something like, haskell? Looking for concrete, technical answers.

<comment><USER16> I view this as more of a general, why should somebody learn Ocaml instead of Haskell?

There's a couple of reasons. #1. Ocaml's type system is nearly as expressive as Haskell's and includes several features that Haskell's does not. Polymorphic variants and functors being notable ones.

#2. Laziness is very hard to get right in practice. I'm sure Haskell enthusiasts will not be very happy with that statement, but I think it's true. It's the reason why one of the biggest users of Haskell (and the most notable example of Haskell in industry), Standard Chartered, uses their own Haskell compiler that's strict by default.

#3. Less productive in practice. For example, long build times are a huge problem in practice. See [https://www.reddit.com/r/haskell/comments/45q90s/is_anything...](https://www.reddit.com/r/haskell/comments/45q90s/is_anything_being_done_to_remedy_the_soul/)

for comments from the Haskell community, including GHC maintainers.

Really though, I don't think you can really go that wrong with either. Transferring from each language to the other one isn't very difficult, and they're both excellent languages.

<comment><USER16> I wrote this on my phone a couple hours ago, and I wanted to add a couple qualifiers that might be misleading to people.

Laziness being hard to deal with isn't the only reason Standard Chartered uses their own compiler that's strict by default. However, they have noted that they do think strict haskell is a lot easier to deal with.

<comment><USER17> > they have noted that they do think strict haskell is a lot easier to deal > with

That's news to me. Where did they note that? Lennart Augustsson explicitly says "I don't think strict or lazy matters that much in practice; they both work fine".

[http://augustss.blogspot.co.uk/2011/05/more-points-for- lazy-...](http://augustss.blogspot.co.uk/2011/05/more-points-for-lazy- evaluation-in.html)

<comment><USER16> I was basing off of this CUFP report regarding Standard Chartered's use of Haskell.

[http://anil.recoil.org/papers/2011-cufp-scribe- preprint.pdf](http://anil.recoil.org/papers/2011-cufp-scribe-preprint.pdf)

> Their experience with strict semantics has been positive. Particularly > useful is the ease of obtaining meaningful stack traces, tracking resource > usage, debugging and exception propagation. The chief downside of strict > semantics, in their experience, is the increased difficulty of modular > composition

FWIW, I am a bit jealous of how laziness makes it easier to achieve function composition, and that was something that I wish was easier in strict semantics.

<comment><USER17> Unless I've missed something there is no claim in that document about _why_ SCB chose Mu to be strict.

<comment><USER18> The quoted passage can be interpreted as one - presumably the implication is that it had those attributes relative to alternative semantics (and might have been expected to do so).

<comment><USER17> It's unfortunate that a short passage from an article not even written by either of the authors of Mu would be taken as evidence that SCB thought that strictness was better than laziness.

<comment><USER16> I mean, if you want a direct quote from Lennart Augustsson, here's a quick transcription of the relevant parts of the relevant video.

[https://www.youtube.com/watch?v=hgOzYZDrXL0](https://www.youtube.com/watch?v=hgOzYZDrXL0)

> So strictness is really fantastic, I must say. Stack traces work. When > something goes wrong, you can say "so you call things from there to there to > there". It's the single most time saving thing from Mu compared to Haskell, > because things do go wrong from now and then, and it's so great to know > exactly what went wrong... And strict languages have what I call resource > composition. So if you understand the complexity of 2 parts you can stick > them together and nothing weird happens. They add up. That's not true in > lazy languages. And debugging, it's sensible in strict languages. And > exceptions, they actually work! Strictness is great. It's terrible, also. So > it has nice resource composition but it doesn't compose nicely semantically. > So laziness has some good things as well. I think laziness is a much nicer > way of programming except for these pesky resources. You definitely need > some lazy functions, even C has lazy functions.

And then he goes on to talk about the ways that they allow laziness in a strict language, and when they need laziness.

Screenshots of relevant slides. Considering that the report was pretty much a summary of the talks given at CUFP, I don't know why you would cast doubt on its legitimacy.

[https://i.imgur.com/fqr5P8g.jpg](https://i.imgur.com/fqr5P8g.jpg)

[https://i.imgur.com/HieskA0.jpg](https://i.imgur.com/HieskA0.jpg)

<comment><USER17> It seems we have have got a bit off track and my quite precise claims have got lost. My claims are that

1\. It is incorrect to claim that "Laziness is very hard to get right in practice. ... It's the reason why ... Standard Chartered, uses their own Haskell compiler that's strict by default."

2\. Rather, the reason Mu is strict is that it was designed to target an existing strict runtime (I offer this claim without proof but I was told this directly by one of the authors of Mu).

3\. It is incorrect to claim that Standard Chartered "think strict haskell is a lot easier to deal with"

4\. Rather, Lennart Augustsson holds that each has their upsides and downsides. He says "I don't think strict or lazy matters that much in practice; they both work fine" and "I think laziness is a much nicer way of programming except for these pesky resources."

<comment><USER16> My claim that Standard Chartered thinks "strict haskell is a lot easier to deal with" comes from this comment from Lennart.

> If my only concern was semantics (i.e., input-output behavior) then I'd > prefer call-by-name semantics, because I think it behaves more > compositionally. But for practical concerns like resource consumption, > debugging, stack trace, etc then strict evaluation is better.

Overall though, you're right that my initial claims against strictness may have been a bit too harsh. If I could edit my initial comment, I would write something more like

> 2\. Laziness is often hard to use in practice. As Standard Chartered, a > company that uses a strict variant of Haskell, notes: space leaks, > difficulty of debugging, and hard to decipher stack traces are downsides to > laziness.

In my opinion, laziness definitely does have nicer semantics than strictness. It's more expressive and easier to compose. In practice though, I prefer strict languages mostly for the reasons Standard Chartered mentions.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER19> I'm looking for a language for cross-platform mobile app development using React/Expo. Can anyone give their opinion on ReasonReact vs Clojurescript Reframe?

I like the familiar syntax of ReasonML, but Clojurescript has LISP mojo and is more mature (more learning resources etc).

<comment><USER12> I don't know what the status of ClojureScript Reframe is, but there is an unofficial, in-progress ReasomML binding to Expo. You can contribute to that if you want [https://github.com/fxfactorial/bs- expo](https://github.com/fxfactorial/bs-expo) (note that @fxfactorial, i.e. Edgar, works at Expo but is writing the Reason binding unofficially–for now at least).

The ReasonReact binding is high-quality and provides a lot of power (state management, routing) right out of the box. You can get started with that right now if you wish.</comment></comment>


How much energy does it take to lift a squirrel on a solar sail? - <AUTHOR> http://blag.xkcd.com/2008/02/15/the-laser-elevator/ <comment><USER2> Not much, I would say about a snickers worth. Heres how...

1\. Eat Snickers. 2\. Feel Satisfied 3\. Unwrap Solar Sail. 4\. Wrap Squirrel in Solar Sail into a soccer shaped ball. 5\. Punt Squirrel. 6\. Measure Distance. 7\. Call and report your findings to PETA. 8\. Eat another Snickers.

<comment><USER3> Well 1 snickers contains roughly 1.1 megajoules. Say the squirrel weighs roughly 250 grams - I've never had the compunction to capture and weigh one - which would mean it would take 2.45 joules of energy to lift it 1 meter against Earths gravity.

With the low end of human muscle efficiency in the conversion of energy into power. Ideally you'd be able to fire the little beastie ~63km off the energy of a snickers.</comment></comment>


Sony working on PS2 emulation for PS4 - <AUTHOR> http://sparta-gaming.blogspot.com/2015/11/sony-working-on-ps2-emulation-for-ps4-2015-news-gaming-xbox360-games.html <comment><USER2> Working on? Didn't they just have some downloadable PS2 game or the other that is clearly being emulated.

Given the advance state of PS2 emulation on X86 machines(what the current gen consoles are now) I am not at all surprised at this. The Xbox one emulation of the Xbox 360 is what really fascinates me

<comment><USER3> > The Xbox one emulation of the Xbox 360 is what really fascinates me

That's nothing new, OS X ran PPC executables on X86 until recently.

<comment><USER2> I know it's not new but what makes it different is that it is not dynamic translation of some desktop application. This is very hardware specific graphically demanding "applications".</comment></comment></comment>


Launch of a multiplayer HTML5 game (Snowball fight) - <AUTHOR>

To experiment new technologies from HTML5, we recently released a multiplayer game:
http://www.leroidelagarnotte.com
It use canvas, websockets, NodeJS and CSS3.
Sorry the user interface is in french, basically its a snowball fight.
I would love feedback! <comment><USER2> Fun game!

Are you available for contracting jobs? Contact me at yosephgilad AT gmail.com if you are interested.

</comment><comment><USER3> Please don't auto publish stuff to my wall... I really don't like that

<comment><AUTHOR> Yeah.. we were thinking to remove that functionality, your are not the first one to tell us that.</comment></comment>


Who got interviewed by Highland? - <AUTHOR>

<comment><AUTHOR> Now that we know which Y combinator members were accepted into the Y combinator program, LightSpeed, and TechStars. Let's see who got into Highland. Anyone get the interview call this week yet?</comment>


Ask HN: Is age an issue? - <AUTHOR>

I am an old coder. I've being coding since the TRS80 model 1.. bla bla bla..
My question is: Honestly, in today's "hackers news" world, is age an issue when hiring developers ?
I ask not because I have trouble getting jobs (For years I've been a contractor at various Fortune 100's and I'am doing good), but because I keep getting asked crazy stuff at interviews.. like:
 "what is my favorite Java class" or What is the signature of XYZ class or the kind of stuff that my IDE does for me..
I might be suffering from early ICRS disease.. but don't see the value of memorizing ever changing API's (strut,spring,hibernate,ibatis, etc ) when google is one click away.!
Anyway.. be brutal, give me your thoughts... <comment><USER2> I'll say "sort of."

If I'm a good manager, I'll take you for who you are and evaluate you individually. I know a handful of _awesome_ coders over 50 who are awesome primarily because they a) work really hard, b) learn new stuff all the time, and c) have a ton of valuable experience.

However, _most_ of the programmers over 50 I know aren't good because they occasionally lack a), but nearly always lack b).

If I'm a bad manager, I'll likely lump you in with the majority of codgers I know and not give you a fair shake. I'm sorry, but I think most managers are bad managers, and most of the time people are going to judge you before they know you.

</comment><comment><USER3> (warning: some pretty broad generalizations ahead)

From what I've seen, it depends on the area in which you want to program. The areas that fetishize the new (for being new) have a tendency to dislike experienced/older people. Particularly noticeable amongst web frontend people I've worked with. In places with deep domain voodoo or that fetishize the better (systems, networking, and so on) old is not a barrier, and experience is valued.

As for ridiculous questions about apis... I have done well for myself by answering those types of questions with things like: "my ide does that, so I don't know" and "who cares?" -- sure I've "lost out" on a few code monkey jobs, but instead I've had some pretty cool stuff to work on.

</comment><comment><USER4> Some companies want someone who is already an expert at a particular tool. Some have good reasons for this, some bad.

Also, you'll find that a bunch of programmers these days basically consider Java to be the entire programming universe. Many of them have gone through university and several jobs without being exposed to anything else. They don't really consider the fact that could be experienced programmers who have no Java knowledge, and they don't consider it a fad or a passing thing. I suggest seeking out companies that are working with Python, Ruby, Perl, Scala, etc. - not because of the tools themselves, but because they tend to expect that candidates will be learning new tools and languages all the time.

Yes, you will probably be discriminated against by some companies. Fortunately, there are companies out there that don't. I expect the latter category will grow as the overall developer population ages. (Remember, our entire _industry_ has grown from almost nothing in just 30-40 years.) At my current company, at least one engineer is a grandfather and several people have children near my age (and I'm a parent myself).

</comment><comment><USER5> Without blathering on too much...

Yes, age is an issue.

If you are too young, there is a worry that you will be some combination of immature, inexperienced, difficult, unreliable.

If you are too old, there is a worry that you will be some combination of less productive, untrainable, unreliable, demotivated, coasting.

When dealing at either of these extremes, you may find it helpful to adjust your resume to be short with an entry at the end "further detailed experience available on request" (ie: to hide your 20 year work history, or your 5 year work history), and/or do a phone interview first (so that your apparent age is less obvious) to build interest.

YMMV

<comment><AUTHOR> Actually, I am not asking for "getting a job" purposes.. I am asking for more practical reasons. like in: what is your opinion/experience about old coders continuing to code after 50 :)

<comment><USER6> The problem can be that when your hair starts to go grey people either expect you to be some sort of certified genius or completely out of touch (granddad).

Of course in the world of blue chip consulting this can be seen as good thing. The mature / older consultant talking to the mature / older client can work wonders for a business relationship.

Small startups unfortunately can either assume that the older you are the less 'up to date' you are and that your skills and experience somehow don't translate to the hip world of the startup.

Also smaller companies expect that they will have to pay older people more than a younger person, and the truth is younger people will work for less as they have less commitments.

I am 48 and joined a small company this year. It's a relaxed place and the fact that I an nearly 20 years older than my manager is not a problem.

So it can work out.

YMMV

</comment></comment></comment><comment><USER7> Regarding the detailed questions about APIs, I think that can sometimes indicate an interviewer that hasn't really given much thought to the type of skills that are needed to do the job. I've been guilty of this myself. Asking quiz type questions that really only test the candidates ability to memorize and don't reveal anything about how they think about problems.

As I've grown in my abilities and experience it's become obvious to me that how people solve problems and if they write maintainable code is much more important than if they know some minutia about the development platform. I've worked with people that could answer all the quiz type questions, but just didn't really have the mental ability to reason about and implement an elegant solution to a complex problem.

</comment><comment><USER8> One bias that might be working against you is actually your longevity in the field. Coding turns over quickly; lots of programmers move to other fields or move up the ranks. To a lot of hiring managers, staying in the same career for a long time indicates an unwillingness or inability to try new things. For a secretary position, not such a big deal. For a fast field like programming, appearing static is definitely a problem (unless you're in a niche field).

</comment><comment><USER9> Yes, age is an issue but only at some organizations and you are probably better off staying away.

A couple of observations on interviews focussed on api's -

I do not have a problem with being asked a question on specific api if I have listed it in my skill sets. I would not expect to answer an api question on struts FrontRequestProcessor just because I have MVC listed on my resume.

Usually when I have been asked such questions, it has been when interviewing with junior to mid level programmers, all of them significantly 'younger' than me.

The older folks have all transitioned into managerial function, some of them know the engineering terms obtained from reading technical publications but have not written code in a while.

Organizations with an emphasis on such questions tend to more often than not lack an "engineering culture". Emphasis is placed on delivering requirements from a backlog rather then innovating on behalf of customers and I would stay away from them.

Age is an issue, but not at the ones that matter (to me at least)

</comment><comment><USER10> One of my most valued mentors is in his late fifties. He was easily one of the top programmers in his field at the time. He can still carry conversations with me about LISP, Fortran, and C programming as well as PHP, MySQL, and AJAX development.

He does lack in a few areas where the industry is really nascent; but for the most part he is 'caught up'. But it isn't because he memorizes APIs, it's because he as a vested interest in undertanding the _how_ and the _why_ of things; that one feature of his intellect is the most inspiring for me. He picks new languages up in days, not months, because he understands the fundamentals better than anyone I know.

Focus on the how and the why and you will have all of us youngins beat. The only reason younger people may be ahead is because we aren't "set in our ways"; unset yourself and be a bit younger. It does wonders for older people to realize that they can still have dynamic lives.

</comment><comment><USER11> I'm still a bit of a spring chicken compared to you, but my biggest stumbling block (at least in the relatively tiny technical job market where I live) is that interesting generalist jobs don't pay as well as older (i.e. not just out of college) employees are used to.

The high pay is restricted to employees of big, boring companies and the occasional startup that wants to hire a guru in some very specific narrow field.

That's not a problem in itself, but as one becomes accustomed to a higher salary, one's expenses tend to grow correspondingly: creature comforts have a way of turning into necessities, possessions accumulate in way that makes a smaller living space impractical, and dependents and stakeholders multiply.

So to the extent that you're competing on price with low-expenses no-family just-out-of-college folks, you're at a disadvantage. You need to make and keep yourself valuable in the other areas employers might look at.

</comment><comment><USER12> Age is not an issue[1]. Ability is an issue. Experience is an issue.

You could be 60 years old and have just started learning software development last year. The funny part? That still doesn't necessarily tell you much about the ability level. A year of development experience does tend to put an upper limit on how experienced you would say this hypothetical 60 year old newbie is, but it does definitely depend on his/her existing skills and education.

Or you could be Don Knuth, he's 71 right now.

Or, you could be a 60 year old who never got a good education and doesn't care to.

Knowing someone's age tells you how long it's been since they popped out of their mom. That's it.

[1]: Obviously there are people who judge based on age, regardless of legal, moral, or practical reasons not to. What I mean is that age, on its own, doesn't mean much.

</comment><comment><USER13> I'm 28. I've been working fulltime for 11 years now and make great money in the environments you describe.

I would kill to be starting out now: not for the sake of youth, but for:

* top-tier CS courses using dynamically typed langiages.

* English-like languages being considered a 'grown up' solution

* Microsoft not being seen as the solution to everything

* The end of the packaging dependency hell that a lot of Linux distros had

* Element trees for XML

* Not having to repeat the logic in my database and app,

and more.

You might not get the jobs you're applying for, but consider: do you really want to work at these places? Thousands of people in their early 20s are working at newer, large-but-rainmaker places like Google and Facebook, or starting their own great efforts, taking advantage of today's technology not yesterday's.

</comment><comment><USER14> Memorizing was important when you have no other way to document information. But I doubt it to be important when you know how to search and judge/experiment the information recently. Sometime people ask for apis just to see whether the person had experience with the technology.

At the other hand, remember important facts, theorems, plus good analytical thinking saving a lot of troubles.

What I find annoying is the education systems make most people misunderstanding 'good memory' as 'smart'. At the other hand, I see good problem solving ability as smartness. Not so many educators are as wise as Richard Feynman's father is in teaching Richard Feynman memorization is not understanding how a bird's behaviors. It is hard to teach problem solving.

</comment><comment><USER15> I don't require applicants to have memorized frameworks, APIs, and other implementation-specific details in my interviews. I ask general programming/computer science questions that get to their level of knowledge. I also have them do a programming test before they come to the interview, and allow them to do it in the language they prefer. Age generally hasn't been an issue, but most applicants are younger.

I think this will become a bigger and bigger issue as the programming industry really starts to mature and you have a large number of developers that never wanted to move into management.

</comment><comment><USER16> Age shouldn't be an issue, but it is. I've worked with many young developers that think anyone over 30 doesn't have a clue.

The real problem is that some developers over 50 refuse to learn new things, and that gives younger folks a tainted view of all older developers.

Frankly, getting older and having the potential of getting discriminated against because of my age scares the crap out of me. No way to prove they're doing it, and never to be hired again, at least as a full timer. Yikes.

</comment><comment><USER17> I'm just a college student that codes, so I don't know much about if age is an issue.

However your backing seems to be because of one specific case. Memorizing ever changing APIs. Just wanted to say I have the exact same thoughts and I'm young. I have been asked this type question. My response is usually well I'm that that familiar with this API since I don't use it, but if I where to do this with Cocoa (something I am more experienced with) I would do etc.

</comment><comment><USER18> There's advantages and disadvantages to older coders. The biggest disadvantages are that you have a family and responsibilities, and your health insurance is a lot more expensive.

If you're a great programmer, who's interested in learning new technologies, that's not such a big deal. But honestly, your "when google is one click away" comment is not signaling those qualities.

<comment><AUTHOR> Actually... if you do things right from the beginning, things like money, health insurance and family responsibilities are much more of a factor on your 30's than on your 50's (If you plan right..)

With reference to Googling stuff comment.. are you saying that you never use reference sources?

IMHO, When you have a large breath of knowledge that you need to use, it makes no sense to memorize it.

If I am supporting up a framework that uses spring, I refer to the docs once or twice, then it stays with me for the duration of the project.. six months later I am building an app using Python,mplayer,ffmpeg & wxPython and for the life of me there is now way I can tell you straight-off-my-head how to configure the hibernate SqlMapClient-what's his face thingy! give me 5 minutes, I'll look it up and i'll be done & tested in 20 mins.

I could go on and on on this to technologies that have not been used since before most of you where born.. (how many of you remember IRQ14 ?)

The point is: Some things are timeless (vi ?) and I know them solid.. some others, I refer to use and let go.

I am totally curious.. How about you guys? Do most people remember api specific stuff for ever ?

<comment><USER18> Regarding API docs, I'm certainly not saying I have all APIs memorized, or that you're approach is bad. Its just that the comment you posted sounds like past employers have asked you to learn things and you've resisted. I suppose its actually the "I don't see the value" part of that sentence that bothers me more. Also, I was saying that it sends a bad signal, not that it necessarily means you're not intellectually curious.

I absolutely agree that some things are timeless, and the breadth of knowledge an experienced programmer has is their primary advantage. It just seemed obvious, and you were more interested in disadvantages.

Anyway, just some constructive criticism from a 27-year old business owner. Best of luck.

</comment></comment></comment><comment><USER19> If you're looking for a job as a Java programmer, then I think it's reasonable for the interviewer to expect you to be able to give some sort of answer to "what is your favorite Java class". Being asked the signature of a specific method is pretty bogus, though. If you're getting a lot of questions like that, then you probably don't want the job whether you're 60 or 20.

</comment><comment><USER20> It shouldn't be, but it absolutely is.

There's a stereotype of what a "good developer" looks like and it isn't someone over 40. I also think lots of people would feel uncomfortable supervising someone much older than themselves.

</comment><comment><USER21> My TRS-80 had 4K, so the Basic language used one-letter abbreviations for all the commands. I tried learning Z80 on it, but it was a bit too tough for me; 6502 was a breeze in comparison. fwiw, stick with it if you enjoy it!

</comment><comment><USER22> I think this is a "is it a bug or a feature?" type of conversation. Some folks will see age as a bug, some as a feature.

I'm in my 40s, so I'm closer to you than the younger crowd. I've also had quite a bit of experience hiring folks, and it's never been an issue for me.

I once had a contract with a company where the average age was 24 -- and I was 32. During the interview they asked "so do you think age will be an issue?" to which I replied "Why should it? I love working with people of all ages."

I think as you get older you realize that good programming is in knowledge of general heuristics and systems, not api calls. But when you're young, everything new and shiny must be mastered to the fullest extent.

Be aware of this. Always be learning "just enough" of what is new and flashy in order to be able to develop with it (or look it up and develop with it) quickly if need be." If you stop learning at the deeper-than-superficial-but- not-guru level, it's not going to work.

Having said all of that, I think age, as long as you are self-motivated, is a feature and not a bug. If your head is still in the game, you're going to bring a lot to the table in terms of tacit knowledge. Having somebody who has been-there, done-that can be a great boon to a team working in tough situations.</comment>


Lean UX Anti-Patterns - <AUTHOR> http://www.slideshare.net/billwscott/lean-ux-antipatterns

<comment><USER2> UX stands for User Experience, yet that slide deck seems to be missing an emphasis on the user. The PayPal team could learn a lot by getting outside of the building to help actual users. Discussion boards have hundreds of users asking for features such as easier refunds, counterfeit protection, customer service chat, and ways to unfreeze locked accounts.

</comment><comment><USER3> This looks more like an excellent enumeration of cargo cult concepts from Lean and Agile. Seems to have little to do with UX though. Two-pizza teams? Silos? Tribes? You could completely fill an "Agile" buzzword bingo card with this presentation.

Putting the word Lean in front of your team's process doesn't suddenly make you experts in customer development or eliminating waste. Any more than putting UX after it will make them understand usability, or user centered design process.

These things are in fact hard to do and hard to learn, they require a constant practice and measurement of results. It is far harder than most people ever give credit for. Saying you're "up-ending company culture" (a physical impossibility in my opinion) and going "full bore" on lean, agile, fill-in- the-blank, then sending your teams some blog posts to read, and a presentation of "anti-patterns" to watch is pretty much the textbook definition of a cargo cult.

</comment><comment><USER4> Nothing like that happens at PayPal. Don't know what was being smoked when that slide was created. I assume that it is part of the new 'it is all marketing, dummy' initiative.

<comment><USER5> If true, that's a pity.

</comment></comment><comment><USER6> The slide design is unreadable. Is this intentional?

<comment><USER7> This is a textbook case of bad design. The irony is off the charts since the slides are on good user experience design.

<comment><USER8> Calling it ironic would be a stretch - It's certainly humorous in context, but I definitely wouldn't expect anyone involved in software development, testing, design, or project management to waste their time making sure an in-house Powerpoint deck is designed to perfection.

<comment><USER9> > waste their time making sure an in-house Powerpoint deck is designed to > perfection.

This is the problem, though. Black text in a standard font on a white background would be far more readable than the strange mess they've gone with.

Putting zero effort into it produces results that are superior to when you try a little but don't know what you're doing.

</comment></comment></comment></comment><comment><USER10> Original post: [http://looksgoodworkswell.blogspot.it/2012/06/anti- patterns-...](http://looksgoodworkswell.blogspot.it/2012/06/anti-patterns-for- lean-ux.html)</comment>


Cuba's sonic attacks show how susceptible our brains are to mass hysteria - <AUTHOR> https://slate.com/technology/2018/02/cubas-sonic-attacks-show-us-just-how-susceptible-our-brains-are-to-mass-hysteria.html <comment><USER2> This is NOT symtomatic of sonic effects, it fits perfectly Microwave effects.</comment>


Show HN: GitHub Code Review with Emacs - <AUTHOR> https://blog.laurentcharignon.com/post/code-review-in-emacs/ <comment><USER2> Thank you! I couldn't manage to do GitHub stuff within eww too effectively (and eww is at best a hack).

</comment><comment><USER3> Awesome! Plugins like this make me want to make the switch to emacs from vim sooner than ever.</comment>


Spacewalking Astronauts seen from Earth - <AUTHOR> http://www.wired.com/wiredscience/2009/12/a-spacewalk-as-seen-from-earth/

<comment><USER2> Which is fascinating but tells you first and foremost that the ISS is practically in our front garden (300 km up, that's less than one thousandths the way to the moon).

</comment><comment><USER3> Just a reminder: <http://news.ycombinator.com/item?id=946274>

</comment><comment><USER4> enhance</comment>


Trump administration pulls funding for drive-through Covid-19 testing - <AUTHOR> https://arstechnica.com/tech-policy/2020/04/trump-admin-pulls-funding-for-drive-through-covid-19-testing/ <comment><USER2> Idk about other areas, but the SF positive rate is under 15%. Maybe they're just not testing anyone but Medical personnel. Would seem you'd want to test EMTs, nurses and doctors in wards every few days that must be 100's alone.

[https://data.sfgov.org/COVID-19/COVID-19-Tests/nfpa- mg4g](https://data.sfgov.org/COVID-19/COVID-19-Tests/nfpa-mg4g)</comment>


ICanHasCheezburger's Porad: A 'lazy, messy, backwards' way of creating a startup - <AUTHOR> http://www.techflash.com/I_Can_Has_Cheezburger_at_Startpad_46801842.html

<comment><USER2> As noodle said, the link is broken and 404s on click. Specifically, it seems to be doubled (copy and paste mistake?). The proper link is half of what's there now, i.e. [http://www.techflash.com/I_Can_Has_Cheezburger_at_Startpad_4...](http://www.techflash.com/I_Can_Has_Cheezburger_at_Startpad_46801842.html). It works just fine.

</comment><comment><USER3> link is broken</comment>


Serverless QBasic - <AUTHOR> https://psuter.net/2018/07/15/serverless-qbasic <comment><USER2> Fun article! I've gotta give this a try myself.

On a related note (of using BASIC where it doesn't belong), I hacked together a method to convert BASIC code to WebAssembly using BaCon[0], a BASIC-to-C converter, and Emscripten to take the resulting C output and generate some wasm.[1] Much like the linked article, this is a fun diversion to entertain the idea of using BASIC where the language authors couldn't possibly have imagined it. Perhaps I'll get around to actually making a "real" project out of it sometime...

[0]: [http://www.basic-converter.org/](http://www.basic-converter.org/)

[1]: [https://github.com/matthewwiese/basic-to-c-wasm- example](https://github.com/matthewwiese/basic-to-c-wasm-example)

<comment><USER3> This is really interesting, thank you! I've been working the last couple of days on getting an old type-in game working and I had some vague thoughts about it being fun to somehow make it playable on the web. I'd have to convert it from Microsoft BASIC to the dialect BaCon uses, but that's definitely an option. Another option I've considered is to see about getting cbmbasic[0] running using a JS terminal emulator. And of course it might be a fun exercise to just convert them by hand to JS or what have you.

[0]: [https://github.com/mist64/cbmbasic](https://github.com/mist64/cbmbasic)

<comment><AUTHOR> It is my understanding that QB64 [1] compiles through C++, although I haven't tried it myself. They in theory support a superset of QBasic, and you could compile the C++ generated files using emscripten (again, in theory).

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

<comment><USER4> They are active on Twitter as well, [https://twitter.com/QB64team](https://twitter.com/QB64team).

</comment></comment></comment></comment><comment><USER5> It's slow. All those layers of abstraction exact their toll on latency, even on today's monster systems.

Reading the essay, my heart goes out to the author: he missed all those wonderful years in the '80's and the early '90's cracking protections, swapping, coding intros, watching demos and competing on the Commodore64, Commodore Amiga and the ATARI ST. He missed out on all the wonderful memories and all the action. I'm saddened by it. He started out on an obscure platform and then switched immediately to a drab, boring, soulless PC bucket, never to experience the joy of the Scene.

For me writing software in BASIC under MS-DOS and later on Windows® was an afterthought, since I had already been proficient in MC68000 and MOS 6502 intro coding on Amiga and Commodore64. It was easy to do since I stumbled upon the complete, official reference manual on BASIC 3.0 from Microsoft and I already knew BASIC from learning it on the Commodore PLUS/4\. The only piece of software I wrote was an ASCII survey points file to DXF converter which I then ported to VisualBASIC 2.0, and that because I also had the full AutoCAD book set which included full DXF format specification. It cut down our work from several hours to a few seconds, but BASIC on the PC had always been an afterthought for me, something I knew but never used much, or something to whip up a quick utility in and run it from a batch file wrapper.

<comment><USER6> The Rust Evangelism Strike Force has nothing on the remnants of the once- mighty civilization from the Lost Continent of Amiga. "Oh, you poor benighted soul, how I pity you. Do you not know that the gods spoke in 68000 assembly? If you've never programmed the Copper via a DMA transfer in response to a raster interrupt, then my friend, _you haven 't truly begun to live._"

<comment><USER7> I was firmly on the side of Atari ST, but I can't help but agree with you on this.

On the Atari side:

Switching screen refresh times in the middle of the line in order trick the graphics chip to not draw the border so you can fill the entire screen with graphics is something every developer should have done, the Amiga with its fancy copper didn't need this.

<comment><USER5> I have both, two Amigas and an ATARI Falcon 030. Do you know of any good hardware reference manuals for the ST?

<comment><USER7> The one that was the go-to manual back in the days was the Atari Compendium. I still have the book on my shelf.

I have seen digital versions (scans, I guess) floating around online. I don't know how complete they are.

There is still a demoscene for the Atari, although it's of course much smaller these days. You can find some pointers on our group's website: www.dhs.nu

<comment><USER5> Wait, you're from the Dead Hackers Society? Holy #$%*!, you guys are legends on the ST!

<comment><USER7> Yes, that's where my nickname comes from. :-)

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> Thanks for this fun article :) I noticed your serverless function response time is between 2000 to 3000ms, I wonder why and it would be super interesting to have more details about time taken by each step of the process (python proxy / dosbox / qbasic / openwhisk)

Point of comparison, nodejs function executed on AWS Lambda: [https://00demo-32387b.appdrag.com/api/Morse?txt=SOS- Test](https://00demo-32387b.appdrag.com/api/Morse?txt=SOS-Test)

<comment><AUTHOR> Thank you!

On a "warm" invocation, almost all the time goes into DOSBox + QBasic.

Not precise measurements but: on my MacBook Pro, running the QBasic interpreter from within DOSBox consistently takes about 1.5 seconds & running DOSBox + QBasic from the shell in "headless" mode takes about 2.4 seconds.

OpenWhisk also gives me the logs of the invocations, which include debug lines produced by DOSBox, and from the timestamps in those I can tell that invocations do typically spend >2s running DOSBox.

</comment></comment><comment><USER9> > While Microsoft did have a compiler for the language, I couldn't easily find > a version of it online.

I have archived the QuickBASIC 4.5 compiler here: [https://github.com/susam/dosage/tree/master/langs/qb45](https://github.com/susam/dosage/tree/master/langs/qb45)

The above archive is obtained from here: [https://www.qbasic.net/en/qbasic- downloads/compiler/qbasic-c...](https://www.qbasic.net/en/qbasic- downloads/compiler/qbasic-compiler.htm)

<comment><USER10> [http://www.antonis.de/qbdown/qbcompil.htm](http://www.antonis.de/qbdown/qbcompil.htm)

<comment><USER9> I see a few problems in the QuickBasic 4.5 (English) distribution available at antonis.de.

\- The BRUN45.EXE file in QB_4_5_E.ZIP is the German version one whereas the other files in this ZIP are the English version ones.

\- The original directory layout of QuickBasic 4.5 (INC/, HLP/, LIB/) is missing although all the important content from those directories are preserved in the top-level directory.

\- The content of the INC/EXAMPLES/ directory is missing too.

The original distribution is much better preserved at the www.qbasic.net URL I shared earlier. It also contains the English version of QBasic 1.1 interpreter.

</comment></comment></comment><comment><USER4> This is amazing! I have an old copy of GW Basic. Maybe it's worth an experiment to do the same with an even older interpreter for the fun of it!

<comment><USER11> Doing the same w/ GWBASIC ought to be pretty straightforward. It returned back to the OS via the "SYSTEM" statement. Back in the "day" before I had the QuickBASIC compiler I would invoke GWBASIC programs from batch files in a similar manner, pulling input from STDIN and outputting to STDOUT.

</comment></comment><comment><USER12> Awesome! Memories of "hacking" that gorillas-throwing-bananas game to mess with the physics, probably around 1995.

</comment><comment> le-mark This is very cool. I've often wished I could return to my roots of simply programming, and not being a server admin and dba. Am I the only who wishes we could deploy things like BASIC applications to a runtime in the cloud and be done with all these layers of abstraction and incidental complexity?

<comment><USER13> I get the nostalgia, but even though I started with BASIC (Applesoft BASIC as an 8-year-old in 1988), I wouldn't want to go back there. Structured, object- oriented, event-driven, and functional programming are all truly useful. Trying to choose the modern programming language with the least incidental complexity is enough IMO.

Furthermore, the UI facilities that early microcomputer BASICs provided would not be acceptable today. The graphics of the Apple II or QBASIC might be cool for a retro game, but you wouldn't want to develop a real application that way. For one thing, such applications were inaccessible to blind users with the primitive screen readers that existed back then, and today's screen readers would do no better. And a text UI with PRINT and INPUT would be accessible but even more retro. So even if you wrote an app in BASIC and deployed it to a cloud platform, you'd somehow have to use a modern platform like the Web for your UI. Unless, of course, you want to develop a retro game, and that might indeed be a fun side project.

<comment><USER14> A web-based Apple Basic emulator can be found at:

[http://www.calormen.com/jsbasic/](http://www.calormen.com/jsbasic/)

I taught some intro programming to my kid using this.

<comment><USER14> Source-code to draw a hamburger:

       70 REM draw hamburger

       80 HGR2:HCOLOR=5

       100 for t = 1 to 50 step 0.01

       140 x = Sin(Tan(t))

       160 y = Cos(t)

       180 xp = (x * 50) + 150

       190 yp = (y * 50) + 100

       200 HPLOT xp, yp TO xp, yp

       300 next t

</comment></comment></comment></comment><comment><USER15> The suggestion to "use SYSTEM instead of END" is suspicious.

SYSTEM spawns the system shell as a sub-process. If one would EXIT from the spawned command.com/cmd.exe, QBASIC would pop up back. I think a user of programs written in this way would find themselves surprised.

<comment><USER16> This is not true, system quits basic. In gwbasic this was unconditional since there was no ide, in qbasic it works if you used /run to start the program right away, otherwise system is equivalent to end and just drops you back into the ide.

</comment></comment><comment><USER17> Looks like a fun project. :)

</comment><comment><USER18> Describing a laptop from 1994 as "a netbook before there really was a net" —- I don't get.

<comment><USER13> Back then, they called it a subnotebook, and it was plenty useful offline. My Contura Aero (in 1994-95) had a 486 (SX I think, 25 or 33 MHz), 4 MB of RAM, and a ~170 MB hard drive. The 3.5" floppy drive was indeed connected via PCMCIA. Its primary purpose was taking notes in class and doing homework, but I also did some QBASIC and assembly programming on it.

<comment><USER18> My point is in 1994 we had web browsers, home ISPs and more. There was no "before the net" in 1994.</comment></comment></comment>


How To Keep Your Super Pack Money Away From The IRS - <AUTHOR> http://www.colbertnation.com/the-colbert-report-videos/421160/november-12-2012/colbert-super-pac-shh----secret-second-501c4---trevor-potter

<comment><USER2> Can anyone explain a trick? btw I found it on wiki too ([http://en.wikipedia.org/wiki/Colbert_Super_PAC#Dissolution_o...](http://en.wikipedia.org/wiki/Colbert_Super_PAC#Dissolution_of_the_Super_PAC))</comment>


Corona Virus Vaccine(s) Update – June 29th - <AUTHOR> https://blogs.sciencemag.org/pipeline/archives/2020/06/29/coronavirus-vaccine-update-june-29 <comment><USER2> Does anyone know if there have been any serious human challenge proposals considered? Why they aren't being considered is one of the biggest puzzles for me.

<comment><USER3> WHO is working on human challenge trials for covid-19 vaccines. Links from Wikipedia:

[https://apps.who.int/iris/bitstream/handle/10665/331976/WHO-...](https://apps.who.int/iris/bitstream/handle/10665/331976/WHO-2019-nCoV- Ethics_criteria-2020.1-eng.pdf)

[https://www.sciencemag.org/news/2020/03/speed-coronavirus- va...](https://www.sciencemag.org/news/2020/03/speed-coronavirus-vaccine- testing-deliberately-infecting-volunteers-not-so-fast-some)</comment></comment>


Amazon Drops Support for Full-Disk Encryption in Fire OS 5 - <AUTHOR> https://etherplex.org/posts/20160222-amazon-drops-device-encryption/ <comment><USER2> Does Amazon have an incentive to offer FDE, or is it just a support burden for them?

I ask, without much cynicism. How many of their customers will care? Will this lead to a PR problem for them? My guesses are few, and probably not.

Meanwhile, if someone forgets their password and can't get their stuff, that could generate a lot of annoyance.

EDIT: To be clear: I value FDE personally, and use it wherever I can.

<comment><AUTHOR> I'm sure it is a support burden, but perhaps no more than it is for Apple or Google in iOS and Android.</comment></comment>


Conceptual Introduction to Web Development - <AUTHOR> http://milanlandaverde.com/blog/2013/10/20/conceptual-introduction-to-web-development/ <comment><USER2> This is really important, and the kind of thing that was glaringly missing when people replied to my newbie questions.

There is a whole "big-picture" aspect that is glossed over by experts, especially experts that were guided throughout in internships and first-jobs.

I would say that the obstacle for an average joe to get his ideas up in the web on some capacity is __not __HTML /CSS/JS/Backbone programming knowledge, but deployment. People who say Heroku is braindead simple are not seeing the bigger picture (although it is great).

</comment><comment><USER3> 1\. "The Web is fundamentally a distributed hypermedia application."

2\. We build architecture substrates for the space of URLs (URL-Space): URL- Driven Development. (This is ultimate a Language Problem-set/Conept.)

3\. I try to practice Hypermedia-based View Methodology, and the notion of "Creative Encounter with Digital Artefacts" (recommendation engines that use "imaginary rules") is becoming a viable system of thought.

I believe these points were not made. What are the alternative ideas? This OP only discusses the stuff underneath, not the conceptual overhead or the conceptual scheme of Web development.

We want to build Web applications that evolve, and which can last throughout generations. None of this was even remotely addressed.

</comment><comment><USER4> Looking back on my years of PHP pain, I feel it would be a commendable thing to end this article with just a small sentence on the importance of choosing the right tool for the job. 10 years ago I would have read this and gone off to learn PHP and MySQL.

<comment><USER5> I don't know if that's neccesarily the wrong way to get started, PHP and MySQL.

It's how most of _us_ got started, right? (Okay, I got started in Perl, and only dabbled in PHP).

<comment><USER4> You started in Perl? That's hardcore.

The PHP/MySQL was ok back then, but there's so many great alternatives with great exposure today. Aside from ease of deployment, I don't see what benefits there are now.

<comment><USER6> My girlfriend is just starting learning web development. She now has a very basic understanding of HTML and CSS.

Then she went to Rails Girls London to learn a bit about the backend. Unfortunately (and I know as I was a mentor at one of this events) RoR is completely unsuitable for a beginner. It took me one hour to explain what a console is, and she still doesn't really know what to do with it. She had all this questions like "what is a controller", "umm how do I open this page now again?", "umm how do I do X", "how do I do Y".

Now contrast this with PHP. I setup a simple server, install PHP, get it started and then just tell her "create a new file called 'index.php' save it in this location, then open your browser and enter localhost/index.php". That's it. She doesn't need to know about generating controllers and rakes and db migrations and what not. Open text editor, put html in there, put some PHP in there. That's it.

Seriously, PHP is perfect for a beginner. She can learn about MVC later. Right now all she wants to do is to create something and have it work. She really doesn't need to know about adding model validators and what not.

And from what I know about Python it's the same deal as with Ruby. You just can't create a file and start writing a web page without pulling in a bunch of boilerplate.

So bottom line is: yeah PHP is way relevant today.

<comment><USER5> Even though I'm the one who suggested that maybe PHP was a good place to start...

I think it's probably a mistake to try to learn web programming without learning _programming_ first. Hello world. Loops and conditionals, math, etc.

Because while many of us learned web programming with PHP, many of us also learned programming before we learned web programming.

And you _can_ just create a ruby or python file and start running it, not for a web app neccesarily, but for learning programming. (In this sense, they are better for this than Java, because there's no compilation or boilerplate, you really can just create a file and run it)

</comment></comment></comment></comment></comment><comment><USER7> Why are you using jQuery without including it? Isn't that going to confuse the beginners?

</comment><comment><USER8> Here's a similar conceptual overview of "how the web works" in terms of client-server operations but done in a more interactive diagram style: [http://nilclass.com/](http://nilclass.com/)

It's a work in progress which helped me get a lot better at d3.js but I truly believe in this style of teaching as foundational knowledge. I think one of the best things veterans can give to newbies is _awareness_ and _perspective_.

</comment><comment><USER9> Nitpick: The JS heartbeat can be done in CSS3, otherwise this is great!

<comment><USER10> Nitpick: it can also be done in JavaScript.

<comment><USER11> Both your comment and its parent are right. It could[0] even be done in HTML with <blink>

It should be done in CSS.

0\. Not even sure if blink still exists, or if you can set it to animate, but my point stands that best practices are important.

<comment><USER12> _It should be done in CSS._

Not if you want to show a simple JS example.

<comment><USER11> My point is that there are many examples to show. Why pick one using bad practice?

</comment></comment></comment></comment></comment><comment><USER13> This is a good idea, but a conceptual introduction to web development that dismisses UI/UX as "basically, what makes sites look good" is not one I could ever recommend to anyone.</comment>


DuckDuckGo Will Automatically Encrypt More Sites You Visit - <AUTHOR> https://www.wired.com/story/duckduckgo-smarter-encryption/ <comment><AUTHOR> Code is open source: [https://github.com/duckduckgo/smarter- encryption](https://github.com/duckduckgo/smarter-encryption)</comment>


Introducing the Samsung Gear VR Innovator Edition - <AUTHOR> http://www.oculusvr.com/blog/introducing-the-samsung-gear-vr-innovator-edition/

<comment><USER2> Called it: [http://www.reddit.com/r/oculus/comments/1xy2aq/why_not_elimi...](http://www.reddit.com/r/oculus/comments/1xy2aq/why_not_eliminate_hardware_redundancy/)

Here's the 3D HMD I created for my Galaxy S4: [https://i.imgur.com/eCxH4co.jpg](https://i.imgur.com/eCxH4co.jpg)

I spent about $15 on that. $5 for lenses off of ebay, $5 for strap, and $5 for 3d model.

Here's my solution for 6DOF: [https://i.imgur.com/Gfl3ERY.jpg](https://i.imgur.com/Gfl3ERY.jpg)

I took a PS3 eye cam and cut out the IR filter and replaced it with a sheet of floppy disk to block visible light. Then I went to radio shack and bought 3 IR leds, 30OMH resistors and power supply. I'm using tridef 3D to render SBS 3D w/ oculus plugin to distort screen to accommodate lens curvature. I'm using splashtop/kainy to stream to phone. I'm using facetracknoir/FreePie to do the head tracking.</comment>


A Healthier, More Sensible Gun Conversation - <AUTHOR> http://mobile.nytimes.com/2016/01/17/opinion/sunday/some-inconvenient-gun-facts-for-liberals.html <comment> nommm-nommm Please for the love of god can we stop framing everything in the world as "conservatives vs liberals."

<comment><AUTHOR> Perhaps there's some insight from cognitive science which explains why humans may have a tendency to do this.

</comment></comment><comment><USER2> That means universal background checks before somebody acquires a gun. New "Harvard research confirms a long-ago finding that 40 percent of firearms in the United States are acquired without a background check. That's crazy."

What's actually crazy is that for _existing_ background checks, the Obama administration has prosecuted _less than one-seventh of one percent_ of _felons and fugitives_ who attempted to buy handguns... and didn't recapture a _single_ fugitive even though they could know exactly where and when they would be (to pick up the gun from the dealer).

 _That 's_ crazy.

So, how is performing more background checks that won't be acted upon going to change anything for the better?

</comment><comment><AUTHOR> I think if you read the article you will see my title makes sense.</comment>


Contribute to any of these OS projects and I will help you in any way I can - <AUTHOR> http://code.dblock.org/contribute-to-any-of-these-open-source-projects-and-i-will-help-you-in-any-way-i-can Office-time for $? No thank you. This might be better. <comment><USER2> I wish these projects were in Python.

<comment><AUTHOR> I am sure someone has an awesome set for you in Python. Now, if you don't find anything, Ruby is better ;)

<comment><USER2> Function calls that are visually indistinguishable from variables are of the deevil, and I'll have nae to do with them!</comment></comment></comment>


What a scientist didn't tell the New York Times about his study on bee deaths - <AUTHOR> http://money.cnn.com/2010/10/08/news/honey_bees_ny_times.fortune/index.htm <comment><USER2> If any of those reading this are in the business of writing news articles, then, please:

If you want to tell me about a scientist's report being something fake he cooked up (for fame or because someone paid him to say it or whatever), then _first_ tell me what, scientifically, is or might be wrong with the report, and _then_ tell me about his background and financial incentives and stuff.

I believe it's supposed to be good news-article-writing style to put the most important facts and overview first, so that the reader can stop at any part in the article and come away with a good overall picture of whatever the article talks about. The thesis of the article seems to be that there's something wrong with this scientist's study... yet this author seems to have thought it was fine for a reader to walk away having read the ad hominem attacks against the scientist, but not the actual description of what might be wrong with his study. I was rather disconcerted to see this in a major news outlet like CNN; I thought that only happened in Ayn Rand novels.

<comment><USER3> The gist of this article was not that the original report was "something fake" the scientist "cooked up". It was that the scientist received funding from an interested party that he failed to disclose.

While it is true that in the realm of pure logical discourse this fact is irrelevant to the argumentative structure of the original paper, in the real world it is a significant fact that legitimately questions the credibility of the scientist.

<comment><USER4> Except of course when the scientist is paid by a government agency and concludes that the government needs more power - then the funding or employment situation is irrelevant.

<comment><USER5> You make a very good point. However your point is not politically correct therefore it is being buries. Have an upvote.

I find the fact that people who make valid points that don't happen to be in lock step with party ideology are buried on this site very tragic and it has significantly reduced my interest in participating in this site.

Particularly ironic is that the ideological downvoting always seems to come from the left/socialist wing, yet this is ostensibly a capitalist/startup oriented site.

<comment><USER6> He's not being downvoted for being un-PC, he's being downvoted for being reflexively paranoid, in a style that resists falsification and contributes nothing to the discussion.

</comment></comment></comment></comment></comment><comment><USER7> Oh, whatever.

a) He didn't use the funding for this study.

b) Science papers aren't opinion articles. Nowhere in the study did he say that the virus and the fungus are exclusively the cause of the epidemic. If you got that impression, that was the media editorializing the study. If he falsified or omitted data, then he's guilty. But all he did was show that these two pathogens are present in collapsed colonies. You can't criticize the guy for something that another writer invented.

<comment><USER8> A Even if he didn't use the funding for the study, he should have at least disclosed it. His research is going to now be perceived (right or wrong) as a lot shadier now that this CNN article came out than it would have if he just made his disclosure in the first place.

B Well, I don't know if I agree with you there. There's a fine line between opinion and theory in scientific papers, especially when you're trying to prove (or disprove) causation. You don't find it interesting that, say, the tobacco industry manages to find scientists to refute links between use of their products and cancer? Or what about the division between the "global warming" debate. There's a reason for peer review in scientific publications, and even the peer review process can occasionally break down.

</comment></comment><comment><USER9> It seemed rather apparent to me that something was missing from that other article - like more insight into the underlying causes. Its reaffirming to see that Dr. Jennifer Sass asks the same questions I was asking (which, incidentally I was downvoted for and 'corrected' about here on HN).

<comment><USER10> Resist complaining about being downmodded. It never does any good, and it makes boring reading.

<http://ycombinator.com/newsguidelines.html>

<comment><USER11> Hint: resist lecturing people as though you own the place when your account is 10 days old.

</comment></comment></comment><comment><USER12> The problem of agency, in scientific research especially, but also in any field where the results of the questions asked have direct effects on businesses, is a hard problem. It will always be the case that those most interested in funding a given field of research will be biased towards a specific class of results. It becomes that much more difficult for lines of enquiry that touch on liability for causing economic harm to others.

</comment><comment><USER8> This article makes me think of Nobel Prize winner Kary Mullis (<http://en.wikipedia.org/wiki/Kary_Mullis>), who wrote this book called "Dancing in a Mind Field" years ago, and it brought up some interesting points when talking about "scientific research" and the reporting behind it.

The one takeaway from the book.. "follow the money". Fact checking, of course, is much harder than it sounds, which is probably why a lot of news organizations don't do as much as they should when reporting stuff like the bee colony collapses, etc.

Mullis has some interesting (almost conspiracy theory-esque) ideas about AIDS research, etc. One of the more memorable anecdotes in this book - he found it amusingly coincidental that there was a huge movement to ban Freon for environmental reasons right before Dupont's patents were about to expire.

<comment><USER13> Kary Mullis is a great example of why you should only consider scientists to be experts in their specific, narrow domain.

<comment><USER14> And his particular domain is exquisitely narrow ... as further evidenced by the breadth and depth of his ignorance. Sorry to rant, but there's a guy that gets on my nerves.

<comment><USER8> But his points, at least as he wrote them in the particular book I mentioned aren't invalid or interesting because he's a jerk (his chapter on wanderlust had my head spinning).

"Follow the money" is a guideline that makes sense. I even thought his reasons for -not- dismissing astrology outright were somewhat interesting, although I see in his wikipedia entry that he now 'believes' in astrology.

</comment></comment></comment></comment><comment><USER15> I've read reports that the global bee population is not actually decreacing. The poplution seem to be decreasing in the USA and a few other areas in Great Britaitn and Holand, but overall there's no evidence of the world population being signifficantly lowered.

This is the only source I could find with a quick search, and it's in spanish [PDF]<http://www.fcen.uba.ar/prensa/cable/2010/pdf/Cable_752.pdf>

</comment><comment><USER16> Guess what. If they are able to fix the bee genocide with some sort of pharmaceutical... that means that it was the virus/bacteria/fungus that caused the problem! This New York Times article isn't bringing the bees back.

I don't think Bayer thought it would be great to make people think this would work, for PR (?) and then to go ahead and NOT be able to fix it. We're not talking about 9/11 or something that you can sort of say "we're stopping another one of those from happening every day."

Instead, we have ONGOING deaths that we don't know the cause of. So if this particular study, and any extrapolated treatment ACTUALLY WORKS. Then yes, it wasn't pesticides. Maybe Bayer is wrong, but the article is pretty clear this is preliminary.

</comment><comment><USER17> This touches on an very important topic: the corruption of scientists (often "scientists") by funding. The corruption that lead to the "climate consensus" is now costing the world a LOT, and the green-industrial complex is not likely to rest on its laurels.

</comment><comment><USER18> One step closer to Soylent Green.

</comment><comment><USER19> Something smells - and it smells oddly like that supposed BP oil spill microbe.

<comment><USER20> No, the timings don't work out. CCD has been an ongoing issue.</comment></comment>