skysight-inc/HackerNews huggingface dataset:
Ask HN: What are the common pitfalls/problems of Single Page App's?
I am working on a Single Page Application (SPA) using Angular 1.5 and while I have spent a lot of time building it, I keep reading about various "issues" regarding javascript frameworks in general. To be specific, I am building the server side API as well as the front end, so I have a lot of freedom to adjust both sides as much as needed (which can be good and bad).

I feel like a SPA style app works well with the use case of the site I have been building in that we are making it easier for our customers to find their information in the shortest amount of time possible (think Google for product support).

With that said, I have a bias towards this design choice because I built it. I know that I might be missing something and I want to consider more use cases than what I can come up with.

What I want to know is when does it make sense to use a more traditional server-client architecture? I had read about Twitter reverting back from a SPA to server rendering, but I feel like their use case was specific to their needs or to a specific metric and possibly user experience for their site (lower time to first tweet, smaller page load, and cleaner URL's).

I am aware of SEO drop with Angular, but I feel like problems like clean URL's, back button not working, and UI thrashing are fairly solveable by good planning (in the case of the URL's) and Web Workers (to address UI Thrashing).

I chose Angular because I was already very familiar with it and I found it to be fairly flexible for what I need it to do, it just needs some nudging at times (ng-if vs. ng-show/hide). Also, at the time, I couldn't get the JSX tooling for React to work properly and I think Babel couldn't do transpiling for the latest version of React at that time (I think it was around 1.4). I had used Mithril which was a huge joy and very powerful, but the way my site works (it's an Oracle product using PHP/CodeIgnitor), I couldn't get the client side routing to work properly.
10 Books every founder should read
There are nuances to it, but it's a heck of a lot closer to 'the truth' than "every H1-B is taking a job from a US citizen", which is egregiously wrong.
"Open the pod bay doors, Hal."
or certainly 3) How the opinions of non-citizens are in anyway relevant to US policy on this issue.
Debian has the how-can-i-help tool, which is aimed at helping people find low-hanging fruit:

https://wiki.debian.org/how-can-i-help
Searched for something NSFW and didn't get any results :(
Hi leeoniya. domvm is a an interesting project that I've been keeping my eyes on. I'm thinking of adapting some of your ideas for the rewrite of Mithril that I'm working on, particularly APIs related to re-rendering control. Stay tuned :)
Careful, if you say anything bad about liberalism/socialism, downvoting is a certainty...
Yes, and all such violations should be reported and dealt with. However, using a fact from a local scope to make an automatic "winning" argument in a larger, more global scope is disingenuous.
that's pretty neat. i just got an ecobee for my birthday and love it, so far.
Try to search for Obama|PERSON
Kimono had a beautiful chrome extension which allowed me to easily extract things quickly without needing to write any selectors / scraping. Much love to this team; best of luck!
It's cool to get a 6 fig GBP salary but tbh, assuming what I've heard about the working hours there is true, I could still just do a combo of freelancing and contracting and make way, way more cash.
Will they hire you if you smoke pot? I hear college students sometimes do that.
> Also, the common argument of "There is no shortage for X, people just want to pay less money, than the current, extremely high price of X", is completely nonsensical.

Your definition of shortage is nonsensical, and it's easy to prove it:

From MY point of view, there is a shortage of supermodels willing to have sex with me. Everybody would laugh at that being a "shortage".

The same applies in that there is a shortage of engineers willing to work for me for free. Everybody would also laugh at that shortage.
That applies to pretty much all working class professionals.
Mud can be shaped in a large number of useful and beautiful things.
Now can't you experiment with algebra operations on those vectors, like "queen minus female plus male = king"?
There is also the variable-expansion abort, even with optional custom error message:

"${VAR:?Error message goes here}"

Will exit2 if VAR is unset or the empty string.

Or, which I often use, build the path you want to delete, call realpath on it - then check if your base directory you never ever have any business leaving is a prefix string of the realpath resolved path. This still allows to symlink stuff into subdirectories but will catch if something resolves suddenly all over the place.
Get 50% discount on Yodiz subscription, valid till March 1
But there are many more low-quality ones to complain about how the shortage is a myth.
Is there a viable alternative to Lightroom? It's the only reason I'm stuck with Creative Cloud.
I think that's simply not true. It's the "shortage of engineers" meme that just won't die.

While there may be a lot of tech companies in SV hiring (debatable--there are certainly lots of them _interviewing_, but hiring?) there are only so many Alphabets and Facebooks in the area. Outside of opportunities at companies like these, you'll have to sacrifice some "career and income stability" which the parent poster pointed out.

Definitely leave if you're being abused, but it would be foolish not to prepare for a salary hit and/or 3-6 months of joblessness.
You can use npm to distribute binaries.
> In an earlier time, Alan could have found many friends among his community.

There have always been loners and misfits and "stay away from that house, kids", and always will be. You say that on the one hand, we don't have the relationships we used to, but on the other hand, with technology and travel, tons of people are forging new relationships that they otherwise wouldn't. Gay people are able to find friendly communities and move to them where in the past they couldn't risk showing themselves.

I don't think it's as easy as saying it's hard to make relationships in these modern times - the picture is shifting and complex. Higher populations paradoxically offer more opportunity for anonymity, but conversely being an outcast in a small community is worse than being anonymous.
Pretty good at picking up the Smash Bros Jargon:

https://sense2vec.spacy.io/?dash_dance|NOUN
Thanks, I'll definitely be taking a look.

My frustrations with poor publication curation is ... a major pain point.

I would love:

1. A tool that would present HTML content in some standardised, simple, format. E.g., Readability, Instapaper, Pocket, Firefox Reader Mode.

2. Include metadata. Perhaps a somewhat IMDB-type facility for sources which don't include good metadata. ISBN and DOI work well for traditional printed book and scientific article works, but other online content is ... less well structured.

3. Tags. I've detailed a possibly workable general tagging ontology at Ello (https://ello.co/dredmorbius/post/FTpX7LWNFjtOpYGu5xRkHg). That plus user-assignable tags, and the ability to subset/select by multiple tags would be ... nice.

4. Bibliography generation.

I've looked at, kinda, Calibre, Zotero, Mendelay (rejected on account of Elsevier ownership), and a few other tools.

Sharing between desktop (Linux) and Android other than via Kindle would be tres, tres cool.
> He gets cause and effect wrong. The reason why enrollments are so high is BECAUSE of the shortage.

As do you have the cause wrong.

The reason why enrollments in STEM are high is because it is one of the last remaining degrees which actually pays back the money spent to get it.

Until they start feeding a quarter million H1-B's into the system a year.
EDIT: Ordinary differential equations, yes - we do here in .au, at least in Maths C (advanced maths) in Queensland. Partial differential equations, the kind that are very useful in the kinds of physics simulations discussed - not so much.

And even with that background, our foreign lecturers were regularly disappointed at our lack of mathematics competency in University ("Now I have to waste the next 4 weeks teaching you things we learnt in highschool in my home country before I can move on to what this subject is actually about").

These were Asian/Indian and a Ukrainian lecturer, that I recall.
in US? yes.

when we will get to the "citizen of the world" equality it would be another issue. Right now we have distinct countries with their own citizens and their own support/taxes/infrastructure serving them and that's their own issues to work on.
There is no mystery algorithm. It's just cheap college labor working obscene hours to pump out "data analysis" scripts. The sad thing is that it actually works. The places that hire palantir are so mired in bureaucracy and process that whatever palantir builds seems to be better. Of course, just like SAP and Accenture you're now kinda locked in with support contracts.

Modern tools like spark and mesos in theory let you do what palantir does and then some but it assumes your internal IT team is semi-competent which more often than not is not a correct assumption.
tried "netflix and chill", didn't find anything? That to me is the phrase of the year that is more than the sum of its parts.
A lisp repl is not any repl. First, the homoiconicity of the lisp syntax allows you to sumbit structures of arbitrary complexity to the listener, and reuse output from it, even submit it back as code to execute. Second, the error handling mechanism allows you to interactively choose how to resume, and the way the repl and the image work, allows you to redefine the ill code before resuming, which is incredibly useful and intuitive. Say I have an url, and a loop that reads some data from that url, suddenly an error happens, the resource url is changed and I have to update. If I was using slime through emacs, I would be taken to the debugger, which shows me the options to resume. While that debugger is there, I can switch to the source file, tweak the variable for the url, evaluate it, switch back to the debugger, and hit the key for retry. I would have fixed the code without having to stop the program (not even behind the scenes, like with tools that watch the program and restart it). And also within the debugger, in either of Elisp debugger and Slime debugger, I can do many things, among which peek into the locals, copy stuff from there and use in my program to explore the problem. I have heard that in a space mission, NASA programmers were able to fix a spacecraft that was in space, from earth, via connecting to its lisp image over the network.

What do you do when you have to debug a pipeline? You do not have direct access to the data that flows, you need special tools to examine core dumps, and you have to have had enabled saving the dumps beforehand, you need to verify that the command syntax is correct, you have to understand what each program emit, and make sure you filter out all irrelevant data like logging etc., you don't know which part of the pipeline failed, where, you don't know if it is a wrong parameter or the program has a bug. And in order to fix bugs in programs that make up the pipeline, you have to know in whatever language the buggy one was implemented:

</var/log/my-service.log ag 'Response: 505' | sed 's#(<timestamp>) (<path>) Response: (\d{3}) (\w+)#\1,\2,\3,\4#' | python create_report.py --output-to latex > /tmp/report.tex && latex /tmp/report.tex && dvi2pdf /tmp/report.tex && [ -f /tmp/report.pdf ] && sh /home/gkya/utils/mail_report.sh --report /tmp/report.pdf

In this command line at least six different languages are in use. I just made it up, but it doesn't seem far-fetched to me.
Entrepreneurs are different in some regards. They have much higher risk tolerance, care less about doing things the "recommended way", etc. This isn't to say they are superior in any way. That is a different statement.
Obligatory "try Elixir too; it has the same semantics, a more Ruby-like syntax (which is a matter of preference) and actual macros, while still compiling down to the same BEAM!"
How to win an online argument: lessons from Reddit
I would guess that there is a large population of people who use adblock for ideological reasons; your right to display ads stops at my eyeballs.
Communities of marginalized people also contain toxic people, unless you want to believe that by "virtue" of being marginalized we can assume a lack of toxicity.
Should the last operation by the old-timer system developer be "(this_month XOR last_month) AND this_month" instead of "(this_month XOR last_month) XOR this_month" ? Or am I missing something there?
This is supported in the underlying data, but we don't expose it in the UI at the moment. We'll probably do something a bit different to help people make those queries.
The issue isn't detached houses so much as the lack of homes in general designed for families (both house and condo). There are very few.
The real math that describes the behavior of fusion reactors is too complicated to actually carry out, so physicists have to make some simplifying assumptions. They try to choose assumptions so that the results they get are still valid, kind of like when you say, "Keep the change" at the grocery store. You assume that giving up small amounts of money on occasion won't make you go bankrupt, even though you're not actually adding it up all the time to keep track of how much you've given up.

It turns out that one of the simplifying assumptions that physicists have been making over the years does change the result. Giving up the "spare change" does make you "go bankrupt." In this case, ignoring small-scale turbulence makes you lose a significant amount of heat. But figuring that out required some really hairy math and a butt-load of computing power.

Is that simple enough for you?
AJAXing data is great
(It should be AJAJ btw :)

But when do you update the view? Angular dirty-checks the model on each $digest cycle. React dirty-checks the view.

Why not simply require the component to call a function to indicate it's changed a couple variables in its state? Simply keep references to the DOM elements in your component and update them. It's much faster and gives you more control, and a programmer who forgets to write the function call will realize it as soon as they don't see the update. The IDE or linter can even have a static analyzer that flags a missing call to the function.

I think that a lot of times these attempts at convenience (such as Angular's two way binding, or the virtual DOM) just throw more layers of complexity and slow things down from a relatively simple straightforward approach, while providing little other than saving keystrokes.
I will keep my future HN posts strictly ideology free!
I have a $60 no name generic z-wave thermostat that when paired to my Wink Hub (could be any z-wave compatible hub though) I get nearly all of the functionality of Nest with none of the headaches. It runs on a schedule I define instead of some magical algorithm, I can get all the alerts I want in a unified interface (the Wink app on my phone), and I can monitor the temp in my house or turn it on/off remotely when I leave for vacation. More importantly, it's never not worked for any reason.
See http://www.economist.com/blogs/freeexchange/2015/04/land-val...
This is the sort of dismissive comment that produces embarrassing flamewars like the below. If you're going to post about something tribal, please edit out snark like "just to make themselves feel l33t". And please don't escalate when someone takes what you said the wrong way.

We detached this subthread from https://news.ycombinator.com/item?id=11102696 and marked it off-topic.
> we couldn’t be happier to announce

The tone of the announcement is in bad taste given the bad news for their customers.
Ask HN: Why should I learn Lua?
Hi, I'm a student at the moment and I've been in the last year or two learning a lot more about this world. I've read in some pages abot Lua, but what are the real use case of Lua?

I mean, is it best for writing scripts, developing complex software, can we use it in web apps? So, what are the strenghts of this language?

Thank you HN
My understanding (maybe wrong) was that the Alphabet changes made it really hard to move between the subsidiaries.
This is very cool. I have played with the word2vec download a lot and I have been sorta amazed. If you had a lot of money... like google... it would be cool to train word vectors on the whole internet.

something like this definitely makes word net obsolete. :-(
http://wordnetweb.princeton.edu/perl/webwn
"What had highest ROI in your launch preps?

Tony Wright : I wish we could know for sure. I think the video investment, both in terms of our own effort and the money we spent, was huge."

For anyone interested in top performing Kickstarter videos, my weekend project this week was crawling Kickstarter to build a gallery of videos from campaigns that funded at least 5x their original goal. It's live here: https://kickflicks.com
> That workers who demand more than the market rate should have their jobs protected so they don't feel bad about the economy changing around them? Even at the expense of everyone else?

I demand a market rate of zero. Now do you see the problem?

Everybody loves capitalism--until they're on the receiving end.
We probably need to do away with partially processed source and distribute just the git repo (or a tarball without .git but with info about which git rev it is) and binary packages for end-users.
Why C Students Are More Successful After Graduation
It's not capital. It's land. Returns on capital are also pretty low.
True. Although you have to count that in US most buildings are made of wood and drywall, and not with Austrian or Swiss fire-proofing standards.
Importing highly skilled, hard working people most certainly does make our lives better.
LLVM is designed for languages that are compiled ahead of time like C and C++. In these cases it's not that important how much time and memory it takes to compile something.

If you're working on a JIT, this matters. A lot. Webkit isn't the first project has has used or worked with LLVM in this manner and abandoned it. PyPy has also investigated using LLVM and stopped doing that.

LLVM isn't bad, it just isn't good at solving this problem it wasn't designed for. If anything, I think it's remarkable LLVM has worked out as well for Webkit as it did.
Using npm to distribute a shell script, seriously? That's not such a good idea. I think what you want is something like the Autotools so your software may be installed with the standard './configure && make && make install'. This way, you make it easy for upstream distributions to package your software.
Yeah. There seems to be a paradox embedded in the national conversation about STEM and the job market.

On one hand, various thought-leaders insist that people in the US should get training in STEM fields. Education is the answer, your answer, to employability. It doesn't matter who you are; you can get STEM training and become competitive in the job market.

On the other hand, some of these same thought-leaders insist that the US absolutely must import lots more people from foreign countries. There's no way to train existing people in the US to do the necessary work. It doesn't matter who you are; you can't do it. Step aside. We're replacing you.

A lot of times the people making these arguments are lawyers.
I tried "rick and morty" and got the same issue. My guess is it has something to do with the term "and."
No, she just happens not to like the way he (and apparently a good number of other VCs) mentally navigates the issue, and chose to write a blog post expressing these thoughts. She doesn't like the idea that mothers can't be founders because they "have better things to do".
I wouldn't go as far as that, wordnet has other interesting uses (and its prolog version makes for a cool "query" language)
We could rise up and destroy those who do such things. I don't think anyone would shed a tear if this guy were to be kicked out of the company.
Until they die, the company goes bankrupt, or it's subject to such a compelling buyout offer that they can't responsibly decline it.

Capitalism wins, eventually.
The band names are particularly cool. It is sorta like a recommendation engine. If you like Pink floyd, you might like Led Zepplin.
It's political, but not necessarily in a bad way.

e.g. a state decides it wants to be on the same timezone as a neighbour so that trade goes smoothly.

or more frequently: in most countries, it's up to individual states/provinces whether they follow daylight savings or not; so there's always a few each year that decide to start doing or stop doing daylight savings.
As the world changes, strategies for making money change. Uber isn't an individual attractive business, it's an exemplar of how putting internet-connected sensors in every pocket allows new and improved marketplaces to be created, and marketplaces have proven network effects that lead to profit. When startups claimed to be "Uber for X," this is the investment thesis they were shortening.
The proper response would be to increase the supply---in real estate as well as in education. There are lots of people who'd like to be professors and teachers. Just hire more.

Why do you say it's a finite system?
> Linkifies branch references in pull requests

This alone would be worth it, I have no idea why Github doesn't do that by default.

Alas, I'm on Firefox 8-).
Wouldn't that have issues with Windows? I'm not a huge fan of NPM but it works really well when you want to be cross platform.
You are if you have a good BATNA.
The referenced article presents a case that there is no STEM worker shortage and supports it with referenced statistics and studies. You may dispute his data, but he did provide it. Stating a position on the assumption that there is a serious problem with excessive or high wages, i.e. overpaid workers which requires immediate fixing is an odd leap.

What workers are demanding more that the market rate? There is a market rate with a 1/4 million H1-Bs and there is a market rate without a 1/4 million H1-Bs. Any worker which demands more than the market rate will not get it.

And what is the expense of everyone else referring too? It is substantially a zero sum game. Who are the else?
the current trend, based on what I've seen open-source projects using, seems to be strongly towards homebrew. Not sure if I've seen a project recommending install via fink in quite a few years.
Which wasn't what he was doing.
This is a shibboleth, is it not? A code phrase used by a particular in-group to signal membership of that in-group. (Although frequently they're terms of art to mean certain specific things by that in-group.)
the team consists of a bunch of industrial designers and *hitty electronic engineers?