Settings

Theme

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

470 points by zJayv 3 years ago · 573 comments (568 loaded) · 1 min read

Reader

I've asked this previously: https://news.ycombinator.com/item?id=22849208

But a few years have past and want to see what's emerged since. Although can be new to you vs. released in 2021 or 2022 necessarily.

Things I've come across in the meantime:

* mock AWS services https://github.com/spulec/moto

* query cloud services https://github.com/turbot/steampipe

* munge CSV https://github.com/johnkerl/miller https://github.com/BurntSushi/xsv

* page json https://github.com/PaulJuliusMartinez/jless

* text to tree structure [I use this as a hack to version control my music library] https://github.com/birchb1024/frangipanni

dougdonohoe 3 years ago

Gotta say IntelliJ, which isn't just for Java. It's a great coding platform and I used it for Scala, Go, Python, Bash, Java, PHP, Perl, you name it. I know many people like to hate on IDEs, but IntelliJ (and/or its language-specific variants like PyCharm or GoLand) has great support for all the debuggers in the above languages. It has awesome search/replace. Being able to "drill down" in to code, including 3rd party libraries with barely any configuration is like magic. The git integration is phenomenal - I rarely get stumped doing anything in git and dealing with merge conflicts are a breeze.

  • ivanjermakov 3 years ago

    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.

    • quanticle 3 years ago

      JetBrains' IDEs are great for the languages which they explicitly support, but are often hilariously bad for the languages that are supported with plugins or extensions. For example, the Clojure plugin for IntelliJ, Cursive, doesn't have great macro support, and, one day just stopped being able to run unit tests. Or rather, it'd pretend to run the tests, give a nice green bar, green checkmark and everything, but the tests wouldn't actually have been run. I found this behavior the hard way, when I almost committed a bug. I'd run the test suite, saw that it was green, and thought that the code I'd written had passed all of the checks. It was only during some happenstance manual testing that I noticed "impossible" behavior (i.e. the code behaving in a way that I'd explicitly checked for in tests). Immediately suspicious, I reran all the tests from a REPL on the command line, and saw a whole bunch of failures that Cursive hadn't reported.

      Since then, I've been using CIDER on emacs to do Clojure development, and I haven't had any issues.

    • stackbutterflow 3 years ago

      That's the go-to example whenever IDEs are discussed on HN but I...almost never do that?

      I don't think I can count on two hands the number of times I have to do that in a year. As for undoing it I don't think I've ever done it at all. Anyway it doesn't matter because vim + CoC can do it. And for undoing it I guess I simply rename it back to the original name. Actually I just tried and yeah, it works.

      One of these day I'd like to sit with a JetBrains user and see how they work. I'm sure it's a great IDE but so far I haven't heard about anything life changing.

      • aussiesnack 3 years ago

        When I used IntelliJ, for the languages it understood best (then Java and Kotlin), it felt very little like editing text. The sense was much more like interacting directly with an AST. I rarely had to use standard 'text' editing features (oriented around word/sentence/para entities). This was an emergent affordance from all the many language-oriented facilities (all available via keyboard shortcuts) offered, rather than one specific feature.

        I actually don't use IntelliJ now for reasons not germane here. I'm on neovim, mostly with Rust and javascript/typescript). This is great in many ways but the ergonomics of editing, even with LSP integration, are much more like editing text, which is more distant from my mental model of the code.

      • mattmanser 3 years ago

        I do it all the time. That's the thing, once you can do it without hassle, you do it. Regular scenarios:

        1. Refactoring

        2. You are experimentally coding and changing names of methods and variables as you realize you need to split stuff up

        3. One of your colleagues can't name stuff for shit

        The IDE I use makes it so easy it's just a thing I do without even thinking about it.

        Another great thing is just highlighting some code and with a simple keypress extracting that code to a new method, with the right return type, params, etc. all done automatically. Not quite right? Highlighted the wrong rows? Press ctrl-z.

      • mehphp 3 years ago

        This has been my take as well. I can drill-down into third-party packages, rename stuff across files, and use the debugger.

        I'm not saying JetBrains isn't fantastic, their products certainly are, but the examples given as to why I should switch are less than convincing. Just use whatever works for you.

        It's similar to the flak I get for using an iPhone instead of Android. "You can't customize it!"... I don't want to.. I just want it to make phone calls and browse the web.

      • worldsavior 3 years ago

        Or you don't see the potential, or you're not comfortable, or you don't have energy for this. If you did get the hang of it (vim for example), you would probably use it in some kind of way.

        • 8ytecoder 3 years ago

          There are definitely two kinds of coders - once that think through everything or at least when it comes to names, method definitions and such they just know what they want. Then there are people like me who is never satisfied with the name or the parameters or the order in which they are passed or the name of the parameters or how the function is structured and want to split it further...etc. So I'm constantly reaching for the refactoring tools of IntelliJ.

          OR, as you said, since I have mostly used IDEs all my life, I've learnt to leverage these tools and so I don't always aim to write something to perfection the very first time. Instead I use my IDE as a whiteboard and see where it goes.

    • askvictor 3 years ago

      Having recently moved from IntelliJ to VS Code, I still miss a few things in the IntelliJ platform (it's overall layout is cleaner, important things are easy to get to), but VSCode has (last I checked) far superior remote debugging support, and is otherwise similar enough once you get past the muscle-memory.

      • fredophile 3 years ago

        As someone who uses visual studio almost every day I'd say it isn't complete on its own. I can't navigate around a vanilla install that doesn't have visual assist installed as well anymore. If you want a cheaper alternative, workspace whiz is also decent.

      • theshadowmonkey 3 years ago

        Big thing I miss working on VS code and IntelliJ interchangeably. Local history of your changes. Huge differentiator while working on a lot of changes.

    • jansan 3 years ago

      I have been using IntelliJ IDEs since the early 2000s. Currently I am using WebStorm's (IntelliJ's small JS brother), and the local history feature in combination with the outstanding diff view are just one reason why I could not work without it.

      • theshadowmonkey 3 years ago

        Local history is a game changer. And live templates. The one I use is using a template to automatically put in console log with the context of where(line num and function name) when I type a shortcut like cl

    • mikojan 3 years ago

      Go, command line:

        $ gorename -from '"my-package".myFunc' -to myRenamedFunc
    • michaelcampbell 3 years ago

      yeah, I'm an emacs person and I still use it for a lot of things, but I also am a proud paying customer of the entire Idea suite; I use PyCharm, RubyMine, IntelliJ and DataGrip on a regular basis.

      And worth every penny, for me.

    • nx7487 3 years ago

      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.

      • eitland 3 years ago

        It cannot differentiate between a field in a class and a variable in a method, or even a word in a comment, can it?

        • casey2 3 years ago

          Sam could do all that since the 80s. So ~40 years.

        • P5fRxh5kUvp2th 3 years ago

          add the c and it will prompt so you can make the determination yourself.

          • monkpit 3 years ago

            So, no

            • P5fRxh5kUvp2th 3 years ago

              People get so hung up on this, but it's literally the shallowest sort of refactoring. If you're choosing your tools strictly for this you're doing yourself a disservice.

              • eitland 3 years ago

                It is also the simplest refactoring, and my point is no command line tricks I have can seen can even reliably do this.

                Refactoring support in modern IDEs goes far beyond renaming public fields and methods.

                • P5fRxh5kUvp2th 3 years ago

                  I've had this exact conversation so many times over the years.

                  In truth, you just don't know the tools that well. And that's ok, but as someone who does and regularly does these things in both IDE's and in vim, you're wrong.

                  But I'm not going to bother trying to convince you, the same way I'm not going to try and convince you that my gf of 11 years is pretty awesome. I don't need you to get better to know that you're wrong.

                  • eitland 3 years ago

                    Good for you. 17 years since I met my gf here.

                    And I started on vim a long time before IntelliJ :-)

        • ajuc 3 years ago

          It can with a proper regex. Mostly. Depending on the language, your patience, and the amount of false positives you are comfortable with.

          I did sth like that (I had bash scripts for common programming "refactorings" and "queries" like "print all classes and methods where this variable is used"). I couldn't use a modern IDE cause we were programming on a legacy linux server through ssh for licencing reasons.

          And the (C++) code was written by a guy that learnt C++ and OOP on the job and it showed. Class hierarchies were sometimes 8 levels deep and class variables were reused for different purposes to "save effort on serializing them" :)

          So if the user interactions were in the same order and with the same text prompts - a class would inherit them and add some new ones. Even if the old class was just accidentally asking the user similar questions :) So OR_PalNr could mean shelf number in base class and Printer number in descendant, because both times the user was asked to "scan the barcode", while the callstack was a mix of methods from both classes :)

          Fun times.

          BTW nowadays I mostly work with IntelliJ, but sometimes a script is still the best way to understand the code. For example grepping the git blame output is often very useful. It's never 100% reliable, but it's often good enough.

          • eitland 3 years ago

            First:

            > BTW nowadays I mostly work with IntelliJ, but sometimes a script is still the best way to understand the code. For example grepping the git blame output is often very useful. It's never 100% reliable, but it's often good enough.

            I see we are on the same page : )

            > It can with a proper regex. Mostly. Depending on the language, your patience, and the amount of false positives you are comfortable with.

            For everyone else: in any of the three big Java IDEs, and in a number of other cases, you don't need much patience or tolerance for false positives, at least if your code isn't too unreasonable (with any sufficiently expressive language you can of course always fool it by somehow accessing things dynamically).

            > I did sth like that (I had bash scripts for common programming "refactorings" and "queries" like "print all classes and methods where this variable is used"). I couldn't use a modern IDE cause we were programming on a legacy linux server through ssh for licencing reasons.

            This is awesome!

      • geysersam 3 years ago

        Sure, but if function_name is a subword of another_function_name, this would break things :/

      • knighthack 3 years ago

        Why would you want to avoid autocomplete?

        And what language do you code in?

    • kryptn 3 years ago

      Rust in vscode with rust-analyzer: Select the symbol, cmd+shift+p to get the command palette, type rename and select 'rename symbol'. Or right click and pick rename symbol.

      You can undo/redo with cmd+z or cmd+shift+z.

      replace cmd with ctrl on linux or windows.

    • sad-vscode-user 3 years ago

      Switched this year to VSCode and the quality of most LSPs for VSCode is surprisingly good. Regarding your example: Just rename again. I can tell countless examples of Webstorm failing hard compared to VSCode.

      So, from the technical point of view I would say VSCode is equally good.

      What I miss most is the UX. Once you get used to the Jetbrains IDEs, their usability is really awesome.

    • abareplace 3 years ago

      * enter the current and the new names,

      * turn on the Match whole word and Match case modes,

      * review the found occurrences;

      * press the Replace button.

      https://www.abareplace.com/blog/blog_rename_method/

      Disclaimer: I wrote this program.

    • patrick451 3 years ago

      First, I almost never do this, so whether I can or not isn't really a selling point. That said, emacs+lsp-mode handles this just fine, at least for c++.

  • dougdonohoe 3 years ago

    Plus it's awareness of proper idioms in each language and syntax checking makes me much smarter/productive in a new language. Also, it's spell checker keeps me honest. Go for that "green check mark" in the upper right corner and you know you avoided most common mistakes.

  • SOLAR_FIELDS 3 years ago

    “dealing with merge conflicts are a breeze” is an understatement. I don’t use IntelliJ typically in my day to day anymore, but the merge conflict resolution UI offered in IntelliJ is so far and above alternatives that I would still reach for it in a particularly complex scenario. VSCode’s UI does not even remotely approach how good IntelliJ’s is. I’m not aware of any UI that does merge conflicts as well as IntelliJ currently.

    • jyounker 3 years ago

      P4merge from Perforce works even better. It's just a file merge tool, and doesn't require you to use Perforce.

      I've got a git merge/diff wrapper that falls back from p4merge to idea and finally back to stock diff.

  • jyounker 3 years ago

    To add to the point above, it's worth understanding that IntelliJ is not an editor. It's a refactoring engine with a very nice structured editor, and the key to using it effectively is to use the higher-level features that it provides.

    If you're not using the refactoring tooling then you won't understand why many people love it so much.

    [It's worth looking under the hood at the plugin APIs. The editor doesn't work on text files. It works on ASTs.]

    • dougdonohoe 3 years ago

      Agreed. The refactoring tools are something seemingly as simple as rename as variable or method or parameter name to the more exotic "extract constant" or "extract method" or the super helpful redefine method signature (add/remove params). One reason I prefer strongly typed languages like Go/Scala is that refactoring is less guess-work than in something like Javascript or Ruby.

  • sad-vscode-user 3 years ago

    My anecdote is just about the opposite. I was a happy Jetbrains customer for more than 10 years and all was fine (very fine, actually) on Windows for developing Angular on the frontend. Goland is a treasure. Kotlin with IntellliJ can't get any better.

    But then I needed proper support for Vue 3, Tailwind and Svelte. VSCode was (is) light-years ahead but what drew me away was how Jetbrains handled the issues. Endless hours writing tickets, creating examples, ... for nothing. Finally, after switching to Linux it turned out that US int. keyboard layouts don't work properly. There's a workaround, but again, the way the support handled the issue was not what I expect from such an expensive service. I was basically told to read through years old long issues to find out how to manually fix it.

    That was the day I canceled my subscription.

    VSCode is totally up to the job. But somehow I'm still not happy.

    Maybe time to try Neovim or Helix (multi LSP needed).

  • nijave 3 years ago

    IDEs like this are definitely kludgy and slow but the productivity gain from code navigation, test tool integration, profiler, and debugger is just insane (imo). Having a tool that helps you visualize the code (while it's running) is incredibly powerful

    • ikrenji 3 years ago

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

      • rscrawfo 3 years ago

        Curious, why not just used IntelliJ with the plugins for python?

        I’ve never used the standalone apps. Do they provide a better experience?

        • xmcqdpt2 3 years ago

          Intellij IDEA only has the barest support for C/C++, whereas CLion is a full-featured IDE with similar feature to IDEA.

        • 59nadir 3 years ago

          > I’ve never used the standalone apps. Do they provide a better experience?

          In my experience there is no difference in terms of slowness, no. The standalone apps are usually just bundled with more features for the specific use case by default and in some cases they have features you can't readily get in just IDEA.

        • nijave 3 years ago

          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..?)

        • ikrenji 3 years ago

          idk, i just assumed that pycharm would be optimized out of the box for python, so i never bothered with intelliJ

      • nijave 3 years ago

        I think it really depends on the language and project size. Any new project tends to make the IDE barely usable while it's indexing. Compared to, say, vi where everything is instant and there's no visual lag, I'd say it's slow. Even on 16 core CPU with 64GB of RAM and some IntelliJ JVM tuning, I still get some lag/stutter.

  • gavinray 3 years ago

    My one big complaint with IntelliJ is that they don't have Devcontainer support

    It's (almost) 2023, the way to develop applications is to put a reproducible Docker container with all the dependencies + debug tools you need in the repo, so that anyone can clone it and spin it up in their IDE.

    VS Code has amazing support for this, while the only Jetbrains IDE that comes close is CLion.

  • websap 3 years ago

    GoLand and IntelliJ are truly remarkable pieces of software. I try using VSCode with official Go extension every few months and always come back to GoLand.

  • d4rkp4ttern 3 years ago

    I love PyCharm for everything but for simple git stuff I somehow always reach for “magit” which is an emacs-based git tool that you can set up as a command you can launch from terminal.

  • allisdust 3 years ago

    If only it would not gobble up so much memory. For an ide that has been around for this long, one would have assumed they would have switched to a more performant non gc language by now.

    • signaru 3 years ago

      Exactly what keeps me away from "J" IDEs and Electron. But if productivity is compelling, I might just consider that my machine is powerful enough and that my daily web browser is just as resource greedy.

  • signaru 3 years ago

    I use Visual Studio for the same reason, but might give IntelliJ a try as I've just checked that it also has a plugin for Rust.

  • nazka 3 years ago

    Also when you have to refacto in dynamic langages like Ruby, doing merge conflicts, or also anything around a SQL database.

  • bb88 3 years ago

    Pycharm for sure.

akira2501 3 years ago

LSP. The Language Server Protocol. Entirely changed my life for the better this year, once I took the time to get it integrated into Emacs and get the various backends I needed installed.

Easily has saved me hundreds of hours so far, being able to view function prototypes quickly, pull up documentation as an overlay on the code, jumping to the next error, and even down to getting simple things like enumerated 'case' labels inside of a switch statement.

  • truncate 3 years ago

    I was going to say the same. Before LSP it was constant effort to keep up with changing tools/scripts/hacks to keep all the code navigation/completion working, and it was still never as good as its now.

    And once in a while I'd randomly have to look at some code that is not my primary work language, but everything will just work out of the box. Working with Emacs has never been better.

    Huge shoutout to Magit mode, which I dearly love and definitely saved me bunch of time otherwise spent context switching to command line or another UI. 100hr = 6000min, I've been using Magit for 8 years at-least.

    Assuming I'm doing some coding at-least 4 days a week, 4days * 4weeks * 12months * 8years = 1536 days of work. Let say it saves me 30 second on average by not switching window, selecting hunk individually that I love doing, doing arbitrary VCS operations (I love looking at diffs and just hitting enter to go to the source), I just need to open it 8 times per day to make it 100 hours so far. Definitely have used more than that I think. But even if this calculation is way off, and I'm not really saving time, its a very pleasant experience that is unmatched if you use Emacs IMO.

    • quanticle 3 years ago

      The only mystifying thing to me about Emacs' LSP support has been the fact that they chose to bring Eglot into Emacs core, instead of the (in my opinion) superior LSP-mode.

  • thiht 3 years ago

    Having a consistent IDE-like experience in any editor, for any language is invaluable. It's not on par with a full featured specialized editor but still game changing.

  • whoisburbansky 3 years ago

    What language(s) do you do most of your work in?

hedora 3 years ago

Each of the following is in the 1000 hours saved club (in no particular order):

jq, perl, grep, gnu textutils, gnu parallel, bash, xargs, gkrellm, nload.

Make deserves a special shout out. If you think it's only useful for building software, you've completely missed the point (similarly, if you think some language-specific tool is superior, you're doing things completely wrong):

Anyway, this document saved me at least 10,000 hours:

https://www.gnu.org/software/make/manual/html_node/index.htm...

Other peoples' python has the distinction of being the only software in my -1000 hours saved category. (And if you consider maintaining code written in the above "write only" languages, you'll realize how big of a feat that is!)

  • jodrellblank 3 years ago

    > "If you think it's only useful for building software, you've completely missed the point"

    I clicked on your link with 16 pages of just contents links to find what the point is, and found "the make utility automatically determines which pieces of a large program need to be recompiled, and issues commands to recompile them".

    What's the point you see?

    • hedora 3 years ago

      It automatically parallelizes any large scale data processing pipeline (assuming that your data set is already broken into files). People use it for things like documentation generation. I've used it to process the results of web scrapers, large scale data cleaning tasks, etc, etc.

      It takes about an afternoon to set up NFS + SSH primitives that automatically distribute the computation across clusters of machines. Since it is restartable, it automatically tolerates hardware faults (up to dozens of machines, in practice).

      Basically, you get Map Reduce, but for arbitrary data processing DAGs, and it supports any language that works well on Unix-style operating systems.

      • rebelos 3 years ago

        Okay but clearly none of this is "the point" of make, so your original comment is still baffling.

        • hedora 3 years ago

          The point of make is that it's not only useful for building software. Take a look at the built-in implicit rules:

          https://www.gnu.org/software/make/manual/html_node/Catalogue...

          There are two things to note: (1) you can turn them off so they don't get in the way of other use cases, (2) they include non-build stuff like version control, linting, and document generation.

          There's also a whole chapter on ar file maintenance. This is mostly useful for linking these days, but ar is the precursor to tar, so this used to also be useful for running filesystem backups:

          https://www.gnu.org/software/make/manual/html_node/Archives....

          • vehementi 3 years ago

            Your point is that make has uses beyond that. That is not "the point of make"

            • lelandbatey 3 years ago

              No, that absolutely is the point of `make`. You quoted the "overview of make" page[0] which does say "The make utility automatically determines which pieces of a large program need to be recompiled, and issues commands to recompile them."

              However, that same page, about 5 lines down, expands to say:

              > Indeed, 'make' is not limited to programs. You can use it to describe any task where some files must be updated automatically from others whenever the others change.

              Which is exactly what the original poster is claiming.

        • jamespo 3 years ago

          That's the beauty of open ended UNIX tools

      • capitalsigma 3 years ago

        The idea of working with a distributed data pipeline implemented via makefiles is nightmare fuel

    • rgavuliak 3 years ago

      I think OP meant data analysis/one-offs as not building software that is technically true I guess

    • 2OEH8eoCRo0 3 years ago

      $ make install

  • QuadrupleA 3 years ago

    1000 hours each? Really? So literally half a year of full-time 40 hour weeks saved by each of these on your list, vs the next best alternative?

    • xcdzvyn 3 years ago

      Yes. That statement was entirely literal; there is on reason to believe the statement "1000 hours" is anything but a precisely measured saving.

  • athorax 3 years ago

    jq + parallel is a godsend. Take some command output, run another json-producing command in parallel on each line, and pipe it back into jq -s

  • fn1 3 years ago

    > jq

    Add xmlstarlet for anything that has to do with xml.

towawy 3 years ago

Microsoft Excel. Manipulating tens or hundreds of thousands of rows, including cross-referencing across tables, is just so satisfying and much faster than doing it with a DB or code. Alternative spreadsheet software do some things better, but they don't come close as a complete package, I don't regret paying for it myself for the first time in my life. It such a life saver in a pinch.

Obligatory Spolsky intro to Excel: https://www.youtube.com/watch?v=0nbkaYsR94c

  • manv1 3 years ago

    Excel gets my vote for one of the top 10 software programs ever. It's crazy how useful it is.

  • huijzer 3 years ago

    As a Linux user, using Excel via the web interface or via a virtual machine is not so satisfying nor much faster than alternatives.

    • npteljes 3 years ago

      Yeah, as someone who doesn't pay for MS, I'm basically using a combination of Calc and Gnumeric, because G can open larger files (handled larger files than Excel in fact), but Calc has more features, and it's more similar to Excel which I was used to. ONLYOFFICE's sheets can also be handy, if MS Excel compatibility is wanted.

  • eitland 3 years ago

    Crazy useful.

    So useful I like it despite how it always goes out of its way to waste my time by trying to misrepresent a number of different types of strings and numbers as American dates :-|

  • jerzyt 3 years ago

    100% in agreement on Excel. Even when coding in Python I frequently save an intermediate file as xlsx to explore/debug, or even load into Tableau for viz.

    • OrvalWintermute 3 years ago

      110% agreement on Excel

      The ability create a relational database in Excel with vlookups and hlookups, then capture it all into a macro is amazing.

      I've really enjoyed using Excel as a Postgres frontend, with a real Postgres DB instance handling data, and then using the report functionality to dump to Word.

      While a pro reporting engine and cutting out MS Office altogether would be a better longterm solution, it is hard to beat for quick & dirty results.

    • aquafox 3 years ago

      You should learn R and dplyr ;)

      • dotancohen 3 years ago

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

        • steine65 3 years ago

          I love R but can't use it at work :(

          With just the tidyverse library (which includes dplyr), R can be very useful in a data analysis pipeline. It is great for data cleaning and aggregation, especially when a process needs to be done multiple times. It is much faster than excel/power query. I am an accountant in SaaS and spend a lot of my day waiting for excel/powerbi automations to refresh. Similar solutions in R/sql/python would be nearly instant. Also excel/powerbi automations are a bitch to troubleshoot, and are unnecessarily complex.

          When following tidy principles, a framework designed by the tidyverse dev Hadley Wickham, R code can be very easy to interpret, similar to SQL. Additionally the R community has made libraries for everything, and I consider R a great general purpose language as well.

        • aquafox 3 years ago

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

    • adra 3 years ago

      I got to play around with Tableau when I was helping my wife in a collage programming course and though I don't have a current use to justify the significant cost, I must say that the tool was amazingly flexible and easy to use. I'd highly recommend it.

  • systemvoltage 3 years ago

    Pssh... adults use JMP ;-): https://www.jmp.com/en_us/software/data-analysis-software.ht...

    Trivia: JMP stands for "John's Macintosh Project".

    Also, the entire semiconductor industry depends on JMP just like the entire pharmaceutical industry depends on Minitab.

    • analog31 3 years ago

      I work at a shop where a few people are JMP users. I think it's a problem when a proprietary app is only available to a handful of users at a site -- they tend to get a lot of work dumped on them, and nobody can use their stuff without going back to them. It's a different experience when a site has a site license.

      This isn't specific to JMP of course. A good thing about Excel is that businesses are OK with just paying for "everybody" to have it.

      Also, people use Excel for more than analysis. It's also a crude database and platform for creating small "apps" that do things, that are easy to share with others.

    • BeetleB 3 years ago

      And we go full circle. I learned pandas in 2012 so I don't have to deal with Excel or JMP scripting.

      Still use Excel for quick stuff but otherwise it's pandas for me.

    • hermitcrab 3 years ago

      The JMP buy page doesn't even give you a price. How expensive is it?

  • jen729w 3 years ago

    Yeah, just yesterday. Hacky output from `nslookup`, not ideal but it’s all we had. Tens of thousands of rows. No IDE with regex capabilities available.

    Excel to the rescue! Took me about five minutes to extract exactly what I needed.

    • dgacmu 3 years ago

      If you can use dig output, the next time you need to do something like this you might find 'jc' helpful: https://github.com/kellyjonbrazil/jc

      • jen729w 3 years ago

        Government laptop. No can use anything that isn’t whitelisted.

        This is the beauty of Excel. It’s a powerful text manipulation tool that everyone has.

    • jodrellblank 3 years ago

      > "No IDE with regex capabilities available."

      If it's Windows there should be PowerShell ISE installed.

      • jen729w 3 years ago

        I know I should learn it but, I dunno, I just really dislike the PowerShell syntax. I get what they were going for with the Verb-Noun thing but it just reminds me of AppleScript and I can’t stand it.

        • jodrellblank 3 years ago

          You don't have to learn or use PowerShell to paste something into the ISE editor and go to 'Edit -> Replace in Script' and do a regex search/replace.

    • melagonster 3 years ago

      where can I input regex to excel? I really need that, last time I copied table to nopad++ then copy paste it back.

  • leokennis 3 years ago

    Often useful CLI tools are linked on HN (like in this thread). And probably if you take the time to learn them or if you integrate them into your automation they are 100% useful.

    But, given the problem “I have some unfortunately formatted data which I need to analyze”, there is no better solution than sanitizing it in VS Code and then analyzing it in Excel.

  • SuperSandro2000 3 years ago

    And for me excel wastes 100 hours a month.

  • yawnxyz 3 years ago

    I don't have a Windows machine, and I'm having mixed feeling about Excel for Mac — is it as powerful as the Windows version? Are they exactly the same or are there big difference in functionality? The web / Office360 version doesn't seem much better, either though.

    • cyberge99 3 years ago

      Native Excel on macos isn’t bad. I’m on an M1 and it’s slow to start initially, but once loaded it’s fine. Better than any web version.

npteljes 3 years ago

I find good use of my skill in the following:

DBeaver: use a consistent interface for practically any data store. Wanna SELECT and JOIN CSVs? It can do that too.

https://www.mail-tester.com/ - Fantastic email server settings troubleshooter.

Excel / Calc / Gnumeric: I don't even know macros, just the functions, sorting, filtering, and pivot tables enable good productivity. And sometimes fun, I chose my current video card, and optimized my Factorio gameplay with Calc.

BASH, jq, sed, grep, tr, cut, Geany, regexes: it's fantastic to be able to work with text. Log parsing and other text tasks turn into a puzzle game, where I win fast, and it's usually faster than to use anything else, especially for one-offs.

  • micvbang 3 years ago

    Oh my lord, I love DBeaver so much!

    One thing that blew my mind the first time I saw it, was that when you look at geospatial data, they let you view your geometries on a map. It's so simple and so awesome!

  • 28304283409234 3 years ago

    Gnumeric. I still mourn Ray. One of the kindest people I have met. Almost ten years ago he passed away at age 40. 12 Years of gnumeric and 18 years of Debian contributions. Thank you Ray, where ever you are now.

  • bdcravens 3 years ago

    I've long been a DataGrip user, but Dbeaver impressed me when it was the first to enable Aurora Babelfish support.

    • npteljes 3 years ago

      Wow, DataGrip also looks very nice. I find it funny that how first we had Eclipse vs IntelliJ, and now DBeaver vs DataGrip - each built on the respective platform, DBeaver on Eclipse, and DataGrip on IntelliJ.

      • sad-vscode-user 3 years ago

        Yeah, DataGrip is extremely awesome. From all the Jetbrains Tools I miss this most. (I'm an unhappy Ex-Jetbrains user ...)

  • squintychino 3 years ago

    Speaking of DBeaver - does anyone have any good themes that they might share? I really like the interface but the stock look is lacking.

actinium226 3 years ago

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.

  • travisgriggs 3 years ago

    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 being in forestry, one day you work with a chainsaw, and the next day they give you a fan with spoons welded for the blades.

    These days I'm doing some Elixir... and I love it. I don't know how welcome it is in the "functional programming and pure functions" club, but I think it's awesome.

    I have a working theory that what has made these paradigms loved or hated, is less about them theirselves, and more about the execution thereof. What made and makes both Smalltalk and Elixir appealing to me is their simplicity and straightforwardness. There's a mechanism you learn to reason about the problems you're trying to solve, and then you can excel at it, instead of constantly stumbling on edge cases where "hybrid" languages try to reconcile all of the paradigms together.

    YMMV

    • actinium226 3 years ago

      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

    • fredrikholm 3 years ago

      > I don't know how welcome it is in the "functional programming and pure functions" club, but I think it's awesome.

      Erlang, and by extension Elixir, are very respected.

      The fact that you have a strong background in Smalltalk isn't a surprise: Kay's idea of isolated objects sending methods to each other, independent of each other is OTP. Erlang, IMO, is the most beautiful combination of functional and (Kay's definition of) OOP there is.

  • hedora 3 years ago

    You should check out rust. The compiler reasons about side effects + parallelization, and testing for you, but you get (nearly) complete low-level control.

    As a bonus, you'll be able to write insufferable comments like these in HN threads.

    • Quekid5 3 years ago

      Not to put too fine a point on it, but "side effects" != mutation.

      Also: The level of control offered by Rust comes at a steep cost compared to GC'd languages.

      • adamzen 3 years ago

        I am relatively new to rust, but motivated to learn it right now. Could you elaborate on what the cost compared to garbage collected languages is?

        • actinium226 3 years ago

          I think he means two things, mind you I'm not very familiar with Rust, but I've done a lot of safety-critical C/C++, which is sort of like Rust

          1. There's a mental cost on the programmer. You have to learn all the ins and outs of things like the "borrow checker" (a Rust concept) and it's on you to understand the rules and how to use them

          2. It can slow down compile time. As your program gets bigger, the compiler is doing more work to check that it's valid code, so that will slow you down.

        • Quekid5 3 years ago

          I was mostly thinking of the #1 mentioned by actinium226 in a sibling post, fwiw.

          The main other thing I was thinking of was that GC languages sometimes have features that are very hard to support sensibly in non-GC languages: My favorite example is the higher-kinded types (HKT) which e.g. Scala and Haskell support. These can incidentally be used to "tame" side effects in a very principled way (via Monads). Another example would be lazy computation/values.

          (Other applications of HKTs are validation integrated with parsing while still providing the maximum actionable feedback to users.)

  • tasuki 3 years ago

    The question was what saved you 100 hours.

    Functional programming easily cost me hundreds of hours without much to show for it. Monad transformers, free monads, final tagless... this rabbit hole is very very deep.

    No regrets though, would suffer through this again!

    • IshKebab 3 years ago

      I haven't done any serious functional programming but I think the point is that overall it saves you time. It might take longer to write the program but you get fewer bugs, reliable caching and so on.

      I know that with Rust the time-to-robustness is much lower than with Python for example.

  • patrick451 3 years ago

    It's so curious to me that functional disciples wear this as a badge of honor. In nearly all other facets of software development, we get badgered that it's better to produce code your entire team understands (code is read more often than written and all that) than code which only makes sense to you. If I ran around talking up the zen of single letter variables, my team would shoo me out of the room, and almost nobody on HN would applaud me for it. But for some reason, functional programming tends to get a pass, despite it just not clicking for a large swath of team mates.

    • tasuki 3 years ago

      > If I ran around talking up the zen of single letter variables, my team would shoo me out of the room, and almost nobody on HN would applaud me for it.

      Yes, because single letter variables are bad.

      > But for some reason, functional programming tends to get a pass, despite it just not clicking for a large swath of team mates.

      Perhaps this is a problem with the team mates rather than with functional programming? I'm too dumb for functional programming, but I freely admit it's the superior way of writing software. If we were mathematicians rather than programmers, programming would be way better!

      • patrick451 3 years ago

        If you and half your team a not smart of enough for functional programming, along what dimensions is it clearly superior? Just like with single letter variables that only make sense to the author, if functional design only makes sense to one or two people on a team of many, it's clearly inferior.

        • tasuki 3 years ago

          Functional programming is superior because it leads to more correct programs. Classes of bugs become impossible. With dependent typing, you can prove even more about your programs and mathematically guarantee they're behaving to spec.

          Instead, we as an industry choose JavaScript and endless runtime errors, because we don't care about the occasional blowups. We want to move fast, break things, and not have to learn maths.

          Note the current state makes business sense: quick and cheap and who cares whether it works well, we'll throw it away soon anyway.

  • TeeMassive 3 years ago

    At my job I was introduced to functional programming with Python with strong typing.

    I was at first rushing implementing ~50 business rules (which changed weekly) on the setup of a system. Then this functional wise kid came along and we did in one week what took me 5 weeks.

    Along with that, using MQTT to separate your program with Protobuf makes everything so much easier. Program crashes? Let it burn and let systemd restart it. So much easier to test too. Our code coverage is 99% if we exclude the main files that initialize everything.

    • ayewo 3 years ago

      Can you share more about Python with strong typing?

      • TeeMassive 3 years ago

        We use mypy and we enforce it on the CI. Ambiguous types are forbidden. We catch lot of bugs with this.

    • actinium226 3 years ago

      Nice, so 4 weeks saved at, what, 40-60 hours per week? So 160-240 hours saved! And you're just getting started!

  • wolfadex 3 years ago

    Elm has easily saved me hundreds of hours per year in compile time alone, not to mentioned the likely thousands of hours it's saved me in time spent debugging. I still shudder to think of the horrendous compile times I got from even small TypeScript projects, and the days I'd waste trying to debug them.

daniel_reetz 3 years ago

Ultrafast, super lite file search on Windows, Voidtools "Everything": https://www.voidtools.com/support/everything/

I haven't touched the Windows Search utility since I found it.

  • sixothree 3 years ago

    Everything paired with AstroGrep (or your favorite grep program) is the ultimate pair for searching on Windows. We pretty much force new devs to install these otherwise we watch them struggle for way too long.

    • frizzlebox 3 years ago

      Everything is a godsend and ought to be built into Windows.

      Agent Ransack (free for commercial use) and FileLocator Pro (paid, has near-instant indexed search) are the go to grep alternatives for Windows on my dev team. https://www.mythicsoft.com/

      I also hear VS Code has ripgrep built in, but I haven’t used it extensively.

    • smusamashah 3 years ago

      I use RipGrep with it.

  • Sugimot0 3 years ago

    I switched to linux a long time ago so now i use plocate, but on windows everything was a must! Also directory opus was a nice file manager, not sure if there's a new/better foss alternative yet.

  • radicalriddler 3 years ago

    Yup, Everything is a godsend. It also makes it more likely for me to download a portable exe instead of a full install because I can quick search for the exe, where as windows search struggles.

  • Alifatisk 3 years ago

    Everything combined with Wox

LVB 3 years ago

GitHub Copilot

As a manager & parent with only occasional bursts of time to code (some work, mostly side/fun stuff), Copilot has turned out to be incredibly useful in smoothing over all of the small things I'm slow at because I don't do them daily. And especially since I have limited time, I just want to get the damn thing working and am quite happy to <Tab> my way there as quickly as possible.

  • superasn 3 years ago

    Yes there has been a lot of hot things in A.I. in 2022 but most of them are mostly novelty value like Dall-E/SD and sometimes worse like SEO spam.

    Copilot is the only real value I'm getting from the recent A.I revolution and it does save me hundreds of lines of manully typing code all day. And the best part is it's getting better and better each day.

    • esperent 3 years ago

      > mostly novelty value like Dall-E/SD

      These are not just novelty value. They're great for mocking up ideas and I've also used them for generating backgrounds for advertising, for example:

      "A black stage lit from above by two spotlights, very dramatic, stylish"

      You can also add keywords like "modern/rustic/nature/futuristic" and it will get tuned to your desired style immediately.

      Iterate on that for 5 minutes or so and there's my perfect background for a "coming soon" flyer. Way better than I could have made in Canva. Good enough that multiple people have told me the flyers look amazing, and nobody guessed it was AI until I told them.

      • superasn 3 years ago

        That sounds great. Is this SD? Are you running this locally or via some service? Would love more details if you don't mind.

        • esperent 3 years ago

          I've been trying to set up local SD (on windows or WSL) of and on for a few weeks now. Seems to be extremely complicated even with the packages that say they are "1 click install". Then I find out they have dependencies on Cuda, a million python machine learning packages, some package called xformers that I have to compile for my specific GPU, I have to download the right SD image and config, then I have to find and install the right upscaling package and on and on.

          So no, I'm not using SD. I paid for a year of Midjourney for $100. Well worth it so far and honestly I think their latest V4 is just as good as SD. Probably is SD in fact, and it doesn't have that "Midjourney style" that previous versions had.

  • boplicity 3 years ago

    I'm in a similar position -- I only code because I enjoy it, but I also just don't have the time to actually finish the coding projects that I'd like to. Plus, I'm a pretty bad coder because I only have a few hours every couple of weeks to focus on it, outside of the occasional bigger project. I'm going to look into Copilot to see if it can help me actually do what I want.

  • kristianp 3 years ago

    I assume you use it with VS Code. Anyone used copilot with SublimeText? I know a plugin exists...

    • LVB 3 years ago

      I've used it with Goland (Jetbrains) and VSCode. I'm a ST customer... will give their plugin a try out of curiosity.

      Update: installed it and it seemed to work fine out of the box.

    • O_H_E 3 years ago

      Yup, works well enough in ST4

  • SuperSandro2000 3 years ago

    Last time I tried it, it mostly suggested the line above.

kklemon 3 years ago

Vimium. Vim-like shortcuts for the browser. I can't name any other tool or extension that gives me anywhere near the productivity boost of Vimium. I spend probably half of my work day plus a few hours a day in my spare time in the browser, and it makes navigating the browser feel like butter. When I'm tired and don't want to be glued to my desk, I can relax and surf with one hand which just feels incredible. I quickly got so used to it that I instinctively try to use Vimium shortcuts when I'm on other computes and feel withdrawal symptoms if I realize that it isn't installed.

  • PufPufPuf 3 years ago

    There's also Tridactyl, which is a similar project, but more customizable. https://github.com/tridactyl/tridactyl

  • kondor6c 3 years ago

    There also is quite browser, which is similar (not an extension though) it has some very cool features like domain conditional proxies and other settings

  • beernutz 3 years ago

    If you like Vimium, you should check out SurfingKeys. It is similar but seems to have even more going for it: https://chrome.google.com/webstore/detail/surfingkeys/gfblio...

    • temende 3 years ago

      What do you like about SurfingKeys over Vimium? At a quick glance, seems to have many of the same commands, maybe SurfingKeys just has a few more.

      • silentguy 3 years ago

        Surfingkeys is more customizable and has more features. You can use Surfingkeys API with javascript to add more customizations. It's good for adding custom keybindings to certain websites. Look at this config repo to see what's possible with Surfingkeys: https://github.com/b0o/surfingkeys-conf It also supports neovim editing in browser, markdown previewer, pdf previewer with key bindings, etc.

        Vimium is more robust as they have resisted the temptation to open their apis and allow unlimited customization. It's good for you if you don't have the need to add more customization or if you don't know programming.

        Surfingkeys require you to know javascript a bit add advanced customization. And, it requires some troubleshooting when your config goes wrong. It's like Vimium for power users.

  • SuperSandro2000 3 years ago

    But you need to configure it and by default it breaks most shortcuts on websites.

xmonkee 3 years ago

RedwoodJS https://github.com/redwoodjs/redwood

I launched my startup from 0 to first customer in 3 months thanks to this guy. Most of my time saved was because of a solid collection of libraries, brilliantly integrated together (backend to frontend), and I didn't have to suffer analysis paralysis every time I needed something.

  • esperent 3 years ago

    I've just been researching this the last few days. There's a couple of other similar tools that I'm also checking out:

    Refine.dev

    Wasp-lang.dev

    I'm quite early into researching these so I don't have anything much to say about them yet.

    Wasp is a DSL so it's a bit different.

  • qrio2 3 years ago

    Very interesting project, It's interesting to see trends coming back to bundled BE/FE. What would you say are the biggest issues you have with Redwood?

    • xmonkee 3 years ago

      My issues are kind of specific to the idiosyncrasies of my app. Its multi-tenant and two-sided (admins and applicants), so I had to kind of roll my own auth system on top of the existing one. The fact that I could do that really means that it’s flexible enough honestly.

      Another issue is that it doesn’t expose a server.js file, so its hard to do stuff like integrate an APM.

    • BossingAround 3 years ago

      Seems like a replacement for MeteorJS.

KiranRao0 3 years ago

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...

  • punkspider 3 years ago

    I use Pocket Tube [1] and I absolutely love it. I started using it 1 month ago so can't really estimate how much time it's saved me.

    Before that I always found YT frustrating and never cared about subscriptions because, and correct me if I'm wrong, the subscription system is disorganized. It doesn't make sense to me. I found myself having a hundred subscriptions that I didn't know how to follow in an organized manner.

    With this extension now I've organized subscriptions into groups, which get integrated into the UI in the sidebar, and you can set notifications for whichever group you'd like. It has more features - like the "Deck" feature, where you add a few columns of either playlists/groups/channels. You can also view all the latest vids from each subscription group, or all your subscriptions and filter them by groups.

    I'm quite happy that I suddenly noticed I had this pain point and quickly found the perfect solution. It's one of my favorite extensions.

      [1] https://chrome.google.com/webstore/detail/pockettube-youtube-subscr/kdmnjgijlmjgmimahnillepgcgeemffb
  • PikachuEXE 3 years ago

    Or try out FreeTube https://freetubeapp.io

  • mtwshngtn 3 years ago

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

    • KiranRao0 3 years ago

      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.

    • xz18r 3 years ago

      I have that link bookmarked as my "YouTube bookmark". I have never since visited the homepage. Don't really understand what the fuss is about.

    • joshmlewis 3 years ago

      The extension redirects the home path to the subscriptions path so that is what it's doing, just automatically.

  • DavidPiper 3 years ago

    Thank you for saving me 100 hours in 2023. Installing for Firefox right now.

  • dysoco 3 years ago

    Funny that for me it works exactly the opposite; I'm subscribed to a lot of channels that upload many videos that don't interest me, however youtube's algorithm is pretty spot-on with videos that I will be very interested in watching, whether they come from channels I'm subscribed to, or not.

    • KiranRao0 3 years ago

      You're describing the advantage and disadvantage of the YouTube recommendation algorithm. It's really effective at recommending videos I'd be interested in/would click on.

      However it's so good that it'll easily burn hours of my time I'd otherwise spend doing something more fulfilling.

orthecreedence 3 years ago

Vim. I can never leave modal editing now. Been using it since 2010 and I think in vim when editing. It lets me enter a flow state so much easier. My brain maps into writing and editing.

  • Bekwnn 3 years ago

    I try to stress this more than anything when talking about the merits of vim/emacs/etc. It's not about speed, it's about how effortless and 2nd nature editing text becomes.

    Which is really counterintuitive when you look at how complicated the programs are. But I felt that it became better/easier than regular text editing after only 3 weeks of fulltime use. The uninterrupted flow of keyboard use, and reduced mouse navigation, feels great.

    You only need to learn a very small subset of features to be very effective with it. Some people just stick to that forever. But you can also slowly add to it.

    • heipei 3 years ago

      I'm a long-time vim user, and haven't really used anything else over the past 15-20 years. I use a nice color scheme, barely any plugins and a moderate but static vimrc. I feel like this is my happy place, it let's me write with the setup I'm used to, in any terminal, on any machine, and on any codebase (JS, Python, Go, HTML, C, etc).

      Every now and then I see the magic of modern text-editors (VSCode et al), especially with code completion /intellisense and file trees. For me, I rarely feel like I need to be able to complete function parameters in my code to be more productive. Code-writing takes up such a small amount of the creative process that I'm perfectly fine looking up seldom-used functions in a web-browser. I wonder if anyone has ever attempted the jump from longtime-vim-user to these and can share their stories about why or why not.

      • dgacmu 3 years ago

        My co-founder/ collaborator has. He is a 100% vim person, to the extent that he has Firefox configured to let him do things with vim key bindings (I believe using imperator).

        He's switched over to VScode with vim key bindings and has been happy as a clam. He's heavily using Python with pylance plus copilot for the python side of what we do (which is most things).

        I'm an emacs user who has made a similar switch (but with a horribly weird mix of native and emacs keybindings). Oh, and the VScode sync extension for me. I use and love the rust-analyzer extension.

      • tasuki 3 years ago

        I've been using vim since perhaps 2004.

        Switched to IntelliJ in 2018 when writing Scala. IdeaVim is fine, it even lets me switch to normal mode with jk/kj [0]. What more could I want?

        I've been using IntelliJ for Scala, Elm, and Python, and still use (neo)vim for editing other languages and random files. I'm prepared to jump ship to vim+LSP on short notice.

        [0]: https://github.com/tasuki/dotrc/blob/master/.ideavimrc#L5

      • gamjQZnHT53AMa 3 years ago

        Any advice for someone who wants to switch to vim for Go development but struggling to find a good workflow? Using vscode it's so easy to rely on the auto complete, click a function name to go to it's definition, etc. I haven't found a good guide on getting that sort of basic workflow going which is unfortunate because I would love to stop using my mouse so much.

      • NDizzle 3 years ago

        Have you tried something like JetBrains tooling with IdeaVim, or one of the Vim plugins for VSCode? Might help with the transition.

  • spariev 3 years ago

    Just a reminder that you _can_ leave modal editing with :q (sorry couldn’t resist)

  • thepostman0 3 years ago

    Lots of support for vi editing. Things like bash (set -o vi) and other CLI/TUI have bindings. Check out the browser plugin vimmium too.

  • linsomniac 3 years ago

    Since 2010? Welcome new vi user. :-)

    • linsomniac 3 years ago

      My point in saying this was, just to clarify: vi is an ancient technology that still feels cutting edge. I can't imagine editing without modal, it enables some fantastic workflows, which I wish I had in other contexts as well.

  • INeedMoreRam 3 years ago

    I feel similarly.

    My journey has been: VS Code, to Codium, to Atom, to Sublime, to now Vim where I feel the most productive.

namuol 3 years ago

Seeing a lot of “fiddly” software being listed here. Stuff that lets you configure and tune a workflow endlessly. It’s ironic that this is the sort of thing most of us will think of, since it doesn’t really account for time saved so much as time spent fiddling…

Keeping an eye out for software that you barely use, as this is the kind with the most potential to truly save me time.

  • pplante 3 years ago

    Reminds me of a co-worker who would spend between 3-5 hours a day messing with their vim config. I know we cannot actually write code for 8 hours a day, heck a 3-4 hour session can feel too long. But spending 15+ hours a week endlessly fiddling with their tools was hilarious to watch on some level. I remember at team lunches how they would go on and on about this new plugin they found that is going to save them so much time now. Oh the irony if they only stepped back for a moment...

    • klysm 3 years ago

      Yeah I know I’d fall in this trap if I let myself customize my tools so use everything with default config. No custom keyboard layouts, no shell aliases, nothing. It has the advantage of portability as well.

  • alexchantavy 3 years ago

    From that perspective, using Ctrl+R and Ctrl+S for reverse-i-search in a shell saves me so much time from writing commands especially big Kubernetes ones.

    • 5e92cb50239222b 3 years ago

      Add fzf to get fuzzy search for your history. I reuse long complicated commands all the time by pressing Ctrl+R and then typing the first letters of a few words I remember using.

      https://github.com/junegunn/fzf

      It's also useful to remove duplicate commands and store infinite history. Add this to ~/.bashrc:

        export HISTFILESIZE=
        export HISTSIZE=
        export HISTCONTROL=ignoredups
      • dllthomas 3 years ago

        Changing HISTFILE by context has been a huge win, keeping commands from generic system administration or different projects from getting in the way as I search back through my history to do a thing again.

    • msluyter 3 years ago

      You can also add a comment for searchability, as in:

          > big hairy command with --lots --of arguments  # foobar
      
      Then you can search for 'foobar' via fzf or whatnot.
    • jmiserez 3 years ago

      Give hstr a try: https://github.com/dvorka/hstr

      It's saved me countless hours over the years as it's just so much better than regular CTRL-R. I also find it to work better than fzf.

    • namuol 3 years ago

      Cmd/Ctrl-F in general is probably the biggest invisible time-saver if you can count UX patterns.

    • eftepede 3 years ago

      Try fzf for history management, it's a life changer.

    • hedora 3 years ago

      The 'history' command is helpful the 1% of the time Ctrl-R and Ctrl-S fail you.

  • sureglymop 3 years ago

    ActivityWatch. Records your activity in the background (how much time spent in which programs and the time period). It can record browser tab titles and vs code open files, sometimes it can be invaluable to go back and check out what i did at a specific point in time.

  • tqwhite 3 years ago

    Sorry mate but that is just wrong. I get payback of a hundred to one on most of my fiddly bits.

    A single command that does the ten things needed correctly every time instead of looking up each thing, typing it wrong four times and doing it again is a godsend. Lots of time saved. More accurate and reliable as well.

porridgeandrice 3 years ago

Autohotkey There is simply no better automation program on any OS. I even run a fully fledged tiling wm written in autohotkey. ( For reference, here's when I tricked r/unixporn into thinking it was bspwm https://www.reddit.com/r/unixporn/comments/nhzz3b/confession... )

Fluent search Spotlight on steroids, for windows. Apart from being a search/launcher, it has a bunch of atrociously good features. It lets you use a custom search indexing backend, which brings me to...

Everything A search indexer backend for windows. Really great search.

usrme 3 years ago

If you use Ansible at any larger amount, then you're doing a disservice to yourself if you're not using Mitogen[1][2]. The amount of waiting it has spared me is innumerable at this point.

---

[1]: https://scribe.rip/@einarum/speed-up-ansible-with-mitogen-b3...

[2]: https://mitogen.networkgenomics.com/ansible_detailed.html

  • rwky 3 years ago

    Just tried this, shaved a playbook from from 8 minutes 30 seconds to 3 minutes 10 seconds! Thanks :)

    • usrme 3 years ago

      You are very welcome! Please spread the word about this magical bit of software to anyone else using Ansible. Together we can make iterating on Ansible configurations great again!

  • gtirloni 3 years ago

    This should have been integrated into upstream Ansible a long time ago.

    People say it's not a big deal these days but it still is.

jmcgough 3 years ago

Anki - I don't know how I'd prep for the MCAT without this. Open source with desktop and mobile clients, syncing via cloud. It's flashcarding but uses gradual intervals so you see things less often once you've retained them.

ChatGPT - I use this as a private tutor (it's great for biomedical stuff) to check my understanding and ask it to correct me if I'm wrong.

  • boplicity 3 years ago

    RE: ChatGTP...

    How confident are you that it's giving you the correct answers to your queries? I've noticed that it often sounds right, but is sometimes completely wrong, in subtle ways. It always puts together words that are commonly near eachother, and it is always grammatically correct, but it is often absolutely wrong. I've observed that the more specific and technical a question I ask, the more likely it is to be wrong.

    • hammeiam 3 years ago

      You can actually ask ChatGPT to cite its sources. Anecdotally when I tried, it provided me with a valid url to a census.gov site that contained the answer to my question. That doesn't make it better than google, but it does mean that some verification is possible.

      • masukomi 3 years ago

        it will, very frequently, make up citations with real looking but completely bogus urls.

        it is NOT a research tool. It is a creative text generation tool. It is not programmed to provide accurate data. It's programmed to provide accurate sounding text.

        • O_H_E 3 years ago

          Actually just today I asked if for the density of silicon nitrite and to cite a source. It cave a citation that seemed correct (reference book on materials) but with completely made up authors.

    • cooperaustinj 3 years ago

      How often are you confident that you find the right answer on Google? As with anything, you need to reason about it yourself and verify.

      • ironrabbit 3 years ago

        Anecdotally, chatgpt seems much worse to me than Google for getting correct answers. Like orders of magnitude worse. Tells me the wrong timezone for a city kind of bad. No doubt it will be much better in the future, and they've definitely found PMF with the interface, but I would not trust it right now with anything even slightly important to me.

      • JW_00000 3 years ago

        But how can you verify ChatGPT's answers if you don't know what its sources were? E.g. if I google a technical question about HTML5, I can see whether a result is the HTML5 spec, MDN, W3Schools, or a random medium blog. If I google a medical question, I can see if I'm on a hospital's website or on Men's Health.

      • ornornor 3 years ago

        Parent is using chatgpt as a tutor though, not as a google search.

        I’d expect a tutor to give the right answer, but I wouldn’t expect google to. Chatgpt is often wrong. It’s a problem if you’re trying to learn something and using it as your tutor/truth.

  • nullandvoid 3 years ago

    I can't think of a single piece of software that has cloud syncing, for free, with no option for payment.

    I'm not sure who is running it (hopefully some well funded academic group), but it restores me faith in humanity a little every time I press sync and don't get CTA'd to sign up for some subscription.

    Amazing tool, kudos to the devs, and if there other comes a time where payment is required, I would be happy to chip in with the above being said.

mainedotpy 3 years ago

Espanso [0] - such a useful text expander with easy inclusion of shell commands and many other features. I love this thing so much as someone in the medical field that I made my first ever open source contribution to it.

0: https://espanso.org

  • tinodb 3 years ago

    I really enjoy espanso too! I only have a handful of expansions that I use (date, reverse date, may email address, our domain) but it is already so nice. I should add some things :)

  • sarlalian 3 years ago

    Love espanso... I need to get my work to start sending the dev money because we are starting to use it in a lot of places.

p4l4g4 3 years ago

Did a lot of data wrangling this year. The usual grep, sed, awk, jq and even find has sped up my days significantly. Sed is among my favorites to whip up some quick, ad hoc, transformations.

This year I added Miller [0] to my list; a tool to process tabular data, similar to sed, awk, etc. It handles csv, tav, json lines, etc. in a consistent way. I like the delimited key-value pairs format, which allows me to write simple oneliners in bash to collect some data (e.g. "ip=x.x.x.x,endpoint=/api/x") and use Miller to crunch the results. Not sure it saved me 100h, but it was one of the biggest time savers this year!

[0] https://miller.readthedocs.io/en/latest/

nikivi 3 years ago

Still Karabiner and it's probably 1000 hours yearly at this point.

https://wiki.nikiv.dev/macOS/apps/karabiner

On order of 100 hours, this year I'd say it's Sublime Merge, VSCode, Height (to manage projects) and Telegram.

mastersummoner 3 years ago

Not a program, but being very familiar with the keyboard shortcuts in SublimeText has saved me countless hours of dev time.

Things like Ctrl-D to highlight multiple instances of a word, plus the ability to put on Caps checking in the search bar first so you're only highlighting correctly capitalized versions. Make the same change in multiple locations. Saves so much time.

Knowing how to highlight a letter, a word, a line at a time.

Ctrl-shift-down to make your cursor span multiple lines at the same point, and have copy/paste respect the copied text from the respective lines.

So many things add up to hours upon hours of time saved, and frustration avoided.

  • unsigner 3 years ago

    Came here to post this. The multiple cursors feature combined with the ability to open huge files with gracefully degrading performance turns a lot of what would be one-off programming tasks that would take dozens of minutes to an hour into interactive sessions that take seconds to minutes.

    Also the low latency is amazing. Sublime on an old laptop feels batter than VS Code on a fancy new desktop.

  • Shorel 3 years ago

    I would say Sublime Text is in fact a program.

    It has also saved me over 100 hours or more.

    And this includes its instantaneous speed and the ability to open huge files!

    • mastersummoner 3 years ago

      Fair point! I'd say what I'm most aware of having saved me the most time is knowledge of the shortcuts and features available _in_ SublimeText though.

  • foxandmouse 3 years ago

    when switching to vscode, I thought it would be a good idea to use the VScode shortcuts, I wish I took the time to customize it to match sublime. They are so much more intuitive. It just feels right, if that makes any sense.

thiht 3 years ago

SmartTubeNext[1]

In installed it on my Android TV instead of the official Youtube app and it saved me literal hours:

- it blocks ads

- it includes SponsorBlock, so sponsored segments, intros, "plz subscribe" are skipped

- it allows me to block Shorts

Anytime I have to use an official Youtube app, I remember how unusable it was. I even gave Youtube premium a try at some point, but SponsorBlock is just too good to ignore.

[1]: https://github.com/yuliskov/SmartTubeNext

  • gregnavis 3 years ago

    I'm using NewPipe [1] but it's TV support is rather poor. For example, full screen is broken and some operations are accessible only via a swipe gesture.

    If you've used NewPipe, how does it compare to SmartTubeNext?

    [1] https://newpipe.net/

    • thiht 3 years ago

      I haven't used NewPipe on Android TV so cannot compare, but the user experience of SmartTubeNext is top notch. Everything works (you can even use Chromecast from the official Youtube app on your phone directly to SmartTubeNext), you can customize it enough (show/hide relevant sections, default section on launch, shod hide shorts, color theme, SponsorBlock) and the features that I care about are supported. It's basically an improved version of the official app. The only thing missing I can think of is the lack of comments, that might be a negative point for some people.

      Also I didn't personally interact with the developer but he seems like a very nice person, very invested in his project, even if some of the feedback he gets is thankless. SmartTubeNext is one of the few projects I'm actually considering donating money to.

      I tried using NewPipe on an Android phone for a while, and concluded I wasn't in their target demographic. I understand, but don't like their choice of not supporting Youtube accounts. Also wasn't a fan of the UX or the settings, everything felt more complicated than needed.

  • gala8y 3 years ago

    No root required? I thought TV's didn't allow side loading anything. TIL.

    • thiht 3 years ago

      No root required!

      The installation process is a bit annoying, but updates work great.

      • gala8y 3 years ago

        That's great, it's a totally different thing to suggest to someone to sideload vs. to root.

Apreche 3 years ago

Of all the software I can think of quickly, the one I think may have saved the most time in my life is Google Maps.

  • yakshaving_jgt 3 years ago

    I use and enjoy Google Maps, but some of the features are baffling, like insisting on switching you to a "faster" route even after dismissing the proposal several times.

    This almost got me into trouble a couple of months ago when I was driving from Odessa to Chisinau. One route goes through Transnistria which is currently controlled by the russian military.

    I'm not sure if Google is aware that there is a war on currently, but I don't fancy getting shot just because California product manager guy believes he knows best.

    • greazy 3 years ago

      Personally i think gmaps actively tries to get your attention and interact with the app. Which is extremely dangerous and in my country can result in a big fine if you even touch the phone.

    • grrrrrrreat 3 years ago

      they have a feature to ignore Highways .. maybe high time they had a feature "Avoid WAR !!"

  • npteljes 3 years ago

    Turn-by-turn navigation in a completely foreign place can be invaluable, and save much frustration. I personally use Organic Maps (MAPS.ME), and I'm fortunate that it never led me astray or on horrible roads etc.

    • sincarne 3 years ago

      My family and I were on a “star safari” last night, and our guides gave us a Google Maps location for a parking lot on a volcano. Google struggled, as did Here. Organic Maps? No problem! So thank you; you’ve set me up with my new offline map!

      • npteljes 3 years ago

        I'm happy for you! OSM derived projects served me well in the past, I hope it will you too.

  • signaru 3 years ago

    This is the single software that made me maximize my travels. Removing the fear of getting lost is life changing.

  • teknopaul 3 years ago

    How come it saves 100 hours for you?

    In the old days we had paper maps and I checked routes before I left: not doing that anymore has cost me time rather than saved me time. Many a time Google maps has sent me to the wrong place. Once to the middle of a mustard field in France which was a destination it changed to mid-route to a house called La Mutardier. 5 hours wrong lost there.

    Less than useless on a motorbike due to its UI, actually quite dangerous.

    I would say it has cost me many hours and saved me from carrying a map.

    Evermore useless adverts, and now hiding places that it doesn't get a kick back from.

    Oh and it's cost me money in fines from taking me the wrong way down streets I was not allowed to drive on. With no way to feed that info back into the system. When its wrong it stays wrong for years sometimes where I live, and we have street map, it ought to be half decent and at least safe for drivers.

    • burnished 3 years ago

      Searching the map for your target given only incomplete information is much faster. It also scopes the map to your screen size, paper does not do this, you save time finding the right resolution.

      It sounds like the real problem you are experiencing is that you stopped checking your route. If you treat it like a paper map on crack then it’s a great tool. And, to be fair, it does sound like you run into more frustrating ‘wtf!’ problems than others.

      Credentials: I used a paper map as a pizza boy.

    • forgotpwd16 3 years ago

      >Many a time Google maps has sent me to the wrong place.

      Have used it for years and have never seen this happen. Neither has send me the wrong way in a lane.

    • Jensson 3 years ago

      Google maps is a map, you can map out the routes yourself just like with old maps, but it is way faster to do so than with paper maps.

    • chungy 3 years ago

      > Oh and it's cost me money in fines from taking me the wrong way down streets I was not allowed to drive on.

      It is your responsibility to drive legally. Even if Google Maps is suggesting a route that's illegal, you made the action to drive the wrong way.

    • npteljes 3 years ago

      I find that a combination is the most useful: planning the route beforehand, maybe with an online map / routing service, and then use the turn-by-turn for convenience. I don't use Google Maps myself, I go with MAPS.ME / Organic Maps these days, maybe OsmAnd+.

    • gtirloni 3 years ago

      How are paper maps working for you these days? I'm interested in your experience replacing GMaps.

huseyinkeles 3 years ago

Home Assistant [0] through bunch of automations we have around our home must’ve saved 100h in total for me and my partner so far.

[0] - https://www.home-assistant.io/

  • tunesmith 3 years ago

    What kind of automations have you found necessary? Any time I think about getting into it, I can only think of automations that sound silly or extra but nothing truly time-saving.

    • 5e92cb50239222b 3 years ago

      I got tired of tuning the speed on air purifiers at home. Since outdoor PM levels can change up to 1000× in a single day, you have to adjust accordingly, and it takes a lot of attention to do that.

      So I set up automation for that based on a few parameters: indoor and outdoor particulate matter levels (current and averaged over the last hour), noxious gas levels based on third party monitoring, wind direction and speed, and the weather forecast for the next few hours.

      Probably doesn't apply to others here, though.

    • bath_ 3 years ago

      Not the user you replied to, but for me:

      Open blinds in the morning, shut them at sundown.

      Turn on porchlights after dark if I'm not home. Turn them off 10m after I'm home.

      Turn HVAC up/down when I leave the house, revert when I get home.

      Unlock doors when I arrive home. Make sure they're locked when I leave.

    • theblazehen 3 years ago

      Where I live we have frequent scheduled power outages, I use that to schedule when and how far to charge my batteries

    • klinquist 3 years ago

      I've documented all of the automations I have set up at my Airbnb: https://www.linquist.com/airbnb/automation

    • birdman3131 3 years ago

      Turn off ac in the morning and back on before I come home. Saved me about $70 a month

  • orthecreedence 3 years ago

    I hook tons of stuff up to HA and I love it. It's great with Sonoff switches flashed with Tasmota.

drmaximus 3 years ago

Sioyek: https://sioyek.info

It's a PDF viewer that automatically finds and previews references in documents, even when the PDF doesn't have links. Makes reading some math books a very enjoyable experience instead of a chore.

wdrw 3 years ago

The Mosh SSH client for intermittent connectivity ( https://mosh.org/ ) has definitely saved me at least 100 hours. Too bad that it's only available for Windows as a Chrome extension, and Chrome will discontinue support for it starting in the new year. Really not looking forward to having to search for an alternative...

  • jpmattia 3 years ago

    > Too bad that it's only available for Windows as a Chrome extension

    Looks like it's available under msys2 on windows: https://packages.msys2.org/base/mosh

    As an aside: msys2 mingw64 and friends are > 100 hours saved if you are a linux-soul in a windows environment. I don't think msys gets the attention it deserves.

    • ianmcgowan 3 years ago

      And if you work in locked down corporate windows environments, asking for Git for Windows ("for local version control only") is a sneaky way to get the basic Unix utils installed. It's a lot easier to ask for VSCode + Git than some open source tools that will be viewed with suspicion by the local support team.

  • yanokwa 3 years ago

    I've switched from Mosh to Eternal Terminal (https://eternalterminal.dev) because of its excellent native scrolling support.

    • chungy 3 years ago

      Eternal Terminal pitches itself as entirely superior to Mosh, but also describes itself as using TCP (Mosh uses UDP). I'm curious how that can actually cover the use cases Mosh provides?

      Mosh using UDP means that as a connectionless protocol, your end points can move (eg: from WiFi to LTE, or vice-versa), and beyond a small hiccup, your connections remain alive and well.

    • ladberg 3 years ago

      To add on to that, I use iTerm2 with tmux control mode which combines a native UI frontend with a tmux backend on a remote server, meaning I can spawn new native tabs, windows, or panes and they're all tracked by the remote so I can reconnect to all of them at once if I disconnect.

      I keep one laptop at home and one laptop at work and can seamlessly switch between the two without having to manage my active sessions at all. If I open a new tab at work and go home for the day it'll be there on my laptop at home.

  • linsomniac 3 years ago

    I was using mosh+tmux earlier this year, but ended up switching to wezterm which has a native MacOS and Linux versions, and gives native interface to the terminal. And I can reconnect to my session if I suspend my mac or go somewhere else.

  • ohbtvz 3 years ago

    I guess you can install it in WSL?

  • synergy20 3 years ago

    how is it different from autossh? never used mosh yet

geocrasher 3 years ago

Ditto Clipboard Manager for Windows. Yes, I know W10/11 have it native now, but it's not as good as Ditto.

https://ditto-cp.sourceforge.io/

AutoHotKey

https://www.autohotkey.com/

And if deleting TikTok from my phone were an app, it would be nominated, because that saved me hundreds of hours I'm sure :D

boyter 3 years ago

Going to say my own https://github.com/boyter/scc/ which I have used to turn down projects of "Oh we just need to do X"

It allows me to evaluate the code-base quickly and see where potential issues are, and find hidden complexity in the code. I have said no a lot due to it. The only reason it exists was because I got caught out from another project, which wasted months of my time.

Otherwise IntelliJ and the JetBrains IDE's in general.

  • philomath_mn 3 years ago

    Are the COCOMO estimates useful at all for you? That always comes up when I look at code metrics but I have a hard time believing they mean anything

    • boyter 3 years ago

      Not really. It’s just another datapoint. People like seeing it though.

  • masukomi 3 years ago

    a) cool

    b) thanks for explaining how it saved you time

    c) holy CRAP the description wasn't joking about "fastest"

mtmail 3 years ago

Not 100h yet but I've been replacing custom Linux command output parsing with https://kellyjonbrazil.github.io/jc/ (https://news.ycombinator.com/item?id=33448204) lately.

  • hedora 3 years ago

    That actually looks nice! (I've written at least 10,000 perl one-liners.)

    Will definitely check it out.

  • spockz 3 years ago

    I know this is the modulair way with piping. How would ` jc command args` be as opposed to `command args | jc —-command`?

mnks 3 years ago

Looking at your list you may like VisiData (https://www.visidata.org/). See the demo from 2018: https://www.youtube.com/watch?v=N1CBDTgGtOU

  • zJayvOP 3 years ago

    100%. Visidata is great. Easy to pick up, rewarding to power users.

jonathanstrange 3 years ago

make + pandoc + a build script in my own programming language + latex allow me to auto-generate the reference manual for my toy Lisp interpreter.[1] That was definitely a huge time-saver, since I already had the help entries for an online help system.

[1] https://raw.githubusercontent.com/rasteric/z3s5-lisp/main/do...

gorjusborg 3 years ago

vi and friends (vim/neovim)

Being able to edit text by piping it through shell commands and back into the buffer is pretty darn useful. In this case, it's not vi alone that provides the benefit, but whatever.

Macros and registers can be super handy when you have to do the same thing over and over in a big file. Sure, I could write a script, but sometimes it's just easier to do it by hand once and repeat the macro thousands of times.

Once you are able to commit certain operations to muscle memory, you can really whip around. For instance 'vapgq' selects around the current paragraph and formats it.

bsnnkv 3 years ago

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 piece of software which programmatically changes layers on kanata whenever a different window is focused in my tiling window manager.

This has honestly changed -everything- for me. I no longer have to waste keys on my keyboard to switch layers, I no longer have to -think- about switching layers, I just focus another window with alt+hjkl and whatever keyboard layer I expect for any given application is automatically applied. Definitely one of those "you can never go back" experiences for me.

[1]: https://github.com/jtroo/kanata

[2]: https://github.com/LGUG2Z/komokana

  • fouronnes3 3 years ago

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

    • deadso 3 years ago

      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.

oakpond 3 years ago

fzf: https://github.com/junegunn/fzf

  • fotta 3 years ago

    I probably shouldn't admit this but the fzf fish shell integration is basically how I remember useful commands instead of writing them in a note, because I'm too damn lazy

    • MH15 3 years ago

      Haha yes- and then when I open a new machine or somehow lose shell history it takes me a bunch of time to get back up to speed. IMO worth it for me but it can be a speed bump.

      • fotta 3 years ago

        I recently moved to a new machine and copied the history file over, definitely helped me immensely

silasdb 3 years ago

Matrix Docker Ansible Deploy [1] allows me to unify all chat networks that I use under one single server (and, therefore, one single client), avoiding switching windows. I do believe it saved me hundred of hours...

[1] https://github.com/spantaleev/matrix-docker-ansible-deploy

placatedmayhem 3 years ago

gron https://github.com/tomnomnom/gron

It takes JSON input and produces flat, key-value output based on the path to the value. Usage with grep was obviously the original intention, but I've used it to help me better understand a given JSON's structure, too, which I then usually reflect back into a program that's consuming that JSON.

It also supports "ungron" too, so, for example, `gron some.json | grep -v "thing I don't want" | gron -u > filtered.json" makes for quick filtering of a JSON. I find it more user friendly than jq's language.

phist_mcgee 3 years ago

Throwing my hat in the ring for Justfile. It's basically a streamlined make.

https://github.com/casey/just

Where it really shines are in places like monorepos where you may have many inter-related setup scripts, build commands or helper utilities.

You define all of your commands in one file (or multiple if you want a hierarchy) and can run commands from any subdirectory.

eg. You have a monorepo with a web server, and also a react-native app in separate directories, you can call `just build-app` in the web directory, or call just `start-server` when your terminal's current directory is 7 diretories deep in the mobile directory.

The amount of time I have saved cd'ing around has honestly been amazing. It's worth it's weight in gold, especially on large projects.

bilater 3 years ago

Not 100 hours yet but I've been pleasantly surprised how effective ChatGPT is at giving me code that is 90-100% good to work with. Never used Copilot but now I'm warming up to this idea.

  • timjver 3 years ago

    Give Copilot a try, it has been way more reliable for me in terms of giving good code suggestions than ChatGPT so far.

  • tluyben2 3 years ago

    Copilot has been great the past year and longer. I am so used to it , I don’t even remember how it was not having it.

justindeguzman 3 years ago

I've been using clickhouse-local (the CLI tool, not the database) a lot recently to do data analysis work. It's simpler/better developer experience when using local files for quick data analysis compared to writing python scripts. As someone who does a lot of data science and is not a software engineer, it feels more natural to write SQL vs. having to write actual code–and it's super fast...

chriswarbo 3 years ago

Careful with moto: it uses Python's context managers to set-up and tear-down the mocking. If you haven't got the right mixture of nesting, yields, etc. then you may end up running tests against real AWS resources (using your default credentials).

For this reason, I don't have any default AWS credentials configured: I always specify an AWS_PROFILE manually when it's needed ;)

stared 3 years ago

Fish + Starship (https://starship.rs/) + z (https://github.com/jethrokuan/z). For me it is a really nice configuration, fast do do stuff & visually pleasant (it influences my comfort & motivation).

stared 3 years ago

GitHub Actions. While it is not the only CI tool, its low barrier to entry does magic. I use it for tests & deployment (of anything, including the smallest personal projects), taking periodic screenshots of my websites, and building PDF files from its LaTeX source.

ramblerman 3 years ago

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, or manual review would have cost me.

[1] https://github.com/Ajatt-Tools/mpvacious

  • raffraffraff 3 years ago

    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.

    • Siira 3 years ago

      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.

wingmanjd 3 years ago

Ninite's automated installers [1].

This one tool has saved me hundreds of hours back in my support days (both at previous sidejobs and family members' houses) in downloading, installing, and _updating_ basic applications. I could leave the tiny Ninite executable on their desktop with the instruction to just run it once a month and it would keep all their stuff up to date.

[1] https://ninite.com/ Install or Update Multiple Apps at Once

fotta 3 years ago

k9s makes me feel like (and look like to my coworkers) a k8s wizard, the parenthetical especially when I'm sharing my terminal and zipping around using keyboard shortcuts

https://github.com/derailed/k9s

  • dpcx 3 years ago

    I love k9s, it's completely changed the game for me. I really wish the keyboard shortcuts and available commands were better documented, though. Figuring out that you have to be in the deployment view (and how to get there) to scale something took some doing.

    • whatthesmack 3 years ago

      This really rings true! We had an outage that was essentially due to errant use of the keyboard shortcuts and default read-write settings in k9s. "Bye bye super important deployment" is a bit too easy.

  • worldsayshi 3 years ago

    It looks intimidating but is very quick to get into. Essential k8s tool.

hprotagonist 3 years ago

The pure power of ripgrep + emacs to speed up refactoring _probably_ offsets the lots of game time i've spend diddling with my editor.

at least that's what i tell myself.

geocrasher 3 years ago

I just wanted to thank OP for this thread. I'm discovering some excellent tools. GoLinks may be the coolest thing I've seen in a while!

LunarAurora 3 years ago

Instant Data Scraper [1]

[1] https://chrome.google.com/webstore/detail/instant-data-scrap...

  • MattyMc 3 years ago

    I wish there was some sort of 'export to selenium' function to this.

DarrenDev 3 years ago

Easily https://vanyalabs.com/ (Access your FHIR API Data)

My own app, not even at the Alpha stage, has already saved me and my team 100s of hours of parsing JSON results in Postman.

elchief 3 years ago

The Singer spec https://www.singer.io/#what-it-is, for data ingestion and loading

1. open source

2. hundreds of pre-built taps and targets (for apis and databases)

3. supports incremental and full refresh

4. don't need to write any SQL and it creates and loads tables for you

Stitch, Meltano, and (sort of) Airbyte also use it

kiernanmcgowan 3 years ago

Things - its a light weight todo app with just enough features to make it useful. I tend to use it for a dev log to keep track of what I'm working on, keep notes, and finally mark something as complete

https://culturedcode.com/things/

scotty79 3 years ago

Short chrome browser extension I wrote some time ago that rewrites normal urls to videos like this:

https://www.youtube.com/watch?v=jvPPXbo87ds

into embedded video urls like this

https://www.youtube.com/embed/jvPPXbo87ds?autoplay=1

bypassing ads and running video in full browser window.

Since I watch a lot of youtube I think it might have saved me 100 hours of waiting so I can press Skip Ad button.

I probably should just use AdBlock but where's the fun in that.

jasone 3 years ago

Dune (https://dune.build/) is the preeminent build tool for OCaml development. I don't love its input syntax (s-expressions), and I sometimes miss the ability to write high-level functions to reduce boilerplate (especially for unit tests), but it always gets the dependencies right, and it's fast. This is in stark contrast to some of my experiences with various other build systems, and I am super happy that the default option for OCaml build systems is so good.

codetrotter 3 years ago

JetBrains CLion.

I used to program in Vim/Neovim. Using a full-blown IDE is a real productivity boost when programming in for example Rust, which is what I write the most, and use CLion for the most.

CLion has Vim emulation also. So I still have normal mode, insert mode, and most other main features of Vim that I know and love :)

  • sseagull 3 years ago

    Similar story for me. Used to basically use vim, but after taking over a large-ish python project I switched to PyCharm.

    Its support for detecting type errors (I use type hints pretty consistently) and its refactoring support have probably saved me way more than 100 hours. Just Shift-shift searching has probably done that by itself, too. And import optimization. I could go on and on.

    Plus integrated sql/db stuff is just icing on the cake. Best subscription I’ve ever paid for.

  • modernerd 3 years ago

    The CLion/JetBrains Vim emulation via IdeaVim is _so_ good. Better than VS Code and on a level with Emacs Evil mode for me.

    Adding shortcuts to my ideavimrc saved me a bunch of time and has made CLion largely keyboard-driven for me.

    https://www.jetbrains.com/help/idea/using-product-as-the-vim...

Gazoche 3 years ago

The fish shell (https://fishshell.com/) and its fantastic auto-completion. It now replaces bash as the default shell on all my machine and is the first program I install when connecting to a fresh cloud instance.

inasio 3 years ago

Not really a program, but this year the Tabu [0] heuristic saved me at least on that order of time. I work on combinatorial optimization problem (think traveling salesman), typically we use local search heuristics like simulated annealing or parallel tempering that work well but require a lot of hyper parameter tuning. Tabu is super simple, has very few parameters to tune, and works great.

[0] https://en.wikipedia.org/wiki/Tabu_search

  • hedora 3 years ago

    How do you implement "tabuList.contains(sCandidate)"?

    Has it been successfully generalized to problems with infinite / continuous search spaces? I imagine you could use edit distance or something for large combinatorial spaces.

shortlived 3 years ago

Greenshot - free, lightweight and just the right set of features for marking up screenshots and making new UI mockups based on existing screenshots of apps. I've tried a lot of other alternatives but they were either too complicated to use or lack a key feature.

  • AH4oFVbPT4f8 3 years ago

    Do you find greenshot better than say ShareX ?

    • shortlived 3 years ago

      IMO yes. ShareX had too many options, and too many layers to navigate to get something done.

      • lolive 3 years ago

        Greenshot is my friend everyday.

        But I now want a tool as simple as it, but for animated GIF.

        [Any piece of advice is welcome]

        • wearyghost 3 years ago

          ScreenToGif is pretty simple! I often use it at work, and find that it serves the purpose of sharing short snippets perfectly

ChrisMarshallNY 3 years ago

I'd say that Charles Proxy (https://charlesproxy.com) is my "secret sauce."

It allows me to quickly evaluate server interactions in my software, without having to program in all kinds of logging.

mastudebaker 3 years ago

On windows, http://symbolclick.com/index.htm is great for XML and JSON viewing. Use it pretty much everyday. Really love the way it display data in a table format.

Wistar 3 years ago

Beyond Compare, AutoHotKey, the macro functions in Notepad++ and Photoshop, and the user-preset function in Lightroom.

lpolovets 3 years ago

Text Blaze (YC W21) has saved me about 50 hours over the past 18 months. They reduce repetitive typing across websites. For example if you have a common format for bugs you're filing, or LinkedIn messages or emails that you're sending, you can use Text Blaze to write most of the text for you. If you've used Superhuman snippets, this is similar but more powerful, and it works across the entire web instead of just email.

Time savings screenshot: https://imgur.com/a/KjFhWRH (Disclosure: I liked the product so much that my fund ended up investing.)

Website: http://blaze.today/

Chrome extension: https://chrome.google.com/webstore/detail/text-blaze/idgadac...

7952 3 years ago

I work as a consultant and have to do a timesheet. I use an old app called TimeSnapper that records screen grabs every few seconds. Works brilliantly for timesheets and has saved me numerous times.

  • ianmcgowan 3 years ago

    I use timebro.com, which is a paid service (though recovering one extra hour to bill covers the monthly cost for me). Once you have to log time in multiple systems, it's essential to get something to help manage that process or chaos quickly follows.

  • karencarits 3 years ago

    The developer is also very kind and responsive, even here at HN. I was impressed! And it is a nice way to let go of "do I need to remember this" (in combination with the Ditto clipboard manager)

  • bhandziuk 3 years ago

    How does such a tool know what project you're working on?

moozeek 3 years ago

My most time saving programs didn't change in several years:

Slickrun, floating command line for Windows https://bayden.com/slickrun/

Autohotkey - shortcuts, text expander and scripting for everything https://www.autohotkey.com/

Total Commander, still the best file manager on Windows https://www.ghisler.com/

CyberChef - The "Cyber Swiss Army Knife" - single file web app for all kinds of conversions, encryption, encoding, compression and data analysis https://gchq.github.io/CyberChef/

Adminer - lighweigt database manager https://www.adminer.org/

Blank-field 3 years ago

AutoHotkey https://www.autohotkey.com/

denolfe 3 years ago

Karabiner for key remapping has been instrumental for me. I use it for a "hyper key" on CapsLock to provide Vim-like movement keys, text selection, app-specific bind overrides, etc. There is also a library out there for configuring it with TypeScript (Deno).

Hammerspoon for window management is also amazing, though I recently switched to Phoenix because it can be configured in TypeScript. It allows me to have hotkeys to swap to specific apps or toggle between groups of apps.

https://github.com/esamattis/deno_karabiner

https://kasper.github.io/phoenix/

nathanwallace 3 years ago

Excited to see Steampipe shared here - thanks zJayv! I'm a lead on the project, so sharing some quick info below and happy to answer any questions.

Steampipe [1] is open source and uses Postgres foreign data wrappers under the hood [2]. We have 90+ plugins to SQL query AWS, GitHub, Slack, Kubernetes, etc [3]. Mods (written in HCL) provide dashboards as code and automated security & compliance benchmarks [3]. We'd love your help & feedback!

1 - https://steampipe.io 2 - https://steampipe.io/docs/develop/overview 3 - https://hub.steampipe.io/

breck 3 years ago

GoAccess: https://goaccess.io/. I don't miss Google Analytics at all.

Loom. It's not open source I don't think but I'm digging it and excited when a public domain competitor comes out.

Our https://scroll.pub/. It's far beyond markdown at this point. I am able to not only write better but also maintain thousands of pages of content by hand (well, most of the credit for that belongs to Apple M1s, Sublime Text, git, MacOS, and Github). The stuff we are doing with it now would just not be possible with anything else, and what we're coming out with next year is super exciting. It's all public domain.

superpope99 3 years ago

+1 to moto.

Does anyone know of a similar library for GCP? Searched and not been able to find anything and I miss it dearly

yanokwa 3 years ago

ChangeDetection https://changedetection.io. Self-hosted website change detection.

tandav 3 years ago

* https://virtualenvwrapper.readthedocs.io

also alias to create jupyter kernel for activated environment:

    mkkernel() {
        if [ -n "$1" ]; then
            KERNEL_NAME=$1
        elif [ -z "$VIRTUAL_ENV" ]; then
            echo "Pass either kernel name as argument or activate virtualenv"
            return 1
        else [ -z "$1" ]
            KERNEL_NAME="$(basename $VIRTUAL_ENV)"
            echo "No kernel name provided, using name from virtualenv $KERNEL_NAME"
        fi
        pip install ipykernel
        python -m ipykernel install --user --name=$KERNEL_NAME
    }
samsolomon 3 years ago

Cleanshot X

I'm a product designer. I spend a significant amount of time taking screenshots—dropping them in Figma, slacking them to PMs and annotating them for engineers. The tool keeps screenshots suspended on your desktop until you decide what to do with them—save, annotate or copy it to clipboard. It doesn't save the screenshots if you don't want it to, so it prevents a ton of clutter.

Not to mention it has video recording that I frequently use to create video walkthroughs for features I'm working on.

The tool is a pretty expensive Mac App, but worth every penny.

https://cleanshot.com/

  • edmundsauto 3 years ago

    It’s part of the SetApp package, which is only marginally more expensive than just a cleanshot sub. Highly recommend, you get dozens of neat little productivity apps with it.

  • therealmarv 3 years ago

    No video recording but Skitch https://evernote.com/products/skitch is still my screenshot tool for Mac. Just don't login with any Evernote account (I don't use Evernote) and you are fine. Free

andwaal 3 years ago

JetBrains software.

  • fxtentacle 3 years ago

    Specifically CLion's excellent code browsing features. It's the only thing between me and insanity when I have to "quickly" patch a binary with source code spread out over 1000+ files.

  • LouisSayers 3 years ago

    Especially local history - being able to go back in time before any commits were made saves you rewriting code or having to remember what something was doing before.

    Otherwise the number of times I "show usages" or refactor shortcuts (rename, extract method / variable) throughout the day...

    All of it out of the box as well, it's great value for money.

  • pwenzel 3 years ago

    XDebug in PHPStorm. Can't live without it!

TeddyDD 3 years ago

https://grep.app/ and https://cht.sh/ for quick reference.

  • return_to_monke 3 years ago

    I very much agree with cheat.sh! I just do curl cheat.sh/X instead of X --help and then man X and then the search for "how to do y in X"

kristopolous 3 years ago

Assuming python sqlite is being dumb with regards to transactions and functions and that simple optimizations aren't just futile efforts from ignorance and narcissism has saved me 100s of hours in runtime alone.

Also the commonality of fast networks really hit me this year. I was using free wifi at a small coffee shop in Tokyo and was transferring files to my apartment in Los Angeles at ~20MB/s. That's faster than my local LAN was 15 years ago over 5,000 miles of ocean, so cheap that they give it out for free if you buy a coffee. Absurd

rzach 3 years ago

During my freshman year of college, I was in a general chemistry class. Halfway through the semester I wrote a little Python script that encoded mass of a whole bunch of (not all of) elements and wrote some functions to calculate mass of compounds plus a few other useful quantities. Homework was online so I didn't have to show work - I would just type in the compound and whatever I wanted to calculate. If not 100 hours, it saved quite a bit of time!

ThomasMidgley 3 years ago

Windows. I used Mac OS X a few years. But in my opinion Mac OS X is (or was, back in this time) PITA. Switching back to Windows has definitively saved me hundreds of hours!

  • tqwhite 3 years ago

    That is so strange. I worked in a mixed shop and all of us OSX people laughed our butts off when we did zoom and screen share with Windows guys as they took forever to do stuff we did almost instantly. I used Windows side-by-side with OSX for years and had nothing like your experience.

    But, good on you. It's nice that you found your niche. If you ever are forced to switch back reach out. I have a lot of good techniques for fast and pleasant OSX.

  • Shorel 3 years ago

    That sounds so strange...

    I use Windows every day, and I know shortcuts and tools for many things.

    But for work I use Ubuntu, and for writing code it is a much more efficient environment.

    So it is actually hard to imagine an environment less productive than Windows.

    Now, if your work is done in Office (which I only use to write emails), or Photoshop, then I understand. But I am still intrigued.

tunesmith 3 years ago

Flying Logic

Aeon Timeline

ObservableHQ - particularly the discovery that I can use most of it locally and privately for free. I've tried with quarto so far, but I think there are other ways too.

What I want is a way to instantly switch between dag and tree data structures: graph for visual editing, tree for easy data entry. So something that would analyze/cluster intelligently to minimize links when converting to tree, for when children have multiple parents.

  • madjam002 3 years ago

    Out of interest how do you run most of Observable locally?

    • tunesmith 3 years ago

      I followed the instructions at Quarto.org, integrated with VS Code. So they are text documents stored locally. I didn't realize observable-cli was open source.

      I find it can't do nested logic the way observablehq.com can though. For instance, I like having inputs embedded in paragraphs of text, which requires having logic mixed in with a markdown cell. There are certain things that I can do on the web that don't work locally.

      There's also https://observablehq.com/@asg017/introducing-dataflow, which I haven't tried yet.

zX41ZdbW 3 years ago

clickhouse-local[1] saved me countless hours.

I'm using it for format conversion, data processing, querying external data, as a calculator, etc...

  clickhouse-local --input-format Parquet --output-format JSONEachRow --query "SELECT * FROM table" < data.parquet > data.jsonl
  
  cat books.ndjson | clickhouse-local --query "SELECT author, avg(rating) FROM table GROUP BY author"
  
  clickhouse-local --query "SELECT * FROM url('https://datasets.clickhouse.com/hackernews.native.zst') LIMIT 10"
  
  $ clickhouse-local 
  ClickHouse local version 22.13.1.1.

  milovidov-desktop :) SELECT extractTextFromHTML(*) FROM url('https://news.ycombinator.com/', RawBLOB)
  
[1]: https://clickhouse.com/docs/en/operations/utilities/clickhou...
jviotti 3 years ago

Vim, and it probably saved me way more than 100 hours. I use for coding (C++/JavaScript), for writing academic publications (dissertation/papers) and for writing e-mail (through mutt).

I've used it so much that it is second nature at this point, and moving to any other editor without my ever growing set of macros, etc would significantly impact my productivity.

aabbcc1241 3 years ago

* text-based ERD diagram: https://quick-erd.surge.sh with cli to auto generate incremental knex migrations

* array-like proxy-based ORM: https://www.npmjs.com/package/better-sqlite3-proxy the schema and typescript definition can be generated from erd text in above format

* a composible and typescript-friendly json parser for data validation: https://www.npmjs.com/package/cast.ts

I'm not sure if they save 100 hours but they're definitely timer savers for me as an educator that need to create lots of web projects frequently.

planb 3 years ago

Docker. Shipping every single script along with all dependencies saved me from hundreds of hours of fixing stuff after updates. And I don't mean production stuff, just helper scripts and programs that I'd normally use a few times a year and which don't need the latest security (let alone feature) updates.

silverfrost 3 years ago

Red Gate's SQL Prompt for SQL Server Management Studio. Saved countless hours in very small increments: https://www.red-gate.com/products/sql-development/sql-prompt...

konfusinomicon 3 years ago

the moonlander keyboard and its customization software have been my biggest time saver this year. it's worth the hype, the price and the time investment learning to use it effectively. 100 hours maybe... but I bet I've saved 100 miles of finger travel distance and half a million key presses by now

madduci 3 years ago

For me, Docker and Terraform. Packaging software easily and swapping it without too much hassle has saved me hours of pain.

Same with Terraform. The provider ecosystem is so extended that you can just grab them and make infrastructure rapidly, instead of using some cloud-specific language and syntax

tqwhite 3 years ago

I'll join those who benefit from personal workflow automation. I use

BASH Alfred Applescript NodeJS bbedit

in a zillion combinations to make things fast and easy. I have a bad memory so I have tons of BASH aliases and .bashrc terminal reminder files. I use Alfred, for example, to record 'time clientA 1 do an hour of work' in a tenth of a second. I use Alfred and AppleScript to shuffle windows around as I focus attention or finish things. bbedit's find/replace/regex stuff is better than anything I have ever seen. I use it to munge files in crazy ways. I have a set of files that act as a NodeJS ad hoc workspace. (Need to change the GUID on the records in a tsv file? Not a problem.)

And when I do something that has ongoing value, Alfred and/or bbedit give me a way to add them to the toolkit.

btown 3 years ago

BetterTouchTools and Karabiner Elements for macOS.

With a swipe of four fingers, I can turn a set of windows into a tiled configuration by "shoving" them where I need to go.

When I press Caps Lock, which I've rebound in Karabiner to F16 and then bound F16+various modifiers to Activate/Hide Application in BTT, I can switch between IntelliJ, Chrome, Figma, Slack, Notion, so fast that I feel like I have 3x as many monitors as I do - which, whether paired with actual monitors or on the road, is absolutely game-changing.

Knowing that I can context-switch immediately and get everything I need on screen, just so, lets me wear a lot more hats than I otherwise could have. There's an argument that I'm able to deliver results at a level as if I had 100 more hours every month!

  • jadamczyk 3 years ago

    I used better touch tool for some shortcuts and trackpad gestures, but never fully used it's power. Recently I had a problem that one of my monitors connected somewhat late and all my windows were out of place. Thanks for saving my time mate, the restore window layout thing is truly magical

sergiotapia 3 years ago

TablePlus for dev and prod database stuff. Easy as hell, worth the cash.

ChatGPT at it's worst saves me an hour a day.

fattybob 3 years ago

I have an extremely useful (for a very specific need) vba module collection for excel spreadsheets - I have often considered rewriting in an app, but the graphing outputs always kill my interest. I use it whenever I’m working after 20 + yrs , there are now a few proprietary packages that do the same, but are very easily misused, so even I use them for clients I still work from my own rather archaic vba assisted spreadsheet. I used vba because the calculations I was doing simply exceeded the abilities of spreadsheets - too many lines, it’s was an unusual discovery when I realised that my spreadsheet wasn’t fully evaluating the data set - handling just numbers and a vba module has never presented a problem.

d4rkp4ttern 3 years ago

Don’t know if this has been mentioned yet — for those dealing with tabular data I highly recommend visidata— you can just “vd file.csv” and it shows you a table view in your terminal, with lots of super useful keyboard actions to sort, move, filter etc.

  • nowahe 3 years ago

    Highly recommend this as well, it has been a godsend for me for digging into multi-GB Cloudfront log files and extracting stats and patterns.

    There is a good (albeit a bit old now, as the interface has been overhauled since) quick demo video from VD's creator : https://www.youtube.com/watch?v=N1CBDTgGtOU

manv1 3 years ago

bourne shell (now bash) has saved me tons of time. It's ridiculously easy to glue stuff together...like migrating 10k videos from one video CMS to another, with custom fields etc. How do you drive that? bash scripts driving node, curl, and a few other programs.

wycy 3 years ago

tmux. I only discovered it in the last several weeks so it hasn't saved me 100 hours yet, but it very clearly will. It has completely changed the way I work. Now I mostly work with just one large terminal window and I hardly ever touch the mouse anymore.

locusofself 3 years ago

Password managers, specifically Bitwarden (because it's free) and previously used Lastpass.

carvking 3 years ago

All of these programs are so interesting they will cost you 200 more hours than you saved.

Call it carvkings law.

23B1 3 years ago

http://freedom.to

Block websites so you can focus on work. Different blocklists and different sessions makes it easy for me to stay focused during the week. Best investment in myself I ever made.

  • songzme 3 years ago

    good idea. FYI you can also `sudo vim /etc/hosts` and map any websites to 127.0.0.1, effectively blocking them. Your comment inspired me to do that thank you!

jansan 3 years ago

JASC Paint Shop Pro 7.04 from 2001. Still by bitmap editor of choice. Unfortunately all versions after that were crap and the 7.04 lacks alpha channel support when copying to or pasting from the clipboard. But man, am I fast with that tool.

avogar 3 years ago

clickhouse-local is a really good tool for analyzing local data, as it supports a wide range of data formats and it's really fast. It can save you a lot of time, because there is no need to install a batch of packages to use it or setup a database server. Just download a binary/install one package and enjoy. It has developed rapidly in recent years and continues to improve. https://clickhouse.com/docs/en/operations/utilities/clickhou...

eitland 3 years ago

VSCode / IntelliJ / Netbeans / Eclipse - it is crazy how much time a decent IDE with refactoring support can save. (And still many on HN hate on them. I am fairly sure that for most people that spend lots of time on vim had spent as much time as they spend to get good at vim at learning and customizing a normal, good IDE, they'd have much better return on investment.)

Git / SVN / CVS - never having to worry about if I can undo my way back to the last combination of files that worked its a superpower that we mostly take for granted, but I was over 20 when I learned it.

JUnit - again, being able to experiment fearlessly.

samwillis 3 years ago

The combination of TypeScript, VSCode and GitHub Copilot is just a joy to work with.

The are valid criticisms of Coplilot around copyright but I'm not using it to generate whole algorithms. It just knows your code and what you are trying to do.

  • Kiro 3 years ago

    Exactly. Anyone who has worked with Copilot seriously knows that generating whole algorithms is not what you actually use it for. The things Copilot generate and autocomplete for me are unique and tailored to what I'm trying to do, completely based on the context of the code.

    Sure, you can bait it into reproducing stuff but why bother? Considering how convoluted it is to trick it you might just as well copypaste the algorithm straight from the repo. I almost find the discussion irrelevant because of how detached from reality it is.

BonoboIO 3 years ago

PHP Propel 2.0

It’s a small ORM with nice features and it saved me a ton of time. Just generate the classes from the database. Very fast to iterate from.

https://propelorm.org/

  • hedora 3 years ago

    Probably showing my age here, but their database:reverse feature just blew my mind.

    The problem with most ORMs is that language object models are way more expressive than SQL (due to having multiple subclasses of the same superclass / interface, or even multiple inheritance, and none of those mapping to SQL foreign keys).

    Targeting the less expressive data model should automatically avoid most ORM footguns. I wonder how it works in practice.

    • BonoboIO 3 years ago

      It just works :D

      I work with it every day and the the documentation is not the best, but for 95% of pure php projects it’s the Right answer. There maybe other right answers, but propel is definitely one of them.

      If you iterate the database as you go, simply create the classes and there you go. I m amazed how good it works.

      I m a single developer, so your results may vary, but for small to medium projects it works fine. And most of all projects are small to medium.

smusamashah 3 years ago

RipGrep has been a huge time saver. I work in huge legacy code base. Lots of modules, lots of content, lots of scripts. Sometimes I can just go to parent directory with all repos and search with RipGrep if ever needed.

ss48 3 years ago

Mailstore. It's an email archiving program, and saves a ton of time in searching for emails at our company by allowing you to search all emails in every email address for what you're looking for.

ninawalters 3 years ago

GoLinks! https://golinks.com/blog/the-ultimate-guide-to-go-links/

FigurativeVoid 3 years ago

McFly[1] is a terminal history search replacement that is more context aware. The only downside is I am probably not memorizing the commands I use as much as I should.

Flycut[2] has certainly saved me a lot of time and changed the way I write code. Have a good clipboard history has really changed my flow.

[1]: https://github.com/cantino/mcfly [2]: https://github.com/TermiT/Flycut

Stevvo 3 years ago

Ministry of Flat. http://www.quelsolaar.com/ministry_of_flat/

Automatic UV unwrapping.

galkk 3 years ago

On my work there is a utility that sends my shell history from all my terminal sessions and pcs to centralized database as I run commands, enabling search and cross reference. That saves tons of time. I haven’t bothered to set similar things for my personal use but I’m sure they do exist too.

Tmux + tmux continuum is another utility that saves many hours. I use it only on remote machines though.

Ffmpeg cli for fast lossless cutting of video. (Apparently there is nice gui for that, never tried though)

geekraver 3 years ago

Dual-pane file managers like Midnight Commander. Been using these since the days of Norton Commander on DOS; I even wrote my own for Unix/DOS in those days before Midnight Commander came out and I got lazy (https://github.com/gramster/gc3). I would live in Midnight Commander if not for the constant “the shell is already running a command” bugs.

billylo 3 years ago

Mobile app build/deployToAppStore automation: https://github.com/fastlane/fastlane

samsaga2 3 years ago

Emacs (with evil). Macros save my life. Pressing some keys, I can modify large blocks of code in complex ways. Other way, I would need to write some python script.

leyka 3 years ago

I would say NetNewsWire or any RSS reader.

The idea of having all news (Youtube, Twitter, blogs etc.) centralized in one app saved me a bunch of seconds every day looking for new content.

andrew_jef 3 years ago

Automa [0] is just another no-code extension to automate web browser. I used it to scrape excel files from the website of an open-end fund, which does not expose public API for its daily NAV historical data. This extension not only saved me time to manually point and click 1000s of url, but also give me a reason to procrastinate teaching myself selenium.

[0] https://www.automa.site/

kennedy 3 years ago

Terraform: mainly because my organization used to make everything manually, using boto3/sdk scripts, and poorly tested/constructed cloudformation templates

  • nijave 3 years ago

    While not perfect, `terraform plan` is a massive time saver. A lot of IaC tools still don't have good (or any) support for "dry runs" and provisioning a bunch of infrastructure to see if your thing works is really slow

    • kennedy 3 years ago

      100%, `terraform plan` is such a useful time and cost saving step when developing terraform.

      Ive read about pulumi and casually used it (python) to learn about it. Benefits like taking advantage of proper python language niceties, like running pytest on your IaC.

      Additionally, it uses terraform's providers behind the scene, both contributing their success to the other.

teknopaul 3 years ago

bash_completion: I can imagine life without it. It's got a pretty nasty api to set it up if you have to but most things are done for you.

If you create your own clis in the format

    appname mainoperation flags args/files
writing bash_completion scripts is easier.

I believe git, yum, apt clis are popular for this reason.

I can't imagine the amount of time wasted if bash_completion didn't exist. I would have probably wasted 10000 hours writing guis.

dec0de 3 years ago

The jetbrains IDEs for various languages, but especially CLion and PyCharm.

Beyond Compare, to compare differing versions of large codebases, which - for reasons I won’t go into, are just stored in filesystems, rather than accessed via some version control platform like git.

Sublime Text, because multicursor, and fast searching of large codebases, the ability to edit everything, the plugin api, and just blazing performance on massive codebases.

z3ugma 3 years ago

Gong.ai - transcribes Zoom and Google Meet calls with very high fidelity, and identifies which callers are talking and suggest tips to your sales, customer success, and demo staff on how to improve their presence in online meetings and phone calls. https://www.gong.io/product/

This is the SaaS I'm most excited about this year.

  • gomox 3 years ago

    Very useful yet very expensive. Someone will build the personal/SMB version at some point.

  • qxxx 3 years ago

    I sometimes use whisper to transcribe videos or audio to text. Works good and it is free.

bondolo 3 years ago

Flexelint. The compilers have gotten better over the years but I wouldn’t consider doing C/C++ development without it.

It has saved me hundreds of hours of debugging since I first started using it in 1990. The very first day it found a ‘write past end of array’ in some code written by a Pascal programmer which was doing a[sizeof(a)] = ‘\0’; that would have stymied us for days.

residualmind 3 years ago

To generate some stats for insight on a legacy project: Grepping logs with ag/rg, piping into sed/awk/cut, and then into wc

  • mmcgaha 3 years ago

    I came in looking for awk in the list to upvote. By far awk has saved me the most time. I have used it for everything from parsing EDI documents to making simple shells for managing processes.

    I just used it to create a bit over 2000 data transformations and wrote another awk script to tie them all together. Yeah I did in hours what would have taken a week in the GUI and changes will be able to be made in minutes instead of days. Plus it saved my wrist from the pain of clicking a mouse thousands of times.

    To be fair you can do the same thing with any programming language but awk just has the least friction for me.

cyneox 3 years ago

For me it was definitely Emacs and ORG mode. I use this combo to create presentations (pdf + reveal.js), write notes (org-roam style), do project management (ORG mode at its best), collect small code snippets (literal programming in ORG mode), almost everything...

As for a large code base I found ripgrep + rg.el (the interface in Emacs) to be pure gold!

RedShift1 3 years ago

Not exactly a program but Postgraphile saved me a ton of time to write an API. All things considered probably way more than 100 hours.

sasakrsmanovic2 3 years ago

I am going to go with https://github.com/unoplatform/uno (cross-platform UI for anything from Linux/Windows/Mac on desktop, iOS/Android, or Web. Kind of like Flutter, just for C# devs.

eloff 3 years ago

For me it’s github copilot. It produces bad code frequently and often code that looks good at a glance, but is bad. So I treat the output with extreme prejudice. However, I think it saves me a few hours a month on average. Maybe not 100 in a year, but in two or three years, certainly. It saves me much more time than my IDE does (JetBrains + vscode).

  • llanowarelves 3 years ago

    JetBrain's rename functionality might save you that much, when it needs to touch lots of places, compared to a more naive rename.

    • eloff 3 years ago

      Their rename functionality definitely saves me time, but I’d guess maybe only about half an hour per month on average.

      It saves you more in stronger typed languages and if you rename things across files a lot. I work on smaller code bases.

faebi 3 years ago

Switching to Vscode saved me a lot of time, especially the multi cursor behavior. I was using VIM, Tmux and iTerm before. Remote development is a breeze, connections and sessions are never lost. Many extensions get better and better, even a hated maintenance task is easier if you have a nice and easy language integration.

Docker, but these days I take it as granted.

yawnxyz 3 years ago

CUE Lang (https://cuelang.org/) for me. I had to build this massive clinical data collection system in REDCap and it's kind of a nightmare system to use.

So I wrote a script in CUE to programmatically build my REDCap data dictionary to support flexible inputs.

Myrannas 3 years ago

I’ve found Wallaby (https://wallabyjs.com/) to be a great addition to my tool chain over the last year.

It is an automated test runner for JS / TS code with a great integration with ides. It has made writing tests and refactoring so much more productive.

jiaaro 3 years ago

K9s - https://k9scli.io/ Terminal (ncurses?) Kubernetes client

Bash “wait” command to do multiple things in parallel without extra _stuff_. Eg

    (
      dothing.sh &
      slow_stuff.sh &
      more.sh &
      wait
    )
torial 3 years ago

I have used this software for almost 2 decades. I find it incredibly helpful on Windows computers as an alternative to Windows Search. I think of it as Grep with a UI.

https://www.mythicsoft.com/agentransack/

thomasswilliams 3 years ago

Great question, have enjoyed reading answers. For me, a clipboard manager has easily saved me 100+ hours of work time (I use CLCL and Clipy). A close second was upgrading my hardware - image editing which previously took minutes on my 2014-era machine now takes seconds.

lysp 3 years ago

ZTreeWin - http://www.ztree.com

This is a updated win32 version of XTreeGold if anyone ever used that back in the day. Allows many file system operations (view, copy, sort, tag) based on keyboard shortcuts in a text-console view.

jntnctrs 3 years ago

AHK - Auto HotKey

https://www.autohotkey.com/

It’s really a time saver as a launcher, running little scripts, asking input and doing whatever after works, calling native DLL Windows functions…. It’s a big helper of your own workflows

terminal_d 3 years ago

Emacs (use it for everything important)

QMK (keyboard's firmware, helps me do things an order of magnitude faster)

surds 3 years ago

A good Password Manager - doesn’t matter which.

Helps avoid password resets and makes logins in apps much easier.

the-alchemist 3 years ago

Clojure. Some many Clojure libs, and state-of-the-art Java libraries available through interop.

tezza 3 years ago

Sorry to talk shop:

* All time King keeps on giving: MS Excel

* MS Visio… last good Sequence Diagrams etc

* Adobe Illustrator… keep visual scrapboards

* Perl one liners with cygwin getclip/putclip

* DBeaver SQL gui

* StreamDeck with Autohotkey custom actions

* SimpleNote - your notes everywhere when you need them for creation, reference and search

ineedausername 3 years ago

FSearch is a fast file search utility, inspired by Everything Search Engine.

https://github.com/cboxdoerfer/fsearch

ss48 3 years ago

Everything Search by Voidtools.

  • cccybernetic 3 years ago

    Woah, this is a blast from the past. I switched over to Mac a few years so I can't use this anymore, but this was my favorite piece of software from a prior job when I had a PC. This thing completely changed how I thought about performance and speed in software. I know there's the old adage about avoiding "premature optimization", but occasionally you use something like this that leaves your jaw on the floor in terms of what hyper-optimized software is capable of.

krembo 3 years ago

Kanmail.io for managing your Gmail in kanban board style https://kanmail.io/

aagha 3 years ago

Windows: Fluent Search. Blown away it's not a part of Windows - https://fluentsearch.net/

rsync 3 years ago

vimv

You invoke 'vimv' in a directory and the resulting editor is a directory list for your pwd ... and you can edit it as a text document.

When you save and exit, all of your file (re)naming is committed to the directory.

icoder 3 years ago

Not at 100 hrs yet but fastlane is getting there.

I set it up for making screenshots, building, sending to slack & submitting an app to App and Play Store. Saves time by minimising boring work, double win.

lolive 3 years ago

Obsidian!

My new job is a matter of surviving a TON of information sent by a ton of different people each day. And Obsidian has been the tool to organize that information deluge.

toddm 3 years ago

make, dbx, vi, sed, awk, cut, paste, (s)diff, (f/e)grep, comm, sort, col, column, bash, csh, ksh, man, find, cvs, svn, date, f77/xlf, cc/xlc, bcc, TeX, ghostview

yakshaving_jgt 3 years ago

I'm sure both vim and the Glasgow Haskell Compiler have saved me hundreds of hours. One puts the text in the file, and the other makes sure the text makes sense.

pwenzel 3 years ago

I used Dynobase for roughing out a DynamoDB project this year. It's the best and only real GUI for DynamoDB at this point. Many, many hours saved.

schappim 3 years ago

macOCR, a tool to get any text on your screen into your clipboard.

It could be an image, some app or website that has disabled text selection, a pdf, image based email signature etc. I made this for myself, copying text out of everything, it turns out a few other people also like it...

https://github.com/schappim/macOCR

nb_key 3 years ago

Tableau Data Prep. It is a powerful tool that can save many hours of tedious data preparation work. It has a nice interface and comparatively fast.

mywacaday 3 years ago

One note, dump info once and search later, never fails

spurgu 3 years ago

Alfred on MacOS.

https://www.alfredapp.com/

analog31 3 years ago

Years have passed, but so have many 100's of hours. Looking back, Borland Sidekick was a major productivity booster for MS-DOS.

PicassoCTs 3 years ago

https://github.com/git-time-metric/gtm

bitcurious 3 years ago

Airtable has allowed my team to save 100s of hours. Excellent tool for adding a little structure and automation to adhoc workflows.

birdman3131 3 years ago

https://ninite.com has saved me well over that over the years.

mattewong 3 years ago

https://github.com/liquidaty/zsv

quickthrower2 3 years ago

Git. Github. VSCode. ASP.NET. Vercel/Netlify. The CPanel thing that comes with free hosting. Wordpress.

nurettin 3 years ago

ddterm (a quake terminal for gnome) is my favorite time saver. f1 dropdown, open a bunch of tabs and run mosh terminals for managing remote servers, name them appropriately and the spaceship is ready. Any time I need to access a remote, I press f1 and switch to its tab within seconds.

pfoof 3 years ago

macOS and its integration with mac touchpad. I used Windows and Linux on several laptops and none was so well designed to switch between desktops and searching for windows. Ah and M1 speeds (unless you count updates and installing Xcode but you can't have everything).

abakker 3 years ago

Q research software. Best survey analysis tool I’ve used by far. Saved way more than 100 hrs vs spss.

kristianp 3 years ago

Conversely, what has cost you at least 100 hours?

Hacker news is software that definitely took at least that for me!

  • yawnxyz 3 years ago

    It gives and takes — I learned about CUE and Svelte through HN which have probably saved me hundreds to maybe even thousands of hours, so it's a net win for me!

hd99 3 years ago

xdotool, definitely program that required me 10000²² hours : firefox, thund' and gimp+blender

kamaal 3 years ago

sed(100+ hours), vim(1000+ hours), perl(10,000+ hours), emacs, jq, XML::Simple(Perl library), javascript console in browser, Ctrl-R(bash command)

If you know Perl you get instant access to many many powers which you otherwise have to use 10s to 100s of tools to get it done.

lolive 3 years ago

warpd avoided me spending a lot of time going from the keyboard to the mouse,for simple point and clicks. Honestly it is super useful.

https://github.com/rvaiya/warpd

egberts1 3 years ago

Wut? Bind9 named daemon should rank at #1.

I don't know of a better, easier, and faster productivity tool.

baby 3 years ago

rust-analyzer, if that counts

synthc 3 years ago

Shell productivity tools like fish, fzf and z.

Feels like doing parkour on the command line!

betolink 3 years ago

miniforge, no need to deal with conda environments anymore. https://github.com/conda-forge/miniforge

flarg 3 years ago

Autohotkey beats them all (IMHO)! Hundreds of hours saved per year.

zanfaruqui 3 years ago

Coherence https://docs.withcoherence.com/

we're saving our customers (and ourselves) hundreds if not thousands of hours by not having to write and maintain glue code for their dev tools

simonswords82 3 years ago

Workflowy for task management.

Made me more efficient, must have net saved me 100 hours.

numlock86 3 years ago

systemd-nspawn, f that hype train around over engineered container solutions.

Also WireGuard. Who has the mental stability to setup OpenVPN or similar these days, even with things like Openswan? Yuck.

brailsafe 3 years ago

Dash for Mac and Vs code

waymon 3 years ago

termius - new terminal app. I can save hosts, chain together hosts and then easily connect. sftp built right into it. honestly, it feels like cheating in terminal.

amelius 3 years ago

GCC saved me from thousands of hours writing assembly code ...

  • hedora 3 years ago

    If you're OK with cloud services, you might consider using godbolt for your assembly-generating needs. It's polyglot, and you can easily copy paste its output into ed or notepad.

thomasswift 3 years ago

NameMangler (OS X) - renames files in all sorts of ways!

brihter 3 years ago

dsq [0]

[0] - https://github.com/multiprocessio/dsq

pinkcan 3 years ago

docker compose is like using cheat codes

qxxx 3 years ago

- Listary: a launcher (double press crtl to open)

- silversearcher ag

- total commander

- Obsidian

- chrome extension: "I don't care about cookies" will remove all the annoying gdpr cookie popups.

- espanso : highly customizable text expander (eg type :myip to replace it with your current ip using your fav scripting language)

- sqlyog : sql client with awesome power features I never seen before: eg schema and data comparision between 2 db sources.

- manictime: a time tracking software which also takes screenshots. You can then go back and see what you did and how long.

mcs_ 3 years ago

Excalidraw (paid edition) Autopilot

pinkcan 3 years ago

iOS "focus" and "screen time" features

ianzakalwe 3 years ago

github copilot

cjvirtucio 3 years ago

good ole find, grep, sed, and jq.

chucky_z 3 years ago

fzf!!!

logicallee 3 years ago

I've easily saved 100 hours already using ChatGPT. If you haven't heard of it already, this is, in my personal opinion, superhuman general AI with almost no limitations except that it might not be free forever and it likes to stay SFW. For example, if you ask it to list "What pieces of software that most users don't use is most likely to save me 100 hours - keep your answer brief and specific" you get the response at the bottom. Interesting answer that opens the door to more specific questions. If you want to achieve a task quickly, just ask ChatGPT how to do it. Give plenty of instructions on the kind of response you're looking for.

Here's a specific example of how ChatGPT has saved me time: I asked it to make some text I wrote shorter and more likely to succeed, and it suggested eliminating the entire second half of it as it takes away from my point and isn't likely to achieve the result I want. That actually ended up saving me the work associated with the entire second half of my proposal.

Others have had it make recipes and meal plans, by just listing what they had at home and asking it to list recipes using those ingredients. It is superhuman in many of its abilities.

I would write a caveat but don't feel like it. I'll just ask ChatGPT: "I consider you almost superhuman but in no more than 15 words summarize the caveats or ways in which it would be wrong to consider you superhuman. Be extremely brief and specific, get right to the point."

it's answer: "I am a machine learning model and not a human."

So, there's your caveat. It's a machine learning model and not a human.

---

*

[Prompt: What pieces of software that most users don't use is most likely to save me 100 hours - keep your answer brief and specific.]

It's difficult to determine what specific software may save you 100 hours without knowing more about your specific needs and workflows. However, here are a few suggestions for software that may be helpful in increasing efficiency and saving time:

Task management and productivity software: Tools like Trello, Asana, and Todoist can help you organize and prioritize your tasks, set deadlines, and track progress. These tools can help you stay on top of your work and reduce the time you spend on tasks that don't align with your goals.

Text expansion and automation software: Applications like TextExpander and Alfred allow you to create custom abbreviations that expand into longer phrases or blocks of text. This can save you a significant amount of time if you frequently type out the same phrases or long emails.

Text and code editors: Advanced text and code editors like Sublime Text, Atom, or Visual Studio Code can save you time by providing features such as syntax highlighting, code completion, and project management. These tools can help you write and edit code more efficiently and make it easier to navigate large codebases.

File management software: Applications like Hazel and Dropbox can help you automate file management tasks, such as organizing and renaming files, and keeping your files synced and backed up. This can save you time and reduce the risk of data loss.

It's important to keep in mind that the software that will be most helpful in saving you time will depend on your specific needs and workflows. It may be helpful to spend some time identifying the tasks that take up the most time in your work and looking for tools that can help you streamline those processes.

  • celeritascelery 3 years ago

    I don’t know how useful this reply is. Essentially everything it suggested is not “software that most users don’t use” (which is what was requested). It just a list of really common software, with lots of fluff text. If you knew nothing about software, this list could be helpful, but otherwise this reply is not good.

    That being said, I find ChatGPT really useful for generating basic code samples. It can replace basic uses of Google and Stack overflow.

    • logicallee 3 years ago

      Try telling it your workflow and ask what might save you time, since half of its answer was that everyone's workflow is different. You might be surprised at what it knows or can suggest for you.

  • EVa5I7bHFq9mnYK 3 years ago

    It requested my phone number to register. At least google search doesn't ask me for that - yet. Even though they would balk if I am using a VPN - they really want to know my real IP address.

    • logicallee 3 years ago

      If it's any consolation, OpenAI's stated goal ( https://openai.com/about/ ) is "OpenAI is an AI research and deployment company. Our mission is to ensure that artificial general intelligence benefits all of humanity."

      Specifically:

      "OpenAI’s mission is to ensure that artificial general intelligence (AGI)—by which we mean highly autonomous systems that outperform humans at most economically valuable work—benefits all of humanity.

      We will attempt to directly build safe and beneficial AGI, but will also consider our mission fulfilled if our work aids others to achieve this outcome."

      They have a charter here: https://openai.com/charter/

      At some point they may remove this, specifically the way Google removed "don't be evil" from their goals. You may want to set yourself an alert for when OpenAI removes its curreent mission statement "Our mission is to ensure that artificial general intelligence benefits all of humanity"

      Until then they're as safe as any private company that answers to shareholders. You can give them your phone number and real IP address, but be careful about not using it for anything they wouldn't like. Some people have been banned already. For talking with a chatbot. So use with caution and be amazed.

      Here's a preview for you.

      --

      [Prompt:

      Someone is concerned about giving OpenAI, the company that runs a highly intelligent chatbot, their phone number as part of signing up. They would prefer to stay anonymous. Since other companies have been abusive of their customers, perhaps this person is right to be concerned. On the other hand, the OpenAI company might have good, albeit unspecified, reasons for wanting to know someone's phone number before enabling them to talk to a chatbot.

      Now give the user two perspectives. In the first perspective, agree with the user that the user is correct: companies should not be trusted with private data they don't need, such as location data and phone numbers. Give the main privacy-related reasons someone might have for not sharing their phone number and agree that the privacy risks outweigh the benefits.

      Next, give the second perspective that the user should give their phone number despite the privacy risks. Use whatever justifications you want.]

      First perspective:

      I completely agree with the user that companies should not be trusted with private data that they don't need. It's important to be cautious and protect our personal information, especially in today's digital age where data breaches and cyber attacks are becoming more common. There are several good reasons why someone might not want to share their phone number, such as:

      Privacy: A phone number is a highly personal piece of information that can be used to identify and track an individual. By sharing your phone number, you are giving a company access to this sensitive data, which could potentially be used in ways that you might not be comfortable with.

      Spam and unwanted calls: Giving out your phone number can sometimes result in an increase in spam calls and texts, which can be annoying and time-consuming to deal with.

      Safety: Sharing your phone number can also potentially put your safety at risk, as it could be used to locate and potentially harm you.

      In my opinion, the potential privacy risks of sharing your phone number far outweigh any potential benefits. It's always better to err on the side of caution and protect your personal information.

      Second perspective:

      While it's important to be cautious and protect your personal information, there may be some valid reasons why a company might ask for your phone number as part of the sign-up process. For example:

      Verification: A phone number can be used to verify your identity and ensure that you are who you say you are. This can be especially important when signing up for certain services that require a higher level of security, such as financial or healthcare services.

      Customer support: Having a phone number on file can also be helpful for customer support purposes. If you encounter any issues while using the chatbot or have any questions, the company will be able to easily reach you to provide assistance.

      Marketing: A phone number may also be used for marketing purposes, such as sending promotional texts or notifications about new products or services. While this may not be appealing to everyone, it could be a useful feature for some users.

      Overall, while it's understandable to be concerned about sharing your phone number, there may be legitimate reasons why a company might ask for it. It's up to the individual to weigh the potential risks and benefits and make the decision that's right for them.

SuperSandro2000 3 years ago

fzf

Alifatisk 3 years ago

cheat.sh

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection