Readit News logoReadit News
Posted by u/zJayv 3 years ago
Ask HN: Programs that saved you 100 hours? (2022 edition)
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.

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

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.

Deleted Comment

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

selcuka · 3 years ago
I believe they are currently working with the Docker team on a solution:

https://github.com/docker/dev-environments/issues/70

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?
analog31 · 3 years ago
I'm not the above, but also love LSP... for Python.
akira2501 · 3 years ago
Go, Javascript, HTML and CSS.
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.

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
raffraffraff · 3 years ago
Can you elaborate with a fake example?
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.
hermitcrab · 3 years ago
Excel, the second best program for any task. ;0)
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 :-|

zemoose · 3 years ago
Dear god, I would use Excel so much more if I could get it to stop mutating my data.
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 ;)
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
jodrellblank · 3 years ago
> "No IDE with regex capabilities available."

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

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.
oska · 3 years ago
I didn't know who you were referring to, so looked it up and learnt a little about Ray Dassen [1]. It's nice seeing ppl memorialise a person as you have done here.

[1] http://www.gnumeric.org/announcements/1.12/gnumeric-1.12.3.h...

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

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!

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

Deleted Comment

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
gadders · 3 years ago
I use Launchy which I really like.
aagha · 3 years ago
Loved Wox. Try Fluentsearch.
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.

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.