skysight-inc/HackerNews huggingface dataset:
Pretty much all Go editor tooling is provided by "gopls" today, so if you have an editor that supports the Language Server Protocol, you can have all these features in your editor right now. I was never a tab completion person, but gopls changed my mind. It's fast and works really well. Jump to definition and related functionality also works very well. One keystroke to see the source code of any function you call is great.

If it doesn't use gopls, then it will probably break in every corner case like previous tools did. When modules first came out, you had to go like 3 forks deep in "gocode" (the previous completion provider) because the original author stopped caring at go 1.10, then the person who forked that didn't support modules, then finally the author of gopls started maintaining it. This maintenance overhead was exponential, given that gocode was not the only editor integration; syntax highlighting, godef, etc. all had to be tweaked for every editor and every go release. Now gopls handles all of this and is maintained by the go team itself, so it will support new features in the go language at the same time as go.

(I believe even dedicated go IDEs like goland have always been a little behind go itself. It simply doesn't scale to have every editor implement their own go tooling.)

gopls also addresses interesting corner cases. Say you build your project with Bazel, and you generated protocol buffers as part of your build so that developers don't have to find the right version of the protobuf compiler, install it, and then debug why changing one name in the proto file caused a 600 line diff. gopls and go itself can't know that you are generating some Go files with a build tool, so Bazel projects will have squiggly missing import underlines below your proto imports, won't be able to tab complete, and godoc won't be able to show you documentation for the protos. But, there is a solution; the "package listing" functionality is modular and can have a "driver" set at runtime, so all the go core tooling CAN find these generated files and treat them as though they were natively checked into your repository. It is reasonable to write one plugin for your build system to support Go tools, but kind of insane if every Go editor had to do this. gopls exists to make this work.

So with that in mind, every Go editor should be about the same. If you want new features, add them to gopls. If you are writing a new code editor today, just support the Language Server Protocol and you get great Go support, and support for every other language. https://langserver.org/ contains a list of supported languages, and it's pretty much everything. Last I looked, even things like Arduino were moving to LSP.

So I think the age of editors-for-a-language are over. Even if you restrict your focus to just one language, which isn't that useful to begin with, you will always be behind for some reason, be it new build systems, polyglot apps, new language features... it's not worth it. Just use LSP and focus on core editing.
Just commented on this myself: https://news.ycombinator.com/item?id=21964531. I can't recommend Fastmail enough. If you really wanna save money, Zoho allows you one free email alias. They seem like a pretty cool company too, but Fastmail is more mature and so simple, easy-to-use, and feature-rich. I signed up for a three year subscription with them instead.
Since I use a password manager, its not really an issue unless I have to login on some random lab computer.

At the place I work we use office 365. Their sso path is so much better. I never need to re-enter my username.
This can all be covered by more abstractions though via some schema/spec/type validation process. Ide integration is the interesting problem here (and typescript does this beautifully) but I agree horses for courses (and experience). I think the idea for using the keyword to hold the nullability of a field interesting, I thought this was more of a meta attribute in clj? In saying that I actually find this style of keywording way easier to read.
> First time in awhile I've felt that the aliens were really alien, some great ideas in there.

If anyone is looking for very alien aliens, give Embassytown by China Miéville a read.
Show HN: Wonkavision – Screenprinting a Movie Scene
Looks similar to the open source lime text project. http://www.limetext.org/

Are they leveraging the same codebase in any way? How does Chime want to be different? I think lime is also written in go.

LimeText is still actively being developed here:
Github: https://github.com/limetext
Switch teams, ideally to something entirely different than what you’re doing now. Google makes it easy and painless (in most cases) for a reason. I stayed at my first team at Google for years longer than most people do, and though I started strong, by the end I found I was feeling similarly to what you describe. I took that as an impetuous to switch teams and moved to doing something very different, and now a year later I’ve got my fire back and I’m learning tons every day. I’m sure at some point I’ll get comfortable and complacent here again, but now I know to keep an eye out for it and take that as a signal that it’s time to move forward again.
Friend of a Friend: The Facebook That Could Have Been
There is a startup called http://www.myire.com that is working on this issue. They have a platform that provides an A-Z approach to publishing research.

Their marketing is probably the worst in class but the CEO is a passionate developer who has worked hard on this.
> What does it mean for inequality to "tear a community apart"?

A decent enough summary: https://en.wikipedia.org/wiki/Effects_of_economic_inequality

_British researchers Richard G. Wilkinson and Kate Pickett have found higher rates of health and social problems (obesity, mental illness, homicides, teenage births, incarceration, child conflict, drug use), and lower rates of social goods (life expectancy by country, educational performance, trust among strangers, women's status, social mobility, even numbers of patents issued) in countries and states with higher inequality. Using statistics from 23 developed countries and the 50 states of the US, they found social/health problems lower in countries like Japan and Finland and states like Utah and New Hampshire with high levels of equality, than in countries (US and UK) and states (Mississippi and New York) with large differences in household income_

> I also don't think reducing wealth inequality is a foregone goal that takes priority over other criteria.

See above "bad stuff".

> A progressive income tax also reduces the incentive to create economic value. And most of the time, the increased tax revenue is not managed efficiently - for example, California doesn't have "better communities" or improved services for all the tax it collects.

There's maybe 15 socialist democracies with a higher HDI than the USA, with higher taxation (and more progressive taxation). People still work through higher brackets, buy expensive things etc.
how can you launder money if you can’t resell the fish?
We spent a long layover in Tsukiji. Loved it! Had the best sushi of my life in a literal hole in the wall at 2am. Very charming indeed.
I don't agree with that strategy. This isn't a SaaS company where they're actually resource constrained in terms of server capacity.

Chime has been under development since at least October 24, 2017 [0] and there's no ETA on a public alpha/beta/GA.

Assuming that the poster is (one of) the author(s) of Chime, they shouldn't post this until everyone can download it. It can be alpha/beta software, but to post what amounts to a handful of screenshots is pointless in my opinion.

[0]: https://twitter.com/chimehq/status/922905555013947395
SGI's $250k Graphics Supercomputer from 1993
You can make it more convenient by having a specialized USB or NFC device. The NFC handshake is really simple (tap your phone with it). Arguably more convenient than any kind of secure software-based tokens.
I think most interviews are designed to find people similar to the interviewers, whether they realise it or not. If you think it works "well enough", I think you're just fooling yourself.

I say that as someone who has gotten a job offer from every interview I've been interviewed, and done maybe 100 on the interviewer side of the table. I put far more weight onto pair programming and anything that resembles a work sample than anything else. And even then you don't really find out what people are like until like the tenth pull request or so.
It's arguably past the point of being "invaded by muggles"
Works. I want to go there now.
Here's a compression benchmark.

http://pages.di.unipi.it/farruggia/dcb/

Looks like Snappy beats both LZ4 and Zstd in compression speed and compression ratio, by a huge margin.

LZ4 is a ahead of Snappy in the decompression speed.
Your complaint is purely syntactic- `&Cell<T>` exactly the same thing as `&multimut T` semantically.

Other forms of interior mutability genuinely are more than a tweak to borrowck- `RefCell` has a counter, `Mutex` adds synchronization, etc.
> Software engineering just isn't that hard

1) I agree that this is often true! Code can be pretty boring. That doesn’t mean there are no interesting problems that you can tackle with programming. It just means most people work on incredibly boring stuff and think that’s all there is and totally fine. Find something that’s a better use of your time.

2) There is more and less difficult software engineering. If yours is really boring why wouldn’t you try something more challenging? It doesn’t always pay as well but it can be a lot less terrible to experience on a daily basis.

3) Most of the hardest problems in making interesting technology that touches the world isn’t in exactly how the code is written. Learning this is the first step towards starting to be equipped to tackle the actually hard problems in our field. Which you could work on directly, if you wanted.

None of this is to say that anyone has to do this. You don’t have to have fulfillment in your job. Though you and most others should frankly probably look around and make sure the code you’re writing is doing actually good things in the world rather than bad ones, that’s an ethical obligation but one that is pretty orthogonal whether or not you’re working on interesting problems. (If people optimize solely for money though, they bend towards writing code that makes that empowers companies over people and generally makes the world a worst place. People have a responsibility to evaluate this and try and avoid the ones that don’t.)

Mostly: it’s fine to make the choice to not work on something fulfilling. But stating that there’s nothing fulfilling to work on in this world is just nonsense, defeatist and mostly means you’ve resigned yourself and everyone who takes your advice to unfulfilling, boring and miserable work that doesn’t grow you worth a damn.

And that probably sucks. So why take that approach?
Both of those sound tedious, neither of them sound particularly hard.
I don't disagree. I'm currently showing them how a little effort early in life allows them significant freedoms later in life by doing literally what 'hackers' do best, take advantage of existing systems no matter if they are economic, personal, etc - and using the existing boundaries, system glitches, and exponential leverage multipliers to form the desired life they like. But I do like some of your additions...

edit: by "hackers" i mean the term for people who created their own solutions to existing systems of anytype. Not the cybercriminal definition.
I don’t know if the incentives are there for goodread, but be aware that online sellers, at for instance amazon, have gamed this method as well.
Say I own a business that has $250k in assets but does $10m/yr in revenue. Does that add to my wealth? How do you value owning a business?
Really interesting article as I've seen this at a second degree level for one of my friends.

She was really a "fanatic" (as the article names them) for some "geeks" until the number of "mops" started getting larger and larger and at some point I guess the "sociopaths" also showed up, and the New Thing became the Lite Thing (and I'm imagining that in another 2-3 years it will be run into the ground by said "sociopaths", milked of everything that they can).

It's interesting that at some point said friend was indeed offered the role of a "actual service worker" (to quote the article), presumably by one of the "sociopaths", but she refused it. At that moment I couldn't understand why ("my friend really likes this Thing! why isn't she willing to get more involved with it and even get paid for the privilege?"), but reading articles like this one I can understand why that happened and why the decision she took was for the best.

Later edit: Because I've seen the subculture mentioned in the article's comments, I might as well also mention it here, that is that the New Thing for my friend was in fact a local EDM variant (if you follow ResidentAdvisor religiously you've probably heard of it by now).

It would also be interesting to hear from people a little older than me and who have lived through those times how exactly the same thing happened to the punk scene back in the '80s (at least I suppose that's when punk became mainstream and the "sociopaths" took control over it). A similar history for grunge could also be interesting, even though I guess Cobain's suicide precipitated some things.
When they say Chime is a Go editor they don't mean it is written _in_ Go (although it could be), but that it is written _for editing_ Go.
Also, setting up an email alias for my custom domain was a complete breeze. They give you instructions on how to do it and explain each step. I think they offer a 1 month free trial. Try it out.
We use json5, which allows comments.

You cannot statically cache the results of a .js file - it might include objects or functions that cannot be serialized, and might cause side effects that parcel cannot know about. If we supported .js config files, we would have to intentionally limit what you can return to basically just JSON, so you wouldn’t get much benefit from it and it would be hard to enforce.
I've met Ling and I know a bunch of people who worked on her site over the last decade. She's definitely an interesting character, and very good at marketing.
Deep Learning doesn't necessarily require a huge amount of data.

References? I mean, I know "one shot" and similar approaches but as far as I know, these involve extending a neural network that has been already trained, on massive data, to a little bit more.
Somewhat orthogonal, I've never been so disappointed by a follow up work than I have with Marlon James; from Brief History of Seven Killings to Black Leopard Red Wolf (the most abandoned book on the "to" list). Seems I'm not alone in this feeling!
Ask HN: Do you watch competitors or do you prefer to not think about it?
It seems like there are two camps of entrepreneurs/product teams around how to think about competitors.

There is the Peter Thiel (Paypal) / Jason Fried (Basecamp) camp who thinks that looking at competitors is a distraction and the Marty Cagan (SVPG) / Hiten Shah (CrazyEgg) camp that believes competitor intelligence and analysis are a necessity.

Out of curiosity, what camp (or in the middle) are you in, and why?
What percentage of software engineers are doing "something meaningful"? That seems like a small number, no?

Contrast with teachers, doctors, nurses, social workers, etc., almost all of whom I think would say they do something meaningful.
So you learnt a polynomial of order 2.

Great job, I'm quite scared of the killer robots now.
Single sign on to set cookie
Or PHP/Laravel/PG|MySQL
Or Rails/PG
Or Phoenix/Elixir/PG
Or .Net...

There's lots of mature stacks not just django. Laravel being my choice because I find django's default admin clunky to grok and kind of ugly would rather just build my own admin or use a package that implements some basics that I can plug into. I also like laravel migrations better, feels more like rails which I started my career in. I know you can do that w/ django rest and what not, but feels like an anti pattern to have a default admin panel that nobody uses because it sucks or everybody uses but you don't want to because it's ugly, etc... Also not a fan of the way people generally handle db models. Eloquent is a beautiful thing, and Query builder is more beautiful when you need raw queries ran.

I've only seriously used Rails/Laravel in dev/production and they're so similar I can easily move back/forth and just change lang syntax. I like laravel better simply because it has a lot more built-ins that I use a lot -- like queues, notifications, auth/oauth via passport, telescope(logging), etc... Haven't used rails in awhile though maybe they've added those natively, but the new ignite plugin for logs in laravel is amazing.

All my own opinions.
Really doubt that this is an issue that can be solved by one startup. It's a procedural and cultural issue that affects the whole scientific world; not a problem that can be solved by business or technology.
In french (Le Moukik Pakhom):

http://www.metafora.ch/wp-content/uploads/2015/06/Tolsto%C3%...
Just out of curiousity, is there a different site in the same ballpark that you prefer? Or is this more of a fundamental (or at least unsolved) problem of sites with open access not paying for people to curate and therefore turning into either payola or a morass of extortion and lies?
One factor that might increase reproducibility is to enhance negative reputational effects of publishing an un-reproducible study. That is, it should be so rare, so outré, to publish something unreproducible, your professional reputation is severely damaged, and if you do it again, you will leave academia.

It sounds harsh, but severe self-regulation is what prevents the catastrophic failure of any institution that is really only answerable to itself. Professors aren't doing any favors by rubberstamping weak papers, or giving weak students PhD's (or BS's for that matter).

EDIT: down-votes and no replies, as expected. Hey academics, sometimes to save the patient you have to amputate the limb. I care about science and want it to survive, so you guys continuing to be nice to each other even when you publish BS isn't serving that purpose.
That's how it used to be.
> Every place that is on PG&E power currently would have to gain control of the PG&E power poles and spend the money needed to modernize them. That is a huge cost.

And, after dealing with all that infrastructure, add a substation capable of disconnecting and reconnecting a town or city to the primary PG&E grid since they need that for consistent power anyway.

Or, they could just stay connected to the PG&E grid like now and spend nothing.

And, as a side benefit, you don't have to deal with the local town politics to try to get this through. Really. I have stories and stories of people who simply tried to bring broadband to their little towns and the fiasco that it always became--partially because of the telcos but often the locals were worse.
This is from 2016.

Can we get one of the moderators to add (2016) to the headline?
> (I believe even dedicated go IDEs like goland have always been a little behind go itself. It simply doesn't scale to have every editor implement their own go tooling.)

This isn't true in my experience. Goland worked well with go modules the day the Go release candidate including them was published.

The jetbrains ecosystem is also overall great for polyglot apps including stuff like different language injection in string literals in another language.

Afaik they are explicitly not using language servers, as they have their own generic language representation, which enables a lot of refactorings by itself.

All in all, whenever a teammate complained about something not working in vs code, I was successfully using it in Goland.
I found Inherrent Vice to be more manageable than other Pynchon works. You should consider that one as a warm-up to Gravity.
Mediating Consent: From Pseudoevents to Pseudorealities
Ask HN: Dutch graduate wanting to work at FAANG but not getting invited, why?
I studied a bachelor/master CS in amsterdam (and master game design). Did a couple of side projects, have 1 year full-time TA experience, 9 months full time coding bootcamp experience and 7 months full-time programming experience. And yet when I send my resume and cover letter to FAANG Amsterdam and FAANG USA, I never get invited.

Why is this?
I was mostly addressing the part regarding malicious dependencies gaining access to your local filesystem.

If we are talking about the final bundle itself being compromised, there is not really a technical solution to that other than not using dependencies.
It's nice to see how Manyverse (and the Scuttlebutt protocol in general) are progressing. I was happily surprised at the ease of use when I first tried Manyverse, and it's easy to introduce friends to it with a polished app like this. Fantastic work!
Marian Rejewski
It's to the point now where using a basic LSTM is almost discouraged compared to using a Transformer. GPT-2 wouldn't have been possible without these recent innovations.

So, but that "point" could just be that being a published academic means always using the latest thing. That doesn't demonstrate how much better these are, much less demonstrate that they represent fundamental steps forward.
I was going to suggest to use rclone to download everything, but it seems that they are a couple of limitations:
https://rclone.org/googlephotos/#downloading-images

Seems that using Google takeout is your best bet.
Personally looking at competition is HUGE for me.

Here are my reasons that I look at competitors:

- See the strengths and weaknesses of available products in the market, so that I can see where I can create something with a competitive edge.

- To see competitors’ reviews and chatter. Those tell me where customers are feeling that their needs are underserved or poorly met.

- For inspiration on creative ways to solve some of the problems that my customers are facing.

- To see what positioning, language, and targeting is resonating with potential future customers, and view how that changes as customer needs evolve and technology improves.

- For an understanding of existing flows, language, and behaviors expected in my market. (Some things don’t need “reinvention”, like filling out an invoice).

- Before entering a new space, I look at competitors to map out the “blue ocean” of where my product(s) can drive value.

- So that I can guide sales and marketing to show the value of our product and how it excels over other companies.

- To see macro trends in the market when they start happening, as opposed to being surprised.
Canadian lab test provider pays ransom to secure hacked data
My goal for 2020 is to STOP learning new langs/frameworks/etc. Stop being focused on the process and MORE on the outcome. What i'm building. Why I'm building it. And fucking complete some shit. I have 10 SaaS's in dev at any one time and haven't shipped anything.

2020's are going to be about me shipping crap instead of starting and jumping to something else. No more wasting time.
Using Python for high-performance anything is a bad choice. You will quickly bottleneck at the code execution speed, even if it's just to query some cache.

If you don't agree, make a simple "hello world" endpoint and see how many req/sec you get. Then compare to Rust / Java / C++ / Go. It will be radically different.
This needs a torrent. Badly.
My feeling is that this reproducibility crisis points to deeper stuff just waiting to be collectively understood about how to use math in experimental sciences.

So many researchers rely on assumptions of linear dynamics. So many experiments and studies are designed without consideration of observer effects.

Is it any wonder that a model might fit one day but not the next?

There is so much to be learned from applied topology, dynamical systems theory and (quantum) information theory, but methods from these disciplines are only just barely starting to become more widely accessible.