Allwinner GPL violations - <AUTHOR> https://groups.google.com/forum/#!msg/linux-sunxi/78MbtijKraY/cZSxI_59sg4J <comment><USER3> Seems like pretty blatant and long-lived violations. Anybody know why somebody doesn't take them to court and try to get an import ban, monetary damages, or both?

If the punishment for blatantly violating the GPL or LGPL for years at a time while raking in millions of dollars in profits is getting bitched at on the internet, it seems likely to me that a lot of companies will do the cost- benefit analysis and decide that GPL compliance isn't really worth the hassle.

<comment><USER4> The simple answer is "because money". It costs quite a bit to be able to do any of that. And that's not something most open source projects or developers can come anywhere close to affording.

Source: I run PortableApps.com and have had my GPL software used illegally by competing projects in other countries as well as at least one Fortune 500 here in the states.

<comment><USER5> You made PortableApps ? I used it like seven years ago, and it was great - <USER2> helped me and a few others to learn programming on our school computers which, as you might guess, didn't have a lot of tools dedicated to that purpose.

<comment><USER4> Glad you liked it. We're still going strong. A larger percentage of our users these days now use it either locally or on a synced cloud folder. Our platform installer even detects and offers to install to Dropbox, Box, One Drive and Google Drive.

<comment><USER6> That's awesome, I've got a few things in my dropbox like that... makes it a lot easier even for those bits that I add to my windows path.

For Linux and OSX, it would be cool to see similar things.. though I've seen some interesting things using Dropbox that may yeild a portable *nix app solution one day.

<comment><USER4> You can run them on Linux via Wine and on OS X via Crossover, Wineskin, etc. We check for running via Wine in our tools and work around a few bugs where we can.

</comment></comment></comment></comment></comment></comment><comment><USER7> Allwinner is the rare, if not the only SOC ARM chip vendor, from China that sort of embraced Linux/GPL/LGPL in a public way to some extent. The rest of those similar companies does pretty much nothing meaningful at all, they use Linux too, just no public release whatsoever. In that sense, it's the least evil as far as GPL violation goes.

<comment><USER8> I'll have to disagree there.

Freescale does an excellent job of putting all of their stuff up on Github. The iMX6 family is a joy to work with thanks to their efforts.

[https://github.com/freescale](https://github.com/freescale)

They also go above and beyond with documentation. No NDA/MDA needed. Tens of thousands of pages of freely available technical reference including the entire TRMs for the SoCs:

[http://www.freescale.com/webapp/sps/site/prod_summary.jsp?co...](http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=i.MX6Q&fpsp=1&tab=Documentation_Tab)

<comment><USER9> Freescale isn't Chinese.

<comment><USER8> True. Sorry to misread the parent post.

</comment></comment></comment></comment><comment><USER10> Oh well, [http://linux-sunxi.org/GPL_Violations](http://linux- sunxi.org/GPL_Violations)

</comment><comment><USER11> What recourse does one have against a Chinese company? Has anyone ever shown the GPL to have weight in China?

<comment><USER12> They sell worldwide. Allwinner are the leading supplier of SoCs for tablets, and are especially popular in "second tier" tablets and phones. All those tablets you see for sale in shops that aren't iPads, but have strange unknown names and sell for $150 - they will have AllWinner-designed chips* and AllWinner-compiled kernels/userspace full of binary blobs. So you can go after that.

It's a real shame because their SoCs are cheap, powerful and very popular amongst Linux/ARM hobbyists - see [http://linux- sunxi.org/Category:Devices](http://linux-sunxi.org/Category:Devices)

* Well, AllWinner cut and paste ARM cores together. I wonder if ARM have this much trouble with licensing too?

<comment><USER13> > I wonder if ARM have this much trouble with licensing too?

As far as I know, no. To actually produce chips Allwinner and others have to go through one of a small number of fabs. TSMC, Globalfoundries, UMC and Samsung will not make chips with pirated blocks.

</comment></comment></comment><comment><USER14> Allwinner's SOCs are popular as Raspberry Pi-ish single-board computers for hobbyist Linux users who want a dirt-cheap home server.

What are some alternatives that have better track records with the GPL?

<comment><USER15> As far as I understand, until recently Allwinner has been doing kernel development with sole focus to get Android shipped as fast as possible. It is a fact that they did not work to get mainline Linux support for their SoCs.

Developing for mainline might be slower but in the long-run it's better and even cheaper. I think that they are seeing this now.

You can check the slides at [https://fosdem.org/2015/schedule/event/allwinner_upstream/](https://fosdem.org/2015/schedule/event/allwinner_upstream/) for the current level of support. This is about the community work for mainline support.

<comment> pseudonom- > It is a fact that they did not work to get mainline Linux support for their > SoCs.

Though it is possible. I got mainline Linux running on an A10.

<comment><USER16> Yeah, because the sunxi community formed and did all the work.

<comment> pseudonom- Yeah, I didn't mean that as an endorsement of Allwinner. Just a potentially useful piece of information.

<comment><USER16> Allwinner boards are quite nice if you want to run mainline Linux on ARM. I've got an A20 based board for that myself.

</comment></comment></comment></comment></comment></comment><comment><USER17> Nothing will come of this. Who will bother to sue?

<comment> vezzy-fnord Busybox have filed multiple lawsuits over GPL violations, and won: [https://en.wikipedia.org/wiki/BusyBox#GPL_lawsuits](https://en.wikipedia.org/wiki/BusyBox#GPL_lawsuits)

</comment></comment><comment><USER18> Always interesting to see people's reactions to copyright for GPL Code vs Music/Movies/Games.

<comment><USER19> What is interesting about comparing reactions to GPL copyright against music copyright? Without saying that either of the two copyright cases is right/wrong, there are major differences. In GPL copyright violation, the violation hinders sharing. In music copyright violation, the violation usually helps sharing. So the comparison is a bit meaningless.

<comment><USER20> How does it 'hurt sharing?' Maybe in the most trivial sense. The original code is still out there.

How does not paying for works not hurt sharing? If return on investment on works is being hurt then that's a demotivator for future works. Monument Valley had something like a 95% pirating rate on Android. That affects the expectations of indie devs and investors. Brushing this under the carpet doesn't change the facts.

If pirating was more under control, we'd see more innovation and top notch applications in the Android market. Instead, we see all the top notch applications go to iOS either exclusively or only to Android after they've made money on iOS and then publishers decide to push out a port because its just going to get pirated anyway. The difference between these two ecosystems is proof enough that pirating games hurts innovation, companies, and customers.

<comment><USER21> The usual argument for how nonGPL hurts sharing is that people write improvements to the open work that the original release cannot replicate, thus outperforming it. This causes people to use different (closed-source) works on different platforms, fragmenting the community and hurting sharing.

</comment></comment></comment></comment><comment><USER22> Merely a minor LGPL violation.

</comment><comment><USER23> This makes me think of Bunnie's "From Gongkai to Open Source":

[http://www.bunniestudios.com/blog/?p=4297](http://www.bunniestudios.com/blog/?p=4297)

And the general lack of compatibility between western and eastern models of imaginary property.

In this example allwinner is applying the eastern "share, modify, pass around" model, which isn't compatible with the western model of strict license adherence.

In Bunnie's case they're trying to adapt hardware/software developed with no apparent western-style license to a functional project.

<comment><USER12> (a) They are not sharing the source at all. (b) Don't apologise for a huge company operating worldwide and breaking the law.

<comment><USER24> I don't think he was apologising for anything, he was merely drawing a parallel.

As for not sharing the source at all, I agree, this is why I think the analogy doesn't hold, but just for reference, the Chinese companies in Bunnie's case don't officially share share anything either, and yet in practice everything is shared. It's piracy, but no one minds because they all benefit from it.

</comment></comment></comment><comment><USER25> They only people who may complain about those violations are the copyrightholders of the code that has been violated. Everyone else who is chiming in here and bashing the offender is IMHO suffering from some kind of torches and pitchforks mob mentality.

GPL violations as far as I understand it are always a matter to be settled between the original authors and the offenders. I am not aware that the GPL gives bystanders and angry fanboys'n girls the right to sue anyone.

<comment><USER26> I don't know of the legal status, but I believe the GPL originated when Stallman and others wanted access to the source code for the drivers of a printer. Anyone who uses the software, which is anyone who uses the hardware, should have standing to demand the code.

<comment><USER27> The history is correct. However the enforcement comes between the author of the code and the distributor.

The author(A) allows the distributor(D) to distribute their(A) code so long as they(D) provide the source plus any modifications to the recipient.

The recipient has no right to demand the code due to there being no agreement to provide it between the distributor and the recipient.

So the author, on behalf of the recipient, must be the one to enforce the conditions of the agreement they made with the distributor.

In cases involving projects like Linux or BusyBox this can be anyone who has committed code, as these projects do not require copyright assignment.

In cases involving projects like GNU and Ubuntu all committed code is owned by the parent organization, the FSF and Canonical respectively. So they are the only ones who can enforce the GPL.

That said, the end user can report violations to groups like The Software Freedom Law Center and GPL-Violations.org. These groups have contacts to various copyright holders and will assist with enforcing them on a pro bono basis.</comment></comment></comment>


Expressive Power of SQL (2003) [pdf] - <AUTHOR> http://homepages.inf.ed.ac.uk/libkin/papers/icdt01.pdf <comment><USER2> Interesting to note that neither BigQuery, nor Apache Presto (and therefore AWS Athena), support recursive CTEs.

However, most other DBs do (e.g. Postgres, MS SQL, MySQL 8.0, MariaDB 10.2, Oracle, etc.).

Which is disappointing, given how powerful BQ and Presto/Athena are for startups.

<comment><USER3> Be careful with CTEs with regard to performance, some SQL DBs can optimise by pushing predicates through to the inner queries, where for some (postgres being the one example that I know but there are probably others) a CTE presents an optimisation fence.

<comment><USER4> I never understood this. Why can't CTEs be transparently compiled into subqueries?

<comment><USER3> There is plenty of discussion about it out there (search for "postgres cte optimisation fence") including official word.

Note though that simply replacing CTE references with appropriate sub-queries simply won't work in the recursive case, and in some cases where a CTE is referred to multiple times the result may be an even less optimal query plan.

</comment></comment></comment></comment><comment><USER5> >> However, logicians proved it long time ago that first-order logic, and thus relational calculus, cannot compare cardinalities of relations, and yet we have a very simple SQL query doing precisely that.

I'm not sure what the bit about comparing cardinalities refers to. I think it relates to Trakhtenbrot's theorem, or the Löwenheim–Skolem theorem, but I'd appreciate it if someone clarified this.

As it is, my intuition is that the result mentioned is for either finite or infinite relations, or in any case for some broad case of unrestricted sentences (any formula in any language), whereas there are restricted cases where it doesn't hold (sort of like satisfiability).

Like I say, if anyone knows what this refers to, please speak up.

____________________

[1] [https://en.wikipedia.org/wiki/Trakhtenbrot%27s_theorem](https://en.wikipedia.org/wiki/Trakhtenbrot%27s_theorem)

[2] [https://en.wikipedia.org/wiki/L%C3%B6wenheim%E2%80%93Skolem_...](https://en.wikipedia.org/wiki/L%C3%B6wenheim%E2%80%93Skolem_theorem)

</comment><comment><USER6> Isn't SQL Turing complete? So imo the question of "how expressive is SQL" is really just "how expressive can SQL be with reasonably useful performance".

<comment><USER7> From what I can understand (barely) The paper tries to determine if some of the new(2003) SQL3 extensions were really needed.

From the answers here [https://stackoverflow.com/questions/900055/is-sql-or- even-ts...](https://stackoverflow.com/questions/900055/is-sql-or-even-tsql- turing-complete)

It seems that SQL92 was not Turing complete but it became turing complete later on. Possibly by the same extensions added in SQL3.

<comment><USER8> The mentioned proof is confirming SQL:2003.

See also: [https://wiki.postgresql.org/wiki/Cyclic_Tag_System](https://wiki.postgresql.org/wiki/Cyclic_Tag_System)</comment></comment></comment>


Top Down Operator Precedence - <AUTHOR> http://javascript.crockford.com/tdop/tdop.html <comment><USER2> This approach is highly compatible with recursive descent, and I'd recommend its use in place of how recursive descent normally deals with arithmetic expressions involving multiple levels of precedence because of how it eliminates redundant recursion, but I wouldn't push it much past unary and binary operators. I think the trivial translation from (non-left-recursive) BNF to recursive descent code is valuable enough to negate any performance gains from Pratt-style parsers in general coding. Perhaps the only exception would be dynamic grammars, i.e. parsers which have to deal with a grammar that changes dynamically during the parse - this is where a table-driven parser comes in handy, as it's usually easier to generate or modify tables than code.

I don't think the performance advantage is very significant outside of expression-style parsing either. To explain why, look at a simple grammar (written in EBNF using some regex operators for succinctness and avoiding left recursion):

        program ::= statement* ;
        statement ::= (expr | while-stmt | for-stmt | if-stmt | compound-stmt |) ';' ;
        while-stmt ::= 'while' '(' expr ')' stmt ;
        for-stmt ::= 'for' '(' expr ';' expr ';' expr ')' stmt ;
        if-stmt ::= 'if' '(' expr ')' stmt [ 'else' stmt ] ;
        compound-stmt ::= '{' statement* '}'
        expr ::= simple-expr (('<' | '>' | '==' | '!=') simple-expr )* ;
        simple-expr ::= term (('+' | '-') term)* ;
        term ::= signed-factor (('*' | '/') signed-factor)* ;
        signed-factor ::= ['+' | '-' | '!'] signed-factor | factor ;
        factor ::= <number> | <ident> [ '(' [expr (',' expr)*] ')' ] | '(' expr ')' ;

The grammar above is trivially convertible to recursive descent, with each grammar rule becoming a single method or procedure.

This kind of grammar is typical for a programming language, particularly one inheriting from Algol. You're usually in some kind of context: a declaration context, a statement context, or an expression context. Within any given context, there is usually a group of potential non-terminals available, but each of those non-terminals begins with a single specific token - e.g. 'if', 'while', 'for' etc. in a statement context in C or Pascal. Visually speaking, the graph for the root non-terminal for any given "context" (e.g. statement in the above) looks broad and shallow.

The counter-example is the equivalent graph for expression (expr in the above). It is narrow and deep; this is necessary to encode operator precedence in the natural translation to recursive descent. In order to parse 1 + 2, a whole raft of rules need to be burrowed into: first expr, then simple-expr, term, signed-factor, factor; and all the way back out to simple-expr, which will parse the '+'; and then all the way back down to factor again, and back out. This is where Pratt parsers excel; they remove all these redundant nested calls.</comment>


Lessons learned as a React contractor - <AUTHOR> https://medium.com/@jolyon_russ/11-lessons-learned-as-a-react-contractor-f515cd0491cf <comment><USER2> OK. Here's what I've learn after ~2 years of doing react myself.

1\. Wrap third party components, so you can swap them easily if they become unstable or you find something better. 2\. If you have a codebase that predates create-react-app, take a look into its configuration, webpack is a complex beast and they've figured many optimizations. 3\. Learn the concept of High Order Components and use them to abstract common functionality (for example, retrieving data from an API) 4\. Even if you use Redux (I do and I love it), not everything belongs in there, use local state whenever it makes sense first. 5\. Never, ever, depend on anything inside `react/lib`

<comment><USER3> Re: #1, this is something non-web devs learned a long time ago. I wonder why there's not more sharing of this type of best practice information. Everyone stays in their own bubble, maybe?

<comment><USER4> Even web devs learned this a long time ago. And no we are not staying in our own bubble. As you probably know web is huge and it's hard to know all best practices. Even in the language you are programming there are probably things you don't know. People learn all the time, people start learning all the time.

It feels like people have superiority complex over front-end devs and lately specifically javascript. It bothers me. What if you tell me your language of choice and every time I see it mentioned somewhere I will post some random "intellectual question" combined with stereotype that will make you feel stupid and just demotivate you a bit. Maybe I am missing something but your comment made me feel that way.

To answer your question fully; In my opinion it's because there is no single entity that owns the web. No one controls which things should be deprecated or continued, that's why it's happening much slower because big guys have to come to an agreement. Apple provides best practices for iOS, Google for Android,... MDN is a good resource but there is no official "BEST WEB PRACTICES" entity.

<comment><USER3> I feel you took my comment too personal. Is wasn't an insult to anyone.

</comment></comment></comment></comment><comment><USER5> My lessons that I would add to this:

lessons 1: there's a good chance, depending on what you are doing, that you _do not need_ Redux - avoid it if you can. much docunentation seems to imply that it is a necessary hand in hand element of react development - not true. I have never found any situation in which I need redux.

lesson 2:' use "create-react-app", and if humanly possible, don't eject from it.

<comment><USER6> Is there any sane way to use Sass, Less, or PostCSS without ejecting though? Not having variables available in your CSS seems pretty untenable for anything that has more than a handful of styled components.

<comment><USER7> You can use this fork of react-scripts which adds configuration for enabling new options, including use of style preprocessors:

[https://github.com/kitze/create-react-app](https://github.com/kitze/create- react-app)

<comment><USER5> The irony of forking create-react-app to add configuration.

</comment></comment></comment></comment><comment><USER8> About the "go without redux point", I've switched to MobX, and it helped me greatly for this, as I can implement proper state handling very quickly even when the project is in it's infancy. You just create a class, throw @observable in it and boom, you get everything without any boiler code.

<comment><USER9> I used redux for a year before switching to mobx (which I've now used for more than a year). It is easier, faster, simpler, and scales better in my experience. I can't recommend it enough.

<comment><USER10> why did you do this ? we are already on redux.. but have been looking at redux with some interest.

</comment></comment></comment><comment><USER11> Here are my 2 cents:

1\. Don't use a boilerplate. Not even create-react-app. Learn webpack and npm and TS / Babel. It's not that hard.

2\. If you havn't yet, take a second look at MobX. I got it once I realized that I can organize my state just as I love it with Redux (normalized and update strictly through actions). With MobX you don't need Reselect.

3\. Even though the React community seems to favor ES6, at least give Typescript a serious try.

<comment><USER12> How did you get typescript working properly with redux? I never could figure out how to get proper types in my reducers or HMR to work.

<comment><USER13> You end up doing a bit of explicit casting in places to ensure type safety, but it works. Little discussion I had about this with someone on Twitter which may or may not be relevant: [https://twitter.com/tomduncalf/status/804002710878044160](https://twitter.com/tomduncalf/status/804002710878044160)

I should write a blog post about Redux and Typescript - it would be good to know which bits you are struggling with.

HMR works fine with Typescript, you do need to use Babel as well though. This post I wrote should get you up and running: [http://blog.tomduncalf.com/posts/setting-up-typescript- and-r...](http://blog.tomduncalf.com/posts/setting-up-typescript-and-react/), it is a little outdated (1.9 vs 2.1) but I don't think any major changes should be needed to make it work with newer versions. Unfortunately, HMR (v3 beta) doesn't play nice with react-router as far as I can tell, so I have given up on it for now. I really miss it so I hope someone knowledgable finds time to focus on getting it working better soon!

<comment><USER12> That's a really helpful blog post, actually. I thin the general pain points are the same as in your twitter discussion - the reducers quickly start feeling clunky with explicit casts or using two lines to export a constant for the switch statement. It's obviously a possibility to just forego type-safety in that part, but it'd be a shame.

Another general pain point (apart from the fact that a lot of the guides you find seem reasonably outdated) is the general build setup. Your guide seems really good, but generally setting up react redux and typescript is a bit of a jungle.

If you do end up writing a post, please let me know!

</comment></comment></comment></comment><comment><USER14> I shudder at the complixity of Redux. Ooh~ nice, you dispatch an action to a reducer, ooh~. ~job security~

I don't know, it rubs me the wrong way when there are better tools out there. Mobx, is much quicker to integrate and is easier to understand how to integrate anywhere in a React app. Glad to see I'm not the only one who really doesn't like Redux.

I mean check it out, it has an incredibly small API, and even smaller if you use the right Webpack loaders.

        import { observable, observe, toJS } from 'mobx'
        export default class Store {
          @observable foo = []
        }

Then in your components just set or read from `this.context.store.foo`. Every component using the same store will update it's reference to foo.

[https://sergiotapia.me/using-mobx-and-react-to-build-an- inst...](https://sergiotapia.me/using-mobx-and-react-to-build-an-instant- search-3eae1dd20cbd#.2d0j5dbqa)

<comment><USER15> Redux is like 200 lines of code and very explicit without any magic. What exactly is complex about it?

I think too often people don't appreciate that redux, like all frameworks is a trade-off and is often the wrong tool for the job. Speaking about it as if it's a generic framework to trade out for another framework is a sign that it's being selected for the wrong reasons.

If it's not making your life easier, you probably shouldn't be using it for that application. It's a really nice framing hammer, not a multitool ;)

When I got into front end, I used redux for a small SPA with about a dozen actions and didn't really get it. "I could do this with react and basic JavaScript. Why am I writing so much extra?" I refactored redux out and it was much better.

I have another application that interfaces with a number of APIs, is a very thick client and needs to recover from local storage on startup. Redux fit like a glove!

<comment><USER16> I think a lot of the complexity comes from the incredible specificity of the docs. The authors intend to _teach_, which while great (thank you) it can seem overly complex for users who first land there.

I think a "Quick Start" section would solve a lot of the so-called "complexity" issues, showcasing a few common use-cases:

\- Without React \- With React

Put bare-bones code under each of those sections and then let the user learn the particulars as they come (and as their projects demand)

<comment><USER17> Without Redux - With Redux

</comment></comment></comment></comment><comment><USER18> I'm glad that the author mentioned sagas - this is one of the most underrated parts of using Redux and it makes a huge difference in async code. To be able to define complex asynchronous tasks as a series of "take", "call", and "put" has significantly reduced the number of bugs in our async code.

Another point for Redux: it makes it much easier to understand bugs, both locally and remotely with a tool like our LogRocket ([https://logrocket.com](https://logrocket.com))

<comment><USER19> LogRocket is truly fantastic.

</comment></comment><comment><USER20> Some of these points are basically principles of (object-oriented) software composition, just applied to react. Some examples:

\- "Multiple simple components are better than one highly customisable one" -> Single responsibility principle [1]

\- "When all you have is two weeks, keep it lean" -> "Make It Work, Make It Right, Make It Fast." [2]

\- "embrace the toughest linting rules your team can stand." -> Not really a principle, but that's almost like simulating statically typed language with compile-time errors and warnings.

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

[2]: [http://wiki.c2.com/?MakeItWorkMakeItRightMakeItFast](http://wiki.c2.com/?MakeItWorkMakeItRightMakeItFast)

</comment><comment><USER21> sagas are a steep learning curve and absolutely knowing what a generator function is essential before opening the docs. They are a very productive tool and worth the time imho.

They allow your redux containers to concentrate on selecting state and triggering actions and the async stuff stays out of the way in 'workers'.

Defo worth a look if your redux project has more than a few pages.

<comment><USER16> Redux saga is so elegant it makes me want to cry - but you have to understand generators first, as the author states. Once you get that part, then there's really no going back. Much simpler (and far lighter) than redux-observable.

</comment></comment><comment><USER22> > 4: Raw SVG >= D3 for simple data visualisations

You can have a bit of both. D3 has a dependency "d3-scale" [0], which is a perfect choice if you'd like D3 to do the math and React to take care of the DOM.

0: [https://medium.com/@mbostock/introducing-d3-scale-61980c5154...](https://medium.com/@mbostock/introducing-d3-scale-61980c51545f#.3ohtn0oj9)

<comment><USER23> Yesterday I wanted to find horizontally scrollable JS charts and had a hard time.. any tips?

</comment></comment><comment><USER24> > My tip: test on lower spec machines

I wished ever developer would do that. Too many mobile apps or websites that do very simple stuff (displaying content, simple forms) don't work properly on older phones because of some sophisticated features that no one needs. Many developers seem to think that everyone uses the newest machines and flagship phones with high bandwidth, and forget about everyone else.

Unfortunately the fear of premature optimization is so big for some people that their users have to suffer just because the programmer wanted to have a nicer developer experience..

<comment><USER25> The real reason people don't do it is because it's really hard to make a part of your CI workflow. If the organization wants to dedicate resources to this, great, but this isn't something the dev team is really equipped to do all by themselves.

<comment><USER26> It's definitely hard to do but tools like Selenium and Selendroid can make it easier (assuming you have someone who has the time and energy to set it up).

Once you have system level tests running, then adding some phones or low-end machines is relatively straightforward.

</comment></comment></comment><comment><USER27> Tangential question: does anyone have experience moving from full time (.NET) development to freelance React / JavaScript development and is willing to offer advice?

I'm currently employed as a senior .NET consultant and I am seriously considering changing stacks and trying contracting / remote work in order to have more freedom to travel and work from different geolocations amongst other things.

Should I take some time off to learn React? Do I have to position myself as a junior React developer?

<comment><USER28> I think it is worth it. Once you get a grasp of React (and get a working webpack setup, which was difficult in the past) allows you to build apps for mobile (React native), desktop and web.

We're hiring react developers in Hamburg, Germany :)

<comment><USER27> Great, thanks for the heads up! :)

Do you have any more information about your company, vacancies and hiring process?

EDIT: a quick search has answered my question- no REMOTE positions I see :). Hamburg is a nice city though!

<comment><USER28> Oh we're just a small startup with a node.js / react platform hosted on AWS. Due to our small size we have a simple and short hiring process, in which we try to hire smart, experienced people.

As the sibling comment said we're also very open to remote working after a certain period of getting to know each other.

I've refrained from adding the "REMOTE" keyword to our hiring posts because it attracts a lot of remote (non-)"talent", and we're being swamped in mails from people who don't fit the stated profile.

We've been burned hard by remote-only employees in the past because it is very hard to keep the whole team on the same page, even more so with programmers inbetween junior and senior who want a lot of autonomy but end up delivering subpar results.

</comment></comment></comment></comment><comment><USER29> I find mockable end-to-end testing for React-based SPAs to be quite a mess. On the one hand, "React is a just a view library" so e2e testing is orthogonal. On the other hand, Redux/Flux + React pretty much get treated as the counterpart to traditional MVC and the infrastructure upon which you build your whole app on. But unlike Ember with it's QUnit e2e helpers or Protractor for Angular, there is nothing like that for e2e testing a "React [+ Redux/Flux]" app. Unit testing with TestItils/Enzyme/Jest definitely doesn't cut it. You can unit test all day but the isn't the same as integration and acceptance-type testing. We had to basically roll our own using WebDriver.IO and injecting a fetch-mock helper into our app to mock out the external API calls. That last part is key when you need to test your complex SPA without having to rely on backend API servers. Anbody else feel this pain?

<comment><USER30> You're completely right! It's unfortunate but the tooling for e2e tests isn't "there" yet. For now the best alternative is Selenium (which I've had a lot of trouble with getting stable) or [https://github.com/DevExpress/testcafe](https://github.com/DevExpress/testcafe)

</comment></comment><comment><USER31> what i've found over the course of my career is that the most invaluable feature of boilerplate and scaffolding apps is to get a known-good build pipeline up and running. a trick i've often found useful when migrating to a new framework is to autogen a starter project and then start copying bits of my existing project into it and getting them working. when i'm done, i usually understand the new system well enough to go backport my changes to the existing project (if i want to preseve git history) or simply start afresh once all my tests are passing.

it is a sad commentary on the state of software development that the build process is the most complicated and headache-inducing part of exploring a new language or framework, but i've found that to be a constant across many languages and many years.

<comment><USER32> Try create-react-app

</comment></comment><comment><USER33> > My tip: embrace the toughest linting rules your team can stand.

How good is the Flow type checker, vs ESLint or the Google closure compiler?

While I don't disagree with anything the author said, most of the time I feel like ESLint is just a huge nag about white space. It's defaults have a bunch of rules that in my opinion enforce style without improving code safety at all, despite what the intro docs say. Someone I work with read some opinions like this one and got the idea that ESLint represents correct JS standards, and won't allow the white space rules to be relaxed. I'm stuck being forced to put a space after my comment characters, and not being able to line up blocks of repetitive code. It is admittedly nice to not have any white space style arguments. OTOH, I never really had white space arguments before, and the difference in both friendliness and code safety between using ESLint and the Google closure compiler is huge.

</comment><comment><USER32> For all the people who use redux - a question - how is redux better (for your use case) than just a global variable?

<comment><USER34> Lots of reasons:

\- Isolation of "write logic" means you know where to look to see what code is updating a given chunk of state

\- Consistent state handling means it's a lot easier to think about what's going on in the application

\- The DevTools show you a log of dispatched actions, and enable you to step back and forth between states to see what the UI looked like at each point

\- Middleware lets you centralize app-wide logic, such as consistent transformations for AJAX responses

\- Redux's constraints (such as wanting state to be serializable) enable a number of other use cases, such as persisting state across page reloads and synchronizing multiple stores remotely.

\- There's a rapidly growing ecosystem of addons and utilities for specific use cases (see [https://github.com/markerikson/redux-ecosystem- links](https://github.com/markerikson/redux-ecosystem-links) )

<comment><USER32> I've built a pretty large react app and never needed these things.

Things like stepping back through state seem honestly to me to be a gimmick not worth the required investment of time and pain.

<comment><USER34> I've seen a number of people make comments to that effect, and I genuinely don't understand that point of view. I use time-travel debugging on a daily basis, and it's a _huge_ time-saver for me.

I also don't understand the "required investment of time and pain" comment. I've got a couple lines in my store configuration that sets up the Redux DevTools extension, and after that, It Just Works (TM). In fact, one of the posts in my "Practical Redux" tutorial series shows how to configure it: [http://blog.isquaredsoftware.com/2016/11/practical-redux- par...](http://blog.isquaredsoftware.com/2016/11/practical-redux- part-3-project-planning-and-setup/) .

</comment></comment></comment></comment><comment><USER23> Anyone working on Windows? Is web pack still the way to go? How does it interact with something like phonegap? I have 3 similar projects and I'm super confused which stack should I pick...

<comment><USER35> webpack is still the way to go. Windows or not.

</comment></comment><comment><USER36> Given the amount of React knowledge in the thread and the fact that I just finally groked Redux... what would you recommend to emulate something like ionic? MaterialUI + some sort of flexboxing?

<comment><USER9> For a material design look, I've used material-ui, mdl, and react-md. react-md is the best in my opinion. Incredibly complete and polished for being done by essentially one person. [https://github.com/mlaursen/react- md](https://github.com/mlaursen/react-md)

</comment></comment><comment><USER37> This is great advice, particularly the part about small, similar components instead of large, customizable ones. This is something I feel like I struggle with in views much more than I ever did working backend, and it's healthy to be reminded regularly.

On the subject of sagas, does anyone have a good solution for dealing with `call` in TypeScript without losing type safety?

</comment><comment><USER38> Other things I'd add after building a React project:

1\. "Configuration over Convention" seems to be the mantra with build settings and organization of the entire application. This can make adding features slower if you're used to frameworks like Rails.

2\. SEO will require additional effort via server side rendering

</comment><comment><USER39> "Linting also helps catch errors like reassigning consts and speeling errors"

Hehe.

</comment><comment><USER40> Now I don't know what to believe: [https://imgur.com/gallery/jL62c](https://imgur.com/gallery/jL62c)

<comment><USER41> Don't use it. I used something called JS stack from scratch (it's a github repo). You set it all up but along the way it teaches you everything. It worked perfectly. The only JS I'd done before that was Backbone stuff and requireJS.

<comment><USER42> I about to convert backbone views in a standing app to React components. Then eventually convert the backbone app to React much later. Do you have any advice, tutorials, and code repositories that would help me?

<comment><USER41> The "Thinking in React" doc on the main React page, and their tutorial, were greatly helpful, and it was about 80% of my reference docs. I didn't bother with trying to interface with existing Backbone models, but your app may be too huge to rewrite (it still took me several months to rewrite from scratch, but it's a side project so it probably would have been a few weeks if full time).

That "js stack from scratch" repo is also very helpful in setting up the whole build.

</comment></comment></comment></comment><comment><USER43> Definitely agree with #1. If there's one way I've changed as a programmer as I've gotten more experienced, it's that I DGAF about repeating myself.

</comment><comment><USER44> Don't rely on lint to catch speeling errors. It doesn't work on imports. Flowtype or TSC (even without using any TypeScript syntax) are your friends.

</comment><comment><USER45> Excellent article! Lots of tips that are applicable to non-React projects as well (simple over customisable components for example).

</comment><comment><USER23> Anyone working on Windows? Is web pack still the way to go? How does it interact with something like phonegap?

</comment><comment><USER46> And it's only been a year! <3\. Wild ride.

</comment><comment><USER47> > Happy 2016?

</comment><comment><USER48> > January 2016, I changed my job title on LinkedIn to React developer

So whenever I start working on a new area, I should add that to my job title?

React Carpenter?

[http://www.jasonbock.net/jb/News/Item/7c334037d1a9437d9fa650...](http://www.jasonbock.net/jb/News/Item/7c334037d1a9437d9fa6506e2f35eaac)

Also:

> 1: Multiple simple components are better than one highly customisable one

No shit. Ever heard of UNIX?

</comment><comment><USER49> I would recommend Cx to all React contractors. Cx runs on top of React and solves many React/Redux pain points. It also offers comprehensive widget library and charts.

[http://cx.codaxy.com/](http://cx.codaxy.com/)

Disclaimer: I'm the author.

<comment><USER50> This is a library that seems to do something a lot like what lots of other libraries do, except this one costs hundreds of dollars per developer, comes with only a year of support, and has many obvious problems with its licence such as being revocable, being ambiguous about jurisdiction, and literally having the word "DRAFT" stuck at the top of the first page.

<comment><USER49> The licensing stuff is hard. I believe that our license is fair, even if it's complicated.

You're right, many free projects offer the same or even greater functionality, however, you're not taking into consideration time you spend to put everything together. If your client is paying you hourly, Cx is an investment which pays off quickly. We're contractors too and this was one of the reasons behind Cx.

I understand that commercial licenses are not very popular these days, but for a small company like ours, I don't see any other model allowing us to concentrate on support and the product in the long term.

<comment><USER50> I do understand that it's a tricky market to work in commercially. I have nothing against charging for your work if it provides the value to justify it, and similarly I have nothing against developers paying for tools that will help them do a better job and/or save time. Your site didn't sell me on why your particular product is better than what I could do with other tools, but obviously that's a personal judgement and others might take a different view.

I also appreciate that writing a good licence is hard, but yours does seem to be particularly awkward. For example, if we're developing a project for a client, our terms typically state that they will have a certain minimum standard of licence for any third party code we use, so they know they're in the clear deploying or distributing whatever we build for them. Your terms giving only a revocable licence would immediately disqualify your library, as would any other hedging about being able to use it indefinitely once it was paid for.

<comment><USER49> The license is perpetual and can be terminated only if Licensee breaks the agreement. I don't see how that can be an issue. Can you please explain the problem?

<comment><USER50> The stated jurisdiction is unclear and the main licence term includes the word "revocable". Unfortunately, that combination alone means the licence would contradict our usual guarantees to clients. These typically say we will only incorporate third party elements when the client has a perpetual and irrevocable legal right to use and redistribute those elements as part of whatever we're delivering. The furthest we've ever stretched this is including FOSS with widely recognised licences where there may be a well understood obligation on the client to provide the source code on demand, and some clients won't be happy going that far.

The bottom line is that our clients don't want to get bogged down with the terms of third party contracts or licence agreements and whether they could undermine the whole project, so anything with the slightest hint of risk is immediately more trouble than it's worth in this sort of area.</comment></comment></comment></comment></comment></comment>


Pentagon's $55B mystery plane is secret, but debate on cost is appearing - <AUTHOR> http://www.washingtonpost.com/news/checkpoint/wp/2015/02/27/pentagons-55-billion-mystery-plane-is-secret-but-debate-over-cost-is-appearing/ <comment><USER2> Northrop Grumman seriously paid for a Super Bowl ad?

Oh sure, next time I'm out shopping for a long range stealth bomber maybe I'll subconsciously remember the ad and choose a Northrop Grumman one. I've been a long time Boeing-Lockheed customer but the powerful imagery from that ad left quite the impression on me.

I get that defense officials and congressmen watch the Super Bowl, but there must be more cost effective methods of reaching them than buying the most expensive airtime on the planet.

<comment><USER3> Don't forget the signaling value: Northrop Grumman is not a small shop, and wants to show these officials and congressman that they're the real deal and have plenty of money to spend on flashy and super expensive things like Super Bowl ads.

<comment> c-slice I think this is completely PR - they want to create buzz and excitement in the public for the "hot new spy plane" such that its politically impossible for congress to cancel the program/cut the budget.

<comment><USER4> I doubt it. There is a ton of war-weariness these days, and expensive military projects aren't very popular. Especially considering the utter fiasco that is the F-35 program, I really doubt the public is in the mental or emotional state to support another pricey project.

<comment><USER5> You say that like the public opinion matters at all.

</comment></comment></comment></comment></comment><comment><USER6> So what happens if we find ourselves in a war of attrition again? Most/all of the potential opponents in such a war are nuclear powers so it's theoretically not a possibility but history is littered with theoretical impossibilities made real. It seems like we have all of these incredibly dominant and expensive weapons but only a relatively tiny supply, no timely and cost- effective way to replace losses, and not many options if they run out. I didn't attend a service academy so maybe I'm missing something, but what if the initial battle is not decisive and after 6 months of somehow-only- conventional war there are no more LRSBs or F-22s or whatevers?

<comment><AUTHOR> The other major nuclear powers are no more capable of fighting a war of attrition than the US is.

Further, the US is highly unlikely to be dumb enough to fight a war in China or Russia. That would require ten million soldiers just to get started anyway. It simply isn't going to happen, any more than Russia or China are going to cross the Pacific or Atlantic and invade the US. China has very little capability to project outside its borders, and is in the process of modernizing its military and shrinking its forces. Russia has zero capability of projecting serious conventional might outside of its borders, or those extremely close by.

So what war of attrition is likely to occur? Whatever that is, it'll be fought closer to the enemy's backyard, than the US backyard. The US has military bases all around the planet, nobody else does. So the US can strike, perpetually, at foreign targets via force projection, while limiting damage to its domestic manufacturing capabilities. Said manufacturing capabilities would be, much like WW2, ramped up to meet demand. The US has a massive labor pool, and if desperately needed, could grant citizenship to tens of millions from Latin America in exchange for building armaments in factories. Unlike China, the US is capable of 100% domestic commodity supply, and if pressed can also fulfill all of its own manufacturing and technology needs (which China can as well, but they don't have the domestic commodities the US possesses).

To win a war of attrition, in a conventional war, the US could simply spam the construction of new B-52s and bombs, and then leverage its global bases, pressing an unrelenting bombing campaign taking out all of the enemy's manufacturing capabilities. No present or likely future enemies of the US could strike back at the US domestically for any sustained period of time.

Now, if we're talking China in 30 years, will they be able to project across the Pacific all the way to Hawaii and California? Interesting question, it's going to depend on whether their economy melts down due to the hyper debt accumulation they're undergoing now, and whether they end up in perpetual debt stagnation like Japan (while their demographics melt simultaneously, and the demand for entitlements to take care of the elderly soars, sapping their financial capabilities even further).

<comment><USER7> Another way to look at those bases is to think of them as already captive American troops. You can project power all you want but if your runway has been bombed you're not going anywhere. Having your troops stationed the world over is both an advantage _and_ a disadvantage, it allows your enemies to strike you the world over rather than just on your own soil.

See: USS Cole, Ein al-Asad and so on.

As for the US's ability to strike perpetually at foreign targets: that's limited to those targets that the US does not depend on in any economic capacity and only holds true as long as oil flows.

</comment></comment></comment><comment><USER8> Did I seriously just read a cry for "disrupting the combat aircraft market"? How about disrupting the tobacco business? Disrupting human traffic? Exaggerations aside, not everything is about making (or saving) money. I sure as hell don't want military weapons to become the latest startup trend.

<comment><USER9> I have no love for the military. I turned down a guaranteed job offer that pays twice what I'm currently making simply because I don't want to work on things that kill people.

That said, I can also see the other side of this. According to Wikipedia, the US government spent $66 billion dollars on the F22. I'm naive, so I think that we could save $66 billion on that by just not having an F22, but congress disagrees with me and I'm not sure that I'll ever win that fight. However, imagine that start-ups could do the job 10% more efficiently. That's six billion dollars that you just saved.

Now, imagine an entire government agency, like the Peace Corp, but purely dedicated to fighting human trafficking. You could fund that agency for fifteen years on that six billion dollars. If the startup is 20% cheaper, then you could have a second agency of similar size that is dedicated to helping people stop smoking. If the startup managed to be a full 30% cheaper, you can throw in thirty thousand four-year, full-ride college scholarships.

Again, I'd love to have all of that $66 billion spent on other projects, but even funnelling part of that into a different area could markedly improve the world. I'd never work for a start-up that worked on air combat, but I'd be thrilled to free up some of the air combat budget.

<comment><USER10> The F-22 at least more or less accomplished what the program set out to do. It's hilarious to compare it to its "replacement", the F-35, a plane that attempts to shoehorn three mutually conflicting roles into one airframe to reduce costs, except it's going to cost something like a trillion dollars. The best (worst) one is the jumpjet version, designed to operate from temporary airfields and catapult-less aircraft carriers, except it melts anything it tries to land on [1], the fuel trucks that service it need to be painted white to keep the fuel cool enough so the plane doesn't fall out of the sky [2], and it can't even carry the bombs it was designed to carry [3]. At least, it's not alone in that problem though, the F-35A can't shoot its (pointless) gun [4].

[1] [http://aviationweek.com/defense/opinion-f-35b-vertical- landi...](http://aviationweek.com/defense/opinion-f-35b-vertical-landings- doubt-uk)

[2] [http://www.af.mil/News/ArticleDisplay/tabid/223/Article/5555...](http://www.af.mil/News/ArticleDisplay/tabid/223/Article/555558/luke- afb-changes-refueling-truck-color-mitigates-f-35-shutdowns.aspx)

[3] [http://www.defenseworld.net/news/12313/F_35B__Incapable__Of_...](http://www.defenseworld.net/news/12313/F_35B__Incapable__Of_Carrying_Small_Diameter_Bombs)

[4] [http://rt.com/usa/219255-f35-fighter-jet- glitch/](http://rt.com/usa/219255-f35-fighter-jet-glitch/)

</comment></comment></comment><comment><USER11> This may be an overall drop in the budget. But could we all agree that this money could have been spent for better causes? You know, the concrete stuff people expect of a government. Things such as homelessness, poverty, health, retirement, crime.

</comment><comment><USER12> I think the key question for space and aviation enthusiasts is whether or not the Pentagon is building a hypersonic suborbital manned bomber.

If they are -- and it's a big "if" \-- then that means the technology for civilian use is just a couple/few decades away. I haven't seen the numbers, but in my mind the market for suborbital commercial flights, say, New York to Sydney in an hour or two, is already there. It's a place on the road to reducing cost-to-orbit where the money's already there. Somebody just has to go get it. Plus DoD will end up solving most of the problems by being the first mover.

<comment><USER13> I don't know, I don't think the market for any kind of supersonic passenger vehicle is there. Look at the Concord.

</comment></comment><comment><USER14> The title is a bit misleading.

        Pentagon's $55B mystery plane is secret...

Yet the planes only cost half a billion each:

        ... The service estimates it will cost
        $55 billion to build as many as 100 of
        what it calls the Long Range Strike Bomber ...

Here I was thinking they built the most reckless single aircraft ever.

</comment><comment><USER15> The best defence is probably not bombing the hell out of nations on the other side of the world to start with.

</comment><comment><USER16> Isn't the future in 3d printed automated drones, with absurdly low cost, that can saturate any defense.

<comment><USER17> "Absurdly low cost" won't work with the giant welfare system that is the DoD.

<comment><USER16> There are nations that have the outdated ideas of winning wars and not stimulating the economy ... for them the ideas of mass produced drones built at BOM, with some stolen IP from US are tempting.

<comment><USER18> Wasn't war always about stealing people's stuff or preventing your stuff from being stolen? I mean, my country had independence wars every generation for 800 years, but they were all about not getting our potatoes robbed.

</comment></comment></comment></comment><comment><USER19> WTF US, why do you need/want to build this? Do people support this?

</comment><comment><USER20> Aw, c'mon, nobody has mentioned Aurora yet? [http://en.wikipedia.org/wiki/Aurora_%28aircraft%29](http://en.wikipedia.org/wiki/Aurora_%28aircraft%29)

<comment><USER21> "Aw, c'mon, nobody has mentioned Aurora yet?"

What on earth does that?

"nobody has mentioned Aurora yet?" you've obviously checked nobody mentioned it, so why not just give us the link and say how it's relevant.

"Aw, c'mon" what the hell is that? Who talks like that? What does "aw" mean? You're disappointed nobody has mentioned something is relevant? Why does that upset you? Why shorten "c'mon" from "come on" like that?

Why post this nonsense? Just give us the link and why it's relevant.

<comment><USER20> What died up your arse? The link is right there. Would you like me to click it for you?

<comment><USER21> I don't have a problem with the link or reading it myself.

I have a problem with 'Aw, c'mon, nobody has mentioned Aurora yet?'. What do you mean by 'Aw, c'mon'? That's an illiterate sentence. And why say 'nobody has mentioned it yet?' Why ask that question? Why not check for yourself if anyone has mentioned it yet?

What you probably meant was 'This may be related to the Aurora project [link]'.

<comment><USER20> Yet you start a sentence with "And", use single quotes inappropriately, and add absolutely nothing to the discussion, whereas I, colloquialisms notwithstanding, did.

Go and do something productive with your time - this isn't, and I'd bet it's just annoying both of us.

<comment><USER22> Not being able to start a sentence with "And" is actually quite common and is found in vast amounts of professional writing. And if that wasn't true this sentence wouldn't make sense.</comment></comment></comment></comment></comment></comment>


Ask HN: Strategies to get free adwords coupon? - <AUTHOR>

I hear people mention using free adwords coupons, but I can't figure out where people get ones? Any tips? <comment><USER2> I've had Google give them to me if I sign up for Adwords for a new project but end up not using it for a few weeks.

They usually give me a code for $100 dollars free.</comment>


Should Your Spouse Be Your Best Friend? - <AUTHOR> https://www.nytimes.com/2017/10/12/style/should-your-spouse-be-your-best-friend.html <comment><USER2> > After all, if your spouse is your best friend, then whom do you complain to > your spouse about?

Absolutely no one. I've been married for 11 years. My wife isn't perfect of course, but she's still pretty fantastic. She is my best friend, for which I'm thankful. I don't and won't gossip about her.

As a second- or third- hand observer, I can't count the number of times I've heard someone gripe about their spouse and felt sorry for them. Marriage, and relationships generally, are so much richer when you can either get over a minor injury without even mentioning it, or respectfully discuss a more serious one. I know it isn't "cool" to quote scripture around here but the Bible says "Good sense makes one slow to anger, and it is his glory to overlook an offense." Amen.

<comment><USER3> > After all, if your spouse is your best friend, then whom do you complain to > your spouse about?

I agree with you, with just one small tweak: if your spouse is your best friend, you should complain to your spouse about her. That's in fact what separates a "real friend" from an acquaintance for me - the presumption that my friend really cares about me and is willing to modify their behavior to improve my happiness, within limits.

<comment><USER4> Wise words, thanks for this thread.

</comment></comment></comment><comment><USER5> My wife was my best friend when we got married over twenty years ago, and that has only ripened and deepened since then. She is the person I want to share the joys and rough times with. When I see something beautiful, I want to share it with her. When I have a rough day, or week, I want to talk it over with her. We're raising our children together, planning for our retirement together, and enjoying the days and years as they come.

And I hope the author didn't really mean the "with whom do you complain about your spouse" line. If people respected and worked with their spouses instead of complaining about them to other people, there'd be a lot fewer failed marriages.

<comment><USER6> That's great to hear. Ever read the books *The Five Love Languages" or even "His Needs, Her Needs". They were very helpful to me.

<comment><USER5> Five love languages, yes, I'll have to take a look at his/her.

Men are from mars, women are from Venus was helpful, and what wives wish men knew about women - learning that sometimes you just need to listen (always need to listen, sometimes that's all she needs me to do), and recognizing that it's ok to need space sometimes, etc.

<comment><USER6> Yeah, I was always trying to "fix" it within a few minutes of hearing her statements. Allowing her to speak it out, develop images in her mind, listening, and then after all that, I don't offer the solution! It is a different way of "communication".

</comment></comment></comment></comment><comment><USER7> A mostly uninteresting article in my opinion, but didn't agree with this:

> Dr. Bader said that she wished popular magazines would challenge the notion > that you shouldn't get married to change someone.

Most of the relationships I've seen where one partner has a goal of changing the other person have failed. I would bet that this would bear out in a well- designed study as well.

<comment><USER8> Yeah, it's much easier to find someone you can accept than it is to try to mold someone to your liking. In fact, I would submit that it says quite a bit about the person for attempting that level of control.

I am not innocent. It's a lesson learned in time.

And, yeah, a strange choice of article for HN. But, here we are.

<comment><USER9> Well, you can just as well be best friends, even if you're wanting to mold each other. Both parties just have to be open-minded about it.

You might even see it as positive to be challenged in your ways, as it helps you to move yourself forward. For example, if you're a couch potato, you might actively look for a sporty partner in hope of being motivated to do sports.

</comment></comment></comment><comment><USER10> > After all, if your spouse is your best friend, then whom do you complain to > your spouse about?

Never complain or otherwise say anything bad about your spouse to anyone but a therapist. Never.

Your therapist doesn't have to forgive your spouse. A therapist doesn't have to like your spouse. While you may forgive them, your friends/family won't be so quick to do so, if they do so at all.

</comment><comment><USER11> Of all the life long marriages I know (mine included at 11 years so far), all consider their spouse their best friend.

I personally think my marriage could have been ruined many times over if I leaned on someone other than my wife during times of difficulty.

<comment><USER12> I am at 10, two kids, going strong and probably forever (who can say for sure, of course?) - and my wife and I have separate best friends.

I really can't see why this has to be the case. There are things my wife should share with someone close that she can fully trust, and sometimes that can't be me. Same is true in the other direction.

<comment><USER13> Hey, if it works for you, it works for you.

That said, I'm curious to hear what kinds of things you're referring to. Do you have some fictional examples?

My wife and I each have our own best friends, but in my own marriage (14 years... since we all have to publish our credentials ;), if there's something I can't tell me wife, it's something I wouldn't tell _anyone_ , best friends included.

The only obvious exception is if it's something about the marriage itself, but in that case, I'd speak to a friend first only if I needed to work out my own thoughts and emotions before I then talked to my wife. So even in that case, it's more a matter of timing than keeping certain things from her entirely.

</comment></comment></comment><comment><USER14> I am perhaps irrationally annoyed by people calling spouses their "best friends". We get it: you chose to _marry_ the person so _obviously_ you like this person "best", therefore someone _else_ should be your "best friend". A friend is a different thing. You can behave differently with a best friend. You shouldn't feel like you're somehow undercutting your spouse just because someone else is your best friend.

</comment><comment><USER15> Here are some good points on this. About how expecting all your needs to be met by one person will lead to dysfunction and how we create organizations to fulfill these needs. The groups the make the most impact are those of sufficient size to fulfill all these needs.

[http://us1.campaign- archive.com/?u=78cbbb7f2882629a5157fa593...](http://us1.campaign- archive.com/?u=78cbbb7f2882629a5157fa593&id=8641203570)

</comment><comment><USER16> The article mostly throws up its metaphorical hands and concludes "maybe, language is hard", which is fair enough. But:

> if your spouse is your best friend, then whom do you complain to your spouse > about?

Complaining about your spouse to your friends is a wonderful way to damage your relationship; the unthinking assumption that you _should_ be venting about your spouse is harmful and should be challenged.

> Dr. Bader said that she wished popular magazines would challenge the notion > that you shouldn't get married to change someone. "I think that's what > marriage is about," she said.

That sounds like horrifying bad advice if taken literally. I hope there was some context that was omitted from the article. People certainly can and do change, and obviously spouses should help encourage each other to change for the better. So sure, marriage is, in part, about change, inasmuch as marriage is a part of life, and life is about change. But to get married _in order_ to change someone? As in "wow, I hate how extroverted this person I'm dating is, _I know we 'll get married so I can make them introverted_"? That's the opposite of a good idea, and warning people off it is a staple of popular magazines, unpopular magazines, relationship counselling, and dating advice because it's a _really dumb notion_.

<comment><USER13> _Complaining about your spouse to your friends is a wonderful way to damage your relationship; the unthinking assumption that you should be venting about your spouse is harmful and should be challenged._

Just on this point, I couldn't agree more.

The problem with "venting" is that whomever is listening is almost certainly part of your personal echo chamber. And when dealing with a problem in one's marriage, the last thing people need are mirrors reflecting themselves.

I can't tell you the number of times I've come out of a fight with my wife where, some time later, I realized I was a total ass and needed to apologize for my behaviour.

If I'd "vented" to someone, odds are it would've just hardened my resolve.

</comment></comment><comment><USER17> The article doesn't touch upon it - but IMO, the gender of that "best friend" matters a lot. Most people would probably be just fine with their spouse having another best friend of the same gender, but definitely not of the opposite.

<comment><USER18> > Most people would probably be just fine with their spouse having another > best friend of the same gender, but definitely not of the opposite.

It seems to me that people to whom this makes a difference are both extremely insecure in their partner's loyalty and extremely secure in their partner's exclusive heterosexuality.

Take away the former and the concern disappears, take away the latter and the concern remains without the gender disparity.

<comment><USER19> It's not about the partner's loyalty. Loyalty has very little to do with emotions and works at a higher level. If someone spends a lot of quality time with an individual whilst their home life is stressful (kids etc) then they will almost inevitably develop an attraction to them (or to the idealized version that one has of someone one doesn't have to live with). Meanwhile at home feelings of being in-love have faded to loving and the day-to-day realities are there and obvious. Then it is game over and loyalty is fairly unlikely to prevent things happening.

Better to spend quality time with your spouse and re-enforce the bond the two of you have for each other.

</comment></comment></comment><comment><USER20> _Over time, of course, this physical connection wanes. While many bemoan this loss of titillation, Dr. Levine celebrates it. "It's smart," he said. "If you're going to be crazy about the other person all the time, how are you going to raise kids? How are you going to be able to work?"_

This article is all kinds of horrifying. The above paragraph plus the phrase "maintenance sex" = ick. What does that mean? "We are just going through the motions cuz we gotta. Kind of like plunging the toilet."?

Maybe you should go read a book like "Lovers in marriage" before you go trying to write anymore marriage advice.

My ex was my best friend. That in no way suggested it was platonic.

<comment><USER21> > What does that mean? "We are just going through the motions cuz we gotta. > Kind of like plunging the toilet."?

In a sense, perhaps. A lot of people get into a pattern where they're busy with other things and unable to have the kind of romantic setup they had before. But, on the other hand, people generally enjoy sex even if they have to do something unromantic like set a time on a calendar and just stick to it, and it has the effect of deepening their relationship.

<comment><USER20> Or, you know, you can make time for each other because this is the most important person in your life. Instead of making excuses.

Firsthand experience suggests to me that such an approach leads to better experience over time, not going through the motions.

<comment><USER21> "Going through the motions" involves making time for each other.

<comment><USER20> I don't think you and I are on the same page here.

I was married for 22 years. Setting a date and keeping an appointment was not how we handled it. I had a friend who would call me to bitch about how her and her husband did it once a month, they were just too busy and did not have time, etc. My husband would walk in and start making snarky remarks while I was on the phone and I would shush him.

When they were busy, this couple recorded their favorite shows during the week and watched them together on Saturday night. They did not lack the time. They just thought X Files was vastly more important than having a love life.

That was not at all how my marriage worked. I quit being sympathetic. I made polite noises and tried to change the subject.

<comment><USER21> Ok. Well what do you propose a couple does if they find they're not having sex as much as they want? Just hope the problem will fix itself?

<comment><USER20> Make time for each other. Have a date night, even if you are broke and watching a movie on the TV at home. The point is spending time together, not spending money.

Never, ever go to bed mad. Settle it. This is usually followed by makeup sex.

Never tell your spouse to sleep on the couch. If you are so mad that you can't imagine sleeping next to them, grab a blanket and take yourself to the couch. Argue over who gets to declare "No, I'm sleeping on the couch!" (It gets funny at this point and hard to keep a straight face.)

Kiss each other good night every single night, even if you just had a fight. This often initiates makeup sex.

Talk.

Actively look for sexy activities to share, like oil massages.

Shop for naughty lingerie together.

Share your fantasies.

Being a lover in marriage is about trust and intimacy. This requires ongoing efforts at communication. It also requires that you invest time in the relationship. It takes at least 15 hours a week to establish and maintain intimacy. Intimacy is the font of good sex when novelty is no longer your shtick.

Remember that all is fair in love and war and this is love, not war. Make up caring exceptions to the rules you were raised with and to hell with what other people think.

Always fight fair. This is your lover. It undermines the relationship to be nasty to them when you disagree and the price you pay for that often shows up in the bedroom.

<comment><USER21> These things are all great but if your problem is feeling worn out all the time turning it into a big task like this is the opposite of what you need.

<comment><USER20> Marriage is inherently a big task. There is no way around that.

When you have trust and good communication it makes it easier to get together without an appointment at times when you genuinely are busy and exhausted. You make it clear you need 15 minutes with your wife more than you need that extra 20 minutes of sleep on a night when you have to get up in 5 hours. You humorously agree to The Sedate Thing when you want sex but are not up for The Wild Thing.

You also work at resolving the issues keeping you too exhausted to have quality time. Life happens, but if issues like that never improve, it is often an excuse for people who aren't really comfortable being close for some reason.

That may sound lecturing. It isn't intended to be. It is intended to be empowering. My experience was career military, a very demanding job. We had two special needs kids. I was chronically short of sleep the first 7 years of my oldest son's life and I had chronic health issues.

My husband and I didn't have cushy lives. But we set a high bar for certain things and it paid off.

Best.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER22> Viewing a spouse in terms of a friendship is not helpful in my opinion. Marriage is _sui generis._ It is, especially if you have kids, an economic and financial partnership. I think my wife is funny and I like spending time with her, but what really lets me sleep deeply at night is that she's highly capable and professionally successful. I could die tomorrow and my daughter would be well provided for. It's not something I appreciated when I was young and had fanciful ideas about western love marriage, but is definitely something I appreciate now that I'm old.

<comment><USER21> Most marriages do not involve two equally-successful professionals, and at least in my case from a purely financial perspective marrying a foreign woman with no real contacts in the US besides me wasn't very advantageous (I should probably clarify that I met my wife abroad because it sounds like I'm talking about a mail-order bride). Nevertheless I think it was worth doing for the tremendously positive effect it's had on my happiness and well-being.

I guess if I had kids I'd have to think about a life insurance policy (I occasionally think about doing that just for my wife).

</comment></comment><comment><USER23> This is one of those areas where I would take every statement and even study with a pound of salt.

</comment><comment><USER24> I've never been married, but I don't quite know if it's even possible to be with someone for the long haul and not be close friends. It would be very much unpleasant otherwise. A business transaction of sorts. Having said that, from my personal experience, I think seeing your partner as your only best friend is something comparable to putting all of your eggs in one basket. Nothing lasts forever and as amazing as things look today they might not be all that great tomorrow and all of a sudden you're all you've got. Just for that reason alone I think it's healthy to maintain a close friendship with someone other than your partner.

</comment><comment><USER25> Answer: It depends.

I have friends who really aren't, but they seem to have a rewarding relationship anyway. Not my cup of tea, but other people's marriages aren't any of my business!

</comment><comment><USER26> I don't know about best, but a good friend at minimum. Hopefully not your only one though.</comment>


Why it will never be the year of the Linux Desktop - <AUTHOR> https://threader.app/thread/1061673554620616705 <comment><USER2> Reminds me of those people who looked at Model-Ts which were bogged in the non-existent roads of the time and derisively called out 'Get a Horse!".

My Year of the Unix Desktop was 1991. My Year of the Linux Desktop was 2001. I never had a Year of the Windows Desktop.</comment>


Show HN: Hacking Stellar (draft) - <AUTHOR> https://github.com/0xfe/hacking-stellar <comment><USER2> I bet lumen holders will come here and say how much Stellar is good, others will ask questions about how Stellar works implying it is a blockchain like Bitcoin.

Besides that, the fact that something like this exists (along with the friendly and comprehensive documentation on Stellar's official website) is probably going to make more people join the wagon so maybe it won't fail like the other 1000+ altcoins (and like its brother Ripple?).

</comment><comment><USER2> Just saw the `lumen`[0] command line tool from the same author and must say THAT is really interesting.

[0]: [https://github.com/0xfe/lumen](https://github.com/0xfe/lumen)</comment>


Comment by Erik Spiekermann on Dribbble - <AUTHOR> https://medium.com/@espiekermann/ok-i-m-not-your-stereotype-3c3b06b1e816 <comment><USER2> I'm a web designer turned fullstack developer. Don't do as much design anymore, but I like to go to dribbble to get inspiration and figure out how to tweak layouts / styles in my personal projects.

I agree wholeheartedly that dribbble feels shallow, especially thin on the UX aspect as a whole, but its still a great site for inspiration.

The UX part can't be had in still shots anyways. If anybody knows of a similar site with ux interaction videos, I'd love to find out.</comment>


Nigeria 'on red alert' over Ebola death in Lagos - <AUTHOR> http://www.bbc.co.uk/news/world-africa-28498665 <comment><USER2> It's not quite time to go into full Dustin-Hoffman-killer-virus-movie paranoia yet, but the it seems the inability to safely process the biohazards, bodies and healthcare paraphernalia is a real problem. Even if you're quarantined, someone eventually has to cleanup the mess you leave behind and its becoming tricker to do.

Ebola is a incurable and statistically fatal disease, but it is being made worse by people wanting to see their families and friends before their will likely expire. This behavior places infected persons in communities and situations where proper care and quarantine may not be available therefore the disease has spread. People acting in their own self interest when confronting their mortality is nothing new. We'd likely all do the same.

Maybe we need to start treating this outbreak we fight wildfires. Start digging a proverbial fire line. Setting broad travel restrictions and geographical quarantines and hope that the virus fades away over time. Of course this is cruel and inhumane to people with the disease not to mention impractical to implement physically over such a wide area because people inside any area would rush out possibly taking the virus with them.

<comment><USER3> >Setting broad travel restrictions

There is an "African" border near me. Its got a fence - which is impressive. The fence does double duty as a washing line and is about waist high.

<comment><USER4> Do you know of any countries where 'proper' borders exist, other than those between East and West Germany, and North and South Korea, which existed for political reasons and economic reasons?

Or the one between the USA and Mexico, which has more to do with a dislike of the racial makeup of those wanting to cross into the USA?

Isn't a border nothing more than a line drawn in the sand patrolled by armed men in places where it is feasible?

If animals can cross borders at will, then why can't humans also? After all humans are a peculiar breed of apes without fur?

<comment><USER5> The border between Spain and Morocco. Spain has two exclave located on the north coast of Africa, Ceuta and Melilla.

Every year ten of thousands of africans try to cross the border jumping over the 7m high fence.

Wikipedia:

[http://en.wikipedia.org/wiki/Melilla_border_fence](http://en.wikipedia.org/wiki/Melilla_border_fence) [http://en.wikipedia.org/wiki/Ceuta_border_fence](http://en.wikipedia.org/wiki/Ceuta_border_fence)

Images:

[https://www.google.com/search?q=la+valla+de+melilla&es_sm=91...](https://www.google.com/search?q=la+valla+de+melilla&es_sm=91&tbm=isch&source=lnms&sa=X&ei=DdLUU62yMeT8ywOelYLACw&ved=0CAcQ_AUoAg&biw=854&bih=444)

<comment><USER4> How much of the Spanish border does that fence cover if I may ask? Does that include the borders with Portugal, France and Italy?

It seems its main purpose is to stop the refugee processing system from being overwhelmed, as that doesn't place them on Spanish soil proper.

<comment><USER5> Only cover these two segment of the border. Spain is part of the Schengen area, as well as Portugal and France, so there is no need to have a real border with them.

</comment></comment></comment></comment></comment></comment><comment><AUTHOR> The alert has been caused by a patient flying to Nigeria - the theory is that it isn't easy to catch Ebola [1] so this is a test.

The disease has spread from Guinea to Liberia [2] so this would be a jump Eastward [3]

[1] [http://www.npr.org/blogs/health/2014/06/25/324941229/could-t...](http://www.npr.org/blogs/health/2014/06/25/324941229/could- the-ebola-outbreak-spread-to-europe-or-the-u-s)

[2] [http://en.wikipedia.org/wiki/2014_West_Africa_Ebola_outbreak...](http://en.wikipedia.org/wiki/2014_West_Africa_Ebola_outbreak#mediaviewer/File:Guinea_Sierra_Leone_Ebola_Map_April_14_2014_png.png)

[3] [https://email@example.com,...](https://firstname.lastname@example.com,-1.8552252,5z/data=!4m2!3m1!1s0xe26e8142c8c27c9:0xd456c5cbdb66949)

<comment><USER6> The lead doctor in Sierra Leone in charge of fighting ebola himself got Ebola. If it's not that easy to contract ebola, you would have thought the foremost expert would have easily been able to avoid this.

<comment><USER7> Actually, you might expect him to be a _lot_ more likely to catch Ebola. He's coming into deliberate vicinity of the virus on what one assumes is a weekly or even daily basis. Frequency effect is in play.

For similar reasons, you'd expect the world's foremost expert on avoiding shark attacks to be attacked by a shark more often than the general population. He's out there practicing his theories and doing his research every day. The rest of us aren't going in the water as often.

The best way to avoid being attacked by a shark in the ocean is not to go in the ocean. The best way to avoid contracting Ebola is to stay as far away from Ebola as possible. An expert might be better able to handle himself around Ebola, or around sharks, than the rest of us. But he's also more likely to be around Ebola (or sharks) in the first place.

</comment></comment></comment><comment><USER8> Tekmira Pharmaceuticals has a cure for Ebola that has success in non-human Primates. Is it unethical to try using this on infected humans that are going to die soon?

<comment><USER9> With or without each person's approval ? What is your control group ?

<comment><USER10> It's not like we need a special control group if that control group is supposed to receive no treatment - we know rather well how untreated Ebola works and the mortality rate.

If we try out drug X and only 50% of those people die, then we know that drug X is good for Ebola. Once there is drug Y to try, _then_ we can use drug X for a control group.

<comment><USER11> You must be sure that you are measuring the same mix of virus strains, that the patients are receiving the same medical care and food, that the hygienic conditions are the same (the patient was going to survive, but a diarrhea just killed him), room conditions (is the room temperature important?).

You must be sure that you are using the same criteria to count the patients. Are you going to count the almost dead patients as a drug failure, or drop it from the list? Are you going to give the drug to suspected cases or only to confirmed cases? Do you count small children (they usually have a smaller survival rate)?

Are you counting the people that die before going to the hospital? Are you counting the (few) people that survive without going to the hospital?

If you get a 30% cure rate, (and suppose that the standard cure rate is 20%), it's very difficult to be sure that the improvement is in the mew drug and not in a change in all the other factors or some unwanted statistical trick.

Most of the rules for double blind studies are there because in the past there have been many "successful" test of new drugs, that were later retracted. It's very easy to measure incorrectly, especially when you really want the experiment to be a success.

(Another rules are there to prevent the consequences of previous "unsuccessful" test, were the "cure" was much worse than the illness.)

<comment><USER12> Presumably the idea wouldn't be to prove the effectiveness of the 'cure' but an example of compassionate use.

</comment></comment></comment></comment></comment><comment><AUTHOR> Update to the story: "Meanwhile, in Nigeria, the health minister Onyebuchi Chukwu said that all other passengers on board the flight with the infected man had been traced and were being monitored."

Freetown, the Sierre Leone Capital, has had it's first case and seems to be having problems controlling the movement of infected people, one (now unfortunately dead) was 'rescued' from quarantine by relatives. "The woman had been one of dozens of people who tested positive but were unaccounted for, the BBC's Umaru Fofana reports from the capital, Freetown."

[http://www.bbc.co.uk/news/world- africa-28505061](http://www.bbc.co.uk/news/world-africa-28505061)

</comment><comment><USER13> The United States and ALL of our allies need to restrict travel from every country where at least ONE case of Ebola has surfaced. We also need to restrict travel to and from ANY country that is not doing the same. We need to start practicing isolation/quarantine of certain sovereign nations immediately. I don't think Obama will do it. He's going to get us all killed.

<comment><USER4> > The United States and ALL of our allies need to restrict travel from every > country where at least ONE case of Ebola has surfaced

When did this become an 'us versus them' issue, as though any people or governments are glad to have an Ebola outbreak on their hands.

Ebola is spread through physical contact with infect matter or fluids. It isn't airborne.

This looks like racism coming into play. Obama is black, Nigeria is also an African country. And what does it have to do with Obama?

Is he an expect on medical issues or is something for him to leave to the experts health issues are delegated to decide? And to think that you only signed on make this comment.

Don't let your fears let your behaviour degenerate into panic and racism.

</comment></comment><comment><USER14> Can anyone give me an idea on what would happen if Ebola ever did get airborne?

I know that its high mortality rate is a massive curb on its ability to spread, but is that enough to put a dampener on spread if it became more easily transmittable?

<comment><USER15> I don't think that is a thing that is really in the realm of possibility. We should probably be more concerend about a strain of the flu becoming deadlier.

<comment><USER14> How would the world cope with a Spanish Flu like situation in 2014?

<comment><USER16> Badly. We can't cut of international commerce, the world would starve. We can't cut of international travel, the world would starve and there would be a ton of riots.

If the outbreak is localized then we may have a change of putting a quarantine on the area, but I doubt it.

<comment><USER17> I would assume that all first world countries have stored food/medicine/oil/etc. for emergencies. At least Finland keeps enough for six months consumption (was 12 previously, but with the current economic troubles it was dropped to 6 a few months ago). Of course that wouldn't include all the luxuries, but enough to keep people alive and the important industries running. And I suppose there would still be trade with countries that are known to be safe.

<comment><USER18> That would be an incorrect assumption in regards to the existence of medical stockpiles in all first world countries.

For example the closest thing to a medical stockpile in the United States would be the current inventory on hand and what the public or private sector has stockpiled for its own limited audience.

Perhaps there are exceptions for certain medications, but requiring 6-12 month stockpiles of certain medications tastes of corporatism.</comment></comment></comment></comment></comment></comment>


The NSA was spying on a company, which it had accused for spying on the US - <AUTHOR> http://techgeekforever.wordpress.com/2014/03/23/snowden-documents-reveal-that-nsa-was-spying-on-huawei/

<comment><AUTHOR> Twisted story, isn't it?</comment>


McFly – Flux Architecture Made Easy - <AUTHOR> https://github.com/kenwheeler/mcfly

<comment><USER2> I wish someone would create a large Flux/Reflux demo app. I love the "one-way data flow" model and the patterns established by Flux/Reflux, but I feel like I would really benefit from seeing a large, complex application where stores depend on stores (or keep state independently?) etc. The example ToDo apps everyone publishes are too trivial to really gain an understanding of how to apply the patterns.

<comment><USER3> We were in a similar spot. Our startup is building a relatively large flux app. We interviewed Ian Obermiller of FB on a lot of the concerns of a large app. You can find a lot of answers to tough questions in our transcript: [http://ianobermiller.com/blog/2014/09/15/react-and-flux- inte...](http://ianobermiller.com/blog/2014/09/15/react-and-flux-interview/)

<comment><USER4> Awesome, thank you so much for this.

</comment></comment></comment><comment><USER5> How is this different from reflux? [https://github.com/spoike/refluxjs](https://github.com/spoike/refluxjs)

<comment><USER6> So McFly is basically pure Facebook Flux. I even use their Dispatcher. What I'm doing is creating a helper factory to DRY-up some of the Stores and Actions boilerplate code, because in the examples they are freeform and not instances of any object. So the answer to the question is essentially:

[https://github.com/spoike/refluxjs#differences-with- flux](https://github.com/spoike/refluxjs#differences-with-flux)

<comment><USER5> Did you use reflux before writing McFly?

I like reflux but I'm worried it may be leading me astray from the core principles that make the flux architecture so useful. It's one of those things you can't be sure of until the app grows complex enough to start running into edge cases (such as waitFor and the single dispatcher, separation of actions from action creators, keeping async code out of stores, etc).

<comment><USER6> I did, and it's really cool, but I felt the same way. So I wanted to bridge the gap.

</comment></comment></comment></comment><comment><USER7> Question about the Flux pattern in general, why is a dispatcher/store more desirable than an observable model? The biggest difference I see is a component can add or delete an object with no knowledge of a store just the global dispatcher, but why not just have a static method on a traditional model for adding and deleting?

<comment><USER6> I think the biggest difference is that Stores don't necessarily contain just one object. They are state containers, so where with a Model you would have singular object based static methods, in a Store you could have methods to manipulate or return any of the objects it contains.

<comment><USER7> Fair enough, but why coordinate Store actions through a Dispatcher? Is there much to gain over just calling a method on the Store?

<comment><USER8> For me, the gain is that you can track all interactions in a single spot. If stores trigger updates on each other, you end up with a web of dependencies that take a long time to trace through when making changes or debugging.

</comment></comment></comment></comment><comment><USER9> I'm liking how there are new projects popping up who all implement the flux pattern, but do so in different ways. I haven't looked into how this differs from something like fluxxor, but the example looks simple and easy to use. My one grip with the jsfiddle is a nitpicky one: that the McFly object is being given the Flux name... that could be confusing for people who are looking at this and also using the flux library from facebook (which has a different API).

<comment><USER6> Sorry about that. I was kind of at a loss for what to call the new instance.

<comment><USER9> How about mcfly? :D

<comment><USER6> Hah. In my own projects I've been cameling it like var mcFly = new McFly()

</comment></comment></comment></comment><comment><USER10> I still don't understand why developers want this over something more simplistic like this: [http://jsfiddle.net/quje39qa/1/](http://jsfiddle.net/quje39qa/1/) \- Am I alone in thiking JS frameworks are not the future?

<comment><USER11> The to-do app is just an example, an over-simplistic one, but if you ever try to write any large-ish app using the jQuery approach you'll get your answer.

<comment><USER12> I agree with you, but to be fair it is possible to build a large jQuery-only application and be successful. You'd just end up re-inventing a lot of things that a framework could have given you, or writing a lot more code. You'd also have to impose strict guidelines for your developers, since there'd be no "established" way of doing certain things (the first time round).

<comment><USER13> That's why React is brilliant, since it's really simple and scales well.

<comment><USER12> In association with Flux I assume you mean?

<comment><USER14> React can be used without a Flux-like architecture. It can also be integrated in a MV* application, see Backbone React Component[1] for example that uses Backbone Model for rendering React components.

[1] [https://github.com/magalhas/backbone-react- component](https://github.com/magalhas/backbone-react-component)

<comment><USER15> Couldn't we say any view layer "scales well" when integrated other architectures?

<comment><USER16> No. Some view layers require you to specify a lot more of the state transition code and may be more heavily integrated with the rest of your architecture (like the way you do data binding, etc). Because React transparently updates state by simply re-rendering components, you can keep it very cleanly decoupled from the rest of your architecture. There are other frameworks that accomplish similar tasks, but I've found that none come quite so close to having zero lines of state transition code as React. (In React, most of my state transition code involves visual animations.)

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER17> No project like this ever amounted to anything in the history of The Valley!

<comment><USER4> Its not the project, but the ease in which it enables you to understand _the concept_</comment></comment>


Was Yahoo's Logo Ripped From This Creepy 1960′s Mad Magazine Comic? - <AUTHOR> http://startupgrind.com/2012/05/was-yahoos-logo-ripped-from-a-creepy-1960s-mad-magazine-comic-heres-the-proof/

<comment><USER2> Ah, blogs. Accuse someone of stealing from an old magazine, and while you're doing it, take some pictures from that same magazine and slap a huge version of your own logo on them.

</comment><comment><USER3> Yes, because it is the same word, in a serif font, and is in all caps with an exclamation point at the end. There's no way anyone would ever write the word Yahoo that way without seeing it somewhere else first.

Or perhaps we can now rename "Correlation does not imply causation" as the "Yahoo! Fallacy".

</comment><comment><USER4> If it were, would it matter?</comment>