skysight-inc/HackerNews huggingface dataset:
>and yet they tend to care deeply about maintaining the status-quo.

Because changing is more work than not. It shouldn’t be a surprise when people get upset because you want to change fundamental terminology in some software’s architecture because a group is triggered by the originally chosen words.

E.g. Somehow master and slave are more offensive than killing parents and leaving orphans?
I think you're missing that this columnist may in fact be a sensationalist hack. As far as I can tell, nowhere in Gott's paper does he imply that we will end in less than a thousand years. From a quick scan of the paper, Gott's most incendiary statement is that there is a 95% confidence interval that our remaining species lifetime is in the range of 12 to 7.8e6 years.

If anyone wants to check for themselves, hopefully it's not against HN rules to link the paper: https://sci-hub.tw/10.1038/363315a0
That basically no modern oop language is actually oop. Smalltalk is an excellent example of what the oop movement could have been, Java is what it became instead.
What's the GUI going to run? X.org? Wayland? Or in the Windows ecosystem?...
No intervention = stability

It also largely reduces risk in some foreign investments
If this research takes public funding, why the hell are it's proceeds not public?

Why am I paying tax dollars to fund the competitive advantage of private firms?
Colourful Lakelets
Unfortunately, there are no boards on the market (that I know of) that don't have any closed-source blobs. Also (unfortunately) it is probably going to stay this way because of legal requirements.

1) Broadcom has quite a bit of stuff they want hidden and don't allow any of their many customers (including the Pi) to open-source.

2) The Pi 4's SoC has a hardware H.264 block and hardware H.265 block. Older Pi's had a hardware MPEG-2, hardware VC-1, and hardware H.264 block. These blocks require royalties and are _heavily_ protected by MPEG LA. If open-source software was released that could control these blocks, you could possibly expect a huge lawsuit against the Raspberry Pi Trading arm.

3) To the Pi's benefit, the VideoCore is not open-source but is the most openly-documented GPU available in a mobile device. Most Pi competitors use Mali, which if you look at Hackaday's Pine64 Un-Review, works with almost nothing and has wretched documentation. There is some open-source work, but quite a bit remains closed or completely inoperable on Linux.

4) If you need platform security, look elsewhere. The Pi doesn't support secure boot, licensed code signing requirements, and the new Pi 4 allows almost anyone to update the USB and SoC EEPROMs just by putting in a new SD card and running a few commands.

5) Cortex-A72 on Pi 4 is venerable to Spectre.
Termux. https://termux.com

I've got an actual userland Linux shell and package ecosystem, with 1,231 available packages (compare against ~6k for Red Hat / CentOS, 70k for Debian), including standard shell tools, editors, and scripting languages, plus several Android-specific tools and APIs. The scripting tools open up broader archives via pip (python), npm (node.js), and cpan (perl). Many of the "Linux" shell and scripting examples I've posted to HN over recent years have actually been run on and via Termux.

This replaces other Android tools, including console, SSH, audioplayer (mpv/mps), backgroundable and playlistable YouTube audio (mpv, mps-youtube), remote sync (rsync, scp, mc), editors (vim, emacs, nano, etc), and other tools. An sshd daemon allows remote (ssh-key-only) access to the tablet itself, useful for admin and substantial tasks at a bigger screen and better keyboard.

The develooment is active, response to bugs (I've found several) prompt and satisfactory, and growth in packages available (~500 when I first installed Termux) impressive and assuring.

This is by no means a full Linux system replacement, for numerous reasons, but it very much, and more than any single other feature, makes Android Not Completely and Utterly Suck (which it otherwise largely does).

Coupled with a Bluetooth keyboard (another long tale of frustration), a tablet becomes a surprisingly capable (albeit still frustrating) laptop adjunct. The biggest frustrations remain Android-imposed: Lack of full filesystem access and unpredictable process termination, by Android.

The lack of an equivalent IOS feature utterly kills that platform for me. I'm very much looking forward to Purism's tablet offerings.
Also, it seems the US is pretty bad at counterintelligence whereas Russia (and USSR before) are good at ferreting our spies.

China is probably better than us at it if for no more reason than tracking their population better. Plus that incident a few years ago exposing double agents.
A word of caution to anyone writing C macros like the examples in the article... There is a potential error in this macro:

#define COUNTOF(array) \
(sizeof(array) / sizeof(array[0]))

Generally, when you write a C macro, you should parenthesize each use of any argument inside the macro. The exceptions would be cases like token pasting where you want the literal argument text and only the text.

I don't have a specific failure example in mind for the COUNTOF macro (maybe someone can post one?) - but here is a macro where it is easy to see the problem:

#define TIMESTWO( value ) ( value * 2 )

int ShouldBeEight = TIMESTWO( 2 + 2 ); // Oops, it's 6!

This happens because the macro call expands to:

2 + 2 * 2

Parentheses prevent this problem:

#define TIMESTWO( value ) ( (value) * 2 )

The macro also illustrates a common misconception: sizeof is not a macro or function call, it's an operator. So wrapping the argument to sizeof in parens isn't necessary unless they are needed for other reasons. (They don't hurt anything, they just aren't needed.)

So when I've written a COUNTOF macro (and it is a very handy macro in C/C++ code if your compiler doesn't already provide a similar one like __countof in MSVC), I write it like this:

#define COUNTOF( array ) \
( sizeof (array) / sizeof (array)[0] )

The space after each sizeof is my attempt to indicate that the following parens are not function/macro call parens, but are there specifically to wrap the array argument safely.
I think because Apple sublicences software, GNU GPL–licensed software can't be released on the App Store. Probably other copyleft licenses are similarly incompatible.
Microsoft developer reveals Linux is now more used on Azure than Windows Server
> ...interesting given the blowback athletes like Kaepernick have gotten for getting political.

Colin Kaepernick didn't get blowback for recognizing a cause , he got blowback for dragging it into the game, and choosing a particularly political way of expressing it.

In this case, the cause remained personal rather than political, and was not dragged onto the field.
The Internet Is Run by an Unaccountable Private Company (2015)
Imagine if the maintainers put their effort into projects that are used by more people...
I'm now getting 401s for a bunch of these Grubhub-created fake sites. Did they take them down already, or am I hitting a geoblock? (Not in the US.)

http://www.pochana.net/

http://bestpizzali.com/
(One of the author of the research doc that triggered this blog entry here)

It's good to finally see a reply, and it's good to see you are addressing some of the issues we have highlighted. It's a shame it took a whole research document posted on Hacker News and other websites to start getting your attention. I am personally surprised about this blog entry (and reply to some extend), given that the research doc was labeled as "FUD" by the lead dev.

Now that we have it, and that you answered in a blog post, there is one question we asked several times and that you still did not answer, even in our GDPR data request: Given that the research document clearly highlights that users are totally unaware of how their personal data was collected, how its going to be used, and that they did not given consent (e.g. storing their email addresses for a lookup query mechanism) under EU GDPR:
1. Under which lawful basis do you collect, process and allow others to use such data?
2. Are you going to keep storing/using all the data you have collected using all the methods highlighted in the research doc, or will you purge all that was collected without clear knowledge and consent of the users?
On older Pi's, the Raspberry Pi had it's boot code completely burned into the SoC itself, permanently installed and unable to be tweaked post-launch.

With the Pi 4, this was no longer possible. The Pi 4 uses a much more complicated way of booting up as well as some RAM tricks inside the SoC to allow for more than 1GB of RAM to mostly work without redoing all of the SoC (e.g. the VPU and Hardware Codec Blocks still only sees 1GB of RAM, but they will never need more than 1GB of RAM, as far as I know). This Pi no longer uses the `bootcode.bin` file older Pis used for this reason.

Because of this, the Boot ROM is now a 500K EEPROM, which can be updated to allow things like USB boot, PXE boot, and similar to be added after launch. The USB Controller also has it's own EEPROM, which handles different things (I think).
When they front the origin there's definitely an advantage, I agree.

But that implies:
You allow a CDN to host your initial asset, possibly a security risk

You only use that one CDN for most/all non-dynamic content.

When latency becomes that important I would rather host my own AS. Giving CDN the origin and your first content load is effectively handing off your entire site security to a third party.

At that scale you could easily and cheaply run multi-homing on your own AS in maybe 10 colos across the world. Maybe 100k a year to eliminate third party risk. Maybe worth it? I think so
As far as I know it is now transliterated [1]. I do think that a Korean translation ("소멸자"---lit. extinguisher, but the destruction in programming is commonly associated to that translation) is more commonly used than a Japanese translation ("消去子").

[1] https://ja.wikipedia.org/wiki/%E3%83%87%E3%82%B9%E3%83%88%E3...
I think you can also just keep sending html. Send a page with page2.png at the bottom and keep the connection open. This is a sentinel image to detect scrolling — when page2.png is requested, use this as a command to tell the server to start sending html for page 2 on the original connection, which would have page3.png at the bottom.
I don't love the wizard metaphor either. Mainly because I don't like buying into the ego behind it. Kent Beck had a great talk (happiness at work, I believe) where he talked about the downsides of seeking ego validation through one's work.

I'd much rather treat these as pretty common sense, learnable lessons that are accessible to anyone.

As for one's output being mostly based on luck? I must disagree with you. I find those that care about what they're doing, and why they're doing it - consistently outperform those that aren't invested in what they're doing. And I think there are those that are more suited to our line of work than others (whether due to how their minds work, or otherwise).

Luck does however play a part in the chances we get to learn and to prove ourselves, especially if you're not born into a relative position of advantage. But to sum up one's contributions, skills, talents and effort to be just luck? That seems dismissive.
For anyone investigating setting up a local mesh network in their community checkout the Althea project: https://althea.net/
My initial comment did not focus on biological life, so that's a subpar cop-out.
I don’t care about the word “fuck”. I don’t think it’s useful to pluck one word of it out and try to discuss it out-of-context, though.

Without stretching, IMO, the post is angry, aggressive, stupid, arrogant and abusive.

Anyway, you asked for an example and you’ve been given one. If it hasn’t penetrated by now I don’t think it will, but you have it.
I think it's probably too early to say there is a trend. There are still traditional OOP languages being created such as Kotlin and Crystal, and not OOP languages have always been created including the ones that inspired this new wave (ML/Haskell for Rust and the Common Lisp for Julia). And even if it's a trend, it might not have to do with issues with the concept of OOP, but for the fact that language creators and early adopters are usually people who are not satisfied with the current established languages (which happens to be mostly traditional OOP), so they naturally favor alternatives models.

All that said, I think it's just that OOP was always broader than the most used languages made it seem. Message passing OOP (like smalltalk, ruby and arguably Erlang/Elixir processes) are not exactly the same as the more class structured OOP (Java, C++, Python) and even before many of those languages there was already the Common Lisp Object System which extended single dispatch OOP to multiple dispatch (and like with Julia, is object.func(args) really different from func(object, args) enough to not be OOP?). In the same way interfaces/traits/abstract classes/composition/dataclasses are also present in OOP languages to handle cases where the model is not a perfect hierarchy of self managing entities, so a language favoring those over inheritance in general is just being more opinionated towards a strategy that was already possible in traditional OOP.
For most of the sports, there are usually two versions: amateur and professional. The amateur games are the ones where outcomes are decided by who makes more mistakes. In professional games, it tends to be about who can execute more brilliant moves while still minimizing mistakes.

This applies for more than just sports, for example, programming. For the majority of people, it's better to focus on consistency, readability, and idiomatic code, rather than clever optimization and heavy hand solutions that allow bugs to creep in.
I'd humbly suggest another rewrite. None of us understands "idealistic" the way you do, and this word choice leads to confusion.
Looks like vaadin or kweb
I think this is great, and I hope programs like this expand nationally over time.
Those URLs work for me, no 401.
My eating logs show a dramatic calorie increase when cycling to work vs not. Eye balling looks like ~20% increases are common
Odds are good that a reverse proxy will improve availability on your servers. It will also allow you to fix this problem.
Emigration tells the whole story here. There’s no need to quibble about who kills more of their citizens, or who is more repressive.

People are moving west, corporations with low moral standards are moving east.
> the general population avoiding it for general sites

I'm not sure that happened. My friends and I got on MSN Messenger and shared flash sites all the time. Kongregate and similar gaming sites were part of it, but so was YouTube, and so were greeting card sites, ESPN, various other news sites and many, many others.

At least from my POV, maybe a few people hanging out places like here didn't like flash, but the general population had no problems with it until Steve Jobs did his best to kill it. Even then, people not on iPods/Pads/Phones didn't seem to have any problems with it. AFIK, the fast majority of people still installed it years later.
I don't know the details, but the memory controller is twice as fast for the SD card than the old Pi's are, and SOMETHING (I'm not sure for certain what, don't quote me) did change with the memory subsystem. This change is what allowed a workaround which allowed for 4GB of RAM for the first time (whereas before, the 1GB of RAM was a limitation throughout the SoC). So, it _may_ have a lite-IOMMU, but I'd open a forum posting for more info.

Edit: This could also be why the SoC uses an EEPROM. The RPF said that booting the Pi4 with this new memory system is _much_ more complicated than booting a Pi3, and that permanently burning the boot code into the SoC (like on the Pi3 and earlier) was not an option for the Pi4. Extremely high risk of backfiring.
You also shouldn’t repeat the argument: “while(COUNTOF(ptr++) > 0) { }” would do horrible things (if it compiles; didn’t check) for example.

There are various preprocessor tricks to avoid this stuff (eg “do{ x = (array); ... } while (0)”), but, honestly, if you want this sort of memory safety, C++ is your friend.
I really wish you hadn't brought politics into the discussion.

But if you insist, let's review a few of Donald Trump's accomplishments:

- Won the Ellis Island Award for contributions to minority communities

- Has a star on the Hollywood Walk of Fame

- Has written (ok, has his name as author) best selling books

- Built (and destroyed, and rebuilt) massive enterprises that employ tens of thousands

- Sawed through the Republican party establishment, then defeated the Democratic nominee in spite of massive disadvantages and polls.

- Was elected US President as the first political office sought

- Has presided over a booming economy that brings record low unemployment to African-Americans and Hispanics, accompanied by rising wages and a roaring stock market

It is certainly true that Donald Trump was born with a silver spoon in his mouth and many huge advantages. The same is true of many other politicians of both parties, but few (are there truly any?) can match the breadth and depth of accomplishments listed above.

You can dislike Donald Trump, and/or his politics as much as you want. But you can't deny he has accomplished a lot, even for someone born to wealth.
I think the point though was, "Why are people doing this if reinstalling the OS so so much less a thing in Linux land?"
If you are trying to cater to people that will use your app like the other services, then why would they just not choose Discord or Telegram in the first place?
There's an assumption here that you're sampling an ergodic process.[1] 'All tanks the Germans have built so far' satisfies this assumption (assuming equal likelihood of capture). 'All tanks the Germans will ever build' doesn't. In other words, you can't sample the 200Bth human because they haven't been born yet, and this isn't evidence they will never be born.

[1] https://en.wikipedia.org/wiki/Stationary_ergodic_process
Obviously there are all kind of cute games that can be played with pointers if you know arch-specific details (IIRC v8 was using alignment guarantees to steal low bits at one point, might still be). And tagged pointers of various kinds go at least back to Symbolics if not further.

One that I thought was especially nifty was [0].

[0] https://github.com/facebook/folly/blob/master/folly/PackedSy...
From my hometown! Atomic Object has their heads screwed on straight, and recognizes the importance of reality and nuance when it comes to software development. Other firms I've dealt with are ... less enlightened.
My company recently went through a re-org and placed one of the senior developers in a new lead engineer for R&D projects. He certainly is an excellent developer and quite a competent communicator however it really was a sudden move to shift this position into the company.

Under the surface I couldn't help but note that the lack of internal advertisement of what would be a very desirable role must have annoyed several other senior members. Additionally, it segregated a team of developers off to work on 'cool' things while the other half is left working on legacy projects.

I would agree with my companies perspective that something like this was necessary however as the author notes, the lack of involvement outside of C-level discussions was quite surprising and is likely going to backfire.
in my experience companies are very risk adverse - you're better off doing the bare minimum because any mistakes will ruin your career trajectory
Dawg you ought to read a bit more before denouncing that observation. Here's what I shared with another commenter: https://www.hindawi.com/journals/bmri/2015/863075/

But there is plenty of literature on this.

> What we don't have a good handle on right now is the connection between gravity (as described by general relativity) and quantum mechanics.

So we are in agreement? The whole point of my post was just to highlight a particular curiosity of mine regarding the fact that we don't know how gravity and QM integrate. And sorry but we don't understand the full connection between QM and classical mechanics, or we wouldn't still be searching for a Grand Unified Theory.

Kill the venom and see this for what it is: a simple scientific musing well within possibility which makes no claims toward any particular hypothesis. Instead of exploring the idea you brought your ego to the table and killed any chance at a useful dialogue between us.
Actually, having read the Science Advances article, it seems simpler than this. Institutions are being asked to warn their foreign researchers (not just Chinese) to be open about other contracts and commitments,and firing those who are deceitful. Seems to be a very clear case of breach of contract being remedied.
You're right that iPhone is an interesting case, but even with iPhone we could still make a lot of progress.

To be clear, I do not have a lot of sympathy for Apple's arguments around secure enclave. As far as I'm concerned, right-to-repair is a tangible issue that effects nearly everyone, and having the government install a separate touch id button is a largely theoretical risk for most people. But, even the iPhone has parts that aren't effected by secure enclave -- so if it takes this argument off the table, I'm willing to let it go.

We still have Apple blocking replacement parts as counterfeits when they enter the country; and we still have a bunch of diagnostic information, specs, and tools that are only available to authorized technicians.

It's also worth noting that Error 53 wasn't forcing consumers to make a choice between the fingerprint reader and a 3rd-party screen replacement -- it was "bricking" the phone. That Apple was willing to roll that back and change their design so that Secure Enclave only disabled fingerprints, says to me that even Apple has admitted that secure enclave doesn't need to monitor every single part of their phones to keep consumers safe.
Much of this fails at the most basic principle of marketing. You get 5 seconds of attention (maximum) before people bounce forever; don't make them dig.

> - librehosters is a network of cooperation and solidarity

First tell me concretely what you do. Do you aggregate links to FLOSS service providers? You can spend as much time as you want being vague after that. If you start with vagueness, you'll lose a large percentage of your audience immediately.

> - Linux.Pizza is a collection of tools and services

> - Dark Peak is a user-run co-operative providing hosted open-source software

> - Disroot is a platform providing online services

> - libre service provider

> - Ethical service provider relying on FOSS

> - Services for the Belgian Hackerspaces

What services? Which software? In order to know anything about any of them right now, a person has to click through to every single one, which they will not do.
Restaurants and their owners are notoriously bad at the internet.

I have a friend in Seattle who became known as a reliable web developer for new restaurants.

He took credit to eat rather than cash to do this relatively simple work for them. As a result, every time I’d visit we’d eat at some nice newer place on his credit line, responsible only for tips. It felt like minor celebrity.

I suppose this is what newer website platforms are for but frankly I think even weebly is somehow too much for many.
According to the RPF:

"The ARM cores are capable of running at up to 1.5 GHz, making the Pi 4 about 50% faster than the Raspberry Pi 3B+. The new VideoCore VI 3D unit now runs at up to 500 MHz. The ARM cores are 64-bit, and while the VideoCore is 32-bit, there is a new Memory Management Unit, which means it can access more memory than previous versions."

https://www.raspberrypi.org/documentation/hardware/raspberry...

So, MAYBE?