Microsoft CEO Satya Nadella Comes to Red Hat Summit - <AUTHOR> https://www.zdnet.com/article/microsoft-ceo-satya-nadella-comes-to-red-hat-summit/ <comment><USER2> Two perspectives on the recent grand entry of Microsoft into the Linux space:

1\. Linux won in the embedded (ARM devices), mobile (Android) and server spaces, and this is Microsoft bowing to that.

2\. This is Microsoft's embrace, extend and extinguish strategy from the 1990s in a new wrapper. They just had to do it to an operating system this time.

Not sure if these perspectives are correct, but I'm just throwing them out there as food for thought.

<comment><USER3> > This is Microsoft's embrace, extend and extinguish strategy from the 1990s > in a new wrapper

We're all right to be cautious about trusting large companies' motives when they embrace an open standard. But I don't think there's any reason to invoke _EEE!_ until they have introduced a proprietary (i.e. closed-source) _implementation_ of something and then added non-standard extensions.

Since much of Microsoft's recent activity has been released as open source ( _MIT_ licensed, no less), I have a hard time believing Microsoft would go down that road again any time soon.

Rather, I think they're building their business on providing the best and easiest-to-use hosting and cloud services provided you're using their excellent and free developer tooling. And I'm OK with that, since they're not doing anything that is unfairly competitive. (Even AWS could start providing VSCode extensions and they'd be on equal footing with Microsoft, though to win they'd have to compete with MS's cloud directly.)

<comment><USER4> > But I don't think there's any reason to invoke EEE! until they have > introduced a proprietary (i.e. closed-source) implementation of something > and then added non-standard extensions.

That would be WSL wouldn't it? Their goal is clearly to avoid having people moving to Linux as a development platform, and keep them on Windows.

The extensions are the ability for Linux processes to integrate with Windows software running on the same machine. In a way, they're extending Linux with Windows services.

<comment><USER5> > Their goal is clearly to avoid having people moving to Linux as a > development platform, and keep them on Windows.

I think it's the opposite. There's little danger that Windows shops are going to move to Linux. However, I know a bunch of devs currently using Macs that would probably switch to Windows with nice devices like the Surface Pro and access to real gaming and such, if only Windows was a suitable Unix environment for their work.

They want devs using Macs and such to move to Windows, and I think it's going to work.

<comment><USER6> This comment tells me Purism et al need tablets next.

</comment></comment></comment></comment></comment><comment><USER7> I think what Nadella is doing at MSFT is truly remarkable, refocus on adding value and shifting from Ballmer's broken model ... interesting times.

<comment><USER8> He's loving linux to death.

<comment><USER9> Didn't some documents leak showing a Microsoft Evangelist killing Apple centric conferences?

I know Microsoft tried to kill Linuxfest Northwest a few years back, sponsoring it and taking control of 1/3 of the floor space, both approved afterpartys, etc. This year they had a small booth that was staffed for one of the two days...

<comment><USER10> Where is this coming from? I was the one organizing this sponsorship.

<comment><USER9> Just what I observed that year, it reminded me of this: [http://techrights.org/2009/07/15/ms-technical-evangelists- li...](http://techrights.org/2009/07/15/ms-technical-evangelists-list/)

Most of the people I know stopped going to LFNW after the shitshow that was that year, they still attend SeaGL and other conventions.

The exploding can of WD-40 that MS handed out that year was the cherry on top of the hijacking of the main space, fake Azure credits, and poorly run afterparty that MS put on.

Frankly, MS should not have been allowed to hijack LFNW that year. This year MS was the only booth to not staff on Sunday, I'd hope LFNW doesn't waste table space next year.

</comment></comment></comment></comment></comment><comment><USER11> King-Beyond-The-Wall visits Castle Black; understands he must join forces with the southerners to fight the army of the dead because Winter is Coming.

<comment><USER12> I would have thought MS to be Warden of the North and Linux to be wildlings (or free-folk) given the way they treated it/them in the past.

</comment></comment><comment><USER13> What I wonder is, does anyone have OpenShift experience here? If so, what do you think of it? And compared to Kubernetes? I know OpenShift is Kubernetes plus extra features, but that doesn't necessarily mean it's better.

<comment><USER14> Openshift is Kubernetes...with a few more things bolted on. Currently running it at scale at Cisco and pretty happy with it and support from RedHat.

<comment><USER15> Openshift is a fork of Kubernetes...with a few more things bolted on. I think the distinction is important. Development occurs in a separate repo and the upstream Kubernetes code is backported into that repo. Similar to how Red Hat handles RHEL.

</comment></comment></comment><comment><USER16> It looks like Google is loosing hacker confidence while Microsoft is gaining them. Am not able to keep count of the number of times I have been burnt because of Google's decision to drop support for their products, change functionality after buying then and inane UI changes. Contrast that to experience with Microsoft, I can't recall that many instances.

<comment><USER17> I consider myself to be roughly in the category of "hacker" in the context of that sentence. I don't have confidence in The Google controlling everything any more than I do with MS.

I used to be an MS developer many years ago. I will say one positive thing -- MS makes a lot of very useful development tools.

However, I'm amazed that people think it's not MS anymore. They have not gained my confidence in any way in terms of this supposed altruism or whatever.

Linux in some ways has been one of very few possible Windows competitors on the desktop. The fact they they essentially decided to just swallow Linux into Windows does not make me think they are more friendly to Linux.

They will set it up so that it will _seem_ like your are developing for Linux, but due to some extensions or technicality it will only work on _Linux inside of Windows_.

So from my perspective it is amazing that people think this is a good thing for Linux.

<comment><USER18> I doubt this will happen. For one thing, the dominant targets for Linux are servers and embedded systems - both of which are cases where resource overhead is pretty important. Running a Windows to run Linux inside of incurs a pretty substantial overhead, so I really can't see any case where developers would be willing (or even necessarily _able_ ) to spare the resources to install Windows on their formerly-Linux-only targets just to maintain the convenience of getting to develop for "Linux" on their Windows PCs.

And desktop apps developed for WSL will simply _never_ be Linux-compatible out of the box at this rate, given that WSL does not contain any graphical or UI functions; MSFT has been pretty clear about this right from the start, and so I really can't see a scenario where people mistakenly believe just developing user-facing applications for WSL will make them "just work" on Linux, given that _all the UI code is on the Windows side_.

</comment></comment></comment><comment><USER19> Video of the full Q&A [https://youtu.be/7YYqJZIvw2U](https://youtu.be/7YYqJZIvw2U)

</comment><comment><USER20> So we could yet see IBM Cloud private running on Red Hat Openshift, all hosted by Microsoft Azure.

<comment><USER21> IBM Cloud isn't working, so that is entirely possible, especially versus IBM having to shut it down.

<comment><USER22> neither is azure ;)

<comment><USER23> what's wrong with Azure?

I mean, if you're against cloud hosting that's fine, but what is wrong with Azure specifically?

</comment></comment></comment></comment><comment><USER24> Azure has become my go-to place to deploy nodejs, I used to use AWS exclusively but Aws is brutally complex while Nadella's team have done an amazing job with the clarity and usability of the azure UI.

<comment><USER24> However I still use AWS ses because nobody has anything that compares with ses and Amazon's transactional messaging service I'm general.</comment></comment>


Automate your Dropbox - <AUTHOR> http://dropboxautomator.com/

<comment><USER2> The only one missing is "Encryption Automatically"</comment>


Why have most successful entrepreneurial ideas failed to raise living standards? - <AUTHOR> http://www.theatlantic.com/technology/archive/2011/01/why-stagnation-technological-limits-or-myopic-elites/64369/

<comment><USER2> Living standards are actually pretty high, at least in areas where education and political stability have allowed certain technologies to proliferate.

Take Fluoride for example. The CDC says it's use in cavity prevention is "one of 10 great public health achievements of the 20th century." It's application was not developed as an entrepreneurial endeavor, but rather as part of NIH research. Before Fluoride, didn't people used to have their teeth rot out by age thirty? Not, I'll bet people who drink fluorinated water have most of their teeth for most of their lives.</comment>


Ask HN: What do you think about my startup, scription.tk? - <AUTHOR>

I'd like feedback on the website and tips for promoting it. Thanks for looking into it. <comment><USER2> Clickable: [http://scription.tk](http://scription.tk)

I am trying to understand what you do exactly. From your FAQ, here is how you describe yourself:

        Q: What is the scription service?
        A: scription allows anyone to create the software they need. While many companies
        and people will charge you a lot to write simple pieces of code, we provide a low-cost
        service. This allows anyone to get the software they want, even if there isn't enough
        demand for it.

So unless you managed to write a program that can write custom programs, you are something like a consultant, and a very cheap one. When you say that "most requests can be made" (unless projects that are too big or involving mobile app), what does it mean? Can you write some custom crypto modules? An excel plugin? You don't provide any example of things that you have already done, so why would I trust you? (In fact, I wouldn't trust you because your prices are very low, so I am suspecting something might not be right).

</comment><comment><USER3> I see you're accepting PayPal. Keep in mind they're known to arbitrarily freeze accounts so this is a risk for you. Also businesses in Europe prefer wire transfer rather than anything which is rather a customer payment solution. I assume you're in Europe or targeting European clients since you're billing in Euros. You may want to register a company and open a bank account instead.

The largest problem however is that you're anonymous. While this may work in countries like Russia and Ukraine which are used to everyone hiding from everyone, this is unlikely to take off with German customers for example. They want to know your name, your official address, your phone number, the official registry number for your company, the bank account number and the location to settle legal disputes clearly stated. Your photo and the listing of your diplomas and certificates would be needed as well. The .tk domain name doesn't really help either. You GMail free email address makes no sense given that you already own a custom domain.

As it is, you appear to be just another guy from a freelancing site who's trying to stand out against the crowd. But since you're anonymous, I can't see why anyone would fall for you.

No offense intended, just a honest opinion of your offering.

P.S. Your copyright notice also makes little sense. It basically says that the domain name owns the copyright which is not possible. A natural person or a legal entity can hold the rights, a domain name is an object and cannot own anything. You may want to put in there your name or the name of your company, if you've got one registered.

</comment><comment><USER4> The problem is: you are too cheap. A programmer in Europe can earn much more than 12 euros an hour, but you're not charging more. It makes me wonder why. The only reason I can think is that you're inexperienced, just starting out. That doesn't tally with the statement that you can do any kind of code. I've been programming for many many years and I would still be wary about saying I could do 'anything'. There are lots of hard problems in Computer Science. Mobile app development is not one of the hard problems, so I would wonder why you would exclude that and not, say, massively scalable cloud computing, 3D rendering, etc.

I would suggest you be a bit more specific about what tasks you want to do, and double or triple your prices. ;-)

I wish you very good luck with the company though!

<comment><AUTHOR> Thanks, I really appreciate the feedback! I'm certianly not trying to say I can code everything, but I thought making list of things I can do would exclude a lot of other stuff that I might still be able to do. I'm working on something of a porfolio right now, so I suppose that shows what I can do, but still doesn't really exclude everything else.

</comment></comment><comment><USER5> Is the .tk domain not considered unprofessional nowadays? It reminds me of the crappy websites we made back in, what, 2003?

<comment><USER6> That was exactly my first thought too. The site itself seems a little unprofessional, as do the services they seem to be providing. The scope is too big, I think.

</comment></comment><comment><USER7> Okay, here's my first feelings: for me it looks like regular company website, but with very specific kind of storytelling (a bit of gamification maybe) - the customer has a feeling that it is not just a regular company website, but in the end I think it is just like that :)

</comment><comment><USER8> 10$ per hour for a programmer? As a programmer (none of my contracts is below 65€ and i'm not that well-paid) myself i feel giving you any money would just aid the exploitation of decent programmers or get me really shitty results.

<comment><USER9> Outsource your job, this is a amazing money making opportunity.

</comment></comment><comment><USER10> Isn't your TLD one of these popular with scammers? Not such a huge deal but that was my first thought :-D

Anyways it looks like a consulting operation.

</comment><comment><USER11> Without any examples or testimonials (that I can check) there's no way I'd use your service.

<comment><AUTHOR> I've thinking of putting up examples, but since I've just started I don't really have examples of things requested and some of the other things I've developed I can't really post much more than screenshots of (which means it would be hard to know whether they were made by me). Would this still improve the chance of you using my service? Thanks for taking the time to give feedback on my website.

<comment><USER11> If you're in the position to be selling code to people then (presumably) you believe your code is good enough for people to buy. As such the examples need to be code. If you haven't got examples then you're going to have a tough time persuading people that you're capable of fulfilling their requests.

This is the same problem people have when they apply for development jobs. The solution is to write some code you can show people. Get a side project, or do some work for free (or cheap enough that people will pay even without seeing examples of previous work), or ask people you've worked for previously for permission to use what you wrote as examples of what you can do. Don't just say "I haven't got anything." That won't work.

</comment></comment></comment><comment><USER12> I have a tip for promoting it, contact me: scription at myusername dot com</comment>


RubyMotion Projects on github tested by me - <AUTHOR> https://github.com/railsfactory/rubymotion-learn/blob/master/projects.md

<comment><USER2> Not actual project by author but rather him testing various project others made (which is great)

Anyone up for blogging about his expirience with RubyMotion ?

<comment><AUTHOR> want to suggest any edit to title? can do it now

</comment></comment><comment><USER3> Thanks for this! Its great having all these projects linkable from one place.

<comment><AUTHOR> as a programmer when learning a new language/technology I would love to read other people's code before start writing my own.

this weekend was trying these projects many did fail, submitted a ticket as well, but there were 2 updates to rubymotion made in last 3 days, and it nearly stopped all the crashes, then I thought it might be useful to others who are trying out.</comment></comment>


How Much the Polls Missed by in Every State - <AUTHOR> http://fivethirtyeight.com/features/how-much-the-polls-missed-by-in-every-state/ <comment> alex- The five most populous states all feature in the top half of this graph (California 3rd, Texas 15th, Florida 18th, New York 12th, Illinois 5th)

While the five least populous states are mostly in the bottom half. (Wyoming 43rd, Vermont 21st, Alaska 30th, North Dakota 48th, South Dakota 44th)

It is much harder to find a small representative group in a larger population. But I a surprised that the errors appear to favor overestimating trumps margin. I would have thought that the sampling errors would go both ways.

Lots of possible explanations including coincidence, etc. But if feels like it might be some pattern...?

<comment><USER2> Yes. There was a strong stigma attached to voting for Trump, which made people to falsely claim they were undecided or voting 3rd party.

Andrew Gelman (who wrote the textbook on Bayesian Data Analysis) says:

> Yes, the polls were wrong, but as I've written, they weren't that wrong—they > were off by about 2 percent.

[http://www.slate.com/articles/health_and_science/science/201...](http://www.slate.com/articles/health_and_science/science/2016/11/reports_claiming_the_election_was_rigged_are_wrong.html)</comment></comment>


Tabs or spaces? This Googler's analysis settles the question - <AUTHOR> http://www.businessinsider.com/google-silicon-valley-tabs-spaces-debate-2016-8 <comment><USER2> Why tabs are clearly superior: [http://lea.verou.me/2012/01/why-tabs-are- clearly-superior/](http://lea.verou.me/2012/01/why-tabs-are-clearly-superior/)</comment>


Ask HN: Advice on making the jump from PM to developer - <AUTHOR>

Here's the story: I'm 33, American, have significant experience abroad (and possessing the attendant linguistic/cultural skills), and have nearly 10 years of project and product management experience, mostly in consumer-facing mobile and web services.
I've been in love with software since typing out verbatim code from the back of Contact magazine and then playing around with it as a kid in the late 80s, and I've walked the basic Pascal -> C -> C++ -> Java -> various web scripting language pathway of late 90s/early 2000 computer science education.
Over the last ten years I've kept myself reasonably sharp, and have spent time picking up Ruby and Clojure and Scala, but never as a day job. Increasingly, though, I realize that what I'm doing as a hobby is what I really enjoy, and I want to make the jump into a position where I can write code as my primary job, but I'm finding that the first step is harder than I imagined it would be.
So, any advice?
* Should I market myself on the PM skills that I have as "a competent developer with benefits," or should I focus on the technical skills I have and try to wow someone into taking a chance on me?
* Should I pick a language / architecture (realistically for me right now it would be Ruby or a JVM-based language, probably Clojure) and really dive deep, or do my generalist roots help more than hurt?
* Any experiences making a move like this that someone would be willing to share? <comment><USER2> Disclaimer: I'm a PM; though I've always also considered myself a developer, I haven't had a "Software Engineer" job since college internships years ago.

There are a couple of things that spring to mind based on some experiences I've had.

Firstly, even though my resume says PM, I get approached for developer roles all the time (probably the CS degrees pattern-matching recruiter bots). Have you tried applying for a developer job at all, just to see which hurdles might be the hardest for you based on your experience and current skills?

Secondly, there are some roles that might be a good transition from PM to developer that would allow you to get the best of both worlds. Developer Relations/Evangelist comes to mind, Technical Project/Product Manager, and similar.

One thing I would personally do if I were making this transition is focus on building out a personal project, putting it on github and becoming active in the relevant community (whether it's stack overflow, irc, reddit, pull requests, etc). Contributing to open source is commonly recommended, though not something I'm particularly involved in. I would personally stay a generalist as that's something I enjoy and part of why I became a PM in the first place, but YMMV.

You could potentially find ways to code as part of your PM job. I knew PMs who committed patches to the main product, and I managed to find several ways to write code (internal hackathons, test apps, etc) when I was working on our developer platform.

Also, I'd recommend you look at Hacker School, if a sabbatical from work would fit into your plans. There are also several "programming bootcamp" in-person courses which are aimed at placing graduates into engineering jobs, but these are probably beneath your current skill level.

<comment><USER3> What's your thoughts on being a PM? I'm looking at jumping into the role (more of a 'technical PM'). I have corporate development experience and could likely move towards more architect type roles but I feel the pull of being a PM is also worth considering. I can always hack on my own time (not something I would completely stop doing).

<comment><USER2> Sorry for missing this reply.

PM is an awesome role on the right team and there have been a lot of things written on the subject. My take would be that it varies a lot from team to team, company to company and product to product.

Some mature product PMs are essentially funnel optimisers and project managers. Early stage PMs are more like startup founders with different downsides. There's a tremendous spectrum.

It depends if you want to be thinking about the 10,000 foot view, users and the context of the product more than you're thinking about how to build it or what a specific customer needs. Best thing to do is get coffee with PMs in a few companies you'd be interested in working at (or within your current company - much easier).

</comment></comment></comment><comment><USER4> I'm a current PM, previously a developer for a number of years. Here's what I would do:

Create a portfolio of side projects / sample applications in whatever language /framework you'd like to work with. You'll learn something, and have something to talk about in interviews. Then the interview process for a developer position is easy: show them what you've done and talk about how you built it. If your skills and approach are a good fit with the company, they'll hire you.

Another idea: create a profile on oDesk / equivalent and take small paying programming jobs. They may only pay $20, but you can gain experience, contacts, and credibility.</comment>


Lambda@Edge Now Generally Available - <AUTHOR> https://aws.amazon.com/about-aws/whats-new/2017/07/lambda-at-edge-now-generally-available/ <comment><AUTHOR> From the announcement: "Lambda@Edge is now generally available for all customers. You can use this new AWS Lambda feature to run Node.js functions across AWS locations globally without provisioning or managing servers, allowing you to deliver richer, more personalized content with low latency to your customers."</comment>


Ask HN: How many hours do you work in a week? - <AUTHOR> Is it reflected in your yearly income? <comment><USER2> 45-ish hours/week. Trying to get back down to 40. I'm salaried, so no, hours worked don't affect income. (Though if I wanted to work 20 hrs/wk that would probably be different.)

</comment><comment><USER3> 2 - 30h. Not directly. More "things" ultimately lead to more money tho.

</comment><comment><USER4> 84 hours a week, 2 weeks out of 4.

</comment><comment><USER5> Well it's cyclical for me for companies I work 60-80 hours a week then I live off savings for a while and work on personal projects about 42 hours a week, then I go back to work for the man.

To answer whether it is reflected in my yearly income well it depends where I am working sometimes it's kind of just a salary based set up, sometimes I get per hour pay, I don't think any software engineer ever has gotten a time and a half for over time though.</comment>


Angular 5.0.0 - <AUTHOR> https://blog.angular.io/version-5-0-0-of-angular-now-available-37e414935ced <comment><USER2> This rapid pace of major releases is a little scary. We're stuck running Angular 1.x because there's no reasonable upgrade path for us. We're a .NET shop and really like Angular, but after the 2.x cluster fuck, we're now thinking about going with something else entirely.

<comment><USER3> Angular 2 will not help your team deliver valuable web experiences to customers any more quickly or reliably than Angular 1. Probably almost certainly the opposite.

I'd argue most teams, if they're willing to go all-in on an SPA framework (which for most apps is a waste of time and money imo) would be better off with React + TSX.

Edit: Vue is probably closer to the "Angular way" with databinding, but component to component communication really needs something additional like Vuex. So, really, just use React/Redux and you'll get a bigger community with more real-world apps being built with the tooling.

<comment><USER4> I disagree. In my experience, developing a REST API and SPA with Angular2+ has been the quickest development cycle I've experienced.

Not only is it very pleasant to work in, but the end product for the user is high quality.

Vue is great, but it's lack of proper component support makes it a bit annoying to work with.

I have just migrated an app that was on Angular 2 RC4 to Angular 5 with little to no migrational woes.

The transition from Angular1 - Angular2 sucks, but ng2 and beyond is trivial.

<comment><USER5> Vue has one of the best component models I've seen. Angular's is some odd mix of SystemJS, HTML, RxJS, and TS...and it's dependent on it's custom CLI for optimization. It's probably the most complicated component model of the modern JS frameworks. And there's no JSX support on Angular.

</comment></comment></comment></comment><comment><USER6> I somehow do not get all that bashing. Angular did extremely great things with Angular 1 (back then). As time passed, the community learned that there are better/other concepts. React came out - nice. NG2/4 therefore had to include major changes to pave the way for the future and more modern concepts. And it is important that they do that because some people have built huge teams and applications based on Angular. So, thanks!

From ng1 perspective, the migration path to ng2/4 is more economic than a Vue or React rewrite. We examined that in depth. This is why we upgraded to ng2 instead of rewriting the application in Vue or React. And as i can see it, ng5 fixes major issues from ng2 and we're happy that the Angular team keeps on pushing here.

<comment><USER7> People jump on a victim train too easy. If they can't complain on life, they complain on JS or Angular. If you think something is better, ok thanks, we will consider it. But what is the alternative? React? Good god, never. Vue? Can't comment, but doesn't seem to be doing good: [https://trends.google.com/trends/explore?date=all&q=Angular%...](https://trends.google.com/trends/explore?date=all&q=Angular%20tutorial,Vue%20js%20tutorial,React%20js%20tutorial)

<comment><USER8> Google trends can be quite hard to read - that search term will include Angular 1, which is far larger than Angular 5.

Github stars is a more precise metric. There, react has 80K, Vue is close with 72K (and gaining ground), and both are far ahead of angular on 30K (as of early November 2017).

[https://github.com/vuejs/vue](https://github.com/vuejs/vue) [https://github.com/facebook/react](https://github.com/facebook/react) [https://github.com/angular/angular](https://github.com/angular/angular)

</comment></comment></comment><comment><USER9> Congrats to the new release! I've got a lot of respect for putting so much energy into open source projects.

Predictably, the discussion evolves around Angular vs react/vue/ember or whatever (personally, I like react).

My current customer project introduced me to a new generation of web front-end developers specializing in a particular framework (react/redux in our case) but know very little about CSS and the myriad of plumbing and polyfilling going on in browsers. In the end, they delivered an app that would only run on Chrome. Sadly, the whole thing makes me realize just how utterly inadequate the web platform after all these years still is for the kind of MVw apps folks want to use it for.

I think there's a place for a new "opinionated" web framework once again which more closely matches the needs of business apps, and which has an option to stand-alone app deployment outside web browsers. Mind you, this isn't a sentimental reflection on Java applets and their failure or some such, but based on years of actual project experience, including in front-end developer roles.

For example, the other day I learned that in 2017 there's no way to query the current zoom level of a web app (until very recently with the brand new Viewport API; but it's not supported using media queries; I mean, seriously?). Furthermore, I'm using a very simple SVG background image for a text area element, and the latest Chrome release introduced laughable aliasing bugs, which I could only workaround by using `opacity: 0.99`. There are still just so many tricks and hacks necessary for even the most basic of UI tasks that a realistic web app project feels like jumping from one ridiculous issue to another, frantically searching through StackOverflow, CSS-tricks, etc.

With the somewhat naive reception of react, Angular, and co (which don't actually do anything GUI-related, nor help with browser compatibility problems), I'm wondering whether I'm the only one feeling like putting square pegs into round holes using the web for anything other than content-driven sites.

<comment><USER10> Perhaps WASM will provide the better match for business applications, sidestepping HTML entirely.

It should allow side-stepping the complex morass of piecemeal evolved html features and implementation border case incompatibilities.

e.g. Today you can use Unity game engine to target WASM as a runtime and it should render, and function, very much identically across all browsers, and with a bit of creativity can be used to include forms and business functionality.

This does come at the cost of downloading the app runtime and UI libraries with the app, but frankly the download size is not such an issue anymore and in the future for many markets. e.g. 5G mobile broadband is targeting Gbit speeds!

<comment><USER9> I know people put high hopes into it, but WASM by itself does exactly _nothing_ to improve the basic rendering model of browsers (CSS and it's various layout models). It just replaces JavaScript (which I have no problem with at all), making browsers even more complex. WebGL, OTOH, can be used from JavaScript without problems, including typed arrays and SIMD.

I was thinking more about ditching the browser entirely for apps. Because what WASM and WebGL do is just a very tiny subset of what's been possible for ages with plain old native languages and D3D/OGL. And why do we need a new bytecode format when basically all phones run on the ARM ISA? I guess I don't get why games should run in a web browser with all it's security and privacy issues.

But yeah, almost anything is better than HTML/CSS/JS for complex UIs.

<comment><USER10> Since you stressed the point that WASM does _nothing to improve the rendering model_ , it's worth noting I never wrote that it did.. but about replacing the UI with custom libraries (rendering to canvas), hence why I used Unity as an example, then mention the need to download UI libraries.

This is the only approach supported by WASM in the near future, although a browser DOM bridge is roadmapped for a couple of years on. ie ditching the (DOM of the) browser entirely for apps (in WASM) - apps that can run on ANY platform with a modern browser.

>> And why do we need a new bytecode format when basically all phones run on the ARM ISA?

There are in fact some good reasons

* It's an open standard, which it seems many vendors will get behind and it will become ubiquitously available, and as such stands a chance of competing with Html/JS for the crown of the 'everywhere platform'.

* Being sandboxed by the browser instead of running on bare metal has huge value for security.

* Being sandboxed as an abstraction layer allows ISA portability. You mention most phones run on ARM, but more than a handful of people want to use PCs running Intel too! Also not all phones run ARM, and there are future ISAs that don't exist or aren't mainstream yet (such as open source ones) and the abstraction of a runtime makes it easy. WASM has been design to be good as a portable target (ie easy to implement on a new ISA as opposed to writing full emulation).

The first one is the most important one, about being an open standard with enough industry implementation to achieve critical mass for users and become a sustainable 'any/everywhere' platform .. the technical issues could be addressed other ways, but that only matters if people can access your runtime (which is what killed Flash and Silverlight).

There are downsides too, such as performance, however the market has shown it doesn't really care about performance by choosing the bloated Javascript mess have today.

tl;dr; Runtimes are good for the majority of consumer and business software, and WASM is the first one all the big players are supporting instead of the competition sabotaging

>> I guess I don't get why games should run in a web browser with all it's security and privacy issues.

The question implies that native code has a better security and privacy profile than a hardened browser sandbox.. actually that right there is the issue. You actually get a far better security and privacy 'platform' on the browser, despite/because of the much larger attack volume.

With native you can do and access anything the OS allows, and find vulnerabilities in the entire OS APIs. Even on e.g. iOS the native code can do all sorts of things and call private hidden apis etc, Apple just tries to use static analysis to attempt to find these issues before you download it..

</comment></comment></comment></comment><comment> ainar-g From my colleagues, both front-end developers and full-stack developers, I've heard nothing but criticism of Angular >2.0.0. I would like to hear the other side. If you use fresh Angular, why?

<comment><USER11> When I used Angular 1, the two way binding was a breathe of fresh air. It was akin to when jQuery first hit the scene and you all of a sudden had selectors. There was a learning curve regarding the "Angular way" (think: $scope, controller, directive), but altogether I was happy with the result and the ideology.

I tried Angular 2 and it was a mess. It feels as though the ideology is fighting you every step of the way, but with no foreseeable benefit beyond the benefits of Angular 1. Angular 1 had some issues of course (mostly with scope) but it gave us a way of working around them (via, $rootScope, etc), but Angular 2 seems to have taken away (again, think $rootScope).

Around the time Ancular 3 came out (yes, a renaming of Angular 2), I moved over to vuejs and haven't looked back yet.

<comment><USER12> > _When I used Angular 1, the two way binding was a breath of fresh air._

Yeah, to be honest, if you aren't suffering performance issues as a result of it, Angular 1 is very productive. Problems present themselves in applications with large views, or using esoteric low-performing features. Angular >2 should never have been called Angular. Even if they call it "Angular" instead of "AngularJS", everyone called AngularJS Angular to begin with. It's so utterly different that it doesn't even fit in the same places.

</comment></comment></comment><comment><USER13> Lack of compile-time checks for the template (and embedded expressions) is a major limitation of Angular. This may be OK for small projects. For large projects with many developers this is a huge problem. Here's what happens: a developer modifies code he's not familiar with. He introduces a bug due to a typo. He builds the code without errors, and runs the application, and everything seems to be OK. The bug is not found even at run time because the developer did not click on something during his manual testing. You can try to reduce such problems with automated tests, but test automation can't reach every corner. As much as possible such issues should be caught at compile time, and Angular can't. This is a major flaw.

Compare that to .tsx templates (Typescript's version of JSX). All html as well embedded expressions are checked at compile time, and typos are caught at compile time.

<comment><USER14> This isn't true and hasn't been true for a while. Angular's ahead-of-time compiler converts the template strings into TypeScript which are then type checked, all at compile time.

<comment><USER15> Can you put a breakpoint in the template?

In .tsx templates you can.

Templates frequently need loops and conditionals. In the case of .tsx this logic is in TyprScipt so you can debug it just like any other TypeScript. In the case of Angular such logic is written in an undebuggable custom syntax.

</comment></comment></comment><comment><USER16> we're a c# shop too. 7 developers. we started with angular 1. we too got caught in the angular 2 mess but we stayed with it. we know react but after you add routing, redux, forms, etc to react, you've got something close to angular.

i just updated a medium sized angular 4 app to angular 5 with no problems. typescript has been our saving grace especially when you're collaborating code with your team. we've really come to enjoy angular. if you're migrating from angularjs it can be difficult but if your developing a new app with form validation, routing, redux then i would recommend angular.

</comment><comment><USER17> I really don't get the hate for Angular 2+. Been using it for almost a year now and I love it. Fantastic stuff.

<comment><USER18> Likewise.

I think a lot of the hate is down to the naming (AngularJS vs Angular), but at some point you need to just accept that it is what it is and get over it!

<comment><USER17> Yeah. I have only ever used Angular 2+ . It seems that Google messed up on the transition from Angular to Angular2, and the community hates them for it. This is the situation that Python has been trying to avoid for years now.

</comment></comment></comment><comment><USER19> I haven't used Angular in a while, so I haven't heard about Angular 3 or 4.

What's even weirder is that most people I know using Angular are still using version 1.

</comment><comment><USER20> Unfortunately Angular lost the market momentum they had and other frameworks picked up the tab. No matter how many amazing features they add.

</comment><comment><USER21> While most still are on Angular 1, releasing 5 reminds me of Magento where most shops are still on version 1 with no desire to upgrade to 2. There are even forks that focus on improving version 1 ignoring the version 2 of the upstream project.

</comment><comment><USER22> Thank you for new release. For me there is still nothing better than Angular - I hate html validation, but I hate JSX even more. I hate verbosity of declarations (app.module, app.component, imports...), but I hate lack of official router in React even more. I don't like RxJS and I hate that you are forcing me to use it, that you ignore even simple feature request about GET- caching, but there is still no good replacement for Angular. I didn't mention hell with tests just to don't be too sad on this happy moment of new release with a lot of breaking changes. Thank you.

</comment><comment><USER23> The more time I've spent with Angular 2+ and later the more it feels like a DSL to me than a Typescript framework, much more so than the, admittedly very limited, time I've spent with React and jQuery before that. That's not really a knock on it, I find it to be extremely productive for me which is why I haven't gotten away from it. I just don't think it does much to enhance my skillset in front-end development overall.

</comment><comment><USER24> Have recently moved system from TS + Angular 1 to Angular 1.5 and then to Angular 2 (took us solid 1 year and you can still see some traces of older code), by time we finished move to 2, Angular 4 was released! And now this! This is WTF moment of my life.

<comment><USER25> There's very few incompatibilities from the 2.0 release onward.

A few minor things here and there, and a few deprecations, but by and large most everything that worked in 2.0 should still work in 5.0.

</comment></comment><comment><USER26> All I want for Angular are better error message and better browser-refresh times. Right now on 4 I get a meaningless page of gobbledeguck for most error (b/c of transpilation) and 12 seconds to reload the page.

<comment><USER27> CLI should be pretty much instant to reload a page.

<comment><USER26> It isn't. A fresh 'ng serve --open' takes ~20 seconds to get to a ready page, and each reload is taking 10+ average. Every minor change.

I can personally stand it because I remember working on 2 million line C++ projects in the 90's. The millennials on my team, on the other hand, are going insane. I've recommend they disable live-reloading completely.

</comment></comment></comment><comment><USER28> Several years ago we chose AngularJS/v1 for an enterprise-level app. Once Angular/v2 was announced it was still more of an experiment, but things have changed far faster than we anticipated.

Projects like ui-grid are dying and ui-bootstrap is dead and they're moving to Angular support only. We're suddenly using tech that's being abandoned a lot sooner than we foresaw.

I have my issues with Angular v2+, though overall it's way better than v1, but I truly hope the same doesn't happen to those making an investment in this new platform.

</comment><comment><USER29> Has anyone had success using the AOT tools to build a package of reusable angular components? I was able to use AOT pretty easily for a stand-alone app, but keep running into issues when trying to create a shareable component, and there is not a lot of documentation around this.

<comment><USER30> I have, but by using ngc in my gulp build task (had to use gulp for the reason below), unfortunately couldn't make it incremental at that time, so it takes several seconds to re-build when the source is changed.

There is actually another problem when you want to develop reusable UI component library project is that you have to inline style files and template file into ts component.

<comment><USER29> > There is actually another problem when you want to develop reusable UI > component library project is that you have to inline style files and > template file into ts component.

We have a webpack-based process, and using the angular2-template-loader will take care of this for you. Unfortunately, webpack and aot don't mix well.

</comment></comment></comment><comment><USER31> We have invested time into Angular 2 and leveraged a fair amount of its features and ecosystem, but implementation specifics on some have been a great challenge.

We watched the Google I/O presentation from 2016 where the team pitched a lot of exciting stuff coming to angular like SSR/Universal rendering, and decided to buy in and use ng2, but using universal with the CLI was near impossible to get done given how undocumented it was. There was a CLI fork that was quite promising, and with a bit of work we managed to get client side AOT optimization and SSR.

Bundle sizes after all this were unacceptably high. The documentation and talks had discussed things like tree shaking and other such optimization processes, but there was a tussle between webpack and rollup where the CLI used one and not the other, and rollup did tree shaking better, so we had to either drop tree shaking or the CLI. It was not a fun experience.

Eventually angular 4 dropped and there was a timeline on getting the CLI up to speed with universal, the guys at Google I/O 2017 did a talk on universal rendering, but they used some cryptic command line tools that were also fairly undocumented at the time. The angular 2 app sat in production using the old CLI fork that had been abandoned and we weren't able to migrate because universal documentation for angular 4 was also relatively unclear.

Finally for future projects we opted to go with Vue, which has been relatively nicer. We used localization, token based authentication via cookies to enable authenticated universal rendering for logged in users, PWA features (offline). The project was analogous to Yelp, with product and service suggestions displayed to the user depending on their browsing habits and other aspects of their profile. Roughly 300k monthly uniques. Universal was essential for SEO and performance since 90% of traffic was search.

Other than struggles with universal and SEO, there were some issues with getting customizations to the webpack build process since the CLI fork we used didn't allow for many changes like adding minification, etc. We also wanted stuff at the express end of things like HTML minification, but there was no clear-cut way to do caching across things like authenticated vs unauthenticated. Maybe we couldn't think of the best way to go about this. Other frameworks seemed to have a painless way of doing this stuff, so we spent a lot of time wondering if we had made the right choice. Most of the plain client side stuff was very satisfying to use. RxJS is great as well, and it was nice to see it become popular across the JS ecosytem. I am not sure if I would go with angular for future work because the bundle size seems to be overwhelmingly high - perhaps due to a knowledge gap at our end. What would be fantastic some sort of sample kitchen sink demo application that employs all the best practices for everything - auth, localization, seo, universal, build process customization, etc.

At the time of our evaluation, we looked at a number of quickstart and bootstrap/boilerplate/starter kit projects, but each one seemed to lack one thing that we really wanted, with no clear path to integrating it in.

<comment><USER32> I was in the same boat - Watched Angular 2 presentations live (was it ng-conf or something?), was excited about Angular Universal and the Angular CLI that was announced.

Turns out the CLI didn't play nice with Universal. I spent a week trying to convert the bare bones Angular 2 tutorial 'tour of heroes' into an Angular Universal architecture. I couldn't figure it out. Lots of version mismatches and either out of date or 404'd documentation.

I just gave up. If I couldn't convert a simple project to do server side rendering there was no way I'd be able to convert a more complicated project.

</comment></comment><comment><USER33> Still a fan of 1.x, not sure why they think new major versions will convince me to move forward.

</comment><comment><USER34> Just use Vue. Angular is just dead for a large part of the community.

</comment><comment><USER35> `ng serve --aot` will be default?

thanks... please fix: [https://github.com/angular/angular- cli/issues/6742](https://github.com/angular/angular-cli/issues/6742) before..

<comment><USER27> They actually reverted aot by default on serve because for really large project it might slow down the reload time.

</comment></comment><comment><USER36> When Angular 1 was left for dead I went to Knockout.

</comment><comment><USER37> Fantastic release, congrats to the Angular team!

</comment><comment><USER38> Coming from the jQuery and Datatables and Knockout era, I just can't accept the weight and performance of Angular beyond the 1.0 release. I fell in love with Vue.JS (it works like jquery and knockout very similarly)

</comment><comment><USER39> Woah! static injector and typescript transforms! does this mean i can use angulars dependency injection framework for any typescript project without including any 'real angular' so i can start writing node services like i would with spring!? (or perhaps closer to dagger2?)

</comment><comment><USER40> 5.0.0? - such precision in versioning for a library or framework seems both too quick and too precise at the same time.

<comment><USER41> They are following semver: [http://semver.org/](http://semver.org/)

So the major version changes whenever they make a backwards-incompatible change.

However, I clicked in their upgrade calculator (linked from the post) and at a glance it appears the incompatible changes are fairly minor.

<comment><USER42> But did semver really set out to eradicate all distinction between minor incompatibilities and complete architectural reboots?

So much semver adoption seems to be based entirely on wishful thinking.

      Step 1: hey, perfect drop-in compatibility would be so cool
      Step 2: we can do it, with semver!
      Step 3: we use semver! Yay us!
      Step 4: oh, turns out adopting semver did not make perfect drop in compatibility any easier
      Step 5: don't ever touch that zero between major and bugfix

<comment><USER43> > But did semver really set out to eradicate all distinction between minor > incompatibilities and complete architectural reboots?

It's explicit terms do, whether or not that's the intent. Backward incompatible is a bright line.

OTOH, I think that exact bright line _is_ the central purpose of SemVer.

<comment><USER42> > Backward incompatible is a bright line.

Only as bright as the line between public API and private implementation details that are allowed and expected to change between semver minors. This is not always very clear.</comment></comment></comment></comment></comment>


Embarcadero RAD Studio 10.3 (Delphi, C++) Product Feature Matrix [pdf] - <AUTHOR> https://www.embarcadero.com/docs/rad-studio-feature-matrix.pdf <comment><USER2> I'd like to try out the community edition, but the license seems restrictive. It sounds like if you make more than $5,000 (from anywhere - not just through use of the software) you have to buy a license? I don't really get the point of a community edition if (almost) no one can use it without paying.

From [https://www.embarcadero.com/products/rad-studio/rad- studio-e...](https://www.embarcadero.com/products/rad-studio/rad-studio-eula)

> _For example, a developer who receives payment of $5,000.00 for a single > project (or more than $5,000.00 for multiple projects) even if such > engagements do not anticipate the use of the Community Edition, is not > allowed to use the Community Edition. In addition, a developer building > solely an app store application would not be allowed to use the Community > Edition once the app store revenue reaches a revenue of $5,000.00 or more in > a year. If Licensee is a company that has a cumulative annual revenue which > exceeds the Threshold, then Licensee is not allowed to use the Community > Edition, regardless of whether the Community Edition is used solely to write > applications for the business ' internal use or is seen by third parties > outside the company or has a direct revenue associated with it._

</comment><comment><USER3> Sadly Borland really did a big mistake dropping Kylix and going into that Inprise endeavour.

Probably Java would have never had taken off if they kept their compilers accessible to the hobby developers.

<comment><USER4> IMO Kylix was always pretty half-assed. The Lazarus project is what it should have been.

[https://www.lazarus-ide.org/](https://www.lazarus-ide.org/)

But your point stands. Their ridiculous licensing ended any chance they had of mainstream adoption.

<comment><USER3> Yeah using a mix of Qt and WINE, instead of properly porting VCL wasn't a good idea as well.

</comment></comment></comment><comment><USER5> Probably not exactly what you'd expect as a comment to this link, but a few years ago i bought second hand copies of Delphi 2 and C++ Builder 1 (and Borland C++ 5 and JBuilder 2 and VB4Pro, and VB5 and a bunch of other stuff, i like collecting and using old dev tools - sadly most of them do not come in a full box with original manuals which i'd _love_ to have). I normally use Lazarus[0], but sometimes i also like using Delphi 2 and C++ Builder, the former being what i used for years as a teenager (i used to have another second hand CD i got from a local programmer - again without manuals and i guess i got ripped off, but it was the first tool i ever bought by selling some game i wrote... and i promptly lost after my parents moved, but by that time i had lost interest in Delphi and was dabbling in C++ with Borland's free C/C++ Compiler - although i did use the "personal edition" of Delphi 7, which came in a magazine cover disk, to create an "IDE" \- really a text editor that could keep a list of files and call BCC32.EXE - and used it for a couple of years and was where i wrote my first 3D rasterizer[1][2] and learned OpenGL[3], although at some point i also wrote a platform game in Delphi[4] which i later ported to Free Pascal and a few years later recreated with new graphics in C++/SDL, originally as shareware but later opensourced[5]) and the latter something that i was curious about.

I used C++ Builder the last few years to create some unofficial game patches (most can be found at [6]) because it creates small executables (i used OpenWatcom before that, but i found creating the dialogs annoying and of course i didn't want to use Lazarus that makes 1MB+ executables just for a single dialog). Also i _really_ like how fast the compiler is - i do not care it doesn't even support C++98 as i wouldn't use C++ normally anyway :-P. Like with Lazarus, i have a few classes[7] in it for utility stuff.

Recently i also made a mesh editor[8][9] with it. If you check my channel, i have a few "Making a game in XYZ" videos and i wanted to make a video where i "retrocode" a simple game using Direct3D on a Voodoo 2 under Windows 95, but i couldn't find any free mesh editing program that runs on Windows 95 (i tried some old versions of Blender and Wings3D but either nothing worked or was too slow - Voodoo 2 only supports 3D acceleration in fullscreen so the windowed mode programs have to be usable with OpenGL 1.1 using Microsoft's GDI-based software rendering OpenGL implementation). So i decided to write my own :-P. It mostly works, as shown in the video, but i haven't added a way to edit texture coordinates yet. I also tried to write a Quake-like editor[10], but lost interest. I did port (rewrote) the 3D widget stuff for my Lazarus tools though[11].

Ironically even though i spent basically my childhood with Delphi 2, i am not really using it much these days. I use Lazarus for most of my stuff (and TBH i wouldn't really rely on either C++ Builder or Delphi 2 to keep working in the future, although it works just fine under Wine[12] which i feel will be more likely to stay backwards compatible in the future than Windows itself). I did write an OpenGL viewport[13] and OpenGL 4.6 bindings unit for Delphi 2 though (which may work with later versions of Delphi), although the former is really almost a line-by-line conversion of my OpenGL viewport for C++ Builder[14] and the latter is just a unit generated with my Lazarus OpenGL unit binding generator[15] hand-converted to work with Delphi 2's Pascal dialect. I recently thought about writing a Nendo-like[16] modeller by porting my winged edge classes from Lazarus[17], but the day job doesn't leave me with much free time sadly :-P (and i have some games to play too :-P).

Funny enough, just before visiting Hacker News today i went to Embarcadero's site and thought about downloading the latest Delphi - but meh'd out when i was asked to register (i have an account, but i don't remember the details and i'm too lazy to go through the password recovery dance). Although TBH this is largely because every time i tried it the last few years i was really underwhelmed. I don't know, i never liked the post-Delphi 7 interface and i remember even at Delphi 7's time i thought the IDE was too bloated (granted, i was trying to run it on a Pentium MMX with 32MB of RAM...).

I wish there would be a version that had an affordable price (like the original Delphi 2 and C++ Builder, the base versions of both costing only $99.95 which lasted until Delphi 5 and C++ Builder 5 respectively and after that prices started hiking _fast_ ), was available in a box with nice manuals and CD/DVDs (or whatever, for that money i want to have something to touch :-P) and was free of any sort of DRM (i installed C++ Builder once when i got the CD off ebay years ago and since then i simply carry the installation folder around - which is kinda necessary since i've modified a few headers and lib files - if they had any sort of DRM i wouldn't be able to do that).

Basically i'd like a new Delphi 2 :-P. Although TBH this is more of a sentimental thought and in practice Lazarus does the job just fine, even if a bit clunky at times. Still, i'd buy a (proper, non-crippled, especially license-wise) $99.95 DRM-free Delphi (hell, even a digital-only version, as long as i got a nice .exe installer i could safekeep in my external hard drive) without much thought.

[0] [http://www.lazarus-ide.org/](http://www.lazarus-ide.org/)

[1] [https://i.imgur.com/uYBX6nN.png](https://i.imgur.com/uYBX6nN.png)

[2] [https://i.imgur.com/opVUsvG.png](https://i.imgur.com/opVUsvG.png)

[3] [https://i.imgur.com/eS802L7.png](https://i.imgur.com/eS802L7.png)

[4] [https://i.imgur.com/CO4lnhz.png](https://i.imgur.com/CO4lnhz.png)

[5] [http://runtimeterror.com/games/nikwideluxe/](http://runtimeterror.com/games/nikwideluxe/)

[6] [https://pcgamingwiki.com/wiki/Special:Contributions/Bad_Sect...](https://pcgamingwiki.com/wiki/Special:Contributions/Bad_Sector)

[7] [http://runtimeterror.com/rep/bcbcmn/index](http://runtimeterror.com/rep/bcbcmn/index)

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

[9] [http://runtimeterror.com/rep/olmeshy/index](http://runtimeterror.com/rep/olmeshy/index)

[10] [https://i.imgur.com/zRguUf8.png](https://i.imgur.com/zRguUf8.png)

[11] [https://i.imgur.com/6uIFrMC.gif](https://i.imgur.com/6uIFrMC.gif)

[12] [https://i.imgur.com/rInEdBY.png](https://i.imgur.com/rInEdBY.png)

[13] [http://runtimeterror.com/rep/dglvp/index](http://runtimeterror.com/rep/dglvp/index)

[14] [http://runtimeterror.com/tech/bcbgl/](http://runtimeterror.com/tech/bcbgl/)

[15] [http://runtimeterror.com/rep/gl2unit/index](http://runtimeterror.com/rep/gl2unit/index)

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

[17] [https://i.imgur.com/4Zk9Td7.png](https://i.imgur.com/4Zk9Td7.png)

<comment><USER6> I'd buy that too.

</comment></comment><comment><USER7> Nice to see a C++ Builder reference here on HN. If you're looking to build a native Windows GUI, give it a try.

<comment><USER8> I think I'd rather not have a dependency on Embarcadero.</comment></comment>


Against the Crowdfunding Economy - <AUTHOR> https://www.jacobinmag.com/2016/05/crowdfunding-kickstarter-gofundme-charity-taxes/ <comment><USER2> > Parker thinks Patreon works for some artists — like those who have heavily > cultivated their social media presence — but the major drawback is that > artists are forced to spend more and more time creating exclusive content > for the highest-paying patrons to continue receiving funding. As she > elaborates:

> They start to get pissy when you make art they don't want. Like they have a > right to be involved in your life.

Yes, how positively odd that after giving you lots of money, they want something specific in return.

> Friendster seemed lucrative, so why not try something similar in Myspace? > Facebook? Snapchat? They're all variations on a theme.

I've noticed this attitude is widespread among marxists: glossing over differences between businesses, or the products they offer. To a marxist, as long as the high-level descriptions of two products are similar, the products are functionally equivalent. That Myspace got crushed because its UX was basically a dumpster fire means nothing to them, they just seem to view one company winning over the other as the whims of unknowable capitalist machinations.

They view business as a whole as essentially a big black box. This is not because they are stupid, but rather because, to borrow a phrasing from Upton Sinclair, it is difficult to get a man to understand something when his ideology depends upon his not understanding it.

<comment><USER3> > Yes, how positively odd that after giving you lots of money they want > something specific in return.

Sure. You could say precisely the same about a politician who accepts money from a mafia or large corporation. What you are saying is not a counterargument when the entire point of the article is a criticism of a system based around this exchange (in the same way I imagine you wouldn't defend political corruption).

<comment><USER2> Yes, because corrupting politicians with bribes is obviously counter to the public interest and poisonous to democracy. The article does imply that artists making things for their 'patrons' is bad, but it doesn't actually say why. I mean yeah, it does say that what artists create is dictated by what people are willing to pay for, but that's true of basically any business.

The argument they make later for why crowdfunding for paying for people's medical treatment is basically sound: most developed countries have universal healthcare, after all. One can intuitively understand the moral argument of "people shouldn't have to go around begging for donations because they got cancer". The article just doesn't say why that applies to artists, too. Unless you want to just make the hyper-general argument of, "like, you shouldn't have to _work_ for money, maaaan."

edit: basically it's hard to take critique of business behavior from marxists seriously because 90% of the time it seems to come down to "profit is immoral, full communism now", and unless you're willing to go for that, the arguments they present are completely useless.

</comment></comment></comment><comment><USER4> I think the interesting thing about Patreon is I keep hearing of people who individually found ways to create similar systems directly for a long time (pre-Internet). It turns into a sort of mail order subscription service where pay in for a future output of prints/some other output, or one-off buyers can buy things that are surplus. They build this group over time and eventually get to it full-time, so I think people just aren't used to this more modern model of being paid for art. Most artistic output is going to be niche by default in the general case, you have to find and develop your audience! It's a business like any other if you want your art to support you.

</comment><comment><USER5> For makers, inventors, and developers there is Baqqer[0]. Baqqer's focus isn't just on the self, but also creating an open and transparent product while building the supportive community that goes into making a product successful.

[0] [https://baqqer.com/](https://baqqer.com/)

<comment><USER6> I'm not sure this is a smart promotional strategy</comment></comment>