Proposal: A Code of Conduct for the Go Community - <AUTHOR> https://github.com/golang/proposal/blob/master/design/13073-code-of-conduct.md <comment><USER2> The rules lawyer in me sees these two points, which can be employed to immediately shut up anybody for fear of expulsion:

       * Harassment (either in public or private; if someone asks you to stop
         speaking to/at them, you must stop immediately)
       * If someone takes issue with something you said or did, resist the urge to
         be defensive. Just stop doing what it was they complained about and
         apologize.

As soon as anybody talks to you, just tell them you "take issue with it" and they have to shut up or be shunned.

Also, this is is clearly US-centric, with its puritan-christian view of sexuality as destructive:

        This section states the values to which Go enthusiasts ("Gophers") should
        aspire, and the kinds of behaviors that are not acceptable in our community.

...

       * Romantic or sexual commentary, remarks, or questions.

<comment><USER3> Those are pretty clearly off topic from the subject of golang, don't you think?

<comment><USER2> Actually, the Code of Conduct is intended to be all-encompassing:

      Where does it apply?

      The Code of Conduct applies generally. If you
      participate in or contribute to the Go ecosystem
      in any way, you should
      observe the Code of Conduct.

So, golang is a way of life, according to this CoC.

<comment><USER3> What I meant by off topic is that any "Romantic or sexual commentary, remarks, or questions" in a Golang communication forum are off topic.

Having that go against the code of conduct does not necessarily suggest a puritan view of the world, but an understanding that those are rarely constructive to the conversation.

</comment></comment></comment></comment><comment><USER4> "Please do not publicly discuss this" is very worrying from a process standpoint. There's a very important thing that directly messaging the authors doesn't do - it makes people aware that other people find it unreasonable.

For instance, it'd be somewhat straightforward to imply that there aren't many people with issues with the CoC.

<comment><USER5> Yes. There's been a troublesome pattern lately where someone, usually a stranger, comes into a software-related community requesting a code of conduct, which usually enshrines a very narrow political viewpoint and is easily abused for harassment purposes; the community protests or at the very least demonstrates that opinions are highly divided on the topic; and then the operators of the community install the code anyway.

It kind of looks like in this case the operators of the community are going to cut out the middleman.

</comment></comment><comment><USER6> So is this a current problem that even needs to be solved?

Rarely have I seen a programming language community turning so vile that wide reaching rules need to be established.

I agree with the concern voiced here that it could be (ab)used to stifle unwelcome discussion, even if the points all look nice and all at first sight. The problem with these is that they are so, so very subjective. When was something even "snarky", when does something "derail" a discussion, and perhaps toughest of all, how do you properly identify "microaggressions, subconcious actions that marginalize oppressed people", judging intents per definition not even conciously made!

Again, is this even a problem that needs to be solved, or is discussion thriving today? This should be the number one question. Number two: Which, if any, problems need rules today? No more than necessary, no less.

</comment><comment><USER7> > For a community of this scale to survive and prosper, it needs guidelines to > encourage productive and positive experiences, and to effectively deal with > negative experiences.

Nope - actually it doesn't need any guidelines for its experiences because it is software, not an ideology. You can block spam and moderate discussions in whatever forums and mailing lists you own, but to associate a programming language with your arbitrary set of social norms is absurd. If anything, it is exclusionary toward people who don't subscribe to the "your freedom of speech ends where my feelings begin" world-view.

> While a major goal of this proposal is to make the community more inclusive, > this does by definition exclude people that cannot abide by the goals and > principles of the code. I see this as a regrettable but necessary and > inescapable design tradeoff. The implementation of the code may cause us to > lose a few people, but we stand to gain much more.

You "stand to gain much more"? Who are you to decide that creating rules to exclude one group of people in order to comfort another group is a good decision? And it's not an "inescapable design tradeoff" \- you can escape the design tradeoff by simply not adding your rules to the project.

> Examples of "microaggressions":

> \- J is a regular poster to the golang-nuts mailing list. On one thread, > they make the comment "Go's type system is so simple even my grandma could > understand it."

> \- Another poster points out that the comment goes against the code of > conduct, since it marginalises women and the elderly by implying that > something need be simple for an old woman to understand it.

The phrase "even my grandma could..." is a fairly common idiom and is not meant to be taken literally. If anything, J's comment should be ignored because J is just stating a random opinion. However, playing the devil's advocate, I could say that the 2nd poster is actually committing a cultural "microaggression" against J, and is marginalizing J for J's distinctive dialect.

</comment><comment><USER8> This is going to end badly. It's going to grow and eventually be used to stifle dissenting comments and open discussion. The authors asking you not to discuss this publically is very telling.</comment>


SH: WePickFlix.com – Recommendations For a Group (Couples, families, siblings) - <AUTHOR> http://WePickFlix.com <comment><AUTHOR> HI Guys, I am very excited to share my very alpha version of my COVID side- project. I've build a recommendation engine , with a "twist"

The twist being that, since TV/Movies is usually a "group" activity why not have a "group recommendation" engine. You can still use it for yourself as well.

Some key points and limitations:

0) Build with Svelte

1) No user accounts - we don't store user data. Yea 4 privacy !

2) Find similar movies after "adding" a few "seed movies" to the left.

3) "Group Sessions" automatically goes away after 45 minutes.

4) This is done all in memory and via Redis.

5) No TV shows yet (working in it)

6) Movies only up to 2019 used (working on adding more)

Looking for some good feedback or suggestions.</comment>


Scheme without special forms - <AUTHOR> http://mainisusuallyafunction.blogspot.com/2012/04/scheme-without-special-forms.html

<comment><AUTHOR> This is an implementation of (as the name suggests!) Scheme without special forms, inspired by John Shutt's Kernel language. See <http://web.cs.wpi.edu/~jshutt/kernel.html>, <http://lambda-the- ultimate.org/node/1680>, and <http://fexpr.blogspot.com> for more discussion, and [http://axisofeval.blogspot.com/2011/09/kernel- underground.ht...](http://axisofeval.blogspot.com/2011/09/kernel- underground.html) for implementations.</comment>


Webpack Doesn't Work on Monday (On Windows) - <AUTHOR> https://github.com/webpack/webpack-cli/issues/962 <comment><USER2> I'm sorry, link to a fix found here:

[https://twitter.com/evenstensberg/status/1145755812129845249](https://twitter.com/evenstensberg/status/1145755812129845249)

Happy to help you to fix the issue through email or DMs...

Even (One causing this issue..)

<comment><USER3> Everyone breaks something in prod at some point, don't beat yourself up.

</comment></comment><comment><USER4> ... due to a bug in the code that is supposed to show banner asking for donations.

<comment><USER5> Yeah looks like it didn't have the intended effect, some people consider moving away from webpack due to this: " Someone should really rethink if this is the most effective way to get donations (while I rethink if webpack should be kept in our toolchain)." Which is understandable, everytime something breaks is an opportunity to rethink whether you really need that dependency, and if so whether there would be a better alternative implementation .

<comment><USER6> I think that's an exaggerated reaction. Bugs happen all the time, is this one any different because it involved such unusual circumstance? It wasn't a security bug, and how many users did actually freshly install Webpack on Windows-based computer on monday? Not a large subset. So it's more amusing than harmful.

Whenever things like these happen, of course you should think if the effort ripping off Webpack is better than suffering possible losses of productivity in the long run. But for majority existing projects I'd bet the projected cost of lost hours vs the cost of changing your bundler would result in net-loss.

And as an observation, I feel programmers often have a habit of lamenting loudly about other people's mistakes while not saying a word if they make an error of their own. Maybe they have a psychological need of maintaining a feeling of superiority about your own abilities, I don't know. Just something I've noticed during my years.

<comment><USER7> Just to correct you, this bug doesn't happen during an install, it happens when Window users run a build. Builds were badly broken 1/7 of the time because of some shady code that really shouldn't have made it through any kind of review. And yeah, I've written some shitty code too, but can't say that I've bricked an important tool 1/7 of the time in the name of a sketchy donation banner.

</comment></comment></comment></comment><comment><USER8> Other day related bugs: OpenOffice can't print on Tuesdays

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

<comment><USER9> For a lark someone should curate a collection of these kinds of errors, even if fixed, and make a calendar of what days we can't do certain things.

<comment><USER10> There's the classic 'Wednesday bug': [http://web.media.mit.edu/~lieber/Lieberary/Softviz/CACM- Debu...](http://web.media.mit.edu/~lieber/Lieberary/Softviz/CACM- Debugging/Hairiest.html) [Story 'B']

(I'm sure I've read a longer version of this one somewhere else on the internet.)

</comment></comment></comment><comment><USER11> Easy fix: just don't work on Mondays. ( you don't really want to anyway...)

A: "Hey boss, I'm not coming in today."

B: "Why not??"

A: "Well, webpack does not work on Mondays. Do you expect me to write plain Javascript code without Babel???"

B: "Makes sense. See you tomorrow."

<comment><USER12> Try my new JS library! Key feature: it doesn't compile when the weather is nice outside.

<comment><USER12> Call it `time-pad`

</comment></comment></comment><comment><USER13> The lesson here is that codepaths gated by conditionals like "if day == MONDAY" get 1/7th the testing of codepaths that aren't. If you want to have features like this, which is fine, check those code coverage reports and make sure that your tests can pretend it's Monday.

<comment><USER14> And the incentive to do that is?

<comment><USER7> Basically, it's a good chance to:

1.) Question whether that codepath should be gated to a particular day of the week.

2.) Assess the cost of that codepath failing (or failing to load). Does it have the potential to brick the project?

3.) How big could the bug be? If software tells me it's "just another manic Monday" on Tuesday, or that I should "Walk like an Egyptian" on February 31, who cares? There is no incentive to unit test because honestly, who cares? On the other hand, if it has the potential to brick the project, go back to #1. Do you really need to test the day of the week? Are you bloody sure?? :)

4.) If you reach #4, it's time to invest in unit tests. You wrote a condition where a day of the week test could result in software failure.

</comment></comment></comment><comment><USER15> Reminds me of this old classic:

Openoffice can't print on Tuesdays

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

<comment><USER16> Reminds me of the build script I found in a single-dev project I inherited: failed due to truncated/missing leading zero when the wall clock was earlier than 10 am. My predecessor was notoriously late at the office, it would have worked for him every single time.

<comment><USER17> Ok, let me up the game. I had one simple short-lived cron command that failed on even minutes before h:20 where 5AM < h < 8AM on Sat, Sun, Mon.

Cause was another job that hammered IO because reasons, so mine was being killed by some unreported IO timeout after 1min, and retried the next minute (so every other minute). The other one was scheduled to run on off business time (weekends and Monday before people get to work) and had some burstiness that made the IO go down enough every other minute which allowed my short- execution one to proceed.

top was silent because IO, took us a long time to even thing about iotop because the failure was non obviously tied to IO.

</comment></comment></comment><comment><USER18> Reminds me of the classic "I cant send email more than 500 miles" story: [http://web.mit.edu/jemorris/humor/500-miles](http://web.mit.edu/jemorris/humor/500-miles)

</comment><comment><USER19> For additional hilarity: This bug was introduced because it displays a banner asking for donations.

People complained that the dontation message was being shown too often. So they made it ask on mondays only.

<comment><USER20> A problem with OSS funding, not surprised. If only 1% of all the productivity lost with this bug was donated to Webpack, they would probably not need to ask for money at all. But the market doesn't work that way, so it's just a sad reminder of our own problems.

</comment></comment><comment><USER21> Apparently it "crushes". It doesn't "crash". It "crushes".

</comment><comment> pure-awesome Reminds me of this:

"We had a unit test once which only failed on Sundays" [https://qntm.org/unit](https://qntm.org/unit)

<comment><USER22> Ugh, thanks, now I have to read the Fine Structure series all over again.

<comment><USER23> Link?

<comment><USER24> > _Link?_

[https://qntm.org/structure](https://qntm.org/structure)

</comment></comment></comment></comment><comment><USER25> I really want to find an alternative to Webpack for our projects.

Webpack + babel is an extremely fragile piece of tooling that eats work hours of senior devs like a candy.

Few years ago it might've been like 50/50 split in between fighting tooling and development in shorter term projects

The problem in replacing webpack+babel combo is that what we call "the JavaScript ecosystem" over the years turned into a "webpack ecosystem" with even most trivial packages not working with some kind of all-involving "build process"

<comment><USER26> I've been trying out parcel ( [https://parceljs.org/](https://parceljs.org/) ), so far it has been awesome, the normal flow just works without setup for most projects.

</comment></comment><comment><USER27> A bit off-topic but imagine if there was an internet-free day, like Sunday...</comment>


The decline of PCs and the rise of smartphones and tablets was predicted in 1993 - <AUTHOR> http://www.dodgycoder.net/2012/11/the-slow-decline-of-pcs-and-fast-rise.html <comment><USER2> Lets get it right: PC _sales_ are declining and tablets are _hyped_.

PC _usage_ isn't declining. There is just no reason to upgrade any more. A bottom end PC from 2 years ago doesn't give you anything more than a brand new one. Our dev workstations are 3 years old and still spot on performance-wise.

Everyone I know with a tablet has a PC and uses it heavily. The tablets are but a small diversion.

However, that is until you realise that Microsoft actually got this when they designed Windows 8 and surface. They worked out how to provide one device which fills both niches. Now Windows 8 and surface aren't perfect, but they will become in time...

Then the PC is dead. Oh no it's not - it's a tablet shaped PC. Again it evolves...

<comment><USER3> Windows 8 is like a queen sacrifice. Windows knows it's burning its bridges, but forcing people to get used to Windows surface. People will hate it on the desktop (because change is bad), but pick a Windows tablet because they've already learnt (unwillingly) how to use it. I'm not saying it's a crap OS, just different. People hate different. Once they get used to it on their PC, it won't be different and they'll buy a Windows tablet.

Then Microsoft can roll back the interface on Windows 9 (making Metro a secondary interface), and corporate buyers will upgrade just to get away from Metro.

<comment><USER2> And I'm 100% happy with that. I don't like change.

My desktop, which still aims to be as NT4 like as possible: <http://i.imgur.com/4fFLq.png>

Added Excel 97 vs Excel 2010 for an interesting discussion point as well...

<comment><USER4> I don't understand you. You're here, on a board that regularly discusses, touts, and builds the bleeding edge, but here you are screaming form the rooftops that you hate change...

Tablets are over-hyped like PCs were over-hyped in the 90s. They are in the ascendency. Not because they're perfect for the work that most of us here on HN are doing/want to do, but because they're closer to perfect for the other 95% of humans. They lack many capabilities today that will limit them from being used in specific areas, but those reasons will dwindle over time.

Change simply for the sake of change, isn't good. However, as someone who loves technology, when I see family and friends successfully USING technology without fear of breaking things or feeling like an idiot? Using technology that brings joy? That is change worth supporting.

<comment><USER2> Some justification.

Take a look at the screenshot. 5 Office versions and there is no change. Everything works just how it did. I like this lack of change for the following reason:

Over the space of the last 15 years, I have actually had the chance to _accumulate knowledge_.

I'd like to see products like that which withstand that test of time, not fill up the world with short lived fads which result in the "XYZ is shutting down" posts you see here a lot recently. I don't want to have to throw my entire brain's contents out every few years.

The IT industry is the only industry which you can leave with less valuable knowledge than you started with.

The push of the bleeding edge now is churn, not progress. Name a single startup innovation in the last 10 years that isn't either a restrictive reinvention of something else or a landgrab or a lock in tool?

(insert a sarcastic comment on Facebook being akin to a Stasi database running on a Soviet clone of a VAX11/780...).

For reference, I work on a product which is nearly 20 years old now and we've slowly evolved it rather than come steaming on with all guns blazing with hype and ended up in the trash a year later.

<comment><USER4> Question: Why does it have to be a startup's innovation?

Entire applications now live inside websites. Perhaps you view that as 'lock in', however I can get all of mail out of gmail or dropbox.

The bloat of MS Office is certainly proof that change for the sake of change leads down a terrible path. However, without change, we'd all still be using the nokia 3210 instead of iPhones and iPads.

<comment><USER2> Startups are all going on about innovation yet none deliver.

Can you get _all_ of your data out of Google's systems before they shut down your account randomly one day? That's a better question to ask?

I agree Office is bloated which is why I still use Excel 97 for a lot of things.

Regarding the 3210 point, if you look at most "Smartphones", the 3210 is a better phone. Better voice quality, longer battery life, more durable etc.

(Note: I have a spare 3310 I have lying around for emergencies which looks more tempting every day...)

</comment></comment></comment></comment></comment></comment></comment><comment><USER5> This article gets some things right but it gets plenty of them wrong. In particular, " Technically speaking, the industry is mired in hardware standards (Intel and Motorola CISC processors) with growth rates that are flattening out relative to the state of the art - just as the 360/3090 and VAX architectures did."

The Motorola 68k line really did reach the end of its rope in the 1990s and everybody from Sun to Apple to Amiga had to plan an exit strategy or go out of business.

The Intel x86, on the other hand, continues to outpace everything else on practical performance. ARM is coming on strong in tablets and smartphones, but overall, the x86 platform has lasted a long time.

Not long after he wrote this, IBM's System/360 architecture went through an amazing transformation that's kept it competitive.

From the beginning, the System/360 was based on bipolar logic that consumes much more power than the CMOS logic microprocessors are based on. In the early 90's, IBM realized that further development of bipolar logic was impossible because of power and heat dissipation issues.

IBM had to go to CMOS, but CMOS logic wasn't as fast as bipolar logic at the time, leaving IBM unable to produce mainframes as powerful as the last generation -- unable to handle the requirements of existing customers.

IBM's answer was "Parallel Sysplex", a clustering solution that presents a single-system image of a group of mainframes. With Parallel Sysplex, IBM produced microprocessor-based mainframe clusters that scaled beyond the last generation of bipolar mainframes.

Some architectures end up being dead ends, but if something is commercially successful, it's amazing how long it can sometimes be strung along.

<comment><USER6> Just curious: if the 68k series had had the same amount of resources put behind it as x86, there's no reason to think it wouldn't be similarly competitive today, is there? (Obviously this was historically impossible because nobody had the incentive that Intel/AMD have had, so I'm just asking from a technical standpoint.)

<comment><USER7> Modern x86 CPUs aren't that much closer to being x86 than to being 68k since the Pentium Pro: <http://en.wikipedia.org/wiki/Pentium_Pro#Summary>

They expose the x86 instruction set externally for compatibility, but translate it to a different instruction set internally. It is conceivable that you could have instead translate 68k instructions and the rest of the CPU would have remained the same.

</comment></comment></comment><comment><USER8> I now predict that in 15 years, the tablet will be on the decline. I called it, everyone remember.

<comment><USER9> Bullshit.

You have to say _why_ it will decline. You have to say whether it will be replaced, and if so by what. You have to present your reasoning and justify it.

Microsoft's then CTO presented his reasoning and justified it. So should you.

(And if you're going to whine that you were just making a joke? No. You were spewing a cheap little piece of cynicism.)

<comment><USER10> The memo is extremely vague about what it is predicting. It's basically agreeing with Sun ("the network is the computer" (c) 1984) / Larry Ellison ("Network Computer") / etc. - that something networked will outflank PCs.

But that's a prediction heavily dependent on timing (both those concepts failed to take off) and IMO misses what actually got the next generation of computing to take off (wireless networking, high-res screens and capacitive touch) and it also misses what is the main thrust of the next generation, mobility rather than connectedness.

</comment></comment></comment><comment><USER11> Prescient visions of today's computing go back much farther than that, to the research of Alan Kay and others at PARC. I don't have the materials in front of me but my summary from memory is that they proposed the existence of small computers you would have with you at all times, which could access wireless networks. The small computers would use that access to retrieve information for their user, and to report location to an environment that would respond. It's not too far from what we have with smart phones now. And Alan Kay in particular conceived of a tablet computer very similar to the tablets we have today. I believe all this work was done in the 1970s and 1980s.

<comment><USER12> Yes, the dynabook concept was created by Kay in 1968. He claimed that the idea hit him when he was in a lecture by Gordon Moore explainig his law...you know the one...

Anyway, knowing something about exponentials he did some quick calculations and voilà, iPad, er, Dynabook.

Also, the Alto "PCs" that Xerox built during the 70ies, the ones with the bitmap display, mouse and Ethernet networking, were known as "Interim Dynabooks", so very consciously and deliberately approximations of the tablet computers to come.

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

</comment></comment><comment><USER13> Top brass at Microsoft have known for a long time that the PC will be replace by something more portable; Bill Gates has tried, and failed, to launch a tablet for a while now. What they got wrong was execution and execution is everything....

</comment><comment><USER14> In 1998 non-PC or post-PC devices was "a next big thing". I worked on a startup building corporate portal server software for non-PC devices like voice and WAP-enabled "smart"-phones.

Wrong timing.

Apple didn't hit it first time with Newton, but second time with iPhone and iPad was a big hit.

<comment><USER15> We started to see it more clearly with the first smartphones - much like the modem quickly became the most useful peripheral for my Apple II, even the slowest connection to a data network made PDAs much more useful and allowed them to become stand-alone, even if minimalistic, devices rather than what Microsoft then called "PC companions".

</comment></comment><comment><USER16> But predicting something without giving a timeframe is completely useless. Imagine if this had influenced Microsoft's strategy from 1993. They'd have missed out on the enormous influence of the PC, whose recent competitors such as tablets and smartphones have only really surfaced in the last 5 years.

<comment><USER17> Actually, Microsoft did move to the tablet before anyone else. They created a tablet version of Windows 10 years ago. Do you remember those? I had some friends who had those machines; mostly in the form of laptops that had a screen that would rotate into a tablet form factor, with a stylus for input.

Those were a market failure. It wasn't until Apple re-invented the tablet, and Android showed that there is actually a tablet market and not just an iPad market, that Microsoft re-entered the game with the Surface.

<comment><USER18> Yeah, I remember those machines and did even see one used in person once.

Aside from any Apple magic and all the associated style factors, I think technology was just not ready then; they were just a laptop with a reversible screen, which was too heavy and bulky to be used in the ways people actually want to use a tablet rather than a laptop. You _might_ have gotten two hours of battery life, for the first week of its life. And the stylus wasn't exactly inspiring either - it smacked more of a way to easily translate mouse-driven software than the best way to interact with the device. That's a lot more obvious in hindsight, of course.

</comment></comment></comment><comment><USER19> Tablets and PC will co-exist. You see, no one gets the fact that tablets are limited by their size. If you want to stuff in power, you are going to compromise on something, especially size, in this context.

Tablets are over-hyped and all they have is the cool factor. They are GREAT for consuming content, but not for producing them. And people who produce content are a huge majority. Let's take web developers and designers for example, I can't even imagine them (or me) working on their designs with 'an app' with a tablet. At least not until if it has a mouse; and if it has a mouse, it is automatically an evolution of the PC. There are so many many segments which the tablet can never fulfil. As a 3d artist, I can tell you how important the Graphics processor is to me, when I'm rendering my artwork. And rendering is not something instantaneous, depending on the complexity of the scene, it could take anywhere between a few seconds to a dozen hours to a couple of days for a single frame. And a remember, one second of a video (for film) has 24 frames. So I need to wait for 24frames*12hrs (assume 1 frame = 12 hrs avg.) to get one second of video rendered. And this is just one example I'm able to think of, but there are many many industries like Animation or 3d that are heavily dependent on PC's and tablets can NEVER replace them. Performance-centric industries are a huge portion of the PC market, until they make the transition to tablets (which is not in the near future), this tablet replacing PC's is just over-hyped BS that's a waste of everyone's time.

<comment><USER20> Despite all you said, the Cintiq, a very precise tablet, not a computer and mouse, is the dream of every graphic artist.

The "great for consumption, bad for creation" line has become a bozo-bit flipper for me.

<comment><USER21> First of all, you can't use a Cintiq without a computer.

Secondly, when people say "great for consumption, bad for creation" they are referring to the design of tablet operating systems like iOS. Artists who use a Cintiq typically have multiple monitors and are multitasking with many different applications (Photoshop, Illustrator, ZBrush etc). This sort of workflow is just not possible on an iOS, WinRT or Android device.

</comment></comment></comment><comment><USER22> the author writes: _In his second last paragraph, Myhrvold predicts the winners will be those who "own the software standards on IHCs"_ ...

this is exactly why it has been so important that internet standards remain neutral, open, and free. without that, we'd truly be at the mercy of a single vendor (DEC, MSFT, etc) and you know what that stagnation looks like.

app stores are a risk of that alternative future (that honestly the phone companies also mapped out and drooled over, and slowly doled out with insane per-line item charges).

</comment><comment><USER23> To me what Myhrvold is vaguely describing as the "IHC" in this memo seems more like a set-top box or game console than a phone or tablet. I think this may have influenced Microsoft's decision to pour resources into the Xbox starting in 2001. They got it right that there would be an "IHC" but misjudged what sort of thing it would be.

</comment><comment><USER24> I think the PCs are in decline among lower-income individuals and working class people who don't need to read a lot or write a lot. They were never that popular a purchase in the first place, but because they never got deep into the games and computer culture, phone and tablet products are adequate for their needs, and have some advantages.

The main advantage is always-on mobile networking, so that sms, twitter, email, facebook, etc. are always available everywhere. It's also a phone and a camera.

The clearest evidence I have of this shift is observing coworkers who don't have internet at home, or lack a PC at home. They tend to run a lot more apps on their iphones and android phones. I'd say, typically, a dozen or more. The phone _is_ their computer. They also are considering tablets.

Personally, I make data: text, code, graphics, and now videos etc. My PC is my primary platform. My satellite system is my netbook. My smartphone is a distant third. I have maybe eight apps on my two smartphones: This American Life, Facebook, Twitter, GasBuddy, LATimes (just a bookmark really), Google Maps (again, a bookmark), RedLaser, Cut the Rope, and some visual mandala thing.

I don't feel like I need a tablet. I'm probably going to get one, because I've been writing toy apps on android... but that's partly for my resume.

Tablets are just like video game consoles. They're going to be more popular than general purpose PCs and will be a huge market, for better or worse. The PC made a lot of people smarter. It taught people to control their computers, and even to program them. It created a culture of creativity. It was kind of like buying a car, and then finding there's a set of tools and a small machine shop in the trunk. We lose all of that with tablets.

A tablet is like a car with the hood bolted shut, and a gas cap that only lets you fill up at specific gas stations. It's fine for mechanics and the gas stations, but crap for drivers.

Mhyrvold's prediction wasn't quite right though.

Early demand was not for videophone. It was for sms and twitter and email. Low-bandwidth, immediate services. The killer video app is still video on demand. High costs for data impede some applications.

Price was not cheaper by an order of magnitude. It was around half, or a bit more than half.

Gaming has been consuming CPU so quickly that it became its own category of computer.

Gaming, videophone and phone have only started to work on the internet in the past five years or so. Network latency has been a problem.

</comment><comment><USER25> Predicting the future is much like a sweepstakes.

Many will enter, few will win.

</comment><comment><USER26> Is there any decline of PC? I didn't notice.

<comment><USER20> Tablet sales are surpassing sales from all the largest PC manufacturers - combined.

<comment><USER26> How does it show any decline? PC market is stable and only grows. Especially in the corporate sphere. All this talk about tablets killing PC - is pure idiocy. Tablets are toys in comparison to PCs. Only when mobile computers will develop to be real PC alternatives (i.e. offering equivalently ergonomic user interfaces - hollographic and what not), one can start talking about them replacing PCs. While they use touchscreen input, they'll remain alongside PCs.

<comment><USER15> When people use less and less their PCs they are less inclined to buy newer ones in the future. When it's time to replace my mom's PC, I doubt she'll need more than a small HDMI plug sized Android device connected to a large screen.

<comment><USER26> Some people, who don't use computers extensively. But most - are using both, PCs and mobile computers. Current interface of mobile devices isn't comparable and can't possibly replace PC ergonomics (keyboard, monitor and etc.).

Real alternative would be some holographic interface that pops out in the air from a computer a size of a grain. That's an alternative to PC ergonomically. Not the current day tablets or handsets.

<comment><USER20> For many activities you don't need to replace PC ergonomics. Take store clerks for example: the work they do (looking up products, inventory, processing payments) can be done just as well or better using a touchscreen device with a specialized interface.

<comment><USER26> For some you don't need them, but for some they are a hard requirement. It means they aren't going to be replaced by tablets. Tablets can take some percentage of activities that used to be done on regular computers - that's true. But not all by any means. Therefore talks about "killing" - are not to the point. When some revolution in the interfaces will happen, and new methods will replace keyboards mouses and wide screens - then one can say the classic PC is obsolete. But that time is not here yet.

<comment><USER20> > new methods will replace keyboards mouses and wide screens

Like multi-touch or gestures? That's exactly what's refreshing and great about tablets.

<comment><USER26> No, this can't replace keyboards and wide screens because of incomparable productivity. More like holographic screens and input devices which can take a size of a big monitor (or bigger) and offer convenient interaction methods, while not taking really any space.

What I meant, is something along these lines: <https://www.youtube.com/watch?v=wKyQhriOrD0>

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER27> The decline of the blogosphere was predicted in 2012 by the inhabitants of Earth.

</comment><comment><USER28> The end of the world was also predicted numerous times in the past.</comment>


A 5th dimension may explain quantum theory - <AUTHOR> https://medium.com/the-infinite-universe/what-is-the-5th-dimension-3259da45d032 <comment><USER2> In this theory, the distribution in the fifth dimension is just a hidden variable [1], so how is it possible that his is compatible with the Bell inequality?

[1] [https://en.wikipedia.org/wiki/Local_hidden- variable_theory](https://en.wikipedia.org/wiki/Local_hidden-variable_theory)</comment>


Patreon mistakenly shut down successfully funded project Armory3D - <AUTHOR> https://armory3d.org/fund.html <comment><USER2> > ... whether it was something I (unknowingly) did or if it was a mistake.

> I realized Patreon has every right to do this.

While true. I don't suspect that I would have had this much restraint. I applaud the author for resisting what must have been the urge to make a statement against Patreon, I can't help but to think it should be stronger about who as at fault here.

> (Update: Patreon notified me that my email has been unblocked and I can > start a new page from scratch. Apparently it was a mistake. Armory will > continue to be funded on this page to stay safe.)

At least they are voting with their wallet and not just going back to the platform. This is an awful response by Patreon. I can't believe this don't have a way to restore backers and content. They really need to make a whole new page from scratch? What the heck?

Best practice is first you suspend, give a chance for the person to respond, then you terminate after 30 / 60 / 90 days. Full deletion immediately seems like a bad software design choice.

This reminds me of the old (?) days of Paypal freezing accounts with no recourse. I could understand if someone considered this theft. Theft of future earnings in this case (past earnings in the case of Paypal).

Am I alone in thinking companies that handle money should be held to a higher standard?

</comment><comment><USER3> It seems lately I see an article like this about once a week - "an algorithm did it" and 1 person's livelihood in shambles, with said person needing to prove they're real/not a criminal/not violating policies/not fired/ etc.

Just off the top of my head - [1] [https://news.ycombinator.com/item?id=17350645](https://news.ycombinator.com/item?id=17350645)

We need to think critically about how to propel legislative action requiring every company/organization using machine learning to have a human-in-the-loop that can override the mistake. It doesn't matter how good an algorithm is - thanks to the nature of probability and a large enough sample size, it will _always_ make a mistake. The onus to correct that mistake should not fall to the victim.

Currently, if, say, one's Google's account is suspended because of a mistake, there seems to be no recourse for a victim except to stir up a large enough PR scandal. In essence - a "guilty until proven innocent" approach. Our courts don't work that way and neither should the closure of our accounts (which are, increasingly, our livelihoods).

<comment><USER4> This is the danger of the "law is just code" mindset of companies interacting with customers/clients. In the rush to automate and process-ize interactions with "mere humans" under a Great Algorithm, they forget that effective law and processes relies not on kafkaesque bureaucracies following flowcharts blindly, but by ensuring that human judgment is kept in the loop.

Beware the rise of the techno-bureaucracy, as it is only a low-dimensional lossy encoding of what we actually want.

</comment></comment><comment><USER5> I guess Patreon has reached that size and clout where it can accidentally crush whole lives via careless mistakes.

<comment><USER6> With size often comes excessive automation, which could be the cause: something being flagged by an algorithm and dealt with by another algorithm before a human can actually see what's happening.

<comment><USER7> I have to be honest, "an algorithm did it" is a pretty poor excuse, and it gets harder and harder to swallow. People need to take responsibility for the algorithms they create and they need to be ready to step in when they fail.

<comment><USER8> Indeed. If a human is going to be affected, a human needs to sign off on it.

</comment></comment></comment></comment><comment><USER9> Patreon's response was basically "Ups, we have removed all your funding but you start over again".. the fuck

<comment><USER10> Wow that is REALLY fucked up. Does this mean they don't have back ups or restore points? Super concerning if they get hacked...

</comment></comment><comment><USER11> Why is everyone expressing so much restraint? It is insanely difficult to get your entrepreneurial projects funded. This guy needs to get a lawyer!

</comment><comment><USER12> Given how much hype blockchain projects attract, I'd dare say that it's about time we had distributed and uncensorable crowd funding platforms.

<comment><USER13> See: ICOs. They come with their own set of problems.

</comment></comment><comment><USER14> "Update: Patreon notified me that my email has been unblocked and I can start a new page from scratch. Apparently it was a mistake."

Is anyone else really worried about both the technical state of Patreon and the lackluster motivation to fix their own fuckups reading the above quote?

</comment><comment><USER15> Wow, that's kind of unacceptable.

</comment><comment><USER16> _...I realized Patreon has every right to do this._

Maybe Patreon shouldn't have that right?</comment>


'Dielectric Elastomer Generators' could rival traditional off-shore wave power - <AUTHOR> https://royalsocietypublishing.org/doi/10.1098/rspa.2018.0566 <comment><AUTHOR> Also: [https://www.ed.ac.uk/news/2019/device-could-deliver-wave- ene...](https://www.ed.ac.uk/news/2019/device-could-deliver-wave-energy-to- thousands)

"The device costs less than conventional designs, has fewer moving parts, and is made of durable materials. The "design could be used in fleets of low-cost, easily maintained structures at sea within decades, to take advantage of powerful waves".

<comment><USER2> and could probably be incorporated into seawalls, and seaport pileings, rather than occupying beaches and other aesthetic locations.

This sort of thing in homologue could also be used to harvest the energy of brownian motion, and perhaps even RMS velocity of gas phase matter:

[https://www.technologyreview.com/s/427140/graphene- battery-t...](https://www.technologyreview.com/s/427140/graphene-battery- turns-ambient-heat-into-electric-current/)

so far ive not seen anything thats will couple with quantum vacuum [zero point energy] that is purported to exist.

<comment><AUTHOR> Anything that doesn't rely on the boiling of water's fine by me!

<comment><USER2> no boiling required just something beyond absolute zero, of course, higher temperature means more heat content so more collision per second, and more wattage. a steaming cup of coffee could be used to provide a small electrical current, even room temperature water as well</comment></comment></comment></comment>


When You Hit the Glass Ceiling of Coding Productivity - <AUTHOR> http://architects.dzone.com/articles/when-you-hit-glass-ceiling <comment><USER2> I do something else</comment>


Google's reCAPTCHA fails at high rates in the Tor Browser - <AUTHOR> https://trac.torproject.org/projects/tor/ticket/23840 <comment><USER2> I'm pretty sure google (and some of the more obnoxious CDNs) just give more rounds of the captchas to networks they despise (including tor and vpn users), if you try to be anonymous at all they want to punish you for it. Understandable I suppose since it destroys their business model, especially on mobile.

The backlash against tracking is going to be fast and furious, hopefully this wave has crested and will fall back a bit.</comment>


New Simple Java API Search Engine - nerds-central http://www.nerds-central.com/Search/Java1-6.html Tired of Googling for Java Docs on like then searching the docs - the solution - a simple custom search engine using Google custom search <comment><AUTHOR> I don't like that clicking on a link automatically opens in a new tab. Your audience is technical and likely already has mastered using different mouse buttons to open in the same tab or a new one. You've taken that option away from me.

Also, the ads are intrusive and unrelated to my search. My search for "arraylist" shows me ads for art above my results and even more on the side. The same search on Google gives me the correct JavaDoc as the first result, without any ads between what I typed and my first result.

<comment><USER2> I tried the search for arraylist in Google. When I do it - the returned javadocs are for an out of date set of docs. This is one of the problems this search is attempting to address.

</comment></comment><comment><USER3> I'm totally missing the point. Why?

<comment><USER2> I kept being asked how to easily look up java documentation and so made this to fulfil the need.</comment></comment>


Drone Lifeguard - <AUTHOR> http://www.qqqtech.com/ <comment><USER2> Makes sense as a concept but the video wasn't able to load for me.</comment>


What would happen to an unfettered internet? - <AUTHOR>

I am always reading about the U.S. Government bringing down a torrent site, porn site, or lawsuits causing videos to be taken down. I am curious what a world would be like without the internet being regulated, any ideas? <comment><USER2> Have a look at Tor and you'll have a pretty good idea. You can buy drugs, guns, prostitutes and download all the warez and illegal pornography you want.</comment>


Exoplanet found right next door in Alpha Centauri - <AUTHOR> http://arstechnica.com/science/2012/10/exoplanet-found-right-next-door-in-alpha-centauri/ <comment><USER2> Now that we know how to detect exoplanets by their effect on the star's wavelength, what are the implications to the Drake equation? [1]

Originally, we estimated that habitable planets were very rare. Then we discovered exoplanets, and soon after, habitable exoplanets.

Drake also started by looking for radio signs of intelligent life. Now we humans use frequency-hopping burst digital transmissions and the power level is much lower, so detecting another planet by its radio signature seems a lot less likely.

Since earth has been habitable for at least 3 billion years [2], what is the probability that intelligent life (in our galaxy) is aware of this planet and wants to look at it? My back-of-napkin estimate is that we are out on a limb of the galaxy and therefore very visible.

[1] <http://en.wikipedia.org/wiki/Drake_equation>

[2] <http://en.wikipedia.org/wiki/History_of_Earth>

<comment><USER3> What kind of periodic wobble would our Sol produce from our very-many body solar system? Would it be easy to decipher, or easier to catalog as background noise?

Maybe we'll start seeing advances in telescopic technologies and analyses in the years to come -- to pick up on more complex periodic motion of the more complex solar systems.

<comment><USER4> If a clone of our Solar System were out in space our chances of detecting it would be extremely low.

In order to detect Venus or Earth it would require around a 1 in 100 chance alignment of the orbital plane relative to the observer to be detectable via the transit method. Jupiter would be detectable through radial velocity techniques but it would take a minimum of 12 years to confirm a single orbit and more likely it would take at least 2 orbits for a proper confirmation. And even so it would be a coin flip on whether the orbital plane was aligned properly to be detectable at all.

With the increased sensitivity of the new instrumentation used to detect the Alpha Centauri B planet things are improved slightly but still the chances of detecting an Earth-clone via radial velocity aren't that great.

<comment><USER5> Where are you getting your chances from? Is there some theoretical limit on the sensitivity of the radial velocity technique, independent of current technology?

(edit): This spectrometer is supposed to be capable of detecting an earth- clone, starting around 2016:

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

This graph shows its predicted sensitivity (green line for a sun-like star), compared to exoplanets previously detected by the same method (gray circles), and solar system planets for reference:

[http://espresso.astro.up.pt/images/content/science/image012....](http://espresso.astro.up.pt/images/content/science/image012.png)

<http://espresso.astro.up.pt/science.php?show=chapter3>

<comment><USER4> You can get a rough estimate of the chances of being able to observe a planet via the transit method by dividing a star's diameter by half of the orbital diameter of the planet (for Earth it's something like a 1:300 chance).

For radial velocity the signal detected is proportional to the sine of the orbital inclination. The detectability of Jupiter depends highly on which instruments are being used for observation. My "coin flip" estimate was just a SWAG. If you make use of the best radial velocity detection systems today which have a sensitivity of around 1 m/s and compare that against the maximum 13 m/s radial velocity that Jupiter imparts on the Sun then you end up with much higher chances of detection (80+%) assuming a random relative orbital inclination, but that assumes there aren't any other sources of noise involved.

</comment></comment></comment></comment></comment><comment><USER6> From a technical point of view I know that there are two teams searching for exoplanets around Alpha Centauri [1]. Hopefully this means that the other team will be able to provide evidence that correlates this find.

From a human point of view, I'm in the southern hemisphere and we will have clear skies. Alpha Centauri is still high above the horizon at this time of year. Tonight, I'm going to take my two kids outside and point out Alpha Centauri to them. I'll be able to tell them about it. Tell them, that now we know, part of what's there. Tell them, that there is likely other worlds. Worlds more like ours orbiting that tiny, almost insignificant spark of light.

[1] <http://www.centauri-dreams.org/?p=22603>

</comment><comment><USER7> I actually find it very scary that the nearest planet not in the solar system is 4.3 Light years away!

If FTL / Close to light speeds are impossible in this universe, we're just left with generation ships [1]. It seems that there is a very good chance that we'd be stuck on this rock called the earth forever. Really need to take better care of it.

[1] and generation ships are highly impractical (see [http://www.antipope.org/charlie/blog- static/2009/11/designin...](http://www.antipope.org/charlie/blog- static/2009/11/designing_society_for_posterit.html) )

<comment><USER8> Forever is a long time.

Alpha Centauri feels far away because our lifetimes are so ridiculously short, and we're so unfathomably economically poor, compared to the age of and resources available in the universe. These limitations don't have to apply to whatever our descendants will be a few centuries or millenia from now.

To them, a trip to Alpha Centauri might be a weekend lark.

<comment><USER9> Sorry. Irrespective of your lifetime or economic resources, a weekend lark would violate the laws of physics.

<comment><USER8> It's metaphor. If your life span is indefinite, a journey lasting a few hundred years is nothing.

</comment></comment></comment></comment><comment><USER10> I understand basic physics and statistics but when I think of the fact that they teased out a 0.5 m/s signal on something 40 trillion kilometers away, it might as well be magic.

</comment><comment><USER11> I remember reading a long article (which I can't find right now) about those searching for planets around this system for many years. Great to hear that progress has been made.

</comment><comment><USER12> The article doesn't actually say which of the three stars of the Alpha Centauri system this planet is orbiting, though it implies that it's orbiting Alpha Centauri B.

<comment><USER13> α Cen B: [http://www.eso.org/public/archives/releases/sciencepapers/es...](http://www.eso.org/public/archives/releases/sciencepapers/eso1241/eso1241a.pdf)

</comment></comment><comment><USER14> So, the real question is Vekta or Helghan?

<comment><USER3> The Romulans took them both out as they left Vulcan.

Or maybe it was the Narn as they attacked Centaur who destroyed them...</comment></comment>


Why was the post about Twitter bias flagged? - <AUTHOR> I think it's important to give context. Link should be removed, but it's still available in the RSS feed. But maybe re-direct to a fact checking site?
Ie.
These media sources are moderately to strongly biased toward conservative causes through story selection and/or political affiliation. They may utilize strong loaded words (wording that attempts to influence an audience by using appeal to emotion or stereotypes), publish misleading reports and omit reporting of information that may damage conservative causes. Some sources in this category may be untrustworthy.
https://mediabiasfactcheck.com/citizen-free-press/ <comment><USER2> Link to the post [https://news.ycombinator.com/item?id=23881493](https://news.ycombinator.com/item?id=23881493)

My guess it that it looks like a standard panel of a public website, where admins can ban an accounts. (Someone mod posted a screenshot of the admin version of HN a few years ago, it has a few additional options like adding or removing a penalty to a story so it goes up or down in the front page. My guess is the the page the mods use to see an user also has a few "semiban"/"ban"/"superban" options.)

It's not surprising at all that they do some moderation. If the moderation process they are using is good or bad, and if it has a right or left bias, it is not visible from the screenshot.

</comment><comment><USER3> People flag my posts too :-/ No explanation.

<comment><USER4> @jpesal:

I turned on "Show Dead", went to your profile, and checked out your links. I've never seen them before, and have no skin in the game, I just wanted to see why people might flag them.

Personally, I can see no reason for them to be on HN. It's true, I say that about many posts, but in this case they may be great ... but what makes them of interest to the HN community? What connection is there with technology, start-ups, or computing? Assuming HN is a community with a common interest, but then wide interests, they will still, in general, not be interested in _everything_ , so what do you think would attract this community to your work?

This isn't a comment on the quality, it's just a sense that it's not resonating with this audience, and some people sense that and flag it to say: "I don't think this belongs here."

In contrast ... why do you think it _does_ belong here, on Hacker News, for this specific audience?

@onyva:

I read through that link several times, and I can't see why it's anything about Twitter bias. Also, I'm not sure why I should trust them more than anyone else. Again, I didn't flag it ... I never saw it ... but I can't see anything useful or intellectually engaging about it.

<comment><USER5> Who is to say that a post should or shouldn't be on the site?

Isn't that why we have a downvoting and upvoting system?

Flagging should be used for illegal, dangerous, and malicious content like gore, doxxing, viruses, etc.

Flagging because you don't agree with the opinion of the content is childish, even if the content is severely incorrect.

<comment><USER4> > _Who is to say that a post should or shouldn 't be on the site_

The mods, and the community.

> _Flagging should be used for illegal, dangerous, and malicious content like > gore, doxxing, viruses, etc._

Flagging is for when you think it doesn't belong. I agree with you that simply disagreeing with a post or comment isn't a reason to flag it, but when you think something is inappropriate for the site then you have a reason to flag it. Otherwise it becomes a complete free-for-all, with no focus, and experience tells us that that's a bad thing.

And you can't downvote a submission.

</comment></comment></comment></comment><comment><USER6> Make a statement in favor of free speech: Don't flag EVER.</comment>


Sieve of Eratosthenes - <AUTHOR> https://en.wikipedia.org/wiki/Sieve_of_Eratosthenes

<comment><USER2> Project Eurler[1] is a great way to familiarise yourself with Eratosthenes and learn some coding too!

[1][https://projecteuler.net/](https://projecteuler.net/)</comment>


Announcing GenStage - <AUTHOR> http://elixir-lang.org/blog/2016/07/14/announcing-genstage/ <comment><USER2> Yep, I wished I had had access to this back when I was working on something in the Rails side. Ingesting large amounts of data from Shopify across multiple oauth access points while being limited to the PostgreSQL backend and Shopify rate limit restrictions was a pain to setup with Redis and Sidekiq. I ended up forking Sidekiq to accomplish that -- essentially using Sidekiq as a concurrency framework to build in a different set of behavior. Reading through the GenStage document, I could have implemented something better.

The way I implemented it (with Ruby) left gaps of idle time, and huge amounts of data gets staged through the queues. I couldn't figure out how to make it better. Since I only had a week to come up with something while the infrastructure was melting down, at the time, it was acceptable. Looking at this though, the demand-based backpressure would work very well.

There are a couple problems I think I can use this in my current work -- this is great work!

<comment><USER3> Install the Bullet gem and see if your queries look sharp!

<comment><USER2> Already did. That wasn't the issue. I get that you're trying to help, but you don't really understand the problem and why GenStage would help it. The issue isn't N+1 queries but in concurrency and reasoning with concurrency, something that Rails, and many Rails developers seem to avoid.

See also: [https://news.ycombinator.com/item?id=12074425](https://news.ycombinator.com/item?id=12074425)

</comment></comment></comment><comment><USER4> This looks incredible, congratulations to the Elixir team!

Perhaps more exciting than the first part of the post is the second bit about the future. It's fantastic to see such a clear path forward for concurrency in Elixir. Definitely looking forward to GenStage.Flow

</comment><comment><USER5> Curious, how is the back pressure actually implemented? ACK message or ETS public table?

<comment><USER6> It's demand based. The consumer will request a fixed size of input and then the producer will send up to but no more than that until more demand is made.

<comment><USER5> Sure it's demand based, but how is it implemented? How is the demand communicated between the processes?

<comment><USER7> I am on my phone (sorry) but the documentation for the GenStage module has a section on the message protocol between consumers and producers. GenStage is simply one implementation of this message protocol.

</comment></comment></comment></comment><comment><USER8> I was already diving into Elixir for ETL-based work before discovering GenStage, but now even more. Thanks José et al. for the hard work on this!

</comment><comment><USER9> I'm not quite at the point where I can appreciate how useful this is, because I don't really understand concurrency itself. What is a good resource from which to learn about concurrency, and especially Elixir/Erlang's approach to it?

<comment><USER10> Before diving into Erlang/Elixir, I'd make sure to learn the basics of concurrency/parallelism with more basic languages such as Java, Python or Ruby. i.e. start with the easy stuff, then with that strong foundation choose as you prefer!

<comment><USER11> Honestly, learning actor-model concurrency with Erlang (and probably Elixir) is a lot easier than dealing with concurrency in the "basic" languages you list. Concurrency in Java, Python, or Ruby isn't "the easy stuff" compared to concurrency in Erlang/Elixir.

<comment><USER10> Conceptually, threads are probably easier than actors for a beginner. I'm not saying that it's easier to implement correct code with threads (in fact it's more complex), but most devs go from OO to FP, not the other way around.

These days there is such an explostion of languages, frameworks, techniques etc it must be scary for a beginner. Given that, i'd advise to go by the safe (average) path.

<comment><USER12> But if you learn about concurrency via threads then you have to learn about mutexes... if you learn about mutexes then you have to learn about condition variables... and if you learn about condition variables then you have t...

Well you see where this is going. I think it's important to learn about Threads, Mutexes, Condition Variables, and why sharing isn't caring, but I don't think those lessons necessarily need to come before learning about the Actor model.

<comment><USER13> On the other hand, if you want to sell the Actor model it might be good to first go through the complex techniques needed for trying to get concurrency right with threads.

</comment></comment></comment></comment></comment></comment><comment><USER14> Congrats to the Elixir team.

As I understand it GenServer is kind of a wrapper over erlang's underlying OTP genserver abstraction. (Is that correct?)

What's GenStage's relationship to erlang? Does erlang have an equivalent?

<comment><USER15> All OTP abstractions are based on process creation/supervision/messaging primitives. So while erlang doesn't have this abstraction, they are all based on the same primitives that both erlang and elixir use.

</comment></comment><comment><USER16> Super excited about GenStage.Flow. Might have to start another Elixir project just to try it out.

</comment><comment><USER17> Could this be used to allow Elixir to load balance a third party server?

For example: You have an Elixir load balancer that manages requests for three other servers and distributes load based on the 'demand' that the consumer communicates back to the balancer?

<comment><USER18> yep. The neat thing about this is that it's composable primitives, so you could imagine having an arbitrarily shaped tree of demand-creating producer- consumers and consumers. And with distribution, it'd be possible to scale this out pretty far.

<comment><USER17> That's great.

Are there any plans to use these primitives to communicate with servers not written in Elixir? For example can you foresee Elixir being used to manage and coordinate heterogeneous architectures?

<comment><USER18> I'm on the erlang rather than the elixir side of the BEAM, but it's pretty easy and normal in the BEAM to communicate with heterogenous processes, either by implementing a dirty or regular NIF, opening a port, building a C Node or using JInterface with java, using CORBA haha, or just opening a socket.

</comment></comment></comment></comment><comment><USER19> If the back-pressure is abstracted away by this interface, how do you monitor it?

<comment><USER18> You'd still have the regular BEAM reduction-counting backpressure in place, and it would be trivial to have your flow components report their work rates and/or demand requests to whatever monitoring service (statsd, etc.) that you might care to set up. Or to respond to state query messages like sys:get_state/1.

</comment></comment><comment><USER20> It's definitely worth trying! I have used akka-stream once, and always expect something like that in erlang world. Finally, here it is. Thanks for the Elixir team.</comment>


Growth in wind power makes life difficult for grid managers - <AUTHOR> http://www.oregonlive.com/business/index.ssf/2010/07/too_much_of_a_good_thing_growt.html <comment><USER2> Bring on the smart grid + power storage (ie, flywheel) industry! That way, not only could it be absorbed and properly used, but info back to the turbines could get them to throttle down before more than can be absorbed is created. The power companies wouldn't have to worry much, and the power storage industry could off such bursts, instead of the excess pretty much being wasted.

<comment><USER3> One underrated source of storage in the grid is water heaters, fridges and A/Cs. With some "demand response" technology (part of the smart grid), this could be tapped.

See: [http://www.treehugger.com/files/2010/06/smart-grid-demand- re...](http://www.treehugger.com/files/2010/06/smart-grid-demand-response- renewable-energy-storage.php)

<comment><USER2> Interesting, but labeling them "storage" is about as far down the path of false advertising as you can get. They're just saying that by reducing a commercial freezer's temperature by a fraction of a degree can result in serious energy savings if the grid is feeling a squeeze.

 _Storage_ means you can get energy _out_ of it, not simply make it _use less_. But yeah, a smart grid is effectively necessary for any possibility of improvement.

<comment><USER4> If the commercial freezer is well-insulated, doesn't making it slightly colder now allow you to draw less power for a while afterwards as the room slowly rises back towards its acceptable peak temperature? Nothing harmed by taking already frozen things and making them a bit colder for a while. Certainly it is less efficient than just maintaining the desired temperature, but probably more efficient than just throwing away all that wind energy.

<comment><USER2> True, hadn't really thought of that approach.

Still, though, it's all about reducing _demand_ , not modifying _supply_. Flywheel storage can literally pump juice _into_ the grid, temporarily raising the net energy level (yes, by reducing it earlier, similar to the freezer). And because of that quality there's a _huge_ potential market, because those high-stress times are when electricity costs the most.

I guess my point is that, with flywheels, you can _make_ money through nothing but the power grid. With a freezer, you can only reduce how much you _lose_.

<comment><USER4> Absolutely. I thought there would be more discussion of flywheels (or rather, I thought the article itself would actually discuss them). The article alluded to a long lead time for needed upgrades to transmission capacity, but I wonder how long it takes from placing an order to getting a flywheel sitting next to a windfarm?

</comment></comment></comment></comment></comment></comment><comment><USER5> Is interim storage of electricity too costly? I never knew that power worked this way. So power has no storage, we run this fine line of balance where we hope supply and demand are within a few points of each other?

No wonder they like nuclear so much; not that I am against it, but we can generate as much or as little as needed on demand. Seems to me this is an issue of an antiquated grid system that needs an overhaul. We are still running a 10Mb/s network and needs to update to Fiber as an analogy.

I would think hat if there is excess, it would be stored to use when there is a demand for which we can't supply. Apparently that is not the case?

<comment> Tuna-Fish > Is interim storage of electricity too costly?

For most intents and purposes, interim storage of electricity is science fiction. Batteries are woefully inadequate, and the solutions that we do have, like pumped storage, have so long turn-on times that they might as well not exist for spikes that fast.

This is the biggest narrative about energy production that is left unsaid in the general discourse. There are two distinct markets for energy -- the baseline production, and peaker production. They are different enough to be thought of as entirely different industries. Wind has the misfortune of not belonging in either.

<comment><USER6> What about pumping water uphill, then using turbines to catch it coming down when it is desirable to do so.

<comment><USER7> Of course. That's very common approach and there are many such power plants ("storage"). But as you can imagine, this cannot be built anywhere, cheaply enough and in large enough quantities.

([http://upload.wikimedia.org/wikipedia/commons/3/33/Dlouhe_st...](http://upload.wikimedia.org/wikipedia/commons/3/33/Dlouhe_strane_horni_nadrz.jpg), 2 × 325 MW for 6 hours when full, ~250 millions EUR to build)

</comment></comment></comment></comment><comment><USER8> Seriously? This is a problem? We have too much energy and we must tell people to stop producing it?

The _absolute worst_ thing that can happen is that wind farm owners will have to scale production down because they can't sell it. Sure, we'll be wasting some energy but without storage, what can we do?

If this problem is so frequent, get more export lines and sell the excess elsewhere (and, conversely, import when you're running low). Why is this portrayed as a problem at all?

<comment><USER9> Yes, having too much energy in the grid is seriously a bad thing.

No. The absolute worst thing that could happen is BPA failing to curtail power production spikes that end up disabling the entire network. If the spike of power is big and sustained enough, and if the supply isn't cut back quickly enough, you could blow out the whole grid. Want a couple of weeks of a state- wide power outage?

The grid is just a large web of wires. Unlike packets in a tcp/ip network, you cannot control which wire an electron will travel upon (except that you can deny a wire _any_ electrons by severing it from the grid)

Each wire can handle a maximum amount of load, before it starts to heat up. Heat it up enough, the line will short out.

The BPA balances the amount of electricity entering the grid against the amount of demand. They need to worry about the overall grid, and also each local area.

If a local area starts getting a lot more power, they have to make someone in that area cut back production before the infrastructure gets damaged.

Power units generally don't just cycle on or off. There's a lot of work involved in shutting down individual power units and some of them need a lot of lead time to cycle back up to their normal output.

      get more export lines and sell the excess elsewhere

It's extremely expensive and time consuming to build long-haul transmission. Between the environmental groups and NIMBY people, it takes 10 years to build out additional capacity. What do you propose BPA do in the meantime?

[edit: spelling]

<comment><USER10> You know how they're talking about using earth-based lasers to power satellites, or, alternately, satellite-based power collectors to power the Earth? I'm no engineer, but why not combine the two ideas, and create a network of power reallocation satellites (essentially mechanically-operated mirrors in space?) If the satellites could reorient quickly enough, you could basically get "packet-switched wireless electricity."

<comment><USER2> And lose _massive_ amounts of power in each direction. With a better grid in the first place, and controls to prevent this, the loss is _far_ smaller (down to "nothing", ideally).

</comment></comment></comment></comment><comment><USER11> i just made an account to post this question.

Why can't someone just build a wind turbine that has the similar function of switching gears like the mountain bikes do?

If the blade moves too fast it can switch gears and makes it harder to spin the blade - wouldn't that produce less energy and fix their problem?

<comment><USER12> Feathering the blades _is_ windmill "gearing". It matches the power available from the wind to the power that can be absorbed by the generator. In the overpowered case, it scales back the power converted from the wind: it "spills" some of the wind energy by making the blades less efficient so that less power is generated (totally feathered results in no power, but the blades can be feathered to any degree necessary).

Adjustable gearing would add a _lot_ of complexity, weight, and reduce reliability. Reducing efficiency by (partially) feathering the blades is a much better method, especially since it is already a necessary capability of the windmill.

</comment></comment><comment><USER13> Very interesting problem:

 _On the afternoon of May 19, in a single chaotic hour, more than a thousand wind turbines in the Columbia River Gorge went from spinning lazily in the breeze to full throttle as a storm rolled east out of Hood River.

Suddenly, almost two nuclear plants worth of extra power was sizzling down the lines -- the largest hourly spike in wind power the Northwest has ever experienced._

And some potential partial solutions, if they can get them implemented:

 _Part of the problem is that utilities buy more capacity than they need, and hoard it for emergencies. If that capacity can be freed up, BPA estimates the lines could transfer 10 to 15 percent more power.

Another issue is that utilities are required to reserve line capacity an hour ahead of time. By allowing them to adjust their orders more frequently, utilities could accommodate unanticipated ebbs and flows in wind generation and maybe free up another 25 to 30 percent of capacity on the power lines._

</comment><comment><USER14> It's good problem to have.</comment>


How Two Newspaper Reporters Helped Free an Innocent Man - <AUTHOR> http://www.theatlantic.com/national/archive/2013/08/how-two-newspaper-reporters-helped-free-an-innocent-man/279166/

<comment><USER2> So, when a prosecutor / detective blatantly ignores contradictory evidence and end up putting an innocent person in jail, why do we not treat that as a crime? There are a number of obvious cynical answers to this, but seriously, does anyone know of prosecutors / detectives that have been charged in cases like this?

<comment><USER3> It does happen, but its rare. You have to remember that the whole criminal justice system operates in the context of large numbers of guilty as fuck defendants who file endless appeals and petitions to get rock solid cases overturned. That's the rule, cases like Daniel's are the exception. So prosecutors and investigators have broad immunities, with high bars for overcoming them. Otherwise, they'd be constantly subject to litigation.

Remember, this reporter got hundreds of letters from convicts and followed up on this one. Remember also that in real life, the facts aren't laid out for you like a newspaper article.

<comment><USER2> When a review of a case finds that the prosecution knowingly withheld evidence that actually proved the client could not have been there, the facts pretty much speak for themselves. This should have led directly to criminal charges.

<comment><USER3> You're focusing on one case instead of looking at the whole thing as a system. What's the standard of proof for establishing that it's knowing and not inadvertent? Who "finds" that the prosecution knowingly withheld evidence? You can't have official legal "findings" until you institute a law suit, so what's the bar for instituting a law suit and how do you set that bar high enough to keep prosecutors from being inundated with lawsuits by every criminal they put in jail?

It's a cost-benefit analysis. What's the benefit of reducing the error rate of the system versus how much does it cost to achieve that reduction?

<comment><USER4> Exactly, sending a handful of unlucky prosecutors to jail for a few decades _pour encourager les autres_ would clearly be worth it on the whole to protect the integrity of the system.

<comment><USER3> If that was the cost it would be peachy. What we're talking, instead, is about no prosecutor ever being able to do their job because they'd be constantly flooded by litigation claiming that this or the other thing amounted to prosecutorial misconduct.

<comment><USER5> Could you just make it contingent on the person who was imprisoned making a successful appeal - which I'd imagine would be their initial priority anyway? You get off for something that you were put away for, then you can sue for misconduct....

</comment></comment></comment></comment></comment></comment></comment><comment><USER6> I just listened to this last night: [http://www.thestory.org/stories/2013-06/scott- hornoff](http://www.thestory.org/stories/2013-06/scott-hornoff)

An innocent cop went to prison for 6 years until the murderer came forward with a confession. There was basically no evidence to put him away, but he was having an affair with the victim at the time, which made him suspect number one. The part that really upset me was that he was basically unemployable after he came out. He was awarded $600k in backpay when released, but $200k went to his lawyer and the rest to his ex-wife.

<comment><USER7> I don't understand why people have to pay lawyers if they are found not guilty. At any time, I could be accused of anything at all, and regardless of being innocent, I lose boatloads of money from defending myself?

<comment><USER8> Why would your lawyer even try to prove you innocent if it meant not getting a paycheck?

<comment><USER7> I mean, have someone else pay for it. The accuser or the government.

<comment><USER9> [http://en.m.wikipedia.org/wiki/Public_defender](http://en.m.wikipedia.org/wiki/Public_defender)

</comment></comment></comment></comment></comment><comment><USER10> Reminds me of the classic James Stewart film _Call Northside 777_ [1], about two Chicago men falsely imprisoned for a murder during Prohibition. The real- life case it was based on ([2]) hinged on a witness identification that occurred a day after the same witness had not recognized the suspect just after arrest; the police then recorded the suspect has having been arrested the second day and omitted the failure from the record.

Both men stayed in prison until a newspaper reporter discovered the case, just as in this article; in fact, one of the men was not released until several years after the movie was made.

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

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

<comment><USER11> And "Hurricane" Carter: [http://en.wikipedia.org/wiki/Rubin_%22Hurricane%22_Carter](http://en.wikipedia.org/wiki/Rubin_%22Hurricane%22_Carter)

</comment></comment><comment><AUTHOR> So the wrongly accused man was _physically in jail_ at the reported time of the murder, and yet the system moved forward to imprison him for nearly two decades...because of this:

> _There was a lot at stake for the detectives, who said all eight defendants > had confessed. Because all of them had implicated Daniel in the murders, if > Daniel's confession were to fall apart, the rest of the case would be in > jeopardy._

I think this is a sobering anecdote to remember when wondering why a bureaucratic decision has been made despite flying in the face of pure logic and science.

<comment><USER12> Seriously.

> A check showed that, in fact, Daniel had been arrested for fighting in a > park that night at about 6:45 p.m., and jail records showed he was released > about 10 p.m. and the murders occurred at 8:43 p.m.

That should've been the end of it. The. End. How did NO ONE involved in the mechanics of this case (the judge, lawyers, etc.) note this fact and immediately release him? Were they relying on the fallibility of police records? Did they say "oh, well, it says he was in jail but maybe the clock was off"? Is there a counter-fact being withheld here?

I just seriously don't understand how something this clear-cut could've escaped everyone's attention. It hurts my brain.

</comment></comment><comment><USER13> A sobering factoid :

      Cook County itself has had 92 known exonerations since 1989 – far more
      than any other county in the country — and, as we saw in 2001, it has a
      special affinity for false confessions. Nearly 40 percent of Cook County
      exonerations involved false confessions by the exonerated defendants
      (35 of 92), and an additional 16 percent were based on false
      confessions by codefendants.

Can we start prohibiting confessions from admissible evidence now? I don't care how convincing the story is, unless the confession itself can lead to actual physical evidence, it should be completely discounted.

Meanwhile, the prosecutor and the detectives involved are not charged with conspiracy.</comment>