17 ms·
Programs that have saved me 100+ hours
- tombert 10y agoMan, I'm pretty convinced that Vim macros have single-handedly saved me years of my life. They're so incredibly useful that it's made Vim one of the first things that I install on any machine.
- cpach 10y agoOut of curiosity, what kind of macros do you run in vim?
- tombert 10y agoA very common thing that happens to me is that I have to take big blocks of JSON, and map all the keys and values into something else, like HTML or CSV. Without macros, this traditionally involves a lot of copy-paste-change-stuff repetition. With a Vim macro, I can happily just do this once, assign it to a register, and repeat as needed, and even store it for later reuse if I want. There are also, littler things, like jumping between HTML tags, or bulk-indents. What makes Vim's macros better (in my opinion) that other editor's macros is that fact that they're simply stored in copy-paste registers, meaning that you can have many of them, store in a different file, copy them off the internet, or compose them together.
- devopsproject 10y agoNot op but here they are really handy for creating and formatting repetitive code blocks. I find it particular useful when making testing\throwaway code. For example, I may be testing a function and wanting to test a few scenarios on many IDs. So I will create a csv list of numbers and then use a macro to format it your csv string will be like this (normally much longer) 134,234,367,4345 Then record the macro: - type "myFunction(" - type ctrl + right arrow (this moves the cursor to after the comma) - type backspace - type ");" - type enter key then run stop recording and run the macro. It will produce: myFunction(134); myFunction(234); myFunction(367); myFunction(4345); Which doesn't seem like a big time saver over regular copy and pasting. And you could have iterated over the csv string with a for loop. This is probably a really contrived and basic example but you find yourself thinking about using a macro anytime you have to do the same keystrokes over and over.
- tspike 10y agoIt's ancient now, but I put together a video 4 years ago demonstrating a simple macro task: https://www.youtube.com/watch?v=eWfBWg8bVTQ https://www.youtube.com/watch?v=eWfBWg8bVTQ
- dasil003 10y agoMy favorite use of macros is as a sort of progressive global search and replace on steroids. I have @q bound to Space, so I can record a macro with qq, then hit space to repeat. Since the macro is just a list of commands in a register I can copy it out and edit it to tweak it, once I'm happy with it over a few lines I can make it recursive by adding @q to the end of it. Compared to regex search and replace this is much more malleable, interactive, and ultimately powerful.
- fiddlerwoaroof 10y agoIt's worth remembering that . (i.e. dot) repeats the last edit command. vim-repeat ( https://github.com/tpope/vim-repeat https://github.com/tpope/vim-repeat ) makes this even better. Although, there are still several situations where macros are better, especially things that involve several motions and edits. (I tend to use qw because w is more convenient to hit after @). Also, it's occasionally useful to remember that you can use the double quote character " to paste a macro, edit it and then update it. i.e. ( "ep .... edit ... ^"ed$ )
- fiddlerwoaroof 10y agoAlso, vim-surround is one of those things that, once you've used it for a while, it's impossible to think of editing text without it: https://github.com/tpope/vim-surround https://github.com/tpope/vim-surround
- dasil003 10y agoAny vim user can profit from visiting https://github.com/tpope?q=vim&tab=repositories https://github.com/tpope?q=vim&tab=repositories and trying any one that looks vaguely interesting.
- mkingston 10y agoSomewhere between the default and your binding: @@ repeats the last macro. So you can record your macro, go to your search text, @q, n, then for all subsequent matches @@.
- ThrustVectoring 10y agoI had a recent refactor which was basically "take a 5-argument function call split over many lines and replace it with a different 1-argument call". I made a macro that found the code block I wanted, edited it to the desired syntax, saved the file, and opened the next file in the list I had opened. I opened vim for this occasion with `vim $(ag -l STRING_IN_REFACTORED_CODE)`, which used search results as a list of files to open with vim. The most fun vim macro I've made solved a "solve this puzzle before we want to interview you" question. The problem was a URL to request that gave you a response to parse into the next URL, chained about 100 times. The vim macro took the URL in the current line, shelled out to make a network request for the result of `curl` with that line as an argument, and edited the result into the next URL to fetch.
- asymmetric 10y agoWas the puzzle for Rainforest?
- flukus 10y agoA common one is "here's an excel file, can you put these entries in the database". With macros it's easy to do a really complex transform of a line and then repeat it for every line.
- 2muchcoffeeman 10y agoOr the reverse, someone wants a report from some database in some specific format for whatever reason. It's often easier to do a simply query and vim the output rather than use the string functions of the DB.
- mbrock 10y agoSame with Emacs keyboard macros. I use them very often to do similar things to many lines. Usually they involve some combination of search to move the cursor, word-based movement, cut and paste, and insertion. It's such a great feeling to define a one off macro in a few seconds and then rip through a whole file!
- philsnow 10y agoIf you use emacs keyboard macros regularly and find yourself ever re-recording them because you messed them up just a little bit, try out `C-x C-k C-e` (kmacro-edit-macro) sometime. It's life-changing.
- vdnkh 10y agoAm I missing out by not learning Vim? I know enough to get by for git purposes (renaming all picks to s is amazing), but I feel like I'm really productive with Webstorm. There's a ton of great shortcuts and great features (multi-cursoring, intelligent refactoring, customizable search directories, integrated terminal, etc.) that I feel outplay anything I could do with Vim.
- joshlemer 10y agoWebstorm (and all IDEA-family IDEs, as well as most IDEs in general) has a fantastic Vim plugin that allows you to use vim bindings within the text-editor of the IDE. That's what I use and it saves me so much pain. https://plugins.jetbrains.com/plugin/164-ideavim https://plugins.jetbrains.com/plugin/164-ideavim
- mod 10y agoFWIW as a 'real vim' user I typically find these plugins severely lacking. For instance, I've recently tried the ones in Atom and VSCode and they were both incompatible with my normal workflow. In one of them you couldn't save files with :q, for instance. They're works in progress, likely--and I'm still grateful to the teams who work on them. They just weren't enough for me.
- 2muchcoffeeman 10y agoThe Jetbrains plugin is really good. So far I've found that it covers everything I use. Saving is not an issue with Idea since it autosaves and keeps a local history of your changes as you work.
- kilroy123 10y agoMacros can be really powerful. Takes a while to set it up, but well worth.
- tomsthumb 10y agoMy last macro took about 12 seconds. Really complicated ones can take a while if you have very conceptually-heterogenous text structures, but it's literally "start macro + do stuff + finsh macro" -> use macro.
- keithnz 10y agoyes, you are missing out, but not because you HAVE to use Vim, but just because Vims approach is quite different it's worth learning so your mind at leat knows about this whole other approach to editing. I find Vim plugins in most editors are quite good, a true vimer probably doesn't like them as much because they are a blend (but then, they may as well just use Vim itsefl), and for jetbrains stuff, it blends the awesome of vim with the awesome of jetbrains code manipulations.
- mooreds 10y ago* 'set -o vi' in bash lets me search my command history with the same keys as moving around vi * git + sql scripts * simplenote (notes across devices) Semi-automation of pieces of my job captured in these notes. * zapier if I'm trying to connect two web apis.
- vram22 10y agoIn bash: $_ in a command gets substituted by the last argument of the last command you typed - happens to be useful surprisingly often. Simple example: copy a file to some other directory, then cd or pushd to that directory: $ cp some_file /long/path/to/directory # cd $_ But there are many other cases where I regularly find it useful. _ also evaluates to result of the last expression in the Python interactive shell, and probably in IPython (command-line version) as well - need to confirm it about IPython. Edited for formatting of commands above.
- tyrylu 10y agoNot the original poster, but the _ trick works in ipython as well.
- vram22 10y agoCool, thanks for confirming.
- ryandrake 10y agoAnother useful bash thing: !! (which substitutes the last command you entered) cat /really/long/path/to/something/only/readable/by/root cat: Permission denied (goddamnit) sudo !!
- vram22 10y agoYes, that's a good one :) There are zillions more such that can be done in Unix, of course, if one puts one's mind to it and experiments, even without spending a lot of time. Another simple one I use some is to define some environment variables to the value of long directory names to which I need to go often as part of some project. Then I can just do: cd $short_name_for_that_dir A shell alias can also be used instead.
- rc_bhg 10y agoWriting bash scripts and backing them up to github saves me tons of time.
- ryanmaynard 10y agoSimilarly, adding a setup.sh for clean installs doesn't hurt.
- chatmasta 10y agoI make a habit of writing any sequence of two or more commands as a shell file, no matter how simple. This way if I need to reference it later I don't need to grep through my history on every box.
- yjftsjthsd-h 10y agoIn the opposite vein, it can be helpful to stick something like ` #useful` or ` # description ` on the end of a command you expect to need again, so you can easily grab from history with C-r
- vram22 10y agoExcellent idea, going to use it :) For benefit of others - this approach would work with the 'set -o vi' option too (discussed by me and others elsewhere in this thread) - just that you would have to type a / (slash) to search instead of C-r (Ctrl-r), because the mode is vi, not emacs. And since you start (obviously) at the bottom of the history (i.e. latest command first), the usual sense of the vi / command (which means search forward or down in the edited file) is reversed here to mean search backward in the history of commands. And ? is the opposite of / . N and n work, too, to repeat the previous search command in the opposite / same direction.
- reddit_clone 10y agoYep. Super useful. I figured it out only recently! I ssh into many servers with IP addresses and weird hostnames. Now I add #server-description at the end of the command and I can get back to it instantly.
- asymmetric 10y agoDoes anyone know if something like Hazel exists for Linux? I know I could basically write scripts and start them with SystemD timers/cron but.. not sure it'd be worth the effort doing it all myself.
- dflock 10y agoMaybe this: https://github.com/benjaminoakes/maid https://github.com/benjaminoakes/maid
- zafiro17 10y agoI came here expecting someone to recommend 'make' - and some others to link to interesting make resources. I'm kind of surprised no one has. Make is a utility that's seemed super useful to put into use for non-programming tasks. In my case: take a LaTeX file, create a PDF from it, run tex2html on it and ftp the results up to some web server, run pandoc on it to create a dated epub, etc. But my initial forays into learning make were frustrating and I gave up. Is anyone using make to automate workflow processes, or is that wishful thinking?
- kazinator 10y agoThe thing about make is that it's a tool for reducing how much computation has to take place when an incremental rebuild takes place. This is done at the cost of great obfuscation of the build process. If you can suffer the cost of a full rebuild each time you change something, it is far clearer to have a linear script which executes certain steps one by one. Such a script can be sped up for incremental builds with some judicious checks like "run this command which makes A out of B, only if A doesn't exist or is older than B". (P.S. I don't want to overlook make's ability to parallelize builds on multiple cores. That can just be scripted too, with utilities like GNU Parallel.)
- flukus 10y agoMake doesn't really force an incremental build. It's also quite trivial to have a semi-incremental build, where the build unit is libraries not object files. I'm yet to see a tool that doesn't become just as obfuscated for complex builds though, you're script for instance (bash? python?), is probably just as illegible to someone new to it.
- kazinator 10y agoMake doesn't force an incremental rebuild, but that is what it is for. It lets us write a set of rules, which are evaluated as one big whole to determine the minimal set of actions that has to be taken to bring every implicated target up to date. That is pretty much the definition of "incremental rebuild". If a program is made of libraries, such that when we change a single source file, the entire library which contains the .o has to be re-archived, and then the entire program made up of all those libraries has to be re-linked, that is still an "incremental build". You might possibly be mixing up "incremental link" (optimized way to just update a function or object file in a previously linked program image) with "incremental build" (compiling only parts of a program in response to a small change).
- kazinator 10y agoTXR! http://www.nongnu.org/txr http://www.nongnu.org/txr
- kilroy123 10y agoAre there other sites with these kind of automating tips and tricks? I would love to automate more in my life.
- dshacker 10y agoI don't know, it took me a while to find all of these. If you have android, i'd recommend tasker, or automator for mac. Both can automate pretty simple tasks.
- dshacker 10y agoBtw, in the comment section of the post, people are posting really good tools to automate things. :)
- vram22 10y agoLifehacker runs such articles somewhat regularly, I think. I don't read that site often, mostly when I come across such a tool published on it, that I get to hear about on some other site. But I've found some of the posts there to be good. Interestingly, IIRC, Gina Trapani, who I think was/is an editor or writer there, had herself written a utility for to-do lists called todo.txt or some such name. It was supposed to be lightweight and only need and use text files, so could be used almost anywhere.
- AdmiralAsshat 10y agoI'd have to throw most of the standard UNIX utils in there: grep, awk, cut, sed, sort, uniq, and of course, vim. Outside of the tech world, people seem to think that grabbing some columns out of a file and rearranging them or pasting them somewhere else is some kind of sorcery.
- peterwwillis 10y agoAnd in the tech world. I had a sweng government contractor making six figures ask me how to sort lines in a text file.
- Jtsummers 10y agoThree of my forty coworkers actually understand the command-line on a level nearly on par with me, and I'm not an expert (locally, yes; globally, hardly). It's been frustrating me since my first real job in industry and others in government. I think I got spoiled in college by being surrounded by (mostly) curious tinkerers who had no problem delving into the multitude of tools that were available and exploring them. Post-school, people seem to lose that curiosity, if they ever possessed it, as a group.
- no_wave 10y agoMaybe you're just a better person than them.
- Jtsummers 10y agoPossibly, but doubtful. I suppose really it's the unwillingness to learn (by otherwise educated and intelligent people, so they have or at least had the capacity for learning at one point). This is just a glaring example in the programming field. We literally program computers to do whatever we want (modulo performance or physical limitations), why would our tools be any different?
- egypturnash 10y agoI've been in job situations where just picking up a handful of hotkeys for a program is seen as Deep Wizardry. Most people just never learn how to do things like that.
- Kenji 10y agoWhoa, when I click on this link, it automatically closes the tab it resides in! At first I thought this was an elaborate meta joke since not reading articles would save me thousands of hours, but I think it is a bug. I am using the latest google chrome with a very restrictive uMatrix that blocks pretty much all cross-site requests that are not images, and Ad-Block.
- dshacker 10y agoWeird, I'm using posthaven.com it is pretty useful as a blogging tool. Check if you can open it :)
- galfarragem 10y agoThis freeware (for personal use) saved me dozens of hours renaming files: http://www.bulkrenameutility.co.uk/Screenshots.php http://www.bulkrenameutility.co.uk/Screenshots.php
- mxuribe 10y agoI've used this before too, long ago; and it saved me a boat load of time!
- jaskerr 10y agoThe OS X* equivalent is A Better Finder Rename: http://www.publicspace.net/ABetterFinderRename/ http://www.publicspace.net/ABetterFinderRename/ When installed, you can use the app or call it as a service. Not sure if it's as full-featured as Bulk Rename Utility, but it's close. [regex replace is hidden under Advanced & Special, which will tell you a bit about their target market.] * Available for OS X 10.[12]-11, and macOS 10.12
- cylinder 10y agoYou can bulk resize in Photoshop, just FYI.
- dshacker 10y agoI know, you could also create a macro to watermark every picture, or create a special export setting. But I wanted to give tips that didn't require a lot of technical expertise, so that it is available for everyone. Also, getting photobulk ($10 once) vs getting photoshop ($10 a month) is cheaper if you don't have photoshop.
- maccard 10y agoOr with ImageMagick!
- gshakir 10y agoSome top rated commands on 'commandlinefu.com' has saved many hours. The key sequence to kill a hung ssh connection has been a life saver.
- bastijn 10y agoXplorer2 (or another TC clone) allow me to filter my folders under a shortcut. I have a set of custom filters for my tasks that directly show the files I need. Combine it with the other nifty power user actions in those Explorer replacements and I easily save an couple of hours a week. The dreadful wait when you see your colleagues having 10 explorers open finding your file to have a quick peek. Additional bonus points for the custom user actions to fire up different cmd shells in ConEmu under a shortcut, open the proper editor, open in your favorite diff tool without having to select etc. Resharper (is that a tool?). No need to explain I guess. You use Visual studio, you get resharper. Can't live without it anymore. The ability to write bash/powershell/your favorite script language. Everything I do more than twice turns into a script and is added as user action in my xplorer2 under a shortcut. ShareX gif capture. My company has email attachment max sizes too small to send proper mp4 longer than 1 min. The gif capture has lower quality (sometimes Horrible) but is good enough for sharing bugs which require investigation before they can be submitted. Instead of having to type I capture the gif and send to our test engineers to turn into proper PR/ticket. Saves time writing it all out and makes me actually share random issues found during doing other stuff. P.s. Try irvanfiew on Windows beats the bulk resize thing in OP.
- tezza 10y agoautohotkey ... task specific ad hoc scripting * mouse moves * keyboard input * raising lowering windows * one keypress -> multiple effects create an edit -> launch -> debug tight loop ? no problem dismiss annoying Lotus Notes dialog warning box -> no problem enter 5000 multi tabbed entries from a CSV into a custom gui -> no problem !!
- arca_vorago 10y agoIf you like autohotkey or autoit, I highly suggest trying out sikuli sometime. I have been able to do some pretty cool things with it due to the image recognition engine.
- baseh 10y agoWhen working with Excel, there is an addon (paid) called KUTOOLS that saved me a lot of time. It has a bunch of preset operations like removing duplicates, merging multiple sheets, bulking changing rows etc. Another text editor worth mentioning is EMEDITOR that has tons of macros and handles larger files much better than Sublime
- roryisok 10y agoAutoHotKey https://www.autohotkey.com/ https://www.autohotkey.com/ Create scripts to automate all kinds of things, usually triggered by keyboard / mouse conditions. Here are a few - these are small things, but they can incrementally save hours and hours - CTRL+@ - pastes my email address at the cursor - ALT+MouseWheel - Page up / Page down - ]d - send the current date and time to the cursor - CAPSLOCK - sets transparency of window to 75 as long as caps is held down - #t - open http://e.ggtimer.com http://e.ggtimer.com It's also set up as a universal spell-correct and intellisense for SQL/ JS / PHP etc independent of IDE --- ShellJump https://github.com/kjerk/shelljump https://github.com/kjerk/shelljump Set up jump locations and shortcuts so that you can quickly move between project folders in powershell --- Renamer http://www.oldware.org/software.php?swid=74 http://www.oldware.org/software.php?swid=74 The original authors site isn't available anymore, not sure why because this was a super useful utility. Its like Ant Renamer or File Renamer or any of those, but I just prefer this one's simplicity --- Mp3Tag http://www.mp3tag.de/en/ http://www.mp3tag.de/en/ Bulk edit Id3 tags on mp3 files (if anyone has mp3s anymore) --- NimbleText http://nimbletext.com/ http://nimbletext.com/ Simple tool to repeatedly format text. Like foreach for plain text
- underwater 10y agoI love the AutoHotKey community. People have created completely crazy things (like a fully featured IDE for AutoHotKey) in something that so obviously is not suited for the task. It's great.
- vasili111 10y agoAwesome AutoHotkey list https://github.com/ahkscript/awesome-AutoHotkey https://github.com/ahkscript/awesome-AutoHotkey A curated list of awesome AutoHotkey libraries, library distributions, scripts, tools and resources.
- jewbacca 10y agoBetterTouchTool (https://www.boastr.net/ https://www.boastr.net/) is kinda like an AutoHotKey for OS X -- but on top of custom keyboard shortcuts, it also allows you to configure custom trackpad gestures. It's easily saved me 100+ hours -- a half-second at a time, 400 times a day. And probably a couple cases of RSI, a couple inches of finger contortion at a time. The economy of motion is as far beyond keyboard shortcuts as keyboard shortcuts are beyond hunting around with a mouse. It's crime more people don't use it.
- vanous 10y agoAfter spending last two days researching, followed by an hour of programming, this one can hopefully save you some time: automatize web browser tasks with imacros [1]. I use it to feed CSV data to database. I tested multiple other options like Custom Style Script [2] and others but while being ok during initial tests, for some reason nothing worked on my typo3, js based backend website. [1] https://addons.mozilla.org/en-US/firefox/addon/imacros-for-firefox/ https://addons.mozilla.org/en-US/firefox/addon/imacros-for-f... [2] https://addons.mozilla.org/nn-NO/firefox/addon/custom-style-script/ https://addons.mozilla.org/nn-NO/firefox/addon/custom-style-...
- autogol 10y agoEverything - instant search in Windows https://www.voidtools.com/ https://www.voidtools.com/
- Aldo_MX 10y agoI can't simply recommend "Everything" enough. Imagine the accuracy of `find` with the speed of `locate`. My main PC has 8Tb of storage in 4 HDDs, with "Everything" I can find any file immediately. Too bad Windows is the platform people love to mock. I hadn't been able to find a tool as efficient as Everything for Linux or OS X.
- Glyptodon 10y agoPhatch on Linux can do a lot (all?) of what PhotoBulk does. (Obv. ignoring more command line oriented tools.)
- jotux 10y agoThe macro recorder in Notepad++ has saved me tons of time processing or parsing files.
- petercooper 10y agoOver the years I've found I've saved the most time less from apps I've found but more the ability to write off-the-cuff single-use Ruby scripts. Whether scraping, renaming, fetching, etc, it can be a huge effort saver.
- bigiain 10y agoSame, except s/Ruby/Perl/ (One of the guys I work with does this with Java - which always seems an odd choice to me. The best sysadmin I've ever worked with did everything in bash, which feels odd to me for opposite reasons (ever seen anyone doing SQL database connections in shell???). But the underlying message holds: "learn and use a programming language, it pretty much doesn't matter which one, whatever you're most comfortable with - and then use it when the simple tools don't work for you...")
- petercooper 10y agoI was a Perl developer for 8 years before Ruby and I think it's where I got the habit from - it's a very 'Perl thing' to do! :-) Java does seem an odd choice. I don't disrespect Java, but for very quickly loading in data, making changes, etc, it's going to be far from a few lines I suspect..
- peteretep 10y agoI wonder if people still voluntarily move from Perl to Ruby, other than for financial reasons. I had to dive into Python and Ruby for my dissertation. I didn't like Python, but I completely understood how it would be possible to. Ruby just felt like a less predictable Perl with more immature tooling.
- krylon 10y agoI haven't used Ruby in years, but I used it a lot for toy projects at home, and I recently looked at a few of these, and I was kind of impressed - even after years, and almost without any comments, the code was still very readable and rather beautiful. Ruby can be very elegant and pleasant to use; I have never used it for web applications, though. (At work, I use Perl quite a lot, though. I recently have started trying to use Go for problems I normally use Perl for. But the jury is still out on how well that works.)
- noir_lord 10y agoIntellij with PHP and Python plugins has saved me ~200 hours in 3 years (very conservatively assuming 15m a day 5 days a week 52 weeks a year). I suspect in terms of lost time I didn't have to spend debugging and other stuff it's probably 3-4 times that minimum.
- walrus01 10y agore: entry #1, if you are at all proficient with a unix/linux/bsd command line, learn to use the command line tools for the ImageMagick library. There are a great many things you can accomplish with the "mogrify" CLI tool to batch manipulate images, and integrate it into workflow/shell scripts.
- btown 10y agoOne of the problems with ImageMagick especially, but complex CLI interfaces in general, is that the discoverability of features is limited by the separation between parameter-specification and documentation. No matter how streamlined or thorough (and there's often a tradeoff between the two!) your man page is, the documentation on a flag won't be at the same place that you type the flag, and unless you can speed-read a list of flags, you aren't hand-held towards the most common options. And if it's something you use in infrequent time-crunches (as with OP), then you won't commit the flags to muscle memory. Of course, the tradeoff is that you can't easily script this way. If the software gives you complicated pipelines and allows you to save them, though, sometimes you don't need to. I'd love to see more GUIs that, instead of (or in addition to) doing processing internally with calls to the low-level library, allowed you to copy out a command line version of the command which you could further customize for scripting. But it's rare to see that kind of feature.
- greggman 10y agoJust fyi http://www.adobe.com/devnet/photoshop/scripting.html http://www.adobe.com/devnet/photoshop/scripting.html And at least last time I used it you could record an action and convert to script.
- NaOH 10y agoOn the Mac, I think the combination of capability and customizability makes Keyboard Maestro well worth buying for any advanced user. Or, as the software overview describes it, "The only limit to Keyboard Maestro is your imagination!" And while I have no idea how the information is calculated, the About dialog says the software has saved me 6 months (~4,000 hours). It may well be more than that since I've used KM for about 10 years now and that information is a recent addition.
- mthoms 10y agoKeyboard Maestro is indeed the best tool in its class, but I think the motto should actually be: "The only limit to Keyboard Maestro is your ability to tolerate the disastrous user interface"
- NaOH 10y agoI've worked with the developer in the past on some aspects of the app, and he's responsive and open-minded. I wouldn't say the interface is disastrous—more like it's not well-suited to helping the user put its capabilities to use. Whether my assessment or yours is more accurate, the bottom line is that the interface has ample room for improvement. My problem, though, is that I've never conceived of a solution that's so much better it's worth sharing with the developer because 1) users will benefit, and 2) it's an interface that can accommodate the app's evolving capabilities through at least a few major revisions.
- agumonkey 10y agoGnu Parallel ?
- wwarner 10y agoMy current faves, far from exhaustive - tac: for very large log files - emacs: remote file editing, regex replace across matching files, macros, rectangle cut/paste, ... - xargs -P <n>: use all the cores! for fanning work out across a pool of <n> processes; web scraping, processing lots of files at once - docker: fast, precise and resusable image building
- peteretep 10y ago> What are your 100 hour time savers? `perl`
- lindgrenj6 10y agoDefinitely ack (https://beyondgrep.com/ https://beyondgrep.com/). It basically is grep but designed for source code. First off it can be downloaded as a single file (Perl script FTW!), so easy to deploy. Secondly, by default it automatically searches recursively, prints out the filename, and line numbers of matches. It also uses PCRE for its regexes which is really nice. But by far the most time saving feature I have is the type searching functionality in it! For example, one can type 'ack --java System.out' and it will search ONLY the java files! No more 'find . -name *.java -exec grep -Hni System.out {} \;'. And you can add custom types easily through your .ackrc, it is a very well put together piece of software. (PS: If you're trying it, definitely try out 'ack --bar')
- curuinor 10y agoIf you mention ack, you gotta mention silver search (ag): https://github.com/ggreer/the_silver_searcher https://github.com/ggreer/the_silver_searcher
- LaFolle 10y agoWhat is the difference between ack and ag? I use ag a lot, and it seems, on web, whenever ag is mentioned, ack is also somewhere in vicinity (or vice-versa).
- curuinor 10y agoag is faster ack is simpler and more OG
- lloeki 10y agoIf you mention the silver searcher (ag), you gotta mention the platinum searcher (pt) :) https://github.com/monochromegane/the_platinum_searcher https://github.com/monochromegane/the_platinum_searcher Since it's pure Go, there's your static binary which makes it easily deployable again.
- fanf2 10y ago
- rayalez 10y agoFor me it is i3wm - an amazing window manager. After using it for a few days you will never want to go back to using standard mac/linux wm, it is incredibly fast and convenient. Another one is, of course, Emacs. By far the most useful and brilliant tool in my toolbox.
- diminish 10y agoAfter wasting my life in IDEs like Borland , VS, Eclipse , NetBeans ( which I still consider ok ) I broke my resistance and moved to emacs, i3wm, and command line tools. I have become extremely productive last 5 years. When I see such productive articles coming I can't keep but smiling and thinking ( but you could to this or that easily using wdired or macros or...)
- LaFolle 10y agoApart from many unix utilities (grep, awk, vim) etc, tmux has definitely changed the way i work. Simple idea of session -> window -> pane takes away all the friction of switching between tabs and windows.
- abrkn 10y agoYou can store screenshots in a custom folder like this: # Store screenshots in ~/temp/screenshots mkdir -p ~/temp/screenshots defaults write com.apple.screencapture location ~/temp/screenshots
- techwizrd 10y agoFor me, it'd have to be the fish shell, fishmarks (a directory bookmarks plugin I wrote), and vim/neovim.
- asomorjai 10y agoBBEdit (barebones.com) on macOS. - Perl regexp's - Worksheets for thing you'd want to remember - Process Duplicates Lines / Process Lines Containing - Nice set of Markup tools - Diff - Support all kinds of versioning systems Araxis Merge (x-platform) for text, image, folder diffs.
- unhammer 10y agoApart from Emacs and Unix in general, lately I've come to depend on some simple readline shortcuts in bash: $ cat ~/.inputrc "\e\C-k": shell-kill-word "\e\C-a": "awk 'BEGIN{OFS=FS=\"\\t\"; } { }'\C-b\C-b\C-b" "\e\C-w": "\C-w\C-y > /tmp/temporary-inputrc && mv -f /tmp/temporary-inputrc \C-y" "\e\C-f": "find . -type f -print0|while read -rd '' f; do ; done\e-b\C-b\C-b\C-b\C-b\C-b\C-b" "\e\C-i": "\C-awhile true; do ( \C-e ); inotifywait -q -e modify -e close_write ; done\e51\C-b" "\e[A": history-search-backward "\e[B": history-search-forward "\ep": history-search-backward "\en": history-search-forward So if I've typed "make -j && grep foo|sed 's,b,x,g'|./run", and then hit ctrl+alt+i, that'll turn into while true; do ( make -j && grep foo|sed 's,b,x,g'|./run ); inotifywait -q -e modify -e close_write ; done meaning whenever I save a file in that directory, the command runs again.
- nathyong 10y agoLooks like some of your text got a little mutilated by the pseudo-markdown parser; perhaps copying that into a gist or paste would be better? I'm really curious what some of what you've copied does.
- unhammer 10y agoSorry, that was quite unreadable! My full inputrc is at https://gist.github.com/unhammer/130df5f3ebf61724d36f60c4bb19ba97 https://gist.github.com/unhammer/130df5f3ebf61724d36f60c4bb1...
- speps 10y agoGreenshot - http://getgreenshot.org/ http://getgreenshot.org/ This is THE best screenshot tool on Windows, I've installed it on every machine I use. It also has an editor where you add text, highlight, circle things, etc.
- peapicker 10y agoJust tried it. It has fired my old capture tool, thanks!
- arjie 10y agoxargs is a remarkable time saver. jq for JSON parsing and selecting at the CLI. ^X^E at the shell to edit command in $EDITOR. for loops at the shell. until at the shell. atd for "run this in two hours". IntelliJ for everything. Extract methods and interfaces auto-modifying to support close duplicates. Signature changes. That sort of thing. Rsync. Zsync allowed me to even get Linux back in the day (thank you Ubuntu).
- lukego 10y agoUnifdef http://dotat.at/prog/unifdef/ http://dotat.at/prog/unifdef/ Saved me 100+ hours _this week_ :-). Thanks, Tony Finch &co!
- dagw 10y agoFME. Simply no better tool for slicing and dicing all manner of spatial data.
- gagabity 10y agoFastStone Photo Resizer is an excellent batch image resizer/watermarker for Windows that is free http://faststone.org/FSResizerDetail.htm http://faststone.org/FSResizerDetail.htm .No affiliation.
- buserror 10y agoMostly: function ff() { find ${2:-.} -name "*$1*" ; } function gg() { grep -n $* ; } function ggr() { grep -rn --exclude-dir=.git $1 ${2:-.} ; } function ggi() { grep -in $* ; } function ggri() { grep -rin --exclude-dir=.git $* ${2:-.} ; } Oh, and that one: # display a man page as pdf window function pman() { local pdf="/tmp/pman-$RANDOM.pdf" \ (man -t $* | ps2pdf - >$pdf && mupdf -r 96 $pdf 2>/dev/null )& }
- vram22 10y agoSpeaking of man pages, this script is tiny but useful (IMO): m, a Unix shell utility to save cleaned-up man pages as text: https://jugad2.blogspot.in/2017/03/m-unix-shell-utility-to-save-cleaned-up.html https://jugad2.blogspot.in/2017/03/m-unix-shell-utility-to-s...
- Markoff 10y agohow is photobulk better than irfanview? also for renaming i find built in TCMD multi rename tool quite powerful
- roryisok 10y agoSome more I forgot about: Chocolatey http://chocolatey.org http://chocolatey.org Apt get for Windows, although I would argue its actually better because there's just one central repo, so you don't have to add some long repo before you can install Telegram ---- Postman https://www.getpostman.com/ https://www.getpostman.com/ The fastest way to test APIs - create GET and POST requests easily and view the results any way you like. Most of the tools I've mentioned in this and my other comment are listed on Scott Hansleman's "Ultimate Developer and Power Users Tool List for Windows" - (https://www.hanselman.com/blog/ScottHanselmans2014UltimateDeveloperAndPowerUsersToolListForWindows.aspx https://www.hanselman.com/blog/ScottHanselmans2014UltimateDe...) which is probably the most definitive list out there for this kind of stuff (for windows). It's not been updated since 2014, so there are a few newer alternatives - in particular Foxit reader is kind of a mess these days, there are far better alternatives. Be sure to check out the comments for lots of extra tools in the format "I can't believe you didn't mention {x}, I can't live without it"
- vram22 10y agoThanks for your shares in this thread, Postman and Hanselman's list, which I had seen a few years earlier, but not checked recently. In what way is Foxit reader a mess, and what are those alternatives?
- roryisok 10y agoIt feels bloated in size, features and UI. Uses a big ribbon UI like office used to. Too much screen taken up by toolbars, status bars etc. Most recommendations you get for PDF viewers are for Foxit, Adobe, Sumatra or. CutePDF. I don't like any of them. I found Slim PDF, which is 5mb (!) installed versus Foxit at 150mb+. There's also Microsoft Reader which is a Windows 10 app, and has a beautifully minimal UI. A good UI just stays out of the way
- vram22 10y agoJust tried out Slim PDF. Looks good, thanks. And yes, it is small and light. Like the minimalism too.
- guilhas 10y agoWindows here. * SharpKeys - swap capslock and escape. * Keepass - password manager. * AutoHotkey - a lot of stuff, ex. Escape + scroll truns volume up or dow, Alt + x closes windows * Wox - launcher with plugins * Everything - fast file search by name * Tablacus - file explorer with plugins
- peapicker 10y agoBeyond Compare https://www.scootersoftware.com/ https://www.scootersoftware.com/ Especially with integrated source control and remote sessions to manage source on multiple server types and platforms. Very customizable rules for compares and folder structure / filename case etc. I used to use Araxis Merge, but Beyond Compare, with a tiny bit of customization, is in my opinion a far superior tool.
- mmargerum 10y agoNapkin . I use it every day many times a day to make screen shots with quick annotations http://aged-and-distilled.com/ http://aged-and-distilled.com/