Live data from Hacker News

Ask HN: Programs that saved you 100 hours? (2022 edition)

news.ycombinator.com

551–560 of 574 posts

Re: Ask HN: Programs that saved you 100 hours? (2022 edition)

#551

Earlier quoted context omitted.

slow? i use both pycharm and webstorm and their are definitely neither kludgy nor slow...

Curious, why not just used IntelliJ with the plugins for python? I’ve never used the standalone apps. Do they provide a better experience?

As far as I know, the standalones seem to work better with SDK and tool detection (I guess IntelliJ has to try to figure out which plugins to activate)

Some projects with mixed languages (like a Ruby backend, HTML/JS webapp) I've had to kick IntelliJ a bit to get it to cooperate and find tests correctly

Someone else mentioned CLion, I think Rider also has features you can't get via plugin (maybe there is no .NET plugin..?)

Re: Ask HN: Programs that saved you 100 hours? (2022 edition)

#552

Earlier quoted context omitted.

You should learn R and dplyr ;)

Tell us more - in the context of them being replacements for Excel for his use case.

"Manipulating hundreds of thousands of rows" is exactly where R, dplyr and data.table are great at. I do that on a daily basis.

Re: Ask HN: Programs that saved you 100 hours? (2022 edition)

#554

I feel like I have a unique one here. The chrome extension: "Replace Youtube's Home with Subscriptions" It has easily saved me over 100 hours by preventing me from continuously scrolling through youtube recommendations. https://chrome.google.com/webstore/detail/replace-youtubes-h...

can you not just click 'subscriptions' in the left sidebar on the homepage? Or direct?: https://www.youtube.com/feed/subscriptions

The time saved is not the time required to click 'subscriptions'.

The time saved is the time not spent mindlessly scrolling through endless recommendations designed to keep me hooked.

Re: Ask HN: Programs that saved you 100 hours? (2022 edition)

#555
post #36

kanata[1] and komokana[2]. kanata is basically like QMK for any keyboard without the firmware requirement. I use kanata with my trusty old iMac keyboard which is to this day my favourite keyboard of all time. But now I have all the cool QMK-style layers with it. So that is awesome on its own, but where it gets even better for me, and this is where the seconds have really added up to hours, is that I wrote another pie…

This is exactly what I've been looking for, thanks! QMK has always been weird to me: why is it hardware specific?

One advantage of it being hardware specific is that I can move my keyboard between machines and not have to worry whether my shortcuts are available. Also, I believe tools can only register themselves so early in the input processing stack in the OS which can prevent you from having your macros/shortcuts available in certain applications. An example of this is for RDP in windows, where if you use fullscreen RDP, it will use the remote instance's keyboard shortcuts instead of triggering the hooks you have on the host. Having the shortcut in firmware makes your shortcuts resolve before even leaving the keyboard.

Of course, there are downsides to having it all in hardware as well.

Re: Ask HN: Programs that saved you 100 hours? (2022 edition)

#558
post #210

Earlier quoted context omitted.

I've tried to migrate to something more lightweight like (neo)?vim, Helix, emacs; but regardless of how good their syntax awareness/LSP support is, it's always inferior to JetBrains IDEs. Simple example: (any language, e.g. Rust) rename a function across multiple files and undo it. Let me know how you'd do it in your editor of choice.

sed -i "s/function_name/function_name2/g" $FILES && git restore $FILES Edit: Not claiming this is better, just saying what I get by with. I have never used an IDE in my career so far, or any autocomplete or code modification features.

Why would you want to avoid autocomplete?

And what language do you code in?

Re: Ask HN: Programs that saved you 100 hours? (2022 edition)

#559

mpv, mpvacious [1], and anki I've been learning spanish, and since hitting the intermediate stage outside of talking I mainly watch spanish shows or dubbed shows (Star trek TNG). I can create flash cards of difficult to understand phrases, or new words in seconds. I usually still edit them slightly depending on my purpose for the flashcard, but having > 2000 cards right now, I can't imagine what doing this by hand, o…

My biggest problem with anki is that the isn't a nice way to make cards. There's a vscode plug-in that lets you do markdown but it's too limited and clunky last time I used it.

org-mode has some spaced repetitions tools (e.g., org-drill). I personally don't recommend SR by flashcards too much. It's better to do it more naturally. For example, read books regularly to learn a language; common words will repeat themselves enough times that they'll effectively be a form of SR.

Re: Ask HN: Programs that saved you 100 hours? (2022 edition)

#560

Not a program, but the concept of functional programming and pure functions. It makes it a lot easier to think about code, and also makes it easier to test and parallelize code. Although be warned, it can also have the "side-effect" (functional programming pun!) of making you somewhat insufferable as you try to convince everyone around you that functional programming is amazing.

I'd be curious what your flavor of "functional programming and pure functions" is? I ask, because I used to feel very similar about the OO paradigm (it helped me model the world easier, made me insufferable because of my zeal, etc). But, I had the privilege of doing that with nearly 20 years of Smalltalk. A battle worn path of ObjectiveC, Swift, Java, Python, Kotlin, and JavaScript later, I feel the pain. It's like b…

I had done a little bit of OO before diving into functional, but what really got me about functional was "the same inputs always produces the same outputs" and "no side effects"

In OO (the kind I've seen, and I've not seen Smalltalk, mostly C++), it's common for a member function to just go ahead and modify the member variables it needs to modify. This is considered "good encapsulation," but it's horrid for reading code and likewise horrid for parallelizing anything.

When you take that practice to the logical conclusion, you can end up with a member function like "void update();" (let's pretend that our class is a physics engine and this function presumably takes velocity and time step and increments position). Some early advice I got for writing maintainable code was "assume that whoever is maintaining the code after you is smart and in a hurry," and that sort of code just breaks that advice. If I see that kind of function, I need to dive into it to figure out what's going on. Whereas if I saw "state.position = update_position(state.velocity, state.dt);" I can make an educated guess about what's going on and move on.

I'm making myself a little angry here, so I'll wind down. These are the main points anyway, this sort of functional style feels like it takes something in 4D space where I have to twist my brain into a klein bottle to figure it out and puts it into 2D space where I'm like "oh, that's all there is to it then."

To your working theory, I see what you're saying, but I think I lean towards preferring poorly done functional code as opposed to well done OO code, because the functional code will be easier to test and shape into good code, whereas the OO code might get fragile over time. But let's be honest, it's not like "well done OO code" is an option we expect to have on the table :D

Post reply on HN