Search this blog

11 April, 2011

Tools that I use

Update: I've dropped the "2011" from the title, as I've kept this list more or less up-to-date every time I change a computer.

Other than what's required - usually Visual Studio, Photoshop, Office/Outlook, 3dsMax/Maya/Modo/... and Perforce (sadly nowadays often git), these are the tools that I always have installed on my development computer.
  • In strikethrough are tools that I used to install / might still be useful, but don't really rely upon anymore (these might go away as I update the list)
  • I don't use OSX for development much - I included a few OSX tools but you won't find as much programming stuff - will be marked in maroon.
  • MUST-HAVE! are tools I always install
Install management

A good way of installing software in bulk is to use Ninite. 
On OSX: ZeroInstall is an alternative - and I always add homebrew/Cakebrew as package managers, which I use for command-line tools.

The opposite, uninstall, is also best served by some bulk/batch tools, I did have success with Absolute Uninstaller and BCU, but I'm sure there are many alternatives.

Lastly, to keep things up to date... there are many tools for drivers and app updates, CCleaner has an app version checker built-in, SUMo/DUMo are nice, but the best free driver updater I've found is "driver booster for steam" that you can download... from Steam, run once, and uninstall :)

File tools
  • MUST-HAVE! Everything is by far the tool I use the most. It's life-changing. After installing it I also I limit windows search indexing options only to the start menu and email, as the latter is required by Outlook). Agent Ransack is nice too.
  • Nowadays I'm working more across workstations it's handy to have a faster file copier over the network, I use FastCopy (see http://www.raymond.cc/blog/12-file-copy-software-tested-for-fastest-transfer-speed/) so I can sync Perforce depots (and then use p4 flush) on both machines without going through the p4 server (also, if you have HDD space, use a local p4 proxy, it's nifty!). TeraCopy is similar and has a Mac version too.
  • WizDir or WinDirStat or similar, but as I don't really need it often, I just get the portable version as needed (OSX: Grand Perspective).
  • MUST-HAVE 7-Zip (OSX: Keka or The Unarchiver). I found that WinRAR can still be very useful if you need to handle symlinks / hardlinks - and if you want to add redundancy (recovery bytes). Most other compressors don't!
  • TestDisk and Recuva for file recovery are absolutely MUST-HAVE but I don't have them always installed, I typically carry testdisk on an usb key.
  • If you're tight on space (or cloud space) - FileOptimizer is nifty, albeit the author's webpage is... bad, and I would not 100% trust the results (backup!). I list some near duplicate image finders in the graphics section below. And Compactor helps with windows file compression.
  • BareTail seems nice.
Coding
  • Visual Studio plugins/extensions
  • Text editors
    • The following two where my previous "must have" choices, but VScode (below) is so good nowadays that I don't need other things (while I do need VS code for python, javascript etc...)
    • Markdown editors (I used to like... but really markdown does nothing for me that plain .txt does not, so that exploration ended...)
      • I still write a lot of plain .txt files, and using markdown gets you some formatting for free. Typora is my choice (available on OSX too).
      • MarkDeep is nice, Marp can be cute as well (for presentations, there are many other similar ones).
    • LaTeX for publications
      • I use TexStudio and BasicTeX (a smaller version of MacTeX) on OSX (then manually add packages I need via the command line package manager).
    • Sometimes you need a hex editor (e.g. to open huge files)
  • IDEs / environments.
    • MUST-HAVE Visual Studio Code is great nowadays (also on OSX)
    • Python
      • MUST-HAVE  Anaconda is my favorite scientific python distribution (I use it on OSX too)
      • Python tools for Visual StudioPyCharm (OSX too)
      • I like interactive environments like Spyder and IPython/Jupyter, which are included in many "scientific" python distributions.
    • For most other things (and for OSX...), JetBrains has an IDE.
  • Everybody in (AAA) videogames is on P4, but the outside world likes GIT too.
    • Fork is my current poison - but I still hate git. Also works on OSX
    • SourceTree is a good alternative, also works on OSX
  • Other development tools:
Graphics and Rendering
  • MUST-HAVE IrfanView is my image viewer. 
    • OSX Alternative: Xee - but this is getting old, I'll try Nomacs next!
  • Picturenaut, HDRShop and PTGui for HDR images.
    • VisiPics is the best near-duplicate image finder I've found so far.
    • Czkwaka seems a good alternative too, and much more modern (albeit with a messy UI)...
  • MUST-HAVE RenderDoc is great, a must! ApiTrace is promising, 
  • MUST-HAVE VideoLan (OSX too)
    • Also for screen captures! I just use the desktop capture device and encode a mp4. On OSX, the built-in Quicktime allows do to screen recording.
    • Giffing and ScreenToGif are great for desktop capture too (using webM encoding) Giphy capture works wonders as well (and it's on OSX too) - not needed anymore as Win11 capture tool can do movie recording now (and OSX quicktime does as well)
  • Prototyping
    • MUST-HAVE Processing (also on OSX).
    • MUST-HAVE C-Toy (also on OSX)
      • Quite nifty! Tiny-C-Compiler integrated with some graphic drawing functions and wrapped with a file-monitor so your project live updates. Very useful to quickly test C algorithms!
    • SharpDX
    • MUST-HAVE Unity3D is great for prototypes!
      • KodeLife for shader experiments. (also on OSX)
  • Other stuff
    • MeshLab for 3d stuff.
    • Marmoset Toolbag and cmftStudio which is somewhat similar, but opensource.
    • I hate Gimp but I do use sometimes the portable version if I don't have Photoshop on a given machine.
    • MUST-HAVE Blender is great now!
Desktop
  • AutoIt is NIFTY! 
    • I use it to craft quick GUIs around command-line tools or to automate GUI tools... It's really nice when you have to do a given thing over and over, and its basic-inspired language makes me nostalgic too. Also, is "portable", which I always prefer. AutoHotKey uses AutoIt scripting, but I didn't use it yet.
  • MUST-HAVE OSX I use Alfred
  • MUST-HAVE Acrobat Reader or better SumatraPDF or MuPDF (also reads EPUB and other formats) that does not annoy the user with endless updates. But usually I get acrobat pre-installed on work computers at which point I don't bother with alternatives.
  • ProcrastiTracker... Also for "productivity" I like sometimes to use the "pomodoro technique", I have a kitchen timer on my work desk that seems to work best (I like it being physical and ringing), but ChronoSlider on OSX doesn't seem to suck as well (you'd be surprised how bloated or bad most timer apps are...)
  • System tools
    • Unlocker (for some reason, I did not have the need for this one in a long time - used to be a must have)
    • Sysinternals tools (ProcMon, FileMon, VMMap, RamMap...)
    • MUST-HAVE CCleaner (now also on OSX)
    • Process Hacker
    • RapidEE (environment variable checker/editor), also portable.
    • NirSoft tools
    • ShutUp10 - BloatyNosy is important as Win11 is really starting to pack A LOT of malware. Edge is a cesspool too - I still use it, but one needs to disable a ton of crap!
  • All of these are deprecated now mostly because I can't dual boot Arm Macs into Windows...
    • MUST-HAVE SharpKeys if I need to remap some of my keyboard keys
    • Some keyboards emit "weird" scancodes (e.g. my wired Apple Italian keyboard) the only program which I've found to be flexible enough to recognize them is KeyTweak.
    Speaking of using Apple hardware, if you have a laptop and you like your natural scrolling direction on the touchpad,
    Speaking of using Apple hardware, if you have a laptop and you like your natural scrolling direction on the touchpad, WizMouse can enable that.
      • By the way, Win 8.1/bootcamp on my MBPr2013 does dragging horribly, but it seems better if you enable the (unrelated!) "tap to click" and "dragging" options in bootcamp. 
      • Trackpad++ is also related but I haven't tried it yet - same people do a number of bootcamp-related apps http://www.forbootcamp.org/
  • MUST-HAVE On OSX when using the external mouse you might want to not use natural scrolling, while keeping it enabled for the trackpad. Scroll Reverser does that!
    • MUST-HAVE This website -might- have more up-to-date AMD GPU drivers for Bootcamp https://www.bootcampdrivers.com/ (but check also the official AMD bootcamp page)
  • Other OSX MUST-HAVE is gSwitch to force integrated GPU only (or discrete only). Not relevant anymore for M1 et al Macs...
  • MUST-HAVE when I have multiple machines: Synergy for keyboard/mouse sharing across computers.
  • Command-line / Terminal
    • I love Cathode (unfortunately abandoned) on OSX. Also on OSX: CoolRetroTerm, which is opensource, but it's not quite as great.  Nowadays, I use Alacritty
    • I'm not really a command-line ninja, but I've started adopting it a bit more. I usually install tmux, nnn, tldr, a recent version of nano.
  • Window management various
    • 1Up industries stuff is really good: FencesBins (7Stacks is somewhat similar, and free, emulates OSX stacks).
    • SysTools Desktops is a tiny free utility for virtual desktops
    • My own bugfixed version of AnAppADay Jedi Concentrate (a Windows clone of the OSX Think IsolatorSpirited Away is a nice complement to these too, there are clones as well). WindowFX 4 does the same too (and much more)
    • On OSX some people/setups seem to need SmoothMouse to avoid mouse lag
    • There are a lot of other tools that look nifty but I didn't end up using them often... Displayfusion looks neat but I didn't try it yet, the most interesting feature for me is placing a second taskbar with only the applications used on the second monitor there, MultiMon does it for free. A tiling window manager is good if you have a lot of screen space, like WinSplit (OSX alternative: SizeUP)
  • MUST-HAVE OSX: not a tool, but important, kill the lag in the dock autohide: defaults write com.apple.Dock autohide-delay -float 0
Virtualization
  • It's nifty to be able to run VMs, I typically do that both to isolate my personal stuff on work computers, to quickly run experiments, to try things that are available only on other OS, and if I need windows on mac...
  • VirtualBox can be useful and it's free, even if I usually prefer VmWare (sometimes I use the Player with pre-made OS images).
  • HyperV, included with Windows, can be great too, it's not a bad idea to keep your different work environments in different VMs / drives nowadays, as drive space is not a big deal. 
  • MUST-HAVE On OSX, Parallels is really good! Can run Windows 11 ARM in a VM on M1 macs, with really good performance. Windows 11 can, in turn, run x64 apps (ala Rosetta for mac). Magic!
    • UTM is decent (qemu based) but not as well optimized
  • I sometimes used Docker when I needed some python library is available on Linux only or that is complicated to configure (e.g. happens for deep neural network stuff...).
Internet & Remoting
  • MUST-HAVE Chrome (w/a session manager to not swear if things crash, a tab auto-suspender, and I also disable flash/other plugins auto-start and use the morphine extension at work)
  • MUST-HAVE No longer using Chrome! I really don't love Google's dominion these days, and the fact that Chrome forces to associate the session with a profile is really inconvenient for me. Nowadays, I tend to use the native browser (Edge on windows, Safari on OSX) for "casual" browsing, where especially on OSX I hope/think Safari will do a better job at preserving battery, and for work I use Firefox with tab session manager, which allows me to sync tabs across computers/browsers.
  • MUST-HAVE DropBox (even if I'm thinking to migrate out of it)
  • Google Calendar Sync, if the company doesn't have decent intranet VPN access
  • MUST-HAVE Zoom is GREAT! Works seamlessly, it's really an amazingly made app.
  • MUST-HAVE Parsec is GREAT! The best remote desktop app ever!
    • Note, on one router I found that I had to manually force a port in Parsec and then open that port to allow the connection. YMMV.
    • For home at least I use a free TeamViewer account (join.me is nifty), which I find many times easier/better than setting up UltraVNC. Splashtop looks promising.
Math
  • I still use the PowerToy Calculator (patched to install on Win7/Vista)
  • MUST-HAVE Mathematica (OSX too) if the studio has a license for it (or I make them buy one!)
  • GeoGabra can be useful when tinkering with geometrical constructions, it's quite powerful (currently the beta of v5 supports 3d too, and it's available "portable" as well) but slightly more focused on contraints than I'd like (I'd love something very interactive with optional constrained stuff, like a parametric CAD)
    • Some people swear by TikZ (examples), looks extremely cool but it's not interactive...
    • On the simpler side, and 2d only, DrGeo (portable as well) is great to tinker
  • SciLab which I prefer over Octave (that is though more compatible w/MatLab), but nowadays I don't really care about MatLab-like environments, I prefer either Mathematica or SciPy (Anaconda)

7 comments:

numb3r23 said...

Thanks for the links - esp. to processing. I should have found that years ago:D

nova77 said...

Wow, this is really close to the settings that I had a while ago (before migrating to osx for work), with the exception of visual assist which I found to be a real life saver once properly configured.

Anonymous said...

use linux and shit like unlocker you will not need.

DEADC0DE said...

Anon: Agreed, in Linux I won't need unlocker.

I would just need a replacement for visual studio, photoshop, 3dsmax, directX, the console SDKs and everything needed to make videogames...

So basically I would have no job, but yes, I would need no unlocker.

Thanks for the tip!

Anonymous said...

Don't forget Rapid Environment Editor for inspecting those pesky env vars:

http://www.rapidee.com/en/about

Ruben said...

I am missing Ditto on the list. Copy/paste history, a must-have and game-changer for me.

Ruben said...

Try out Ditto, a copy-paste history app. Gamechanger.