HNHacker News
TopNewBestAskShowJobs

gnull

1,197 karma · joined December 5, 2018

You can contact me over ntjvwmi7l@mozmail.com
submissionscomments
gnull··on NP-hard does not mean hard (2017)
What am I looking for in this 300 page document? Proof by intimidation, eh?
gnull··on NP-hard does not mean hard (2017)
This applies both ways. You'll win a Turing award if you prove NC ≠ P, which is kind of what you said — at least, that the best way I see of reading your first and a few following messages.
gnull··on NP-hard does not mean hard (2017)
Are you stretching "this specific strategy for parallelizing P that I came up with won't work" to "there's no way to parallelize P"?
gnull··on NP-hard does not mean hard (2017)
Cerium is correct, we don't know if P is efficiently parallelizable.

Is there a formal proof of what you're talking about that we can read?

gnull··on Elixir – Why the dot when calling anonymous functions?
What is "untyped" exactly? Google tells me it's the same as "dynamically typed".

Remember the context. The thread started with Elang VM making it impossible to make code faster, due to the need to accommodate Erlang's dynamic typing features and do runtime checks for that. Top comment said that dynamic typing per se can't be the obstacle for programs being faster, and gave x86 as an example of a presumably dynamic VM which does not limit the speed of the programs.

So "dynamically typed" from the article here meant that there's some runtime checks you can't unsubscribe from, and due to them there's a cap on how much faster you can make your code. It applies to some extent to x86, there's also checks there like segfault for example, and maybe you could save some space on silicon if you removed them and required the machine code to be verified to never cause segfaults. But I argue that this is too much of a stretch. Runtime checks that x86 performs are negligibly simple, and x86 is not a valid counter-example for the article's point. In my view the article's point is valid.

> 1/ there is no static checker

"return 0" is the static checker for x86 machine code.

But seriously: this is not a necessary condition for something to be statically typed, it can't be.

> 2/ if there was, the interpreter would run the failing code anyway

Failing code does not exist. All code is valid.

Haskell is undoubtedly statically typed. But division by zero will still cause a runtime error.

> 3/ memory can be integers, floats, machine instructions all at the same time

Ok. Disregard what I said about machine words. The only datatype in x86 is byte. Some operations use 2 bytes, some use 4. They may interpret them differently (some may see an int, some float), but it changes nothing, since both int and float operations are operations on bytes.

gnull··on Elixir – Why the dot when calling anonymous functions?
Also: x86 is very much statically typed. Your types are 8-, 16-, 32- and 64-bit words. Each machine instruction knows the exact types of its operands, so there's no overhead on determining the types of values at runtime (like you'd need to do in case of dynamic typing).
gnull··on Elixir – Why the dot when calling anonymous functions?
> Erlang VM, which is dynamically typed

> x64 machine which is mostly untyped

Dynamically typed and untyped are not the same, no?

gnull··on Even more hindsight on Vim, Helix and Kakoune
What is chordal editing? Google search didn't give me any results.

I agree that having different programs on you computer integrated and consistent is a good thing. Sorry for the reference to the old joke, but wouldn't all the things you list look better in a wishlist for an operating system instead of a text editor?

gnull··on Even more hindsight on Vim, Helix and Kakoune
I meant Notepad as an example of something that implements the basic "move the cursor between the characters with arrow keys and type to insert text" way of interacting with text. In terms of this, Emacs is exactly Notepad + plugins. And plugins (unless they drastically change the way you interact with text, like Evil mode) are usually doing something that is orthogonal to the editing model, and can be slapped on top of any editor with any model.

I didn't mean that one is based on the other historically. Notepad was meant as the most minimal example that implements one of the Emacs'es aspects.

gnull··on Even more hindsight on Vim, Helix and Kakoune
> Have you actually had a look at what is actually included in Emacs?

Yes, I've been using it for a few years and made my own plugin with a couple dozen users. Then I discovered Vim overnight and never used Emacs again (literally).

> But claiming that it doesn't bring anything new compared to Notepad is really strange

It does indeed sound strange because you missed the "with respect to editing model" which is crucial for my point. Emacs has nothing in it other than Notepad + a large number of ad-hoc, non-coposable plugins each doing one task.

> Things like rectangular cut and paste, vertically aligning stuff

Ad-hoc things that do only one very specific task each. Incomparable to Kakoune's powerful and composable way of interacting with text.

> infinite undo, undo restricted to the selection (region)

Orthogonal to the editing model. These can be slapped on top of any text editor, be it vim or notepad. Just make a plugin.

gnull··on Even more hindsight on Vim, Helix and Kakoune
Your points concern everything around text editing, but not editing itself. Emacs brings nothing new to the table with respect to editing model, it's essentially notepad (with different interface, plugins, yada yada yada — all the things you mention). Vim has a model with modal editing, much better than Emacs. Kakoune and Helix improve this model even further.

It's like comparing cars by the color of the trim and air conditioning, instead of… er… their car performance (power, speed, fuel usage, durability).

If you don't care about editing models, and just want to "type code", then Vim is hardly the best choice. Emacs and Intellij are much better than Vim at plugins, and are as available as anything else.

gnull··on Kera Desktop: open-source, cross-platform, web-based desktop environment
What is a virtual desktop?
gnull··on Kera Desktop: open-source, cross-platform, web-based desktop environment
> It is easy to get distracted when you do many different things on the same device. Think of rooms as profiles but for the same person. You can have different rooms based on what you do and arrange them with things for only that purpose. Maybe change the wallpaper to something related to set the mood.

This is something I've been looking for in other DEs, but never found.

gnull··on UCLA computer grad constructs “crown jewel of cryptography”
The latter is useful to hide who wrote the program? Like some features of code that might reveal your personal patterns?

Or what is it for?

And how does it deal with timing? İf two programs I gave it have different complexity, would it pad the running time to some fixed value? İf so, how is that value chosen?

gnull··on You and Your Research (1986)
And, honestly, science many of us do isn't that impressive to be worth it.
gnull··on Exercism – learn programming languages for free
ChatGPT works well until it doesn't. When ChatGPT fails and generates some garbage it will do so in very convincingly sounding manner, and the learner may not have the right tools yet to recognize that.
gnull··on Europe drastically cut its energy consumption this winter
Calling it solidarity with Ukraine is an understatement. People reduced the consumption because they couldn't afford it anymore — for big economical and diplomatic reasons.
gnull··on The effects of wealth on (Swedish) marriage and fertility
> sucky husbands

It's become the standard in some companies to bitch about men and presume they're suckers and abusers is any situation that involves both sexes. Let's keep in mind that it's not science saying this, but woke ideology.

> the best thing to do is make people wealthier

Far-fetched. Winning a lottery makes you much wealthier relative to other people, it puts you in maybe 10-20% richest people of your country. You can't fit everyone in those 20%.

Look at something like Uzbekistan. Country is miserably poor compared to Sweden and they still reproduce like they win lotteries all the time.

gnull··on Punctuation Matters: How to use the en dash, em dash and hyphen
Good to see OSX people thought about this.

On Linux, one needs to enable Compose key (keyboard layout settings). After that, you get default sequences like --. and --- for en- and em-dashes.

gnull··on Punctuation Matters: How to use the en dash, em dash and hyphen
Em-dashes add a bit of a pause. And having them longer and taking a bit more of horizontal space makes it more intuitive. They also break a sentence into parts. Having them easily distinguishable helps navigate text and reduces overhead. Just like periods or paragraph breaks help you see parts of a text, or syntax highlighting helps you see lexemes in a program.

Using just one dash for everything will be readable in a text message or comment. But not in a (complicated) book, because there the benefit of these small things gets multiplied by the scale of the book.

gnull··on Punctuation Matters: How to use the en dash, em dash and hyphen
Reminds me of this guy I met at a CTF. He decided that punctuation generally is unnecessary. What's the use of having so many different symbols if the only thing they denote is pauses between words.

so when he wrote something . he used only periods to denote pauses . no other punctuation symbols . no capital letters . some people were thinking that his periods stand for perl concatenation operators . i dont know if he is still doing this . i hope he stopped

gnull··on Show HN: boxxy – Control where Linux programs put files, without symlinks
Update: the tool didn't help. It complains about being unable to run some SUID executable that Chromium calls. I'll have to keep removing the Downloads by hand then after each use of Chromium.
gnull··on Show HN: boxxy – Control where Linux programs put files, without symlinks
I'm not using default settings, I changed XDG downloads setting in ~/.config/user-dirs.dirs.
gnull··on Show HN: boxxy – Control where Linux programs put files, without symlinks
I did. It still creates an empty ~/Downloads on each startup.
gnull··on Show HN: boxxy – Control where Linux programs put files, without symlinks
Chromium doesn't respect XDG config, it always creates ~/Downloads directory on startup. It was so annoying, I hope this tool helps me fix it.
gnull··on A candle produces roughly the same amount of energy as a resting human
Yes, human equivalent is the key. Even if 60W is 60W, how much is that in the feeling I get on my skin?
gnull··on A candle produces roughly the same amount of energy as a resting human
A lightbulb's energy consumption and heat emission don't seem intuitive to me at all.
gnull··on A candle produces roughly the same amount of energy as a resting human
I heard that in some cold snowy places it's recommended to keep a few thick candles in your car in case you get stuck in a blizzard. Those can burn for a long time, light helping someone find you (say, at night), and they can warm you up a bit, maybe you can even get you some warm tea.

That surprised me. Reading this adds to that feeling of surprise, and gives a clearer idea of how much heat they emit.

I say it's a good post, if one reads it right. (It must be clear to most people that it's taking shortcuts in reasoning about air quality, so you must be mindful of the context you apply this to.)

gnull··on Conditional CSS
The current syntax also makes it hard to characterize the class of predicates that can be expressed with CSS. Kind of hurts my sense of perfectionism, but I guess it wasn't their goal.

I assume CSS was made very restrictive on purpose so that it can be applied to the page elements and analyzed very efficiently.

gnull··on The Computer Science Book (2020)
Good to see that it starts with Computability and Complexity.
← PreviousPage 3 of 12Next →