Hacker Newsnew | past | comments | ask | show | jobs | submit | julesnp's commentslogin


Balrogs would be under the Maiar category, but most have no recorded name. I suppose the one from the trilogy could have been listed as "Durin's Bane."


gothmog, lord of balrogs? not in lotr though.


I think the way F# implemented it is pretty good: if you want to use a keyword or whitespace in a variable or function name, it has to be enclosed in double backticks.

e.g:

  [<Property>]
  let ``Reverse of reverse of a list is the original list`` (xs:list<int>) =
      List.rev(List.rev xs) = xs


I'm not sure if F#'s implementation is good enough. The specification [1] suggests that it doesn't do any additional normalization to the resulting identifier, so otherewise identical identifiers with a single space, a single tab and two spaces would be different. I would expect them to collapse into a single space character.

[1] https://fsharp.org/specs/language-spec/4.1/FSharpSpec-4.1-la...


Why would you expect that? I would explicitly expect not that. Unicode normalisation (typically to NFC) maybe, but nothing more.


Mostly because it's rare to see identifiers with whitespace allowed after all. So this has to fulfill some specific needs.

The main use case here seems like self-describing properties that will be hardly referenced elsewhere. In principle this doesn't really need any new syntax, as you can put the description into the attribute (`[<Property>]` here) and the name itself can remain arbitrary or even be made anonymous. But we've got textual identifiers instead. So I guess that some code does refer to those textual identifiers, and if that's the case, being able to ignore invisible differences when comparing textual identifiers looks like a good idea as well.


I've used this in the past, but switched to Vimium-C after this incident:

https://github.com/brookhong/Surfingkeys/issues/1796


You wouldn't necessarily need to track every change, you could just have 2 tables, one which contains the last "saved" version of the document, and one which contains the last modified version of the document. Upon opening after a crash, if there is a more recent modified version, the program will ask if you want to load that version.


Databases handle all this natively with transactions and WALs. i.e. Don't need to build a Flintstones version yourself.

Also binary documents are a lousy fit with git, smashing square peg into round hole makes little sense.


Don't forget centi-, deci-, deka-, and hecto-.


For my preferred layout in QMK, I have Caps Lock mapped to Caps Lock only on tap, and Control on hold. I also have the right Alt key mapped to Backspace on tap, Alt on hold, to give me an additional backspace which I can hit with my thumb, keeping the rest of my fingers on the home row.

http://www.keyboard-layout-editor.com/#/gists/4d894ef5848c4f...


Encrypted disks would be the key issue here, older CPUs likely can't handle the encryption work required.


If you already have Caps Lock remapped to Control, why not just use Ctrl-[ to get back to normal mode?

Ctrl-[ is the same keycode as escape in terminals, and it's much easier to reach. For me, remapping jk in insert mode results in lag after typing 'j'.


This issue is only cosmetic as the other commenter explained. vim won't insert the character until you indicate you're not invoking the keymap (either by waiting or by typing other characters).

If you want a plugin that makes it so that the j appears immediately regardless of whether you're trying to invoke the keymap or not, you can use something like https://github.com/nvim-zh/better-escape.vim


> remapping jk in insert mode results in lag after typing 'j'

It only creates lag if you actually want to type 'jk'. Otherwise, you keep typing like normal, and it doesn't matter. You should be able to config the delay, too. I use `fd`, and I can count the number I've noticed it.


Keyboard layout, it would actually be Ctrl+Alt Gr+8.

That little lag on the j doesn't matter, when you notice you're already a few keys ahead anyway.


Ah, I hadn't thought about international keyboard layouts, yes, that sounds like it'd be a pain to type.


I would say the core goal of most living organisms is to propagate, rather than survive, otherwise you would see males of some species like Praying Mantis avoiding mating to increase their longevity.


I don't mean specific individual living organisms, I mean systems in general.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: