skysight-inc/HackerNews huggingface dataset:
1. Don't stay in a job that makes you miserable.

2. The design and specification stages of programming are not pointless enterprise makework, they are genuinely useful.

When writing a program, make sure you understand what you're trying to achieve in detail, and write a plan about you intend to do that.

If you don't know what you're trying to achieve (and by extension your customer/client doesn't either), schedule in some research / exploration work as the first part of your plan.

Once you have a better idea, redo your plan (and maybe your budget) and check it with your customer/client.

3. If something is going wrong, or you think something is going to go wrong, it's much better to tell someone as early as possible. Even if it's your fault, don't sit on your shame - get some help.

For example, if you're going to go over budget, you may be able to get some more budget. Or you may be able to get some features cut.
Show HN: EverydayCheck – minimalist app to form new habits – feedback welcome
My point is "city park != Nature"

A walk in Hyde park gets you closer to "nature" but not really. It is just a brief escape from the concrete & asphalt.
If you have a repo with a lot of GPG signed commits, or you just don't want to change all your commit IDs (because you reference them in other places), then it'd be very valuable to be able to have a repo that's mixed old and new hashes.

Also your Git binary, if compiled with only the One True Hash™, wouldn't be able to work with older repos at all because the hashes it's calculating are now different.

(Edit: Another benefit of generalizing this is so that if/when, in the future, the new hash algorithm must be abandoned due to weaknesses, Git tooling will have been already introduced to the notion that hashes can be different and should hopefully be a less involved migration the next time around)
Read2Me
Amway and Malboro are for-profit businesses. The others aren't.
Popular Bitcoin Exchanges Reveal Controversial Hard Fork Contingency Plan
"Why should mathematicians apologize?"

Apology in this context means "defense of".
The thing I find most amazing about this (I work for a bank) is seeing people make decisions based on version 812 of a workbook passed between 3 different departments with multiple pages where the count of line items doesn't even add up. They're so obviously incorrect and of questionable value, but I've seen managers drop them like they're God's own Truth in meetings. It's that kind of thing that convinces me organizational dysfunction is the root cause of all the mysterious "productivity crisis" that economists often cite.
The true language of computing is mathematics, and its power and beauty are masked to those who cannot speak it. Programming languages are powerful tools for communicating ideas and encoding the language of mathematics. You can use these tools to shovel bits around without understanding the language, but you won't be able to see or say much unless you become fluent. Creative expression comes with fluency, and fluency requires the perspective unlocked through deep understanding. Becoming fluent in the language of math is the rite of passage one must cross to receive its true potential.

https://en.wikipedia.org/wiki/Mathematics
Just increase the text size. It becomes easily readable. The font size is larger than text here on HN.
Edit: s/and reading it/after reading it/
There is a third choice:

c) Develop that missing test
I had a total hip replacement very recently. Having been given a 2 week supply of Oxy, I took very minimal doses and was off of it after six days.

I had no idea how addicting this is for people. Personally, I didn't like how it made me feel, so I can only wonder about different people getting different types of "buzz" from it? I think I was irritable for a day after I stopped.
I applaud this attitude, not least because it reminds me of the UX design story on allowing guest checkouts: https://articles.uie.com/three_hund_million_button/

Add a hurdle, any hurdle, to your potential users' workflow and you are doing yourself a massive disservice.
I can also vouch for this, it's a great introduction to AI in Games, however it is just an introduction as the topic is very broad.
Unfortunately, we can't even trust this qualitative work, because it is produced by an ideologically homogeneous body. It's not possible to remove the confirmation bias. These departments often seem more like clergy than scientists.
The peer review is supposed to be anonymous. So what happens in practice is you upload your paper to a central website from which a set of reviewers can download a copy for review and give feedback with comments, anonymously. This is also why there is a login system: to ensure the comments are from actual peers which have their own papers up in the repository too.

I'm not saying this is the best way to do it, just how it is now.

Also, if you want someone to just read your paper, sure, email is fine. One does not exclude the other. The central system is there to ensure that should any doubt arise over the quality of the work, the feedback can be read and interpreted.

Again, there might be many other more high-tech solutions out there to solve this problem.
Rents are rising across the city and Wedding is gentrifying heavily at the moment, it has seen up to +78% increase in rent since 2009.

http://interaktiv.morgenpost.de/berlinmieten/
A max-width: 80em; is a nice readability enhancement so that users don't have to resize their browser windows after each tab change. The problem is they don't use max-width, they end up using width instead.

And as you said, the forced margins are also a problem here.

Also, to any designers reading this: please don't use text justification, either. I know it looks prettier as abstract art, but it does nothing but harm readability of your actual content.
There's zero discussion there?

ETA: Oh, I get it now. You submitted that one.
If enough fans ask for it you can be sure that someone in their entourage will pick up the signals (and either act on or ignore them). For smaller acts you can usually find a direct way to contact them somewhere on their website.
I work in mechanical engineering, mostly structural analysis at the moment (ie, figuring out if parts will hold up).

Vast majority of calculations are performed in excel. Most engineers know at least a bit of programming from one mandatory class in first year, but for some it's fortran, others it's matlab, vba, etc. Excel spreadsheets are the common denominator.

Thankfully, most sheets are rather simple, with one calculation per line, with inputs coming from previous intermediate calculations on the above lines.

Unfortunately, sometimes, the logic needs to be more complex, and that's where things go south. Despite all the best intentions, spreadsheets are very hard to test, audit and version-track, and errors will inevitably sneak in.

Other things get harder too, when all information is in spreadsheets. Recently I was tasked with updating and reporting about 200 calculations that were contained in 200 almost-identical sheets. A single factor needed to be changed on those 200 sheets, and then I needed to compile the new results in a summary table: relatively simple VBA macro, right? Except multiple of those sheets were just slighlty different, due to multiple engineers modifying them for slightly different cases. The solution ended being similar to scraping really screwed up html with something like BS. A variety of regexes, string searches, and even heuristics based on cell formatting needed to be used. A lot of information was conveyed visually in those sheets (ie, a new calculation block started with a title that was typically bold, blue, and 20pt, but sometimes a bit different).

The same thing could've been implemented in python/julia/fortran/heck even C, version tracked and unit tested. Verificating and understanding the calculations is way easier, as all the equations are there in front of you when you open the source file. The program could take input written in simple text file (think ini or even yaml if something more complex is needed), then spit out a report in another text file, or even fancy formatted html. Then, future modifications to handle "special" need not a different program (spreadsheet) for each new case, but in msot cases the master program could be updated while still ensuring backwards compatibility, and all calculations could be rerun in batch from the input txts.

Anyways, that's what I dream of sometimes while I'm either doing rote manual excel-scraping or trying to think of a new convoluted heuristic to program it. Unfortunately, the single most important thing for documentation is that colleagues can understand it, and most MEs still see programming as something too complicated and time consuming. I also work in a big corporation, and IT utterly useless. Getting a custom tool made by IT would be a hell of budget approvals, resource plannings and a bunch of three-letter acronyms for at least a year (seriously) before a programmer would strike a single key. Comparatively, a spreadsheet can be bashed out in an afternoon by basically anyone.
The telecom side of media is really boring, but on the production side almost all mass market media comes from about five corporations plus or minus a couple.
My biggest problem with Paragon IE is the fact that its owner, Scott Arciszewski, continues trying to make it seem as though his company consists of anyone else other than just himself.

From the kitschy redundant name (is it an Initiative or an Enterprise?) to the awful typography, web design and logos[1], to the fact that all of his blog posts and commits are anonymized as "P.I.E. staff", "paragonie-security"... There is clearly no-one else working for him. I'm not saying that crypto and security work should only be entrusted to large corporations, but this makes him come across as dishonest right off the bat.

Scott, if you truly stand behind your software then you need to shed the corporate charade and promote it as yourself. And please get someone else to do your graphic design work in future.

[1]: https://airship.paragonie.com/
I'm on Gabapentin, what was it that you couldn't tolerate if you don't mind me asking?

The only thing I noticed when I started taking it (other than the fact I could actually function again) was that it makes me tired and the withdrawal if I forget to take it/forget to fill a script is pretty horrible.
I think to this point, the organizations that will really succeed in the future are the ones who aggressively hire people with a strong cross of building simple, usable and understandable technical tools who also understand business logic and can communicate. I think soon people will be able get further with some basic R/Python and the ability to write a good email than many of the more technically skilled workers without those abilities.
Amazing. klipse gets better and better.
History of Early Internet Encryption
Go does not have Either monads, or real errors by value. It has a multi-assignment syntax similar to tuple return, but nothing else.

For Java, with a tiny library, you can have real Either monads: https://github.com/spencerwi/Either.java

I use them in lots of code.

For Go, you end up with an assignment syntax where you have to manually check, and get no compiler safety. At all.
Funny, I did not even notice that it is unreadable on mobile. I almost subconsciously pinched to get rid of the margins the first thing I did. This problem is extremely prevalent.
Reminds me a lot about another thread on HN, where people in IT decided that the product of their IT work is so immaterial that they decide to pick up tangible hobbies to have something to show for their crafts.
I remember reading quite a few people talking about woodworking or carpentry.

Personally I'm still in IT, but i have the strong feeling that if i were to leave this field I'd get into farming, as it is a line of work where scientific method and accurate measurements and methods yield to better results.
I'd love some elaboration on that!
I see a bright future for cannabinoids - assuming that politicians figure out that it's an obvious escape hatch for this opioid epidemic.
It gives me an annoying 'disk is full' message every day even when I have plenty of it left. And clicking it opens up Storage Management utility which simply upsells me iCloud upgrade as the top 'Recommendation'.
Preprint (open access) version: http://iqdupont.com/assets/documents/DUPONT_FIDLER-2016-Prep...
Backwards compat requires that both old and new hashes work at the same time. A simple typedef is unlikely to handle all the semantics and space needed for such a change...

It is often hard to generalize when N=1. Now that the N=1 use case is established and we are moving towards N=2, it is painfully obvious to all that a better abstraction is needed.

Typedef or no, we would still need a full audit of the code to find spots where people "inlined" the expansion.

IMO, Linus should have done better here -- no crypto hash lasts forever, but this code is far cleaner than useless layers of abstraction.
No, most aren't well built, but that's nothing specific to PCs or even computers. Most stuff is designed to be assembled easily, quickly and cheaply by unqualified workers. That doesn't per se contradict that the result is well built, but usually means that compromises are made to accomodate the assembly process, which diminishes other qualities of the product.

E.g. you'll never find a high-end CPU cooler in a factory-assembled PCs, simply because they are too difficult and slow to mount. Compared to a simple push-pin or lever-mounted cooler these can have a dozen parts or more and require funneling screws through cutouts in the cooler itself etc. -- you just won't see that on an assembly line.

There are also other issues, more specific to PCs, e.g. the standard case form factor does a poor job supplying graphics cards with fresh air. Other case form factors solve this (e.g. Silverstone has some; the "trash can" Mac Pro follows a similar concept), but tend to incur other compromises (and price tags).
The one that really bothers me is when they show someone hotwiring a modern car solely by pulling wires, stripping them, and touching them together. Aside from the obvious issues with transponder enabled keys, they don't even address the steering wheel column lock.

And, it's not hard to get it "kind of right". At least have the thief plug in some kind of "transponder bypass" gadget and mechanically break the steering lock.
Great article!

Also notable: http://www.playdiplomacy.com/
You've got your acronym wrong, it's TPP not TTP.
Reddit Is Being Manipulated by Professional Shills [video]
Linux kernel patch review is over email like this. It seems to work. I subscribe to a few lists and it makes it easy for anyone to chip in.

It's a bit burdensome on the patch submitter, to collect the feedback into one place, but not that much. At least the burden is on people who want to get the patch in.
The immigration act makes it explicitly illegal to discriminate based on religion. That act is instructions to the president from Congress. The president is banning travel from those countries for their religion. The president absolutely does not have the power over foreign travel you say he does, that belongs solely to Congress. You're delusional.
Assuming that politicians care more about the opioid epidemic and the actual well-being of their constituents than they do about their public image with their supporters. You really need everyone to catch on to the relative harm of opiates and cannabis.
I’ve actually never used any of them, and none of the devs or ops people I usually talk to used them either.

We never even heard of any of those except for CockroachDB.

Are you sure these are "dominating the entire industry"-products, as you mentioned before? Or is it more that they’re only used in SV?
No.

If you set up the pieces the same way, you literally just play with different colors for the fields.

If you mirror your setup of pieces because you want the white queen to go to the white field, then you just play mirrored chess. Apply this transformation again to obtain the actual chess game.
I found the website pretty obvious after clicking one of the links and landing on a subdomain.

You people consistently make me feel like a real wonder boy.
I was listening to a recent TalkPython podcast with Dougal Matthews titled "Effective Code Reviews". Host Kennedy asks every interviewee what is their favorite editor. Dougal's answer: (44:35-44:48) "I use Vim all the time. Yeah, I work in so many remote servers and VMs that I have some scripts to kind of set up my Vim environment on that machine, and then it's just great."

Who knew it would be that easy to switch to your own personal VIM setup?
I'm not a particular fan of the Sveriges Riksbank Prize in Economic Sciences in Memory of Alfred Nobel, and yes, it was created long after the other Nobel prizes, in 1968, for reasons which are strongly suspect and political. I feel it's been poorly awarded numerous times, though the selections have improved in recent decades.

That said, it is administered and nominations / selections go through the Swedish Academy of Sciences, and it is most certainly considered by the Nobel Foundation as among its prizes.

I'm using it here to note less an agreement with (all) the economists cited here, and far more to note that, whether I find their economics advisible or not (some I do, some I don't), this is a list accepted by both economists and the general scientific community as exemplars of the field, and they are exceedingly strongly critical of elements of the orthodoxy.

Not necessarily the same elements. But strongly critical all the same.

If you're looking for a strong criticism of the Nobel Prize in Economics, I strongly recommend reading F.A. Hayek's acceptance speech on that score, which manages simultaneously to question economics and the prize itself, whilst defending it by numerous strongly counterfactual arguments in my view, Hayek being among those I otherwise have strong reservations for.

https://en.m.wikipedia.org/wiki/Nobel_Memorial_Prize_in_Econ...

http://www.nobelprize.org/nobel_prizes/economic-sciences/lau...
What makes you think they are not in tech?

Some are still in tech, at places that pay them, places that you may not know or have never heard of.

Little experiment: Add 50% to your top compensation, then you may soon start interviewing people who earn around that number and sometimes another 50% on bonus/stock (that your company doesn't have).

They are here and they are the people you wanted, they're not difficult to get, you just didn't know about them.

Now that you found out, you'll continue to ignore them and keep looking for a unicorn at half the price :D
Well, our text for the course was Levitin's Design and Analysis of Algorithms, but I really can't speak to its quality at all - we just used the professor's own prepared information pretty much exclusively. From my brief look through the book, it looked okay, at least!
That's funny, I sort of feel similarly about Settlers of Catan lol.

Taught that game a few years ago to my Boston friends (back when I lived in Boston) and it ended up being a big hit and I never won a game again.

I'm too nice, I guess.

Not sure if relevant but the guy who tended to win the most now heads a multimillion-dollar company. So there's that...
I took a sabbatical after my dotcom imploded in 2000.

Huge, huge mistake.

When I tried "returning" I was either too corporate for startups and too startup-y for large organizations. I was both too young for roles I had already filled and too old for technical roles I was interested in.

I bounced through a series of startups, averaging less than a year before leaving.

I tried consulting but could never command the rates that would make it worthwhile.

I tried my hand at my own startup and failed miserably. I did not have the business sense, could not find a partner, and failed to convince a single investor to invest.

I suck at business and organizational politics.

I fell into the role I had in the 1990s which gave me some brief status and minor wealth, but was too busy firefighting then to learn how to leverage that into a better role.

While I believe I excel at managing stuff: people, projects, technology, it is hard to convey that in an interview.

Eventually I said fuck it.

I stopped applying for the CTO and I/T management roles I was interested in.

I told recruiters I am retired, but this had adverse side-effects I did not expect. I now reply that I am not interested in whatever role they are offering this week.

I used the knowledge and experience I have to switch to investing full time, now about a 50-50 mix of publicly traded stocks and startups in various stages of success/failure.

I mentor students in local bootcamps and try to help them find jobs after graduation.

I am still deeply technical, I throw together mock services and run them on different platforms to see what works, what fails and use that to guide my investments. I play with things like containers and IoT crap at home to keep current.

I hang out here to learn what the new hotness is (both what HN thinks it is, and what is coming in from the edges).

I learn a lot from the great writers here like patio11 and tptacek and others.

What startups have up and coming personnel to track? Which startups have people to avoid? I definitely check out founders and lead technical staff of the startups I invest in. If someone is a jerk here, they are unlikely to be someone I want to invest in.

I do not know if any of this counts as "leaving I/T" or not.
Reminds of a Dilbert.

Tina: Someday, I want to get married because studies show the married people are happier.

Dilbert: A smarter interpretation is that no one wants to marry an unhappy person.

Tina: You're annoying.

Dilbert: With any luck, your soul mate won't be as perceptive.
The resume is created via Enhancv. First developer/employee here :)
Any recommendations of how to get at this as a self-taught programmer? I've picked up books on combinatorics and discrete math, but I still feel very far removed and don't know how to really take an interest and make the connection.
I get the feeling that the blockchain is the solution to all the problems, just like IA. I think it's getting overhyped too much.
Wait what, I thought it occurred already in some IBM computer, no?
Fossil SCM 2.1 with SHA3 and graceful upgrading
> But what's the competitive advantage over upwork?

Pricing is more friendly (for both parties). Upwork has been shooting itself in the foot, along with all of its users, by gouging fees.

> * and another big competitive advantage I would imagine would be having all the (virtual) wiring in place to make outbound calls. Right?*

I'd imagine this is case if they have call-logging and transcripts.
> I hate to sound like the rust evangelist strike force... I really do. But your complaints are exactly what it would solve...

Rust doesn't have lazy evaluation, or a particularly extensive standard library. I'm not aware that Rust has heap or thread profiling any better than Go's.

For everything else, though, yes. I found Rust pretty easy to learn (coming from Java with a bit of Python background); i haven't mastered lifetimes or coherence, but i manage my day-to-day work without needing to. No GC means no GC pauses, and if there are big slow drop cascades, they are at least confined to one thread. Rustfmt seems to be mostly reasonable. Library versioning is done properly. The type system provides generics, sum types, and strong, if unconventional, control over side effects. Godoc uses source order and Markdown. Struct fields have to be initialized. Boilerplate is minimal; in particular, checking errors is one character, and sorting detects and uses an existing. ordering, or takes a single function to define one.