charliesome

Joined 17 years ago

Karma
3,785
Submissions
463
Member since
Jan 5
https://charlie.bz
View on Hacker News

Recent submissions

Comment · 5 years ago
You can achieve this by recompiling the software. Cargo will not recompile dependencies that have not changed.
Comment · 5 years ago
There might be a nuance here I haven't grasped, but isn't the kernel's API == its syscall ABI == the boundary to userspace?
Comment · 5 years ago
There is simply far too much content being created all the time for current judicial systems to keep up with. Much of the law breaking content out there is never pursued.

If we agree that greater censorship on social media is necessary, and if private companies aren't taking on the role of censor here, I think that suggests governments must become more active in their roles as censor. What would that look like and how would it work?

Comment · 5 years ago
> I am planning to fix this in ring early in 2021 (January)...

This is definitely the piece that gives the current versioning policy its sharp edge, so it's great news that the fix will arrive soon.

Thanks for your hard work on Ring!

Comment · 5 years ago
Comment · 6 years ago
Calling mass surveillance a "fundamentally Soviet activity" weakens your argument here. Is mass surveillance something that happened in the Soviet Union? Of course. But it also happens in the US and many other nations, liberal democratic or not, worldwide. So why shouldn't we call mass surveillance fundamentally American, or fundamentally capitalist?

Mass surveillance is bad. It is toxic to freedom and democracy. Let's focus on that rather than invoking Red Scare tendencies of old.

Comment · 6 years ago
As of time of writing, it is indeed front page on HN. Your comment's other claims also appear to be true. Since we agree on the facts so far, let's discuss the article.
Comment · 6 years ago
While the creation and destruction of a scope every loop iteration is the correct mental model for what this code does, there's no reason that implementations must actually perform any allocations - especially for an example like this where it is trivially determinable that no bindings escape the immediate scope.
Comment · 6 years ago
An interesting insight I came across a little while ago is that for mainstream, industrial languages, this way of thinking about types is relatively new. It's not that we're seeing the pendulum swing back to types, it's that we're discovering them for the first time!

In earlier typed languages, the types weren't there for reasons of soundness or productivity at all. The types were there for the compiler alone, as the compiler needed them to know which machine instructions to emit for various operations. Types were just a cost imposed on programmers.

Once computers became powerful enough that we could afford to spend cycles and memory making these decisions at runtime, dynamic languages became viable and we saw industry shift over to them, except in domains where dynamic languages still weren't viable, or where existing codebases or ecosystems made it not economically viable.

Fast forward to the present and decades worth of type theory knowledge is finally filtering through to industry in the form of languages like Rust, TypeScript, Swift, Kotlin, and others. For the very first time we're embracing types for their soundness and productivity benefits. This is an exciting new era.

Comment · 6 years ago
Implementing my own extended memory support in the supervisor is indeed an interesting idea, I might try it out :)

Another idea I had after reading the dosemu source is implementing a DPMI server to allow protected mode DOS apps to run. It might even be possible to run an early version of Windows this way too.

Comment · 6 years ago
Author here. I am planning to do an in depth write up of how this works, but it seems Hacker News found it sooner :)

When DSL is first invoked at the command line it boots up the Linux kernel which takes over control of the computer from DOS.

Now here’s the trick: DSL makes use of a processor feature called VM8086 which allows for a 32 bit operating system to run legacy 16 bit code mostly natively. This feature is how early Windows, DOS extenders, etc worked. The Linux kernel also supports VM86, although it is largely undocumented and not really used these days. I think dosemu is the only major user of VM86 on Linux.

DSL then returns to DOS, which has essentially been flipped inside out and is now unknowingly running inside a VM8086 task. Helpfully Linux does not appear to clobber DOS’s memory during its own boot process.

DSL does just enough emulation of hardware like the keyboard to make things work, allowing DOS raw hardware access for everything else. This situation of running two operating systems at the same time on the same hardware is extremely fragile and unsafe of course, but it does seem to work surprisingly well anyway!

Comment · 6 years ago
A few people have already suggested alternatives to certbot, so I thought I'd throw another suggestion into the mix: dehydrated (formerly known as letsencrypt.sh)

https://github.com/dehydrated-io/dehydrated

I've got only good things to say about it. It's a single shell script, making it super easy to install and start using. It's quite configurable, but has sensible defaults and just works without demanding much operator attention.

Comment · 6 years ago
Re sponge: the shell will open the output file for writing before invoking the command so in the example joey provides, /etc/passwd will be an empty file by the time sed opens it.
Comment · 6 years ago
This is not true. Using 'they' as a third-person singular is incredibly common, is becoming increasingly so, and has been in use for hundreds of years.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton