skysight-inc/HackerNews huggingface dataset:
My OS of choice is OS X 10.9 "Mavericks". It's not old enough to be "Retro" yet, but I want to stay here for a while, and Firefox says they're dropping support in a year. And while there are a bunch of alternatives browsers I can move to (ArcticFox, Unofficial Intel Builds of TenFourFox, etc), they don't always work with every website.

So, one long-term possibility I'm toying with is using OS X's implementation of X11. I could run Firefox in a modern Linux distro (probably a VM on the same machine, although it could be a different machine), and use X Forwarding to make it appear as a normal app. I think this should theoretically work for a lot of OS's, from the earliest versions of OS X to decade-old copies of Linux.

Has anyone used this approach for old machines?
Iceland now feels like the coronavirus never happened
The problem is that it now takes the recipient 2 minutes to listen to your message, and can't search for it when they need to reference it again in the future.

If you literally just typed out the same words you spoke, the recipient can 1) interpret your message faster and 2) search for it and find it in the future. Removing those two features for marginally faster message composing just seems selfish and a waste of the recipient's time.
At $JOB, we have feature flags of innumerable shapes and sizes. Some are based on account standing, some are % gradual rollout at random, others are a more thoughtful low-risk to high-risk rollout across customers and hosts. Some are manual flipped per customer/only on certain dev hosts. Literally anything you can think of, we have tied behavior to it.

But, we've got good frameworks in place such that at the call sites where behavior diverges, it's just checking a boolean.

if PermissionController.get().get(MyPerm.class): doA() else: doB().

I suspect this is pretty common, and its still easy to do the dead code elimination on.
Nothing is stopping Google from
being an international company headquartered in France. France has a lot of social welfare rules that dictate a safety net for it’s own citizens such that every company in their realm must adhere to if they want to benefit from everything France has to offer.

America has a lot to offer, and part of the tax is you must support American workers first.

If India and China is the better place to work, better salaries, better consumer market, better infrastructure, better freedoms, better everything - feel free to operate from those places and respect the offerings of the people of that country, and please, put them first.

But don’t take advantage of the offerings of a place like Germany, while taking advantage of the lack of worker rights in China, while paying taxes in the Caribbean. This is taking advantage of every loophole imaginable.
This is a C implementation that is distinct from the Linux kernel implementation. The most common WireGuard desktop implementation is in Go; the kernel commit is comparing their C WireGuard to the Go desktop WireGuard.
Civilization is a strategy sandbox with a historical theme but no attempt to replicate historical events. But in general that can work - for example, the various grand strategy games by Paradox (Crusader Kings for early middle ages, Europa Universalis for late middle ages/rennaissanse, Hearts of Iron for WW2 era, etc) can bring a lot of perspective in the relevant eras and their events. It also was very useful in learning geography, as it forced me to learn the relative locations and properties of various regions I've never been to.
I don’t think you will find a Microsoft solution to this. But that Python script can take in SVG. On the other hand you have easy speech to text software. I am not super familiar with text layout tools, but I am almost certain there are multiple approaches you can take to generate a paginated SVG from text with a given font and text file. HTML to PDF via wkhtmltopdf can certainly do that, and I suspect GraphicMagick can take a PDF and spit out a path only SVG.

This isn’t the fault of 3D printers and their firmware. This is lack of understanding which parts of the tool chain do what. You wouldn’t expect a regular laser printer to recognize your speech, right? Most of them don’t do fonts either. And every single printer uses a different set of firmware and a different driver. By comparison, 3D printers use only about 5 common variants of GCode, of which GRBL and Marlin compatible ones are the most common by far. You can use multiple different slicers to produce tool paths for any given printer and printers from multiple manufacturers use compatible or identical firmware, guaranteeing that you don’t need to update drivers because that concept doesn’t exist. 3D printers came later and were able to avoid the many mistakes that 2d printers made. Everything is open source, everything is compatible and kept up to date, and even the hardware is abstracted away: you can swap in a 32 bit board for an 8 bit board, wire it up, change your architecture target, compile, and your printer will run as before. Have you ever tried putting a new board from an HP into a Canon printer? I doubt you’d ever be able to do that.
Problem is, the other teams can't go somewhere else if the service sucks.
> Has anyone does this?

Yes, it's a common way to run GUI-based Kali Linux apps under Windows 10's Linux Subsystem.
I think the development of and move away from closed source development tools and license models is the key for hardware accelerators.

We have tried to accelerate different domain specific tasks with FPGAs but the development cost and effort keeps being to much compared to well written and smarter software.

Sure there is a case for some very computational intensive tasks but I think the really interesting part is when you can safely high level program these things.
While turing complete, it is essentially a DSL for doing logical deductions in a system of predicate logic. This makes it quite natural for certain classes of search and constraint satisfaction problems, but less natural for day-to-day procedural programming.

Further more, it is missing many things that you come to expect in a modern programming language - arrays, good numerical performance, etc.

The way it works though allows you to do some things quite beautifully. For example, since every function you right can be run either forwards or backwards (solving for any one unknown amongst the arguments or result), you can often write one single piece of logic for parsing that can just be run in reverse to do serialization (or vice versa).

The main reason, though, that it (or it's progeny like Mercury) is not mainstream is really the same as the reason that Haskell and its derivatives are not. It's just too different from the more widely known algol/simula langages, and the library ecosystem is comparatively poor.
The awesome thing with wireless IoT is that it can be set up without any additional cabling, which can be extremely painful process in most homes.

In case of wireless all you need is ESP32, relay and a power supply. And all of that together will cost less than 10$.

Can you easily (cheaply) use the already existing power cables for PJDL? I know there are network repeaters that use power cables to transfer data, but I have no idea how much it would cost in IoT scenario. Do you have some examples?
Does the underlying crypto in WireGuard lend itself to hardware acceleration/implementation in ASICs? If so, when do we expect to see such devices available?
> In Riemannian manifolds, we take ℝ^n as the building block

We take ℝ^n as the building block for any smooth manifold, not just Riemannian ones. Note that there is a difference between ℝ^n and Euclidean space. ℝ^n is a smooth manifold without a metric structure, so it is not a Riemannian manifold automatically. In contrast, Euclidean space is ℝ^n with a metric structure, namely the one given by the standard Euclidean metric δ. So Euclidean space is a Riemannian manifold and it is often denoted by the tuple (ℝ^n, δ).

Finally, if we denote by η the (n-1, 1) Minkowski metric on ℝ^n, then (ℝ^n, η) is just Minkowski space (in particular, it is a Lorentzian / pseudo-Riemannian manifold).

> Just as flatness in the Riemannian case means "globally like ℝ^n"

This is not correct. There are many flat Riemannian manifolds that are not globally isometric (or even diffeomorphic) to Euclidean space (ℝ^n, δ). Take e.g. the torus T^n = S¹ × … × S¹ of any dimension.

> On the other hand, one can take Minkowski space as a given, and then build spaces where we have space that is locally hyperbolic

Again, I think you're confusing the terms "Lorentzian" and "hyperbolic" here. As I said (and you then yourself said), a hyperbolic manifold is a Riemannian manifold, not a Lorentzian one. A Lorentzian manifold is locally Lorentzian, not locally hyperbolic. You might want to read pa7x1's excellent explanation again.

Also note that the quotes you gave from Wikipedia don't contradict what I (or pa7x1) said in the slightest.

> As for _why_ we do this, my understanding is that we want to generalize SR(special relativity). For SR, we use a single space of signature (3,1). For GR, we want to 'put together' many such spaces, which are then distorted by gravity (this is curvature of space-time). Hence, we take the local space to be (3, 1), and the global space connects versions of (3, 1).

This is certainly one of way of thinking about it, yes: Locally, we see Minkowski space but globally the geometry (and topology) might be more complicated and this is what GR allows us to implement through a general Lorentzian manifold.
Wait, Prodigy the ISP? (I'm 33, so old frame of reference)
As a software person who doesn't know much about this sort of thing: how does this work electrically? Presumably there's no current flowing as it's an open circuit? Is it akin to a voltmeter using the ground as a point of reference? Why don't other wire-based protocols use the single-wire approach?

Does it have anything in common with 'single-wire earth return', in power-distribution?
Sorry, I didn't mean to argue that wifi is deadly (because power is so much lower), I'm merely agreeing with the parent that the sun is deadly. I think the links to cancer are strong enough to warrant the term.
It was probably downvoted because it was a reflexive flamewar style comment rather than a thoughtful, substantive one.

"Comments should get more thoughtful and substantive, not less, as a topic gets more divisive."

https://news.ycombinator.com/newsguidelines.html
Paradox is notorious for almost too steep learning curves.
Great article and good bottom line advice.
I've been trying to push myself to learn Prolog, using this book, because Prolog seems like a very elegant way of modeling the interactions between business rules, compared to the bespoke functions I typically write during web app jobs.

I have no complaints about the book, but I've been struggling to figure out an easy setup for "Prolog as a web app backend." Typical Prolog implementations are not designed to be used as concurrently-accessed databases. Datalog seems to be a nearby technology that is more pointed towards that use case, but even then, there seem to be scant few implementations of Datalog databases with transaction support, and near zero that are open source.

RDF/OWL databases seem to be another conceptually-near possibility, but they also seem to have few implementations that are prepared for high-scale concurrent access.

Overall, it seems that there is a decent amount of interest in "logic-type" query languages as a curiosity, but little attention to implementations that support use in OLTP business applications, which makes adoption difficult.

Does anybody have any advice?
Would I be able to build a niche topic focused site (e.g. video gaming news) based on the NewsCatcher API?
Doing this would require on-demand manufacturing with operational costs close to what currently exists. I can see how it could end up cheaper simply due to not making clothes that don't get sold. I'm sure there's a lot of waste currently.
> Bonnier, apart from being a media empire they can destroy your life in seconds

I've never heard that the Bonnier group goes around destroying lives. Do you have any examples of them doing so?
Oh right! Derp.
DEBORDEMENT DE PILE
DP over USB-C.

I currently use a Dell WD15 with my Dell laptop and I love it. Only single cable to plug in which drives my wired lan, 2 screens, power, mouse and keyboard.

This monitor with it essentially built in looks great, would remove all the following from my desk:
- the dock
- the power brick for the dock
- One of the DP cables
- one of the screen USB cables
For those who fervently believe that "Video Games Are The Future of Education", I would like to recommend two books:
"Geek Heresy" by Kentaro Toyama, and "The Flickering Mind" by Todd Oppenheimer.

The former offers a voice of caution, and is written by the former head of MSR Asia.

The latter is filled with historical examples of "x is the Future of Education" (for x ∈ {"radio", "television", "computers", ...}) each of which has failed to replace human instruction, showing that there's something about human interaction that appears to be crucial for education.
It looks like the PDF is a 1-bit scan, so the text is a bit wobbly. Though I concur that Lucida Bright is lovely.

I wonder if the MIT Press — or the author — has the source files (presumably LaTeX) somewhere. It would be a shame to have a low-quality scan as the "definitive" archived version.
Deno Deno deno deNo deNodeNodeNo...
distributed systems are inherently hard to build no matter how simple the idea is. consider a simple application like pastebin. the idea is a block of text and a shortened url associated with it. most people have built one. but only few have built something close to pastebin.

size makes all the difference. even if your version of pastebin promises 1 successful save per second, you can only get 86k saves on a good day!

if all your saves were unique visitors it means you are only promising 86,000 unique visitors per day. and that's only considering saving new snippets, we haven't considered displaying them yet.

that's essentially what these systems have to deal with plus security, backup & replication, monitoring etc...
I just cannot consider this a reasonable stance.

There are places where no-typescript would be appropriate, but they’re vanishingly small. The idea that the benefits static typing brings are small is just laughable.

The reason this is such a hard choice is because static typing brings great benefits, so choosing to forgo that is not easy.
Would you please review https://news.ycombinator.com/newsguidelines.html and stop breaking the rules when posting here? We've had to ask you multiple times before.
They become really frustrating as the project grows in size. Personally, it becomes really difficult to maintain productivity. As compile times tick up, I start bouncing over to other tabs rather than just twiddling my thumbs starring at a terminal. Then I realize I've been on Reddit for a half-hour.

I recently watched this talk by Johnathan Blow[0] where he talks about quality of life in programming languages and spends a fair amount of time talking about compile times and their effects.

I think we collectively need to re-align on being performance focused. Tools are simultaneously amazing but crummy at the same time.

[0] https://www.youtube.com/watch?v=uZgbKrDEzAs&t=2s
I enjoyed reading your translation of the excerpt from Nachtzug nach Lissabon. It got me interested in the book.
Hacked – Ten years of data from over 200 police departments
Best of luck and I hope you find a solution. As I mentioned in my other comment, the only part of this I don’t know for sure is how to convert a written page to a path only SVG. I suspect GraphicMagick can do it. If so, your toolchain will be speech to text (pick your favorite one or use e.g. an Amazon Echo and a custom skill), text to HTML (with a stylesheet that sets the correct page size and your custom handwriting font), HTML to PDF using wkhtmltopdf, PDF to path only SVG using GM, SVG to GCode using the script from my link above or another similar tool, and OctoPrint or similar to drive the plotter remotely. You could likely bang this out in a day with a bash script.

I am actually curious, how much would you pay for a complete solution like this? Also this is definitely inspiring me to add a pen attachment to my 3D printer and try some plotter stuff.
While I think the intention and idea is good, you should not teach kids how to play poker. Rather, use a board game with cards and simulate somewhat similar environment but with no inclination towards real gambling whatsoever.

Sure, if the "kids" at hand are university students, you could use poker. But I find it extremely dangerous to teach kids poker theory, who as theorized by the Dunning-Kruger effect might start believing themselves to be really good at it, and then proceed to spend a lot of time and money on a pursuit that might not lead them to happiness. You can teach statistics without making any new gambling addicts in this world.

I know the majority of the students wouldn't be affected and the effect could be even positive, but for some the drive to gamble is so strong that they really go off if that predisposition is nurtured. Although perhaps they are ticking time bombs either way, so no amount of protection will save them. But yeah, you got to be careful teaching kids positive feedback loops on things that might have serious drawbacks.
I don't understand how this meme of "Corporations sell your data" came about.

Google has perhaps the world's largest trove of information about people, but do you see it ever leave their iron grip? No. Same with Facebook. In fact, with Google, you can pay them money (GSuite) to get enhanced privacy, and a legal relationship which ensures your data is protected.

Add laws that prevent your information from getting leaked / hacked. If these companies have an organization-ending law when data gets leaked, they'll finally have proper incentives to secure your data adequately. Until then all of these laws seem like a waste of time.

On the other hand, in order to prevent intentional transfer, I believe that if we ban the transfer of raw information (not aggregated) between organizations this point is somewhat moot -- of course, we would have to have something like antitrust law enforced and prevent Google from acquiring an insurance company or such.

I trust Google with my data, as a large leak would likely hurt their reputation significantly, and result in them losing their edge (For a little while at least). I do not trust the US Federal Government to secure my data, or use it in a good way. Treat the US Federal Government like any of these organizations -- if the FBI wants to get your logs, they should be held to the same legal framework as Google "selling" data to any other corporation.
> In closing, it is worth noting that one of the reasons this transition has been so hard is that the original Git implementation was not designed to swap out hashing algorithms. Much of the work put in to the SHA-256 implementation has been walking back this initial design flaw. With these changes almost complete, it not only provides an alternative to SHA-1, but also makes Git fundamentally indifferent to the hashing algorithm used. This should make Git more adaptable in the future should the need to replace SHA-256 with something stronger arise.

That's the last paragraph of the article.
Does it really matter for the Pro line, if there will be something that gives Xeon run for its money? Say twice as fast or twice as many cores for the same price?
Once Pro on ARM is out, and it probably will be the last in a lineup, there will be a lot of software with native ARM support. At that point (unless there is some INSANE advantage that Xeons would give), it is pretty much given that it will become ARM. Question is only in how quickly Apple can come up with something that is noticeable beating Xeons performance-wise.
Today, you'll find a lot of confederate flags flying in Michigan & other places way north of the Maxon-Dixie line. Makes you wonder about the kind of "southern heritage" they are celebrating
Speedy and nice minimal design. Are you considering categorizing initial posts?
Trefethen and Bau's Numerical Linear Algebra (http://people.maths.ox.ac.uk/trefethen/text.html) introduces SVD up-front, before discussing how to compute anything.
Computer Systems: A Programmer's Perspective: around 2012 / 2013, I went through this book because I took a coursera course based on it. In fact, many universities base their systems courses around this book. It is really well written, has a great choice of topics, and phenomenal exercises [0] for practice (some are legitimately fun).

Operating Systems: Three Easy Pieces: In 2013, I found this book because I was frustrated with the textbook assigned for my operating systems class (Silberchatz). OSTEP has incredibly clear and concise descriptions without skimping on necessary details. It's wonderfully written. I was so jazzed up about this book that I ended up sending a lot of edits / improvements, and the authors gave me a very kind shoutout in the acknowledgements section.

Computer Networking: A Top-Down Approach: In 2013, this was the assigned textbook for my computer networking class. I already owned Tanenbaum & Wetherall which is good, but preferred this book. It is a more approachable treatment of networking (without sacrificing any crucial topics), so better for a first course.

I've heard glowing reviews of The Algorithm Design Manual, Designing Data-Intensive Applications, and Structure and Interpretation of Computer Programs over the years, but I haven't personally gone through them. For the TeachYourselfCS categories that I know the textbook landscape, I find their selections spot-on and pretty refreshing.

[0] https://csapp.cs.cmu.edu/3e/labs.html
Wireless transmission is pretty interesting. When doing the OSI work and getting to the 'physical' layer for WiFi, I was surprised to see how transmission worked and how often you'd have conflicts when broadcasting packets on the same frequency range.
That document is not particularly enlightening either.

> we're removing the types from internal code and making it pure JS. this reduces complexity and helps us ship a faster product

Yeah, because dropping static types from 10K lines of code is definitely not going to be a maintenance nightmare in the long run.

But perhaps this is something beyond the simpleton comprehension of us novice programmers
>And while it appears to be a reported phenomenon,

I believe you're misreading that Wikipedia section. The phenomena exists, and the mentioned aspects all play a role in causing it.

It is difficult to explain which part of the process causes the time distortion, and the measurements of how distorted things can be are influenced by the testing.
Interesting response.

Pretty backwards of Theo to snub Rust-lang like that. It's pretty much attempting to achieve the same ideals as some of OpenBSD's.
This is due to the rotation rate of the structural elements of the wheels being just above the flicker fusion threshold frequency, around 60 Hz [1]. As the wheels spin faster, they just look like a blur.

[1] https://en.m.wikipedia.org/wiki/Flicker_fusion_threshold
what does your question mean?

I know the words but don't understand what you are trying to say.
I prefer these interviews rather than take-home projects, which usually take longer and can be cheated.

A company once sent me a really long take home exercise that took like 3 full days to implement to completion. I said: no thanks, and in the same 3 days I had multiple interviews and even got an offer.
So you left a startup to work at a big company
> It was never fun to grind through killing 100 Goblins, but you did it so that you could get the magic sword at the end.

I think you're taking exactly the wrong lesson from that. It wasn't fun to grind through the goblins, but it wasn't challenging either. You did it because you could turn your brain off. I opine that if it did require thinking then the world would now be overrun with goblins...