skysight-inc/HackerNews huggingface dataset:
Ask HN: How do I learn JavaScript?
I feel like I would like to learn modern JavaScript (as supported by the most recent version of V8) from the very basic to the perfect and complete level (which makes the whole point of the question, ways to mediocre proficiency are countless and obvious).

I believe this is possible (and maybe not even hard) as I only mean the language itself - no browser APIs, no frameworks/libraries/tooling, no patterns and practices beyond those necessary to understand the features and the quirks of the language itself, what they can be used for and how to deal with them correctly.

Where do I go and how hard is this actually going to be?
How to generate a new SSH key
If your neighbors are traveling by personal aircraft then it is very much the same thing. There are a lot of privately owned GA aircraft and many of us don't particularly like everyone snooping on us.

Many in this community get awfully nervous about things like police surveillance of cars, license plate tracking, etc. The Police say they need it just for special cases like crime, but we all know the dangers of dragnet surveillance. This is also dragnet surveillance; it's the same violation of privacy if the mode of transportation is different. Many on this forum think it's fun though because the mechanism is a bit nerdy and they aren't the ones being surveilled.
> skirting the law and abusing the commons gives one a competitive advantage. But that doesn't make it OK. The market isn't the arbiter of ethics.

Sadly, this is a bit naive, market have become the arbiters of ethics, namely: if it successful, it's good.

This isn't a traditional moral code from, e.g., Kant, Bentham, or Locke. Rather, it's an ethics based on capitalism.

Sure, wonky economics professors justify capitalism by saying it's the most efficient or provides the most utility, arguably grounded in traditional Bentham morality.

But capitalism has never simply been an economic policy, there has always been an ideological component to it (see for example, Ayn Rand). Maximizing returns on investment isn't just "efficient", it's "right".
Implementing an Opaque Type in TypeScript
Author of the post here; the gist of above post:

You can use Date.prototype.toLocaleString and its customizable API to get the localized output easily. Like in the following example, we will use the Locale String to easily get the Readable Date desired by the user
You don't need to be a lawyer to understand what this is all about and it certainly isn't hindsight, as you have suggested.

The reason why the IRS are challenging FB is that Apple's Irish tax arrangements became public and were very embarrassing to the US authorities, which were revealed not to be applying US law.

Now, to the matter of hindsight.

The essential point is that the transactions have to be a sham to work.

There is precisely no point in selling IP from a US subsidiary to one in Ireland at a fair price.
That would just trigger an immediate taxable event in the US for no benefit whatsoever.

The transaction is by design intended to sell IP at a large undervalue and the game was to satisfy the US and Irish authorities, both of which were happy to play along.
That only works if you have 4 new people who want to live there.

We could probably achieve that through immigration for a while, but there is still a sustainability problem that keeping some constraints on housing construction solves. I say this as someone who would love cheap housing in a desirable area.

Empty buildings tend to create problems, and the energy to tear them down/convert them to something else often isn't there once the population begins decreasing.
Some banks are replacing their core banking system with new software. It's extremely expensive, a huge risk (any delay in migration means time where customers can't use ATMs or cards) and the benefit vs just adding API layers on top isn't always clear. At some point everyone needs to modernize but there are very few people who'd want to take responsibility for a project that size.

TSB customers have learned how painful it can be if the migration of a core banking system fails: https://www.independent.co.uk/news/business/news/tsb-it-fail...
You're absolutely wrong. Technology enables an avenue for easier communication, discovery. It may not be a panacea and not the only solution. But saying 'it won't fix' is defeatist.
Tesla auto-braking saves two families from falling tree
There are plenty of ways to increase capacity on a railway line especially if you can build new rails, but at some point it just gets too difficult. The railways are surrounded on all sides, almost everywhere, by urban development. Homes and businesses have to be relocated, earthworks have to be done, and it all has to be broken into tiny pieces done in 4-5 hour spans in the middle of the night or over Christmas, because the railway is live and too economically important to shut down for long periods of time. Doing any kind of upgrades at all on a live line is horrifingly expensive and slow. That's why HS2 is a completely new railway. The UK has reached the limit of adding capacity to the West Coast Main Line; further upgrades are possible in theory but can't solve the fundamental issue of the same rails being shared by fast and slow trains.

As for Beeching, it's not quite that simple. The roughly 25-35% of the country that's pretty left wing hate the Beeching cuts for the same reasons they hate all government cuts.

Despite my negative view on trains above, I'm actually a train enthusiast. I love taking the train. I love reading about how they work. There was a story on HN some days ago where a rail engineer talked in detail about how the high-speed rail record was set, I absolutely loved reading about it. My girlfriend had to tear me away from the screen. And I've often wondered about how to really scale up the railways in a big way.

In a way, railways are kind of the ultimate nerd dream. An ideal railway is a huge, smoothly operating and very safe high performance machine, entirely coordinated by engineers and planners. I think perhaps that's why it's such a political hot-button issue: a nationalised railway represents a very tangible instance of massive state planning and control. Decentralising it is difficult for various logistical and technical reasons, not only the politics of it.

Despite that the Beeching cuts have never been rolled back, even under the 3 terms of Labour government. Many of those lines made no sense, especially in the context of continually declining ridership and the ever rising traffic on the roads. It'd have been a very irrational government that continued ploughing money into rail instead of building motorways given the expressed preferences of the population at the time.

For unknown reasons that are still debated today (but which align perfectly with privatisation), the decades-long decline in train usage reversed and so now new lines are needed again. But they're different routes to the ones closed by Beeching. Those were mostly small rural lines.
Quite a bit of volume on those feeds given that it's specific cities. Colour me surprised
Show HN: Convert image to black and white, convert up to 50 images at once
As someone who debugs graphics drivers for a living, I assure you it's the same from the other side. Except the gigantic closed source binary blob is some AAA game, benchmark, or a popular game engine demo. Also often the developers are using the API against the specification, but one of the GPU vendors is more lenient than the other so it works for them and they are already shipping the game, too late to fix.
Congrats on your will and enthusiasm, I believe this is already a great first step!

Besides Martin Fowler which was already recommended, I would also recommend the books by Robert C. Martin (Uncle Bob), and his "Clean" series - there are books "Clean Code", "Clean Architecture" - all of them are really good and useful and will give you a solid foundation to build on.

Other than that, the best thing you can do is to get practice & ideally surround yourself with more experienced developers. Either get an internship in a company building something more complex, or participate in e.g. Google Summer of Code.

Doing fun side projects is also a great way - you learn a lot and also have something to show & write about - win-win!
The BBC isn't likely to make puns about something so serious.
Principles of Icon Design
I’ve seen this happen too a week ago, GTX 2080. Though it seemed to be some kind of corrupt state, was happening on almost every tab and then a restart fixed it.
Small Data Can Play a Big Role in AI
No, but if they did I'm kind of the one at fault for making them my "friend". The old world analogy is you go around the world collecting business cards. That address book is yours - you can burn it, sell it or do whatever you want with it - most importantly use it to contact the people who trusted you with the info. People just became more judicious about who got what info.

Similar correction needs to happen here. When I add someone to a digital platform, instead of a 1 click process it needs to be a 1 click + select what info to share process.

Then the data needs to be portable.
No you're not the only one.

I find especially baffling the rationalization over the type of crime. You don't need to physically harm someone to be committing a crime, and there's a lot of different crimes that happen in paper and/or bytes that don't (directly) physically harm people.

That doesn't make them right or okay by any means.
I'm not sure it's that they were too complex. More that you couldn't shoehorn them into an 1980's era microcomputer.
Research project: The State of Microservices 2020
Readability. I never ran into go code I couldn't read.
Thanks so much for calling this out, including the coarse language used, because in my opinion, it's really warranted.

We could do so many good things with technology, instead we use it more and more for bullshit to maximize profits instead of maximizing social value. It really is depressing really.
> But saying 'it won't fix' is defeatist.

Insisting technology _must_ be capable of fixing these problems is naive idiocy. Technology isn't our only means for addressing social issues, and it's certainly not a panacea.

Why should we resort to the newest and least well proven approach to issues that humanity has faced for thousands of years? Do you have my actual justification beyond "it gives me a job?"
As I understood it, self driving cars are designed to ignore objects when traveling at speed, because there is a risk a car could slam on the brakes for a plastic bag floating in the wind? Can somebody smart explain what happened here?

And is Elon's "Glad you're all ok" a way of accepting credit where credit is not really due?
I saw this movie before!

[1] https://en.wikipedia.org/wiki/Children_of_Men
https://github.com/apache/arrow/tree/master/format

Are your in-memory formatted structures. Even better, there are libraries in many languages for accessing them. As such you can consider the data almost as an ffi between languages.
Metadata can also be attached to the arrow data.

As far as the rest goes, A2/bluebottle defines that standard program unit similar to COM etc, ot has an object shell similar to Oberon or powershell, so looks to be pretty much what the author is looking for.

Having said that, I'd prefer an OS with managed memory but no GC as per Composita.

https://github.com/btreut/a2

http://www.composita.net/Composita.html
I don't think network security is the issue here. Storing plain text passwords is likely a legacy problem, not an active implementation decision. And especially because some systems within the network can be vulnerable, locking down the network as much as possible at every possible point is even more important. Core banking systems can only run on 50 year old code because you have to get through many layers just to get close to accessing them.
When We All Fall Asleep, Where Does Our Data Go? Why Data Governance Matters
He literally worked for McKinsey & Co.
In the future I would be very open to the idea but for now I'm trying to keep the scope limited: https://github.com/ricokahler/hacker-ui/issues/8
It's time for us to recognize that we (the tech community) don't have all of the right answers, and it's time for us to reach out and try to learn, and try to participate in fixing the problems we helped create.

Is this like when people in the past said the postal system couldn't ever replace visiting someone, and that the telephone would never replace letters, and that chat apps couldn't beat a phone call..

People in tech (all tech since the beginning of the human race) have believed their inventions will nudge people to do things they might not otherwise do. Better swords and armour encouraged more battles, better farm tools encouraged more farming, better housing encouraged bigger families, better eduction encouraged more inventiveness, and so on. That's what tech is. Today that means Google's adverts push us to click on links and buy things, Facebook's status updates push us to share more, Instagram encourages us to take more selfies and pictures of our dinners, Twitter's retweets make us show people we discovered things they might want to see. The idea that people in tech wouldn't come up with apps that try to fix the lonely people by making them sociable is ridiculous. Apps and tech are all about behaviour manipulation.

And, mostly looking at all the evidence around us, it works really well.
TSB had a major IT meltdown when it tried to migrate to a different core banking system: https://www.independent.co.uk/news/business/news/tsb-it-fail...
Thanks for the detailed reply,

That looks like a great setup, I wasn't aware of proxying through nginx, I'll definitely have look at that setup.

Cheers
Why do these sites obnoxiously hijack the browser back button ?!
> You keep using this term and I don't think you know what it means.

I'm pretty sure I do. But I'm also pretty sure you don't know what the term “Strangler Pattern” means (specifically, that you think it is equivalent to “incremental rewrite” rather than one specific approach to incremental rewrite.)

> The Strangler pattern IS an incremental rewrite.

Yes, but not all incremental rewrites are the Strangler Pattern; that's why my first post in this subthread points out that the choice isn't exclusively between Strangler and big bang rewrite, because incremental rewrites are possible without the Strangler Pattern. In fact, i alos discussed the specific differences that can arise between Strangler and non-strangler incremental rewrites.

> and all I was clarifying is that by refactoring code written in an old framework (e.g. PHP 5.6) does nothing to eliminate technical debt

That's not at all what you said, though it's possibly what you meant, if you were writing very imprecisely. If it is, though, it's odd to the point of non-sequitur as a response to anything I've written because I never suggested refactoring code while retaining an old framework, I suggested an incremental rewrite similar to what is done on Strangler but without (1) implementing a new-system proxy as a first (or, potentially any) step, or (2) adopting an “old code is deleted but never modified in the course of the transition" rule.

> The Strangler pattern is most often used when you want to switch languages (e.g. Java -> Rails) or when an older paradigm doesn't have a straight migration path (e.g. WebForms -> .NET MVC).

Yes, though there is no particular reason that either of those cases require Strangler for incremental replacement.

> For the record, I've advised over 100+ software companies

Good for you, but that's not at all relevant to the discussion.

> You (1) either migrate it to the latest (if possible) and refactor over time, (2) strangle it with the new framework, or (3) rewrite it. That's it.

No, it's not, unless you are using “strangle” much more broadly than the Strangler Pattern, which isn't just an incremental replacement by a particular strategy for incremental replacement characterized most notably by placing a request-intercepting facade in front of the old system.
I don't think someone launching an app stops people using all the other means of addressing their social issues. It's another option, not a replacement option.
The sentiment about application developers reinventing languages (the example of Ansible) is understandable. Some standard OS service offering structure could be convenient for some use cases.

However how would that help this common consumer scenario?
I record a video using my camera (some unknown OS). It's stored on a SD Card as a list of bytes. I guess there is little to do about that.
I either send the video to my Android phone over WiFi (my backup strategy when travelling, the camera is an AP) or I insert the SD Card into my computer. When the video is on the phone I syncthing it to my computer, so it always ends up there. Then I could process it or not, send it to friends using several different OSes or upload it to YouTube. Friends could receive the video over Google Driver or via a https link to a server of mine.

A video file definitely has some internal structure, mandated by standards and it must be interoperable across OSes. Maybe a list of byte is all we need here. Probably most YAML files must be cross OS (definitely docker, also ansible). The list of bytes is the minimum common denominator for all OSes so I guess it's here to stay.
definitely! mobile friendly docs are marked very important: https://github.com/ricokahler/hacker-ui/issues/6
> Is this like when people in the past said the postal system couldn't ever replace visiting someone, and that the telephone would never replace letters, and that chat apps couldn't beat a phone call..

This is a very dumb argument and a false analogy.

> The idea that people in tech _wouldn't_ come up with apps that try to fix the lonely people ... is ridiculous.

You're absolutely correct here. But that doesn't mean those apps will actually work or achieve their publicly stated goals.

Also "fix" lonely people? What the fuck? And you want to pretend to criticize behavior modification?
Well, I have to say I'm quite proud of everyone who stood up and made a fuss over this. It is blatant corruption. Keep the good fight going, folks!
It's a kind of interesting point. At the time ADS-B was conceived they would have been aware of the lack of security I'm certain. However, the privacy element has, for the most part, only become relevant because of practically disposable Software Defined Radios being mass manufactured (actually repurposed TV dongles). At the time they created the spec I'm sure they considered the cost of buying a niche set of radio hardware a barrier to the general public having access.
Psychologically it's hard to see the victim, so people don't count it. It's a terrible thing about human nature, but it is what it is. The person you're replying to will never see themselves on the same level as someone who mugs someone or robs a liquor store, not because the damage they've done isn't worse, but because it doesn't feel wrong. We invent all sorts of ways and reasoning that allow us to do awful things without feeling guilt. It's just a sad fact about us.
Check this out:
https://www.freecodecamp.org/
> I always have found it strange that communities of folks who very much don’t want to be tracked themselves are also very interested in aggressively tracking others.

It fundementally comes down to information asymmetry, which is only growing. Any step that makes public knowledge available, especially when focused on areas predominantly used by the economically, socially or politically dominant classes help push back against this growing information asymmetry.
On coastal Scotland we get all sorts of things washing up thanks to the Gulf Stream; from the ubiquitous coconut, to political placards from Jamaica.
> There are plenty of ways to increase capacity on a railway line especially if you can build new rails, but at some point it just gets too difficult.

While trains are touted as very efficient modes of transportation, and generally beloved by nerds, I'm skeptical, largely because train tracks are so under-utilized.

Train tracks take up as much space as many multi-lane highways. On highways, dozens of cars go by every minute. But a train car only passes through at best a few times an hour. I suspect that if you took one mile of train track and one mile of a highway with the same overall footprint, far more people/goods will move through the highway-mile every hour than the train-mile.

Don't have data to back this up, just a hunch. But if it's true, then even though trains are far more energy efficient than cars, they're likely far less real-estate efficient.

(Also, I do suspect that this is not always true. A heavily trafficked tunnel in/out of Manhattan's Penn Station is probably more efficient real-estate wise than an equivalent tunnel. But that's a very extreme case with super high densities).
Solve loneliness by giving people another reason to stare at their phone. Sigh.

I sometimes feel like the tech industry is an episode of black mirror.
> Don't do stats with excel. It's all wrong, Microsoft won't fix the bugs.

e.g?
As others already mentioned, the best thing would be if it is possible to reuse the non-UI code (so logic & algorithms) and put it on a server behind an API.

On the other hand, if the code is not written in the modular fashion and things are tightly coupled, it might be harder than writing everything from scratch (of course, that depends a lot on the volume of the code).

As PaulHole suggested, writing a test suite would also be very important to make sure your code works as expected - that will save you a lot of trouble in the long run.

RoR seems like a good and stable choice for the backend, do you plan to use something like React/Vue/Angular on the frontend?

On the side note, I am working on a project that would hopefully make app dev easier and more sustainable in the long run, but unfortunately it is still in the very early stage of development. Would appreciate your feedback though!
https://wasp-lang.dev/
Sucks for users but means you can't use key loggers or click loggers to get users' pins. From a security perspective it's actually pretty good. Even if they offered more complex passwords most people would choose a simple one anyway. This likely reduces fraud for the most vulnerable. It obviously sucks for people who know how to protect their devices.
I don't think 'technology must' is the narrative here. Well, it's trying to solve a problem. What's wrong in having different approaches for solving a problem? I don't think they are preaching on being the only solution and "disrupt" traditional approaches.
It wasn't obvious to me from the README what this is.

Let's Encrypt (or more generally, any certificate authority implementing the ACME protocol) can authenticate (verify ownership by doing something only the owner of the domain can do) the domain for which it issues certificates using various methods, one of them being adding a temporary DNS TXT record. Certbot (the ACME client) is responsible for doing the client-side part of the authentication, in this case adding the DNS TXT record via this plugin.

The certbot DNS plugins are specific to a particular DNS server software or hosting provider's DNS service. For examples, see certbot-dns-* at [1]. This one is specific for software called "Acme DNS Server" [2].

> Acme-DNS is a small DNS server with the sole purpose to handle ACME DNS challenges. This is a great way to automate your challenges without the support of your DNS provider.

[1] https://github.com/certbot/certbot

[2] https://github.com/gridworkz/kubernetes/wiki/Acme-DNS-Server
Exactly! You hit the nail right on the head.