In the Basement of the Ivory Tower - <AUTHOR> http://www.theatlantic.com/doc/200806/college <comment><USER2> Excellent submission. That was an extremely well-written and particularly trenchant piece of writing.

It is interesting to compare the experiences of Ms. L to various people in their 40s returning to school when I was in undergrad. They too had difficulty with very basic (to us youngsters, anyway) methods of computer use. Many viewed computers with either outright terror or blatant suspicion.

I have often thought of volunteering my time to a college or tech school locally to teach computer-illiterate people the basics of computer use. It would be such a simple thing for me and judging by Ms. L's plight, it could make all the difference in the world to some people.

<comment><USER3> _It would be such a simple thing for me and judging by Ms. L's plight, it could make all the difference in the world to some people._

SIMPLE!!!??? You clearly didn't teach your parents to use computers. Teaching people how to use computers is one of the more challenging and frustrating things I have yet to do. Besides perhaps math, computers baffle more adults than anything I can imagine. I used to have 2 hours phone calls with my mom trying to "get her document back". She had just clicked another window and her word doc was behind it. 2 hours later she accidently clicked the word doc again and it came forward. Teaching the computer illiterate is a can of worms I wouldn't open without some serious friends and some serious beer.

<comment><USER4> My Mom always wants the screen to "return to the way it was".

Me: You mean the desktop?

Mom: I don't know. The way it was.

Me: Is it this? (shows her the desktop)

Mom: No. It was all black.

Me: You mean off? (shuts computer down)

Mom: Yes. Thank you.

My Mom's a preschool teacher, and I will rely heavily on her wisdom when I have kids, seeing as I don't know jack about 3 year olds.

Me in 7 years: Mom, my kid won't eat his dinner. I think I got a broken one.

We all have our own useful areas of knowledge.

<comment><USER5> Having kids myself, yes I can relate to that.

I complain to my folks about what I see as major character problems in my little one, only to have my parents smile knowingly (I think they think its justice of some sort). The mention something about that being "familiar" behavior they saw once upon a time ;)

</comment></comment></comment></comment><comment><USER6> The most helpful grade I ever received on an essay was an 'F'.

It was in my first year of university. I knew the course and knew the material but couldn't have been arsed to put together a paper which adequately addressed the subject.

The comments the professor wrote were scathing and it was a wonderful full slap on the face that I'd better get my act together and actually deliver what was expected of me if I ever wanted to accomplish something of value.

I did. Thanks for that 'F'.

<comment><USER7> I never had a professor shoot down any paper I turned in no matter how half assed it was. I guess I was that good ...

Now, it was the papers I _never turned in_ that hurt me the most :)

<comment><USER8> Hah. You must not have been _that_ good - the ones I never turned in didn't really hurt me either.

</comment></comment></comment><comment><USER9> This is a very interesting story. What I'm left with is the question of 'who are these people, really'? Is there really a considerable portion of American (or we could say Western) society that is practically illiterate? This seems counter-intuitive to me, I thought it was hardly possible to function at all without a basic understanding of the written word. If these people are out there, I have certainly never had any deep face-to-face conversation with them.

Or put in other words; I didn't think there were enough jobs available that didn't require a minimum of college-level skills. A checkout clerk could obviously make do, but I'd expect even a car mechanic to have enough brains to grasp some abstract literary concepts.

And other questions arise: Isn't academic aptitude strongly correlated with ability to succeed in the world at large after all? You'd have a hard time convincing me that most people who can't comment intelligently on 'The Wizard of Oz' are fit do be much more than corporate monkeys. At one level or the other, there is a major problem here - either the educational system is a massive failure, or the rest of us are stupid to assume that everybody has to be particularly intelligent.

<comment><USER10> _Is there really a considerable portion of American (or we could say Western) society that is practically illiterate?_

Yes. 21-23%. Or, higher, depending on how you count.

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

 _I thought it was hardly possible to function at all without a basic understanding of the written word._

Correct again. The wikipedia article notes the high correlation of illiteracy to delinquency and crime.

However, a counterexample. One of my first programming jobs was to create a data entry terminal in an industrial setting, replacing the giant paper sheets they used to fill out. When it was ready I beta-tested it on selected people from each shift. The interface was super simple, it just asked you a series of questions and you typed in the numbers -- I figured the guys in the plant would at least know how to deal with ATMs, so that was my metaphor. And it worked well.

The best foreman in the plant brought a friend along -- I shrugged and let them take the test together. He interacted with it in a really weird way and required multiple repeats of the entire session before he understood it. I only realized later that he was illiterate. And, let me just restate: best foreman in the whole plant. He knew what numbers were, and he'd trained himself to fill out the correct numbers in the correct spots on the paper sheet.

So that's when I added big icons and pictures to each screen, diagramming what bit of data we wanted at each stage.

<comment><USER11> That's a striking case.

But about that 21-23% figure.. Here in wikipedia is a map that shows <5% illiteracy in USA: <http://en.wikipedia.org/wiki/Image:Literacy_rate_world.svg>

<comment><USER10> Rates differ according to definition. It's clear that YouTube commenters aren't illiterate in the sense of total inability to read; they're typing, after all.

'Functional illiteracy' encompasses people who can read and write, but not with the fluency required to function in society, for instance, when understanding and completing a job application.

Let's face it though; do you really think you live in a society where >95% of the population can read and write fluently? Educated people tend to live in a bit of a bubble, surrounded by others like them, but YouTube tells a different story.

</comment></comment></comment></comment><comment><USER12> Thoreau said, "For every thousand hacking at the leaves of evil, there is one striking at the root."

Here is my attempt.

Shortly after we're born, we begin to perceive a certain amount of value in everything we encounter. We assign value to food, attention, comfort, safety, pleasure, affection, entertainment, possessions, virtue, appearance, and a million other things. We assign value to a thousand instances of a hundred types of those things - particular tv shows, certain cars, particular kinds of attention, certain types of pleasure, even one virtue over another. Automatically, they line up along a spectrum of desire and the sorting continues each moment till we die.

Some people value books more than people. Books have never hit them. Some people value an infomercial on tv more than any book imaginable. They still remember all those years ago how the class laughed when they had to read aloud. They don't feel stupid watching tv. They don't feel poor, inferior, or much of anything while it's on. A superficial man can see a woman and in a tenth of a second assign a value to her. We call him superficial in hopes that he will start valuing her other qualities more. A child of six in a bad neighborhood somewhere has never seen any of their friends or family open a book for fun. With perfect logic the child's mind takes note of what seems valued and what does not, by people like him. A very reasonable, and very wrong valuing ensues.

And there is something out there that each person on this website ought to value but doesn't for the very same reasons: We haven't yet encountered it, or we didn't understand it when we did, or the people around us didn't seem to value it, etc. High school art class comes to mind.

You are on this website right now because at this very moment you value it more than everything else that can at this moment be had. Not because of your DNA or inherent intellect, but because at some point you began to value time on this website, and before that websites in general, and before that time on computers, and before that a million other things that compose rungs on a ladder to somewhere.

And by my simply saying that, many of you will suddenly call into question the value of being on this site right now. That questioning is the combination of your own ability to reason, imagine, and introspect as well as your environment of which my words are now a part. And those four ingredients more than anything else are what have formed your beliefs, including your beliefs about what is to be valued.

Scholastically, life works out better for people who value books more than television. And better still for people who value knowledge more than almost everything else.

Things work out better when we value things of value.

<comment><USER13> The classic nurture side of the nature vs. nurture debate. The problem with your argument is that it's simply not backed up by evidence. There are plenty of cases of children who grow up in virtually identical environments, yet go on to have widely varying interests. My brother and I grew up experiencing basically all the same stimuli: same parents, same TV shows, same music, same magazines, same everything. As adults we couldn't be more different.

There's more to this picture than just stimulus response/valuation/categorization.

<comment><USER14> Just wanted to point out. You and your brother cannot possibly have had the same stimuli. You were his elder brother (say) and he was younger to you. People sometimes resist each others ideas. My friend took to piano lessons because his brother hated it. Sibling rivalry factors ever so little especially at the early stages of growth, and it tips everything later on.

<comment><USER15> Technically true, but sophist's experience is consistent with scientific findings. Sibling studies have repeatedly shown that genes do account for a significant amount of variation in behavior. While environment plays a role as well, the "blank slate" theory is flat wrong.

For an overview of the evidence, I recommend _The Blank Slate_ by Steven Pinker.

<comment><USER12> As far as I can tell, no one here has posited the blank slate theory.

My point was that the conclusions we come to about the world around us are the largest factor in determining where we end up on the spectrum between mediocre and extraordinary.

If we really thought DNA was more important than our beliefs, we would spend less time trying to correct and inform each other on Hacker News and more time getting our genes sequenced.

<comment><USER15> > the conclusions we come to about the world around us are the largest factor

Also known as "the blank slate theory." Or mostly-blank, if you want to be pedantic.

</comment></comment></comment></comment></comment></comment><comment><USER16> _Will having read Invisible Man make a police officer less likely to indulge in racial profiling? Will a familiarity with Steinbeck make him more sympathetic to the plight of the poor, so that he might understand the lives of those who simply cannot get their taillights fixed? Will it benefit the correctional officer to have read The Autobiography of Malcolm X?_

The author seems to think one aspect of education is to propagandize a certain political view, and that the success of the same would validate forcing education on people. If it makes him feel better, then...yes, of course reading such things will have an effect. Where did _you_ get your ideas from? Obviously, a brain not so capable of absorbing information tends to stick to its instincts. That's why not every human quality is curable.

I do wonder if the author realizes that many police officers come from a poor background, probably much unlike his own. Maybe they don't need Steinbeck to learn about the subject.

</comment><comment><USER17> Thanks crocus for posting this.

When I made the parent submission to HN ~2hr ago which contained this article, I was going to post to the original source shortly but good to see you do it. That is what it is all about, helping each other :)

(I deleted the submission as it linked to this article in reference rather than the original, and did not follow the "Please submit the original source. If a blog post reports on something they found on another site, submit the latter" in <http://ycombinator.com/newsguidelines.html>)

Anyway, if you find the article interesting you may enjoy some of the other ones I was reading at the time (also with good links) that were useful...

Which Universities Have No Chance at Entrepreneurship?: [http://campusentrepreneurship.wordpress.com/2008/06/24/which...](http://campusentrepreneurship.wordpress.com/2008/06/24/which- universities-have-no-chance-at-entrepreneurship/)

As Textbooks Go 'Custom,' Students Pay: [http://online.wsj.com/public/article/SB121565135185141235.ht...](http://online.wsj.com/public/article/SB121565135185141235.html?mod=2_1567_leftbox)

The latest National Dialogue on Entrepreneurship newsletter shares a great new paper by Block and Keller called "Where do Innovations Come from?: [http://www.publicforuminstitute.org/nde/news/2008/enews-08-0...](http://www.publicforuminstitute.org/nde/news/2008/enews-08-07-14.htm)

</comment><comment><USER18> Very insightful view into the mind of an essay marker. I've always loathed the subjectiveness of English courses, that's why I took computer science :)

I agree with the author, not everyone is cut out for English classes, but I think an alternative to these "trying help you an write essay" classes should be some kind of "just read a book and enjoy it" class. It would be a start anyway. In school, any hope of loving English literature is usually destroyed by some kind of forced book dissection or compare and contrast garbage.

<comment><USER19> The problem with dissecting a book is that -- just like dissecting an animal -- at the end of the exercise, the subject of the dissection is dead.

While mulling over a good book and discussing it can be enjoyable, the attempt to squeeze deep meaning out of something that the author put in by chance simply kills the joy of a good book.

Besides, I find that often the books that tend to be chosen for literature classes (at least in high school) tend towards empty, meaningless "classics" about empty, meaningless people. Reading this sort of book really ends up sucking the joy out of an English class.

<comment><USER20> My favorite 'English' class in high school was a journalism class, which was centered around learning to write well and communicate something effectively, with none of the BS about "hidden symbolism".

I proudly got a D on an English paper once, when the topic was "how does the symbolism help us understand what the author is telling us", where I answered that it didn't help in the slightest, and that, truth be told, if the author wanted to tell me something, he ought to have come out and said it directly instead of beating around the bush with "symbolism" that to me was as clear as mud, and that in the process he would have saved us all a great deal of time because his message wasn't really all that difficult to summarize in a paragraph or two.

<comment><USER21> Do you know how zen koans work? They help you understand yourself. They don't do it by telling you about yourself, but rather by tricking your mind into paying attention to nothing other than yourself, even though you might not consciously want to.

In the same way, symbolism is intended to trick the mind into grasping a concept it consciously has problems with understanding, or perhaps outright disagrees with. It's like grinding a vitamin into dogfood--the dog won't notice, but it's getting healthier. You might be an ardant anti-___ist and never want to hear a single word on ____ism, but a carefully crafted allegory about ____ism might have you more of a believer than you knew.

<comment><USER20> The thing is, I'm not a dog, but a person, and I am actually quite willing to listen to people I disagree with as long as they are polite and reasonable.

<comment><USER22> There's listening, then there's listening. When someone is really learning, you are dealing with the edges of their model of the world and their conscious perception. When you are really teaching, you are playing in this dangerous interstice. Sometimes, the best way of teaching people is tricking them. Sometimes, if you just tell them, they'll just rationalize what you have to tell them away.

This is more apt to apply to classes in history than to computers, however. Even then, there are popular misconceptions to deal with.

<comment><USER23> Sounds like jesus:

Mark 4:10 When he was alone, those around him and the Twelve asked him about the parables.

Luke 8:10 He said, 'The secret of the kingdom of God is granted to you.'

Mark 4:11-12 'But to those on the outside, everything comes in parables so that they may look and look but never perceive, listen and listen but never understand.'

</comment></comment></comment></comment></comment></comment></comment><comment><USER24> "America, ever-idealistic, seems wary of the vocational-education track. We are not comfortable limiting anyone's options. Telling someone that college is not for him seems harsh and classist and British, as though we were sentencing him to a life in the coal mines. I sympathize with this stance; I subscribe to the American ideal. Unfortunately, it is with me and my red pen that that ideal crashes and burns."

We tend to never look at the underbelly of academia, particularly those who are well served post-college in a world of newly minted bonus checks and corporate perks. Discussion exists as to where the process went wrong, a process that favors the inevitable elite and rich, but I have yet to see one solid and compelling reason why education (on average) fails compared to our European counterparts.

Excellent article.

<comment><USER25> Interestingly, most coal miners make a whole lot more money than, say, an adjunct lecturer in English. There's nothing wrong with being a coal miner.

Arts degrees are a luxury for children of rich families, not a good way to get ahead in life.

<comment><USER26> Coal miners make more than an adjunct English lecturer because there is something "wrong" with being a coal miner: it's a dangerous and exhausting job.

</comment></comment></comment><comment><USER27> Perspicacious and lyrical. Nicely done.

Having said that, I found the author a bit whiny.

I can almost hear his supervisor at his "night job"

"Old Professor X seems like a nice enough sort," they'd say, whispering among themselves, "but he'll never be ready for a job a at a major university. Sure -- he might get published in some rag like The Atlantic, but serious work? Not likely. He's just not cut out for it."

It's all in your perspective. You could take a guy with the same students and the same success ratio and he could write a story about how rewarding it was to help people at night school!

I think that's why I liked it so much: it was so artfully done that I couldn't help but think that the same experiences could be written to drive home a completely opposite conclusion.

<comment><USER22> You are right, but then one would have to focus on your success stories, which might just a few percent of the students.

By the time people are college aged, they are pretty set in their ways. Educational miracles where whole classes are swept up into success generally happen with younger students.

</comment></comment><comment><USER28> This really was a great submission. I also am an adjunct instructor (albeit at a 4-year university), and I can attest to this guy's experiences.

The line that really lit me up was this:

      Our dialogue had turned oblique, as though we now
      inhabited a Pinter play.

This is golden. If anyone here has ever seen a Pinter play acted out, you know exactly what this means, and it is totally spot on. It's when you totally have begun to talk beyond each other, each sentence containing only enough of the subject continuum to keep you in the conversation, but apart enough to make it clear that nothing is being exchanged at all.

</comment><comment><USER29> It is interesting how the author is so cautious about saying "College is not for everyone". Maybe we hear "It should be hard to get a college education - especially if you are poor". I'm a big believer in getting all the education you can. That is not the same thing as believing you should get as many college degrees as possible. There comes a point when it is time to get out and do something with your life. For some people that means a PhD. For others a B.S. For some an apprenticeship with a skilled craftsman. Don't confuse a degree with an education.

<comment><USER30> _I have never let my schooling interfere with my education._

\-- Mark Twain

</comment></comment><comment><USER31> I taught basic computer classes (Microsoft Office) and the lower level computer science courses as a similar institution.

This article is so spot on, it's a little eerie. Do all adjuncts feel the same way?

<comment><USER28> Yup. I just had a class in which 15 of 18 I caught cheating, with 6 of those committing blatant acts of plagiarism.

When you try to talk to those kids, it's totally like a Pinter play.

I also completely empathize with the high-lows he described. Teaching is a high, especially if you allow yourself to be deluded into thinking your students are interested and learning; that makes the lows of having your delusions shattered at grading time that much lower.

</comment></comment><comment><USER32> I can bet that woman must be good at something she has never been tested on and probably does not know about. Maybe if we start from the premise that most individuals have something they are really good at, we might be able to move beyond the educational system of As and Fs and take advantage of people's abilities to the fullest.

<comment><USER33> >I can bet that woman must be good at something she has never been tested on and probably does not know about.

Hah. That women may very well be average at a lot of things, and bad at the rest.

This idea that "everyone has a special gift!" is just pixie-dust dreaming. Most people simply aren't special, in any sense of the word.

Fight Club: "We've all been raised on television to believe that one day we'd all be millionaires, and movie gods, and rock stars. But we won't. And we're slowly learning that fact."

The sooner people learn that, the sooner they can get on with their lives of mediocrity.

<comment><USER34> Amen. It smacks of the 'Oprah-watching, feel-good-book-reading, "let's hold hands and sing kumbaya"' bullshit that pervades society.

The fact is that people have differing levels of ability. but with everybody screaming for 'equality,' everyone has to have some 'special gift.' I'm not saying that some lives are worth more than others (although there's an interesting philosophical argument against this), but the idea that 'you can do anything you set your mind to' is false.

<comment><USER35> I agree, but I don't think it's an issue of equality in the sense that we're all given trophies and told we're all winners. I think it stems from the fact that most people totally abhor the concept of being thought of as common. Not everyone can be a leader--hell, if that were the case nothing would get done. Really though, there is nothing wrong with being an ordinary working citizen. If you have a hobby, pursue it in your free time. Conversely, if you like watching TV and jerking off, by all means, indulge in it.

</comment></comment></comment></comment><comment><USER36> At my old school they tested incoming freshmen and sent many of them to a pass / fail English 050 class. It seems odd that most schools don't have such programs.

<comment><USER37> Agree.

I, too, taught "literature" to people that could barely read. It sucked.

If you can't read, you should learn the mechanics of how to read before dealing with things like "foreshadowing" "theme" "denouement."

Just, basic stuff.Otherwise, it's just ridiculous.

That's what these colleges should be doing, if they're taking student's money. Not raping them in their vulnerability, naivete, and ability to get a loan.

<comment><USER25> _Just, basic stuff.Otherwise, it's just ridiculous. That's what these colleges should be doing, if they're taking student's money._

No, that's what high schools should be doing.

No wait, actually, that's what primary schools should be doing.

<comment><USER38> Unfortunately, at least where I live, it is almost entirely not allowed to fail students in primary or early high school. So, graduating effectively means "I didn't die before age N". And of course, it's a downward spiral: if you can't multiply and divide, you sure as hell can't factor an equation, and you're definitely not going to get anywhere trying to understand the graph of a parabola.

<comment><USER39> In my old school, if you fail a year (average below 60%) you repeat that year, if you fail three times, you're kicked out.

</comment></comment></comment></comment></comment><comment><USER40> Interesting. Entering college as a computer agnostic and hs dropout in the late 80's I was dismayed by my curriculum and it's focus on word processing, dos, floppy disks, etc.. It seemed that the computer medium was dross and doldrum.

Previously, in HS, I was terribly bored with most subject matter presentation and irritated by authority in general.

I had been an avid reader since 5 or 6 and had read science fiction/fantasy and classic literature during these formative years. I did not do well in the college environment. I dropped all my classes.

Years later, I returned to college: emphasis had once again turned to the printed word, symbolism, and other recognizable concepts rather than any ability to use a computer. 4.0 average for two semesters was the result.

At the third semester I found myself in honors courses which irritated me with opinions I was too immature to discard gracefully and once again dropped out.

Provided as counterpoint to this article.

</comment><comment><USER41> The author repeats themselves:

Page 2 top:

"I can't believe it," she said when she received her F. "I was so proud of myself for having written a college paper."

Page 2 middle:

"I can't believe it," she said when she received her F. "I was so proud of myself for having written a college paper."

<comment><USER42> Perhaps he repeated himself for effect? I certainly found the repetition effective.

</comment></comment><comment><USER43> It is utterly interesting how many people do not even bother nor desire to simply think for thoughts sake. I am starting to wonder whether people who value knowledge for its own sake is a counter evolution to the majority. A bit like right-handed people with left-handed people. The left-handed people are a minority hence have some advantages when say playing sports as most people are used to playing against other right handed people.

Maybe same can be said for those people who value knowledge for its own sake as most people (the majority) do not, hence the minority who does has an inherent maybe gentical advantage.</comment>


An Ode To Typography themepack for Windows 7 - <AUTHOR> http://www.winextra.com/archives/an-ode-to-typography-themepack-for-windows-7/

<comment><USER2> Excellent, thanks for the theme pack link.

<comment><AUTHOR> more than welcome. I loved putting it together and will be doing one for designers next weekend</comment></comment>


Why Apple's 3D Touch failed miserably - <AUTHOR> https://hackernoon.com/why-apples-3d-touch-failed-miserably-72545b608ad <comment><USER2> It is the number 1 feature for me when writing text. I move between letters with accuracy and I don't have to move my finger over the letters. Which often covers the letter I want to find.

I can't believe it's not in the XR.

<comment><USER3> iOS 12 introduces this feature to devices without 3D Touch. Just press and hold the space bar until the characters on the keys disappear.

<comment><USER4> On iOS 12, iPhone 6s Plus ( which has 3D Touch ), 3D Touch for moving between text doesn't work anymore and requires using it on Space Bar. ( Anyone knows why ? )

So three years after its introduction, its only major use is for moving between text. And if it were so good you would bet all the Android phones would have copied it. And so far none of them did. If by 2020 we still don't have an killer feature for this I question whether that extra $15-20 BOM cost as well as internal space for battery is worth it. Subtracting some display cost for supporting 3D Touch, we are paying roughly ~RSP $50 for this one feature.

</comment></comment></comment><comment><USER5> There was a potential rather aggressive - not quite killer - app on the iPad Pro, which was multitouch pressure sensitivity for music applications.

Poly aftertouch is missing from most keyboards, and it wouldn't have taken much to turn the iPad Pro into a virtual Roli Seaboard.

But so far there's been no 3D Touch on any version of the Pro. So that never happened.

The other everyday UI applications aren't very interesting. IME it's too hard to gauge touch accurately to use the feature for anything useful, so most of the time it just gets in the way.

</comment><comment><USER6> It took me forever to figure out that you can force push on a picture then swipe up to give me sharing options.. where as just pushing lightly and holding brings up a menu right away — or did before.. so it definitely felt like a solution looking for a problem and in fact added a degree of freedom to the UI that didn't need to be there.. for example while it might sound _clever_ to add the ability to say double click keys on your keyboard for separate functions it basically means you have to divide your motor memory up into multiple areas. Anyway, I suspect very few people would notice if 3D Touch died.. I hope it goes away soon.. so lame.. sure the technology might be cool but not helpful on my phone..

</comment><comment><USER7> Personally, it was always hard for me to figure out how much of the utility of 3D touch could just be achieved with long pressing. With the time that it takes to press down your finger, you're basically long pressing anyway

<comment><USER8> Personally i don't have this experience. I find 3d touch way faster than a press and hold. I use it all the time to open links in new tabs in safari, its basically a right click. Instead of "tap, wait a second, open in background" its "press in and swipe up, open in background"

Although the functionality is mostly the same, it feels so much faster to me.

</comment></comment><comment><USER9> Considering 3D Touch is still in the iPhone Xs and iPhone Xs max, I don't think it has failed. Personally I use it all the time while using my phone for notifications and the quick app actions.

<comment><USER10> Dead is probably too strong but it is pretty telling of Apple's internal thoughts on the feature that they would leave it off a new phone

</comment></comment><comment><USER11> Somewhat related, the early PlayStation 2 fighting gamegame, The Bouncer, used pressure sensitive buttons for "heavy" vs "light" attacks. It was cool but I don't think I've seen any similar games since.

<comment><USER12> Back when racing games still used the cross button for accelerate lots used the pressure-sensitive face buttons. Some sports games used them for light/heavy actions. The Metal Gear Solid series did as well, for aiming vs shooting your weapon.

</comment></comment><comment><USER13> > Or maybe the replacement for the 3D touch technology could be the addition > of Apple Pencil support (something that has been expected in the last two > years) and the introduction of an Apple Pencil Mini and special iPhone cases > with pencil holders.

Yes, please.

And you don't need any special iPhone cases, just copy the way Samsung invented for S-Pen capable gadgets a long ago.

</comment><comment> swingline-747 The root causes are:

0\. There's no affordance in the regular UI/UX indicating 3D Touch is available.

1\. It's awkward.

2\. It's too much like long press when a longer press would've done the same without adding more hardware.</comment>


The NoSQL movement is growing, but what is it?  - <AUTHOR> http://www.computerworlduk.com/community/blogs/index.cfm?entryid=2807&blogid=25 <comment><USER2> I wish the energy being put into the whole 'nosql' movement had moved toward object databases instead of KV stores. KV is fine for caching, but is obviously not suitable for modeling and retrieving data with complex relationships.

I think it's hilarious that some NoSQL solutions now have 'columns!', way to go, you're slowly reinventing the RDBMS, poorly...

</comment><comment><USER3> the article is very shallow. if you want a serious overview of "noSql movement" I recommend this paper: "No Relation: The Mixed Blessings of Non- Relational Databases" by Ian Varley [http://ianvarley.com/UT/MR/Varley_MastersReport_Full_2009-08...](http://ianvarley.com/UT/MR/Varley_MastersReport_Full_2009-08-07.pdf)

</comment><comment><USER4> This article sounds like a typical enterprise architect bullshit. And he is missing the point. NoSQL is so much more than simple KV store. NoSQL Wants To Be "Elastic Caching" When It Grows Up. What is he smoking?

</comment><comment><USER5> Realistically we have all been creating NoSQL applications for some time. For years we have been hiding the SQL away from the Objects. EJB is a classic example of something that tries to keep the SQLugly away from applications.

But NoSQL is like a breath of real-time fresh air for me. RDBMS have become stale and the flurry of NoSQL out there is exactly what the real-time web needs.

<comment><USER6> We haven't _all_ been doing that. Some of us have been writing SQL applications that extract related data from multiple tables while maintaining integrity between them. Seems to work for us...

<comment><USER7> I think that NoSql is a very regrettable name for an interesting movement. I got a response from someone who appears to have been involved in the early stages

<http://news.ycombinator.com/item?id=967882>

"...NoSQL was never meant to be a "movement". We were taking a trip to the Bay Area from London and we wanted to meet up with some of the guys who were working on scalable non-relational data stores. We planned a one-day conference and someone suggested naming it NoSQL. It was just a tongue-in- cheek name, until someone came along and decided it was a "movement".

I can see how this happens. Unfortunately, a name like "NoSql" is going to get people to come to the defense of Sql in many ways that were never really part of the "NoSql" concept. For instance, my initial reaction was a defense of the language and its (in my opinion) remarkably effective way of structuring and managing complex relationships in data. However, it appears that most of the "NoSql" folk aren't making any claim to the contrary.

NoSql, I think, is more about avoiding rdbms's as a default data store when you don't really need sql and are experiencing scalability issues. In that case, it probably does make sense.

"NotAlwaysSql" might have been a more descriptive name, but doesn't really have the same impact... sometimes this is deliberate (get the impact of a controversial term, but then define that term as something much easier to defend), but in this case, I don't think it was deliberate, I think it was something that got away from them.

<comment><USER5> Yes, it's a very unfortunate name, it's a shame it stuck.

I'm not against SQL at all, I just like that the "movement" to provide an API to develop against at the points where SQL isn't necessary. It just saves me implementing it myself with the SQL behind it.</comment></comment></comment></comment>


Ask HN: what is a simple link saving app? - <AUTHOR>

I'm looking for something incredibly simple, something that has a Chrome extension and saves only the link - which I can then access from the apps dashboard or whatever.<p>No need for categories or tags, simple date/link will do. <comment><USER2> Chrome bookmarks are sync'ed between your chrome devices automatically.

Kippt is good ([https://kippt.com/](https://kippt.com/)).

</comment><comment><USER3> Delicious. It's the most encompassing subsystem.proof that it'sgood is that Yahoo had it and did nothing. Heh.

I use it on every browser and device.</comment>


Implementing a sort of generic, sort of type-safe array in C - <AUTHOR> http://kirbyfan64.github.io/posts/implementing-a-sort-of-generic-sort-of-type-safe-arrayin-c.html <comment><USER2>
       printf("%zu %d\n", list_len(l), *l[0]); // Prints 1 1.

This prints raptors unless your list is of size_t.

       #define list_lenref(l) ((size_t*)l)[-1]

The only way to write this kind of size-prefixed plain array in legal C will involve separate getter/setters to explicitly copy the size in and out. It's not as simple as getting a reference because you cannot recast an arbitrary array as a pointer to size_t and read/write to it. A compiler might be happy to optimize these accesses out altogether.

       size_t list_len(void* l) {
          size_t tmp;
          memcpy(&tmp, ((char*)l) - sizeof(size_t), sizeof(size_t));
          return tmp;
       }
       void list_set_len(size_t length) {
          memcpy(((char*)l) - sizeof(size_t), &s, sizeof(size_t));
       }

Or if you prefer crazy macros

       #define list_len(l) (*(size_t*)memcpy(&(size_t){0},((char*)l)-sizeof(size_t),sizeof(size_t)))
       #define list_set_len(l,s) memcpy(((char*)l)-sizeof(size_t),&(size_t){s},sizeof(size_t))

Note the ((char* )l). Pointer arithmetic on void* as used elsewhere in the code is a GNU extension. This is easily fixed by instead casting to char* or u/intptr_t.

Otherwise this style of list is just fine, in fact it's not necessarily limited to pointer types.

<comment><USER3> What are "raptors"?

</comment></comment><comment><USER4> 1\. Not using container_of/struct_of, but rather peppering code with "(void* )l-sizeof(size_t)"

2\. my_list_type.my_array is not properly aligned

3\. list_append() doesn't handle realloc() failures

4\. Doesn't properly () macro argument _and_ lots of macros also reuse their arguments. That sure is going to be fun to debug, e.g. list_len(l++);

In short, if this works for the author - great, but the re-usability of this code is next to zero. The beauty of C is that it's very explicit and verbose. Once you start concealing things behind abstract APIs, you start trading verbosity for implicit invariants leading to obscure bugs and intense head scratching. Not a worthy trade off in hell of a lot of cases.

</comment><comment><USER3> As the article states, this only supports lists of pointer types. The result would be the same bad performance that Bjarne Stroustrup warns of in the cited talk on linked lists. Each of these pointers will be random memory positions giving you bad cache hits.

list_append needn't take a second argument that is assigned across. If you've got an array of structs, you can then initialise the struct members in place.

</comment><comment><USER5> My growable array "system" is more along these lines:

        #define CONCAT(A,B) A##B
        #define ALEN_NAME(N) CONCAT(N,_length)
        #define ACAP_NAME(N) CONCAT(N,_capacity)
        #define ARRAY(T,N)       \
            T *N;                \
            size_t ALEN_NAME(N); \
            size_t ACAP_NAME(N)
        #define AINIT(N) do {N=NULL;ALEN(N)=0;ACAP(N)=0;}while(0)
        #define ADESTROY(N) do{free(N);AINIT(N);}while(0)
        #define ALEN(N) (ALEN_NAME(N))
        #define ACAP(N) (ACAP_NAME(N))
        #define AADD(N,V)                                                        \
            do {                                                                 \
                if(ALEN(N)>=ACAP(N)) {N=Grow(&ACAP(N),(N),ALEN(N),sizeof *N,1);} \
                N[ALEN(N)++]=V;                                                  \
            } while(0)

(etc., etc.)

I was a bit unsure about it at first, but having used it for a few months I've ended up quite happy with it:

\- Easy to examine in a debugger;

\- Code is fairly straightforward (taking into account the usual macro token pasting nonsense);

\- Less risk of falling foul of whatever UB nonsense the gcc/clang people have decided to pull this week;

\- Simple interop with foreign APIs (of course, reading is very easy; and my implementation explicitly allows the capacity to be smaller than the size in order to allow creation of one)

Not very convenient to pass these things to a function, though. I also don't like that the ARRAY macro generates 3 declarations. These don't really seem to be problems in practice however.

This might not be to all tastes, but there you go.

(Here's another option, that's more like the link here: [https://github.com/nothings/stb/blob/master/stretchy_buffer....](https://github.com/nothings/stb/blob/master/stretchy_buffer.h) \- note note about strict aliasing, which I imagine could apply to the list macros here as well. Obligatory links: [http://blog.metaobject.com/2014/04/cc- osmartass.html](http://blog.metaobject.com/2014/04/cc-osmartass.html), [http://robertoconcerto.blogspot.co.uk/2010/10/strict- aliasin...](http://robertoconcerto.blogspot.co.uk/2010/10/strict- aliasing.html))

</comment><comment><USER6> Link to GArray is wrong, [https://developer.gnome.org/glib/unstable/glib- Arrays.html](https://developer.gnome.org/glib/unstable/glib-Arrays.html)

</comment><comment><USER7> There's a an error in one of examples:

        List(int*) mylist = NULL; // NULL represents the empty list.
        int a=1, b=2;
        list_append(l, &a);

What's lower case L?

<comment><USER8> It seems that `mylist` should be `l`.

<comment><USER7> Yep. The examples on Github use `l` throughout. Just a minor error.

</comment></comment></comment><comment><USER9> Why not use ... oh, whatever.</comment>


What are the implications of a company Not having a strongly defined culture? - <AUTHOR> Culture in the Silicon Valley treatment of how to build a company is considered important from an early stage. The media has reported how companies have failed to address toxic cultures from early stages and how that toxicity can remain pervasive as a company scales. Surely there are some companies that DO NOT have a well-defined culture, even from an early-stage. Does NOT having culture create implications with scaling? Does this matter from a people perspective (hiring/retaining talent) if compensation and benefits are good? Can being "mission-driven" make up for the lack of apparent culture at a company? <comment><USER2> It's interesting to speculate about how 'cultural fit' supplanted 'doing your job'. By its nature, a so-called strongly defined culture is exclusionary, and has more than a few Orwellian undertones. On the one hand, there are rules of HR. That's fine of course. Social guardrails for the workplace. On the other hand, there are true individuals and eccentrics. Even HBR has tolled the death knell for 'culture fit'.

[https://hbr.org/2018/01/how-to-hire](https://hbr.org/2018/01/how-to-hire)

</comment><comment><USER3> An organisation always has some kind of culture. If it is "defined" (I interpret that as something being written down) or not doesn't really matter. Whatever is defined in that sense is not really the culture of that organisation. You can define your culture in any way you want with whatever value statements you desire an organisation to embody, but most likely those will not reflect the actual culture in the org.

That's not to say that trying to be explicit with the culture you want in an organisation is bad. It is just recognising that the words are not the culture. The people, the way they interact and the atmosphere in the company and what drives it is what creates the company culture.

</comment><comment><USER4> I grew up in Silicon Valley, and I realized at an early age that it has no culture.</comment>


Lockdown damages mental health, say experts – insidetime and insideinformation - <AUTHOR> https://insidetime.org/lockdown-damages-mental-health-say-experts/ <comment><USER2> This doesn't sound right to me. My well being is at an all time high and I'm not being sarcastic. Obviously this is anecdotal but fewer people out and about makes me way less stressed. Now when I go out it's extremely relaxing.</comment>


A History of Tokyo in Eight Dishes - <AUTHOR> https://roadsandkingdoms.com/travel-guide/tokyo/a-history-of-tokyo-in-8-dishes/ <comment><USER2> For Ramen in particular you don't need to go to a specific restaurant to get a good meal.

Ippudo Ramen is a solid local chain and very reasonable at maybe $7-8 for a big bowl.

On the low-end side for sushi - Sushi Standing Bar is not a bad chain to try either.

Definitely need to try these others though.

<comment><USER3> Not all Ippudos are the same. They franchised all over the world. There in an Ippudo in Changi Airport Singapore, trust me, it's not the real deal.

It also depends on what you like. Flavorful vs Subtle. Rich vs Light. I'm a Flavorful+Rich style lover myself so when I go to a light+subtle place I often feel like I'm getting a bowl of salted water. Conversely my friends into subtle+light can't take the flavorful+rich style. They feel it upsets their stomachs.

There's an Ippudo in NYC and in SF. I haven't been to either. Have heard mixed reviews. The one in SF of course looks nothing like a ramen store in Japan. It's a restaurant and serves french fries.

I can say the Tsujita in LA for Tsukemen is spot on, exactly the same as the one here in Tokyo in Jimbocho. The ramen though was at the LA branch was off the day I went.

For rich+flavorful I'd recommend Jangara Tonkotsu Ramen (pork bone broth). They have several stores, Harajuku, Akihabara, Nihonbashi, and if you've got vegan friends in tow they have a vegan ramen. The vegan one is on the light+subtle side but is one of the few stores that has any vegetarian/vegan options.

<comment><USER4> > There's an Ippudo in NYC and in SF. I haven't been to either. Have heard > mixed reviews.

I got to eat at one of the NYC locations (there are three) last year, specifically the one on Fifth Avenue, and it was fantastic. Best ramen I've had in my life. Very much on the rich-and-flavorful side.

<comment><AUTHOR> Jinya Ramen is Los Angeles and other parts of the US is also FANTASTIC!

</comment></comment></comment></comment><comment><USER5> > _the third option, the skewered kushi-katsu is an inferior cut_

Them's fighting words: kushikatsu is a quintessential Osakan dish, and while originally cheap food, there are plenty of gourmet places serving things like foie gras kushikatsu these days.

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

<comment> GuB-42 It is not uncommon for "inferior cuts" to end up being highly sought after gourmet food.

For example bouillabaisse was made by fishermen from bony rockfish that couldn't be sold. It is now considered gourmet food and you probably won't find proper (chartered) bouillabaisse in Marseille for less than 50 euros per person, and you need to order at least a day in advance and as a group.

</comment></comment><comment><USER6> 'Ramen' is phonetic for 拉面 (lamian) which is a type of Chinese noddles.

That's also the reason 'ramen' in Japanese is written using katakana ( ラーメン ): It is a foreign word.

</comment><comment><USER7> Was slightly surprised to see Narisawa on the list. The multi-course meal I had there was easily the best (and most expensive) meal I've ever had. I had to book pretty far in advance, but it was absolutely worth it.

<comment><USER8> Same, very expensive, but what an amazing meal. It really is an experience.

</comment></comment><comment><USER3> Tonkatsu at Tonki .... hmmm. It may have a history but it seemed like Japanree cafeteria quality tonkatsu.

<comment><USER9> I don't know where the accompanying picture is from, but definitely not Tonki.

Tonki is really really good (it's the only one from that list I've been to), it's also a bit pricey at around 2300yen for a portion, but in my opinion, easily worth it.

<comment><USER10> yea Tonki was great. There is a reason the line to get in is out the door every day.</comment></comment></comment>


Content Is King – Who Said It Better? - <AUTHOR> https://lgkmarketingcc.com/content-king-said-better/ <comment><AUTHOR> Though it's often misattributed to Bill Gates, Sumner Redstone (who's just died) popularised the phrase "content is king" which was used in a 1974 book, and pre-dates even that.

The linked article frustratingly fails to identify the book, though via Google's Ngram Viewer this seems to be J. W. Click, Russell N. Baird, _Magazine Editing and Production_. W. C. Brown Company, 1974, 274 pages

[https://www.worldcat.org/title/magazine-editing-and- producti...](https://www.worldcat.org/title/magazine-editing-and- production/oclc/1009138)

[https://books.google.com/books?id=lMpHwLnvsvAC&q="content+is...](https://books.google.com/books?id=lMpHwLnvsvAC&q="content+is+king"&dq="content+is+king"&hl=en&sa=X&ved=0ahUKEwiwiLK2q5brAhVOK80KHdbBDu0Q6AEILTAB)

Earlier appearances in the 1960s refer to educational films:

[https://www.worldcat.org/title/toward-improved-learning-a- co...](https://www.worldcat.org/title/toward-improved-learning-a-collection- of-significant-reprints-for-the-medical-educator/oclc/855419713)

[https://books.google.com/books?id=LiQgAQAAMAAJ&q="content+is...](https://books.google.com/books?id=LiQgAQAAMAAJ&q="content+is+king"&dq="content+is+king"&hl=en&sa=X&ved=0ahUKEwi87Kaoq5brAhUYCs0KHdwWC2QQ6AEIMDAB)

Aguments over provenance notwithstanding, my view is that the aphorism is a convenient bit of stage distraction attractive to media monopolists themselves aware of the real truth: network control is emperor.

</comment><comment><USER2> [https://www.nytimes.com/2020/08/12/obituaries/sumner- redston...](https://www.nytimes.com/2020/08/12/obituaries/sumner-redstone- dead.html)

<comment><AUTHOR> Right. Being discussed on HN here:

[https://news.ycombinator.com/item?id=24135160](https://news.ycombinator.com/item?id=24135160)</comment></comment>


Occupy Wall Street: A trans-Atlantic movement - <AUTHOR> http://www.salon.com/2011/10/14/occupy_wall_street_a_trans_atlantic_movement/ <comment><USER2> I find it very interesting that most of my hacker and tech friends feel almost no attachment / connection to the Occupy Wall Street movement. I wish I better understood why.</comment>


Graceful Shutdown - <AUTHOR> http://250bpm.com/blog:146 <comment><USER2> Any sufficiently-complex program is bound to re-implement an inferior version of Erlang OTP :-p

Quickly you find out that recording the list of process / task / ... , including the relationship between each is a useful thing to have. With that first-class registry, it's possible to implement all sorts of shutdown and restart logics.

<comment><AUTHOR> Disclaimer: I have almost no experience with Erlang/OTP.

But the question here is not whether you _can_ implement different kinds of shutdown, it's rather which kind covers the common graceful shutdown use cases.

If Erlang/OTP has such algorithm, I'd love to hear about it.

<comment><USER3> Erlang has an explicit concept of processes and supervisors,and communication by message passing. When a worker process dies, the supervisor is made aware of it, and upon receipt of the message, can decide what to do. In some cases that means restarting the worker to some known good state (turn it off and on), in others just restarting a generic worker (a web server, for example), and others, the supervisor cannot recover on its own so it crashes itself and lets its own supervisor do the same exercise. It also has a notion of hot code reloading, which can go and change process state to satisfy the new software requirements of the new app version (think upgrading a telephone pole remotely).

<comment><AUTHOR> I meant it the other way round. The question was not about what happens when the child dies. It was rather how does the parent let the child know that it should terminate. Or that it should eventually terminate, but that it should attempt a clean shut down.

<comment><USER3> The supervisor can also terminate its children. The communication goes both ways. But the children may also be supervisors with their own children. which all have their own termination behavior. The VM is designed around reliability and addresses this sort of behavior with language constructs.

<comment><AUTHOR> Ok, I guess I'll have to give it a closer look. But are you positive they have a good story about interactions between hard and soft shutdowns? E.g. when grandparent requests a hard shutdown but parent a soft shutdown. Or vice versa. Or if timeouts of cancellations on different level of the hierarchy don't match?

<comment><USER3> It was designed for dealing with telephone switches, which could go offline for any reason, and need to be worked around. I recommend the entirety of LYSE, but [0] this chapter should give you some footing. To your specific question, upon receipt of the DOWN message, the processes can respond according to what makes sense to the domain.

[0] [https://learnyousomeerlang.com/supervisors](https://learnyousomeerlang.com/supervisors)

<comment><AUTHOR> Thanks!

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER4> Is this not a solved problem? You have the load balancer stop sending new connections to the host. You send sigterm to the process. You wait until timeout, then you sigkill the process. This is how it's done in Kubernetes, ECS, and other systems I've worked with. Trying to engineer the entire lifecycle from within the webserver has a wide array of problems that the author is bending over backwards to end up only partially solving.

<comment><AUTHOR> Here's a scenario: You webserver has an open long-lived WS connection. You stop load balancer. The connections still lives. Then you send SIGTERM to the webserver. The connections still lives. The main coroutine of the webserver catches the SIGTERM and wants to do gracefull shutdown. But the connection in question in running in a separate coroutine. So it has to send a graceful shutdown signal to that coroutine. Etc. You end up with having to deal with the problems described in the article.

<comment><USER5> If you have a websocket architecture, the client needs to tolerate a severed connection and transparently reconnect, without user-visible impact. Anything else is going to lead to disaster... the server end can't stay up forever.

The right thing to do in this case is for the server to also disconnect any websockets when it gets the SIGTERM, in addition to stopping the accept loop and the other things it would normally do. Clients simply have to reconnect (and have enough tolerance in the socket's in-band protocol to recover state, roll back transactions, etc.) It's a scenario that's bound to happen to a certain percentage of your clients anyway, due to all sorts of external factors, and must be handled regardless.

<comment><AUTHOR> CLOSE frame exists in the WS protocol for a reason. It's there so that both sides know that all the messages were delivered before the connection was closed.

</comment></comment></comment></comment><comment><USER6> As a long time desktop developer I always find it interesting how little thought is put into shutdown server side. The only way seems to take it off the load balancer and the hope that everything has finished after some time.

I have spent numerous hours on figuring out how to shut down multi threaded desktop apps within reasonable time. It's not easy.

</comment><comment><USER7> This problem seems similar to processing a request that has a deadline, after which the request is discarded and any resources should be freed.

In Go, you can keep track of deadlines using a Context [1]. Subrequests also need to know the deadline (or perhaps a shorter deadline), so they get passed a derived context. The same mechanism also supports cancellation.

[1] [https://golang.org/pkg/context/](https://golang.org/pkg/context/)

<comment><USER8> I deployed a binary golang agent [1] across about 2000 raspberry pi class machines (for litecoin mining) using overseer [2].

It allowed me to implement zero downtime upgrades, which was pretty cool. Internally within the agent, I used the context pkg to implement with a 'Manager' which provided cron like functionality where each thing could be shutdown gracefully [3]. Used the same mechanism to shut the internal webserver down gracefully as well [4].

[1] [https://github.com/jpillora/overseer](https://github.com/jpillora/overseer)

[2] [https://github.com/blockassets/bam_agent](https://github.com/blockassets/bam_agent)

[3] [https://github.com/blockassets/bam_agent/blob/f7edce599b770b...](https://github.com/blockassets/bam_agent/blob/f7edce599b770b26189fd2c2fbb7cff81ac827a6/monitor/manager.go#L53)

[4] [https://github.com/blockassets/bam_agent/blob/f7edce599b770b...](https://github.com/blockassets/bam_agent/blob/f7edce599b770b26189fd2c2fbb7cff81ac827a6/web_server.go#L50)

</comment></comment><comment><USER9> Kotlin is doing something like this with coroutine cancellation. Not quite the same because the cancelation requires cooperation but I reckon you could add a timeout and get the composability that the article talks about

[https://kotlinlang.org/docs/reference/coroutines/cancellatio...](https://kotlinlang.org/docs/reference/coroutines/cancellation- and-timeouts.html)

</comment><comment><USER10> Its interesting that very few new languages actually take into account the maintenance of programs coded in the language. I still think that something like tuple spaces (Linda) that can be "frozen" would actually help in breaking apart programs so shutdowns and, more likely, partial shutdowns are possible.

<comment><USER11> Erlang-OTP

<comment><USER10> Yeah, that's one language, and I'm really not sure they went far enough.

<comment><USER11> OTP is still evolving. It's more like a standard library than a first class language or vm construct. What do you want? Perhaps some additional libraries could help</comment></comment></comment></comment>


The Strange and Complicated Future of the E-Cigarette Industry - <AUTHOR> https://pointsadhsblog.wordpress.com/2016/08/30/the-strange-and-complicated-future-of-the-e-cigarette-industry/ <comment><USER2> Is it just me or are we seeing more unabashed evidence of big government and big corporation collusion. The UK has numerous studies touting e-cgis as a more healthy than traditional cigarettes, by a quite large margin. This as well as the DEA announcement of Kratom getting Tier 1 drug status (I'm not kidding) proves that big tobacco and pharma dont give 2 #s about your lives or health. I'm starting to lose faith in the US system. Fast.

<comment><USER3> It's not their fault! As Heather Bresch and Martin Shkreli have been telling us, it's their fiduciary duty to their shareholders to manipulate government regulation in order to reap as much profit as possible.

<comment><USER4> I would actually agree, to some degree.

Sidenote: If you research more, Shkreli does have reasons for the price hike (research). He says that 60-70% of Daraprim is given for free and no one is dying from lack of access. I don't know how true it is, but he doesn't seem like a villain.

<comment><USER5> > _[Shkreli says that for most people,] Daraprim is given for free_

That's his PR pitch. Shkreli says he's giving drugs away for free, but really he's not. What's actually happening is his company makes a tax-deductible donation to an org that covers patients' _co-pay_ s, and leaves health insurers/Medicaid to cover the other 80% of the cost. Covering the co-pay keeps patients on the drug longer so his company can milk more money from insurers. It's a great moneymaking scheme.

Shkreli didn't think of this himself, many drug companies do the same. Like you mentioned, I don't think he's a villain for doing this, he's just a smart guy who saw how drug companies abuse the system and tried to copy them.

There's a lot more on this topic in this Bloomberg article [http://www.bloomberg.com/news/articles/2016-05-19/the- real-r...](http://www.bloomberg.com/news/articles/2016-05-19/the-real-reason- big-pharma-wants-to-help-pay-for-your-prescription)

<comment><USER4> Well, it's debatable whether that's "abuse". Companies need to make money to fund research (Shkreli says he's trying to find a "2016 version of Daraprim") and pay investors, and if patients aren't hurt, it's not necessarily bad.

<comment><USER5> Well, if his actual intent was to help patients who couldn't afford his drug, then he could just sell it to them cheaply. I don't think people would consider that abuse. Instead he chooses make roundabout tax-deductible contributions to a "charity" that covers patients copay's in a legally questionable matter, dumping the cost on their insurer/US government. Is that just some clever money making scheme, or is that abuse? Depends on your perspective.

Also, the patients _are_ hurt. Who pays for these drug price hikes? That cost is paid by patients in their higher insurance premiums and American taxpayers in their dollars to Medicaid. Companies that do what Shkreli did make healthcare more expensive for all Americans.

The underlying theme is that there are seriously perverse incentives issues in American healthcare that need to be resolved. Until then, some people will make a lot of money.

</comment></comment></comment></comment></comment></comment><comment><USER6> I don't know enough to say how these changes will affect the industry, but I've seen ecigs lumped in with tobacco in lots of ways and it's super shitty. Everything from "don't smoke or vape within 50 feet" to public-advocacy billboards warning kids not to get sucked in to this ecig thing because they're just as bad, we swear!!

I'm not going to say they're good for your health but smoking tobacco is SO bad for you that lumping them together is just disingenuous.

<comment><USER7> If people don't want you smoking by them, they usually don't want you vaping by them either.

<comment><USER8> Given the fact that it has no second-hand consequences to speak of should anyone really give a shit if someone doesn't want you vaping by them? Didn't think so.

<comment><USER9> Are you aware of any studies that examine the effects of the base fluids and /all possible/ additives on those with varying levels respiratory issues?

Also, when I go out to a park for exercise I'm going there for healthy fresh air. Not smoke of any form, or anything that looks like smoke, or adds funky scents. (I'd prefer if strong perfumes were also banned in public places; particularly restaurants and any form of waiting area.)

<comment><USER10> The e-cigarette manufacturers have succeeded alarmingly well in conveying the message that e-cigarette smoke is just water vapour. None explicitly say this now that government regulation is picking up, but it took root nonetheless.

A quick glance at the research published on this topic shows that the vapour from e-cigarettes contains significantly lower but not negligible amounts of carcinogenic compounds. If you are a smoker wanting to quit, this is probably a good trade off, but if you don't smoke, you are likely not to appreciate being treated to an unnecessary increase of harmful substances in the air you live and work in.

You are right to point out that these studies usually focus on a particular brand of e-cigarette filling or a limited range of them. Funky additives can add any amount of complex by-products to the vapour exhaled, further exacerbating the health threat. So yeah, treating e-cigarettes as normal cigarettes seems very sensible.

> I'd prefer if strong perfumes were also banned in public places; > particularly restaurants and any form of waiting area.

Or deodorant for that matter. I vastly prefer a subtle hint of Chanel No. 5 over the musky clouds of deodorant excessively applied by teenagers to mask the underlying teenage angst.

<comment><USER8> Care to cite the research? I have seen no carcinogens noted, although there are some heavy metal compounds that are worth concern.

<comment><USER10> I can't cite any research with authority, as I lack the academic qualifications to do so in this field — like most of us I depend on the insights of those who do to form an opinion — but studies like these¹⁺² seem to indicate that e-cigarette vapour are at least not devoid of carcinogens.

Searches on Google Scholar yield a number of papers that mostly seem to indicate that more study is needed to fully comprehend the toxicity of e-cigarette vapour, but that via second-hand smoke (or vapour) you are at least exposed to nicotine, and probably to some quantities of other toxins, possibly including carcinogens.

1: [http://www.sciencedirect.com/science/article/pii/S1438463913...](http://www.sciencedirect.com/science/article/pii/S1438463913001533)

2: [http://www.nejm.org/doi/full/10.1056/nejmc1413069#t=article](http://www.nejm.org/doi/full/10.1056/nejmc1413069#t=article)

<comment><USER8> First of all "toxins" is not a word you want to be using in such discussions. It is a term that tends to be thrown around by people who do not understand chemistry. It is all about the dosage, and so far most research shows that we are talking about some very low doses at best. The heavy metals I noted are probably the most concerning, since those actually do bioaccumulate, but "probably" and "possibly" are not sufficient here.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER11> I took a quick look at the linked FDA rule PDF, but I cannot figure out what the penalty is for not registering. For instance it is not clear what would happen to a small vape pen maker, selling into the legal marijuana states, who simply labels a product "This device NOT approved by the FDA for use with tobacco or substances containing nicotine; use with such substances may damage your health".

<comment><USER12> Thats because a rule like this is "secondary" legislation that hangs off some piece of "primary" legislation. Primary is created by Congress, secondary is created by government agencies as specified by the primary legislation. Somewhere there is a piece of primary legislation saying that the FDA can make rules regarding the manufacture and sale of some defined class of items. The preamble to the FDA rule probably mentions it.

That primary legislation will lay down the penalties for failing to comply. The problem is that the primary legislation doesn't relate the severity of the crime to the penalty, it just prescribes the maximum penalty. Since this has to cover anything up to selling baby milk adulterated with melamine, you are talking vast fines and years or decades in prison. In theory this could apply for failing to maintain proper paperwork on just one occasion. In practice the FDA gets to decide how serious your crime is, although it does have to be rubber-stamped by a judge, and if they wanted to do more than close you down then normal criminal evidence rules would apply.

<comment><USER13> So much for 'All legislative powers herein granted shall be vested in a Congress of the United States'!

Y'know, the Constitution ain't perfect, but it's better than what we have now.

</comment></comment></comment><comment><USER14> For people dependent on nicotine, check snus.

It is cheap to make yourself. Google "home made snus". There are Youtube videos.

It is not healthy -- still tobacco. You will be as dependent on this nicotine source as any other.

That said, the extra cancer risk is so small it is hard to measure. (You _probably_ risk mouth cancer -- but the risk seems to be less than the mouth cancer risk from smoking.)

It won't destroy your lungs, it is common with sports people like ice hockey players in Sweden.

And so on.

Disclaimer: I only use snus when drinking, so once or twice a month. I am not dependent on nicotine and am scared to be -- it is a wonderful drug. My only dependencies are coffee and the Dark Souls series.

</comment><comment><USER15> One of my biggest concerns is batteries. Are 18650 and 26650 batteries going to get more expensive because they are used in ecigs and will need to be stamped with FDA approval?

</comment><comment><USER16> Smokers are evolving to vapers(is there a word like that?) So the industry is evolving too.</comment>


The world`s first digital audio exchange... - <AUTHOR> http://www.audiopi.com Check out the world`s first digital audio exchange. A community driven development methodology that aims to change the way music does business... <comment><USER2> Three thoughts: 1\. Does this translate to creating more incentives for artists to do make great music and for fans to support great artists?

2\. This opens the question of who will eventually "own" the artist's work and how the legal aspects around that would be managed.

3\. I can imagine the RIAA (i.e. the middle men in this scenario) wouldn't take to this very kindly.</comment>


We Decided to Leave AWS - simple-login https://upcloud.com/community/stories/importance-network-reputation-email-delivery/ <comment> simple-login This version is more complete and contains more technical details on our decision: [https://simplelogin.io/blog/we-left- aws/](https://simplelogin.io/blog/we-left-aws/)

</comment><comment><AUTHOR> Wonder why they didn't leverage Amazon SES? SES has API and SMTP options and have infinitely better reputation than EIPs.

[https://aws.amazon.com/ses/](https://aws.amazon.com/ses/)

<comment><USER2> Yeah, I was thinking the same thing. This sounds like someone who did not know how to use AWS and trying to treat an EC2 virt like an email server circa 1998. Can someone explain why anyone would want to do a setup like described in the article?

<comment> simple-login ses pricing is not sustainable for our pricing model that offers unlimited forwards/replies.

We should have pointed this out in the article. Btw we know pretty well aws.

</comment></comment></comment><comment><USER3> Managing your database yourself because of poor ip reputation experience seems like a bit of an overreaction to me.

<comment> simple-login Another feature of SimpleLogin is self-hosting and we don't want to be dependent on a specific cloud.

The database does not have high i/o need and we don't store much data so a self managing a database is doable.

</comment></comment><comment><USER4> That is amazing! I hope to see more posts like that.

Maybe more people will notice how simple things are outside of the aws realm.

Unfortunately more you use, harder to leave aws.

<comment> simple-login Absolutely! We also feared that it's going to be hard to scale without all the aws features like rds, load balancer, s3, etc but we discovered better & easier to use tools for each need since we left Aws.

</comment></comment><comment><USER5> You can bring your own IPs to AWS instead of reused Amazon IPs that don't have great reputation. Of course that assumes your reputation is better.

<comment> simple-login We have studied that option but the price exceeds an early, bootstrapped startup budget unfortunately.</comment></comment>


Early morning fire at Tesla battery testing facility [Jan 2012] - <AUTHOR> http://abclocal.go.com/kgo/story?section=news/local/peninsula&id=8498972

<comment><USER2> weren't they going to sell Boeing batteries that don't blow up?</comment>


Bill Gates: Why I Gave My Blood to Defeat Dengue - <AUTHOR> http://www.gatesnotes.com/Health/Why-I-Gave-Blood-to-Defeat-Dengue-Mosquito-Week

<comment><USER2> Are there any good documentaries about Bill Gates, and his philanthropy work? I remember seeing TED talks, and a number of short videos and articles, but are there any more substantial videos covering this recent work and upcoming goals?

</comment><comment><USER3> I wonder if he is going to spend money on fighting antibiotics-resistant germs in the first world.</comment>


Sourcegraph 2.7 - <AUTHOR> https://about.sourcegraph.com/blog/introducing-sourcegraph-2-7/ <comment><USER2> Sourcegraph CEO here. Thanks for posting this!

The blog post has a GIF of code intelligence (hovers, go-to-definition, and find-references) in a diff. There's another nifty animated GIF on our homepage showing the code intelligence integration for GitHub: [https://about.sourcegraph.com/](https://about.sourcegraph.com/). Our new tour at [https://about.sourcegraph.com/docs/tour](https://about.sourcegraph.com/docs/tour) has some links to try it out on open-source code (although for the real experience, you can follow the steps on our homepage to run it inside your own organization to use it with your internal code). And check out the overview/FAQ at [https://about.sourcegraph.com/docs/overview](https://about.sourcegraph.com/docs/overview).

Finally, we have an awesome team based in SF and around the world (Arizona, South Africa) building Sourcegraph. We're growing quickly as more devs bring Sourcegraph into their companies and their companies adopt Sourcegraph (we can show you nice-looking charts :). If you want to learn more about joining the team, email me at firstname.lastname@example.com with the thing you'd most like to improve about or add to Sourcegraph.

<comment><USER3> Hi, really great work on SourceGraph, I absolutely love using it for Go on Github. I'd also love to try it at work for a somewhat large C++ code base. Do you have any update on C++ support?

</comment></comment><comment><USER4> How does this compare to google's cs/slash code-search frontend?

That's what I'm really after... it was a super useful tool for finding working examples across gazillions of LoC.

<comment><USER5> Sourcegraph CTO here. Our leading source of referrals and early adopters inside companies is ex-Googlers, and for good reason -- Sourcegraph takes a lot of inspiration from CS with things like jump-to-def, find-refs, and regex text search. It's built to scale to both large monorepos and collections of many repos.

Of course, we like to think we take things further, with support for more languages, connecting your code to all the open-source code you probably use, and integrations for most major code hosts and review tools. If you try it out, we'd love to hear from you and how you think it stacks up to the code search you used at Google :)</comment></comment>


10 Stinky Things To Avoid In Java - <AUTHOR> http://nerds-central.blogspot.com/2012/03/thoughts-on-functional-bad-smells-in.html

<comment><USER2> I agree with most of them, but I like to use 'break' if it avoids using a huge 'if' or an "are we finished yet?" kind of variable. Also static functions are good, especially if you have a MVC approach and you have a lot of controllers which work on two or more objects.</comment>


StackOverflow Importer – Import code from Stack Overflow as Python modules - <AUTHOR> https://github.com/drathier/stack-overflow-import <comment><USER2> Relevant xkcd: [https://xkcd.com/1185/](https://xkcd.com/1185/)

"StackSort connects to StackOverflow, searches for 'sort a list', and downloads and runs code snippets until the list is sorted."

<comment><USER3> And [https://gkoberger.github.io/stacksort/](https://gkoberger.github.io/stacksort/) is an actual implementation of that sort.

</comment></comment><comment><USER4> This might be a joke but everybody does it manually for real. Whenever I copy- paste some tricky function from SO I like to add a code comment with the url pointing to the stackoverflow.com answer. This allows future maintainers to refer back to SO and see if a better answer has surfaced or read comments about any issues.

<comment><USER5> I never, ever copy paste code, unless it's really long. I always end up rewriting everything myself, so I have the time to think about what's happening.

<comment><USER6> Hmmmm. I'm the other way round. I copy and paste short snippets because I'm lazy and I can see if they are ok at a glance. Longer code I'll go through line by line and try and 'touch' each line to force me to think about it.

</comment></comment></comment><comment><USER7> Reminds me of stacksort[1]

[1] [https://gkoberger.github.io/stacksort/](https://gkoberger.github.io/stacksort/)

<comment><USER8> Very funny. I hadn't seen this before. I particularly like:

>>Is it safe?

>>Uh… it evals both user input and random code, unchecked, from an external site. This is what security-minded folks would refer to as Very Bad™.

<comment><USER9> I do my best to make it safe(ish), though :) It only runs code samples that were posted before I made StackSort.

<comment><USER10> What if someone edits an answer posted before you made it?

</comment></comment></comment></comment><comment><USER11> Awesome. Now we just need to integrate upwork with our IDE so I can just write the method signature and a bid price and my method will be magically implemented.

</comment><comment><USER12> It's interesting to imagine adding something like this to an editors auto complete or as some kind of search function to automate functions you've coded a million times.

I.e. maybe you type: "repeat a function over a list python" in a special format and your editor pastes in the accepted answer from stackoverflow for you to choose whether that's acceptable / whether you want to use it as a template. Then maybe you could get into a better flow without ever having to stop what you're doing to Google something ... It would all just show up magically in your editor.

You could even have libraries of common answers written in such a way that you could write expected input and output formats and then get a code fragment that would fit that description. Something like a more organized test driven development. Though that would really only work for very specific things. Improve these ideas enough and make them more general - and maybe you could improve programmer productivity by quite a large margin.

Disclaimer: I know the OP was a joke but I see no problem with reusing code if you understand what its doing and the costs / trade-offs for doing so.

<comment><USER13> There is something like that for JavaScript [https://emilschutte.com/stackoverflow- autocomplete/](https://emilschutte.com/stackoverflow-autocomplete/)

</comment></comment><comment><USER14> It brings new meaning to the term "full-stackoverflow developer."

<comment><USER15> Err.. did you mean "full-stack(overflow) developer"?

</comment></comment><comment><USER15> I like the description: "Import _arbitrary code_ from Stack Overflow as Python modules."

(Emphasis mine.)

\--

Now Stack Overflow should be even more concerned about the availability of their service.

</comment><comment><USER16> Way ahead of you: [https://twitter.com/ckolderup/status/789002880246177792](https://twitter.com/ckolderup/status/789002880246177792)

</comment><comment><USER17> It's hard to imagine a better argument for vendoring your dependencies in case they change.

</comment><comment><USER18> because executing arbitrary unknown code is always a good idea

<comment><USER19> On the other hand, at least the code has gone through some review.

Compare that to NPM or PyPI, which is full of crap. Some of the modules in PyPI were merely ads for putlocker, without even a single line of Python.

<comment><USER20> >Some of the modules in PyPI were merely ads for putlocker

Seriously? Are they still there?

</comment></comment></comment><comment><USER21> Based on some of the comments here, a sarcasm disclaimer might be necessary on the repo!

<comment><USER22> (OT) HEY! I finally noticed your Desert Combat comment and responded to it. If only HN had a better commenting/messaging system...

</comment></comment><comment><USER23> I often find that the accepted answer with the most votes is the oldest and often outdated and that there's a newer answer with also a lot of votes which is more up to date and better many times.

</comment><comment><USER24> Stackoverflow-driven development (SDD):

[https://goo.gl/images/xXCZrx](https://goo.gl/images/xXCZrx)

<comment><AUTHOR> Did I just render that book obsolete?

<comment><USER24> Not sure what you mean..

</comment></comment></comment><comment><USER25> Can I be all code review mode, and ask you to lower case the first f. It's sticking out like a sore thumb

</comment><comment><USER26> And the relevant book for people who prefer reading material. [https://tra38.gitbooks.io/essential-copying-and-pasting- from...](https://tra38.gitbooks.io/essential-copying-and-pasting-from-stack- overflow/content/)

</comment><comment><USER27> I did something similar with a project that allowed you to import code from anywhere[0]. StackOverflow would be a nice addition.

[0] [https://github.com/libeclipse/import- from](https://github.com/libeclipse/import-from)

</comment><comment><USER28> Cool joke. Post leftpad it needs a disclaimer lest someone actually do this for real.

<comment><USER29> I'm kind of shocked how many people here are talking as though they would actually include this in a codebase.

<comment><USER30> What if, somehow, there was a guarantee that the code can't harm your machine -- would you use it then?

This isn't a joke.

<comment><USER31> It's not just about harming your machine - it can harm your* data, or data passing through your* system!

* Where "your" can mean you, your employer, your customer, another company, etc.

<comment><USER30> What if it can't harm _your data, or data passing through your system_?

What if it can't harm anything.

<comment><USER32> How could a system that executed arbitrary code ever make such guarantees? I mean sure, if there were a magical thing that only ever produced correct code for what you wanted to do I guess people would use it.

</comment></comment></comment></comment></comment></comment><comment><USER33> Its amazing how little code it takes to implement this (aside from dependencies).

</comment><comment><USER34> And then: [http://code.visualstudio.com/blogs/2016/11/3/rollback](http://code.visualstudio.com/blogs/2016/11/3/rollback)

</comment><comment><USER35> If I have editing powers could I hijack the answer that gets its code imported?

<comment><USER36> Edits get reviewed before being published.

<comment><USER37> No they don't. From [http://stackoverflow.com/help/privileges/edit](http://stackoverflow.com/help/privileges/edit)

> We believe in the power of community editing. That means once you've > generated enough reputation, we trust you to edit anything in the system > without it going through peer review. Not just your posts—anyone's posts!

<comment><USER15> If you've been on Stack Overflow enough, you might have noticed that crap is sometimes approved even after peer-review. Many doing the review do it like robots (to earn internet _reputation_ and _badges_ ).

</comment></comment></comment></comment><comment><USER38> This is a really stupid idea, even as a joke to play with. Someone can just edit the top answer to make it malicious and steal your personal or work data from your workstation.

<comment><USER28> and then own your network, your DVR, your toaster, your cat.

<comment><USER39> Please leave the cat!

</comment></comment></comment><comment><USER40> This is a pretty cool idea! Concerns for running unknown code aside, it seems like the results of this type of thing would be prone to potentially frequent change.

I wonder if there'd be a way to maintain consistency, something like a requirements.txt file that got spit out to describe what the results of the search terms mapped to when the code was run.

It could just contain the search term and link to the chosen question. Although you'd still run the risk of the answer itself being edited. The code itself would have to be cached in whatever this file was.

</comment><comment><USER41> What a fascinating concept! I think that with some kind of review built in, this kind of dynamic loading would be really useful.

I think if you do this, you'd want external tests, or some way to pull the code in and "freeze" it so that you wouldn't be at risk of external compromises. (For example, a high ranked SO user might be able to change a highly ranked answer . They might not do it, but someone suborning their account might.)

But really, this is an optimization of a lot of code that is currently written.

<comment><USER42> I don't see this being useful for real programs, but it could be amazing for interactive use in a shell. I use iPython for all sorts of quick data manipulation daily, and being able to just quickly type an idea and get it would be amazing.

<comment><USER41> You're right, maybe it is better for prototyping, but as I've experienced, for better or worse what you prototype sometimes becomes production.

</comment></comment></comment><comment><USER43> Anyone else tinkering with / armchair philosophizing about ways of making stuff like this practical for regular use?

</comment><comment><USER44> This is a license hell, whatever you do, don't use it if you care about your code not being owned by other people.

</comment><comment><USER39> Importing and running code from an external site without verification or code review. What could possibly go wrong?

</comment><comment><USER45> What a time to be alive. Edit: this is officially the best thing to happen to me this week, heck, month.

</comment><comment><USER46> This is so funny. Kudos to the author!

</comment><comment><USER47> I look forward to using this in a future job interview and seeing what happens.

</comment><comment><USER48> This is awesome. But how is `time_delay` used?

<comment><AUTHOR> The code snippet it finds imports sleep and calls it directly. Fire it up in a repl and check __author__ or _code yourself :)

</comment></comment><comment><USER49> Makes me think of Kite[1]. Kite is a "real" thing that one can use though.

[1] [https://kite.com](https://kite.com)

</comment><comment><USER50> Somewhat related [https://github.com/gleitz/howdoi](https://github.com/gleitz/howdoi) with the vim frontend [https://github.com/laurentgoudet/vim- howdoi](https://github.com/laurentgoudet/vim-howdoi)</comment>


Shipwire - <AUTHOR> http://www.shipwire.com/ <comment><USER2> For someone ignorant of physical product businesses, can someone please explain how this is better or different that existing logistics vendors?

<comment><USER3> Which existing vendors are you speaking of? FBA?

<comment><USER2> I don't know, that's why I asked. What is FBA and how are they different from Shipwire?

<comment><USER4> This is a pretty useful write up comparing Shipwire to other services. Might be helpful.

[http://davidseah.com/blog/2013/06/comparing-fullfillment- by-...](http://davidseah.com/blog/2013/06/comparing-fullfillment-by-amazon-to- shopify-shipwire/)</comment></comment></comment></comment>


Cappuccino Apps and the Web Store - <AUTHOR> http://cappuccino.org/discuss/2010/12/08/cappuccino-apps-on-the-web-store/ After only a few hours eight Cappuccino apps have shown up on the Google web store! <comment><USER2> If you have an application built with Cappuccino on the Web Store it would be great if you added a line to the description to allow us to find all the Cappuccino apps, something like "Built with cappuccino.org" would be perfect.

</comment><comment><USER3> I'm in love with Mockingbird....such a great product for a non-designer to make mockups that look sharp.

</comment><comment><USER4> I know it's early, but so far the Chrome Web Store confuses me a little bit, in that almost all the ones I tried were nothing more than a bigger shortcut to the regular website/webapp. I feel that anything that's on the web could be in the Web Store with just the right manifest file.

So isn't it like all Cappuccino Apps could be in the Web Store right away? Does the Web Store make them that much different? (I do see that PicsEngine integrates single sign-on with a Google account, but this is relatively minor in my opinion)

<comment><USER5> Many of the included apps (like NYTimes, Amazon, etc.) have Chrome Web Store apps that are separate from their regular websites. (Of course, it's debatable whether these app versions are _preferable_ to their standard website counterparts.) The Web Store team emphasized to us the discovery aspect of the store. They also seem to be pushing Chrome Web Store payments as a way to increase paid conversions through one-click purchases from users who need only enter their CC details once.

</comment></comment><comment><USER6> Some of the Cappuccino apps I've seen are very nice but the language really seems like a step in the wrong direction from Javascript. JS has its warts, to be sure, but I still find it a lot more readable than Obj-J.

<comment><USER7> That's a valid opinion, but I can't say I agree (and I imagine you would be surprised if I did).

There are plenty of reasons why Objective-J is a good idea, but the single most important one in terms of readability is the structure it adds.

There are so many different ways to do the most basic things in JavaScript that reading or sharing code between authors (often even within a project) can be a nightmare. There are lots of times where it really doesn't matter, but when you are writing large scale applications, which often run in the tens or hundres of thousands of lines of code, it makes a big difference.</comment></comment>


Announcing .NET Framework 4.6 - <AUTHOR> http://blogs.msdn.com/b/dotnet/archive/2015/07/20/announcing-net-framework-4-6.aspx <comment><USER2> Switching to RyuJIT is great. Also, the SIMD support being a first-class citizen in the runtime and BCL seems huge for gaming and number-crunching related applications.

<comment><USER3> _> huge for gaming_

Not really, as they have no story for Mono not to mention ARM NEON support.

<comment><USER4> Is "story" the new hip substitute buzzword for "solution"? I really don't understand why I've started seeing it used in weird contexts lately.

<comment><USER5> Marketing buzzwords should not be used by programmers who want to be taken seriously.

<comment><USER6> I remember reading a report that found that the use of buzzwords was a benefit when done among management. But telling developers to leverage their synergies is probably not going to help you at all unless you are joking.

</comment></comment></comment></comment></comment><comment><USER7> I really like the .NET Framework, so this is firmly tongue-in-cheek, but I found this amusing:

      Switch.MS.Internal.DoNotApplyLayoutRoundingToMarginsAndBorderThickness=false

<comment><USER8> Yikes, that's horrible. Both for it's length and the double-negative.

<comment><USER3> Really? Stay away from Java then :):

_HasThisTypePatternTriedToSneakInSomeGenericOrParameterizedTypePatternMatchingStuffAnywhereVisitor_

[http://grepcode.com/file/repository.springsource.com/org.asp...](http://grepcode.com/file/repository.springsource.com/org.aspectj/com.springsource.org.aspectj.weaver/1.6.3/org/aspectj/weaver/patterns/HasThisTypePatternTriedToSneakInSomeGenericOrParameterizedTypePatternMatchingStuffAnywhereVisitor.java)

<comment><USER6> You forgot the best part.

      public boolean wellHasItThen/*?*/() {
        return ohYesItHas;
      }

<comment><USER9> I _honestly_ though you and gp were just making it up exaggerating. This is even more absurd than made-up examples I've seen. And it's _real_.

I'm unsure if I should laugh or cry.

</comment></comment></comment></comment></comment><comment><USER10> > High DPI support in WPF is now better.

Its about time.

<comment><USER9> "better" means "not yet finished, but we've started" in my book. Which is quite quite sad. Why aren't windows' GUI elements all vectorized by now?

<comment><USER11> WPF actually is, but apparently not everything in code is measured in WPF's quasi-pixels, apparently, so a few spots may look off. That said, none of the things they fixed looked especially horrible before. I've seen much worse in other toolkits.

</comment></comment></comment><comment><USER12> It really does put a big fat grin on my face to see C#/.Net get love here. I've been using it for years and love what it has evolved to. But the msft bashing on hn (thus, by default, all ms products, with maybe the exception of F#) was really hard on the proverbial soul for the longest time.

I hope to one day be able to natively do C# on linux under a vs parity ide (the tools are really great).

<comment><USER13> MS has definitely made strides the last few years.

Still, they haven't given up on their product-key nonsense and their unfortunate cozy relationship with govt-surveillance types which are incongruous with open platforms. There's progress left to be made before I will consider their products again.

</comment></comment><comment><USER14> I am really curious at how is the scene for .NET developers, with the rise of things like nw.js(node-webkit) and electron(github's atom shell).

I do know that the framework is stronger and more test proven but the traction this type of tools are earning is important.

Will the .net framework will conquer the heart of developers with the release of some of their projects as open source, and will create the best cross platform desktop development kit?

Or is it doomed to be a Windows only beutiful thing.

<comment><USER15> If you can live with the Windows only target, developing desktop apps in .NET/WPF using Visual Studio is incredibly pain free in a way that I've never found developing HTML websites. Maybe those frameworks take some of the pain away, but I can't imagine that ease of development is anywhere near that of WPF. It helps that C# is a very nice language with a really great standard library.

<comment><USER16> Webapps still haven't catched up with the 90's Delphi experience of doing desktop apps.

<comment><USER17> Yeah. The sad thing is so many web devs have never written a desktop app of any kind, so have no idea how painful the web really is. I loved Delphi in the 90's. That said, modern tools have far surpassed it.

If you want a C#+WPF type experience that's also open source and cross platform, check out Kotlin and JavaFX. JFX is the new third gen (post-Swing) GUI toolkit in Java and it's quite impressive. It's scene graph structured like WPF, has data binding, but also pays close attention to visuals: you can style it with a dialect of CSS, everything is 3D accelerated via D3D or OpenGL, you can do shader based effects on any part of the UI, etc. It has all the usual layout management and business components but also can do things like embedded h264 videos, 3D objects, and there's a tightly integrated embedded WebKit too if you need it.

Finally there's a tool that takes your app and spits out bundled/native packages for each platform, so the user doesn't ever have to know that the app was written in Java. No JRE or awful toolbars to install.

I've written a few apps this way and it's much more fun than writing a web app.

<comment><USER18> I tried JavaFX circa 2009 and it was scary; pure black magic in terms of what the same code would on a given day. I guess Oracle put some effort into it over the years, but never, ever again will I touch that language.

<comment><USER17> It's not a custom language anymore. It's just a regular widget toolkit API like Swing. There is a thing called FXML which is a run of the mill XML based layout language, with a GUI designer called Scene Builder.

</comment></comment></comment></comment></comment></comment><comment><USER19> > New in C# 6! Enables a concise syntax for calling static methods without > type qualification.

Essentially you still have to put your functions in a class, but you're allowed to call them without the class (if desired). Kind of like "free functions" in C.

I like C#, but it looks like the team is running out of ideas. Or, perhaps, they realized that the "everything must go in a class" mantra was a bad idea.

<comment><USER20> I don't think it's that they've run out of ideas, it's that they're being picky with what they implement as C# is fairly modern but also fairly mature. This isn't like the C++ revolution of the past few years where they've been adding new, interesting, (and sometimes dramatically different) features to a decades old language.

Regardless, this change is very handy. Even if "everything must go in a class" is a bad idea (I think it's fine), the end result of this change, from the library consumer's standpoint, is the same as having functions defined outside a class but within a namespace. It's a great pragmatic change that doesn't rock the boat much.

In line with that are the other mostly minor but time saving changes like simplified null coalescing.

      public static string Truncate(string value, int length)
      {
        return value?.Substring(0, Math.Min(value.Length, length));
      }

In previous versions this looks like:

      public static string Truncate(string value, int length)
      {
        return value != null ? value.Substring(0, Math.Min(value.Length, length)) : null;
      }

Not a huge change, but a very handy one to have.

<comment><USER19> I recognize that this particular change is meant as a convenience. But I'm not the person who put the exclamation mark in the part that I quoted from the article. And it makes me laugh that one feature they specifically call out is the ability to do what programming languages could do in, say, 1958 ( [https://en.wikipedia.org/wiki/ALGOL_58](https://en.wikipedia.org/wiki/ALGOL_58) ).</comment></comment></comment>


Mt. Gox Bitcoin exchange enters administration - <AUTHOR> http://www.ft.com/cms/s/0/dce7ca02-c54b-11e3-a7d4-00144feabdc0.html

<comment><USER2> Paywalled. Free on [http://www.bbc.co.uk/news/technology-27050902](http://www.bbc.co.uk/news/technology-27050902), but not much detail present.

</comment><comment><USER3> Don't post articles with paywalls here.</comment>