Skip to content

Instantly share code, notes, and snippets.

@scode
scode / protonmail-gmail-shortcuts-feedback.txt
Created May 13, 2023 21:26
protonmail keyboard shortcut feedback
Hi, you asked me (https://twitter.com/ProtonSupport/status/1652993236695150593) to DM further information about the gmail shortcut feature I was Tweeting about.
First, there are two aspects to it. One is just the barrier of learning new shortcuts; that's an adoption disincentive - though I think I can make it over that.
The second is just how efficiently the shortcuts can be used. The key is that gmail shortcuts can be used *extremely quickly*. I go through a *lot* of email in just a few seconds using these shortcuts, and I basically don't have to move my hand at all.
The key shortcuts are:
* j, k for moving down/up the list of threads in a folder/label
* o to open the thread
@scode
scode / keybase.md
Created April 5, 2018 16:53
keybase.md

Keybase proof

I hereby claim:

  • I am scode on github.
  • I am scode (https://keybase.io/scode) on keybase.
  • I have a public key ASDoPw4OpXsN210yJabzfZ8vv4ni5If24bACqJnwOcQ9fQo

To claim this, I am signing this object:

@scode
scode / aws-tf.diff
Created January 13, 2017 01:47
Minor aws .tf file changes required to make cockroach launch in a VPC.
diff --git a/cloud/aws/main.tf b/cloud/aws/main.tf
index 7e7fd6c..b0c3101 100644
--- a/cloud/aws/main.tf
+++ b/cloud/aws/main.tf
@@ -6,10 +6,12 @@ resource "aws_instance" "cockroach" {
tags {
Name = "${var.key_name}-${count.index}"
}
+ subnet_id = "${var.aws_subnet_id}"
+ associate_public_ip_address = true
not an ELF executable
gzipping man pages in /nix/store/ynlzljay0g7d2752l1byw8wg156zax59-ruby-2.3.0-p0-lolcat
patching script interpreter paths in /nix/store/ynlzljay0g7d2752l1byw8wg156zax59-ruby-2.3.0-p0-lolcat
/nix/store/ynlzljay0g7d2752l1byw8wg156zax59-ruby-2.3.0-p0-lolcat/lib/ruby/gems/2.3.0/gems/lolcat-42.1.0/bin/lolcat: interpreter directive changed from "/usr/bin/env ruby" to "/nix/store/h4sibipp5fp83nk100mrp8qhypvd8lr9-ruby-2.3.0-p0/bin/ruby "
building path(s) ‘/nix/store/9yk5daggxpzwhphhsnlfc84s4knhdr6z-lolcat-42.1.0’
created 15 symlinks in user environment
building path(s) ‘/nix/store/yrlx95nr31mdrgc9w1ad90wpwp9icq04-user-environment’
Wide character in die at /nix/store/64jc9gd2rkbgdb4yjx3nrgc91bpjj5ky-buildenv.pl line 79.
collision between ‘/nix/store/qd3d2nx71qp669b2c3xk9b3g9qmpbj8x-gist-4.4.2/bin/bundle’ and ‘/nix/store/9yk5daggxpzwhphhsnlfc84s4knhdr6z-lolcat-42.1.0/bin/bundle’; use ‘nix-env --set-flag priority NUMBER PKGNAME’ to change the priority of one of the conflicting packages
builder for ‘
/nix/store/129znxfwxcymvng59h3y4krhi44zn8kk-ruby-2.3.0-p0/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- bundler/setup (LoadError)
from /nix/store/129znxfwxcymvng59h3y4krhi44zn8kk-ruby-2.3.0-p0/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from ./bin/bundler:16:in `<main>'
nstalling ‘asciidoctor-1.5.4’
building path(s) ‘/nix/store/7ddas4xnaarkm55vakhslsm9p4ij8ix3-user-environment’
Wide character in die at /nix/store/64jc9gd2rkbgdb4yjx3nrgc91bpjj5ky-buildenv.pl line 79.
collision between ‘/nix/store/jn77aq9cm69xlh5gvl46bajn8wdl96dk-asciidoctor-1.5.4/bin/bundle’ and ‘/nix/store/59sqwwqyqjjhsqzfj7vagb5n67pgw23h-lolcat-42.1.0/bin/bundle’; use ‘nix-env --set-flag priority NUMBER PKGNAME’ to change the priority of one of the conflicting packages
builder for ‘/nix/store/7a4b00wdcmx0ff918zib7zj5yay39nym-user-environment.drv’ failed with exit code 2
error: build of ‘/nix/store/7a4b00wdcmx0ff918zib7zj5yay39nym-user-environment.drv’ failed
def myFunction() = {
def myOtherFunction() = {
...
}
myOtherFunction
}
│ mov %eax,%edx
│ mov -0x10570(%rbp),%rdi
│ → callq memset@plt
│ ↑ jmp 3ff
│430: lea -0x270(%rbp),%rdi
│ → callq core..result..Result$LT$hyper..server..response..Response$LT$hyper..net..Streaming$GT$$C$$u{20}std..old_io..IoError$GT$::glue_drop.7352::hc73d0301cc6ca3b3
0.01 │ lea -0x10328(%rbp),%rdi
│ mov %rdi,-0x10578(%rbp)
│ ↓ jmp 45f
│44c: mov -0x10578(%rbp),%rax
/code fn write_with_body(mut res: HttpResponse<Fresh>, mut body: Box<Reader + Send>) -> IoResult<()> {
let content_type = res.headers().get::<headers::ContentType>()
.map(|cx| cx.clone())
.unwrap_or_else(|| headers::ContentType("text/plain".parse().unwrap()));
res.headers_mut().set(content_type);
let mut res = try!(res.start());
// FIXME: Manually inlined old_io::util::copy
// because Box<Reader + Send> does not impl Reader.
#!/usr/bin/zsh
set -e
case "$1" in
mobile)
(set -x;
nmcli c down uuid fbfcaacb-649b-4490-8293-c68b526250d8)
nmcli c up uuid e3a22e4f-1973-4683-8de8-931578b0c6ec
;;