skysight-inc/HackerNews huggingface dataset:
Perhaps you didn't read the article. Author's example circuit is fairly simple with handful of components. He estimates it would take him 10 hours to do manual routing to satisfy all the constraints. If things were more complex, I can easily see multiple days worth of effort. So, no, problem is not trivial and would save far more time than just 15-minutes.

Double sided PCBs costs almost same as single sided however going from 2 layer to 4 layer literally doubles the cost. Going from 4 layers to 6 layers increases cost by 50%. For boards like Raspberry Pi or Arduino, this could make massive difference if you doing production at scale.

So the problem is very real.
I agree with you, maybe it's because I spent so much time consulting. My small project rate is $125/hr. And I've usually got someone lined up who is willing to pay me for whatever free time I can offer. The potential return on your free coding puzzle game would have to be pretty insane to get me to give up real guaranteed money.

A better option might be to just hire me as a consultant for some real ticket of yours and let me work it in off hours. Then we both win.
Classic forums software was pretty much a web based NNTP gateway -- some even supported nntp integration directly. Posts were threaded.

Then along came unthreaded forums in late 90s/early 00s. Things like phpBB are not my cup of tea when compared to the layout of usenet or slashcode.
Oh also, we used a CITEXT field for storing email addresses. Store the case the user registers with, and use that for sending comms etc, but uniquify and match (on login etc) in a case insensitive way.
Have you ever considered that verbally spelling something out may be a sign of a problem? If you were taking someone's credit card number, would you have them go one digit at a time over the phone, then read it back to them and so on, or email it so you can copy and paste it? Or how about just have them autofill a form?

Same here. John gave you a card? Cool, maybe it can have a QR code you can scan. Or do you enjoy reading and typing long URLs and having to double check them?

How do you handle emails, you ask? Well, how do people enter their emails? They can visit your site and the emails get autofilled. They can bump phones or use bluetooth or any number of ways that don't require verbally spelling things out.

And anyway, if you haven't allowed someone to email you, why should they be able to spam you?
If you're after interactive use, then by all means define and use your own aliases (or functions) as you see fit. It'd be a pretty crappy idea to not do that. Custom aliases in scripts you share with others are not a good idea, of course, but that's firmly in the scripting aspect you note, not the interactive shell use.

That being said, even with commands being long, tab completion does an absolutely amazing job of shortening what you type. Also it's usually just the first command of a pipeline that doesn't have an alias because after that you tend to use the same few cmdlets over and over again (%, ?, select, ft, ...), which do have short aliases.
They can use any username they like, as long as it is in ascii.
Creating two-step authentication for yourself, but allowing attackers to have one-step authentication... interesting concept.
In 2016 there were 204 deaths due to substance abuse in North Rhine-Westphalia (NRW), with ~17m inhabitants Germany's most populous state. That same year there were 321 deaths in Bavaria. Bavaria has a population of only ~12m and in general has a much lower crime rate than NRW. The difference in deaths is often attributed to the fact that there are safe injection sites in NRW while there are none in Bavaria.
When it's concentrated in one neighbourhood, you can concentrate social services in that neighbourhood. The DTES has a bank dedicated to avoiding paying a percentage of welfare checks to check cashing businesses. Insite has a rehab facility attached to it with a higher rate of non-recidivism after one year than any other in North America. Safe injections sites work. The Vancouver City Police are one of the biggest supporters of the Vancouver safe injection site, which should tell you something.
For sure, in some designs there are some signals that should really be laid manually according to arcane constraints known only to the designing engineer. But even in those cases, the vast majority of the other traces on the board are probably pretty un-demanding low-speed digital signals and would work no matter how they were routed as long as there was an actual physical connection.

My current project uses a physically large but relatively simple board, and I've spent probably a total of two weeks' worth of time hand-routing all of the various iterations in KiCad. It's not difficult once you come up with some basic heuristics, but I sure wouldn't object to having those two weeks back. Even something as simple as the EagleCAD autorouter I used back in the early '00s would have been fine for most of it.
Does anyone else find it slightly awkward that they include past contributors on their website?
Second step, find out how to get notified about replies.

It would be really interesting to know how the community at large deals with this, but I suspect something akin to the Observer Effect makes it a a catch-22.
The hope is that the "junkies" don't die. If that is all that's accomplished, that's still a success. There doesn't need to be more. Obviously there should be an option for users to enter treatment or receive some sort of assistance, but addicts should definitely not be forced into anything just to satisfy some petit bourgeois stern moral impulse, because that will ultimately drive people away and cost lives.
Best typefaces for reading code (but not only)
Interbank lending plunges
Show HN: Implementation of a robust no-fit polygon generation in a C++ library
> maybe you have to go enable some security setting to even make the dialog possible

This sounds like you're on the right track. Make it a shell command you have to execute with SIP disabled.
I haven't tested Safari, but Hangouts' system requirements say it supports Safari and IE using the NPAPI plugin:

https://support.google.com/hangouts/answer/2944865?visit_id=...
Doesn't case insensitivity combine poorly with (fairly unrestricted use of) Unicode though?
Sometimes I wonder how things would have looked like if they actually went forward with OpenStep.

Netbeans was always called like that I think. I just remember before version 3.0, the UI was quite different, and there was this strange concept of having to mount directories to see them on the IDE.
Backwards compatability is something, that should be a diffrent kind of partially open source project. Meaning- the software provider promises to include a dll that connects to current API and releases the source code. If there is interest to maintain the backwards compatability- work will appear.
One can be "semi-famous", as OP said, in small circles, Eg. chess, and you wouldn't recognize his username--but maybe lots of chess players would. I didn't see it as humblebrag anyway, since it was a true part of his points.
> You can get a decent wired headset for $30.

What are you going to plug it into if your phone has no headphone socket?

This thread is -specifically- about when you -can't- plug your existing headphones into your phone.
They can also use ascii, you do not have to use your real name (in fact i'd recommend to not use your real name - it is really concerning how people lost the will for Internet privacy they had in the 90s) as a username. And even if you really really want, for some reason, you can just romanize it.
I can't imagine a more horrific scenario than a constitutional convention. The day that happens is the day America dies. Ok, probably a few days later when they decide to throw out the current ratification rules out and just rewrite everything. A bunch of un-elected idiots rewriting the constitution. I hope they use a new name. Calling that new country USA will be confusing. Regardless, I will not stick around here for that. Third time around is bound to be an even bigger disaster than the first two.
> Where exactly is rapid incremental code delivery at such a premium?

In all fast-changing environments, as well as in early-stage projects that don't a very firm direction yet.
A good friend of mine (kallaballa - * ) just finished the first version of his No-Fit Polygon implementation, as a single-header library which aims to solve the Irregular Stock Cutting problem, common to manufacturing (and in this particular case of interest to laser-cutter users everywhere)...

Seminal paper which inspired the implementation:

https://pdfs.semanticscholar.org/e698/0dd78306ba7d5bb349d20c...

I'm posting it to HN for kallaballa on his behalf, and hope that it is of interest to some of you who might be able to build bigger things with libnfp... would love to hear some feedback and discuss the future of libnfp with interested parties!

( * - See his repo at https://github.com/kallaballa/libnfp)
How Many AWS Accounts Should a Company Have (2017)
I worked at a place once where they got so tired of trying to figure out which interview practices were best that they just started telling the recruiting firm to send people in for their first day of work without even bothering to interview them. This was a big local contact, so the recruiting firm wasn't going to send in known duds. The results worked out about the same as when we had actually done our traditional interview process.
I'm curious, do you know any software that specializes on this kind of thing? Or is that something that everybody cobbles together, possibly using an event-based automation tool such as stackstorm?
KeePassXC on desktop, KeepShare on mobile.
My Linkedin username: https://www.linkedin.com/in/Αdmin/
It is certainly slower but what i always did even back around 1999-2000 when i first learned web programming, was to simply query the user db to see if any user exists with the requested username before even doing anything else. Also at some point i decided to also store a "broken down" version of the username with symbols removed, Os replaced with zeroes, etc and check against that.

Also i never allowed less than two letters and characters that weren't numbers, latin letters, a space and a few punctuation symbols.
IoT Security. Why your toaster needs a firewall
Woman gets kicked out of a town hall for listing corporate donors
Use a paper notepad. Generate passwords by opening a dictionary at random for 3 words, with a random number at the end.

It’s not as good as, say, 1Password but it’s more likely to get used. Combine it with the browser or OS level password manager. It’s good enough for grandma, definitely better than “kitten4” that she’s currently using everywhere.

On a tangent, stereotyping this as “grandma” is a bit unfair. Most of my colleagues are college educated males in their 20s, some of them developers. And their passwords are rubbish, with no password manager, and no 2fa.
> For example, I have Google Analytics [1] on my site, and I trust them to handle this responsibly.

I don't. And I don't appreciate people injecting Google beacons on their website. Same thing with Facebook, Twitter, Disqus and all the other shit-scripts.
More generally, only very rarely should canonical identifiers for computer use ever be meaningful to humans. The (potential, and conventional and UI-encouraged) meaningfulness and tree structure of the HTTP URL path component has probably contributed seriously to the Web's link-rot. Having a tree-structured, human-readable name at the top of the browser window is great! It just shouldn't be the URL.
It's not a choice between strace or nothing. It's a choice between strace, ftrace, perf, or eBPF -- and that's just the Linux builtins. Many low overhead addons can also do syscall tracing (sysdig, LTTng).

I often run ftrace, perf, and eBPF on our production instances for syscall tracing. If I ran strace, the instance would suddenly be very slow, and it would trigger Hysterix (and other) timeouts and be removed from the ASG and auto terminated. Our environment is fault-tolerant, so yes, we can run strace -- you just don't get much output, and the load vanishes from the instance you are looking at.
I upvoted because you are explaining why you downvoted.

My argument is, that they don't solve a new problem. Where there are already solutions it's fine (e.g. multiprocessing), but where there aren't solutions yet (e.g. low bandwidth cluster storage, or simply networking) it doesn't add any value. And instead of solving any of the hard problems it adds a layer of abstraction on top of the problems that makes it harder for the every day engineer to solve the problems.

Pretty similar to the article's point of view, but not that it hides cultural problems under a tech layer, but technical problems.

And yes, for the pure developer it might be better, because he can now focus more on his software only. But someone needs to maintain the infrastructure the software runs on, and this job just got harder.
I used to use freerouting a lot -- it's 'semi automatic' to be fair, you can hint at stuff, and you need to configure it pretty carefully for it to do a good job...

I used it as a 'first pass' routing, imported the result, deleted anything I didn't like and manually did the rest. Still saves a bundle of time!
Out and ref were already a thing in many Algol/Pascal derived/inspired languages.

Given C# designers, the goal was always to have a safe language, with enough features to go the extra mile in performance without necessarily being forced to use something else.

Something that Java designers are now catching up with, but we still need to wait a couple of years before Valhalla, Pananama and Metropolis are finally here.
You don’t have to be mean about it! The world is big enough to fit lots of people like you who have no idea who he is, and also people like me who think “wait, is that the same saurik from...”

Seems like a real anxiety, not just a humblebrag. I’ve felt the same way and my response is to just make up new names all the time.
New contest being announced later today
That’s because Bavaria is close to the Czech republic and the bavarian/czech border is a well known import corridor. Google further info on that, if you’re interested. Also, I invite you to compare the NRW numbers to the Berlin ones.
Humans make use of the fact that the optimal solution is not necessary (or probably even desirable, given the multitude of parameters to optimize for). By heuristics we can find a good solution that is also understandable to others.
Neither do I. At the top of my Twitter feed right now is Adafruit sharing a video about drones being used for agricultural research.

I find that people who don't like social media often seem to be unaware of the fact that you get to choose who you follow.
If that is true, then why does Netflix categorically refuse to communicate with its customers about this issue? Or even just document it in their help pages and provide a semi-hidden switch for turning it on?
The first list is a list of 700 books. Personally, I don't find a reading list with so many books helpful. At one book a month, it would take 58 years to get through the list.
These are the type of articles that makes HN worth looking in to every once in while :). The circuit routing is indeed worth $100M problem. And it's going to remain unsolved in classical sense because its NP-Hard.

The reason this is very interesting problem is that basic version of the problem is fairly easy to specify: You are given bunch of polygons, each with few fixed points on it. You are also given series of sets, each containing list of points that must be connected together. Can you come up with connections that has minimum crossing with each other (see Wikipedia [1] for more formal statement of routing problem).

The more practical version of the problem will include more constraints to make sure the design meets timing, has no crosstalk problems, meets any metal density requirements, does not suffer from antenna effects, and so on.

Recently Travelling Salesman Problem was attacked using reinforcement learning[2] and that could be a good start to attack routing problem. I'll be definitely looking in to this!

[1] https://en.wikipedia.org/wiki/Routing_(electronic_design_aut...

[2] https://arxiv.org/abs/1611.09940
KeePassXC doesn't support synchronization though?
Enter the robots: automation fills gaps in east Europe's factories
महाशिवरात्रि की सुबह नहाने के पानी में डालदें बस ये 1 चीज, इतना आएगा पैसा संभाल
So citext just compares a lower case value of the string, unless I'm missing something?

If so, the rest of the article covers in great detail all the other edge cases :-)
Yeah. We switched to CITEXT for email addresses after 10k users, and had to go through quite a complex process to merge about 30 user accounts that had signed up duplicate accounts with email addresses varying only in case). It was a major PITA
Actually they at least control the C++ improvements that they are able to drive through the ANSI C++ work.

Only the companies that are willing to sponsor ANSI C++ work, do have anything to say to what happens to C++, same applies to any other ANSI language, including C.
Zenkit:Updates to offline and mobile features
Once you are hired, will your coworkers at Netflix communicate better with you?
>How much does that have to do with its sanctuary status & high illegal immigration numbers.

Zero. It has zero to do with how California treats its most vulnerable immigrant population, and everything to do with how California funds its schools.

The Berkeley CA School board recently had to make hard choices in its yearly budget. Berkeley is one of the wealthiest cities in the state. It was forced to slash safety officers and special programs due to a $2 million dollar budget shortfall. Less than the cost of a house. [1] America funds its schools primarily via property taxes, so Proposition 13, a measure that freezes that tax revenue, keeps $2 million dollar properties taxed as though they were valued at ~$100,000. It ensures California schools will always be begging to meet the needs of the state's growing population. [2]

[1] http://www.berkeleyside.com/2018/02/09/berkeley-school-board...

[2] https://twitter.com/kimmaicutler/status/962425686039306240
I think people forget what it was like before Slack. Sitting down to 30+ emails by 9:00AM and over 200 in a single day. It was death by email threads and following them was a horrible time suck. Worse off, email was treated like a real time conversation so you were expected to tracking it all the time through the day.

Slack solves a lot of this. The channels are opt in. If you don't want to follow something, just leave. Email is now just for async messages and is less of a distraction during core hours.

If your team or Co uses one channel for all your discussions, then I suggest that you find a way to split out the primary topics in a way that lets everyone filter the wheat from the chaff.

Like others are saying, don't blame the tools for being misused. Ultimately you have to learn how to efficiently communicate with your team and be disciplined enough to know what tool to use for each type of task.
> Gmail trained most of the world

At least here in the UK, gmail has high reach among techies but is very much a minority provider for normal people. Looking through the 3000ish registered accounts on the local community website I run, Hotmail, Yahoo, and particularly ISPs (btinternet.com, plus.net, sky.com) are all more common than gmail.
Well, it adds an air of authenticity when everything lines up right as you just the validity of a page. Let's assume for a moment you were the type to look for support on Facebook for your bank, and you looked wherever for "MyBank Facebook".

First two results are:

facebook.com/mybank

facbeook.com/mm48283df884

Which is the "real one" based just off this information? How do you know that when you message one of them you're getting the actual bank and not a fraudster?

It's not just vanity, people do check these things, not all of them savvy enough to continue researching. Just peek at "safe browsing tips" you'll see from tech rags online and it's pretty clear we do a poor job of educating people about proper vetting online, so you get people instilled with dogmatic understandings of security. ("The URL clearly says Mybank, so it's the real one." "Google actively removes fraudulent websites from the top hit, so it must be the real one", etc)

It sucks, but it is important to try to control for such errors.
Why would you need case insensitivity in URLs by default? I can imagine you might in the odd view here and there, though in ten years of django usage I don't think I've needed to do so
> If you’re interviewing with 7 (!) companies at a time, maybe be a little more discerning about where you’re trying to work. Everybody wins if you’re specific on that point.

Oh please, honestly. I'm not a terribly good programmer, but after 2+ years at one company, my inbox was flooded with emails from recruiters representing companies with very interesting opportunities (and like 10x as much crap). Then there's the friends and former coworkers who have been regularly asking me to come work with them.

Once I made the decision to leave my last company, I talked to about 9 companies over a 1.5 month period, and it only lasted that long because of Christmas & New Years. At least 5 of those went through multiple interview rounds and I was juggling 4 different, attractive offers before picking one. This is just from the 9 that I decided to talk to...

I live in a major market and there's a lot of demand here and in my focus areas. A lot of companies that you don't think have interesting problems actually have fascinating problems to work on once you talk to them. Probably much more so than GOOG, FB, AMZN, etc.

You talk about being discerning, but how do you know if you can deliver value until you have a conversation with them? You end up talking to that many companies at once because once you start the process with them you have to be respectful and see their process through to the end, but you don't stop interviewing while you wait for a decision.
As a counterpoint, the Medically Supervised Injecting Room in Kings Cross (Sydney) has quite radically transformed the area for the better - people who used to live there before it opened tell of sometimes walking over the bodies of addicts who'd OD'd on the streets, and of seeing used syringes everywhere. Now, you'd hardly ever see these things.

(I'd link to the Wikipedia article, but it seems to be the subject of an edit war between a couple of groups with agendas to push, so is best ignored.)
> What we really want in terms of identifying users is some combination of:

> System-level identifier, suitable for use as a target of foreign keys in our database

> Login identifier, suitable for use in performing a credential check

> Public identity, suitable for displaying to other users

Some sites want a fourth one:

Public Identity, suitable for other users to use to refer to each other.

Like on Twitter: "Discussed this with @bob and @jane yesterday, you'll find ..."

Now, you don't need a unique username to be able to meet this requirement - StackOverflow is an example of a site that handles this I think? But having a unique username is a common pattern that many sites use to solve this so it seems worth mentioning.
Maybe you can ask Mr. Saurik for an iOS 11 Jailbreak.
Aside from how painful that sounds, paper notepads can easily get lost. And if she's out and wants to check stuff on her phone (or trying to check her bank account at my aunt's home, or whatever), is she supposed to carry it all around and risk getting it stolen? If that's the implication, I'd rather she just have kitten4 at that point.

(And re: the grandma thing: it's nothing specific to grandmas, it's because the moment you suggest your audience is "college educated developers in their twenties" as in your case, people throw the notion of UI/UX out the window and recommend you suggest they compile their own kernel first. It seems you just can't win.)