skysight-inc/HackerNews huggingface dataset:
because copyright and patents are orthogonal concepts. FB gives you patent grant with restrictions Google does not give you a patent grant at all.
Ask HN: What Funding Sources Exist for High Growth Services Oriented Startups?
The community main discussions are around startups building products that scales more easily than services oriented companies which require to scale at the number of people working there. I am interested to know more about VC or other funding resources (e.g. low interest loans) to help scale a high growth service company.

Food for thought:

- What Should You Do With Your Crappy Little Services Business? by Mark Suster (2011) [1]

[1] https://techcrunch.com/2011/04/24/what-should-you-do-with-your-crappy-little-services-business/
It's likely that's because it currently uses the built-in Android WebView (which may store its own pseudo-history). That is a problem, but I believe their plans to replace WebView with Gecko will likely solve this problem. https://github.com/mozilla-mobile/focus-android/issues/13
Judging from the title I expected one of the usual BS posts like "OMG, React mixes code and html!!!" etc and was ready to post a "No, you just don't get it" comment.

But this actually makes several good points on accidental complexity imposed by React/Redux.

I know why they impose it, but there must (should) be a better way.
Thanks! I also found the following one which gives a rationale [1]. The fine distinction is that the patent grant is completely separate from the copyright license and the termination of patent grant has no influence on the copyright license whatsoever. Unfortunately these messages are not in a single thread, so it is a bit hard to find them.

[1] https://lists.gnu.org/archive/html/directory-discuss/2017-01...
The reason is that the string concatenation operation is doing a String.valueOf() on the argument, and that delegates to toString() that promises a human readable string that is relevant.

For some reason someone decided to check for null instead of the stricter option of throwing a NullPointerException. Maybe to help debugging or to follow the gist of toString().

I guess it was too late to change even in Java 0.9... Autoboxing, iterators and other newer features are more strict,so I suppose it's just one of the few irregularities left from prehistoric times...
I'm surprised build time wasn't on the list.

Curious and can't find anything: what's the most complex golang program out there, and how long does it take to compile?
You can disable it in the settings, and you can install Firefox Klar (the exact same code, but made for more privacy-consious countries) from FDroid[1] which has everything disabled by default.

[1]: https://f-droid.org/packages/org.mozilla.klar/
>This is exactly what every company tells you why they collect data. "To serve you better ..."

But sometimes it is true and sometimes it is not. The difference matters.

Collecting aggregate usage statistics does not have the same consequences as building detailed personal profiles and storing them indefinitely.
That seems like a lot of trouble to accomplish something not quite as good as what she's already accomplished, without any of the work.
The courts are so messed up, you're talking about one half day of court time every six months during ongoing litigation.
A 6502-Based Expansion Board for a Z80-Based Homebrew Computer
I've been to CR a couple of times the past few years and the beach breaks are great and people are super nice. I've never experienced any hostility in the water there, or elsewhere in the world either for that matter. Being considerate of other surfers goes a long way and should someone act like an ass just move a couple of 100m up or down the beach. There is always another ok break close by.
For context in this discussion, the patent text in GPLv3 was original a copy of the Apache 2.0 patent text. This is why Apache 2.0 and GPLv3 are compatible, since the Apache 2.0 patent text is simply a subset of the GPLv3 patent text.
Mutability is actually a kluge.
> All this and handling overflow still doesn't make the list.

Because it's either a solved problem if you just use infinite precision numbers, or it's encompassed by other things the article lists, like refinement types/extended static checking and errors.
I have lived in Japan since I was quite young (late 20s now) and don't see what the problem with lolicon is. It's not my thing, but if someone enjoys it that's their business, they aren't hurting anyone. That's just my gut feeling on the matter, I'm interested in hearing others' thoughts.
It is on FDroid[1], and they provide official builds[2]. I really wish people would actually check stuff like this (that takes a few minutes) before spreading FUD.

As an aside, I only use FDroid on my devices to install APKs (the only exception being Signal which now provides bare APKs[3]).

[1]: https://f-droid.org/packages/org.mozilla.klar/
[2]: https://github.com/mozilla-mobile/focus-android/releases
[3]: https://signal.org/android/apk/
>~15 years trying to make everyone separate HTML, JS & CSS. And then suddenly everything went south and we’re writing code like this:

That's definitely not what's bad about React. In fact that's what great about React -- coherent widgets (components) that are defined in a single place. Not to mention that JSX in React it's all JS and properly parsed and checked -- the "HTML" there is just sugar.

Such separation of HTML/JS/CSS was misconceived. It makes sense for web documents and simple forms, but not for web apps with rich widgets etc (which is what we're trying to do). Tons of problems stemmed from cargo cult adherence to that.

Everybody else, including those that add JS instructions (or ad-hoc "templating language" instructions inside HTML tags) are getting it wrong.
The whole "separate HTML, JS & CSS" idea I don't believe is something that should go unchallenged.

It was "best practice" back in the days for years and mostly just because it was best practice, but also because at that time it made juust that much more sense where web applications were more primitive and closer to a semantic HTML "document" with some interactivity sprinkled on top (remember when AJAX was bleeding edge jaw dropping? "LOOK THE PAGE DOES NOT EVEN REFRESH!").

It's just some theoretical ideal that never pays any dividends in the real world and is not appropriate for a sophisticated modern web application.

The separated HTML, JS and CSS of your sophisticated datetime picker element or auto-suggest fancy textbox are of no use or importance separately. They all need each other, they are all inter-dependent and if you force that separation on some ideological idealistic principle you create the spaghetti that any commercial web developer out in the front lines is well aware of.

You spend a good 60% of your time on "where is the HTML for this JS" ... "where is the JS for this HTML" ... "where is the CSS for this HTML".

I'm sure a lone programmer is going to come down here and reply about their snowflake project that "was done right".

I don't care. Frame the code and hang it on your wall.

Out there in the real world in teams of 10+ people with varying degrees of skill and care who join and leave over multiple years you can't have a snowflake project that is perfect in every regard. So if the eco-system doesn't give you strong suspension belts things will go south.

If you could easily and practically switch and mix and match custom HTML/JS/CSS for any given web application then that would be something.

We would need much tighter and stricter interfaces and so on for something like that to work.

We all know that's nowhere near the case. Any non-trivial commercial web application will inevitably have HTML/JS/CSS that are all heavily dependent on each other and as a result the separation of them doesn't provide much benefit, and creates a whole series of problems on top too.
My #1: download vue(.min).js and you are ready to go. No packagemanager, bundler and what not needed.
I still do not see why somebody in their right mind would willingly prefer camelCase over using_underscore

My taste is the opposite: I can't understand underscores in identifiers, it's like having hiccups inside every thought.

But what saddens me is that we're still having this conversation in 2017. It would be trivial for editors to support either style, if only language designs included the concept of word separator inside identifiers, which could then be rendered at display/edit-time according to user preference.

Somehow programming languages are extremely resistant to these kinds of improvements. ColorFORTH is the only example that comes to mind of a language designed beyond ASCII.
I don't think what you're responding to is a desire to create a "safe space", but is actually pointing out a bad user experience. If an unintended consequence of your product is that it reminds users of deceased friends and relatives at inopportune times or in uncomfortable ways, I think it's worth exploring solutions to that.
We're seeing some of his principles are what landed Uber in this situation in the first place. So I'd be more careful with idolizing him. This is not the first or last drama from Uber. There are many other companies having similar impact in the world (or better) without using illegal methods.
It will take all of 2 hours tops to go from zero to writing an interesting program.
But that's just the tip of the iceberg that xml is a amateurish protocol language. I'm so glad that it's finally dying.

Unfortunately it's replaced by something even more messed up
Vue components are really following the same paradigm React does: styling, view and logic are all in one place. The only thing in which react differs here is that it uses different syntax. Instead of using attributes in the template which create a new language, react went with slightly modified javascript. And in the production build, Vue compiles html to javascript functions anyway.
Is it actually better to need to have three files open at a time in order to work on a UI component?

I think React components perfectly follow the single responsibility principle. You have a single file that is responsible for one thing: mapping data to UI. Yeah, it has some crazy syntax but it's just sugar.

I tend to use separate stylesheets, but that file lives right next to the component file.
To paraphrase somebody, separating HTML, JS & CSS is like taking an essay and separating out the nouns, verbs and adjectives. Sure you have achieved "separation of concerns", but your codebase now no longer has any semblance of coherence.
Wow this is extemely close to my own reasons for having a preference for Go. Very well articulated. The clarity of Go code can not be empasized enough. To be fair my favourite languages are Julia and Swift but that neither can really math Go in clarity and simplity.
Does someone want to give a reason for down voting this comment? There isn’t anything controversial here. For myself, lack of genetics are enough reason not to use the language. My personal style relies a lot on them and I don’t see myself sacrificing that power for above average tooling.
I would start a bit simpler. Are there any statically typed serialisation formats like flatbuffers or cap'n proto where you can statically verify that version 1.0 and version 1.2 are compatible but version 1.2 and 2.0 are not?
I was expecting to read about the heavy metal band, Mastodon.
MithrilJS
First job: Nothing, knew someone at the company, started part-time.

Second job: Knew some people from IRC, still had to show some code. I chose a signature generator (for use in MMO forums) that showed your characters. (PHP, MySQL, gd, reading APIs)
Bring up Genius
Then let's record video and audio from everyone who has installed Firefox to understand even better how the real users use the browser. Let's also record all the sites they visit and all the keys they press on a virtual keyboard.
I will buy the hype once I can sit and create the whole UI/UX visually dragging widgets and not creating a single line of html/javascript/css/your-favorite-tenplate-language. Except if I am doing some real new UI/UX.
Vue.js is like perl. Too many ways to do a single thing
The History of T
My background - self-taught in C, wrote BASIC to make money in High School, learned Java (and used professionally). Eventually ended up with Ruby (Rails). I developed my own LISP-like for many years.

Now most of my hobby programming is in Go. I really like it's connection to C. You feel the connection through to lower level programming. I also like the emphasis Go both emphasizes data structures and is first-class with functions. The combination of the two are really easy for me to navigate, but extremely expressive too.

It feels like a language that is very grounded in the fundamentals as I see them, but with a modern outlook and tooling. It feels amazing to write a web-based application with the power of C, but feeling confident you're not going to blow your own foot off every step of the way.
Likewise

Remember Mastodon? In April 2017, there was a wave of excitement about Mastodon, a federated social network

Never heard of it. Have heard of Diaspora and gab.ai tho'.
It matters for large teams and when you got hundreds of languages to choose from. I am sure Haskell is great but after a couple of weeks studying it I realize I don't have time for something I don't know if will pay off or not. In contrast with Go you can see benefits almost immediatly
> Vue most likely is infringing on FB patents anyway

There are zero known patents related to react.
"Uncomfortable" as in "offends my American puritan-inspired sensibilities".

"Pardon him, Theodotus: he is a barbarian, and thinks that the customs of his tribe and island are the laws of nature". George Bernard Shaw, "Ceasar and Cleopatra".

(Slightly off topic: Feynman had a nice story in one of his books about how the main in a Japanese guesthouse he stayed walked in while he was naked and having a bath. She didn't flinch and just went on about her business like nothing had happened, and he was thinking what a fuss/embarrassment etc that would have caused if it happened in a hotel in the US -- when it's just an adult being naked with another adult present. It's not like everybody hasn't seen genitals before or it's a big deal.)
Lolicon can also refer to live action stuff where the model is of age but looks younger. Also, the rules on this stuff in the US are quite murky and vary by state, rather than being simply illegal across the board as this article wants to suggest.
I still sitck with AngularJS because of it's simplicity. You just bind your data to the template. Vue looks similar, but I learned not to start new big project with brand-new library.
Porn is too ubiquitous and accepted on the common web to really drive technologies the way it used to.

For example, bittorrent started with porn, but that's not what drove its growth or made it successful. If the credit card companies didn't allow porn transactions on their networks, bitcoin would probably be much larger today. Tor is a similar story, I assume.
We use rip currents as tow lines so we don't need those ;) Around 5 times more people die from avalanches alone than from shark attacks each year so sell your skis and buy yourself one of those foam boards instead!
`One thing that I'd love to be able to do is to have the data as plain-old-objects, updated frequently from one thread, and the gui living on another thread that observes it occasionally in a read-only fashion`

Dojo-stores, observable-collections essentially, were like that. A Dojo-view was a monitor for this. A very simple, elegant model-view design.

I agree that we should embrace mutability. The JS-code most people write now has horrible performance characteristics since we do not take advantage of the benefits of mutating objects to manage state. Instead, in JS-world, we recreate and duplicate state all the time, spamming the heap. One library doing this is not too bad, but all libraries doing this is the main cause of slow web apps.
The tricky part is probably testing. I don't think e.g. jest (or maybe it was enzyme?) supports alternative implementations quite yet, though they were working on it...that was true months ago though.

If you're starting from scratch pretty easy though, sure. But that assumption is all too widespread in the JS ecosystem these days : (
People just end up inventing idioms to handle those, anyway. Go's nil-check error handling is a prime example. That's a beautifully solved problem with ADTs, but it's impossible without generic support, for starters. Runtime errors, abound!
Ehh, I don't really think this is a huge deal personally. Keep in mind that it is not that `(string)null` gives you the "null" string, or `((string)null).ToString()` gives you the null string. You have to use actual string concatenation to get it (Or as others have pointed out, `String.ToValue(null)`). Point being, it isn't/shouldn't be messing up your regular comparisons (Unless you turn it into a string beforehand), and you really shouldn't be checking for stuff like `null` against a string literal anyway - it's meant for displaying a human readable string, not an unambiguous string that could be converted back at a later time. If you wanted that then you should use proper serialization techniques rather then just concatenating a bunch of values.
I joined my current employer for their mission to provide mobile phones in local languages in India. Its a real contribution that helps user on the ground, but I quit after working for them for about eight months, after I realized that not only the localization was more of a marketing point, and that no real work on localization had happened in last two years, but also that people within the company were least bothered about the end product, and more about their own responsibilities. Everyone worked in silos, and management didn't give a damn about it. I am switching sides, and going from a pure server side role to a server side cum embedded systems role to try to change something in the electricity wastage problem.

So to sum up, my current job was taken because company had a mission. I quit it because they didn't stand by that mission in their day to day working. And I joined my next company due to their mission.
If anyone has experience switching from React to Preact I would be interested in hearing what that was like.
> go has a short list of reserved words

I use go a lot now. However, I must admit I find the use of interface{} "aka empty interface, aka void*" a weird one. It's technically correct, but it's an odd semantic.
I suspect that when Chomsky dies, a burst of new and valuable linguistics research will arrive. I'm not saying I hope he dies soon. However, I think his current impact on the field is probably negative.

My theory derives from these sources: https://www.economist.com/news/books-and-arts/21695371-theor... (Chomsky's recent theory of how language evolved has not been accepted favorably), and

http://www.nber.org/papers/w21788 (this happens a lot)
Sorry I've forgotten what the status was on the "are APIs copyrightable" question, i.e. the Oracle v Google fight. I'm kind of confused about what wikipedia says happened - there seem to be two final rulings one in favor of Oracle and one in favor of Google with Oracle appealing the second. Is it that APIs are copyrightable but duplicating them is (sometimes?) covered under fair use? Either way, I'd be a little hesitant to use this.
> It doesn't add things, it takes them away, notably exceptions, inheritance, generics.

s/exceptions/error handling/

What Go proposes is awful for a modern language.
Having used Angular 1 quite a bit, I think the whole DSL for HTML business is not the way to go. But at least Vue had the good sense to compile them rather than evaluate them at runtime like Angular.
I'm glad it was posted since this is what finally got me to register an account after years and years of reading HN.
Surely there is some foreign cultural practice you find offensive. I am not up in arms about this, but I find it pretty easy to condemn suttee, for instance.
In what way does it sound similar?
Tor and Cloudfront spring to mind.
You can do the same with react. Unfortunately with either library you are going to want it for any serious project.
There's a lot of comments in here addressing some of the conceptual misunderstandings of "how to use react" (i.e. "use immutable.js", etc). I started writing React within the last year and, while I still find parts of it strange, I've found its real strength comes from the fact that it's easy to reason about, particularly at scale. In a large project, I don't find myself digging around the codebase looking for the place where event listeners are being bound, or where a piece of the DOM is getting mutated. The unidirectional flow of data makes it very easy to jump into a piece of an app.

It's not without its complexities, however. Mainly:

1. using JSX, instead of a more transparent templating language, means people with less technical knowledge (i.e. product designers) have a higher barrier to entry when trying to make simple UI changes (I'm looking at you, `className`).

2. it is unclear at times whether a component should have its properties passed in directly from state through `mapStateToProps`, or from a parent component through `props`.

3. there does seem to be an tiring amount of boilerplate when adding a new piece of interaction to a component (an action, an action type, a reducer case, and usually a piece of state all need to be added).

4. to a newcomer, the benefits of immutable.js are apparent, but the benefits of a memoizing layer like reselect.js were less obvious. When you're still trying to wrap your head around How To Write React Things™, it's not apparent that you'd even need memoization ("isn't React supposed to be good at diffing stuff?" you ask yourself after watching large pieces of your app redraw itself over and over).

I'm curious to hear how people deal with these particular issues. React was one of the more useful tools I learned about this year, and I'd love to see the process for newcomers to React become less frustrating.

Edit: formatting
This is a very dangerous follower mentality. You and I are not in the league of these big companies. If FB sues them they have deep enough pockets to fight back. But we, we would just vanish into thin air.
Programming Language for Old Timers by David A. Moon
As I said in my article [1]:

Patents protect ideas and inventions. In most cases, patent assertion cases are not black or white — win or loose. Infringement evaluation is complex and costly. A lawsuit can cost hundreds of thousands or millions to file and pursue. You might have a 85% confidence that FB violated a patent of yours, but to even pursue it it’s going to cost you a lot of money.

If on top of that, you will need to invest to migrate away onto a different frontend framework first, and make sure that all your customers are using your new product version (what if you’re using React Native? your users may not upgrade the apps at once!), before you can even file the lawsuit, do you think that’s an honest, ethical usage of open source philosophy?

Bottom line: Open Source is not a “quid pro quo” trade. Open Source is about creating communities to build better software together. It should never be used as a marketplace to exchange people's rights.

[1] https://medium.com/consensusx/if-youre-a-startup-you-should-...
Well, one can knock suttee all they like, but its wonderful for reducing pension costs for the state.

Joking aside, this tradition, unlike the one described, involves actual gore, and burning alive of people at that. The other is looking at pictures, mostly drawn.