
Ask: What are the tools and factors that let you to program at your best? - danfrost
I&#x27;ve been thinking about how and when I program at my best, what the tools are, what the situation is and how I can engineer it more often.<p>It&#x27;s a combination of editor&#x2F;IDE (that I know), debugging tools, clear goal, clear head, ...and a bunch of other things.<p>What are your factors of &#x27;the best programming you&#x27;?
======
temporallobe
My environment has to feel isolated yet not alone, i.e. I could not work alone
in a basement as I tend to get anxious. Other than that: 1) A good IDE (my
current fav is anything by JetBrains) 2) Either Atom or Notepad++ as a basic
text editor 3) A Unix-like environment so I can use tools like vim, Perl, and
bash (Linux Mint and macOS FTW) 3a) If I must be on Windows, I insist on
ComEmu and PuTTY 4) Youtube in the background for watching/listening to stuff
that is slightly distracting 5) I play guitar a lot, so I keep a junker
electric guitar at my desk in case I need to take a mental break or think
through a solution 6) Coffee, within reason 7) I have found that I can get
2-3x more done at 6-9am than from 9am-5pm. My brain seems much more alert when
I just wake up. 8) Frequent breaks 9) Somewhat cool -- I can't code hot and
deep thinking and analyzing make me feel hotter for some reason. And
finally....10) Having as few interruptions as possible from IM (Slack, etc.).
I sometimes have to go "dark" for a few hours to get shit done.

------
gumby
Emacs, door shut, no noise, no interruptions. Phone etc in different room. No
notifications enabled on my machine.

My office at home has three walls made of floor to ceiling glass (back wall is
bookshelves). You might think that would be distracting but all I can see is
trees, and I'm above ground level so not even animals distract.

~~~
roryisok
that sounds amazing. any chance you'd share some photos?

------
oblib
I've been coding at home for 20 years now. I really don't know how I'd do in
an office environment now.

I need quiet, solitude, and no interruptions at work, and a good nights sleep
before it.

I don't know how people can code with music playing or people talking and
coming in and out of the work space. I can't hear myself think with that
around me and it bugs the hell out of me.

I code in spurts. If I'm focused I won't stop and I'll keep coding until I'm
exhausted and get a shit ton of work done, and then I need time off.

When I'm tired and "burnt out" I can't code squat. I just sit there and stare
and can't really follow and track logic and if I try to write something it's
garbage and will break stuff and I'm better off not mucking with anything at
all.

As far as tools go, I've been using BBEdit the entire time. I use it for JS,
Perl, HTML, CSS, Python, plain old text and most everything else I might code.
I use it more than any other app I have.

I still use "Fetch" for the Mac to transfer files. It works for me.

I use a few Raspberry Pi computers connected to my LAN and configured similar
to my production servers for development and to keep working when I lose my
internet connection. Where I live, in a rural area, that happens quite a bit.

I have a collection of disk images for the Pi that I use to prototype stuff on
and experiment with. I can hack on those and break them or copy them and go
from there or start over again on something else with a fresh install in just
a few minutes.

The Pi has become one of my favorite tools. I can emulate the internet in my
office on my desk and work on building a server dedicated to a specific task
and then mimic the install on a production quality VPS. I even have a disk
setup to use as portable PC on trips now and don't bring a laptop anymore. I
bring a small bag of adaptors for monitors and a tiny wireless keyboard with a
touchpad and that's it. Everything important is on a microSD that's easy to
remove and conceal and replace.

~~~
aphextron
+1 for BBEdit. I may have just converted from Sublime.

------
muzani
I get about 4x work done with my main rig at home vs my laptop in an office.

1\. Big monitor. Tried a regular monitor vs UHD. UHD monitor gives me two rows
so I can do stuff side by side.

2\. The right music + headphones + no background noise.

3\. Nice keyboard and mouse. My laptop isn't good enough.

4\. L-Theanine pill before work starts.

5\. Half hour meditation time before work. Headphones are great for this.

6\. Decent IDE.

7\. Also I block off Facebook and games for the entire work week, even past
office hours. Flow goes well into the night.

~~~
roryisok
UHD choice is interesting. I have one 29" 1080p screen now and trying to
decide between two side by side, a 4k, or an ultra wide or even curved screen

~~~
muzani
Mine is 28" and I can't really imagine having something of lower res as a
larger size.

Fonts are really crisp on it. It's very pleasurable to work on and one of the
things I look forward to every day.

It acts as 2-3 screens on its own so I don't really see any use for more
screen space.

------
iamNumber4
1\. Good Music/pod casts/tv on for noise to ignore/trigger other parts of my
brain. 2\. moderate lighting not to bright not to dark. 3\. Confortable temp -
codeing cold or hot is a no go. 4\. a Decent keyboard with good key travel
that doesn't bottom out, and isn't squishy feeling. 4\. fluids - having water,
coffee, soda, etc... close that I don't have to go get it. 5\. standup desk,
with bar stool when I do need to sit. 6\. Linux/freeBSD 7\. open terminal (for
man and tool chain: compiler, debugger, etc..). 8\. Browser, and some select
books when I need to look things up. 9\. Vim or VS Code. 10\. train co-
workers, spouse, kids to not interrupt the zone/flow.

------
q-base
Definitely music and a good nights sleep. If I haven't slept properly or am
somewhat exhausted nothing can bring me into flow.

If I'm well rested I have 4-5 different hour long mixes that I put on my noise
cancelling headphones or use "Focus" from Brain.fm - which I actually think I
bought a lifetime membership of because of a HN discount - and with either one
of those, I have somewhat trained my mind to go into "work-mode"/flow.

------
vkuruthers
I find tools not so important, as working conditions.

Most important are quiet conditions, minimal interruptions & meetings and
confidence management know what they are doing.

------
nstart
Peace of mind before I start working. If there's something bothering me, I
just can't up and get going on work that needs to be done. A peaceful mind,
good night's sleep, and some good breakfast all put together gives me a full
day's worth of high productivity.

I used to think it was about the tools btw. Then realized the constant
experimenting with what tools to use was just my mind playing tricks with me
and making me believe I was getting work done.

------
typemismatch
Visual Studio.

Clunky at times and possibly bloated with too many features and menu options
but Debugging IDE is by far the best of any IDE I've worked with!

