skysight-inc/HackerNews huggingface dataset:
Theoretically they should not be allowed to have a monopoly of a payment provider. Imagine if $YOUR_BANK_HERE offers an in-phone API for payments. Just like you can click a button on an online shop that will load paypal.com, you should be able to press a "Pay" button in an app to load a payment provider app that you trust with your CC info. Then you can confirm this payment through that app, or set-up rules like "If it's Lyft and the charge is less than $20 and the daily total so far is less than $50, automatically allow.".

But I'm guessing such an app would violate some Android or iPhone Terms and Conditions.
A simple metaphor would be like - why not make a Ford F350 get 35 mpg instead of owning a Fusion Hybrid for commuting during the week?

Limits of physics and engineering.

Will a reasonably powerful gaming card eventually draw the equivalent power of an integrated chip (when not gaming)? Probably. It seems like we're not there yet.
upvoted, but I think you meant "that's NOT true for Scala" (for the reasons you mentioned).

Also, it should be clarified that `val` in Scala gets evaluated only once, which is why it cannot return different things at different times, unlike `def`.
Entity Framework: Improving Performance When Saving Data to Database
Cool quotes site with very nice design
While we are discussing this, is there a name of OPs behaviour?

If not, can I suggest ignorantbragg? How about zippbrag? Maybe whaowhatwhenbrag?
What’s a High-Quality Freelance Contract?
I live in Salt Lake City, and I really don't see it much here. I am younger than the average age by quite a bit (so take this with heaps of salt), but at my company we have programmers in their 60's and 70's.

Maybe some of the more wannabe SV type startups with 100x more sales bros than devs might be more ageist, but generally in the enterprise or consulting world (and even education) where I've spent my time, it seems most older developers are respected for their experience.

I do get nervous about this too though, because of what I hear elsewhere in the industry. It also seems tough to not cap out at a ceiling very early on in the career if you're not climbing some ladder.
Stop Setting Up Software Projects to Fail
At first I thought the same as you, but the problem is actually subtler. It's not about an immutable reference to a mutable object, but actually a reference that gets re-evaluated each time it's invoked, which is something that cannot happen with Scala `val`s!
I was at a recent NY Tech meetup where there were some student teams from a hackathon.

One of them called Chefy was doing this same exact concept. I think I have their contact details at home if you are interested in this space.
I was referring to the one by Mesquita, but because my brother, an attorney, recommended it, not because of a GCP grey video. Perhaps you meant "I think it's because..."?
Works with chrome and Firefox, zero plugins.
The physical disc catalog seems to be culled as well by not replacing lost/broken discs. My saved queue seldom gets any smaller.

People ask me why I still get discs, and the answer is "guaranteed bandwidth". I get no blockiness or drop-outs when watching. :)
Yeah, this is Docker for OpenBSD in the same sense as Docker for Mac or Docker for Windows (before the very recent changes).

The naming convention is consistent, if a bit strange.
An Introduction to Signed Distance Functions (and why you should use them)
Do you have any insight for someone that knows very little about american geography as to why this is?
Container Orchestration on Kubernetes
"But that's impossible: the second is a logical consequence of the first."

No, it is not. It is far from proven that universal physical law can everywhere be simulated by a Turing machine. If you had proof of that you'd be up for a Nobel. So publish your paper or perhaps consider that Roger Penrose is not an idiot and you might not know what you are talking about.
From personal experience, a good way of approaching the sell to business stakeholders is getting them involved in the bug triage and tracking process.

You need to make the invisible (refactoring and code quality) visible (tracking) so they can see what the current state is and map the future.

The biggest reason business stakeholders push back against this is that developers tend to communicate this in terms of "You don't need to know anything about this. But we've decided it needs to be done." Which annoys someone when they're paying the hours.

I've had decent success with bringing up underlying issues on roadmaps, even to the generalness of "this feature / component has issues." It's a lot easier conversation if it's adding "That thing that we've had on our to-do list for a couple months" vs "This new thing that I never told you about."

And as far as pitching, if the code is at all modular, you can usually get away with "new feature in code section A" + "fixes and performance improvements in unrelated section B" in the same release.

PS: I love the simple counter-based bookkeeping perspective from the linked post. (And think someone else suggested something similar in a previous performance / debugging front page article)
Why yes, it will!

I'm late to this thread, but I don't check Hacker News often and missed the tweet from @tedmiston. The first beta is coming soon—I basically spent all weekend working on it while recovering from a cold. There's a project on our GitHub repo for tracking the outstanding todos: https://github.com/twbs/bootstrap/projects/3.

(There's also one for the second beta, too, which you'll notice is quite narrow in in focus right now :).)

I'd be lying if I didn't say I'm exhausted and haven't had time to work on open source. GitHub takes up the bulk of my time—ask my dog and my girlfriend—and I don't often have the energy to switch contexts. I'm working on that though. Suffice to say that yes, we'll have a release soon.

Also, I do still plan on going back to Bootstrap 3 and shipping some updates there. That version took so much of my time and we iterated on it quite heavily. It's super stable still.

Hope that helps!
Wow, I was a student there at the same time.

Cheating was rampant. The submittal box for assignments had a big enough slot that smaller arms/hands could reach inside. I saw people do that: grab someone else's assignment, copy it and put both back in the box. The school didn't seem to care.
I've had group assignments where group review had the ability to fail an individual member if they were a non-contributor. Every project I had with that professor had at least one person in my group who was a non-contributor (and was outed by the group in review, resulting in a failing grade).
Also so good information on it http://www.bittorrent.org/beps/bep_0044.html
That is for comments, he said posts. You cannot vote down posts (submissions) at all. I'm obviously aware of the downvote button on comments, and thanks to those of you who tried to prove a point by hitting yours on this one.
Good idea... I signed up and I'm looking forward to seeing how it works.

I'm working on a tool for developers (secrets management -- https://www.envkey.com), that is currently available for two languages, Ruby and Node.js. How likely is it that I'll be able to find newsletters that cater to my niche through your service?

On that note, it would be nice if I could specify some parameters when I sign up to be sure the newsletters I'm getting notified about are relevant.

Good luck!
Yeah, but that only works for a chronic issue that doesn't put you out of work. HDHPs are still on an annual deductible after all. I know I have a bit of a bias since it's my industry, but make sure to carry long term disability insurance if at all possible. Getting sick in this country is complicated when you really dig into it.
There are cases where you can do a rewrite, but still avoid the big-bang cutover, by exposing the new app only to some subset of customers or transactions. That isn't possible with every app, of course.

I think the gospel view is when you have to do both...rewrite and big bang cutover. Especially when there is no obvious fallback.
Do you use a call to action to let them know its there or to prompt them to use it?
I don't know what to tell you. My definition and the one you linked to do not disagree with each other.

Maybe where you are misunderstanding is that commodity food is actually extremely cheap. The world can be fed on a tiny fraction of global GDP.

Or, maybe it's this: Post scarcity does not have to mean 100% free, just that it can be possible to be available to everyone at very low cost--which it is. Getting that last bit of price drop to 0 can be difficult or improbable, and the definition of post scarcity does not require it, nor should it.
An after-the-fact test suite is a different beast than one written concurrently with the app. It's not worth trying to force one to be the other.

Work from the outside in, keeping most of the system as a black box. Start with testing the highest-level behaviors that the business/users care about.
If buttery smooth could sell phones windows phone would still be around.

With that said, have you used a modern Android recently?
See Penrose argument. He argues that the fact that our minds are not Turing machines allows us knowledge above and beyond what Turing machines are capable of. I don't think this necessarily entails inconsistency, but replying to his argument that humans are inconsistent does not refute his argument. That is what I was trying to point out.
Can you give me an example grammar to help visualize your statement? I can probably make a note or clarification. I think one other point I forgot to mention was that the production rule for the # directives would have to look something like

include-directive:
beginning-of-file # INCLUDE ...
newline-from-previous-line # INCLUDE ...

Since 'beginning-of-file' isn't really something you can reduce to a token I justified that it would be context sensitive.
Curious about changes since the previous 'Show HN' for Tad.
Of course it can change. There are three things inhibiting the use of the smartphone for productivity: most of the software available at the moment has not been designed for that role, it will take years for the software to catch up in terms of functionality, and it will take years for the market to adopt software that is up to the task.

Notice how there is no mention of the hardware above. Processors, memory, and I/O capabilities are already up to the task for many environments. The only unsolved problem in terms of interfacing to suitable I/O devices (i.e. screen and keyboard) is having a universal standard.

Of course, the real question is whether it is desirable to invest in bringing the software up to par. Perhaps it is worth it to have a universal platform. Perhaps it is not worth it because the market is not interested in having that universal platform.

Note: I am not arguing that the smartphone can replace all conventional computers. Some markets are simply too specialized to make investing in the transition viable. Other markets have no need for portability. Yet other markets will find that the trade-off in capacity or performance is too large. On the other hand, there may be a place for people who want a single device in their life that can adapt to many different situations.
And all those gatekeepers introduce significant economic inefficiencies while often failing to control adequately for quality.

Part of the problem is that programming is far too diverse a field. The only common denominator that could be reasonably certified by a gatekeeper/professional guild would consist of theoretical grounding in software engineering and computing concepts that typically comes with a CS degree. Yet, as all programmers are aware, people who have managed to jump through that hoop do not necessarily programming skills possess and do not necessarily good programmers make, while there are plenty of self-educated types who have managed in lieu of the formalities.

That's not to say that the field might not benefit from some professionalisation, just that there is an argument to be made that it is qualitatively different from civil engineering, medicine, aviation, architecture, accountancy and the like, if for no other reason than that the technology and skill requirements shift at a bewildering clip in rolling releases across 3-5 year time frames. That sort of thing is anathema to the slow, bureaucratic pace of guilding or regulation.
Sure, but the vast majority of lecture time prepared you to do the programming projects, the vast majority of out-of-class time was spent on the projects, and the exams required minimal study besides having done the projects (one way of spotting cheaters was to look at the delta between understanding demonstrated out of class vs. in class).
> Hmmn. A 'smart enough' compiler would combine the two grep patterns into a single pattern and run them in reverse, stopping at the first 5 lines. :-)

Only if `/var/log/somefile` is a regular file and isn't opened for writing by any other process. Or your "smart enough compiler" doesn't care about doing the same thing.
I'm a bit interested with your comment. Do we have 8 year olds playing around with environment variables in the OS? I'm curious because I never thought that could be possible
I find Scala/Spark easier to write and work with than any of the options you list (yes, SQL included). It gives you a real first-class programming language and lets you reuse the same code in your analysis/aggregation as you're using for your main product.
You could also mention

'def foo_=(x: Int) : Unit' which is a setter.

'lazy val foo: Int' which is immutable but doesn't execute its right hand side until the first time it called and then stores and returns the value returned by the right hand side everytime.

not that they are different enough to be mentioned
It's interesting how at-odds the concept of plagiarism in a university classroom is with the industry-lauded values of open source software and reuse of well established implementations. As someone familiar with the university system but who learned software engineering entirely outside of that context, I can't help but think it seems a bit antithetical to a large component of the skillset I's like to see in a new grad I was working beside.
Why most people do what they don't like
The .STOCKHOLM new gTLD
This is unlikely something you'll use in practice, but I just read about it so it came to mind.

A Braun tree is a binary tree that represents a flexible array (indexable everywhere and extendable at both ends). The gist of it is that you take your array index and read it as a binary string that tells you how to go down the tree. If your index is 1, then you're at the right place and you stop. Then you go left/right depending on whether the remainder is 0/1. That is the 1-based interpretation, and it works because 1 is in the first digit while 2 and 3 need the next digit as well.

If you want to use 0-based indices, it doesn't work out as cleanly, because 0 and 1 share the same digit, while 1 and 2 use different digits. So now you have to branch on whether your index is odd or even, and then either (i-1)/2, or (i/2)-1.

It's not a big deal either way, but it turns a simple to visualize data structure into one where you have to think about the indices.
Looks great. There are actually a bunch of developer focussed newsletters in our database. So yes. Great idea on the parameters. Noted and will find a way to have it in the product.
Ask HN: What Resources you wish you had when you were learning how to code?
Mongo Aggregations in 5 Minutes
Intriguing thought, async to what?

If a program needs the input before continuing doesn't it need to wait and therefore hold the program flow and therefore stop, even in erlang?
Even democratic countries that rely almost entirely on natural resources end up pretty awful at some point or other.

I'm not going to comment one way or another on how reliance on natural resources does correlate with... unconventional government types and economic policies such as dictatorships and central planning or hypercapitalism
> During the work day, you'd join is in Slack for 8 hours.

That's amazing! For everybody else that shares my amazement, I found https://www.compose.com/articles/how-compose-uses-interviewe... that touches on said hiring practice, but I'd love to hear more.
This is getting downvoted, but I once had an advanced-level course where the the assignment was to write a peer review for a research paper. We were given 24 hours and allowed to use the internet, so I Googled the paper, found a scathing blog my professor had written and deleted, looked it up on archive.org and found myself with a dilemma about whether to cite it or not. I decided it was better to cite it than risk getting caught, and it worked out fine for me. In hindsight I shouldn't have put myself in that position, but temptation is a cruel mistress.
Researchers amplify antibiotic of last resort hoping to halt superbugs
But in practice it almost never works outside of a benchmarking environment.
That's a good point on the prompting, and something I don't believe a lot of current systems do?

E.g. "Do X" "Would you like me to X1 or X2?"

I'd guess the complexity usually isn't there as (afaik) current systems tend to be single action endpoint rather than knowledge parsing the request.
How are you going to get and verify that data on an ongoing basis at scale?
You can always point to someone who can't afford it. That doesn't make me wrong.

There are now computers that cost as little as taking the family out to dinner at McDonalds. Probably a hundred million more people (yes, however, not every single person, ok) have the means to learn programming compared to when I was a kid.

Acknowledge that, because it's amazing.
You can't say something is more annoying or mentally taxing then other thing, just because you think so - and that surelly doesn't reflect on what some are paid (that's just supply and demand).

At the end of the day the problems you find on the technical side only reflect in resources spent - human resources, time, budgets... beyond some level - usually the managers level and above, that's what matters and the only thing that counts.

In a lot of organizations the technical side is literally in a bubble, doing their thing and protected from the chaos of dealing with ignorants, burocracy and shit.
I have not tried Dribble, but I have had experience hiring designers to help me with UI.

I went through trying to outsource overseas, to using Fiverr. None of this produced good results for me as most of the people I tried could not follow a specification.

I reached out to one of the main contributors of the open source SaSS framework I was using. He agreed to do the work for me for a fixed budget. He was a bit more expensive per hour than the other options, but I got exactly what I wanted. I did not have to go back and forth regarding my specification. If you value your time to market, I would recommend this route.
Because in Android-land there are better phones for less money.

People are disappointed, they had probably expected another miracle from andy, that's all.
I think a robot has to have an arm. If it doesn't have an arm, it's not a robot -- it's just a machine. The whole robot could just be a single arm or the arm can just be one part. But it has to have an arm.
> PS: I love the simple counter-based bookkeeping perspective from the linked post. (And think someone else suggested something similar in a previous performance / debugging front page article)

If you're short on budget and need to sell the whole package to management just do that one, it will make all that invisible stuff visible in more detail than they likely have the stomach for and you'll be granted budget in no time because there is nothing that spells lost business better than a fair sized gap between customers entering on the left and only a trickle coming out on the right.

In effect this is funnel visualization for the internals of an application in all the gory detail.
Point, it is. I suppose the difference between those two will depend on future progress.

It'll be curious if some languages' grammars are more amenable to NL.
High-Cost Computing?
I also disagreed with that part in the article. Big-bang rewrites can be just fine - but usually there are reasons it's not possible.
show of hands, how many HN readers have tried to read Infinite Jest and never made it all the way thru?
Except some pages won't be there (that's what censorship is isn't it?)
I still havent gotten over Intels poulsbo fiasco on Linux. http://www.phoronix.com/scan.php?page=news_item&px=MTMyODA .
Okay, thanks for testing for me. When I lived in Shanghai 5 yrs ago, I had a lot of trouble connecting to https and whenever possible, I would try and connect unencrypted.
Nginx v1.13.1 Released
So awesome. I was about to say the same about the searchable database, but I love this launch quickly / minimal viable approach. (I think I remember your previous iteration.) Still eager to follow this one!
I had a Otterbox but hated its bulk, so I stopped using it after a year. Then I cracked two screens in a year from waist-drops. For the last year I got one of those minimal silicone cases [0] and it has surrived a few more similar drops without cracking. Might be luck, but just that tiny bit of padding seems to be enough.

[0] https://www.amazon.com/gp/product/B00HFNP0OQ/
Interesting, I guess mine skewed the opposite way: the theory served the projects, and the vast majority of what you needed to know for theory-based exams, you'd pick up by doing the projects. Some lecture slide and textbook review necessary, but not a lot.

Always surprised to hear about this variance, given the general consensus that there aren't differences in quality between schools.
*) Feature: now a hostname can be used as the "set_real_ip_from"
directive parameter.

*) Feature: vim syntax highlighting scripts improvements.

*) Feature: the "worker_cpu_affinity" directive now works on DragonFly
BSD.
Thanks to Sepherosa Ziehau.

*) Bugfix: SSL renegotiation on backend connections did not work when
using OpenSSL before 1.1.0.

*) Workaround: nginx could not be built with Oracle Developer Studio
12.5.

*) Workaround: now cache manager ignores long locked cache entries when
cleaning cache based on the "max_size" parameter.

*) Bugfix: client SSL connections were immediately closed if deferred
accept and the "proxy_protocol" parameter of the "listen" directive
were used.

*) Bugfix: in the "proxy_cache_background_update" directive.

*) Workaround: now the "tcp_nodelay" directive sets the TCP_NODELAY
option before an SSL handshake.
The "tag" part of a tagged template literal is a function so maybe your editor should be updated to recognize them.
Lovely site, but scroll lag janks so hard it's almost unusable!

Also hardware looks lovely. Any chance it runs something other than Android?
Not a dissenting opinion but I'd love to see some case studies on rewrites. As a consultant this is a frequent request and will probably be big business in the future as people migrate off of expensive legacy mainframe or other applications from the 80's, 90's, and possibly 2000's.
Introduction to LVM
This is a great idea! The hardest part of advertising some of my smaller projects has been figuring out where to advertise!

Also, there are times where I would love to get news specifically about various niche topics, but I can't find a good place to do so. I would love this to also function as a sort of yellow pages for finding interesting newsletters
This is also my opinion. I don't understand the vehemence for the integrated GPUs...I think they perform remarkably well.

I am currently typing this from a bus on a Dell Alienware 13 r3 which has both an integrated Iris and a discrete Nvidia. TBH, I run my Ubuntu environment through the integrated graphics chip for the watt savings and because 90% of the stuff I do under Linux performs flawlessly on the integrated GPU.

Of course I can switch to the Nvidia GPU using `prime-select` but besides running games or playing with CUDA I don't need the GTX 1060 day-to-day.
Ah, thanks. I missed it.
The copper plate on bathroom doors is for this.