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 Visual Studio, Photoshop, Office/Outlook, 3dsMax (/Maya/Modo/...) and Perforce  these are the tools that I always have installed on my development computer.

I don't use OSX for development at all, but I use it almost exclusively at home for photography and general computer stuff... So I included a few OSX tools too, even if you won't find as much programming stuff.

A good way of installing software in bulk is to use Ninite, On OSX: ZeroInstall or GetMacApps are alternatives
The opposite, uninstall, is also best served by some bulk/batch tools: Absolute Uninstaller and for Windows 8+ App Uninstaller.
  • Coding
    • Visual Studio plugins
    • Text editors
      • MUST-HAVE NotePad++ for almost everything (with this HLSL syntax add-on by Pettineo). OSX Alternatives: TextWrangler, NotationalVelocity, CotEditor
      • Sublime Text and Atom are nifty but seem slower on load. Also they are "serious" text editors, like VIM and the like, to really enjoy it you have to learn it, configure it... All things I really don't care for.
      • Markdown editors - I still write a lot of plain .txt files, and using markdown gets you some formatting for free. Typora Texts is my choice (OSX too), MarkDeep is nice, Marp can be cute as well (for presentations). AsciiDoc is nice as well.
      • LaTeX for publications - I use TexStudio and BasicTeX (a smaller version of MacTeX) on OSX
      • Sometimes you need a hex editor (e.g. to open huge files)
    • IDEs. Of course, Visual Studio, but you might need stuff for other languages.
      • OSX has no Visual Studio for C++. XCode is the native IDE but I often prefer others:
      • For C I sometimes also install PellesC as a very lightweight IDE for tiny experiments. I wish it existed for OSX
      • Lua
        • Decoda is a great (now opensource!) IDE if you need one for Lua (which you probably shouldn't).
        • ZeroBrane Studio is good too and integrates a number of game engines (mostly 2d and indie-ish, like Love, Moai, Corona) with a limited "livecoding" support (change of constant parameters)
      • Python
      • C#
        • Sometimes I installed SharpDevelop especially if the VS version the company bought using does not support the latest C#
        • ILSpy is great, as it is NDepend but I use them rarely as I'm not dealing usually with large C# projects. DotPeek sometimes is handy.
      • For most other things (and for OSX...), JetBrains has an IDE.
      • ActiveState maintains free Komodo Edit (a version of the Komodo IDE without debugging and some other things) which is also good for JS, Python, Ruby and such.
      • Sometimes I use Eclipse together with the Processing library to livecode processing sketches (Eclipse supports java hotswapping)
    • Everybody in videogames is on P4, but the outside world likes GIT too. TortoiseGIT is good but young, SourceTree is better, also works on OSX
    • Other development tools:
  • Graphics and rendering
    • MUST-HAVE IrfanView is my image viewer. Picturenaut, HDRShop and PTGui for HDR images.
      • OSX Alternatives: Xee
    • I use FXComposer 2.5 (sometimes even 1.8) still, I prefer these to ShaderToy as that still tends to crash on complex shaders, and it's slower/less convenient. Fragmentarium and SynthClipse are decent too. OpenCL studio is also cute  (and similarly unsupported)
    • I used to get all Nvidia toolkits: CUDA, DirectX11 Graphics, OptiX, GPU computing toolkit. Not anymore.
    • RenderDoc is great, a must! ApiTrace is promising, Intel's GPA is ok too. Pix went down the drain once MS decided to integrate it in VS (what a dumb, dumb, dumb, thing to do)
    • Pyramid ShaderAnalyzer
    • MUST-HAVE VideoLan
      • Also for screen captures! I just use the desktop capture device and encode a mp4.
      • Giffing and ScreenToGif are great for desktop capture too (using webM encoding), all other video capture programs I've found either are insane crapware or depend on proprietary codecs that you have to distribute...
    • Prototyping
      • MUST-HAVE Processing (also on OSX). LibCinder, OpenFrameworks, Pocode and Polycode are decent if you want a Processing alternative for C++.
      • SharpDX
      • Unity3D is great!
    • Other stuff
  • Desktop
    • I guess anyone working on Win8 is using ClassicShell.
    • I pin down the Win7 Snipping Tool (and configure it not to prompt when closed), or go with Greenshot which is even better. Very useful to copy'n'paste pieces of the screen into emails.
    • ClipX is cute
    • 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 or Quicksilver
    • MUST-HAVE Acrobat Reader (even if I should probably prefer the less bloated SumatraPDF, that does not annoy the user with endless updates)
    • 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
    • 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, 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.
    • Synergy for keyboard/mouse sharing across computers.
    • VirtualBox can be useful and it's free, even if I usually prefer VmWare (sometimes I use the Player with pre-made OS images). I use Docker for all the times some python library are available on Linux only (e.g. happens for deep neural network stuff...). On OSX, Parallels is really good.
    • Window management various
      • 1Up industries stuff is really good: Fences, Bins (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 Isolator, Spirited 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)
  • Internet
    • MUST-HAVE Chrome (w/a session manager to not swear if things crash, I also disable flash/other plugins auto-start and I also use the morphine extension at work)
    • MUST-HAVE DropBox
    • 1Password is nifty even if most often I use... paper
    • Google Calendar Sync, if the company doesn't have decent intranet VPN access
    • MUST-HAVE Skype
    • Somtimes I install BitDefender (but NEVER use the autoscan option)
    • 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
    • PowerToy Calculator (patched to install on Win7/Vista)
    • MUST-HAVE Mathematica if the studio has a license for it (or I make them buy one!)
      • Mathics is an upcoming free Mathematica compatible system
      • Python Anaconda distribution that I already mentioned
    • 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)

5 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!

Allan MacKinnon said...

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

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