But for PDFs which are really hard to read on a phone otherwise, it’s really a nice investment.
4,090 karma · joined February 23, 2014
- https://github.com/jez
- https://jez.io
[ my public key: https://keybase.io/jez_; my proof: https://keybase.io/jez_/sigs/s9uEJ_STwo02blZ-iSkntb4jURsdxhKkc8rg5Y_9im8 ]
But for PDFs which are really hard to read on a phone otherwise, it’s really a nice investment.
https://maestral.app/docs/mignore
I’ve been loving Maestral so far, it’s just the syncing, none of the other stuff. It has some downsides (it can’t upload symlinks but it can download them, and it doesn’t have LAN sync) but it’s super lightweight.
If I needed to fly to another office for a business trip, same story: I could sit down at any desk, grab a spare bluetooth keyboard from IT (if there isn't already one on the bookable desk).
If I'm over at a friend's house for dinner and get paged, I could just ask to sit down at their desk and plug my phone in.
I would love to not have to carry a laptop around to all the places that I do today.
I find that if I’m already piping into a buffer, I just leave it as a buffer. Vim’s gf and gf keybindings let me jump to the filename under the cursor, and it being a buffer makes it easier for me to edit (reorganize, group, further filter, etc).
I do think people undervalue the quickfix buffer though!
Ruby doesn’t haven to allocate a full-on, garbage-collected, closure object every time a function accepts a block: it only has to do this if the block gets stored to a variable. If the block is only ever yield’d to, the allocation can be skipped.
And when your language’s primary looping mechanism is done with blocks, the difference adds up:
xs.each do |ys|
# with normal closures and no fancy JIT,
# the VM has to allocate a closure once per loop:
ys.each do |y|
end
end
Ruby was able to get away with its closure-heavy standard library APIs without a JIT for almost 3 decades because of the affordances that blocks provide over procs/lambdas.I don’t have any such experience (short of a macro system, which requires code generation or runtime support) and it always makes me curious when people ask for type system plugins whether this is a standard feature in a type system I’ve never used.
People say “I saved so much time on perf this year with the aid of ChatGPT,” but ChatGPT doesn’t know anything about your working relationship with your coworker… everything interesting is contained in the prompt. If you’re brain dumping bullet points into an LLM prompt, just make those bullets your feedback and be done with it? Then it’ll be clear what the kernel of feedback is and what’s useless fluff.
https://www.3blue1brown.com/lessons/eulers-number
As suggested by the OP, it approaches the problem from the angle of showing that e^x is the only function that is its own derivative.
There is also a follow up explainer giving intuition for e^ix as being about modeling rotations.
https://www.3blue1brown.com/lessons/eulers-formula-dynamical...
> By default, clicking inside a scroll bar will scroll partially towards the clicked location. Hold Option while clicking in the scroll bar to jump directly to the clicked location.
There is no way to present this option in the GUI without cluttering up the scroll bar, so neither Windows nor macOS do so. But at least this feature is available for power users.
I admit that in places where there IS space in the UI (menu bar, right click), I find it odd that the option-variants are not listed unless option is actively being held.
I'm looking at the piece in the Instagram post linked by the page, which begins, "honor of holding in their service". The lines are so straight, the letters are so uniform!
The ffmpeg docs have an straightforward list of things you have to do to link against ffmpeg and also be compliant with the license, which I found interesting:
Code search (ripgrep, GitHub search, Sourcegraph, git grep, or even just plain grep). You can use VS Code search but I prefer CLI tools so I can filter the output of my search with more searches—VS Code makes it hard to post-process/filter project-wide search results.
Filename search (fzf, fd, or just find).
There are cases where LSP-powered Go to Def is faster, but there are also cases where it’s less accurate. I’m talking:
- Untyped code in a graduate typed language
- References of a method name in a YAML file pulled out with reflection
- References of that method in a comment of some other method, where that method is actually the method I’m looking for.
- A one-to-one mapping of method names with some enum somewhere else, but lowercase in one spot, and all caps in the other spot.
So yes, sometimes go to def will be faster, but you’ll lose out on so many other possible references.
Another case: repos where the codebase is so large that the editor tooling is slow. Repos where I’m brand new to it, because I just need to check why some code in a third-party library is going haywire.
Grep (code search) is just so powerful.
I have a post about how to do large-scale code migrations/codemods. Everyone assumes the post is going to be about how to use high-powered, language-aware AST-based static analysis tooling. But half the post is talking about the unreasonable effectiveness of regular expressions.
If Ruby supported something like
class A
def @instance_variable
def self.@singleton_class_instance_variable
def @@class_variable
end
as a way to pre-declare the object shape at class load time, it would be an obvious place to also let type checkers declare the types of these instance variables.(Not saying that this specific syntax is ideal, but rather just that having some syntax for declaring instance variables at load time, not method run time, would solve both the "predetermined object shape" and "predetermined ivar types" problems.)
https://railsatscale.com/2023-10-24-memoization-pattern-and-...
In Ruby, default parameters are allocated for each call to the function, which means that they are not shared across calls.
In Python, default parameters are allocated once and shared across all calls, allowing them to be mutated.
This becomes obvious if we change the Python and Ruby versions to print when they're computing something that is not yet cached. For back-to-back calls to `fib(10)`, the Python version prints only on the first call to `fib(10)`. The Ruby version must recompute all values from 2 – 10 again.
If you only skimmed the StackOverflow post or were about to bounce because “my models don’t form complex inheritance hierarchies,” ask whether you’ve tried to serialize something with type `A | B` to the database and been frustrated at there being no good solution. Then (re-)read the post in that framing and see if the solutions proposed and tradeoffs discussed look more relevant to you.
It’s made me realize that there’s probably a lot more collected wisdom locked up in writings from the 90’s and early 00’s that I disregard because it’s so heavily class inheritance focused. Alternatively: free blog post ideas by re-contextualizing this content in contemporary languages and technologies!
Since my personal use leans towards the latter, I'm hesitant to believe that this tool will work better for me but others may have other priorities.
- If this is your first time hearing about the readline/emacs keybindings like Ctrl-E and Ctrl-W, you'll be pleased to know that most macOS input sources use these keybindings. If you're on macOS, feel free to try Ctrl-E, Ctrl-W, or Ctrl-U in your browser's address bar right now
- If you're using a command line program that doesn't support _any_ line editing (e.g. no readline keybindings, and no other keybindings), you can install the `rlwrap` program and launch the REPL under rlwrap. For example Standard ML of New Jersey has a REPL but no line editing functionality, but you can recover that via `rlwrap smlnj`
- "don’t use more than 16 colours" — I would go so far as to say "don't use more than 8 colors, or at least make your colors configurable." Many popular color schemes, including Solaraized and the default Base 16 color scheme, use the "bright" colors to hold various shades of gray. What you think is "bright green" might actually be the same shade of gray that normal text is colored.
I am not a lawyer, nor really even well-versed in IP law, and you should not take this as legal advice.
[1] https://github.com/keepassium/KeePassium?tab=readme-ov-file#...
[2] https://opensource.stackexchange.com/questions/9500/is-apple...
https://github.com/keepassium/KeePassium
As with all iOS apps, there’s no guarantee that the open source app code on GitHub corresponds to what you install from the App Store.
I have been very satisfied with KeePassium, it integrates with all the cloud storage providers I’d want and the app itself works well.
> What we're observing is X, but we want to see Y instead.