Why I Like The Verbosity of Java - <AUTHOR> http://techblog.bozho.net/?p=742 <comment><USER2> This line of thought from the 2000's

PHP was very easy to use.... So I didn't bother to understand the underlying mechanics. Java forced me to.

Same line of thought circa 1996

"Java was very easy to use.... So I didn't bother to understand the underlying mechanics. C forced me to."

Same line of thought circa 1990

"C was very easy to use.... So I didn't bother to understand the underlying mechanics. Assembler forced me to."

Abstraction layers are not the problem, however understanding what do to when they start leaking is the solution.

[http://www.joelonsoftware.com/articles/LeakyAbstractions.htm...](http://www.joelonsoftware.com/articles/LeakyAbstractions.html)

</comment><comment><USER3> When I write code, I want to solve a problem, not write a book--that's what documentation is for.

Whenever I code in Java, I always feel the language ends up working against me. To get from point A --> point B, the end result usually consists of having traveled through points C and D as well as having written a corpus of code whose length might rival that of War and Peace -- when working on a major project. Writing similar code in other languages, my LOC clock in at a fraction of the Java code. Personally, I've found the less LOC I have to deal with, the easier project maintenance gets, but that could just be me.

<comment><USER4> And I always prefer self-documenting code. Because no one bothers to write or update documentation

<comment><USER3> I don't think the practice of self documenting code limits itself to Java. If I choose descriptive names for my files, functions, classes, variables, etc., I can still convey the meaning of individual blocks of code and the entire project regardless of language.

Hopefully the people reading my code would be able to grok that a method called "openXMLConfigFile" exists to open the XML config file and all the code contained within does just that, hopefully.

</comment></comment></comment><comment><USER5> A few things that annoy me about Java:

Lack of an echo keyword. When I don't want to use the debugger but just print a few things to console, System.out.println("x = " + x) is a real mouthfull.

Exceptions: I end up with too many layers of indentation sometimes because of exceptions that I know will never be thrown anyway.

For example let's say you want to SHA1 hash something, you have a NoSuchAlgorithmException incase you are running on a JVM without a SHA1 hash function, which is something I know will _never_ happen with my program.

</comment><comment><USER6> Yikes.

I'll be leaving PHP as soon as PHP gets "Unicode Support".

The thing I hate the most about Java is that 2/3 of the time a junior programmer will write the wrong incantation when they open files, so Unicode characters will get scrambled. This gets missed by TimewastingDogmaticDevelopers (TDD) because they never write JUnit tests that read real files because they're too busy making mock objects. Instead, this problem gets discovered weeks or months after the fact.

I've never had Perl or PHP apps double-encode text that gets written to the database, but now it's on my checklist to check for double encoding whenever I smell a "bad smell" named Java.

</comment><comment><USER7> While I can appreciate the author's experience - that learning lower-level technology gives on a great appreciation for the full stack and an ability to deal with leaky abstraction - I think he gets confused when he ties the lower- level implementation he's discovering with java's verbosity.

C is a lower level language that exposes a lot of stuff that's hidden in Java, but I've not read much C source code that makes me think it's too verbose. My experience with Java has contained far too many AbstractErrorCorrectingModalDialogueFactory classes for me to enjoy using it.

<comment><USER4> I agree the naming conventions / practices also contribute to the verbosity, but you would name the AbstractErrorCorrectingModalDialogueFactory the same way in any OOP language, if this name describes it best.

<comment><USER7> I don't mean to get into a language war here. the point here isn't that bad names make java into a poor language. My point is that the lower-level details the author is seeing are not due to java's verbosity. They're due to java being a lower level language than php.

though to respond to your assertion, I actually think @floppydisk got to my point in a much quicker manner than I could. I don't think I'd need to express such a thing in a more expressive language. I'm not talking about the naming convention, I'm talking about how Java forces you into a version of OOP that requires you to use a litany of "design patterns" get anything done. A more expressive language would be able to capture the same idea without the litany of java classes, interfaces, and generics that come with java.

</comment></comment></comment><comment><USER8> I agree with the argument that more detail is conveyed in its verbosity.

But I fail to understand how type inference (like that seen in Scala, C# etc... doesn't clean up the verbose)

for example,

        HashMap<String,ArrayList<String>> map =  new HashMap<String,ArrayList<String>> ();

versus

         val map = new HashMap<String,ArrayList<String>> ();

The latter conveys just as much information

<comment><USER9> Yes but

      val map = GetMap();

does not.

<comment><USER8> As the programmer, you wouldn't call getMap if you didn't know the return type

As the reader, this situation would be analogous to looking up the what map is, assuming it was declared earlier ... is a datamember etc. something that might as well arise when typing..

         private HashMap<Integer, String> map ;

then 30 lines later

         this.map = getMap();

You would have to check javadocs or function header some time

</comment></comment></comment><comment><USER10> If I wanted to see how everything works, why would I need the abstraction of a higher level language? Why not just code in direct assembly? Abstraction has a value and I think it's a waste of time that it takes so much boilerplate code to do _routine_ things in Java.

</comment><comment><USER11> You don't need the verbosity of Java to get good I/O or to understand how servers work. See: Go.

</comment><comment><USER12> after doing some ruby work recently which required reading a lot of undocumented code that could have used some major refactoring, i really began to appreciate java's verbosity. even the most poorly written java leaves behind tons of clues as to what is happening. with ruby, if there is no documentation and no tests, you're SOL.

that said, there are still tons of things about java that really get on my nerves...</comment>


Smart TV hack embeds attack code into broadcast signal - <AUTHOR> https://arstechnica.com/security/2017/03/smart-tv-hack-embeds-attack-code-into-broadcast-signal-no-access-required/ <comment><USER2> This would be an effective way for an advanced adversary to suddenly estlish a powerful distributed frontline of bots, by infiltrating, say, the CNN or ESPN feed. Depending on the signal detail, it might be possible to feed it into an audio or visual source being filmed, though that seems doubtful.</comment>


OpenSSL Security Advisory - <AUTHOR> https://mta.openssl.org/pipermail/openssl-announce/2017-January/000094.html <comment><USER2> > OpenSSL 1.0.2k users should upgrade to 1.0.2k

Well that's certainly helpful advice :)

</comment><comment><USER3> Another OOB? At this point, hasn't anyone run a static analyzer on the darn thing and fixed all the warnings?

11/16 - NPR - [https://mta.openssl.org/pipermail/openssl- announce/2016-Nove...](https://mta.openssl.org/pipermail/openssl- announce/2016-November/000087.html)

9/16 - dangling pointer - [https://mta.openssl.org/pipermail/openssl- announce/2016-Sept...](https://mta.openssl.org/pipermail/openssl- announce/2016-September/000083.html)

5/16 - buffer underflow - [https://mta.openssl.org/pipermail/openssl- announce/2016-May/...](https://mta.openssl.org/pipermail/openssl- announce/2016-May/000072.html)

3/16 - NPE, double free, etc - [https://mta.openssl.org/pipermail/openssl- announce/2016-Marc...](https://mta.openssl.org/pipermail/openssl- announce/2016-March/000066.html)

... I'm tired looking...

<comment><USER4> If static analyzers could find all problems in C with a low false positive rate, then that'd eliminate one of the big problems with C and partially negate the need for Rust.

<comment><USER5> I've run several respected static analyzers against several well respected projects and I'm lucky if I get more than 2-3 false positives.

In the Argon2 reference library, the one alert from Infer was a genuine bug I sent a PR for, followed by one alert from tis-interpreter that was another genuine bug. clang-analyser produces clean output.

It's true that you get so many false positives under OpenSSL it's not feasible to review. I would contend this is an indicator of code quality more than an indicator of poor static analysers.

</comment></comment></comment><comment><USER6> I've written this article on CVE-2017-3730: [https://guidovranken.wordpress.com/2017/01/26/cve-2017-3730-...](https://guidovranken.wordpress.com/2017/01/26/cve-2017-3730-openssl-1-1-0-remote- client-denial-of-service-affects-servers-as-well-poc/)

It includes proofs of concept and touches upon the fact that client vulnerabilities can affect some servers just as well, because servers sometimes initiate connections to other servers. Mail servers do this, as well as certain web applications.

</comment><comment><USER7> For those looking around for near-drop-in replacement:

[https://www.libressl.org/](https://www.libressl.org/)

</comment><comment><USER8> Interesting to see the note about version 1.0.1 there. Isn't that the latest available in Ubuntu 14.04?

        Note
        ====

        Support for version 1.0.1 ended on 31st December 2016. Support for versions
        0.9.8 and 1.0.0 ended on 31st December 2015. Those versions are no longer receiving security updates.

I'm not intamately familiar how Ubuntu handles LTS releases, but I'd assume they don't backport security releases for such old third party packages? Or do they?

EDIT: I can answer my own question, they do backport security updates, even for unsupported software that they still ship

[http://askubuntu.com/questions/863477/will- ubuntu-14-04-rele...](http://askubuntu.com/questions/863477/will- ubuntu-14-04-release-security-updates-for-openssl-1-0-1-even-after-31st-dec)

[https://bugs.launchpad.net/ubuntu/+source/openssl/+bug/15966...](https://bugs.launchpad.net/ubuntu/+source/openssl/+bug/1596693)

</comment><comment><USER9> The most serious ones seem to be 32-bit only, which may provide you some relief / buy you some time if all your servers are 64-bit (though you should probably still upgrade).

</comment><comment><USER10> I have OpenSSL update fatigue.

<comment><USER11> Sadly this may be a feature of all cryptographic software.

Isolate your exposed services, give them push button deploys to get current versions out to each node as quickly as possible.

<comment><USER12> > Isolate your exposed services

Most important part. vulnerabilities need to get patched, period. But I'm a lot less stressed about it when I know my publicly exposed surface is small, and even that has layers in front of it.

</comment></comment></comment><comment><USER13> what's the last version on jessy (debian) ? checking on my machiens says 1.0.1t . in one of the comment it seesm that 1.0.1 is not updated anymore. checking the apt-cache policy openssl shows installed and candidates as 1.0.1t-1+deb8u5.

What should I do?

<comment><USER14> This is a very useful site for Debian security issues:

[https://security-tracker.debian.org/tracker/source- package/o...](https://security-tracker.debian.org/tracker/source- package/openssl)

<comment><USER13> so only unstable is secure.. what's the general approach then? Should I use sid? (this is controinutitive)</comment></comment></comment>


A Photo/Video/Sharing App in Python - <AUTHOR> So, I want finally decided to design a photo/image/video sharing app that i can test on users and use it to apply for YCombinator next year after I have gotten a significant number of users to test and love it.<p>Is Python a good language to program this in? How / where do i start ? Any suggestions / resources / recommendations appreciated ! Thanks a lot! <comment><USER2> If python is your strong suit then it is definitely a good language to program this in. Instagram was built on python.

Don't forget many great apps are built on many different languages. I think you should focus on using what you know to get your product out there as quickly as possible.

Good luck and I hope this helps :)

<comment><AUTHOR> Just started learning how to program and only gone through the Python course on CodeAcademy.

Is there a good video tutorial online that shows step-by-step how to create a basic webpage in Python ?

<comment><USER2> Sorry for the late reply. Yes indeed. You can try out the django book, for step by step guides on getting things done in Django. [https://github.com/jacobian- archive/djangobook.com](https://github.com/jacobian-archive/djangobook.com)

I only propose Django because that's what I use for creating websites with Python.</comment></comment></comment>


Mingly: Relationship Management Made Easy - <AUTHOR> http://ming.ly/mingly-for-web-demo-relationship-management-made-easy/

<comment><USER2> This is a beautiful dashboard very excited to start using this!

<comment><AUTHOR> Fantastic! I'm looking forward to your initial thoughts and feedback.

<comment><USER2> Hi Ladylynn,

My initial thoughts:

Firstly, as I said, I love the interface. It is incredibly clean, unobtrusive and easy to use (although perhaps because it is so easy to understand, the intro on gmail was a bit of a pain). Only other thing in general is my limit on recommendations for the service.

Product-wise, I see myself using this mainly as a way to stay in touch with business connections and see if they can use where they are/any new information to deepen our relationship or use their new position/status whatever to help me. With that in mind I really care about all my LinkedIN connections, some of my twitter connections and few of my Facebook connections. I wish there was a way for me to edit the feeds of whom I'm looking at and what I'm looking at beyond just 'favorites'(I don't particulary care about my high-school acquantances birthday...or to be blunt my high- school acquantance at all) and all this different information is kind of obscuring the important information I want to look at.

I know mingly catches when people on LinkedIN change jobs, but it doesn't seem to catch when they just change their headers, which some of my connections seem to be doing instead of properly editing their LinkedIN page.

Also, I know you guys are probably adding a lot of features, but it'd be great if there was a way I could follow a company or industry and be notified when one of my connections becomes involved with it.

Once again I really like Mingly and am looking forward to using it for a long time!</comment></comment></comment>


A third of popular websites are 'fingerprinting' you - <AUTHOR> https://www.washingtonpost.com/technology/2019/10/31/think-youre-anonymous-online-third-popular-websites-are-fingerprinting-you <comment><USER2> [http://archive.is/gtXzY](http://archive.is/gtXzY)</comment>


Video Games That Made People Question Their Beliefs - <AUTHOR> https://kotaku.com/the-video-games-that-made-people-question-their-beliefs-1836045401 <comment><USER2> It didn't make me question my beliefs because at the time I didn't really have any. But the opening of Bioshock and Andrew Ryan's monologue got me thinking about that stuff for the 1st time.

"I am Andrew Ryan, and I'm here to ask you a question. Is a man not entitled to the sweat of his brow? "No," says the man in Washington, "it belongs to the poor." "No," says the man in the Vatican, "it belongs to God." "No," says the man in Moscow, "it belongs to everyone." I rejected those answers; instead, I chose something different. I chose the impossible. I chose... Rapture. A city where the artist would not fear the censor; where the scientist would not be bound by petty morality; where the great would not be constrained by the small! And with the sweat of your brow, Rapture can become your city as well."

It really got me thinking about who makes demands on whom about what in society.

<comment><USER3> Every time I read that paragraph I'm reminded of the book Atas Shrugged. Where Ayn Rand lays out her philosophy of objectivism.

<comment><USER4> The game's plot is directly referencing Rand, there's also a pivotal character called Atlas.

</comment></comment></comment><comment><USER5> Papers Please could just be a commentary on the Soviet state, but for me it threw into question the very idea of borders.

[https://papersplea.se/](https://papersplea.se/)

<comment><USER6> borders are a peculiarity of nation-states

<comment><USER7> Not really - even wolf packs have borders: [https://www.reddit.com/r/MapPorn/comments/a3p0uq/an_image_of...](https://www.reddit.com/r/MapPorn/comments/a3p0uq/an_image_of_gps_tracking_of_multiple_wolves_in/)

<comment><USER8> As do cats

</comment></comment></comment></comment><comment><USER9> I shored up a lot of my nonviolent leanings in the original _Splinter Cell_ series, as well as _Deus Ex_ and its sequels and others of the stealth action genre.

You can exploit a few glitches in the first _Splinter Cell_ and play the entire game by killing exactly one person; _Deus Ex: Human Revolution_ has a pacifist achievement, etc.

I recently tried a D&D campaign after a long time away from tabletop RPGs and found it fairly difficult to drop into the "kill orcs, get gold" mentality. Playing an elven ranger, and knowing full well that kobolds are lawful evil, ganking one on the road still felt ... weird.

<comment><USER10> It would be easier with an older edition of D&D, where you didn't gain XP but rather gold. Which changes the entire dynamic really, now stealth and nonviolence are viable options.

<comment><USER11> I prefer the milestone level system for the same reason, you're leveled up after important character moments or plot advancement so you're not incentived to kill everything

</comment></comment></comment><comment><USER12> _Undertale_ had an effect like this for me. [Warning: spoilers] Near the beginning of the game you are forced to fight a character who has been nothing but kind to you. The easiest thing to do was kill this character to progress, but immediately after I felt regret and a strong desire _not_ to have done that. Fortunately I made the decision not to save and so was able to revert my decision by taking the more difficult – at the time, far less certain – path of refusing to fight the character. (Though I still felt bad; and the game doesn't let you forget entirely either.)

Another belief-altering moment from the same game came after reflecting on the gameplay as a whole – I had developed an affinity for the main characters in a way I hadn't in any other RPG. I realized that this was due to the characters initially not liking me, and me having chosen to do things which didn't benefit me _at all_ in order to help the characters achieve their goals, which resulted in their friendship. The option was always there to simply kill them and move on. But the act of investing energy doing things solely for the benefit of these characters built a relationship – and I realized that this is ultimately the basis of all human relationships.

<comment><USER13> Sounds almost like the Ben Franklin effect,[0] which I don't think I've ever heard of being used in a game outside of this example.

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

</comment></comment><comment><USER7> These seem relevant:

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

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

I've always found it curious how anti-corporate sentiment disappeared from the Deus Ex sequels.

<comment><USER14> The original Deus Ex is a masterpiece. I love all the games (even Invisible War) but the original is a work of art.

Hopefully, Cyberpunk 2077 will be in the same vein.

</comment></comment><comment><USER15> FTL: Faster than Light changed me. Its mantra of 'losing is part of the fun' really changed my approach to games, as well as towards picking up real-world skills.

<comment><USER16> Interesting. I never played more than a few minutes of this game, because the learning curve was more than I was willing to put in at the time, and I died on the first encounter.

I might have to give it another go.

<comment><USER17> Keep in mind that your success in FTL tends to be highly variable too, I still occasionally manage to die on the first encounter, even though I also often make it to the last sector.

</comment></comment></comment><comment><USER18> _Nier: Automata_ has made me think about the limits of games and how much untapped potential there still is when it comes to interplay of game mechanics and narrative.

The game also explores various philosophical topics without shoving (political) opinions down your throat better than any recently released (western) game I've come across.

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

<comment><USER19> All true but it doesn't change the fact that it has fairly inconsistent characters who swap traits all the time.

It also doesn't help that they are fairly typical anime archetypes which sadly are often annoying.

Combine that with the occasional shock value quest that explains nothing and... I quite like the game in the philosophy department but it's not that great in several other aspects.

<comment><USER18> >but it doesn't change the fact that it has fairly inconsistent characters who swap traits all the time.

Mind elaborating on this? I haven't actually noticed any inconsistencies.

<comment><USER19> It's mostly 9S and 2B playing swapping the being curious and questioning authority role. Most of the time 9S does that but here and there 2B does it as well and then 9S jumps in to give the benefit of the doubt and call for a reasonable approach -- all the while he's fairly unreasonable himself pretty often.

(SPOILERS) I also got quite irritated by 2B never succeeding in muttering even one word of affection. That android had to be on the verge of her permanent death so as to leave a romantic plus dramatic (and incoherent) voice note to 9S. It felt like a highschool drama. :( (Where saying even one word to your crush seems like the end of the world, I mean.)

Another very irritating moment for me was 9S waking up in the presence of the only two androids able to repair other androids, and instead of saying thank you he proceeds to interrupt their explanations with "where is 2B". Zero appreciation.

Maybe it's me showing what kind of people I dislike, don't know. But the general anime archetypes that are shown in this game don't appeal to me.

A2 isn't much better. "Stop talking", "don't tell me what to do", "you are useless", "stay out of my way".

Don't know, man. I like the message of the game a lot. The delivery could have been much better though, IMO.

</comment></comment></comment></comment><comment><USER16> The Witness was one for me. The whole game made me look at the real world in a different light.

I played it with headphones on, and the volume loud enough to hear the crunching of gravel under my feet. The first time I found one of the "second kind" of puzzle, I nearly jumped out of my skin, and searching for them made me see things I hadn't seen before in ordinary places I visited.

</comment><comment><USER20> _Path of Radiance is pretty standard Japanese role-playing game fare. The world in which it takes place is on the brink of war, with the larger nation of Daein occupying the smaller nation of Crimea._

Considering it came out in 2005, that paragraph is pretty interesting in and of itself.

</comment><comment><USER21> The article's first example is of a person using a metaphor common to the ex- Mormon community about breaking "the shelf". "The shelf" is where the facts that bring one to question church doctrine go to be explained (or not) later.

</comment><comment><USER22> I'm not that deep. Its just that, every time RNJesus hoses me I go a little closer to the dark side.

</comment><comment><USER23> I never finished Metroid as a kid, but I expect that the reveal that underneath the spacesuit Samus Aran is a woman made a lot of people question the idea that only men can be action heroes.

A more recent example for me was when I played and finished Dark Souls 3 and then Bloodborne.

I had been reading the discussions on a fixed vs growth mindset, and grit, but it hadn't really clicked for me. I realized that my default state was a fixed mindset. I remember my mother praising me for always being better and smarter than other kids, not based on any real results or me having spent a lot of effort doing something, so I just assumed it was something built into me. In school, I had an easy time with some subjects, but a harder time with others. This didn't encourage me to work more on the hard ones, but avoid them. I valued people that displayed seemingly effortless genius rather than people who worked hard, because I thought the hard workers were stupid or less skilled and just had to make up for their lack of talent.

I finally had a tough time with math as a master of science student at the university, because I didn't have any study habits and expected math to be effortless like before. When I did pass the exams after multiple attempts, having finally sat down to study, I wasn't proud, I was just relieved and hated the whole experience. I was annoyed that math seemed to be based on making mistakes: You reach a problem you don't immediately know how to solve, you attempt it and fail, and study the rest of the material until you can figure it out. But the whole point is to be challenged! If you could breeze through all math problems without failing, the level of math is too easy for you. But I hated failing or feeling stupid.

Back to Dark Souls 3! The game is very hard, but it's also very fair. When you die it's because you made a mistake, but the game will throw the same thing at you again and now you can avoid it. Enemies are placed behind corners that surprise you the first time, but the second time you know they're there. Bosses telegraph their attacks. The first time you fight them, you're supposed to die and have to fight them again and again, learning their moveset. If you could beat all bosses in a Dark Souls game at the first attempt, same as with math, the game would be too easy. It's supposed to challenge you and, same as math, force you to be precise and focused, forcing you to accept that you will have to adapt your playstyle to the bosses to beat them.

In Dark Souls there's a a feedback loop where you die, but get infinite lives and can retry the same section of a map or a boss over and over. You know that other players can beat the boss, so why shouldn't you? The game definitely taught me grit and perseverance, where I before would quit a difficult game, this time I attempted again and again until I had figured out the map or boss.

A lot of people view playing the souls games as masochism, and I can see that in the same way that I considered studying math to be masochistic. Now I've learned to appreciate the process and take joy in learning to incrementally overcome an obstacle. I'm no longer afraid of not knowing enough when I start a task at work, but instead know that by just spending time and incrementally attacking a problem I will be able to figure it out. Dark Souls and Bloodborne helped me move from a fixed to a growth mindset, something I try to instill in my kids today.</comment>


VCs have 'Dying Unicorn' lists, but they aren't sharing them - <AUTHOR> http://fortune.com/2015/09/08/dying-unicorn-lists/ <comment><USER2> I'm starting to wonder if we're going to see a revival and/or reimplementation of fuckedcompany. There seem to be a growing number of indications that some percentage of companies are going to fall apart, but as this article shows, no one wants to talk about it.</comment>


Patatap - <AUTHOR> http://www.patatap.com/

<comment><USER2> Before you press the space bar, "nowisthetimeforallgoodmentocometotheaidoftheircountry" sounds like the music they used to play early in the mornings on VH1...</comment>


Show HN: Quantum JavaScript - <AUTHOR> https://quantumjavascript.app <comment><USER2> This site has such a pleasant UI, and the text output formatting is so beautiful and meticulous. It seems like a lot of small details at work here too, like the micro-UX with hover effects on a lot of these elements.

Quantum anything is over my head, so I have no idea what I'm looking at, but it's really pretty at least.

\---

Looking through the source, a few things pop out:

\- Wow, this thing was made entirely in Vanilla JS + CSS, no frameworks of anything. Not a SINGLE dependency in the whole library or site. You don't see that everyday.

\- In the code, maybe this is my not understanding, but it seems like the "quantum" bit is probabilities based on Math.random() calls?

        const outcomes = matrix.rows.reduce(function (outcomes, row, i) {
          outcomes.push({
            state:
              "|" + parseInt(i, 10).toString(2).padStart(circuit.bandwidth, "0") + "⟩",
            probability: Math.pow(row[0].absolute(), 2),
          });
          return outcomes;
        }, []);

        //  We need to "stack" our probabilities from 0..1.

        const outcomesStacked = new Array(this.results.length);
        this.results.reduce(function (sum, outcome, i) {
          sum += outcome.probability;
          outcomesStacked[i] = sum;
          return sum;
        }, 0);

        //  Now we can pick a random number
        //  and return the first outcome
        //  with a probability equal to or greater than
        //  that random number.

        const randomNumber = Math.random(),
          randomIndex = outcomesStacked.findIndex(function (index) {
            return randomNumber <= index;
          });

Is this how quantum works "under the hood" so to speak?

<comment><USER3> Yeah; A real "Hello world" quantum program is randomly printing 0 or 1 without any pseudo-random generator. At the most fundamental level, the quantum-bit can be in many states, but when measured will "jump" to either 0 or 1.

In that website's playground ([https://quantumjavascript.app/playground.html](https://quantumjavascript.app/playground.html)), just write:

       H

And you'll get 50% 0 and 50% 1.

Now, /why/ does it jump when measured? We don't know, but physicists have many cool theories.

One of which is that it doesn't really jump, but just that there are many universes created and one shows a 0 and another one shows a 1 (Called the Many-worlds interpretation). As weird as it sounds, it seems like the most promising explanation. There are other theories but they all need to add hacks to make the maths work.

<comment><USER4> This comment is being taken way too seriously.

</comment></comment></comment><comment><AUTHOR> I entirely forgot to mention that TODAY is Q.js' first birthday. And here's a write-up of how I got started with it:

[https://medium.com/@stew_rtsmith/quantum- javascript-d1effb84...](https://medium.com/@stew_rtsmith/quantum- javascript-d1effb84a619)

</comment><comment><USER5> I can't help but chuckle when I think about what the js haters would say about this.. You can't even escape js on the quantum level

<comment><USER6> The actual quantum level physics itself is probably running in some nodejs process started by forgotten continuous integration server at someone's home lab.

It is all javascript all the way down.

</comment></comment><comment><USER7> This is great. I was just thinking today, I don't yet have enough uncertainty about the javascript I have to interact with, and I should add some more, programmatically.

<comment><USER8> Hillarious! Had me in splits.

</comment></comment><comment><USER9> This looks really cool, though it goes way over my head. Is there an ELI5 somewhere that explains what this is?

<comment><AUTHOR> I've begun to put together useful resources for learning more here: [https://quantumjavascript.app/resources.html](https://quantumjavascript.app/resources.html)

I'd like to really flesh out that page; I've now come across so many folks that are amazing at explaining this stuff... It's just a time crunch to juggle all this as you might imagine ;)

These two videos in particular helped me get started:

1\. What is a physical quantum computer? [https://www.youtube.com/watch?v=OWJCfOvochA](https://www.youtube.com/watch?v=OWJCfOvochA)

2\. How might one compute using it? [https://www.youtube.com/watch?v=F_Riqjdh2oM](https://www.youtube.com/watch?v=F_Riqjdh2oM)

</comment></comment><comment><USER10> I just want to echo what everyone has already said that this is indeed very cool in many aspects.

The API documentation is what really jumps out to me: it's an absolute joy to read, and makes me feel that the developer actually respects me as a potential user. Thank you!

<comment><AUTHOR> Thank you for the kind words. As I'm writing it I just keep thinking "How would I want to be taught this?" As another parallel rule of thumb I pretend that I'm writing to someone who is smarter than I'll ever be but,

1\. Doesn't know anything about this particular subject yet.

2\. Is probably very tired from whatever it is they've been doing. (Day job, raising kids, just general anxiety keeping them awake all night, etc.)

3\. Might be drunk.

So I try to be plain in my language choices, calming when facing something with an aura of complexity (eg. "this thing that you heard is complex is really just a fancy name for these two simple elements combined"), consistent, and to present actual examples instead of everything just being an impenetrable brick of text.

(And then occasionally I break all my rules by throwing in hyperlinks to random tangents / hiding Missy Elliott lyrics in the code / whatevs.)

</comment></comment><comment><USER11> This is cool! However, is there a way to control an operation using more than 1 input?

Like, can I say negate index 1 insofar as both index 2 and index 3 are on?

I tried adding two identity things and an x thing, and selecting the 3 of them, but the "c" button wasn't enabled when I did that.

Uh, that is still unitary, right?

Ok, yeah, it still permutes the 8 pure states, and permutation matrices are orthogonal, and therefore unitary, matrices.

edit: Oh, I see, in the [https://quantumjavascript.app/Q-Gate.html](https://quantumjavascript.app/Q-Gate.html) page it says that that gate (apparently called the "toffoli gate" or the CCNOT gate) is "coming soon".

So, it will be added, but hasn't been quite yet.

<comment><AUTHOR> Good question! There's a subtle underlying issue I need to address in order to get those working correctly: [https://github.com/stewdio/q.js/issues/18](https://github.com/stewdio/q.js/issues/18)

I have an idea of how to solve it while still keeping gate creation simple—I just need to find some downtime to investigate further :)

</comment></comment><comment><USER12> Thanks for sharing!

If you need some visualization going beyond ASCII characters, I co-developed bra-ket-vue, a quantum state & matrix visualizer in Vue.js. A working demo here:

[https://codesandbox.io/s/bra-ket-vue- cydtt?file=/src/compone...](https://codesandbox.io/s/bra-ket-vue- cydtt?file=/src/components/QuantumCircuits.vue)

It uses a different engine [https://github.com/Quantum-Game/quantum- tensors](https://github.com/Quantum-Game/quantum-tensors), supporting arbitrary quantum states, not only qubits.

<comment><AUTHOR> Woa—this is really beautiful! I need to give this some serious thought since I've gone heavy on the idea of not having dependencies, not using modules, not requiring Node, etc. You've definitely given me something to mull over here. Well done :)

For reference, here's some of my original reasoning: [https://quantumjavascript.app/contributing.html#JavaScript_s...](https://quantumjavascript.app/contributing.html#JavaScript_style)

<comment><USER12> Not requiring external libraries is by large a good thing. I am not sure if I agree with other parts, though. Personally, I consider ES6 a huge improvement when it comes to code clarity and readability. It makes it easier to write, and less error-prone. Right now it is supported by major browsers, desktop and mobile: [https://kangax.github.io/compat- table/es6/](https://kangax.github.io/compat-table/es6/). I like TypeScript and stuff ([https://p.migdal.pl/2020/03/02/types-tests- typescript.html](https://p.migdal.pl/2020/03/02/types-tests-typescript.html)), but I appreciate the no-Node philosophy (especially in the case of no dependencies).

If you want to continue developing it, I can connect you with Unitary Fund and Quantum Open Software Foundation.

...

Side note: I really appreciate the music notes analogy.

</comment></comment></comment><comment><USER13> I've never been as confused by an onsite demo in my life but it looks Very interesting!

</comment><comment><USER14> Oh dear god no!

I'm in a split mind here - I'm really impressed with OPs work here, and horrified that someone is trying to drag JavaScript into the next era of computers.

</comment><comment><USER15> Thanks for sharing, this is very cool! Is there a way to add a second CNOT gate in the circuit by just dragging and dropping the pieces?

<comment><AUTHOR> Certainly :) You can add as many CNOT gates as you'd like.

There are a few ways to do this in code, so you can pick the style that feels right for you / your particular case: [https://quantumjavascript.app/#Quantum_JavaScript](https://quantumjavascript.app/#Quantum_JavaScript)

But it's also easy to make CNOTs in the visual editor. Here's an animated GIF demonstrating it: [https://quantumjavascript.app/tutorials.html#Create_controll...](https://quantumjavascript.app/tutorials.html#Create_controlled_gates)

And for further clarity, here's a description of the relevant steps in that animated GIF: 1\. Drag an Identity gate (the circle) onto your circuit board. 2\. Drag a Pauli X gate (the X) onto the same moment (column) of your circuit board. 3\. Select both (by tapping on them). 4\. Tap on the "C" button to join them into a controlled gate.

</comment></comment><comment><USER16> Coolest thing I've ever seen

</comment><comment><USER17> The parts are simultaneously both good and bad</comment>


Delhi Government bans Uber, says it is misleading customers - <AUTHOR> http://economictimes.indiatimes.com/tech/software/delhi-government-bans-uber-says-it-is-misleading-customers/articleshow/45411180.cms <comment><USER2> I'm not sure what to think. Uber has proved itself to be a generally scummy company, but in this case I think they are being scapegoated by the government of India. Banning uber is not going to stop rapes in Delhi. Neither are the existing auto and taxi drivers any safer than uber.

<comment><USER3> If Uber had done all the due diligence and followed all laws, then nobody would be blaming them. But given people perceive that they are willing to break laws in many countries, they will have no sympathy here in India. The American libertarian BS does not work here, sorry.

<comment><USER4> Most laws are created around an existing society/market-place. Since laws need to appear reasonable they normally don't ban existing services but tend to protect them through framing and licensing.

This is why disruptive players naturally break laws in highly regulated markets.

This quirk is noones fault but a natural implication of public choice. Since disruption can lead to many people being much better off, I think being unlawful alone is not a bad thing.

Laws are justified by making everyone better off. If they don't, don't follow them. This is in no way revolutionary or anything. Using the own mind to judge justice is a standard insight since enlightenment.

</comment></comment></comment><comment><USER4> While Uber may be evil and everything, the "misleading" argument stated in the article is just administration putting up a smokescreen to protect their regulations from being detected as cause for incompatibility with uber services.

I guess they just saw the recent rape incident as a nice background for their ban.</comment>


Man makes money from cold calls with his own higher-rate phone number (2013) - <AUTHOR> https://www.bbc.com/news/technology-23869462 <comment><USER2> This almost sounds fair; Time is money. You want to use _my_ free time to sell me something? Then compensate me for using up that free time or get lost.

10p a minute is £6 an hour or $7.83 USD, slightly more than US minimum wage which I see as being a fair starting point.

<comment><USER3> Time is indeed money. Most companies track customer acquisition cost in dollars and I've often wondered whether both parties - customers and companies - would like a more direct model.

Let's say an employee earns $50/hour. And a SaaS has identified that employee as being a decision maker on their service. And let's say my current CAC ie $10,000 and the lifetime value of the service is 25k. And let's say that the SaaS closes 1 out of every 5 people that sees the demo.

Wouldnt there be appetite for the SaaS to offer 5 potential decision makers $500 each to participate in a demo? And another $1000 to the DMs company? The CAC decreases by 25% and the spend goes to the people and companies most participating in the process as opposed to tools like Marketo, and spend, etc.

Anyway, I think the guy here has hit on something but not at a high enough price.

<comment><USER4> 1 out of 5 people who see the demo without compensation buy the product. The only incentive they had to see the demo is that they were at least somewhat considering purchasing.

But if you start paying people, then a lot of people who have zero interest will participate just to pocket the money. Your close rate will go way way down.

<comment><USER5> If you think you have a really kick ass product that everybody will want when they see it though?

well probably you will alter your thinking based on feedback, but maybe not!

<comment><USER6> This is basically how advertising works. You're using most likely several, free, ad supported websites or apps. Instead of paying for the app you're using, you're compensating the developer with your attention on ads and the developer is then paid based on that. Instead of directly getting money for hearing pitches or being the subject of cold calls, you get to use free services.

</comment></comment></comment></comment></comment><comment><USER7> There was some story here before about a person that figured out they could muse these kinds of semi-premium numbers for automated verification calls from online svcs (like Microsoft and Twitter). (If) They automated the process and could make some semi-reasonable amount of money per hour.

edit: here it is: [https://www.arneswinnen.net/2016/07/how-i-could-steal- money-...](https://www.arneswinnen.net/2016/07/how-i-could-steal-money-from- instagram-google-and-microsoft/)

</comment><comment><USER8> Interesting ... it's more or less like the 90s call rates or post stamp fee. Maybe the most effective way to combat spam is to "tax" it? I would gladly pay 10 cent to the called or receiver for every call or mail I sent to recipients who hadn't whitelisted me, as long as it was mutual. The spammers would not.

Then again, I still receive alot of paper spam in my physical mailbox and humans paid full time to sell me stuff still call where the call cost is not the main cost, so it wouldn't solve very much and would be hard to organize practically.

<comment><USER9> If you are in the US your paper spam subsidizes the USPS.

<comment><USER10> I would gladly pay the extra tax to opt out.

<comment><USER11> The USPS is not directly funded by taxes.

<comment><USER12> Forbes says that they're effectively funded by tax payers to the tune of $18 billion a year.

[http://fortune.com/2015/03/27/us-postal- service/](http://fortune.com/2015/03/27/us-postal-service/)

<comment><USER13> That's adding the value of supposeded benefits from congress but not actual dollars. Also congress mandates crazy shit that the usps must do so any benefits are probably wiped out by them.

<comment><USER12> I think giving someone a tax break or low-interest rate is basically the same thing as giving someone the dollars to pay that tax or interest. Calling that a 'supposed' benefit is silly.

Forbes' assessment is the effective value is $18 billion.

</comment></comment></comment></comment></comment></comment></comment><comment><USER14> Is there an opportunity for startup which can give you a pay-call number and handle all legal requirements behind it? Then it would be easier to own pay- call number for everyone and give it out to everyone.

The company can give you option to absorb the cost by yourself instead of charging caller. Math wise, if cost to accept legitimate call is 3 cents and if you get 20 such calls a month then its less than a dollar for you each month.

<comment><USER15> Yes there is a great opportunity here, and I know that because when I read this article I thought to myself what a wonderful specimen of native advertising this is. Turns out that its not though, its actually a five year old article and PhonepayPlus is a public regulatory body.

</comment></comment><comment><USER16> I'm just amused by Phone Pay Plus huffing about how people shouldn't do this. Maybe don't pester people with cold-calls...

<comment><USER17> Huffing? They're saying that as the operator of a pay phone service you have several legal obligations and you will be subject to possibly stiff penalties if you don't comply and someone complains.

I'd be pretty surprised if their lawyers would let them discuss this scheme _without_ emphasizing that.

</comment></comment><comment><USER18> While cold calls are an issue, I don't think phone numbers should be able to charge you money without you being aware of it.

<comment><USER19> You are aware of it.

They always have a well known prefix, in the us its 1-900, in the uk its 0871.

<comment><USER20> ..unless you're not, since you don't know the magic prefix of the country in question.

There is a lot of variety [https://en.wikipedia.org/wiki/Premium- rate_telephone_number](https://en.wikipedia.org/wiki/Premium- rate_telephone_number)

<comment><USER21> Well, yes, it is up to you to check beforehand what certain things cost in different countries. Do you want countries to post signs with their exact speeding fines at borders?

</comment></comment></comment></comment><comment><USER22> _" The number of calls received by Mr Beaumont has fallen from between 20 and 30 a month to just 13 last month."_

I would have expected the calls to fall down to 0. I am amazed that at-least some cold callers don't mind paying the money. Their profit-margins must be high! Is the data on the profit margins of cold callers publicly available somewhere?

<comment><USER23> I would assume that a certain percentage of callers are newly contracting, and the rest recurring.

The former probably won't figure it out until after, the latter probably has a percentage dropoff based on how fast their accounting department notices (assuming it's not lost in the noise of being a truly enormous company).

</comment></comment><comment><USER24> Could write a little bot that answers and then keeps asking generic open ended probing questions, laying out hypothetical situations and then questions related to them.

<comment><USER25> Check out Lenny: [https://motherboard.vice.com/en_us/article/d3b7na/the- story-...](https://motherboard.vice.com/en_us/article/d3b7na/the-story-of- lenny-the-internets-favorite-telemarketing-troll)

<comment><USER26> Or: [https://jollyrogertelephone.com/](https://jollyrogertelephone.com/)

</comment></comment></comment><comment><USER27> How would you do something like this in the US? 900 number?

</comment><comment><USER28> What I can't stand is the default practice of recording phone calls. "This call may be recorded for training purposes" with no way to opt out. Sure, I could hang up but what if I absolutely have to make that call. I don't want my calls recorded by default, I want to be asked and the answer will always be No. If you are using my calls to make your company money by training your staff, I want to be compensated.

<comment><USER29> In many states in the US, you only need one party's consent. In the cases where you need dual party consent, they must explicitly ask you. Of course, that works both ways in each case. If you only need one party's consent, you can be that party and record. You don't even need to ask consent.

Also, you can opt out. Just ask them to stop recording. If they don't, hang up. But most companies will stop recording when asked.

</comment></comment><comment><USER30> This article was written in 2013, I wonder how he's been getting on since?

I'd imagine a lot of companies have wised up and won't call 0871 numbers.

Interestingly he mentioned he puts his 0871 number as his contact number for banks/energy bills etc so if they contact him about something he gets money for it.

<comment><USER31> Generally they only contact you by phone if they're trying to sell you something. Banks being the one notable exception but I still get more than my fair share of sales calls from the bank too.

Plus at the time that was written, it was pre-GDPR so you'd often find your number getting sold on if you weren't extremely careful when signing up to even non-free services.

<comment><USER32> Fun fact, in the Netherlands the government sells data to these companies, knowing it is against GDPR. They will partly cease this in the future (not immediately) How it works: Chamber of commerce requires all companies to register there. They sell your data to other companies. There is no option to not have your data sold.

Since I registered there (one man company) I have received countless calls and mail. Most calls are trying to scam me into a more expensive energy contract. It has not calmed down in the last year at all.

</comment></comment></comment><comment><USER33> Brilliant. Can I setup a line so all Robocalls are charged $1000 per minute?

</comment><comment><USER34> _[Regulator Phone Pay] says Premium rate numbers are not designed to be used in this way_

Yes they totally are. The whole point of them is to make money from callers. Exactly what else were they designed for?

<comment><USER35> This is answered in the article it seems. Those numbers are associated with obligations of fairness, liability, etc. which an individual is unlikely to be able to provide the callers with.

<comment><USER34> Rubbish! Why do you believe that an individual can't be fair yet an organisation can?

Premium rate numbers are used by some of the most scammy businesses out there, the regulators don't seem to mind taking their money.

</comment></comment></comment><comment><USER36> I've thought about getting a 1-900 number and putting that as my cellphone number on my company profile. Any weekend or night production calls... I'd get some extra $.

</comment><comment><USER37> Is there an american equivalent to this VAT number in the article?

<comment><AUTHOR> The 1-900 number as other poster mentioned is an obvious "premium rate number" [0] but there are also others which are typically used for scams which are assigned to Caribbean countries. [1] [2] I have no idea how to acquire one of those and how to link it to your SIM card or land-line.

> _Consumers usually receive a message telling them to call a phone number > with an 809, 284, 649, or 876 area code in order to collect a prize, find > out information about a sick relative, etc. The caller assumes the number is > a typical three-digit U.S. area code; however, the caller is actually > connected to a phone number outside the United States, often in Canada or > the Caribbean, and charged international call rates._

> _The 876 area code has been linked to a form of telephone fraud known as the > "one ring scam". The person perpetuating the scam calls the victim via a > robodialer or similar means, sometimes at odd hours of the night, then hangs > up when the phone is answered with the hope that they will be curious enough > to call the number back. When the victim does this, an automatic $19.95 > international call fee is charged to their account, as well as $9/min > thereafter. Similar scams have been linked to Grenada (area code 473), > Antigua (268), the Dominican Republic (809, 829, and 849), and the British > Virgin Islands (284)._ [2]

[0] [https://en.wikipedia.org/wiki/Premium- rate_telephone_number#...](https://en.wikipedia.org/wiki/Premium- rate_telephone_number#United_States_and_Canada)

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

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

<comment><USER38> I'm sure there are voip carriers in those countries that will sell you a DID (inbound number), and then you can forward calls wherever.

However, I would expect most businesses to have their phone systems set up not to connect to numbers outside the US. It's not _terribly_ difficult to get your phone company to disable international calls, and it's a good idea, unless you're actually calling internationally on purpose.

<comment><USER37> Yes. But think about how often web forms were not sanitized in the past.

</comment></comment></comment></comment><comment><USER39> For those of us not in the UK, what is a PPI refund?

<comment><USER40> PPI stands for payment protection insurance. There was a huge legal case where it was found that it was mis sold (card companies and banks didn't follow rules) and so refund were due. The landslide was so huge the business of applying for refund has itself become big business.

</comment></comment><comment><USER41> Is there an app that, upon clicking a button, will play a standard message to the caller and hang up the phone?

<comment><USER42> No. Android has limited access to the audio streams for voice calls, which is why call recorders rarely work.

<comment><USER43> One could work around this with an external blue tooth device.

</comment></comment></comment><comment><USER44> Strange that consumer protection rules would apply to companies (especially those making unsolicited calls)

</comment><comment><USER45> The problem is that it doesn't cost much to call someone. If the costs rise, then it lowers the rate at which people call. Not a bad idea, if only it can work for everyone!

</comment><comment><USER46> that is great... you could pay back the 7p to legitimate callers... if only this could be automated (at least for numbers on your contact list)

</comment><comment><USER47> 10p an hour? And he keeps them talking for longer?

I have better things to do with my time.

Edit: hour? I meant to write minute. Vagued out I guess.

<comment><USER48> Per minute. Keep them talking for 10 minutes and he gets a pound. If he is getting 30 calls per month and keeps each of them talking for just ten minutes, that is 30 pounds worth of beer money that month that he can drink with his friends at the pub - for about 5 hours work/month. Not sure how that compares with minimum wage in the US, but it may be close.

<comment><USER12> > 10 minutes and he gets a pound

Come on, that's the least effective use of anyone's time I've ever heard of.

<comment><USER49> Before I started ignoring unknown numbers entirely, every time I got a scam call I would just tell them I needed a minute, ask them to hang on, and mute my phone while I went back to work. They'd usually stay on the line for 5-10 minutes. A bit tougher with this guy's scheme where there are regulatory requirements for transparency, etc. he's fined for not meeting, but I felt quite satisfied knowing that for 5 minutes, a scammer was taken out of circulation while I just went back to honest work. Required almost none of my actual time.

<comment><USER47> I've recently taken up trying to sell them my own brand of snake oil or the secret to immortality.

</comment></comment></comment></comment></comment><comment><USER50> I've always wanted to do the same thing for my e-mails!

</comment><comment><USER51> It's called proof of work.

I did this for email. Get in touch if you want to try it.

I'm now working on doing this for the browser.

<comment><USER52> > It's called proof of work.

> I did this for email. Get in touch if you want to try it.

How? Via email?

I'm not going to implement your proof-of-work scheme just to email you.

Nobody else is, either.

</comment></comment><comment><USER53> 2013

</comment><comment><USER54> > Because he works from home, Mr Beaumont has been able to increase his > revenue by keeping cold callers talking - asking for more details about > their services.

ROTFL</comment>


How would you use an API that gave the cost of travelling from a to B? - <AUTHOR> How would you use an API that gave the cost of travelling from A to B? This hypothetical API gives the cost of different modes of travel between two locations. It is backed by a comprehensive database of all ticket prices across the country for every bus and rail operator. How much would you pay for such an API? Prefer answers from UK developers, but open to all. <comment><USER2> What use cases and pricing are anticipated?

<comment><AUTHOR> This is what I'm trying to determine through this question. Putting pricing aside, how would you use such data?

<comment><USER2> I suppose we are both struggling to imagine utility.</comment></comment></comment>


Docker has a business plan headache - <AUTHOR> http://www.zdnet.com/article/docker-has-a-business-plan-headache/ <comment><USER2> This article gives no evidence for its viewpoint and gets a number of things wrong. Docker is doing fine. Red Hat didn't buy CoreOS for Tectonic. Kubernetes won, so what. There is a big pie out there and there are multiple ways to slice it up. There will NEVER be a clear-cut "Winner" in this space, there will be multiple companies doing multiple things and all making lots of money doing them.

<comment><USER3> Docker is "doing fine" in terms of user adoption, but they are not doing fine in terms of revenue acquisition.

I think this speaks to a larger problem of open-source business models in the IT world. What happens is some person makes neat tool to address some neat. It's open-source (read free), a bunch of people adopt it because free, a community takes off, and then the owner of the open-source project starts scrambling to find a way to make money off it.

While some OSS businesses have figured out revenue models, most struggle. For example, think of all the DevOps tools out there that are popular but have shit business models. Chef is hugely popular, but I suspect they haven't IPO'd because their revenue looks like shit compared to their actual usage numbers.

If you can think of a decent business model for open-source projects, I'd like to hear it haha :) The go-to model has usually been "let's offer support" or "let's offer some premium features" or "let's limit # of users, etc. until you pay", but those business models usually don't work out that well.

The bottom line is it's extremely hard to build a popular open-source tool, but it's doubly hard to then transition that popular tool into a revenue model that doesn't cause your users to revolt. So a lot of these companies end up fighting a two-front war they can't win.

<comment><USER4> I think it's mostly one front war.

By numbers, adoption is far, far easier for open source tools than closed sourced (Sublime, VS Code -- vs -- Intellij, Resharper).

 __ _Adoption is the reason business open source._ __

It 's hard to have a product that is expensive and popular. Unsurprisingly.</comment></comment></comment>


"Why Socialism?" by Albert Einstein (1949) - <AUTHOR> http://monthlyreview.org/2009/05/01/why-socialism <comment><USER2> Somewhere along the way in American history, somebody decided to conflate Communism and Socialism for political purposes. Since then the very idea of Socialism is regarded with hands held high in horror, anathema to the US economic system of Capitalism.

In fact, there is no instance of any country with pure Capitalism, and no instance of a country with pure Socialism. (Or pure Communism, for that matter.)

All countries have mixed economies, with some Capitalism and some Socialism. Where they vary is in the actual blend.

Many Americans have tried to convince me that there is no Socialism in the US, blithely overlooking the income to the elderly and the out-of-work; the road and highway systems; the bailing-out of companies; medical care to those who can't afford it; etc, etc.

All of those items above are being paid for by the combined resources of the country's taxpayers, each of whom have no say in where their money is going - the same as in (say) Norway or (say) China.</comment>


User Experience Guidelines for shared dashboards (less is more) - <AUTHOR> http://www.al.net/news/2011/7/20/user-experience-guidelines-for-shared-dashboards-less-is-mor.html

<comment><USER2> Anyone have color scheme guidelines beyond white on black?</comment>


This API doesn't exist outside this article? - <AUTHOR> http://msdn.microsoft.com/en-us/library/aa741307(v=VS.85).aspx#1

<comment><USER2> This is from 2009. The doc still exists, and the API still does not. But who cares; a workaround was posted and everything is working as it should.

That being said, documentation is really, really hard -- especially when you have thousands and thousands of pages. Unfortunately, things get out of sync. I just want to know how it managed a 4/10.

</comment><comment><USER3> It's a cute comment, but the answer is in there. I don't think Microsoft is highly motivated to update some of this ancient IE embedding lore:

        hr = pDoc->QueryInterface(__uuidof(IServiceProvider),
                                  (void **)&spServiceProvider);

        hr = spServiceProvider->QueryService(__uuidof(ITimerService),
                                             &spTimerService);

        hr = spTimerService->CreateTimer(NULL, ppTimer);

(did someone at MSFT see this HN post today and update the comment?)

<comment><USER4> > (did someone at MSFT see this HN post today and update the comment?)

Wouldn't be the first time, when it was revealed on HN that the website for Monster Truck Madness was still up it was taken down shortly after.

<comment><USER5> That was all over the net, not just HN. I suspect it got a ton of unexpected traffic and it was brought to the attention of someone who didn't want it hanging around as a liability.

</comment></comment></comment><comment><USER6> If you are using COM you should already know how to instantiate an object from it's UUID. That's all the provided example code is doing. It's not outrageous for the author to assume as much from the reader. It's basic COM 101.

</comment><comment><USER7> I'm confused, what is the context here? The comment is humorous, but the microsoft rep did reply back with (what seems like) working code. In 2009.

Also, why does one need the MSHTML Timer API these days?

</comment><comment><USER8> On a somewhat related note:

Starting with version 2.0 the OpenGL spec requires the implementation of perlin noise functions noise{1,2,3,4}.

However there's no major OpenGL vendor that implements this. In most cases the noise functions just return 0.

[http://www.opengl.org/sdk/docs/manglsl/xhtml/noise.xml](http://www.opengl.org/sdk/docs/manglsl/xhtml/noise.xml)

</comment><comment><USER9> 4 out of 10 rated this helpful

</comment><comment><USER10> I sometimes have the impression that msdn articles are from time to time depublicized and some information is taken offline either under management directions or just lost in migration. Its quite amazing that CodeProject is more useful than the docs of a company like Microsoft, who actually sells MS visual studio for money.

<comment><USER11> It is no impression.

When management decided to go full .NET, it was very hard to find out Win32 stuff, nowadays lots of it are back again with the "going native" change of wind.

However, most of the documentation related to Win16, Win32s and game libraries like WinG are now gone.

They are not the only ones, though. I don't find any longer many of the Apple documents from the early Mac OS X days.

Or the commercial UNIX documentation pages that used to be quite easy to find in the late 90's.</comment></comment>


How Hacker News ranking algorithm works - <AUTHOR> https://medium.com/hacking-and-gonzo/how-hacker-news-ranking-algorithm-works-1d9b0cf2c08d <comment><USER2> This article was published originally in October 2010. (Original HN discussion: [https://news.ycombinator.com/item?id=1781013](https://news.ycombinator.com/item?id=1781013) (311 points, 1929 days ago, 76 comments))

A previous similar article was written by kens in June 2009: "Inside the news.yc ranking formula" [http://www.righto.com/2009/06/how-does-newsyc- ranking-work.h...](http://www.righto.com/2009/06/how-does-newsyc-ranking- work.html) (I can't find the HN discussion.)

I think it's more relevant to see another article of kens that tries to reconstruct a more recent version of the algorithm, from November 2013: "How Hacker News ranking really works: scoring, controversy, and penalties" How Hacker News ranking really works: scoring, controversy, and penalties (HN discussion: [https://news.ycombinator.com/item?id=6799854](https://news.ycombinator.com/item?id=6799854) (920 points, 788 days ago, 190 comments))

But take all these articles as an approximation, because the current algorithm probably have more tweaks.</comment>


To See the Future of the Recording Industry, Look to Pac-Man - <AUTHOR> http://gigaom.com/2008/01/07/what-the-video-arcade-tells-us-about-the-recording-industry/

<comment><USER2> One thing I always liked about the Arcades was that in general, companies like Sega and others would put out machines that were far ahead of the home consoles. The average person simply couldn't afford it, and therefore did not mind dropping in a few quarters for the eye candy and interactivity. Today, this would mean that arcades would need far more than ~$600 playstation 3 power, but rather, hardware in the thousands of dollars to make this worthwhile, particularly when some gaming enthusiasts already spend a huge amount on high definition gaming pc's.

</comment><comment><USER3> I'm pretty sure the recording industry's future revenue model is not Guitar Hero.</comment>


Ask HN: Who made @newsyc20? - <AUTHOR> I'm really liking https://twitter.com/newsyc20:

  Tweeting Hacker News stories as soon as
  they reach 20 points. There's also
  @newsyc50, @newsyc100, @newsyc150, @newsyc300
 Does anyone know who made these? I haven't been able to find out with some light searching.
Is the code open source? I'd like a version that tweets new submissions with more than one point.
It has some really nice touches like finding the twitter handle in the profile of the submitter and including that in the tweet. <comment><USER2> Did you see "Thanks to Jeff Miller (@JeffMiller) for @newsyc20" on [https://github.com/ducu/twitter-most- followed](https://github.com/ducu/twitter-most-followed)

You posted that URL just minutes ago so maybe you missed that sentence.

<comment><AUTHOR> Thanks. Found that page but didn't see the credits!

No sign of any source code yet. :(

[https://twitter.com/JeffMiller](https://twitter.com/JeffMiller) is surprisingly blank.

</comment></comment><comment><USER3> A search shows :

[https://www.linkedin.com/in/millerj2](https://www.linkedin.com/in/millerj2)</comment>


BlackBerry sues keyboard company founded by American Idol host Ryan Seacrest - <AUTHOR> http://www.telegraph.co.uk/finance/newsbysector/mediatechnologyandtelecoms/telecoms/10550142/BlackBerry-sues-keyboard-company-founded-by-American-Idol-host-Ryan-Seacrest.html <comment><USER2> The BlackBerry Q10[1] is the most unique smartphone on the market due to it's touch display and physical keyboard. And although I'm now rocking a Z30, the Q10 is still probably my favorite.

[1][http://us.blackberry.com/smartphones/blackberry-q10.html](http://us.blackberry.com/smartphones/blackberry-q10.html)

</comment><comment><USER3> Blatant rip-off of the BlackBerry keyboard. Textbook intellectual property infringement case - slam dunk!</comment>


Walking consumes more gasoline than driving - <AUTHOR> http://ideas.4brad.com/holy-cow-walking-consumes-more-gasoline-driving <comment><USER2> This article's final point should probably be on top: "Many people take this idea as a condemnation of cycling or exercise. It isn't. Cycling is my favourite exercise. It is a condemnation of how much fossil fuel is used in agriculture."

People travel smaller distances in neighborhoods and cities designed around walking, biking, and mass transit (in the US, mostly pre-WWII neighborhoods) than in places designed around cars, because roads and parking lots require huge amounts of land, and high-speed automobile travel also enables people to live on larger plots of land. Don't let this kind of reasoning dissuade you from living in, and supporting the construction of, walkable neighborhoods.

<comment><USER3> The reasoning isn't dissuading me, it's the cost of living in urban cores (for property) while facing a high probability of my wife or child getting raped or mugged that does.

That, combined with tax incentives for owning property, means I have finally given up my walkable neighborhoods and have embraced the carbon powered lifestyle. A few years ago I'd be the last person who would say that, I protested against highway expansion and pushed for bicycle infrastructure. Now I've given it all up, have moved out into the weeds, and pay the carbon lords prodigious amounts of cash.

If you want walkable, you have to give up nearly everything else and you better love spending all your time in that walkable little neighborhood. I couldn't do it, there's nowhere in a dirty city I want to be badly enough to give up everything else for.

<comment><USER4> Keep in mind that fatal car accidents still far outweigh homicides and that sexual assault - whether you are in suburbs or the cities - are far more likely to be perpetrated by acquaintances than strangers lurking in alleys.

<comment><USER3> Fair enough. The point I was really going for was that affordable housing in high-density cores typically mean that you're in a "gentrifying" if not outright hostile neighborhood. When I had a child I quickly decided I wanted to let him play outside - and I can't teach a toddler the difference between a junkie and a postman.

</comment></comment></comment></comment><comment><USER5> I didn't give the article a super-close read, but it seems to assume that people eat proportionately to how much they walk/exercise. Looking around, that seems unlikely to be the case.

<comment><USER6> It also assumes that walkers and drivers cover the same distance. I don't think that's remotely true. For example I know people who think nothing of driving ten or more miles in order to buy groceries from the trendy grocery store (often, ironically enough, a Whole Foods) instead of the one that's less than a mile from home. Same for bars and restaurants.

<comment><USER7> I don't see how that's relevant. If it were true that driving is more energy efficient than walking, then if all you cared about was energy efficiency, you'd prefer to drive the shorter distance, assuming the result holds even when driving short distances (which it very well may). (Though the author of the article is suggesting instead that you may want to somehow increase the energy efficiency of walking by more efficiently producing food.)

<comment><USER6> You might prefer to drive the shorter distance, but that's not a realistic option. Car-centric infrastructure tends to take up a lot of space. The wide multi-lane streets and seas of parking lots you get in communities where driving is the primary mode of transportation massively increase the amount of land area needed to provide the same amount of services, which in turn greatly increases the actual distance being covered. Last time I lived in the 'burbs, the nearest grocery store was 5 miles away, and accessible only by roads with speed limits of 45mph+. Walking or riding a bike to buy a loaf of bread simply wasn't an option.

Whereas part of the reason why it's common for people to not own cars (or own fewer than one car per adult household member) in more walkable communities is that it's simply not practical - cars take up a lot of space that can't be used for other things, and making a community dense enough to permit easy walkability doesn't leave a lot of space left over the swaths of 200 square feet that it takes to temporarily store a car that isn't currently being driven. So the laws of supply and demand place those spaces at a premium.

</comment></comment></comment></comment><comment><USER8> _" [P]eople who eat the average diet that they can't claim their human-powered travel as good for the planet — just good for them."_

Unless they were going to do comparable exercise anyway. Biking to work is unequivocally a win over driving to work and after an hour on a stationary bike.

<comment><USER9> Not to mention the fact that this conclusion makes no sense when you consider the fact that one's appetite (and the associated gasoline use of the required food) doesn't increase 1:1 with how many extra calories one burned. This assumes no changes at all in how efficiently your body uses energy and how much energy your body stores on it (in the form of fat).

</comment></comment><comment><USER10> If people walk regularly they get health benefits. To be accurate this should take into account the energy savings from avoiding healthcare costs. E.g., how much gasoline goes into building an additional hospital, pills, etc?

</comment><comment><USER11> _Transit systems, on average, are only mildly greener than cars. City buses, in fact, use the same energy per passenger mile as typical cars. Light rail is sometimes 2 and rarely even 3 times better than cars, but in some cities like San Jose, it uses almost twice as much energy per actual passenger than passenger cars do.._

This would be true if buses and light rail all ran on gasoline, but many don't. In Vancouver, the light rail system is entirely electric, as are about 1/3 of the buses.

<comment><USER12> Electrical cars/buses may be less green than gas vehicles since electricity may come from a very "dirty" source. For example in the US more than 1/3 of the energy comes from coal power plants, which surely have caused more cancer deaths than all nuclear accidents put together [citation needed]

<comment><USER13> It certainly depends on where you are. In Seattle, we get 90% of our power from hydroelectric, and almost all of the remaining 10% from either nuclear or wind. I wonder what the comparison between cities with electric transportation services and without, and their respective power supplies would show.

</comment></comment></comment><comment><USER14> Headline seems to be contradicted by the article. If we get the equivalent of 42mpg walking -- and we assume that people are walking downtown in large cities where there is a lot of traffic -- that's far better gas mileage than a car gets. (It can take 10 minutes to go 1 mile in a car downtown.)

Although maybe if you ate a diet of 100% beef and only walked along highways going 55mph walking would be less efficient...

<comment><USER7> Dubious reasoning there, but I think the headline is based on the next paragraph, which explains that a Prius gets better than 42 mpg, and 2 or more people in a normal car that gets better than 21 mpg alone gets better than 42 passenger-miles per gallon.

<comment><USER15> The capital investment to produce the car uses energy--so no, I highly doubt this math. The cow is a capital investment like the car (ie, and energy sink that makes other things happen with less energy). If the cow alows you to not buy a car, you are doing better off perhaps?

The appropriate analysis is to look at the entire investment in the car- infrasctucture-industrial complex:

Roads

Gas Stations

Auto supply stores

Tool makers

Auto Companies

Auto Parts Suppliers

Shipping Industry that transports the cars

etc.

<comment><AUTHOR> I think it is legitimate to consider the incremental impacts of the choices we make, the starting line for those choices is what exists today.

Trying to do it within a clear context is a good idea though.

<comment><USER15> Even at this low level, the analysis is false. Walking consumes no gas. This is why you cannot arbitrarily pick an incongruent levels of abstraction. The entire premis of gas_equivalent_calories is flawed, then, unless we take steps to apply it correctly.

<comment><USER16> The _physical act_ of walking, itself, consumes no gas, sure.

 _That 's not the point._ The point is to be mindful of where the calories you're burning came from. And if you're in the developed world, with industrial agriculture, then your food is almost certainly steeped in petrochemicals.

<comment><USER15> _food is almost certainly steeped in petrochemicals._

So is automobile production. So the analysis is flawed.

Which is fine, but it's also _false_ once corrected for capital intesity (and depreciation).

So the result is lame. It is not counter-intuitive or even...interesting. But YMMV.

</comment></comment></comment></comment></comment></comment></comment><comment><USER10> I think this doesn't take into account that most people have surplus calories that would otherwise turn into fat.

</comment><comment><USER17> Three miles of walking does not burn an _extra_ 220 calories.

</comment><comment><USER18> > We eat, on average about 2700 Calories/day in the USA

Does anyone have a reliable cite for this please? It feels a bit high. Does it include children and old people?

<comment><USER19> [http://healthyeating.sfgate.com/average-calorie-intake- human...](http://healthyeating.sfgate.com/average-calorie-intake-human-per- day-versus-recommendation-1867.html)

2800 is the high end of the scale. 2500 would be an average for males.

<comment><USER18> That's a cite for what people should eat.

I am asking for a cite to support the statement "we eat on average 2700 calories per day".

That link has some self reported studies, and also explains the problems with those studies (very few people know how much they eat).

It also meantions that women eat less calories than men - about 2,000.</comment></comment></comment>


Open letter to banks: Please make bank transfers easier - <AUTHOR> https://medium.com/@mariusandreiana/open-letter-to-banks-please-make-bank-transfers-easier-d0200f803c68 <comment><USER2> The main problem here is the required reporting to the US government when USD is involved.

<comment><AUTHOR> Right, but is this relevant to the proposal to prefill fields instead of copy- pasting?

This requirement exists anyway for international bank transfers.</comment></comment>


10 years in Bay Area tech – what I've learned - <AUTHOR> http://andrewchen.co/10-years/ <comment><USER2> I LOVE stories like these. Now what I want to know is, why did you move away from Seattle? How do you feel about "the big one" earthquake slowly getting closer and closer to happening? My biggest shock about the bay area were the tiny houses and tiny backyards. It's something I just can't deal with and don't want to compromise on. For the same price I can get an amazing home somewhere less crowded with a higher quality of life, less stress, less pollution, and less traffic. Are the opportunities and friendships in the bay area really worth giving up all those things for?

<comment><USER3> What I like about the Bay Area is that it has some of the greatest backyards within driving distance: Marin Headlands, Yosemite, Death Valley, Lava Beds, Redwoods, Channel Islands, Joshua Tree, Sequoia.

</comment></comment><comment><USER4> Step 1: Be rich</comment>


Getting a min-sustain job in Valley? - <AUTHOR>

Background: dropped science PhD, trying to leave east coast, going to Valley or Seattle. Not interested in a stable job yet. Need a temp mindless job or intern type thing which surrounds me with people in the startup/tech industry. I don't need a lot of money, just something to anchor me for the next 6 months.
Any obvious opportunities? Do many tech (web preferred, biotech appreciated) companies usually have minimal jobs not meant for upward mobility? I am focused on something of my own, i just need minimal sustain, and an employer that understands that.
I'd prefer not to take on something outside of tech in order to maximize my exposure to relevant networks.
Thanks. Please have a good Saturday night. <comment><USER2> Freelance at a software or marketing shop in the area. They'll often take part time work, especially if you have an expertise in a "hot" area. I would personally just pick up the phone and call some consultancies and ask to speak to the Director or VP Engineering, or even just ask for their email address.

<comment><AUTHOR> Do you have a couple examples of these consultancies? That would really help me seed my search. Thanks a bunch for your response.

<comment><USER2> I don't know any in that area, I live in Dallas,TX. I would look at crunchbase under "serivces", eg:

[https://www.crunchbase.com/category/services/d237b69050a3132...](https://www.crunchbase.com/category/services/d237b69050a31326264a134e13d66c31)

Look on Linkedin for profiles similar to [https://www.linkedin.com/company/dialexa](https://www.linkedin.com/company/dialexa) (Company in Dallas is ~ 50 employees as software consultants).

Also, check sites like angel.co and email some founders there.

I would peruse cybercoders.com and dice.com and ping some recruiters there as a start mentioning that you're looking for part time work.

</comment></comment></comment><comment><USER3> I'm actually thinking about making the transition out west too - we should talk. PM me.

As far as cash goes, have you considered freelancing?

<comment><AUTHOR> Hey. I read your entire blog. I'd like to talk with you. We'll continue email conversation from this point, as you request - expect an email! Btw, I was pleasantly surprised by some of the stuff in your blog.

Edit: Are you familiar with the late Richard P. Feynman? He had some very brilliant things to say about teaching that I think you'll find interesting. You can find interviews on YouTube. He was one of the most creative physicists of all time.</comment></comment>


YELP critics can't stay anonymous, court rules - <AUTHOR> http://rt.com/usa/yelp-critics-anonymous-court-387/

<comment><USER2> This seems like a pretty bad ruling to me. The implication is that you have the First Amendment right to only speak the truth. So how long before we have the Ministry of Truth to adjudicate that question?

Let's not forget the Federalist Papers were published anonymously.</comment>


NSA Prism scandal could cost US cloud computing industry $35 billion - <AUTHOR> http://www.cloudpro.co.uk/cloud-essentials/cloud-security/5884/nsa-prism-scandal-could-cost-us-cloud-computing-industry-35bn

<comment><USER2> I think the viewpoint that the article expresses is a bit extreme.

The cost to companies of changing cloud providers from Amazon EC2 to anything else alone would be substantial enough to make most businessmen hesitate.

And if the NSA was ready to go to these lengths, and were indeed collaborating with other governments, I think it would be naive to believe that just because a Cloud provider wasn't based in the USA, they wouldn't have opened their data vaults to the intelligence agency of their respective country.

Prism definitely hurts the USA and its image, no doubt, but I don't think it will kill the US Cloud business.

<comment><USER3> I'm much less worried about almost any other country seeing my data, as long as they don't share with the NSA.

<comment><USER2> But why should that have to be something that you accept? Every government loves power, and it is the job of the people and the press to restrict that love.

"Lingering Effects of DOJ Snooping on Media" [http://youtu.be/QOFLLDih9fw](http://youtu.be/QOFLLDih9fw)

</comment></comment></comment><comment><USER4> So I guess it comes to which mantra is gonna win out:

JOBS! or TERRORISM!</comment>


AMSAT - Amateur Satellite Summary - AO-7 - <AUTHOR> http://www.amsat.org/amsat-new/satellites/sat_summary/ao7.php <comment><AUTHOR> This is the oldest actively communicating satellite.</comment>


Ask HN: Why can't I visually create v1.0 of a CRUD application? - <AUTHOR> One should be able to throw together the front end by dragging and dropping pieces on to a canvas.
One should then be able to drag and drop a UML like diagram to create all the models. When you hit save, the database, the model (rails/django/node) code, and the ORM all get generated.
One should be able to link the front end to the models.
The output should be rails/django/nodejs that you can modify.
Why isn't there something to get that first part out fast? I look at MS Access and how easy it was to write up a database and wonder why it does not exist. <comment><USER2> There are plenty of apps that are pretty close to what you're describing, basically MS Access for the web. They're usually called "app builders". Knack, Zoho Creator, etc.

The real problem is that this way of creating 1.0 gives you no path to get to 2.0. Dietzler's Law for Access:

"Every Access project will eventually fail because, while 80% of what the user wants is fast and easy to create, and the next 10% is possible with difficulty, ultimately the last 10% is impossible because you can't get far enough underneath the built-in abstractions, and users always want 100% of what they want."

From: [http://nealford.com/memeagora/2013/01/22/why_everyone_eventu...](http://nealford.com/memeagora/2013/01/22/why_everyone_eventually_hates_maven.html)

</comment><comment><USER3> > Why isn't there something to get that first part out fast?

Typing out models is faster than defining them by drag and drop. There's code generators that will produce basic CRUD apps from that (heck, that was one of the selling points of Rails early on.)

</comment><comment><USER4> I have been wondering the same thing lately. I'm not saying UML was the greatest thing ever but it was supposed to be a language- and implementation- independent way to model data relationships.

</comment><comment><USER5> build it.</comment>


IPython 5.5 and 6.2, Jupyter Notebook 5.1 released - <AUTHOR> https://medium.com/jupyter-blog/release-of-ipython-5-5-and-6-2-158537648393 <comment><AUTHOR> Main features added to IPython:

\- Show function signature in the terminal while completing.

\- Assignments can trigger the display mechanism.

\- IPdb can be called recursively.

\- Support for system-wide configuration.

\- Built-in support for Progress Bar.

More details here:

[http://ipython.readthedocs.io/en/stable/whatsnew/version6.ht...](http://ipython.readthedocs.io/en/stable/whatsnew/version6.html#ipython-6-2)

Main features added to Jupyter Notebooks:

\- Internationalization.

\- Shutdown server from command-line.

More details here:

[https://medium.com/jupyter-blog/jupyter- notebook-5-1-0-ddc8b...](https://medium.com/jupyter-blog/jupyter- notebook-5-1-0-ddc8b0d6e989)</comment>


CV using jQuery Isotope - <AUTHOR> http://matt.is/

<comment><USER2> I like it. The image makes you look like friendly guy, and isotope is hotness. That is all.</comment>


Stripe: Relay - <AUTHOR> https://stripe.com/relay <comment><USER2> We've been looking at a few other players to do exactly this, i.e. TwoTaps ([https://twotap.com/](https://twotap.com/)) and Cosmic Cart ([https://cosmiccart.com/](https://cosmiccart.com/)). The big problem we've seen is:

1) Having pricing and inventory data keep up to date.

2) Reliability and speed, TwoTaps has robots that fill in an order on retailers sites and checkout is slow as a result. Aside from the ugliness of it, I'm sure a lot of retailers don't like this process or necessarily are approving it.

3) Lack of wide number of retailers. Cosmic Cart does direct integration but the the numbers of partners they have right now is severely limited, Target being the big one.

Getting these direct partnerships integrations is hard, but to make this really compelling you really want a wide range of retailers. It will be interesting to see if Stripe, with the relationships it already has, will be able to do a better job of this and getting retailers to buy into losing the control of the full shopping experience.

<comment><USER3> Very thoughtful analysis! (Stripe engineer working on Relay here)

Getting retailers on-board is definitely core to the success of Relay. As announced today Saks and the SAP Hybris platform are live on Relay and we're working with numerous other retailers as we speak.

For apps, getting retailers to sell on their platform is a huge pain (custom integration to their APIs and payment systems) convincing them to do so. For retailers as well it's a pain. They have to create technical integrations with as many channel out there. That's why we think Relay make sense. We help both side of the equation.

Also, the relationship between a retailer and a channel app in Relay is opt-in today. This is literally a Stripe Connect (think OAuth) connection. But once a channel is onboard, it's nothing more than clicking a button for a Relay retailer to start selling there.

Also I wouldn't say they are losing control on the full shopping experience, they're merely enabling a better one on mobile. When you think of the shopping experience, a lot happen after the purchase (support, shipping, loyalty) as well and I think there are new experiences to create there, especially once the customer receive the receipt from the retailer.

<comment><USER4> Can I request a Shopify platform integration? My company (www.dodocase.com) would love to sell our products in mobile apps. Feel free to reach out to me at patrick at dodocase dot com.

<comment><USER5> Hey Patrick. We've just finished building a Shopify to Stripe integrator - it's in beta, but we're happy with how it's performing. Check it out: [https://www.shoptorelay.com](https://www.shoptorelay.com)

<comment><USER6> Hey.. Does Stripe not offer a direct way to integrate with Relay for Shopify shops? Is there a page that describes this process?

Thanks.

</comment></comment></comment></comment></comment><comment><USER7> Somewhat unfortunately name conflict with [https://facebook.github.io/relay/](https://facebook.github.io/relay/)

<comment><USER8> Meh, there are only so many words. The two things are in quite different segments, so it should be fine.

<comment><USER9> Funnily enough, a new blogpost about Facebook's Relay was just posted. It's about 3 submissions below this one!

</comment></comment></comment><comment><USER10> The animations on this page were not well tested. They run at about 0.5 fps in Firefox, but are completely smooth in Chrome.

<comment><USER11> People use other browsers than Chrome?

Kidding - but in all seriousness it's very hard to test in FireFox. I constantly find that things run super smooth in Chrome and then I test in FireFox and everything dies.

<comment><USER12> I take it you don't use a Mac, Chrome is a battery hog on OSX and I'd love to hear it isn't because I might try it again. For now it's Safari+FF for me. It's been a while since FF sucked.

</comment></comment></comment><comment><USER13> Blog post: [https://stripe.com/blog/relay](https://stripe.com/blog/relay)

This is interesting. How does this work with Apple not allowing purchases unless they go through them?

Edit: deleted the part where I confused square for stripe. My bad =/

<comment><USER14> Apple doesn't allow purchases of _digital_ products that don't go through the In App Purchase system and its 30% tax. Physical goods are just fine (hence the Amazon app where you can buy a book, but not a Kindle book).

<comment><USER15> I wonder if along the line Apple would make it mandatory for all payments, made physically (eg: Apple Pay) or digitally (eg: Stripe), to go through by then. I mean, since they are interested in the payments area, why shouldn't them?

<comment><USER16> 30% will kill margins on many goods.

<comment><USER17> That didn't stop them with e-books.

<comment><USER18> Yeah, making a copy of e-book is very labor and time consuming.

</comment></comment></comment></comment></comment></comment><comment><USER19> Forgive my stupidity but can someone explain why this is so neat?

I see examples that appear to be a links from a Tweet to a product buying page. Is that what's new?

I'm obviously missing something or maybe just not clever enough to get it... Thanks in advance.

<comment><USER20> If you view this tweet: [https://twitter.com/WarbyParker/status/643472513297682432](https://twitter.com/WarbyParker/status/643472513297682432)

You should see a buy button within the tweet itself allowing you to buy the product directly from the tweet.

<comment><USER19> Ah - thank you. I'm so used to viewing Tweets in an App which doesn't support that feature yet so I was just redirected to a Web page.

Many thanks for taking the time to answer.

</comment></comment></comment><comment><USER21> The amazing thing about this to me is realizing how massively undervalued Stripe is if things like Relay are actually successful. The networks effects created by Relay would be massive.

<comment><USER22> "Massively undervalued" at $5b?

Stuff like this generally doesn't work because shoppers are less comfortable this far out of context. But I would never bet against Stripe.

<comment><USER21> Hard for me to imagine Stripe at anything short of a $20-$30b company, so yeah $5b seems super cheap. To me though, I'm bullish on them though I understand that.

</comment></comment></comment><comment><USER23> This is pretty cool (I'm working on an ecommerce app now). What I'm not clear on is this:

 _Can apps selling relay products get a cut of the sale?_

What incentive is there for a "product discovery app" (or whatever) to sell other products? Can they define some sort of fee %?

UPDATE: Chatted with Stripe on IRC and they clarified that there's currently no way to share sales revenue or let apps define a % commission.

<comment><USER3> (Stripe Engineer working on Relay here)

Indeed there is no way to do so at the moment. But we have that on our radar and we'd like to construct something that makes sense for apps and sellers.

Some questions related to that: How would you see it working? Isn't ads the new affiliation in the app world?

<comment><USER24> Its pretty common for Stripe Connect integrations to charge an application fee. With Relay, Stripe would allow some apps that use connect to "move" their products database from their own database to Stripe. Also it allows merchants to sell on more platforms. It just becomes "You can use Relay and Stripe to sell on our platform, however we'll take a 1% transaction fee"

<comment><USER3> Following in up on this we just rolled out `application_fee` on the Order Pay endpoint ([https://stripe.com/docs/api#pay_order](https://stripe.com/docs/api#pay_order)).

It'll behave as expected if you're familiar with the connect `application_fee`.

Thanks for the feedback and hope you'll make good use of it. Let us know how we can help with anything help!

</comment></comment></comment></comment><comment><USER25> Does not seem like this works off the box. One of our customers tweeted with a stipe buyable product link [1] (from stripe relay) and the buy buttons are not there on twitter.

Support from stripe on this has not been great either with one of their support staff confirming and the other asking us to write to twitter about it.

Has anyone else had success with buyable tweets and stripe relay ?

[1] [https://twitter.com/lienielsen/status/646708462043402240](https://twitter.com/lienielsen/status/646708462043402240)

</comment><comment><USER26> What's the difference between Relay and the Enterprise version of Shopify?

<comment><USER3> (Hi Stripe Engineer here)

Relay is a way for merchants to route products to channels. We certainly don't want to replace Shopify (with whom we're pretty close) but just give merchants an easy way to expose product information to apps and accepts orders directly from there. In particular, Relay will not provide you with store front, or complex shipping and taxes calculations and integrations.

Ideally Relay should work seamlessly with Shopify, and Shopify users should be able to start selling on Twitter and other apps directly from Shopify through Relay without even necessarily hearing the name Relay (as it is ~the case with their payments currently processed by us)

<comment><USER5> We've actually just finished a Shopify to Stripe integrator - check it out: [https://www.shoptorelay.com](https://www.shoptorelay.com) \- we're listening to feedback to at firstname.lastname@example.com

</comment></comment></comment><comment><USER27> tomasien: For some reason your comment is being marked as a [dupe], even though it's the only one of yours in this thread. There's another deleted thread[1]. What's going on here?

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

<comment><USER3> Feel free to repost your comment here!

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

</comment></comment></comment><comment><USER28> We've made an mobile shop on iOS with integration to Shopify. We are planning to open source it once we release our own shop. Let me know if anyone is interested in trying it out.</comment>


Simplicity in programming, redux: depth-first and breadth-first minds - <AUTHOR> http://reprog.wordpress.com/2010/03/28/what-is-simplicity-in-programming-redux/

<comment><USER2> What's the deal with all the sushi images in this guy's blog posts?

<comment><AUTHOR> There's no grand plan. It's just that programming is not a subject that lends itself to extensive illustration, and long blocks of unbroken text are visually boring. I wanted my blog to look nice, and also to have a recognisable visual idiom; since I love sushi and it looks so nice and colourful, it seemed like a good pick.</comment></comment>