CoffeeScript: JavaScript without the Fail (slides) - <AUTHOR> http://bodil.github.com/coffeescript/ <comment><USER2> To be fair, one shouldn't bash Brendan, he had to build the initial JavaScript language in a week[1]. It's not his fault the language became the defacto web- language.

[1][http://www.jwz.org/blog/2010/10/every-day-i-learn- something-...](http://www.jwz.org/blog/2010/10/every-day-i-learn-something- new-and-stupid/#comment-1021)

<comment><USER3> Yes, if there's one thing that Doug Crockford should have taught us all by now, it's that Brendan was actually pretty smart, and we were damn lucky to end up with Javascript compared to what could have been.

<comment><USER4> I don't know.... If it was really bad, it could have been replaced with something better. If it was really good it could be kept. Today we're stuck with something half bad/half good, we're keeping it and it is uncomfortable at times. Add it to the deficiencies of html and css and web dev becomes a chore.

<comment><USER5> We probably would have ended up with more Java and Flash.

</comment></comment></comment></comment><comment><USER6> Every time I'm left unconvinced, either by pointy-edged syntax or not fair representations of javascript...

Arrays could use a beard or the varied language syntax is going to cause ingrown pains:

      Declaring arrays
        In CoffeeScript:
          things_that_rule = [
            "robot unicorns"
            "honey badgers"
            "Lord Inglip"
          ]

      Destructuring assignment
        Assign variables from inside arrays:
          sum_and_difference = (a, b) -> [a + b, a - b]
          [sum, difference] = sum_and_difference 5, 2

It's also bizarre from a Python background:

      >>> [
      ... "a"
      ... "b"
      ... "c"
      ... ]
      ['abc']

=====

      if foo.bar? then console.log foo.bar
      # if (foo.bar != null) { ... }

versus

      if(foo.bar){console.log(foo.bar);}

<comment><USER7> I don't understand why this is downvoted. Does somebody disagree? Why?

It's true, every time I see CoffeeScript vs JavaScript examples, they're often unfair. Some addressed in this older thread[1].

Another thing I don't understand is why make the parenthesis for function calls optional? Such as

        sum_and_difference 5, 2

Especially since one of the most common complaints about JavaScript is ambiguous inconsistency (var, semicolons).

Ok, so parenthesis are optional,

        foo = myfunction()

calls myfunction, but

        foo = myfunction

does not? I suppose this is better than the way Ruby does it where you have to jump through hoops to get a reference to your function, but is this really better than making parenthesis for calls mandatory?

[1] <http://news.ycombinator.com/item?id=2542492>

<comment><USER8> The optional parens is something I personally go back and forth on. I went through a phase where I always left them off but have been moving back towards using them most of the time. The holdout is for calling things that take functional arguments. Here's how I'd write the nodejs.org home page example:

        {createServer} = require 'http'

        host = '127.0.0.1'
        port = 1337

        server = createServer (req, res) ->
            res.writeHead(200, 'Content-Type': 'text/plain')
            res.end('Hello World\n')
        server.listen(host, port)

        console.log "Server running at http://#{host}:#{port}/"

Notice `require` looks sort of like a language statement. The `console.log` thing is my own quirk. However, the call to `createServer` would require a hanging paren if parens weren't optional. It wouldn't look bad here (and, in fact the official example uses it to chain the listen call) but is less attractive if you're using longer functions. Calls like `memoize` and `operation` (think unit of work pattern) tend to work well with this.

<comment><USER7> Perhaps I'm crazy but I honestly feel mandatory parenthesis here improve readability

        {createServer} = require 'http'
        {createServer} = require('http')

        console.log "Server running at http://#{host}:#{port}/"
        console.log("Server running at http://#{host}:#{port}/")

At the very least, it improves consistency which to me improves readability. Making something "look like language" (or perhaps "prose" is more appropriate) doesn't improve the parsing process for my brain. In fact, the inconsistency with the rest of the non-language "code" throws it off the tracks.

Even if it didn't, I'd still say the ambiguity is not worth it. Perhaps CoffeeScript needs a "use strict"; for the final stroke of irony.

One more question: Why "#{foo}"?

Is there any template language that uses this syntax? (I am not familiar with one.) If it were up to me, I would have chosen "${foo}" to be like Mako, or plain "{foo}" to be like Python's string formatter, or "{{foo}}" to be like the more recently popular Mustache.

Edit: As cschep points out, the "#{foo}" syntax is Ruby string formatting syntax. Thanks.

<comment><USER9> Ruby does string formatting that way.

</comment></comment></comment></comment></comment><comment><USER10> Out of interest, how does coffeescript scale, and can it start to get unreadable?

I worry the compression, while cute, could start to get a little extreme after a while, for example:

class Shape

      constructor: (@x, @y) ->

      centre: -> [ @x, @y ]

      area: -> 0

is starting to look close to unreadable and overcompressed (in particular, the constructor implicitly declaring member variables).

Also having a quick look through the bug reports, there seems to be some interesting inconsistencies, such as:

x for x in [1,2,3] # x == 3

x for x in [1..3] # x == 4

I also see a complaint that:

foo bar: 'baz', quux('onoz')

Won't parse. I understand this should parse as:

foo({bar:'baz'}, quux('onoz'))

Both of these, and other little things I've seen, make me think coffeescript is more of a giant bag of good ideas, rather than a well-thought out language. In particular, is there a clear unambiguous grammar for it anywhere? I can't find one.

<comment><USER8> > Out of interest, how does coffeescript scale, and can it start to get > unreadable?

It works well enough if your API design fits the language's expectations. This generally means your function calls take arguments in the order: normal args, onlyOneObject, callback.

How well it scales is sort of a taste question. I like that getters/setters and some event handlers tend to be one line. Here's a pair of functions I actually wrote today (I'm building a proprietary wysiwyg text editor that isn't using contentEditable)

        getBlocks: -> @_breakText(block.get('value'), block.getLineBreaks()) for block in @blocks

        getSelection: -> try start: @input.selectionStart, end: @input.selectionEnd

Here's a random longer function:

        _getWords: ->
            if @words.length
                @words
            else
                @_doWrap()
                words = []
                pos = 0
                size = 0
                Y.all(@wrapSelector).each (el) ->
                    size = el.get('text').length
                    pos  += size
                    r = el.get 'region'
                    words.push el: el
                               size: size
                               pos: pos
                               top: r.top
                               left: r.left
                               right: r.right
                               bottom: r.bottom
                @words = words

You'll either think these are neat or that they're horrible. Note that the first is a comprehension and the second is a try/catch block returning an object (it can fail in some older gecko browsers if the page is still loading).

> in particular, the constructor implicitly declaring member variables

I think this is excessively cute as well and don't use it. Nor do I use the `x = {a, b}` producing `x = {a:a, b:b}` trick, which causes problems with implicit object parsing when the object isn't the last argument to the function.

> In particular, is there a clear unambiguous grammar for it anywhere? I can't > find one.

There is not and there probably won't ever be. Doing one would be complicated quite a bit by the rewriting pass that happens before the compiler starts working on the code. A grammar for the resulting, unambiguous code wouldn't be too hard but that comes from the rewriter handling most of the hard corner cases.

<comment><USER11> I've started preferring returning early instead of if-else. So:

      _getWords: ->
         return @words if @words.length
         # the other case of the method

this approach makes the code read almost like English.

</comment></comment></comment><comment><USER12> I hope this submission doesn't signal an era of meme-worship here on Hacker News. "Fail" may just be borderline, but it sure triggers my radar.

The flood of memes slid slowly in the back-door at reddit, one innocent step at a time. Questioning this often got you the comment that you were old, stiff and lacked the funny-gene. Time passed and look at what a worthless trollhole reddit eventually became.

I hope to see fewer submissions like this on HN in the future.

</comment><comment><USER13> Does anyone else prefer the syntax of javascript to that of coffee script? Really, my only problems with javascript are no multi-line strings and type coercion (but type coercion issues are mitigated by always using ===). Otherwise, I think javascript is a fine language. Also, the with statement isn't that bad in my opinion.

<comment><USER14> I'm with you on that one. The only thing I feel that really needs improvement in javascript is the long-winded lambda syntax, seeing as they're used so much. Everything else I'm perfectly fine with. Honestly, most of what coffeescript brings is fewer keystrokes, at the cost of ambiguity. I don't see the purpose.

And I'm sorry, but whitespace-for-blocks really kills it for me. I can't stand it in python, but I'll suffer through it for the ecosystem. Coffeescript brings nothing to the table for me.

<comment><USER15> Significant whitespace is a big turn off for me too. What you gain in concision for small examples you more than lose in tooling and code manipulation.

<comment><USER16> I used the think the exact same thing. However, after spending some time with tools that do consider white space significant (coffeescript, haml, sass) I have come to prefer it. It's part noise reduction and part consistency between devs and environments that I prefer.

<comment><USER15> I've been burned many, many times in python by the indentation.

</comment></comment></comment></comment></comment><comment><USER17> The slides you can type in are quite annoying. I didn't find any way to continue other than clicking with my mouse.

<comment><USER18> I like the fact that there's a very low-barrier to entry of trying out the language while you're learning about it. This makes the material "stick" much better than just arrow-keying through a presentation.

I agree that the interaction could be better, though.

</comment></comment><comment><USER19> The Hyperbole is strong with this one

</comment><comment><USER20> Am I the only one who is amused by the irony of these guys?

i.e. "lets use Javascript end to end", and then the very same people go and create a new language to replace said Javascript?

<comment><AUTHOR> I think JavaScript gets many things right, but has an overly verbose syntax. So CoffeeScript hits a sweet spot by adding syntactic sugar while hewing close to the underlying language.

You and Alanis Morissette may call that ironic. I'd call it practical.

</comment></comment><comment><USER21> There's still plenty of fail, just different kinds of fail.

</comment><comment><USER22> Perhaps I'm missing the point here, but I don't get why there's such a hype over CoffeeScript. People seem to prefer learning a brand new language in order to avoid getting proficient in another language they already (should) know. Or in other words, people prefer to learn a language that will code another language for them. Its like I'll go and learn Japanese just so I can use it to write phonetic English.

<comment><USER23> In the case of CoffeeScript, the appeal, in my mind, is that it's _not_ a brand new language, it's just an improved syntax and some extra language features over what is essentially plain old JavaScript. Anyone who already grasps the fundamental concepts of JavaScript can master CoffeeScript in a matter of hours. Of course, the syntax is a matter of taste, and one might prefer something like JavaScript 1.8, which comes with the same new language features as CoffeeScript, and more. But some of us (and I suspect we come mostly from Python and Ruby) prefer the concise syntax of CoffeeScript over all those curly braces and semicolons.

<comment><USER22> Well, its true the syntax of CoffeeScript is trivial, and coming from Python background myself I find it very easy to comprehend. But I also find Javascript fairly easy to work with and to be honest I rather work on my target language without the abstraction of another (at least in the case of JavaScript). Take the javascript issues covered in the presentation - they are not hard to work with as long as you treat them as part of the Javascript package (for example, var your local variables to make them local. not hard to make into a habit).

</comment></comment></comment><comment><USER24> The beard slide made me laugh, but it doesn't hold any water. Ryan Dahl is clean-shaven in the node.js intro video on their website. Also, I think Javascript is great. Its 'bloated' syntax makes for minimize-able files which can end up being half the size of the originals. That's just a preference thing.

<comment><USER25> That makes no sense. If having bloated syntax is good, why not just go all out with it?

        createafunctionwiththesearguments() {...}

Your reasoning makes no sense to me.

<comment><USER24> Maybe I misunderstood, but he said Coffescript's significant indentation solves Javascript's bloated syntax. I was just saying that code that uses significant indentation can't be minimized, as JS files often are. <http://bodil.github.com/coffeescript/#compress-slide>

<comment><USER26> Doesn't matter either way. If you are in a production environment, using coffee-script would almost always involve a one-time compilation step to minified JS.

If you are sending real users coffee-script over the wire you are wasting a lot of their attention.

</comment></comment></comment></comment><comment><USER27> I love the facial hair theory. LOL.

<comment><USER7> That was cute, except Jeremy Ashkenas doesn't have a beard either. Why replace one beardless man's language with another's?

</comment></comment><comment><USER28> What's with the biased JS examples in the beginning?

</comment><comment><USER29> Will I be able to use Coffeescript with frameworks like Node.js? If yes, then how so?

<comment><USER30> Pedro Teixeira has made a screencast about Coffeescript in Node.js on his website notetuts.com: [http://nodetuts.com/tutorials/16-introduction-to- coffeescrip...](http://nodetuts.com/tutorials/16-introduction-to-coffeescript- and-nodejs.html#video)

</comment></comment><comment><USER31> Sorry if I'm late to the game but I have to say I started using vim- coffeescript with coffeecompile on watch mode and it's wonderful. It's basically like the window on the homepage but in vim.

</comment><comment><USER32> Why are the slides not using coffeescript?</comment>


Larry Ellison 'Speechless' Over New CEO of HP - <AUTHOR> http://blogs.wsj.com/digits/2010/10/01/larry-ellison-%E2%80%9Cspeechless%E2%80%9D-over-h-p%E2%80%99s-new-ceo/

<comment><USER2> I was half-hoping he would emphasize his astonishment in pictorial fashion. Oh well.</comment>


Ask HN: What is a security clearance worth? - <AUTHOR>

I currently live in DC, and the possibility to get a security clearance is opening up to me. I still have high hopes of moving to Silicon Valley once I'm done with my PhD, but if I stick around for an extra few months and submit to questioning, a clearance could be had. Its value in the DC area is somewhat obvious (and huge, actually), but how valuable is it elsewhere, especially tech-heavy places like Silicon Valley, SF, Austin, etc.? <comment><USER2> I can't imagine it would be particularly valuable outside of work in defense. If you want to work in defense, then it's valuable because it opens those (admittedly well paying) avenues to you. Otherwise, I can't imagine what it would bring you.

</comment><comment><USER3> The ability to work for private security firms that are located outside of DC, but handle large DOD and SD contracts, could be a good in to the security IT click.</comment>


Fighting Alcohol Bootleggers in Alaska - <AUTHOR> http://www.nytimes.com/slideshow/2008/10/13/us/20081013_LAND_SS_index.html

<comment><AUTHOR> Notice the hat on the first picture.

</comment><comment><USER2> bans on alcohol but allowed to import it? Why not just put a tax on it? Seems like it would have the same affect. Unless someones cousin works flying the alcohol in.</comment>


Interview with Jim Simons, the Mathematician Who Cracked Wall Street [video] - <AUTHOR> https://www.youtube.com/watch?v=U5kIdtMJGc8 <comment><USER2> Here's another interview with him: [http://youtu.be/QNznD9hMEh0](http://youtu.be/QNznD9hMEh0)</comment>


High end components fork of Raspberry Pi - <AUTHOR> http://www.bananapi.org/p/product.html <comment><USER2> >Built with ARM Cortex-A7 Dual-core CPU and Mali400MP2 GPU (and 1GB of RAM)

Doesn't really stack up against the Pi2, but I guess the lima driver may be better, video wise.

<comment><USER3> The 1gbps Ethernet is better for networking stuff as long as it's wired to the main bus and not via USB (unless USB3, which this isn't).</comment></comment>


My Great-Great-Aunt Discovered Francium, and It Killed Her - <AUTHOR> http://www.nytimes.com/2014/12/07/magazine/my-great-great-aunt-discovered-francium-and-it-killed-her.html <comment><USER2> Random tidbit, I lived a few hundred meters away from Marie Curie's place in my younger days (long after her death, in the 80's). A friend of mine in fact lived at her place. One day, the city decided to have radiation studies done and everyone in the area got visits from scientists - they took ground and water samples at multiple locations.

Results were communicated later - and radium, radon levels were more elevated especially at the old Marie Curie's house. However, nothing had been done following these findings.

Several areas in the city with radium and other radioactive materials have been found (older and newer dumps really!). Some areas are blocked off with radioactive signs, some houses have been destroyed for safety now.

Both our families moved. Note that the house also is at chemin du radium in France.

My friend's family and mine have left a few years later. All that to say, even recently there was still very little awareness and safety precautions being taken.

Some reference: [http://www.franceinfo.fr/emission/le-plus-france- info/2013-2...](http://www.franceinfo.fr/emission/le-plus-france- info/2013-2014/dechets-radioactifs-j-habite-chemin-du-radium-12-02-2013-09-15)

</comment><comment><AUTHOR> I thought this article was one of the best descriptions I've seen of the perils (both personal and teleological) of the scientific process.

"We should celebrate scientists not solely for their accomplishments but also for their courage and the tenacity required to discover anything at all. There are brave people out there working right now. They are brave not because they are killing themselves slowly or leaping from airplanes or catching rare tropical diseases, although scientists have done all those things. They are brave because of the intense emotional risks of trying to do something no one has done before by following your own lead. Radiation is a potent allegory for human life. Everything is always, inevitably falling apart; we are all in arrested decay. Our greatest achievements may become at best footnotes; few people remember us; we can't know what will eventually come of our work."

<comment><USER3> "Radiation is a potent allegory for human life. Everything is always, inevitably falling apart; we are all in arrested decay. Our greatest achievements may become at best footnotes; few people remember us; we can't know what will eventually come of our work."

And yet the human race is always, inevitably improving in every conceivable measure as a consequence of this individual sacrifice.

</comment></comment><comment><USER4> "Perhaps the most tragic demonstration of this involved workers at the United States Radium Corporation factory in Orange, N.J., which in 1917 began hiring young women to paint watch faces with glow-in-the-dark radium paint. The workers were told that the paint was harmless and were encouraged to lick the paintbrushes to make them pointy enough to inscribe small numbers. "

How awful is this ? I had never realized radiation had been so misunderstood back then...

<comment><USER5> The Radium Craze up to the nuclear bomb watching tourism of the Atomic Age are indeed quite bizarre to modern sensibilities. Or you could say they reflect an optimistic and romantic hope of what the future could bring, which we no longer have.

You might be interested in [http://www.academia.edu/3586500/Half- Lives_The_Rise_and_Fall...](http://www.academia.edu/3586500/Half- Lives_The_Rise_and_Fall_of_the_American_Radium_Craze_Through_Print_Culture_1900-1933) , which writes that

> Prescribed Radithor by his doctor in 1928, Byers was dead by 1932 (aged 51), > with his autopsy revealing that he had consumed approximately 1,400 bottles > in afew short years — at least one every day. Radithor was a radium drinking > solution promoted by one Dr. William Bailey (a fake name) whose products did > in fact contain significant amounts of the element. The recognition that > rich patients — and not just female industrial dial painters — were dying > because of these products led "the federal government to act with far > greater alacrity to help consumers than to assist workers."

<comment><USER6> The Wall Street Journal published an influential article about Byers, "The Radium Water Worked Fine Until His Jaw Came Off" which can be found on p. 18 here: [http://www.case.edu/affil/MeMA/MCA/11-20/1991-Nov.pdf](http://www.case.edu/affil/MeMA/MCA/11-20/1991-Nov.pdf)

<comment><USER5> Thanks for the pointer!

The comment about the jaw coming off reminds me of a story about phosphorus as a tonic:

> [I]n 1931 a Dr. G. Coltart wrote to the Lancet about an interesting case. A > patient of his had come to him in 1904 complaining of feeling run down and > so the doctor had prescribed a popular brand of tonic pills that contained > both elemental phosphorous and strychnine but told the patient to stop > taking them if the strychnine made him twitch. The patient had returned > twenty-seven years later with an advanced case of phossy jw, the industrial > disease that afflicted those in the match-making industrys, having taken the > pills regularly during the intervening years. Asked why he had taken the > pills for so long, he replied that he continued with them because they had > never caused him to twitch! ("The Shocking History of Phosphorous", John > Emsley, p. 58.)

The comment about the FDA reminds me of the 1937 Elixir Sulfanilamide tragedy. As the WSJ article points out, the FDA only had the power to regulate adulterants or false advertising. They only had the authority to track down the toxic Elixir Sulfanilamide because it, technically speaking, was not an elixir. Hence why they couldn't control the sales of radium water which truly did contain radium.

(With free market beliefs, the idea was that the customer should decide, not the government.)

And the speculation about the possible stimulative effect echos the 1925 publication in JAMA by Martland, et al.,at [http://jama.jamanetwork.com/article.aspx?articleid=238584](http://jama.jamanetwork.com/article.aspx?articleid=238584) :

> Minute particles of the radioactive substances ... produce, for a period of > time, seemingly curative or stimulative reactions, to be followed later by > exhaustion and destruction of the blood producing centers.

</comment></comment></comment></comment><comment><USER7> De-paywall-ified: [https://archive.today/fxhwJ](https://archive.today/fxhwJ)

</comment><comment><USER8> >[...] Irène Joliot-Curie "had a penchant for asserting that anyone who worried about radiation hazards was not a dedicated scientist." There are photographs of Joliot-Curie sucking a fluid up a glass tube to move it from one container to another, a practice called mouth pipetting. The historian Anne Fellinger has asserted that the substance is polonium [...]

We would be better served by the condemnation of lethal stupidity than the hollow glorification of scientific "heroes". We need the truth more than we need role models.

<comment><USER9> The truth at the time was that there was no known hazard to health.

<comment><USER8> Have you read the article? The hazards were known, alright. And heroically ignored.

<comment><USER10> The article gives me the impression that the Curies' medical knowledge was primitive or nonexistent by today's standards. It makes it seem like they thought radiation would just magically cure cancer, like a philosopher's stone.

Does anyone know if this is correct? The article mentions that they knew radiation would kill tumors; did they know it just killed everything, but would kill the thing it was closest to fastest, or did they think it had magical specificity? Perey noted that francium would accumulate in tumors; did she know that tumors have faster metabolisms (the basis of a lot of treatments today) or did she think it had magical tumor seeking properties? If they were in fact ignorant by today's standards, were they ignorant by their own's?</comment></comment></comment></comment>


London Hacker News Meetup - Thursday, 12th May - <AUTHOR> http://www.meetup.com/HNLondon/events/17356945/

<comment><USER2> I'm really looking forward to this.

Before I get any hate for being a Tech Recruiter, 70% of my motivation for going is because I am actively involved in a tech start-up which is due to launch our first product within the next 6 months and I am an active member and big fan of this community.

20% of my motivation for going is because I regularly get emails from other HN members asking for recruitment & hiring tips, CV & interview advice and help finding work in London and I would be more than happy to chat with any of you on the night if you need any help in these areas.

10% of my motivation is because I heard the words 'free beer'.

</comment><comment><AUTHOR> If you can't make the event please sign up on meetup.com for updates about future events. The next one will be on 23rd June.

</comment><comment><USER3> Really wish I could make it, but can't :( Atari Teenage Riot are in town...

</comment><comment><USER4> Pity it's a Thursday night, makes it a bit difficult to fit around not living in London and having a job.

</comment><comment><USER5> See y'all there. Nice one dmitri1981, I'll grab one of them free beers for you ;)

</comment><comment><USER6> I'll come along, thanks for organising this dmitri1981!</comment>


Do you use email to organize group meetups? - <AUTHOR>

How do you organize a meetup with a group of people? Send out an evite/anyvite? Via email? Via facebook? <comment><USER2> I've written a little web script that has no security, no protection, and an obscure URL. Then I send that URL to all the people I'm interested in getting together.

They click buttons on it to suggest what dates and times they can and can't make. The system gradually settles on one that works for the majority, and that's it.

If you don't want something secure and general, if it can be largely _ad hoc_ and mostly bug-free, it's easy.</comment>


Ask HN: What is your favorite tool to build web startup? - <AUTHOR> Inspired by https://steveblank.com/2011/09/22/how-to-build-a-web-startup-lean-launchpad-edition/.<p>List your favorite tools, share your experience if any. <comment><USER2> The thing that often gets misunderstood is that there's no magic technology that gives a massive competitive advantage here. If you pick Django/Python, PHP/Laravel, Rails, Node, Go, Java, whatever... you end up the same place. Keep it simple, since it will change if your business experiences growth anyways. Pick what you know, or what you want to hire for.

How do you create value for your customers and offer them something that is worth them paying for? Your customer doesn't know/care about the tech behind it. The technology side is a piece of the business puzzle with the goal of shipping your product/service and gaining traction ASAP.

If you don't get traction, the technology side doesn't really matter because the business case isn't there. Ship to market, get feedback, iterate, get more customers and repeat.

<comment><USER3> Use the tools you are used to. I doubt there is much advantage in any particular stack. They seem to catch up to each other. Ruby has some kind of type checker nowadays (can't recall the name). .NET has dynamic types if you need them etc. etc. I like the idea of using Haskell but really I can never be more productive than using my "home stack".

<comment><USER4> I think you're talking about Sorbet: [https://sorbet.run/](https://sorbet.run/)

</comment></comment></comment><comment><USER5> Rails (I'm Ruby dev). I've been playing with Vue lately and like it a lot. You can have all component's code in one place -> html+js+css, so it's super fast and easy to keep adding code. Also, I like React, but somehow whenever I use it I feel I am writing a lot of code for simple stuff.

I am finishing my first product in Elixir. It has some rough edges like deployment, but I start to like it more than ruby&rails - the code is much more readable and imo easier to write. Surprisingly I feel a bit more productive in it than rails.

I'd say the best tool is the one you know. If you don't know any tool for your specific problems, look for the simplest and most sane solution.

<comment><USER6> Agree on the single file components for Vue, they're amazing. Agree on the React, I found a lot of overhead to do even the most simple things, maybe I still not grasp the beauty around it.

<comment><USER5> I think it's because Vue is opinioned, just like Rails, therefore dev's happiness(?)&productivity is one of the main goals of these frameworks. In case of React, there are a lot of libs you can choose from, I'd probably use React in more heavy JS application - think some games or something like draw.io (don't know how to call it). To be honest, I don't have enough experience to back up my claims, so take it with a grain of salt.

<comment><USER6> dev's happiness & productivity seems like a good metrics to compare on JS frameworks.

</comment></comment></comment></comment><comment><USER7> It depends on what I'm trying to accomplish. If I'm trying to build something quick to prove that there are interested people out there I use a static html page with JQuery and Form Gadget ([https://www.formgadget.com/](https://www.formgadget.com/)) to handle form submissions and integrations. Sometimes this is enough even for the product depending on what it is.

If it's something that includes a subscription model, etc, then I like Akka Http (Scala), Slick, JQuery or React + Redux. More importantly though go with what you know well and can make progress in quickly, unless you want to learn something new.

Disclosure: I built Form Gadget.

</comment><comment><USER8> My favorite tool is boring Ruby/Rails because I know it best and I'm hyper- productive.

Your favorite tool should be whatever allows you to be hyper-productive. The goal isn't to be flashy or cool or hip, the goal is to create something: features, changes, bugs, etc.

If you value your time and sanity, go with what you know.

</comment><comment><USER9> Rails with as little front-end js as possible. I am yet to see or experience a more efficient workflow for a custom app.

Also, competitive research and paper prototyping before coding.

Having built a bunch of these helps me ask the right questions and postpone the right features to make it possible to get to an mvp really fast.

</comment><comment><USER10> PHP, Bootstrap, JavaScript (and jQuery), MySQL, Apache, Stripe for subscriptions, Mailgun.

I use Node for building it, WinSCP to upload it, and I just delete everything, and unzip the new build.

</comment><comment><USER11> Customers.

Talk to them.

Learn from them.

Iterate based on what they say and/or do.

Market to them using their words.

<comment><USER12> Absolutely the best answer. People tend to focus on tools, not the goal

</comment></comment><comment><USER13> Playframework (with Scala) + Vue.js (with Typescript) + Heroku.

It gives me a good balance on development speed over project's age and performance. I particularly like the balance of type safety and brevity.

Learning curve is high for new comers because of Scala and how to integrate Vue.js with Playframework. But, once I know how to do it, it's not an issue when starting a new project.

</comment><comment><USER14> Elixir/Phoenix + ES6/Vue + Stripe + PostgreSQL + Vultr

</comment><comment><USER15> React + GraphQL + Node + PostgreSQL

We have written a blog about it: [https://ideatostartup.org/blog/idea-to- startup/the-best-tech...](https://ideatostartup.org/blog/idea-to-startup/the- best-technologies-to-create-web-and-mobile-apps)

<comment><USER16> All this plus typescript

</comment></comment><comment><USER17> react, node, next.js (framework), firebase (db/auth), bulma (css), divjoy (prototyping with code export), zeit now (hosting)

</comment><comment><USER18> Core parts of my stack at the moment:

Groovy/Grails, Bootstrap, jQuery, Postgresql, AWS, Stripe, Mailchimp, Github

Apereo CAS for Single-Sign-On

Activiti for workflow management / BPM

We also have a core suite of internal services that are mostly built using Java + Spring Boot.

</comment><comment><USER19> Of late, I've moved to Elm/Lambda functions/DynamoDB or PostgreSQL. I've seen my productivity improve a lot when using Elm with the added advantage of being able to clearly define the problem in my mind.

Using Netlify for deployment has also save me a lot of headache (they really are awesome!)

In the end, like everyone else points out, its about picking a set of tools which lets you work without thinking too much about the development process itself.

</comment><comment><USER20> GitHub Pages, Google Forms, WordPress, Mailchimp.

Angular, Spring Boot and PostgreSQL if it actually turns out to be something for which there's sufficient demand.

</comment><comment><USER21> rails + heroku + pg + vuejs + bootstrap/bulma

</comment><comment><USER22> I built two multi-million $ companies with Wordpress and HTML/CSS/JS scrapping. It doesn't really matter. Users don't care about your underlying tech. Tech advantage exists, but it's certainly not tied to a specific programming language. Understanding your user is key, and executional excellence and overdelivering, not technology.

</comment><comment><USER23> An additional question would be all the ancillary tools needed to build a startup:

Mail + Payments + Payroll + Insurance + Marketing +++ etc..

<comment><USER24> I suspect that this is substantially more important as a differentiator, because they directly facilitate interaction with customers.

</comment></comment><comment><USER25> Money

<comment><USER26> Do what with it?

<comment><USER27> Pay others to answer that question! :D

</comment></comment></comment><comment><USER28> Rails for me, or one of the new crystal lang web frameworks if I'm feeling adventurous. Rails has the syntax you wan't, and crystal has both the syntax and the speed, but it's not quite yet 1.0.

</comment><comment><USER29> My Favorite is Django/React/Material Design.

</comment><comment><USER30> Go -- Backend

Vue.js -- Front end

Vuetify

Docker

Kubernetes

GCP

</comment><comment><USER31> AWS, Python and Angular. Nothing else is needed. Go make your millions.</comment>


John D. Cook: Usability versus composability - <AUTHOR> http://www.johndcook.com/blog/2011/08/15/usability-versus-composability/

<comment><AUTHOR> I don't have any particular profound comments myself, but this is a constant tension in my own work, and I'd like to see what others have to say.

I build a lot of one-off models in conjunction with end users. There is often managerial confusion between the models, the libraries I've used to help build them, and "applications".</comment>


Misunderstanting the Million Dollar Curve - <AUTHOR> https://www.lottosonline.com/lottery-news/story/Maths_boffins_invent_lottery_prediction_system_name_it_The_Million_Dollar_Curve <comment><USER2> The lottosonline article is so beside the point. The original paper uses lottery outcomes from all over the world as the seed for "truly random" numbers. For example to define cryptographic curves where no government agency can introduce their magic constants.

On a meta-level, casino and lottery operators have an incentive to push content of that sort. More than once have I been reminded in a casino that the inventor of the Roulette game was a mathematician. "So maybe there is some structure in the results after all".

It's as if they were planting a thought from which the number-crazies and gampling-addicted emerge. There are always some poor souls who think they can crack the code.

<comment><USER3> Well I could probably create pretty good predictive algorithm (beating the house edge) for (this) roulette and this croupier given enough cameras and math/physics geniuses. After all the game obeys newton mechanics. And muscle memory generates quite repeatable results of ball and wheel spin momentum.

Also I would not be surprised if some really good croupiers with long years of practice are able to spin the wheel in ways that would give statistically significant deviations from randomness.

</comment></comment><comment><USER4> It's a pretty technical subject. I don't expect a layman to understand the need for random constants in cryptographic algorithms. That someone misunderstood it is not surprising.

But this is such an insane misunderstanding. To believe that lottery numbers are somehow predictable with mathematics, wow. And this is from a website about lotteries, which you would expect to be more familiar with these things. Or well, maybe not. I guess in retrospect, it makes sense that people interested in lotteries wouldn't understand randomness.

I think understanding probabilities is really important. It's something that should be emphasized in school a bit more. People have such weird and bizarre misunderstandings of it, like this case. The fact that lotteries are even a thing is concerning. Let alone a thing big enough to attract millions of dollars in ticket sales.

Personally I don't believe that they should be legal, simply because they prey on that misunderstanding, and often on the poorest. And they give false hope. But that's a moral/political question instead of an objective one. And voters support them a lot, and they are difficult to get rid of.

</comment><comment><USER5> A slightly better (easy to understand) explanation: [http://www.theregister.co.uk/2016/02/24/randomness_is_a_lott...](http://www.theregister.co.uk/2016/02/24/randomness_is_a_lottery_so_why_not_use_a_lottery_for_randomness/)

</comment><comment><AUTHOR> First time seeing this I thought they are kidding the MDC team, but it turns out they are serious.

[https://twitter.com/ThomasBaigneres/status/70460551486131814...](https://twitter.com/ThomasBaigneres/status/704605514861318145)

</comment><comment><USER6> Direct to the research paper: [http://cryptoexperts.github.io/million-dollar- curve/specific...](http://cryptoexperts.github.io/million-dollar- curve/specifications/2016-02-01_trap-me-if-you-can.pdf)

</comment><comment><USER7> I get a cert error trying to go to this site</comment>


Ideas for Good User Interfaces (conversion & ease of use).  - <AUTHOR> http://www.goodui.org

<comment><USER2> Great tips! Signed up already :)</comment>


RESEARCH: Gender Bias in College Admissions Tests - <AUTHOR> http://www.opposingviews.com/articles/research-gender-bias-in-college-admissions-tests

<comment><USER2> This is why I like startups so much: you can do whatever you like that will make the most use of your skill set.

There is no need to convince anyone to allow you to do that -- with a test, interview, etc.</comment>


French President Pushes For 'Google Tax' - <AUTHOR> http://www.eweekeurope.co.uk/news/french-president-pushes-for--google-tax--2971

<comment><USER2> >The proposals are aimed at helping to save French creative industries from the 'free-for-all' Internet culture.

Let them die please, they produce nothing worthy.

Also i find it fun to see them speak of multi-million euros industries who have done more to kill creation than any other, like if they needed to be saved. This is so typical of our actual government in france. Actually protect the wealthy by pretending they're poor, and do nothing for people who actually needs help.

</comment><comment><USER3> Also see <http://news.ycombinator.com/item?id=1007048>

How can the French do this without falling foul of EU laws?

<comment><USER4> Can we all calm down and look objectively at the situation ? This may help :

President Obama has thrown his weight behind a plan that could see foreign firms such as Chinese Global Internet Services being taxed for doing business in USA.

Known as the Chinese Global Services Tax, the controversial proposals will force foreign Internet firms to pay a new tax on their online advertising revenue in USA.

<comment><USER5> Thanks for re-balancing the view.

The big picture behind this is scary. If every nation starts taxing internet companies from every other nation for revenue generated off their own population (regardless if said company has a presence in that country), it'll slow down growth tremendously and kill a lot of business models.

</comment></comment></comment><comment><USER6> I'm trying to remember the last week a new tax was not introduced in France... I can't find, someone to help ?

I might be a bit cynical, but the truth is that this has nothing to do with culture, the French internet, or anything similar: this has all to do with France abyssal debt and chronically unbalanced budgets (the last balanced budget was in the seventies...), and the need for the government to get more money.

So why Google ? Because it's easy to explain citizens that you are going to tax a foreign company. Easier than telling them that they will have to pay yet another tax. And if it doesn't work because of the EU, the government will have someone else to blame for the need of a new tax on the French taxpayer... et voilà.

This, or they are really stupid and think that taxing Google will somehow have a positive outcome on French economy. I don't think they are stupid.

</comment><comment><USER7> I wonder what this means for smaller websites that also use advertising (I run a games site, for example)? I think this has the potential to grow into a very complicated situation if it works out for France and other countries follow suit.

<comment><USER8> Seems like if you start making money off of people in France, you'd have to pay a tax.

<comment><USER9> Well - we already do :)

</comment></comment></comment><comment><USER10> Just wait, google not available in your region unless you pay $4.95 per month

</comment><comment><USER11> There should be a tax on every player in every industry other than the smallest player in this industry if this logic holds.

</comment><comment><USER12> It would be funny if google responded by not allowing the French to use it's services. =]

On the other hand. It's not a bad idea for America. If we taxed advertisements I /might/ see less of the ones I find annoying. And we could funnel that money into education or health care. Reducing the US' carbon footprint. Bleh. Lots of uses.

But a tax that citizens aren't paying (in this context) is a great idea in my opinion.

</comment><comment><USER13> Such an idiotic claim: "stop enrichment of the world's leading internet players." Why not? I mean, if the would tax google, what, a new french service will pop up overnight? So odd...

<comment><USER3> The French are still smarting over the irrelevance of Minitel to the wider world. You know, they were once the leading players in getting consumers to adopt network services. Now the world has passed them by.

<comment><USER9> Just curious (really) - where do you see French smarting over the Minitel ?

I'm French and around me (including friends who are living outside France) nobody seems to be bragging about the Minitel these days (maybe 10 years ago, but now, no really).

We consider it mostly some outdated device that had its importance a long while back.

Any links or feedback to provide ?

<comment><USER14> I think you may have misunderstood. "smarting over" is somewhat idiomatic English. It means to be embarrassed by something. In other words, you and the person you replied to seem to agree.

<comment><USER9> Haah - thanks for the clarification.

<comment><USER3> "Smart" also means, umm, "a stinging sensation" I guess. The physical manifestation of embarrassment, or the physical equivalent of the emotion of embarrassment. You might say, "ow, that smarts". I didn't realize it wouldn't translate :-)

</comment></comment></comment></comment></comment></comment><comment><USER15> This makes sense. When economic transactions occur over practices that diminish the quality of life, they should be heavily taxed, like cigarettes or television.

</comment><comment><USER16> Why the fuck so much pussies voted for Sarkozy ? He is trying to create an internet less free (free bear AND free speech) than real life. What an asshole. I can't remember how many times I wished someone would have killed him, rather than insulting him in public, medias or anything.

<comment><USER17> Wow, I think you win. This is by far the worst comment I have ever seen on Hacker News.

<comment><USER18> Y'see, this is why I don't like the fact that comments can no longer go below -4.

<comment><USER19> On the reply page to a comment, there's a flag, so just flag it.</comment></comment></comment></comment>


Italian Scientists Claim (Dubious) Cold Fusion Breakthrough - <AUTHOR> http://www.foxnews.com/scitech/2011/01/24/italian-scientists-claim-cold-fusion-breakthrough

<comment><USER2> Reasons to be skeptical here: [http://io9.com/5742290/no-italian-scientists- have-not-discov...](http://io9.com/5742290/no-italian-scientists-have-not- discovered-cold-fusion)

Briefly, the claimed reaction isn't one predicted by current theoretical work, and the apparatus isn't described specifically enough for anyone to replicate it. They say it's been "running a factory" for two years, but don't elaborate on where it is, or what it's been doing. And these guys started their own "journal" for the sole purpose of publishing their paper after no one else would take it.

But if you still think there might be something to it, you're in luck --- the gizmos will be on sale shortly. Reserve yours now!

</comment><comment><USER3> Don't change the title:

"Italian Scientists Claim (Dubious) Cold Fusion Breakthrough"

<comment><AUTHOR> Good point. I used the URL (which was missing the "dubious") to fill in the title.

</comment></comment><comment><USER4> I wish casinos allowed betting on science news, then with each headline we could get the over/under spread. And I would only bother reading things when most people put money on them being true.

<comment><USER5> Earthweb (available for free from the Baen free library as an ebook) makes use of that very idea, although more as 'generic' stock markets than casino style.

</comment></comment><comment><USER6> "...they haven't provided any details on how the process works."

"...their paper was rejected by several peer reviewed scientific journals, it was published [on their own web site]."

"...a patent application was rejected."

And the article is by Fox News.

</comment><comment><USER7> Duck typing

If it looks like crap, then it probably is crap</comment>


When the Steve Jobs movie came calling - <AUTHOR> http://scottknaster.blogspot.com/2015/10/when-steve-jobs-movie-came-calling.html <comment><USER3> I was at two seminal Steve Jobs events- the introduction of the Apple I and the introduction of the NeXT. The 2nd is in the movie and I have to see if it is accurate. From videos, he was more polished in the 2000s than 1980s.

<comment><USER4> Wow, can you tell us more? How did you come to be there and what do you remember? I'm sure many people here would love to read about this.

<comment><USER3> The NeXT introduction was classic Steve.

I had a post-graduate Stanford job 11 years later. And had been a certified Mac Developer using ObjectPascal and all that stuff in the meantime.

Steve was targeting the NeXT for the academic world, so I got an invite. Steve rented the fanciest auditorium in San Francisco- Symphony Hall (though NeXT was just off the Stanford campus). No one had seen the NeXT computer yet. Most PCs up until then were some kind of off-white plastic slabs. When the NeXT was unveiled it was a dark-gray magnesium cube. (The Borg were still three years in the future.) The presentation began in a darkened auditorium. Then a computer screen started talking. It displayed something that looked like a Mac screen. PC multi-media was still crude then, so audience erupted at the high quality computer speech. The speech said something about how the new NeXT woud supercede all previous PCs. Then the light came on with NeXT cube unveiled and Steve launching into a product speech. Besides the high multimedia capabilities of the NeXT hardware, Steve also promoted the NeXTSTeP operating system and software-development kit. It was object-oriented top to bottom, pretty rare then, save for a few things at Xerox. This was supposed to make writing educational applications a "piece of cake".

The NeXT never really panned out at universities becasue it was expensive and slow. I became a certified Objectve-C developer for them too. I remember the first models taking forever to compile code, because it swapped files onto a an optical disk. The NeXT became a hit a financial services firms due its advanced software. Eventually the hardware itself was discontinued and they just sold the OS and SDKs, which Apple purchases to get into the 32-bit world.

<comment><USER5> Thanks so much for sharing this. The stories may be known but the individual point of view is priceless.

</comment></comment></comment></comment><comment><USER6> Great read! Take a peek too at The Hollywood Reporter's cover story today on 'Steve Jobs' movie and crazy saga to get to premiere:

[http://www.hollywoodreporter.com/features/a-widows- threats-h...](http://www.hollywoodreporter.com/features/a-widows-threats-high- powered-829925?utm_source=Sailthru&utm_medium=email&utm_campaign=THR%20Breaking%20News_2015-10-07%2009:00:00_nstone&utm_term=hollywoodreporter_breakingnews)

</comment><comment><USER7> This was an interesting and enjoyable quick read. Thanks for posting the link!

</comment><comment><USER8> Excellent behind the scenes write-up and I really appreciated the tone of elaborating on all the movie staff/crew doing their bits. Big productions are big! The fact checking and world making is something I'm also studious about when working on fictionalization of actual events or trying to establish a believable world. For instance, my projects include origin of the 14 Los Zetas, the Enron scandal, rigging the lottery, and others.

That noted, I really wish he'd had a chance to read the script. I'm...not a fan of Aaron Sorkin's approach to writing, to put it mildly. Time will tell, but if there's one "Oh, this could've been so much better" potential criticism, I get the feeling it'll be with Sorkin's material. Hipster cred claim: I was into Danny Boyle before it was cool.

</comment><comment> m-i-l Danny Boyle sounds great. A friend of mine actually saw him on the tube a few weeks back. She had been one of the performers in the London Olympics opening ceremony which he directed, and saw that he didn't look busy, so went up to him to thank him for the experience. She said he was really nice, and was on his way to a film festival[0].

After the Olympics opening ceremony I remember thinking that he deserved a knighthood for it. And apparently he was offered one but turned it down[1].

[0] [http://www.shufflefestival.com/shuffle- festival-2014](http://www.shufflefestival.com/shuffle-festival-2014)

[1] [https://en.wikipedia.org/wiki/Declining_a_British_honour#Kni...](https://en.wikipedia.org/wiki/Declining_a_British_honour#Knighthood_.28Knight_Bachelor.29)

</comment><comment><USER9> It's interesting to think about how a period piece can be very accurate at a micro-level, which takes a ton of effort by a lot of craftspeople, but inaccurate at a macro-level due to a poor screenplay.

</comment><comment><USER10> I recently found a NeXTCube in the warehouse I live in. Blew my mind.

<comment><USER11> The NeXT cube was often faster in perceived UI speed than my 2.3GHz MacBook Pro (this was after the 68040 upgrade). And the dock was more intuitive because it could be dragged into your desired position. And application menus were more useful because they could be detached.

27 years after its original introduction--color came maybe 25 years ago--and NeXTstep is still looking pretty good.

Ah, nostalgia! I still have a NeXT cube and monitor in my home office.

<comment><USER12> A bit off topic but sometimes I wonder what span of time will have been the most exciting for humanity. I wouldn't be surprised to find that the silicon age turned out to be it.

<comment><USER13> Veering a little further off-topic: In general I think the rule must be that for the average human (however you determine that) excitement and enjoyment levels over a given time window rise monotonically as you slide that window forwards in time, of course over some minimum size, probably 5-10 years, to smooth over catastrophic dips such as the most recent global recession.

People (my past self included) always instinctively think that periods in the past must have been better, freer, more exciting than the boredom and drudgery of today (all the ideas have been taken, all the frontiers explored, all theories examined) but in fact this is a line of thought that has persisted throughout human history (there's a famous quote about Physics being 'done' from the 1920s which is obviously amusing to think about almost 100 years on) and even when we think of the people who had it best in history, the kings of nations even, the average working person in the first world is vastly, vastly wealthier in many more ways and has more options on what to do with their time than those individuals could have dreamed of.

tl;dr - life for the average person only gets better, more exciting and more enjoyable as time goes on! Try to remind yourself of that often, when it seems like it's not the case, and never take it fore granted.

<comment><USER12> Well I am actually different in that I am jealous of the future but wonder how much better things can actually get?

Think about the pyramid of human needs from food and shelter to travel and entertainment.. How much better can food get, how much more enjoyable can a TV show get after breaking bad? haha

I hope I am wrong but I feel we have achieved 90% in each of the 'categories'. The last 10% will probably take 90% of the time it too to get here.

<comment><USER13> I agree, save for some breakthrough technologies that will be completely different, like truly immersive VR, robot helpers, good AI, space travel (where the average person is currently experiencing roughly 0%) I think most of the fundamentals are very well covered in the year 2015 - over 90% of where we'd want these things to be, definitely.

I'm inclined to think that now we need to focus more on time, and our enjoyment of it. At the risk of sounding like an incorrect and broken John Maynard Keynes record, the next golden age of humanity, and our goal, frankly, should be a future of plenty where we drive down the _cost_ of these fundamentals to the point where we have to work a lot less, or even not at all, to enjoy them as a practically free baseline.

There will always be new toys to 'work' for and the economy (a version of it) will always keep spinning for those interested in such things, but a future where good food, shelter, travel, entertainment are free as a base to the average person is an utter paradise by today's standards - we're not even remotely close to that - it's attainable only some of the time, and then only in theory, only by significantly-above-average earners in the richest countries (by which I mean taking significant periods of time out from work, and having enough saved that these things are all still attainable).

I'm very jealous of a future where we all achieve that, to be honest. I hope we do.

</comment></comment></comment></comment></comment></comment><comment><USER14> Am I correct to assume this movie makes no mention of his systematic illegal wage suppression?

<comment><USER15> The axe grinding machine is in another castle.

<comment><USER14> If American laborers (yes, engineers, you are laborers) still remembered how to sharpen axes, maybe that would happen less.

[http://www.theguardian.com/world/2015/oct/05/air-france- work...](http://www.theguardian.com/world/2015/oct/05/air-france-workers- storm-meeting-protest-executives-job-losses-paris)

<comment><USER16> What a terrible example to support a very valid point.

What those union workers have done was unacceptable, and made me sick to my stomach. Also, I felt greatly ashamed - like many other french citizens - <USER2> the french government's weak response to this public humiliation.

Nobody deserves to be treated this way, and more importantly Unions should _never_ take the place of the rule of the law. This is not 1793 anymore, France is a modern democracy and allowing Unions to grow unchecked was a histoical mistake.

There are a balance to strike between workers' rights and corporations' prerogatives. France is the very situation you want to avoid, one where an actor has such tremendous power that any attack to the status quo is impossible regardless of its benefit for society as a whole.

<comment><USER17> > _Nobody deserves to be treated this way, and more importantly Unions should > never take the place of the rule of the law. This is not 1793 anymore_

It's still an era of neo-liberalism and employees return workplaces to medieval work practices (down to child labor and 14 hour workday) whenever they can get away with it.

<comment><USER16> And they can get away with it only because their unions have created precedents where they create avoc in the streets of Paris with the complicity (or thanks to the weakness) of the political leaders of the time.

This is sickening really. I am always dumb-founded when I read people who would like this kind of dystopia for their countries. Don't you see how fucked up this is for everyone?

<comment><USER17> > _And they can get away with it only because their unions have created > precedents where they create havoc in the streets of Paris with the > complicity (or thanks to the weakness) of the political leaders of the > time._

And why NOT (ocassionally) create havoc in the streets of Paris? Because it disrupts business as usual and results in some small scale damages and such?

France and Paris, especially, has a long history of championing people's rights with street protests. From the Bastille day, to the Commune all the way up to May 68 and beyond. Tons of things we take for granted would be illegal without such ocassional "havoc".

People that think that protests and demonstrations should be "a thing of the past" because now "we live in a full democracy" are just repeating what has been said all the way from the 19th century -- even if blacks had no rights, women had no rights, gays had no rights, there was no social security, immigrants had (and still don't) rights, etc.

Democracy is not some magic thing that solves from within the parliament. Especially the mockery of democracry we have (with representatives elected once every 4 or 5 years based on a platform that bundles all issues together - so if you agree with them on X and disagree on Y you can't get to vote individually on those things), with political influence bought by corporations and big players, and without being held accountable for not keeping on their promises (you just get not to vote for them at the end of their term).

Democracy needs active citizen participation, and protests and demonstrations are one such method of making people's opinions heard.</comment></comment></comment></comment></comment></comment></comment>


Solve problems. Don't build ideas. - <AUTHOR> http://jmarbach.com/solve-problems-dont-build-ideas <comment><USER2> > "Startup ideas are bound to fail. This is not something that I realized > until I tried to build one myself."

I'd like to come out with some pithy remark along the lines of "the plural of anecdote is not data", but this isn't even a plural. Here's a logical fallacy: Someone gave the author a piece of advice, the author didn't listen to it, the author failed, therefore the advice is true. Does anyone see the problem here?

</comment><comment><USER3> Don't change what you're doing based on blog posts like this. Better yet, don't ever read blog posts like this.

There is a cancer in the startup community and it's advice like this. Very detailed and specific advice by people with absolutely no track record, no real experience outside of "the community" and with an inflated sense of self.

Blanket statements and declarations from people who aren't even close to qualified to make them are becoming way too common.

<comment><AUTHOR> That's funny because the advice mentioned in my post is the advice passed down by the successful entrepreneurs mentioned in my post. The specific advice I mentioned follows closely along the Lean Startup and "3 Steps to the Epiphany". And no where in my post did I offer a self-congratulation.

Consider the phrase: "Don't shoot the messenger!"

<comment><USER3> The advice in your post is terrible because it only applies in some situations. Blog posts like that help nobody because they lack context and if you're simply passing down advice, it's like playing a game of telephone.

I'm not shooting the messenger. I'm pointing out that you have little to no idea what you're talking about.

<comment><USER3> I think the above came off as overly harsh. I'm sure you're a talented entrepreneur. I have just been seeing so many blanket statements being put out there about startups, and as a guy with a startup who works pretty hard on it - this one rubbed me the wrong way.

Anyway, apologies for the tone.

</comment></comment></comment></comment><comment><USER4> I constantly am in disagreement with those who say "what problem does this solve?".

Many, if not most, start-ups don't solve real world problems, and I'd argue that those with the most opportunity capitalize on a consumers want vs. need.

We can start at the top, Twitter, Facebook (contrary to what the article says), Skype, Angry Birds, Little Wings, Pintrest, etc. did not solve a problem. They created something that people wanted.

Basecamp, MailChimp, SalesForce solved problems. You don't have to solve a problem to have a business.

<comment><AUTHOR> I'd argue that Twitter, Angry Birds, and Pinterest type startups solve the problem of a need for entertainment. The bored at work market is massive.

<comment><USER5> Or let's say it this way - people have the problem of feeling unsatisfied or accomplished. This is a MASSIVE problem and can be solved in many different ways. That's why video games exist. It's also why people run marathons, triathlons, etc. They provide people a sense of accomplishment. For many people this is unattainable elsewhere (work and home, perhaps). I don't think boredom in and of itself is a problem.

</comment></comment></comment><comment><USER6> This is something that every single person in the valley will tell you as a quick advise. I question it.

For any successful product, you can talk about an underlining problem. Even for Twitter. However that's not the question. Did they really come up with the idea while thinking about the problem? It's not the case for a lot successful entrepreneurs.

Consumer internet business works just like fashion business. It's not about keeping people warm at all. You just want to build something that people desire.

<comment><USER7> > build something that people desire

This sounds very much like solving a problem for them. Though, you made a point by putting forward that there is a perception bias in play too. One should also reconsider our definition of a "problem". We usually consider this to be a pain for a normal person. Though twitter and facebook could be seen as a media to satisfy narcissist needs which is not the problem one would expect normal people have.

My impression is that finding a problem to solve to identify a potential viable startup business is just an heuristic. This search could be pushed in error by our bias on identifying and evaluating problems.

</comment></comment><comment><USER8> Maybe there's another way to look at this: In hindsight.

An idea that succeeds to garner users, clients or customers is one that probably solved a problem, filled a need or fed an interest. An idea that fails. Well, it was just an idea.

<comment><USER9> No. Example: Zynga.

Users buy stuff that they want, are attracted to and after all that maybe has some usable value.

When people buy your product, they are buying your story.

So solve problems but its not a sufficient condition for success. Also make it something that builds their self esteems, attracts them and make it look like something they would want.

And yes, you can leave out the value and do all the other parts and make a killing. I'm sure you can fill in teh examples here ...

</comment></comment><comment><USER5> I think this advice is better served as - "solve problems that everyone has, not just your own"

This, however is a pretty blanket statement, as is the authors. The overall point is actually this:

> _As it turns out, it's not a compelling problem for many people._

This is what the lean-startup and customer development process seeks to find. So here's my advice: go out and talk to customers and take the time to clearly define _their_ problem. In some cases this is your own.

</comment><comment><USER10> I had an idea. I started a company. I failed miserably. But I still believe that idea was good and I will try again. Its not always that it failed because it was bad idea. Doing best execution is the key. If there was not any Ballmer or Schmidt there could not be any microsoft or google.

</comment><comment><USER11> I honestly think people focus too much on pain relief/solving problems vs. making people happy. Most ideas can be described in either paradigm, and there's really no reason to argue about it - just make something people want. Maybe they want it because it makes them happy, or maybe it makes them way less sad.

Take bookmarking. Del.icio.us made people really happy because they could keep track of all the sites they liked. It also made people way less sad because they didn't lose track of sites they liked. Either way, people used it.

</comment><comment><USER12> Solving problems is good. You can also appeal to people's passions or identity. Addictive also seems to work.

If you want to just solve a problem, you gotta understand the worst problems people have. Twitter and Facebook work because they have people on there, who others want to follow or friend. Video games appeal to raw passions, and can also be addictive.

</comment><comment><USER13> incremental progress and changes can come from this. but nothing truly revolutionary will come from this strategy.</comment>


Underhanded C contest - <AUTHOR> http://underhanded.xcott.com/

<comment><USER2> The contest is defunct. It hasn't been updated in two years.

</comment><comment><USER3> It's fun how these are a matter of perspective.

Many view the very fact that it's possible to write obfuscated Perl as a weakness in Perl itself, while others see it as a strength. Similarly, the fact that a piece of code can look perfectly innocuous and do something evil is, in my view at least, a serious problem with the C language.

Also, I laughed at "Underhanded C Contest: The official perfectly innocent web page for law-abiding good guys".

<comment><USER4> I don't think this contest depends on a serious problem with the C language. The 2008 winner (<http://underhanded.xcott.com/?page_id=17>) could have been written in any language.

<comment><USER5> Indeed, what impressed me about that entry was it was a _fundamental_ error that is surprisingly subtle. It could have easily been implemented in Python in about the same number of lines.

</comment></comment></comment><comment><USER5> As others have noted, the contest is over, but there's no walkthrough of the winners. The previous years have walkthroughs. I liked the winner from 2008: <http://underhanded.xcott.com/?page_id=17>

</comment><comment><USER6> Cheers for re-linking this - I've was looking for this contest after mentioning it in conversation a couple of months back, but my Google-fu failed me (I was looking for "sneaky C contest" and variations on that term, but never thought of "underhanded") :)

</comment><comment><USER7> Along the same line (and not defunct) the Backdoor Hiding & Finding Contest <https://backdoorhiding.appspot.com/></comment>


Swanson's Unwritten Rules of Management - <AUTHOR> http://www.leadershipnow.com/minute0014.html

<comment><USER2> > Never direct a complaint to the top. A serious offense is to "cc" a person's > boss.

All right, I have seen nothing good come of breaking this rule - for many complex reasons. However what is one to do, when his PHB is incompetent/misinformed and supposedly damaging the company? Just quit? Is quitting the appropriate response to everything? Where are we (as species) going if we resign when something bad happens. Go away start anew and have people resign on us for our misbehaving?

Edit: Also what does one do when lets say - working as a contractor and people that hired you intentionally/out of stupidity do everything contrary to what they were supposed to do (a mission critical project and you wait 2 weeks for any response). You quit? You let yourself be sacrificed as a scapegoat. Or do you just roll over and die?

<comment><USER3> This is really tough, and the question relies on the nature of your organization. If your organization is well-run and has clear escalation paths, then you follow the process, and the process will sort out the situation out for you. If there are no such processes in place in your organization, then you either rely on your direct relationship with that guy's boss (if you have one), or more commonly, escalate to your own manager, and your own manager dialogues with that guy's manager.

</comment></comment><comment><USER4> I was certain this was going to go here: <http://www.youtube.com/watch?v=uIZ4ckmd9-I>

</comment><comment><USER5> If anybody knows how to get a hold of the book, I would greatly appreciate the pointer. Apparently, once upon a time, Raytheon would send you a copy for free if you asked nicely, but the request mechanism is gone now.

<comment><USER6> It seems like Raytheon stopped distribution because it was discovered that most of Swanson's "unwritten rules" had actually been written before, by other people, and he had just copied them without attribution: [http://www.nytimes.com/2006/05/03/business/03cnd- raytheon.ht...](http://www.nytimes.com/2006/05/03/business/03cnd- raytheon.html)

(hat tip to brl)

</comment></comment><comment><USER7> The article seems to say he first presented these rules in a powerpoint presentation, and then they were published in 1944.

<comment><USER8> The timeline of the narrative does seem a little confusing, but it's not wrong.

 _Some_ of the rules were published by King as part of The Unwritten Laws of Engineering in 1944.

The _whole collection_ of rules were published by Swanson as The Unwritten Laws of Management, after his own powerpoint presentation.</comment></comment>


The Linux kernel MultiPath TCP project - <AUTHOR> http://multipath-tcp.org/ <comment><USER2> Multi-path TCP is not only about throughput, but also about providing redundancy to improve stability. And to me, redundant stream is more attractive.

It happens a lot when I am with my iPhone at boundary of a Wi-Fi network coverage, the network is very unstable with oscillations between Wi-Fi and 4G. The phone stays in the status with connected Wi-Fi but it's actually not working. If there was multi-path TCP, mobile devices can establish simultaneous streams on both Wi-Fi and 4G. When Wi-Fi is not responsive, the data stream can be automatically offloaded onto 4G seamlessly without causing latency in application layer.

Another protocol that may achieve this is SCTP[1]. And it's been around for years[2]. But migrating existing services to another transport protocol is a challenge, which makes it difficult to adopt SCTP. I'm curious how multi-path handles this. Is it an extension to TCP that can handle backward compatibility with TCP, or yet another new transport protocol?

[1]: [http://en.wikipedia.org/wiki/Stream_Control_Transmission_Pro...](http://en.wikipedia.org/wiki/Stream_Control_Transmission_Protocol)

[2]: <http://www.sctp.org/implementations.html>

\---

EDIT: More details about its design decisions and goals: <http://multipath- tcp.org/data/MultipathTCP-netsys.pdf>

<comment><USER3> with two antennas (antennae ?) simultaneously broadcasting/receiving, i think battery life would be pretty low...

<comment><USER4> In my experience a data link takes far more power than wifi, so the extra use won't be very notable.

<comment><USER5> I think that the opposite is true (but depends on the type of connection). Mobile stations are focused on low power, they were designed that way from the beginning (e.g. they constantly try to reduce the transmit power if you have "too good" reception so it will be just good and use a lot less power) unlike wifi.

I remember the first mobile prototypes that were used around Motorola were dying of battery after few hours if used wifi instead of mobile data (that was about 8 years ago - so probably we are talking GPRS here).

</comment></comment></comment></comment><comment><USER6> Since the site is having trouble:

MultiPath TCP (MPTCP) is an effort towards enabling the simultaneous use of several IP-addresses/interfaces by a modification of TCP that presents a regular TCP interface to applications, while in fact spreading data across several subflows. Benefits of this include better resource utilization, better throughput and smoother reaction to failures. Slides - explaining MultiPath TCP - are available in .pdf and .pptx format. You can also have a look at our Google Techtalk about MPTCP. The IP Networking Lab is implementing MPTCP in the Linux Kernel and hosting it on this website for users, testers and developers. For questions, feedback,... please contact us at the mptcp-dev Mailing-List

<http://multipath-tcp.org/data/MultipathTCP-netsys.pdf>

[http://www.youtube.com/watch?feature=player_embedded&v=V...](http://www.youtube.com/watch?feature=player_embedded&v=VWN0ctPi5cw)

<comment><USER7> Maybe the site should be using MultiPath TCP?

<comment><USER8> It is using MPTCP. We are just having right now an extremly high visitor- count. The server is only running on a tiny XEN-VM and thus it becomes overloaded.

</comment></comment></comment><comment><USER9> Seems like this is extremely wireless carrier friendly. Once you're able to do transparent tcp handoffs your ability to exploit unlicensed spectrum to offload traffic from your saturated licensed bands without a very obvious service interruption gets much easier. If you deploy devices set to auto associate with a whitelisted set of provider and partner hotspots as soon as the connection is up you can offload the bulk of it, letting you serve more customers with the same amount of spectrum. Addressing heavy demand locations with wifi is way cheaper than minicells or DAS systems and wouldn't involve any regulatory approval or backhaul requirements.

I had to laugh when I saw the charts of LTE+wifi beating wifi alone in throughput. Even if the phone os was setup to try to exploit that, any wireless provider able to tie their own shoelaces is going to monitor multipath traffic like that and once they infer your alternate link is reasonably fast they'll start intentionally congesting their side of the path to force the bulk onto the local route.

I wonder what sort of additional profiling this could enable. Right now my phone is on 3g and my dual homed wifi network. It seems possible that being able to see my traffic from wireless, wireline ip4 and via my ip6 tunnel provider at the same time along with each path's latency would leak more data than existing hard handoffs.

<comment><USER10> It will probably be usable from the perspective of a mobile carrier, but really, the hard part is the 'transparent tcp handoff' part. They already know all too well how nice it is to offload traffic to wifi. Two problems exist, and that most carriers don't have the servers or the wifi nets to support it nicely, and that mobile phones doesn't support automatic and transparent handover in a nice way (iOS 5 brought support though, so it is not all bad. Android support is mostly lacking though).

Also, wifi already tend to be so much better that the bulk of the traffic would already go that way if possible without carrier interference.

<comment><USER9> This is the main feature of the design, transparent handoff smoother than anything today, without any existing tcp connections dropping and faster throughput recovery. They demo skype handing off from 3g to wifi keeping the call alive and only suffering ~2seconds of delay during transition.

The project has a number of working kernels for various android phones available.

Carriers would widely deploy ISM nets or whitespace if the handoff was painless and your streaming video worst case lagged out a couple of seconds.

<comment><USER10> There are levels of transparency. The level you are talking about still require the wifi to either be entiredly open or to have the authenticaten details stored in the phone manually. The level I'm talking about is where your phone automatically authenticates using the sim card when you happen to go near an access point, and then manage to do a handoff _with no manual steps involved_.

I'm not saying multipath TCP will be very nice for mobiles, but it will mostly be home and work networks that will be used, just like how it is for wifi use in the mobiles today.

As for 2 second handoff being smoother than anything else out there today, that is just not true. The situation for phones doing handoff with EAP-SIM/AKA is pretty similar if not better.

<comment><USER9> For what it's worth that's two seconds between when one signal was unexpectedly cut, detected, shifted to the other, windows scaled up for a mulimedia stream and the app buffered enough to decide to start playing audio again.

Something considered a two second handoff is going to result in a far longer stream interruption than that in any method I've seen used especially considering the app is not assisting with the process or getting state transition info which it could be if built with mptctp aware libs.

</comment></comment></comment></comment></comment><comment><USER11> I wonder how difficult it would be to set up a MPTCP gateway/VPN, so that you could get the benefits of MPTCP all the time without requiring MPTCP support from the server you are connecting to.

eg:

        +</comment><comment>--+              +</comment><comment>---+          +</comment><comment>---+
        | Smart- +----WiFi----->| Gateway +---1Gb--->| Youtube |
        | phone  +-----3G</comment><comment>>|         |          |         |
        +</comment><comment>--+              +</comment><comment>---+          +</comment><comment>---+
                      MPTCP                   TCP

<comment><USER9> It looks like you can do that with a proxy approach, there are active ietf drafts concerning proxies:

[http://tools.ietf.org/html/draft-hampel-mptcp-proxies- anchor...](http://tools.ietf.org/html/draft-hampel-mptcp-proxies-anchors-00)

Encapsulating tcp/udp inside it probably doesn't work very due to conflicts between the layers of buffers and congestion control.

</comment></comment><comment><USER12> There's also a Multipath TCP patch for FreeBSD 10-CURRENT:

<http://caia.swin.edu.au/urp/newtcp/mptcp/tools.html>

Slides with more info:

<https://www.ietf.org/proceedings/84/slides/slides-84-mptcp-2>

</comment><comment><USER13> LWN's overview: <http://lwn.net/Articles/544399/>

<comment><USER14> This is a great short summary, followed by the Tech Talk (on youtube) which goes into a bit more depth about the how and why of the design considerations.

What isn't mentioned is basically, because the change is 10KLoC to the kernel (unprecedentedly huge change for just the functionality they added) it hasn't even been submitted yet, and mainline hasn't even considered it yet.

I'd love to see it hit mainline, or parts of it start getting submitted, but the biggest thing will probably be re-writing the whole thing to have a much smaller impact on the kernel, while still providing the functionality they need (e.g. use the TCP backoff instead of their own, etc).

</comment></comment><comment><USER15> What advantages does this have over existing link aggregation implementations?

Edit: one advantage I can think of is you don't have to ask your users to set up a bond0 interface, for example. Any other advantages?

<comment><USER9> Current layer 2 link aggregation is effective for lots of connections with different source/destination pairs because the switches have limited resources and require simple schemes. It works fine for public servers and transit aggregation, but it's very bad at local aggregation to speed up limited connections like trying to bond multiple 1gig ports between san/nas and a server for example.

<comment><USER16> Exactly. With Multipath TCP, a single TCP connection can benefit from multiple interfaces, which is not the case with bonding techniques. See <http://multipath-tcp.org/pmwiki.php?n=Main.50Gbps> for measurements showing Multipath TCP aggregating 6 10 Gbps interfaces.

</comment></comment></comment><comment><USER17> Are there some more detailed docs I haven't found? I have a dozen questions about how their protocol reacts to common problems.

It seems like the kernel's just treating it as a "dumb" tcp connection that rx's and tx's on more than one interface. In this case you're taking the problems existing tcp connections have and multiplying them by the number of links. SCTP works around these problems and makes _both the connection and the delivery of arbitrary messages_ more reliable, though seemingly at a heavy cost to performance.

<comment><USER18> There are several related RFCs[0], and the IETF's "Data Tracker" page for the MPTCP[1] working group has a lot of great documents as well.

[0]: <https://www.google.com/search?q=multipath+tcp+rfc> [1]: <http://datatracker.ietf.org/wg/mptcp/>

</comment></comment><comment><USER19> Awesome Project! I'm curious how this relates to the Mobile IP Standard (RFC 5944). Is Multipath TCP intended to Augment Mobile IP? Replace it? Not related at all? I would be very interested to hear from the Developers / Researches how they envision Multipath TCP working with (or replacing) other Standards.

I would also be interested in hearing what needs to be done on the Client End for Multipath TCP to be supported; For example, say I was to build a Linux Server with the Multipath TCP enabled Kernel (to serve my App), would the Clients (likely Mobile Smartphones) also need to run an O/S with a Multipath TCP enabled Kernel? I'm assuming the answer is Yes, but I'm kind of hoping I missed something and the answer is No. Because if this is the case, then both Android and iOS would need to support Multipath TCP (which means this may not become mainstream for quite some time).

Also, I noticed the referenced PDF said the Technology was already being Licensed (with a Non-Disclosure Agreement). This seems to imply it will not be Open Source. I checked the Git Repo, and don't see anything about this. Are the Developers / Researchers related to Multipath TCP intending to Open Source this?

In any event, Thank you for this release, something fun to play with!

<comment><USER20> 1\. The server and the client must be MPTCP-"aware", so the anwser is yes (but look, someone is talking about a proxy up there, it's a solution to avoid this problem).

2\. I'm in the team working in the Linux Kernel implementation and yes this is open source! <http://multipath-tcp.org/pmwiki.php?n=Users.DoItYourself>

<comment><USER19> Thank you!!!

</comment></comment></comment><comment><USER21> What a wonderful improvement to our old networking design. Can certainly see the benefits of redundancy, but the throughput advantage is huge. It will allow massively high throughput between servers by aggregating commodity hardware, scaling out instead of up. >1Gb server hardware is ridiculously expensive. I've tried interface bonding and the performance sucks. Now I can get a cheap 5Gb link using 5 dirt cheap NIC's. Awesome.

</comment><comment><USER22> Isn't this solving the wrong problem? Shouldn't IP support packets with multiple addresses?

<comment><USER23> How do you propose to modify all of the ASICs in routers that are optimized to do lookups on packet headers at the speeds they need to achieve?

Routers today are doing 32x100GbE in a single chassis. That's an investment in hardware that isn't going to go away any time soon.

SCTP already solved this problem. Multipath TCP is an also-ran.

<comment><USER24> That's the clearest case I've seen for not buying "smart" hardware (firewalls, routers, etc) that know any more of the higher levels of the stack than necessary.

I think the parent comment is valid though. If we wind up holding 2 or more TCP connections to multiplex, with failover, we are basically creating an overlay network that will have the same needs as the lower levels. Namely, routing, link cost metrics, fragmentation, etc... This is effectively what IP attempts to add on top of 802.3.

With that in mind, it seems like it would be more faithful to the point (possible, if not practical) to use the Ethernet+IP stack directly on top of two TCP connections (providing simulated physical links), creating a throw- away network segment between two hosts that could re-use existing routing and bonding logic. I don't think Linux could handle that many virtual interfaces or taps, but that feels like the right place for it...

<comment><USER18> The devices handling 32x100GbE connections are only able to do that _because of_ the very specialized ASICs that have been custom developed.

I'm not aware of any device that is software-based that could come remotely close to handling that about of traffic. Most current PC-level hardware has trouble w/ 2x10GbE links (if they can even support that).

<comment><USER24> I agree that specialization is often necessary, but I would prefer to think in terms of add-ons to general purpose commodity architectures. For example, GPUs are specialized for the task of 3D math, but their particular purpose is decided by the CPU. Similarly, FPGAs can be dynamically programmed for a special circuit. Neither is ideal, but in hindsight I would have liked to see something similar develop for the task of routing - and the economic pressure applied by not buying ASICs (that break the stack seperation) would have helped (yes we have benefited from them, but we have benefited from taking a specific path - we don't know if there was a better one). Routing probably would have benefited from an earlier and stronger push towards multicore processors - only there was no reason to do it in consumer CPUs because we view routing and computing largely as exclusive domains (even though the Internet's success has come from connecting many general purpose endpoints... Why is the fabric not also general purpose?).

Going forward, I suspect GPUs could also be applied to make routing decisions with acceptable speeds. Have a look at [http://www.date- conference.com/proceedings/PAPERS/2010/DATE1...](http://www.date- conference.com/proceedings/PAPERS/2010/DATE10/PDFFILES/02.6_4.PDF) for some trials.

<comment><USER25> The specialised chips that are used by routers are CAMs and TCAMs. Basically, associative arrays (hashes or dictionaries as they're called in most scripting languages) implemented in hardware. You can program an FPGA to run as a CAM. Mostly what they're doing are repeated lookups of where to switch or route packets (based on header fields). If you're in a CPU world with RAM you can try and optimise the data structure that holds the lookup tables so you get decent speed but with CAM it's implemented in hardware so the lookup times are fixed and known. It's not really a limit of computation that can be helped with multiple cores, the CPUs can be pretty slow. Multithreading or parallel processing is typically handled on routers by distributing the workload to packet processors that handle a single port or a group of ports, all looking at the same CAM (or copies of it in the more distributed chassis-based architectures). Modern routers are basically supercomputers in a box. Of course there's an inherent limit at the PHY level where you can only receive or transmit a single packet at a time on an interface so you can't multiprocess beyond a CPU per port basically which limits the complexity of the design. 1000 cores on a GPU won't help you if you only have 100 ports to route traffic on.

On a typical Intel PC, the MMU's TLB is implemented in CAM as well but it's tiny in comparison to the ones in routers. CAMs are pretty power hungry compared to RAM. They are becoming commodities though and the router manufacturers are getting away from doing custom ASIC designs. Intel bought Fulcrum which makes these packet processors and companies like Big Switch are doing cool stuff with white box network hardware. It's really going to bring the cost of the hardware down pretty dramatically in the next couple years.

<comment><USER24> I'm looking forward to that!

</comment></comment></comment></comment></comment></comment></comment><comment><USER20> If you want to try it; it's easy [http://multipath- tcp.org/pmwiki.php?n=Users.HowToInstallMPTC...](http://multipath- tcp.org/pmwiki.php?n=Users.HowToInstallMPTCP)

Also, we have a measurements campaign running, if you want to contribute ;) <http://multipath-tcp.org/pmwiki.php?n=Users.AboutMeasures>

</comment><comment><USER26> Whatever happened with SCTP?

<comment><USER27> The only thing I've ever seen in it was a modification of FTP to use SCTP streams on a single connection rather than have two connections. This would of course make the whole active-FTP-over-NAT business easier, except for the fact that the average NAT device ($50 home router) probably doesn't play nicely with SCTP.

Given the subject matter, I should probably include my usual disclaimer string: I work as a software engineer for F5 Networks. Anything I post here is my own thought and is not intended to represent F5.

<comment><USER28> When you use a mobile phone, chances are big most of the control plane traffic (call setup, SMS, data channel setup/teardown, roaming signalling, phone registring and so on) travel through an SCTP association somewhere.

</comment></comment></comment><comment><USER29> What I especially like about this is that the project was developed in an academic context while being hugely beneficial to society. I mean, improving the performance of a fundamental protocol like TCP has huge effects. If only we had more academic research like this one! Btw, also cool that it was developed 15 minutes from my house.</comment>


New York to LA in less than 12 minutes - <AUTHOR> http://security.blogs.cnn.com/2011/08/11/new-york-to-la-in-less-than-12-minutes/?&hpt=hp_c2 <comment><USER2> Dup: <http://news.ycombinator.com/item?id=2873003></comment>


Recent Hacks and Two-Factor Authentication - <AUTHOR> http://jonstuebe.com/2012/08/25/recent-hacks-and-two-factor-authentication/ <comment><USER2> A typical sentence from the article:

> However, I've noticed more and more that friends who I know practice good or > even excellent password practices have had there [sic] logins compromised

I wish people would learn to write in advance of posting articles, not afterward.

> friends who I know

That would be "friends". Yes? Unless you have friends you don't know.

> practice good or even excellent password practices

"Practice ... practices". Yes, I think we get it.

> have had there [sic] logins compromised

People who only hear words, who never read or write them, famously cannot distinguish between the homonyms "their" and "there". A similar problem comes up with "site|sight|cite" and a few other common words -- but apparently they're not common enough to learn the difference.

And why point this out? Because learning to write _before_ posting articles online is a sign of respect for the reader. It's identical to sloppy programming -- the originator rushes the job and saves himself a few minutes, but the program then wastes the time of thousands of users.

Ironically, pointing out bad programming methods is perfectly acceptable, but pointing out bad grammar is almost universally disparaged. To me, the two cases seem perfectly symmetrical, but this is a minority view.

<comment><AUTHOR> Thanks for the criticism. While I definitely should have caught some of the errors, you obviously had no trouble understanding the meaning of the article, which in my opinion is why you were there in the first place reading. I'm not condoning bad grammar, but at the same time, I never called myself a professional writer.</comment></comment>


World's top economists just made the case for why we still need English majors - <AUTHOR> https://www.washingtonpost.com/business/2019/10/19/worlds-top-economists-just-made-case-why-we-still-need-english-majors/ <comment><USER2> A strong argument, although I fear the people screaming "STEM!!1!" will largely be unable to appreciate it.

For their sake, this data from later in the article is noteworthy:

 _" Contrary to popular belief, English majors ages 25 to 29 had a lower unemployment rate in 2017 than math and computer science majors.

That early STEM pay premium also fades quickly[...]"_

<comment><USER3> What i'm getting at is that they need creative thinking, vision, imagination. I'm not sure an english major is the only way to do that and i'm not sure Chaucer is necessary in that. This is not a spit at all of humanities nor english majoring, i'm just saying the article doesn't read much to me because the crux is not that they suck at storytelling but that they lack any sort of creativity and the urge to connect; Such is prereq to actually enjoy creative writing in general regardless of the skill you start out at.

</comment></comment><comment><USER3> Not a strong 'case' but okay.</comment>


Norway's largest teleco stops email move to Office 365 after Snowden-disclosure - <AUTHOR> http://translate.google.com/translate?sl=no&tl=en&js=n&prev=_t&hl=no&ie=UTF-8&u=http%3A%2F%2Fwww.digi.no%2F924563%2Ftelenor-stoppet-nettsky-flytting

<comment><USER2> This is misleading. They are making the move to Office 365 optional. Customers who do nothing will stay on a new proprietary solution.</comment>


FinSpy can spy on calls and messages sent by Signal, Telegram, WhatsApp and more - <AUTHOR> https://threatpost.com/finspy-modules-secure-messaging-apps/146372/ <comment><USER2> From the article:

——— There's a catch though for operators going after iOS users: The implant can only be installed on jailbroken devices; and, an attacker would need physical access to the device in order to jailbreak it. If a device is already jailbroken, remote infection vectors include malicious SMS messages or emails, and WAP push messaging, which can be sent from the FinSpy Agent operator's terminal.

Also, the latest iPhone/iPad version is compatible with iOS 11 and below, but newer versions of the Apple operating system are not confirmed as susceptible; also, implants for iOS 12 have not been observed.</comment>