One thing I noticed: FPP gets confused by filenames with multiple dots. If a file is named for example "dev_backup.ldif.gz", FPP thinks that "ldif.gz" is the entire file name.
For instance, we currently match on "add/remove" output from git status which is less than fortunate. For performance reasons we don't actually go check if each of those files exists (since sometimes you want to pipe hundreds of results into fpp [EDIT: and are using an expandrive or network mount])
[pierce@plo-pro team15]$ time (find . -print0 | xargs -0 stat -f '%N' | wc -l)
4901
real 0m0.079s
user 0m0.043s
sys 0m0.060sYou could also check in the background and update the display if the heuristic turned out wrong.
subl `ag -l Foo`
https://gist.github.com/aristus/2304335
One of the most useful features is range selection syntax, eg, run git rm on items 4-16.
Maybe we'll integrate some kind of line-number-selection-mode one day!
What did the more experienced engineers do differently?
I've been using Pick by Thoughtbot [1] for the same purpose, but if I understand correctly fpp will automatically extract file paths from any command without me needing to chain in awk/grep ?
I am still thinking about different selection modes and how the UI would work. Usually I see a need to either copy several full lines, or columns from a table like structure (rectangle selection) or from a regex.
Looks good so far!
Thanks for establishing something that embraces this.
I struggle to do everything with Powershell, but almost everything I do has a mouse input. I use a gaming mouse for system administration - a Razer Naga Epic with the 12 thumb buttons.
They're a 3x4 array; I bind them to:
Row One
1. F5
2. Up arrow
3. F2
Row Two
4. Left arrow
5. Down arrow
6. Right arrow
Row Three
7. Tab
8. Delete
9. Backspace
Row Four
10. Enter
11. Spacebar
12. ESC
I can do the work of 2-3 admins, and I'm faster than poorly-written scripts.Want to control you audio from Powershell? There's a cmdlet[1] for that. But it only works on Powershell 4.0 and higher. And PS 4.0 is only available on Win7, (not Win8) Win8.1, and Server 2008-2012.
So on my gaming PC, where I thought putting Win8 Enterprise from my MSDN would be a good idea, I can only change the volume via mouse, or keyboard volume buttons.
[1] https://github.com/cdhunt/WindowsAudioDevice-Powershell-Cmdl...
Everything works fine so it's not a very high priority - I'd rather be Minecrafting - either playing the game or adding to the server.
ossreality 6 minutes ago [dead]
lol, what are you talking about, this isn't mouse-enabled?
It's also just weird and interesting to program something to move through a GUI as fast as is possible
Yeah, getting the scripts to run and be robust is definitely an art sort of thing, but I've used it to create what amounts to a CLI's for legacy apps that you could only interface with through GUI's.
It's also fun to run across stuff like "Oh, the developer of this platform wasn't expecting me to be able to respond to a window within 20ms of it popping up on the screen."
Be interested to see what you think, if you have time to leave a comment
I wish that you weren't even slightly ashamed. Anything can turn into a senseless religion, also supposed productivity.
Facebook has a large codebase, so naturally we have a lot of long filenames and paths. It's a pain to type these out by hand, so I'd see a lot of (new) engineers select the text with their mouse before pasting it into the command line.
This is pretty inefficient and I knew there had to be a better way, so a few of us started hacking on a set of python regexes and a curses UI. Before long we had a pretty simple / easy command line utility that sped up everyones' day.
After a while we realized this would probably be helpful to all, so we open sourced it today!