Affinity Designer: A Love Story - <AUTHOR> https://design.infinum.com/case/affinity-designer-a-love-story <comment><USER2> Affinity Designer is an excellent piece of professional creative software, but Serif's business model is broken.

They've erred on the other end of the spectrum from Adobe. Rather than get greedy and force users into renting their software as Adobe has, they've tried to stretch out a very low price of entry into a multi-year series of free updates – and it's not working.

I paid a mere $50 for Affinity Designer half a decade ago. While it's seen some valuable updates since then, the core promise of an Illustrator killer remains out of reach: Key features like blends, pattern brushes, distortion envelopes, and more have sat on the 1.x roadmap for years, and the marquee feature of 1.8, released a few weeks ago, was a years-in-the-making _bugfix for the expand stroke feature_.

I _want_ to give Serif more money so they can bring Designer up to speed with Illustrator, as fifty dollars every 5+ years clearly doesn't support the kind of development effort this requires. I don't want to _subscribe_ to Designer either, but there are other proven models: Look at Sketch, which has an optional, annual upgrade program, and has shipped vastly more functionality than Designer has in the same time period.

My criticism isn't entirely fair as Serif has also been occupied with launching Photo and Publisher during this time, but there's no escaping the conclusion that Designer has stagnated. I really hope the company finds the right course correction that keeps the Affinity range affordable while sustainably funding development.

<comment><USER3> I don't think their business model is broken, I think your expectations are wrong.

Clearly it will be insanely hard to compete with Illustrator. It's a brand name and industry standard.

But if you can convince enough people that they can get a pretty good approximation of Illustrator for a fraction of the price (and you adjust your rate of shipping features accordingly), that can be a great business model.

<comment><USER4> If you go for the volume licensing deal, that is an annual subscription, and it works out at about £13 per year per licence.

One company I worked for had one laptop with Creative Cloud shared between an entire department because they couldn't justify getting everyone CC just for occasional use.

When I pointed out what good value Affinity was, they promptly rolled it out for the entire organisation.

</comment></comment></comment><comment><USER5> I moved from Inkscape to Affinity Designer. The interface for Affinity Designer is orders of magnitude better but I do like that Inkscape lets you load + save to SVG files instead of being geared towards a proprietary forward. However, after a while, I kept finding when I would Google "how to X in Affinity Designer" and find a feature I thought was obvious was missing with no plans to implement it.

I ended up switching to Sketch and it's orders of magnitude again better for me. I primarily draw icons, logos and interface mockups. Sketch gives you lots of ways for quickly iterating over lots of mockups that I couldn't find in Affinity Designer so I'm much happier now.

Either way, they're both good for different use cases and both have free trials.

I'm considering Figma now because I don't like being tied to using a Mac and want something that might work on a Chromebook. You can run Inkscape on Chromebooks now but I'm pretty sure sure I can't go back to the interface. Are there any alternatives I haven't considered?

<comment><USER6> Yes! I ran into _exactly_ the same thing with Inkscape, aftering purchasing Affinity thinking that it was going to be the 'pro' version of Inkscape. Now I'm regularly going back to Inkscape for features that Affinity doesn't consider to be important:

1) Auto-trace (come on - I could write this myself, not implemented yet?)

2) Provide option to preserve aspect-ratio in exported SVGs

Makes me wonder whether it's worth the continued investment in learning.

Also, I am not sure 'personas' is the best choice. After trying both, I somewhat prefer Inkscape's single UI which balances the needs of any sort of editing.

I find it quite jarring to go looking for a control for 10 seconds until I realize I'm in the wrong persona. Maybe I just need more practice though.

<comment><USER7> 3) Gradient mesh fill

4) Flexible guide lines for free 3D perspective drawing

5) Things are rasterized, which are for sure supported in SVG or PDF (well done, inkscape)

6) (optional) TeX export

</comment></comment></comment><comment><USER8> I've been using Krita a lot as my Photoshop replacement lately, but I bought both Affinity Photo and Affinity Designer and have been impressed with how much they offer for such a significantly more reasonable price. It's time to tell Adobe "no" to subscription based software.

<comment><USER9> I was always surprised by Adobe's lack of product thinking and software development chops and their revenue and share price (inversely proportional).

All of their products never evolved, very poorly integrated, terrible UX and product design in general, bad software development maturity.

The last one is an educated guess based upon all of the previous points and also Steve Jobs publicly shaming them due to Adobe's inability to react on Flash issues. [1]

Adobe took very long time to react to Sketch software challenge, and the result (Adobe XD)is just about OK, nothing remarkable.

[1] Steve Jobs' open letter:

Thoughts on Flash

[https://www.apple.com/hotnews/thoughts-on- flash/](https://www.apple.com/hotnews/thoughts-on-flash/)

<comment><USER10> Thoughts on Flash is filed with lies. It opens with lies and continues with lies.

Apple denied Abobe access to APIs they needed to make Flash run better on Macs

<comment><USER11> Lies? The main points were; not 'open', which wasn't wrong or a lie; 'full web', again none of the points were incorrect, and hindsight show flash on Androids was a poor user experience. In terms of 'reliability, security and performance', flash was a train wreck - no falsehoods there. It certainly rinsed the 'battery Life' on my Windows laptop at the time. Finally, it clearly wasn't designed with 'touch' based devices in mind.

Jobs last point harks back to the main development platform for the Mac being Metrowerks CodeWarrior for Macintosh. Apple were essentially beholden to a third party with regard to improving their OS, which along with licensing other hardware vendors, nearly put them out of business. Whether you or anyone agree or disagree with his motive, you could see _why_ Jobs didn't want to run that risk again. There is also the elephant that is the App Store in the room, but again, once bitten (retailers not carrying Apple Compatible software), you can understand the decision, without necessarily agreeing with it.

> _Apple denied Abobe access to APIs they needed to make Flash run better on > Macs_

It didn't run particularly well on Windows, Linux or Android either...

<comment><USER10> The SWF spec was completely open, there were multiple Flash players both open source and commercial. So a lie.

Flash was designed, as its very first use case, for touch screen kiosks. So a lie.

Flash Player was perfectly performent, shit code that ran on it is different to the platform. When the first round of HTML 5 demos came out I made my own Flash equivalents, the HTML 5 demos ran at 80% CPU on my machine, the Flash versions ran at 5%.

<comment><USER11> Not really. It was an open spec, but controlled solely by Adobe.

> _Flash was designed, as its very first use case, for touch screen kiosks. So > a lie._

Bullshit. It was originally release By FutureWorks(?) as a vector tool to run on PenPointOS - that failed, so they pivoted to use the core as an animation tool for the web. Macromedia bought it added extra functionality, including 'actions'. Adobe acquired Macromedia, and Flash, in 2006 (if memory serves correct). I remember them stopping development of, the vastly superior to Illustrator (IMHO), Freehand. They release Flex, which you may be confusing with Flash as it was based on it, as a platform for enterprise apps. If there was any kiosk targeted features, they were very definitely and after thought. So no, not lies.

Lastly performance. Annecdata. It ground my laptop to a halt and my desktop sounded like a jet engine taking off. I used quite heavy 3D and cad programs at the time, and even they did hog resources like Flash did. Admittedly, total annecdata. But enough people at the time saw fit to complain about it.

</comment></comment></comment></comment></comment></comment><comment><USER12> I used Affinity Designer as my only design tool for about a year (UI design) from late 2017.

I liked it overall and I liked what Serif has built it around it, even going so far as to offer printed documentation (the Workbooks) and the beautiful Affinity Spotlight website which is a really wonderful website unto itself. And there was the obvious benefit of the low cost and perpetual license.

The featureset was adequate for me and the interface initially won me over.

But I ended up moving away for two main reasons:

1\. It tended to feel sluggish as hell. 2\. Frequent crashes in the middle of work. 3\. Lacking basic productivity capabilities, e.g. no ability to interact with the layers pane (rename, reorder etc.) using the keyboard shortcuts.

I was running it on an i7-7700k with GTX 1080 Ti and yet there was often a perceptible delay between clicking something and the action occurring. Even expanding layers in the layer pane, or double clicking a text field... there was a very small but perceptible delay.

More serious though was (3) especially combined with (1)... little things like tidying up file layers were vastly more time consuming than they should have been.

I was suggested to try Figma and have never looked back. It has keyboard shortcuts for everything and all interactions feel instantaneous... even though it runs within the browser! The first time I used it I was astounded and then made the switch within weeks. Haven't run Affinity in over 18 months and it would take a lot for me to try it again.

I now run a Linux desktop anyway so not really even an option...

</comment><comment><USER13> I switched to Affinity Photo a while ago. It took a little while to get used to it, but I don't miss PS at all now. Granted, I'm not a professional photog, but I've been using PS since it was released.

I also have Designer, and it is quite good...although I don't know enough about Illustrator to be able to compare them.

Adobe has gotten lazy and sloppy. The CC launcher/updater frequently needs to be reinstalled, and PS is slow in quite a few areas. Simple batch resizing photos in PS is a real chore because it only uses a single core. Affinity uses all of them, and the performance difference is pretty stark.

Affinity frequently updates their products with new features. I purchased this product a few years ago and haven't been charged for new releases.

Affinity allows 5 one serial to be installed on 5 machines.

All of their products are for sale for 50% off.

<comment><USER14> I have Affinity Photo, but I find I don't even use Photo for photos at all.

It's usually for manipulating non-photo raster stuff for the web. For photos, I pretty much use DxO (Lightroom equivalent) exclusively.

I have found Lightroom equivalents to have just the right amount of Photoshop functionality that a) lets me do everything I need faster than a dedicated Photoshop type app, b) lets me do that stuff in batches faster.

</comment></comment><comment><USER15> Been using Affinity Photo for a year now. I love it. I feel confident with the tool and can make some pretty cool things. No other tool has made me feel that way. I've spent 10 years on and off using gimp and photoshop. Never could get it. I tried Krita and Pixlr. They were buggy and had shortcomings. Affinity Photo has a great price and absolutely rocks.

One thing I still think is clunky though is the Color Picker Tool. I have to select my paint brush, then click and drag the color picker to the color I want, then click the color I want again to get it on my paint brush. I think other tools simply let me hold alt+click on the color to get that color on my brush. But Affinity is like a 5 step deal which slows me down a lot.

<comment><USER16> I'm a Photo (and Designer) user too, just for casual use. The only features I really miss from GIMP are animated gif editing, a "crop to selection" function, and to a lesser extent a click-and-drag perspective transform. The Affinity forums have helpful information for working around missing features, but it seems like some people there have a weirdly defensive attitude about how there are good reasons for every missing thing...

Designer was a bigger win for me because I've always found the Inkscape UI baffling.

</comment></comment><comment><USER17> I'm an ex Photoshop user - stopped using it when they moved to a subscription model.

I'm an ex Sketch user, because I moved back to Windows (feel that Apple is ripping users off and I can get better choice, quality and performance elsewhere. I don't need shiny and thin and $20 cables that break often).

I like Figma - amazing what the engineering team achieved there. But it's primarily an online app and I'm worried they might get acquired by some of the bigger companies.

I'm now using Affinity Designer and Photo. It does most of the things I need. It has some minor UX annoyances (or maybe my Photoshop muscle memory is not fully overwritten yet).

Maybe I'm one of the dying breed that prefers to have a native app with a perpetual license and the option to choose when to upgrade and being more in control.

I'm not sure whether it's sustainable for Serif to charge $49 for an app. I'd be happy to pay more if it meant they could work on those other things mentioned here by others.

EDIT: typos

</comment><comment> open-source-ux It's worth noting that the Affinity apps are available for both Mac and Windows (in contrast to some Mac-only design tools like Sketch). Overall, I find the UI of the Affinity apps to be...OK. Some tasks feels a bit clunky (but less clunky than Adobe apps). I still recommend the Affinity apps if you are looking for alternatives to Illustrator, Photoshop, or InDesign. But be aware that the Affinity apps are not identical in features to Adobe's apps. The Affinity website has a good showcase of how people are using their apps:

[https://affinityspotlight.com/](https://affinityspotlight.com/)

It's also nice to see some competition against the behemoth that is Adobe. In particular, these smaller, more nimble competitors (Sketch, Affinity, Figma, Procreate) have shown that you don't always have to beat the dominant company in a market, just carve out enough space in the same market to succeed.

</comment><comment><USER18> I didn't even know Affinity had a student discount. I'm not even a graphics designer and I have it for I have it for all my devices. It's great to not have to pay a subscription just to tinker around with Photoshop-level tools, and I am very glad that it exists and is so high-quality.

</comment><comment><USER19> I love the affinity suite. Our entire studio has switched from Adobe to Affinity and we haven't looked back - we're very happy. Latest version of photo supports smart objects so we can now use PSD mockup templates which was the one thing we really missed in the previous version. We do use Sketch for UI work but they have really been dropping the ball lately. We're now running several versions behind in Sketch because of all the bugs and poor UI choices. Might even switch to Affinity designer for all our UI in the near future.

</comment><comment><USER20> after struggling with inkscape for way too long. finally, i downloaded the affinity designer demo, and actually got stuff done. it isn't perfect, splitting/deleting parts of a curve was trickier than illustrator. but overall, very happy. i'm a convert.

</comment><comment><USER21> I wish they had a Lightroom replacement. It is the only thing keeping me shackled to Adobe.

<comment><USER22> Have you tried ON 1 Photo?

<comment><USER21> Trying now. Thanks!

</comment></comment></comment><comment><USER23> the quality and value of both Designer & Photo is exceptional. I got a personal license for both and a 5-pack for work. Not being bound to a SaaS/subscription model was key.

one thing that's odd is that you cannot export to bmp. it's been requested on their forums but continues to be strangely absent.

</comment><comment><USER24> Affinity Designer, Publisher, and Photo are fantastic. I've been using Adobe, Corel and many open-source design tools, in most cases, since version 1. The UI is so smooth in Affinity that I usually finish work in half the time. Affinity's features set, across all three apps, is plenty good enough for professional use. Compatibility with Adobe and other design software is outstanding.

</comment><comment><USER25> The value of being able to collaborate and share on the web in Figma has outweighed any feature of almost any other graphics editor.

</comment><comment><USER26> I quite like Affinity too, but have a small gripe with the company. While they have free online tutorials, they also sell "workbooks" for their software, which seem to be beautiful manuals. Why are users expected to pay for manuals? Shouldn't their PDFs be free downloads?

More generally, why do many tech companies charge for training in using their products? For instance, Google has GCP courses on Coursera, but you have to pay $49 month to access labs. I don't see this practice with physical goods, but we seem to accept with software.

<comment><USER27> > Why are users expected to pay for manuals?

...why shouldn't they? They take extra time/money to create, and not all users will necessarily need them. If a third party wrote a book on Affinity and charged for it, we wouldn't bat an eye. Shouldn't the developer get the same privilege?

<comment><USER28> Manuals and books are different things.

Nobody should be expected to pay for a manual; that's part of the product. An advanced book? Sure.

Look at Resolve: It has an EXTENSIVE (and pretty decent) manual, which costs nothing... and for most users, neither does the product.

<comment><USER27> As GP mentioned, Serif offers free online tutorials. It's just that they also sell additional "workbooks".

</comment></comment></comment></comment><comment><USER29> I've been really impressed with Affinity Designer's features but I've had a lot of problems with the iPad app. It frequently uses up 100% of my disk space for no apparent reason unless I periodically uninstall and reinstall the app -- I found a lot of people in the Affinity Designer forums complaining about this issue since 2018 but it hasn't been fixed.

I ended up having to stop using the iPad app because of the disk space issues and because I kept on losing work because Affinity Designer didn't save reliably.

</comment><comment><USER30> I'm really liking Affinity Designer whenever I've tried it; it does pretty much everything that I use Illustrator for.

I just wish it could properly injest .AI files. It opens them, but only does things with the PDF header part, resulting in a loss of all groupings. Things like long vectors (think trail routes on a hike/bike trail map) become split into LOTS of little pieces.

Affinity Designer is great if you're starting and sticking in it, but moving complex Illustrator docs into it kinda falls apart. :(

<comment><USER14> > I just wish it could properly injest .AI files.

For me, it's the only non-Illustrator app that I tried that didn't mangle them too much (visually speaking). I had tried so many free and non-free (but inexpensive) apps on Mac and Windows that would have so many problems with .ai files. Once I would load them into an app, the would look nothing like I expected them to. My use case for .ai files is usually to simply convert them to svg or emf to be able to insert them into documents.

Thankfully I didn't have a need to edit them, because it sounds a little nightmarish from your experience.

<comment><USER30> That's very true and a good point. It does load them fine, and they are usable. Just... Not good for editing.

For a specific example, check out this: [http://www.cramba.org/storage/maps/pontiaclake/CRAMBA_Pontia...](http://www.cramba.org/storage/maps/pontiaclake/CRAMBA_Pontiac_Lake_17-Jun-2014.pdf)

In the original .AI the main mountain bike trail loop is a single path. Makes it nice and easy to work on. Bring it into Designer and I think it became dozens of really small ones?

I'd really like to move to a Designer workflow because AI is so expensive for the no-pay volunteer work that I do making these maps, but the up-front work of that would be tremendous. So for now... I just can't.

</comment></comment></comment><comment><USER31> I used to design for print media as well as for web, and I can say that Affinity Designer does both really well. So it's more than just an Adobe XD, Sketch or Figma replacement (web UI design).

For more than a year now, I no longer need to use my old Illustrator license that I bought just before Adobe went cloud-only. Really impressed. And it's going to be a no-brainer for me to get an Affinity Publisher license as well, when I'll need to do multi-page print documents.

</comment><comment><USER32> I'm using Gravit Designer and Photpea for a few years now.

They're free and run in the browser. But I'm not doing much design work. Just shirt and badges.

</comment><comment><USER33> I love Photo but the lack of group isolation in Designer is a total deal breaker for me.

Working with groups is still a nightmare even after years of demands by users for this feature.

See this thread started in 2014: [https://forum.affinity.serif.com/index.php?/topic/1640-ad- is...](https://forum.affinity.serif.com/index.php?/topic/1640-ad-isolation- mode/)

</comment><comment><USER34> I'm Paint Shop Pro refugee. I started using PSP back when it was developed by Jasc. Then I bought several versions of Corel's iteration of PSP, but the quality went down quite noticeably.

Affinity series is awesome. I bought their Photo last year, and today - they're running a sale - got the Designer. Very nice product!

</comment><comment><USER35> My friend was selling me on affinity recently. They have a 50% off sale going on with their products right now, and they have 90 day demos to try it.

Definitely will have a learning curve for someone that has only used paint.net, but will be nice when I need to do the occasion graphics work for personal projects.

</comment><comment><USER4> Affinity Publisher is great too. If you have the other apps, being able to edit assets by instantly switching into Designer or Photo mode and having access to all the relevant tools is amazing. Saves so much time round-tripping between apps.

Amazed Adobe hadn't done something similar a long time ago.

</comment><comment><USER36> Any Sketch-to-Designer converts here that could recommend the switch? I've been using an old standalone license of Sketch and refuse to upgrade to their subscription model.

Things you like, things you miss, etc.

</comment><comment><USER37> I love it too, but I find it a little weird I need the Photo app to use the magic "remove object" tool. Otherwise Designer seems to have everything I want.

</comment><comment><USER38> Is it correct that I can just buy their products and own them? No online activation, no telemetry, no license checks?</comment>


Client-side webapp SEO tool that handles server-side rendering - <AUTHOR> http://escapedfragment.io/blog/2015-09-15-looking-for-testers/ <comment><AUTHOR> Hi HN, this is the first time we're sharing this with the world, after we've been working with it internally for a few months. We're really excited about the problem it solves and we hope you are too.

If you have any comments/questions about the product or what we're offering in this test be sure to let us know!</comment>


OST or Theme Songs Suggestions? - <AUTHOR> <comment><AUTHOR> Here are some from my side :

\- TVF PITCHERES SONG-THE RELEVANT SOUND : [https://www.youtube.com/watch?v=bvEG3Ac1qHg](https://www.youtube.com/watch?v=bvEG3Ac1qHg)

\- Lord of the Rings : [https://www.youtube.com/watch?v=QPJT12-wrCY](https://www.youtube.com/watch?v=QPJT12-wrCY)

\- Hans Zimmer - Time (Inception) : [https://www.youtube.com/watch?v=RxabLA7UQ9k](https://www.youtube.com/watch?v=RxabLA7UQ9k)

\- Interstellar Main Theme - Soundtrack by Hans Zimmer : [https://www.youtube.com/watch?v=UDVtMYqUAyw](https://www.youtube.com/watch?v=UDVtMYqUAyw)

\- IP man : [https://www.youtube.com/watch?v=tMk4RP-q6e8](https://www.youtube.com/watch?v=tMk4RP-q6e8)

</comment><comment><USER2> \- The "Esper Edition" of the Blade Runner soundtrack, by Vangelis et al., is a must: [https://www.youtube.com/watch?v=SQFRtbDK9Yk](https://www.youtube.com/watch?v=SQFRtbDK9Yk)

\- The classic horror movies made by Hammer Films had terrific soundtracks, James bernard's being my favorites: [https://www.youtube.com/watch?v=isG3-rQqxZA&list=PLs3T-t417Y...](https://www.youtube.com/watch?v=isG3-rQqxZA&list=PLs3T-t417YhSZSUSAIDgcLjvhE4h2n1Vl)

\- David Lynch's Twin Peaks, by Angelo Badalamenti: [https://www.youtube.com/watch?v=wDbSYAJ9Tvw](https://www.youtube.com/watch?v=wDbSYAJ9Tvw)

\- Everything and anything by Bernard Hermann: [https://www.youtube.com/watch?v=Owm8RkA3FtA](https://www.youtube.com/watch?v=Owm8RkA3FtA)

\- I'm not sure if it ever received a proper release but the Hannibal TV show's soundtrack, by Brian Reitzell, is highly regarded for, IMO, good reasons.

\- David Lynch's Dune, by Toto and Brian Eno: [https://www.youtube.com/watch?v=NMnM1Qww2xs](https://www.youtube.com/watch?v=NMnM1Qww2xs)

\- Goblin's horror soundtracks: [https://www.youtube.com/watch?v=zQejiArD608](https://www.youtube.com/watch?v=zQejiArD608)

\- John Carpenter wrote the soundtrack of most of his films himself. My personal favorites are The Fog: [https://www.youtube.com/watch?v=zKGzUxH9GyQ](https://www.youtube.com/watch?v=zKGzUxH9GyQ) and Christine: [https://www.youtube.com/watch?v=TEwN1-Gaj5s](https://www.youtube.com/watch?v=TEwN1-Gaj5s)

\- John Schlesinger's Marathon Man, by Michael small: [https://www.youtube.com/watch?v=eh8osZAYTjo](https://www.youtube.com/watch?v=eh8osZAYTjo)

\- Classic Godzilla soundtracks by Akira Ifukube et al.: [https://www.youtube.com/watch?v=q3FnS6lx- Ds](https://www.youtube.com/watch?v=q3FnS6lx-Ds)

\- David Cronenberg's The Naked Lunch, by Howard Shore with Ornette Coleman: [https://www.youtube.com/watch?v=eBh_4_i2zLk](https://www.youtube.com/watch?v=eBh_4_i2zLk)</comment>


Top PLC Programming Languages - <AUTHOR> https://medium.com/@rajiayinla858/top-5-plc-programming-languages-edf4de2dc3e4 <comment><USER2> Re: Instruction List

> This gives you immediate access to the machine itself

I have no idea what that is supposed to mean, IL is no more low-level than ST, it's just another interpreted representation.

If somebody wants to know the main difference between PLC programming languages (and this is all about superficial syntax):

FUP is a sequence of essentially very simple flow charts that connect "function blocks".

IL looks like Assembler. You have registers and load and store instructions.

ST looks like Pascal. It has simple control structures like loops and checks.

LD is like an electrical plan (and for good reason, it is targetted at electricians who "don't know about that new-fangled computer stuff").</comment>


Hacking Hack with Docker - <AUTHOR> http://www.centurylinklabs.com/hacking-hack-with-docker/

<comment><USER2> One question: What is centurylinklabs.com ?

There is an about page but it tells me nothing.

<comment><USER3> Century Link is a big ISP...thing. Savvis is part of it and they apparently resell things like Verizon and Comcast. The labs seem to support their hosting business.

</comment></comment><comment><USER4> > The Hack programming language is the new hotness. Now that Facebook uses it > for basically everything, every new startup is wondering if they should > start using it too.

no</comment>


Ask HN: Can one sue platforms like Reddit or Quora for plagiarizing? - <AUTHOR>

Can one sue and win against platforms like Reddit or Quora for plagiarism and copyright infringement?
Many users of these platforms, blatantly plagiarize ideas or   Original work without giving due credit to source.
Example https://www.quora.com/What-are-some-psychological-tricks-that-everyone-should-know/answer/Nikunj-Kothari-1
It was copied from
http://www.esquire.co.uk/culture/article/6300/14-simple-bits-of-psychology-everyone-should-know/
But there was no source link given in the answer, after repeated suggestion user finally added source link. This is just one example. There are many such answers, where users use stories/articles written by others as their own. <comment><USER2> First, you probably can't sue anyone in the US for plagiarism, because plagiarism isn't a tort.

If all that's been ripped off is an idea, and that idea isn't something like a trade secret they stole from you, you're out of luck.

If Quora is _itself actively publishing_ something that you wrote, which you'd therefore have copyright to, then the DMCA does not necessarily immunize them from suit. DMCA safe harbor applies only if the provider lacks "red-flag knowledge" of infringement. If they themselves infringe, like Kim Schmitz did at MegaUpload, then they are S.O.L.

Of course, you're not going to make any money suing Quora over a single post.

</comment><comment><USER3> Ignore this plagiarism thing. It's legally irrelevant.

If the content if yours or you represent it or the owners, and it hasn't been licensed appropriately, and it's in an applicable applies jurisdiction, you could file a DMCA takedown notice to the site it is hosted on at their abuse handling contact address. If they ignore this, they lose safe harbour. If they challenge it, you sue them. If they take it down, that's done.

In addition to the DMCA, regardless of how that's handled you can also sue them for copyright infringement to recoup lost earnings. Who knows how far you'll get there.

If the content isn't yours (or represented by you) there are no legal actions you can legally take. You could fraudulently fill out a DMCA but that's going to get you sued. It's probably also a criminal action if done wilfully.

\---

If however, you're just a Quora user, it's probably against the terms and conditions to copy content wholesale (especially if it's incompatible with their submission license)... You could report the post directly to them so that they can deal with it internally before anything happens externally.

</comment><comment><USER4> One can sue anyone at any time for anything. I presume what you're really asking is, can you sue and win? We need a lawyer to chime in here. There's a doctrine of "fair use" to consider, but beyond that there's simply the concept of free exchange of ideas -- do people own ideas?

Plagiarism, in a narrow legal sense, is mostly a matter of copyright violation. But again, I sense that your question is larger than that. Is it?

Perhaps you can cite a well-known example in order to make the discussion more concrete?

Not trying to downplay the legitimacy of your question at all. I think it needs to be discussed.

<comment><USER5> I posted the question on lawyeritis.com with a link here, maybe a lawyer will give us an answer. But an example could definitely help.

</comment></comment><comment><USER6> I'm not a lawyer, but in general, I think the answer is no. The DMCA protects online service providers from being liable for things their users do. Additionally, plagiarism itself is not crime or legal offense; instead you'd be most likely looking at some sort of copyright violation.

It sounds like you have a specific situation and you're looking to sue someone, in which case more information about the issue you're having would be helpful.

</comment><comment><AUTHOR> I am not looking to make money..... I feel these platforms should inbuilt tools to detect plagiarism, instead of relying on other users to report it.

<comment><USER7> Yep, and now Youtube has this wonderful technology called Content ID. Thanks a lot.

<comment><USER8> Can you do all the hard work and I use whatever it is to make money or get credit? Because this is what happens when you allow plagerism.

the interesting thing is hat if we were talking about gnu license violations, the offender would be called a thief (which has happened numerous times here on HN)</comment></comment></comment>


Can You Still Become a Quant in Your Thirties? - <AUTHOR> http://www.quantstart.com/articles/Can-You-Still-Become-a-Quant-in-Your-Thirties

<comment><USER2> Hmm.. the only profession I can think of where being in your thirties is a disadvantage is some form of sports.</comment>


Want to succeed? Try failing - <AUTHOR> http://entrepreneur.venturebeat.com/2010/02/05/want-to-succeed-try-failing/

<comment><USER2> Cue a rebutting (but not admitting that's what it is) 37signals blog post in 5.. 4.. 3..

Seriously, though, I think the message is more that you should take bigger risks and push yourself further into an area where failure is quite likely.. rather than to _merely_ try to fail ;-)

</comment><comment><USER3> Sorry I may be too dense. But, what is the point of failure, if not to learn a lesson and succeed eventually. He seems to be saying the only time he did not fail (he got a raise) was when he did not enjoy the experience, it was too incremental. So, we should keep failing, and failing. Yes, I am missing the message. This may be acceptable for an academician. But is it acceptable for a businessman. After all he mentions that you feel the disappointment of 250 people and families that depended on you. Are you supposed to make it a habit and enjoy it.

Again, probably, since this is only a segment from the interview, I am not getting the full message.

<comment><USER4> Failure is a given in any innovation industry, therefore to be successful you have to be able to _tolerate_ failure, learn from it and move on - not have it be the end of one's career- otherwise nobody will be willing to take on the risk of failure required for success. You can learn from the failures of others, but you never learn as much as from the failures you experience personally.

</comment></comment><comment><USER5> "The knack of flying is learning how to throw yourself at the ground and miss" \- Douglas Adams, Hitchhiker's Guide to the Galaxy

</comment><comment><USER6> I really don't like this headline. You'll never learn anything if you _try_ to fail. Failure should not be a goal.

You are very probably going to fail at some point. It's important not to let the fear of failure prevent you from acting in the first place, and it's important to be able to deal with, accept, and learn from failure.

</comment><comment><USER7> I recall this translation of Singapore-Chinese slang: _scared to lose_ (ke-ya su, phonetically)

Startups are experimentation, and as in science, most experiments are "failures" (quoted, because both positive and negative results of an experiment give you information... if it's well-designed).

</comment><comment><USER8> Read his book "The monk and the riddle". I promise you it will mean a lot and quite possibly change your life.

</comment><comment><USER9> It's about the 150th article to appear on this particular theme here.

<comment><USER10> Thus its importance is inversely proportionate to your reply's score. :)</comment></comment>


Thunberg urges '#DigitalStrike' rather than big crowds amid coronavirus outbreak - <AUTHOR> https://thehill.com/policy/energy-environment/486977-greta-thunberg-urges-digitalstrike-rather-than-big-crowds-amid <comment><USER2> I'm wondering what that entails precisely to have a measurable impact. Social media and refraining from certain purchases? Organizing for future direct actions in a few months?</comment>


If You Want to Support Hong Kong - <AUTHOR> https://www.naut.ca/blog/2019/09/02/if-you-want-to-support-hong-kong/ <comment><USER2> ... then upvote this post?</comment>


Boston Dynamics Spot SDK Repo - <AUTHOR> https://github.com/boston-dynamics/spot-sdk <comment><USER2> "(c) The SDK Software is licensed solely and exclusively for use with products offered for sale by Boston Dynamics, Inc. ("BD Products"). Use of the SDK Software with simulators and emulators is not prohibited so long as it is a software based simulation / emulation. Use with any other hardware is strictly prohibited."

No thanks

</comment><comment><USER3> Adam Savage's channel just put up a great video on a Spot he received.

<comment><USER4> Here is the link for anyone else that wants to watch it

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

</comment></comment><comment><USER5> I think Boston Dynamics is the closest to making robots that could actually be useful in real life situations. I would love to develop code for one of these.

<comment><USER6> There are a number of robotics companies (Savioke, Fetch Robotics, Bear Robotics, MiR, to name a few) that are producing robots that are currently doing work in the real world. I will fully grant that those all require in- advance mapping and fairly level floors, but to me that can fit "real life situations".

Note: I have worked at one of those, and got an offer at another.

<comment><USER7> But do you see the difference between Boston Dynamics (BD) and {Savioke, Fetch Robotics, Bear Robotics, MiR} ?

BD's robots move using limbs while others use small-er wheels which limits the terrains these robots can be used in.

</comment></comment></comment><comment><USER8> Is there a spot simulator that can run this code?

<comment><USER9> If there isn't one called cspotrun, I'm going to be seriously disappointed with their development team.

</comment></comment><comment><USER10> Anyone know roughly what one of these cost?

<comment><USER11> You can only lease Spot, and the cost is roughly around the monthly cost of a luxury car lease. You're also prohibited in the lease agreement from attaching anything to a hard point that is solely designed to cause human harm (weapons of any sort).

<comment><USER12> Funny, the first thought that came to mind about the hardpoint system was that it would be trivial to attach a weapon.

<comment><USER13> My first though was attach pistol to top of it, just so it looks comically menacing.</comment></comment></comment></comment>


Will superintelligence emerge on the Web? - <AUTHOR> http://www.kurzweilai.net/meme/frame.html?main=/articles/art0629.html <comment><USER2> "What could be a better mark of irreversible acceptance [of the Internet] than adoption by the Amish? I was visiting some Amish farmers recently. They fit the archetype perfectly: straw hats, scraggly beards, wives with bonnets, no electricity, no phones or TVs, horse and buggy outside. They have an undeserved reputation for resisting all technology, when actually they are just very late adopters. Still, I was amazed to hear them mention their Web sites."

I certainly hadn't considered the Amish as late adopters.</comment>


The Key to Autonomous Driving? An Impossibly Perfect Map - <AUTHOR> https://www.wsj.com/articles/the-key-to-autonomous-driving-an-impossibly-perfect-map-1539259260 <comment><AUTHOR> [https://outline.com/jLs3rf](https://outline.com/jLs3rf)</comment>


React Fire: Modernizing React DOM - <AUTHOR> https://github.com/facebook/react/issues/13525 <comment><USER4> I love the react team for what they're doing here, but I have a feeling that the className -> class change would be a huge mistake. It makes it so that the ({ class }) => ... syntax would no longer work since it's a reserved keyword. A simple find and replace is not going to work and a pretty sophisticated code mod would be required, and even then it still means convenient practical uses like the syntax mentioned above would never be possible.

It also brings up significant package compatibility issues, if even a single package I use uses className I can't upgrade React, if a single one uses class I can't upgrade it. I'd rather not deal with a Python 2 -> 3 situation in React.

<comment><USER5> No reason this couldn't be backwards compatible...

<comment><USER6> > Note we can't just allow both without warnings because this makes it very > difficult for a component ecosystem to handle. Each component would need to > learn to handle both correctly, and there is a risk of them conflicting. > Since many components process className (for example by appending to it), > it's too error-prone.

Unless you meant that there's no reason the code mod they release won't work - I agree with that.

</comment></comment></comment><comment><USER7> I find it quite interesting how much of the public face of React that Dan Abramov has become. I really like the openness with which he speaks via his blog, but it feels like all the important React announcements come through him and I'm sure there must be some other very senior FB developers who created React before he arrived who might not be so happy.

<comment><USER8> We generally post on our blog when something is _ready_. Blog has to be very high signal/noise ratio so we don't announce something that might be experimental or has a risk of changing significantly there. Because it creates a lot of churn.

Announcements about work in progress (which might be interesting to spectators but doesn't affect anyone's day-to-day usage of React) typically comes from people working on those things.

So you might hear from Brian ([https://mobile.twitter.com/brian_d_vaughn](https://mobile.twitter.com/brian_d_vaughn)) on the Profiler work he's been doing, or from Andrew ([https://mobile.twitter.com/acdlite](https://mobile.twitter.com/acdlite)) on scheduling.

I happen to have a large following so I understand why it seems like I'm the only one "announcing" things. Twitter also amplifies it so it kinda feels that way. I encourage you to follow all folks who are currently on our team (see links e.g. in [https://wpcouple.com/interview-react-team-facebook- wordpress...](https://wpcouple.com/interview-react-team-facebook-wordpress- gutenberg/)).

And keep in mind that announcements directly from me that aren't on React blog/twitter are just that -- things that keep me busy. They're not things you need to know as a React user. When there's something ready that you need to know, the information will be on one of the official sources:

* [https://reactjs.org/blog/](https://reactjs.org/blog/)

* [https://mobile.twitter.com/reactjs](https://mobile.twitter.com/reactjs)

Hope this makes sense!

P.S. I'm trying to not mis-represent my role. I do happen to be a "developer advocate" of sort because I enjoy that kind of work in addition to programming. As far as I know my team is supportive of that. Sometimes I make mistakes and they point it out. AFAIK Jordan (who created React) and past contributors also don't mind my active presence. Jordan is currently busy with Reason — you might want to check that out!

<comment><USER9> This may be the wrong place, but in response about being a "developer advocate" what about other react projects? react-document-title has a few pull requests without any feedback, I've personally been sidelined since Februrary [https://github.com/gaearon/react-document- title/pull/53](https://github.com/gaearon/react-document-title/pull/53) when I made a pull request to avoid having to wrap multiple children in a React.Fragment that's child to a DocumentTitle

Maybe my PR was too drastic, I could've just removed the call to React.Children.only

<comment><USER9> A reflection: here is someone who's a bit lost on which channels should be used, is looking for feedback, & has in response been struck by the silent disapproval of HN. A sarcastic quip: Thanks for giving some tangible direction on what the correct social behaviors are here

</comment></comment></comment></comment><comment><USER10> So, I've only used react indirectly via Clojurescript and [https://github.com/tonsky/rum](https://github.com/tonsky/rum) for a personal project... I don't spend much time in the front-end otherwise, but every time I read something about using React from JS as one would regularly it feels much, much more complicated. I.e. I just write functions that return hiccup- html lists, and @decorate a cursor into my immutable state structure for reactive updates, and that's pretty much all there is to it, apart from a few event handlers and decorations to do special DOM pre/post wrangling for odd cases.

Could someone having experience with Rum or other Clojurescript React bindings, but a better understanding of React coming from more JS like languages chime in with their experience?

<comment><USER11> I'm just getting my feet wet with react - but my impression from various blog posts and a bit of coding - is that in the beginning there was reasonml (ocaml dialect - mostly (but not only) targeting compilation to js target) - <USER2> react sort of "fell out" as a set of patterns/framework from doing functional programming of dom/gui/state.

And react for js, ("react") is those patterns + patterns for js to make everything (sort of) work without as solid a language to steer one away from various cliffs.

Which is one reason why I don't quite understand why there are class based components at all.

At any rate - my current goal is to try some reasonml+react - and I think it'll feel better. And I'm not surprised cs+react feels more sane than js+react.

<comment><USER12> > Which is one reason why I don't quite understand why there are class based > components at all.

Classes in js are just syntax sugar, so even if you're writing classes you're still actually writing function prototypes. As such there's little reason not to support them, and they're very welcome when you have a team of developers that are adapting to modern js development almost exclusively from traditional OO languages.

<comment><USER11> Hm. I might have to have another look at the implementation of classes in js. I still don't see the benefit of the syntax - but if it really amounts to just convoluted closures over variables, I guess I'll view them with a little less grumpiness :)

</comment></comment></comment></comment><comment><USER13> I helped with one of the core issues being addressed (the "value" attribute)[0]. At the time, it looked like a small "beginner" issue, but clearly was touching on some important design decisions. I am glad to see the core team take a fresh look at these decisions and using this time to clear out technical debt. This maturity is certainly good for React.

[0] [https://github.com/facebook/react/pull/6406](https://github.com/facebook/react/pull/6406)

<comment><USER8> Thanks! We appreciate any help. When doing changes to a part that interfaces with a platform API it's often difficult to forecast what will work out and what wouldn't. I actually made a spreadsheet a few days ago to track all merged PRs that were relevant, and which issues they fixed and broke. Only after that it became clearer in retrospect some decisions didn't really pan out and we need to walk back on them.

</comment></comment><comment><USER14> I recently went through a framework selection between React, Vue and Angular. I ended up with React for reasons typified by this post. There is a massive community and a great dev team (Facebook) interested in evolving and improving React over time.

<comment><USER15> We use Angular a little bit at work, and I've been meaning to try Vue or React, but every time I start to setup the tooling, I get this sense of fatigue that's hard to describe. I feel like I have to throw away my Angular investment and start from scratch again. So, I continue to stick with Angular, which doesn't seem too bad.

On a side note, why is Angular CLI so big (71 MB)? Seems like I could write a couple hundred kilobyte python script that does the same thing (or maybe I'm only using like 10% of its features, idk).

<comment><USER16> You're asking about `angular-cli`, but I see the same question all the time in regards to Create-React-App. I'll paste in my standard answer on that topic:

The set of dependencies that CRA uses includes:

\- A compiler

\- A bundler/linker

\- An optimizing minifier

\- A linter

\- A development server with live reloading

\- A test runner

All of those are isolated and scoped to that one project, and they are all build-time dependencies only. It's also important to understand that Javascript packages are effectively distributed as source, which affects the number of files on disk. (Granted, many NPM packages do include unnecessary files in the published artifacts, but Javascript itself is a major factor there.)

Meanwhile, XCode is supposedly something like 8GB installed, Visual Studio is multiple gigs, and if you were to look at the actual file size on disk of any C++ compiler toolchain, that would be a minimum of several dozen megs - <USER3> are just usually preinstalled on Linux or Mac systems.

So, context is pretty important here. 70MB for a complete JS build toolchain is perfectly fine :)

<comment><USER17> For context CRA is 160 MB ish with all dependencies installed.

</comment></comment></comment></comment><comment><USER18> I want to say Great work, even if it's not done yet.

The react team obviously works well together, the vision is here and as an engineer who's been doing frontend work for 15 years (using flex, vanillaJS, various home-made frameworks, backbone, knockout, angular, etc) let me tell you I've never seen another framework/library come half way close to React.

By the way, why not use this big, breaking release to start offering another way to write stateful components from functions? (ES6 classes, prototypes and anything that forces me to use "this" are still part of the very bad parts of JS, imo)

<comment><USER16> Because there's only so much the React team can tackle at once :)

Yes, they've said several times they want to introduce a "stateful functional components" API, but based on comments I've seen, that's probably still about a year or so off.

</comment></comment><comment><USER19> It's disappointing to see no mention of fixing the broken assumptions that lead to difficulties working with Custom Elements, like not being able to set properties from JSX: [https://github.com/facebook/react/issues/11347](https://github.com/facebook/react/issues/11347)

React is from an era where you could assume a relative static, closed-world, set of built-in DOM elements, with largely attribute and children-based configuration. Now we have open-world set of user-defined elements, and Layered APIs like <virtual-scroller>, that have rich property and method-based APIs. And it seems they will still be difficult to use from React.

<comment><USER16> Note that Dan specifically said:

> At this stage, the project is very exploratory. We don't know for sure if > all of the above things will pan out. .... If there's some area you're > particularly interested in, please let me know and we'll work it out.

So, I'd keep an eye on the discussions and bring this up as something that could be worked on as part of the overall effort.

<comment><USER19> They're quite aware of this issue.

<comment><USER8> To be honest — as I was writing this a few hours ago custom elements slipped out of my mind, but it's something we'd like to fix too. It would make sense to do as part of this effort so we'll keep this in mind.

</comment></comment></comment></comment><comment><USER20> `className` to `class` is a bad decision.

React is a very thin layer on top of JS. `className` _is_ JS. Specifically, it comes directly from DOM APIs. Changing it to `class` (while retaining all other DOM API-compatible prop names) is a really terrible decision that relies on "the wisdom of the crowds".

<comment><USER21> It's JS, but not HTML.

And most of the time you see it you're making JSX elements, where you would expect to use the word 'class'.

I think they're right it's more consistent with what people would expect to happen.

The fact there is a special note in the docs calling out that everyone gets it wrong is a sign it was a problematic choice.

<comment><USER22> JSX attributes aren't HTML attributes. One way you can tell is because they don't have any namespace whatsoever.

Similarly when you add a style to an element you don't get to use `background- color` for instance, it's `backgroundColor`. Yet they're not revisiting that decision, even though it's exactly the same, i.e. `background-color` can't be used to to a JS syntax conflict.

It seems arbitrary to make JSX attributes pertaining to a DOM that don't have a namespace match XML attributes in a markup language... while not at the same time doing the same to the CSS object model property names for instance.

<comment><USER23> The backgroundColor vs background-color thing has nothing to do with React.

That is more JSS which is one attempt at CSS-in-JSS. The removed hyphen is needed because JSS requires property names as object property names where hyphens can be problematic.

Other CSS-in-JSS libraries, such as emotion.sh, has support for CSS (vs JSS above) inside of JS, including React components, and can keep default CSS syntax. Example from the emotion.sh homepage:

      const Link = styled.a`
        min-width: 12rem;
        margin: 0 auto 20px;
        padding: ${props => props.primary ? 18 : 16}px;
        border-radius: 5px;
        text-decoration: none;
        border: ${props =>
          props.primary ? 'none' : '3px solid currentColor'};
        background: ${props =>
          props.primary &&
          'linear-gradient(90deg, #D26AC2, #46C9E5)'};
        color: ${props =>
          props.primary ? '#1D2029' : '#D26AC2'};
        &:hover {
          opacity: 0.95;
        }
        @media (min-width: 768px) {
          margin: 0 20px 0 0;
          &:last-child {
            margin: 0;
          }
        }
      `

If you notice variables and props are available via string interpolation. emotion.sh also makes inline styling easier:

      render(
        <div
          className={css`
            background-color: hotpink;
            &:hover {
              color: ${color};
            }
          `}>
          This has a hotpink background.
        </div>
      )

[edited for formatting and word choice]

<comment><USER22> JSS? `<div style={{backgroundColor: 'black'}} />` is standard React / ReactDOM.

> The backgroundColor vs background-color thing has nothing to do with React.

You're right, but it absolutely has to do with ReactDOM which is being discussed here.

Which, btw, is called ReactDOM not ReactHTMLandCSSandStuff.

Although reading Dan Abramov's further comment ReactDOM is a bit of a misnomer, but from an API perspective it's definitely more DOM especially with the CSS precedent and lack of XML namespaces vs. the `aria` attributes being the only major evidence to the contrary. I mean, sure it only sets `x` properties directly, but as an end user of the library what do I care about the internal implementation?

Edit: A new `classList` property that accepts an array would be nice as that way anyone using `className` has a superior API to migrate to and stay away from this change entirely. It's not like it's setting it directly so just convert to a DOMTokenList on the fly.

<comment><USER23> Oops I totally forgot about inline styling like that without a preprossor. You are correct.

Although it does seem like ReactDOM already does some weird stuff already in regards to vendor prefixing.

</comment></comment></comment></comment></comment></comment><comment><USER24> Can someone with knowledge of the internals of react-native-web estimate the effect of these changes on the project? are other similar projects like ReactXp better immune?

</comment><comment><USER17> "className -> class"

 _grumbles_

 _revises React lecture slides_

<comment><USER25> more grumbles... `const class = foo`

<comment><USER26> ..grumbles..

({ class: className }) => <div class={ className } />

</comment></comment></comment><comment><USER27> className -> class. Finally! Also attaching events on the element rather than documenting. Seems like they are actually listening to devs.

This was one of my reasons for only using Preact. Preact is a lot simpler mental model than react. It's smaller, faster and arguably has less nuances.

</comment><comment><USER28> This is incredibly exciting. I'm glad they're focused on simplifying the model.

</comment><comment><USER29> Relevant: [http://thecodist.com/article/the_programming_steamroller_wai...](http://thecodist.com/article/the_programming_steamroller_waits_for_no_one)

"The Programming Steamroller Waits For No One"

Also:

[https://www.joelonsoftware.com/2002/01/06/fire-and- motion/](https://www.joelonsoftware.com/2002/01/06/fire-and-motion/)

"Fire and Motion"

 _The companies who stumble are the ones who spend too much time reading tea leaves to figure out the future direction of Facebook. People get worried about React and decide to rewrite their whole architecture for React because they think they have to. Facebook is shooting at you, and it's just cover fire so that they can move forward and you can't, because this is how the game is played, Bubby. Are you going to support Saga? Flow? React Native? Are you supporting it because your customers need it, or because someone is firing at you and you feel like you have to respond?_

<comment><USER16> Can you clarify what you're trying to say, specifically with the second link?

The implication I'm getting out of it is that you feel the React team is deliberately reinventing things to force the web dev ecosystem to keep up with them (specifically per the sentence "The competition has no choice but to spend all their time porting and keeping up, time that they can't spend writing new features."). From my perspective, that's not the case at all. In the last couple years, they have:

\- Rewritten React's internal architecture completely based on lessons learned and long-running design goals, giving them a solid foundation to build new features (and without changing the public API)

\- Added new features and capabilities based on that new foundation, including many things the community has asked for (rendering arrays, improved context, etc)

\- Implemented most of a new feature set that should allow React users to simplify much of their async data loading logic, on an opt-in basis.

\- With that winding down, started tackling cleanup and technical debt issues to make behavior more consistent

Sure, that process has all resulted in changes (such as the warnings about deprecated lifecycle methods), but it's been an incremental process, and they've offered up codemods to help with changes for things like lifecycles. The end goals here are better apps and more consistent behavior, not trying to beat down competition.

 _edit_

Since the parent updated with a modified quote from the article that uses a bunch of React-related references instead, I'll respond to that.

The suggestion here seems to be that Facebook is deliberately trying to waste everyone else's time keeping up. As Dan Abramov recently said ([https://twitter.com/dan_abramov/status/1033806477306331136](https://twitter.com/dan_abramov/status/1033806477306331136) ):

> There's a common misconception that React is some sort of strategic > investment and receives direction from the top. That's not the case; pretty > much all development and planning comes from the team itself. React is > useful to FB but FB org is built around products rather than tech

Also, I'll point out that "sagas" are a Redux ecosystem addon for managing side effects, and neither Redux nor Redux-Saga are owned by Facebook in any way.

<comment><USER30> I wouldn't be surprised if at least a couple of React's innovations and release cycles correspond with Facebook's bonus incentives for their engineers. There's nothing wrong with that, but I find it highly more likely then some great conspiracy to soak up the dev time of completely unrelated companies.

<comment><USER8> My motivation for writing this up was going through this list for the last two weeks:

[https://github.com/facebook/react/issues?q=is%3Aopen+is%3Ais...](https://github.com/facebook/react/issues?q=is%3Aopen+is%3Aissue+label%3A%22Component%3A+DOM%22+label%3A%22Type%3A+Bug%22)

That's it.

There's no hidden agenda here. We want to fix bugs in React. This is our strategy for a group of fixes. If something in the strategy is poor we'd love to hear feedback. But it's a bit perplexing to me that it's seen as us trying to force people to do more work, _or_ that there's some kind of perverse incentives for that. If I'm communicating this badly let me know here or in private ([https://mobile.twitter.com/dan_abramov](https://mobile.twitter.com/dan_abramov) — my DMs are open) how I could do it better.

If you follow the linked issues, they are things we've been planning to do for years. They're hard to fix in isolation which is why we thought it would help to bring them under a single umbrella. We're not trying to play some kind of trick on you -- if you used React heavily you're likely familiar with all these problems, and they probably bit you at one point or another. We're always trying to improve React, and we finally got to this set of issues.

Attaching events to the root ( [https://github.com/facebook/react/issues/2043](https://github.com/facebook/react/issues/2043)) is a four-year old issue. We have tried to do this in the past ([https://github.com/facebook/react/pull/8117](https://github.com/facebook/react/pull/8117)) but the effort fizzled because it's too hard to fix incrementally. But it's an important problem and we regularly bump into the consequences of it.

Syncing the value attribute has caused a security issue that was widely discussed on HN ([https://news.ycombinator.com/item?id=16422696](https://news.ycombinator.com/item?id=16422696)) and caused countless linked bugs. So we want to change it back, but it's a major one so we also put it under the umbrella.

Simplifying the event system is something we hear about almost every day -- both from the bundle size perspective, and from the bug reports I linked which have to do with the complexity of our existing polyfills.

Edit: wanted to add one more thought regarding the rephrasing of Joel's article in the grandgrandparent.

I don't think replacing Microsoft with Facebook makes sense in this context. Microsoft was creating a developer ecosystem on purpose. Because they are an application platform. Facebook is not an application platform for React apps. The reason we get paid to work on React is because it's useful _to_ Facebook — not because Facebook wants _you_ to build with it. If engineers and a few managers above the React team didn't care strongly about open source in the beginning, and that in turn didn't attract more people who care about open source to the team, React would stay within Facebook and keep evolving there. So I can see why you want to apply this analogy, and it might even make sense for the educational industry that appeared around React, but it has little to do with Facebook or React itself.

<comment><USER31> Don't you also get feedback, pull requests, bug fixes and suggestions from the community that are both beneficial to react but also to Facebook as well?

Therefore it now seems like there _is_ incentive for Facebook to want outside developers to use it.

Thanks.

<comment><USER8> Sure, and that's very helpful. But we also spend months of work on things that affect open source (like gradual migration strategies) that aren't beneficial to Facebook per se. So from a business perspective it's not a clear-cut case. Sometimes it can even challenging to justify some kinds of work. But we believe in it.

What I'm trying to say here is not that we don't value open source contributions. But that much of the driving force behind how React is developed comes from the team itself. Not executives.

</comment></comment></comment></comment></comment></comment><comment><USER32> When react already has to be "modernized" I become thankful that I don't work in JS land. I honestly don't think I could keep up and remain happy.

<comment><USER18> Not sure what you mean. React is 5 years old. Frontend development is more volatile by nature as devices changes, UX guidelines change, etc but overall React was very stable during these years.

But even Java changed A LOT in 5 years...

You always have to keep up as a developer.

<comment><USER33> And honestly, you don't really have to keep up with the latest version of React. We're still on 15.4 – almost 2 years old! Works great for us.

<comment><USER16> Out of curiosity, anything preventing you from upgrading to 16.x ?

<comment><USER33> We're running a startup and upgrading React just isn't a priority.</comment></comment></comment></comment></comment>


Escape key alternatives in Vim - <AUTHOR> https://eduardobautista.com/escape-key-alternatives-in-vim/ <comment><USER2> I've been using jk for quite some time now. It's definitely my favourite improvement over stock vim. You can sort of roll your fingers with your right hand index and middle finger which makes it super fast.

</comment><comment><USER3> Remapping caps lock to ESC has been my preferred method for this, I'd suggest giving it a try!

<comment><USER4> Better, IMO, to use it as a control key (you can do so much with the control key inside a terminal). Of course, why not both?

[http://www.economyofeffort.com/2014/08/11/beyond-ctrl- remap-...](http://www.economyofeffort.com/2014/08/11/beyond-ctrl-remap-make- that-caps-lock-key-useful/)

</comment></comment><comment><USER5> A coworker with RSI mapped a foot switch to Escape. Something like this: [https://www.kinesis-ergo.com/shop/advantage-3-pedal/](https://www.kinesis- ergo.com/shop/advantage-3-pedal/)

<comment><USER6> I've thought of using one of those to map a parenthesis to each foot, for Lisp.

</comment></comment><comment><USER7> The article mentions that you can set custom mappings to escape and uses this as an example:

        imap jj <Esc>

If you're interested in doing that, I'd strongly recommend you never do a plain `imap` and instead always do `inoremap` (this advice applies to `nmap`, `vmap`, and the like as well). The difference is that the noremap variant is non-recursive [0].

Also, since we're on the subject of escape alternatives, I may as well mention mine. It really bothers me that exiting insert mode moves your cursor back a space. To remedy that, I've got a custom mapping that escapes and them jumps to the mark at which insert mode last was [1]. The mapping is:

        inoremap jj <Esc>`^

[0]: [http://learnvimscriptthehardway.stevelosh.com/chapters/05.ht...](http://learnvimscriptthehardway.stevelosh.com/chapters/05.html#nonrecursive- mapping)

[1]: [http://vimdoc.sourceforge.net/htmldoc/motion.html#`^](http://vimdoc.sourceforge.net/htmldoc/motion.html#`^)

<comment><AUTHOR> I'll go ahead and update it. Thanks for the info!

</comment></comment><comment><USER8> I use alt-[keystroke], which changes to normal mode and executes [keystroke]. So if the first command I intend to execute in normal mode is simple, I get that plus the mode change in one keystroke. If the command is complicated, I just use alt-l (moves the cursor one space) which I find easier to hit than ctrl-[ or esc.

As a bonus, it works in readlines vi mode as well.

</comment><comment><USER9> I'm surprised of no mention of mapping <esc> to <caps> \-- it's such a sweet modification to Vim. I'd do it regardless of Apple's touchbar announcement.

<comment><USER10> I haven't done this because I'm trying to stop chording: pressing two keys simultaneously with the same hand. I'm pretty sure it causes RSI (try Googling chording and RSI).

When I have to type all caps, I find myself chording a lot. The alternative is to always use the right shift for capital letters on the left and vice versa, but that doesn't work well for all caps words. Therefore I'm trying to learn to actually use caps lock.

Admittedly it's not going very well

<comment><USER11> Vim solution: type in all lower case, then select what you just typed and press ~.

Admittedly it doesn't help for non-Vim applications, but I don't find myself typing all caps outside Vim very often. It's usually to type something like FOO_BAR, but then you can just type FO<Ctrl-N> and that usually works.

<comment><USER12> ~ is for one character. If you have a word you want in caps, do gUw. For lowercase, it's guw.

<comment><USER11> ~ works under visual selection.

</comment></comment></comment></comment></comment><comment><USER13> I use "kj" for escape, "lkj" for escape-and-save, and ";lkj" for escape-and- save-and-quit since I can roll my fingers faster that way that doing "jk" or "jj"

It also has the advantage of usually being a no-op in visual mode (kj moves up, then moves down). "jk" has the same advantage. Whereas "jj" will move you down.

I also have my caps-lock key mapped to escape.

(EDIT: learning from bilalq [https://news.ycombinator.com/item?id=13101691](https://news.ycombinator.com/item?id=13101691))

        "during insert, kj escapes, `^ is so that the cursor doesn't move
        inoremap kj <Esc>`^
        "during insert, lkj escapes and saves
        inoremap lkj <Esc>`^:w<CR>
        "during insert, lkj escapes and saves and QUITS
        inoremap ;lkj <Esc>:wq<CR>

</comment><comment><USER14> I mapped <esc> to jk, though I don't use vim that often.

</comment><comment><USER15> That's my setup.

        vnoremap <C-c> <Esc>
        inoremap <C-c> <Esc>
        inoremap <Esc> <nop>
        vnoremap <Esc> <nop>

</comment><comment><USER16> Off topic: I love vim and use it for everything from writing love notes to assembly. Lately I've picked up using Vue.js with the new .vue files using ES6. What code highlighting plugin have y'all successfully used for the JS/ES portion of the file that does highlighting well and doesn't just stop working if you scroll up and down in the file? It's driving me a little batty.

<comment><USER17> There is a vim-vue plugin: [https://github.com/posva/vim- vue](https://github.com/posva/vim-vue)

I'm getting by with the stock html syntax:

        au BufNewFile,BufRead *.vue set filetype=html

<comment><USER16> My current plugin list is:

        Bundle 'scrooloose/syntastic'
        Plugin 'tmhedberg/SimpylFold'
        Plugin 'ipartola/igor-vim'
        Plugin 'othree/yajs.vim'
        Plugin 'mxw/vim-jsx'
        Plugin 'leafgarland/typescript-vim'
        Plugin 'posva/vim-vue'
        Plugin 'bronson/vim-trailing-whitespace'

</comment></comment></comment><comment><USER18> Ctrl-c and Ctrl-[ are my favorite -- once you remap caps lock to control (so that control is where it was when these interfaces were designed), you have a simple, 2-hand chorded escape with minimal stress on the keys.

Does anyone here remap backspace to something else? My right wrist has been particularly RSI sensitive in the last month or so and I've noticed that reaching for backspace tends to set it off.

<comment><USER10> I have backspace on my left thumb: [https://www.kinesis- ergo.com/shop/advantage2/](https://www.kinesis-ergo.com/shop/advantage2/)

Highly recommended for Linux or Windows desktop computers if you have RSI trouble. A bit unwieldy for laptops though. I use both and switching isn't a big issue (unlike switching national keyboards, which drives me crazy). It doesn't quite have enough modifiers for Mac - can't have both left and right versions of shift, alt, ctrl and command.

Vi users have to swap the up-arrow and the down-arrow since they use the same fingers as j and k, but reversed. However, it's pretty easy to remap, and it happens in the keyboard so it works everywhere.

</comment></comment><comment><USER19> You can reduce the lag of using <Esc> with:

        set timeout timeoutlen=1000 ttimeoutlen=10

<comment><USER18> Very cool trick, thanks for sharing. Is there any reason I wouldn't want this?

<comment><USER20> Arrow and function keys are mapped to escape sequences, so if you use vi over a slow or unreliable connection your arrow keys could randomly get interpreted as escape followed by some commands.

</comment></comment></comment><comment><USER10> jk works pretty well. Actually faster to type than jj

</comment><comment><USER21> I prefer to use <,><e> to escape out of insert mode.</comment>