
The Metaprogrammer - ingve
http://www.codersnotes.com/notes/the-metaprogrammer/
======
V-2
_" If they don't have the shiniest Apple MacBook then they can't work. Never
mind that their job involves typing letters into a text file, something you
could have done on CP/M back in '78"_

I don't want an Apple at all, but I do want a beefy machine because my job
doesn't only involve typing text you see - for instance I also need to _build_
the result of all that typing, and if it takes ages, guess what, the time I
waste waiting for it to complete is not worth whatever money they cleverly
save by supplying me a "CP/M from '78"

 _" To insult a new hire by providing only a single 4:3 monitor? I can't work
like this."_

I _can_ work like this, but I _prefer_ two monitors. How much does a monitor
cost anyway? Having two displays is much more convenient.

I _can_ program sitting on a kitchen chair, but I prefer an ergonomic office
chair, because I spend a large part of my life at work and I see no reason why
it should feel uncomfortable.

Oh, how pampered I am!

 _" \- You were lucky to have a LAKE! There were a hundred and sixty of us
living in a small shoebox in the middle of the road.

\- Cardboard box?

\- Aye.

\- You were lucky. We lived for three months in a brown paper bag in a septic
tank."_

etc.

~~~
Nursie
Building on your own desktop? That seems rather archaic. Well-connected and
integrated access to a massive multicore build machine seems a little more
modern.

As time goes on (16 years as a dev now) I find myself a lot less concerned
about this stuff.

~~~
gbog
Building, editing, testing, all of that is better done remotely with ssh and
gnu screen or similar.

~~~
falcolas
I personally disagree. That requires that you use vim or emacs, which is not
feasable (or even desirable) for many programmers. It also requires a stable
and low latency network connection; something which is not always available.

Anecdotally, I had to work this way once for an employer. It worked rather
well, but our "development" machines were on-premises, and when they went
down, everybody was down. I was also extremely limited in what I could
download and run, since the machine was shared with other developers. Not very
productive.

Though, I did get really good with Vim, so I am thankful for that.

~~~
gbog
Use vim or emacs not feasible? not desirable? If most of the greatest
programmers use them, if you're a wannabe programmer how would you not use
these tools? It's like willing to be a cowboy but for thanks to the horse and
the gun...

~~~
pjc50
If you're writing C# you'll be much faster with intellisense and autocomplete.
It's quite amazing how much help it is, especially before you reach expert
level.

Occasionally you encounter weird toolchains where some stuff is much more
convenient to do from the IDE, so you end up editing files in emacs then
having Quartus or Vivado open to look at their reports.

(People should be a bit more specific about their working environment before
confidently declaring the best way to do things!)

------
joshwcomeau
I think that there's two distinct ideas here, and they're fused together. One
of them (IMO) is valid, the other is not.

"Programmers spend too much time attention-seeking, or debating online,
instead of actually writing code" is a valid topic to debate over; I can see
arguments on both sides, but it's certainly a thing that could be argued. The
work we do is more important than all the meta-stuff surrounding that work.

"Programmers are too pampered and we should just give them all shitty old
computers in shitty offices without perks", though... workspaces are
important, as are the tools. A large monitor means I can have more stuff open
at once, and I know that I'm more productive when I have an external monitor
than when I don't, and I need to cmd-tab a bunch between editor, terminal, and
browser.

Companies don't offer good equipment and perks because they're charitable,
they do it because it produces results (more often than not).

~~~
xapata
> produces results

Conversely, companies that _don 't_ offer good equipment are making a terrible
decision. I once worked at a company with a single 14-inch monitor on every
desk. In 2010. I was astonished.

~~~
collyw
Personally I don't mind working on an average machine. I don't do anything
with huge computing needs, and it shows where the bottlenecks are before they
get into production. (Then the disk starts paging and I change my mind about
having a better machine).

~~~
xapata
Compute, I don't care about. Screen space is precious. Every extra window I
can have open simultaneously increases my productivity.

~~~
collyw
True, though for me its the keyboard. I can't seem to get into the flow on a
laptop, despite the fact the resolution is better than my larger monitor.

------
sagischwarz
This effect is observable not only in the programming community, but in many
others. Best example would be photography, where people spend much more time
discussing their equipment and the newest lenses instead of going out and
actually take pictures.

I had to experience this for myself when searching for new hobbies. With most
of them, I spent most time with the meta, e.g., which fountain pen to use for
my writing or what the best ball bearings for my skateboard are.

I think in comes down to "I want to be a writer, but I don't want to write. I
want to be a photographer, but I don't want to take pictures. I want to be a
skateboarder, but I don't actually want to skate." Why I want to be something
but not actually practice the trade is another question (prestige, self-
identification?). I wonder if others have experienced the same.

~~~
livarot
Audiophiles - probably the most prominent example of them all.

~~~
equalarrow
I have a friend like this. I've been in bands in the past and worked in (even
built my own) studios. I seen and partaken the 24/96 vs. 16/48 debate
(spoiler: that only matters in the studio). I've worked with high end mics,
pres, dacs, boards, tape, etc.

The big thing we tangle on is always digital vs. analog. Oh boy.... Zzzzz...
I've cut tape and editing on analog sucks. Noise on analog is not ideal.
Compression and 'natural' bottom end warmth are nice. But that's where it
stops. Most of (all of?) these things can now be simulated by plugins. We
don't even have to say digital has won because it's so obvious. Analog is
there for the minority purists.

This debate has between us has taken many hours over many years. Oh yah, let's
not forget vinyl too!..

I've had to recently redirect the argument to musicianmanship, which I feel is
really where the rubber meets the road. It all starts at the source. If your
source sucks, then you'll have some work to do to fix it. Stuff like autotune,
sample triggers, etc. In this way, analog is better as it will demand more of
the musician's performance. Hard to swap out the kick drum on analog.

All in all, I personally don't think any non-studio experienced audiophiles
would know if something was recorded digitally vs. analog. There are so many
things you can do now and unless you know those studio 'tricks', you can't
even tell. This has already been the case since the 90's I think. Everything
can pretty much be simulated, processed, filtered, chopped, moved, etc.

One great resource for all this is Ken Andrews. Look him up. He's got a lot of
great stories and insight on recording.

My advice to my friend: learn the tools and use what make sense artistically.
But debate for theory's sake is pointless in my mind.

~~~
soundwave106
My theory about audiophiles is that a lot of them grew up in the 1970s-1990s
where there really was a huge difference between "high end" and consumer grade
audio. That gap has narrowed considerably. I think there's also a lot more
people these days out there actually explaining the engineering and science in
good audio (in the old days technical details were considerably harder to look
up), this makes it hard to push "marketing oriented" product (eg those
infamous audiophile cables). My impression currently is that the audiophile
hobby kind of was dying off.

I do think there's a few areas where analog still is a bit better technically
(mostly from the musician perspective, things such as distortion and resonant
filters), but digital is both often better and just so much more convenient
for 90% of things. Those that embrace analog as a religion are rather
annoying.

Now, I do remember in the 1980s there was a huge push of digital everything --
digital playback, "digitally remastered", etc. A fair bit of _that_ at the
time had major issues -- eg not very nice sounding DA stages, aliasing
problems, etc. Perhaps this is where some of this attitude comes from.

~~~
devonkim
Modern "audiophile" gear is much better today than in the 90s, especially for
the same price points, but my observation is that there's a divergence between
hipsters that prefer gear older than themselves looking for something unique
and those that seek technical specs religiously and know where to optimize for
best technical sound. I just want the best sound I can get within a reasonable
budget even if I could tell the difference if I spent $1000+ more on a better
amp.

Most of the anti-digital people I know fall into two overlapping camps -
technophobes that don't know how basic DACs work (believing that digital audio
means output of literal square and stepper waves into the air) or those that
simply prefer older recordings from a point of nostalgia or artistic taste.
Showing conclusively that some of their favorite records were mastered
digitally before being compressed and filtered for LP is similar to watching
climate change deniers try to reason via strawman and red herring arguments.

------
taurath
Ah the never ending lament about programmers asking for nice things. Sorry,
$4k in capital costs for someone you're paying well into 6 figures for to make
your business exist isn't that bad. A fast pc is necessary depending on what
you're doing - making knowledge workers more comfortable effects their output.

~~~
MichaelBurge
> for someone you're paying well into 6 figures for

My first programming job was $32k/year out of college(this was in 2011).

~~~
kayoone
even then, as you are probably not employed for only 1 year (in which case the
perks could be transferred to someone else) the costs for a good setup are
negligible compared to the total mount spent on a developer.

------
bcgraham
"When art critics get together they talk about Form and Structure and Meaning.
When artists get together they talk about where you can buy cheap turpentine."
\- Picasso, supposedly

Talking about this stuff is only natural.

As for the rest of the OP, not knocking it (or the book), but it sounds like
he just read Catcher in the Rye or something. Employees have been jockeying
for status inside firms and across firms as long as there have been employees
and firms.

------
lambdacomplete
TL; DR: buying a Macbook tricked me into going through a "dark" phase. It was
worth all the money.

This isn't necessarily true all the time, although it is in many contexts. For
example millions of people are eagerly awaiting the new, shiny, same-as-
before-but-slightly-more-expensive-and-with-a-couple-new-features, iPhone 7
but the number of people who get excited when there's a breakthrough in a
particular scientific or technological field can be counted on one hand (and
multiplied by 10^[2-4]). The explanation is pretty simple: I can get the
iPhone 7 when it comes out but it's hard to get excited knowing I might go to
Mars in 2060.

I had a similar experience myself. As a human being I'm naturally inclined to,
sometimes, consider short-term rewards more valuable than long-term rewards.
They say the quickest way to change your lifestyle is to change the
environment around you. In the case of software developers that environment is
often their gear/tools. In my case it was my laptop. When I was still a
student I was using the not-so-crappy-but-still-kind-of-crappy laptop provided
by my university. The problem was not the laptop, of course, but the fact that
I was doing something I didn't enjoy.

One day, frustrated by the fact that a few Chrome tabs and PyCharm would
literally devour RAM and swap alike, I started considering buying a laptop of
my own. Fast forward to a couple of months later, and on the edge of a serious
depression, I bought a shiny Macbook Pro with 16 GB of RAM. I started getting
more into web development (I was doing research in a very specific field of
cybersecurity), studied machine learning (and used it for my thesis project),
found a very good job (where EVERYBODY was using Apple hardware) and slowly
transitioned to doing web development full time.

The Macbook acted as a trigger. I might have gotten the same results by moving
to another country, changing house, changing friends, maybe by dropping
college altogether, but that shallow, nonetheless very useful, purchase (I'd
go as far as to call it an "investment") did the trick. I got my degree, I'm
still working, and enjoying what I do, I even moved to another country
eventually. Could I have experienced the same thing doing something else?
Probably. But it's easy to say so afterwards. :)

------
ciroduran
Whatever happened to "hardware is cheap, programmers are expensive"?
[https://blog.codinghorror.com/hardware-is-cheap-
programmers-...](https://blog.codinghorror.com/hardware-is-cheap-programmers-
are-expensive/)

~~~
Avshalom
Depending on how you consider that phrase:

A) victim of it's own success. Computing hardware is cheap, 10k desks +
masseuses + on site food service + all the other perks that are constantly
individually compared against "well it's only % of your programmers salary"
all started adding up

B) phones made people remember that the user's hardware matters more than the
developers build farm.

~~~
falcolas
> the user's hardware matters more than the developers build farm

The user doesn't have to recompile their code every few minutes to do testing
(or every few seconds for intellisense and other coding aids).

Developer hardware still matters. I can be productive without a masseuse. I
can't be productive when it takes five minutes to run unit tests because my
laptop sucks.

------
gaius
This is funny because no-one bats an eyelid at an "executive" demanding a
corner office, an expense account, a company Mercedes, to fly first class...
But God forbid a humble worker should beg for scraps.

------
gavinflud
> "You post an article about a new programming language, you'll get 10
> replies."

A quick search pulls up results that would contradict that statement.

[https://news.ycombinator.com/item?id=7436401](https://news.ycombinator.com/item?id=7436401)

[https://news.ycombinator.com/item?id=10901054](https://news.ycombinator.com/item?id=10901054)

[https://news.ycombinator.com/item?id=8735892](https://news.ycombinator.com/item?id=8735892)

[https://news.ycombinator.com/item?id=10177716](https://news.ycombinator.com/item?id=10177716)

I realize four search results isn't enough to completely debunk the author's
statement, but in my experience programmers love to talk about programming
languages. If you start a conversation about an interesting new language, more
often than not people will want to give their input.

Programmers also love to talk about their ideal working environment. Things
like office chairs, keyboards, monitors and office perks are important to them
because the majority of their time is spent at work.

~~~
junke
Languages are part of the ergonomics of code writing.

------
Jtsummers
> Never mind that their job involves typing letters into a text file,
> something you could have done on CP/M back in '78\. Gotta have that 40"
> monitor, it's essential, can't work without it. To insult a new hire by
> providing only a single 4:3 monitor? I can't work like this.

I had a boss once that thought programmers just typed away for hours, how hard
could it be? This portion is like that.

Programming, well software engineering, is _much_ more than that. I have a
half-dozen spec documents to pull in from. I have databases to look at. I have
log files to parse through. I have code to read and write.

Yes, this is all primarily text. But it's not _just_ typing.

Using a single 15" 4:3 monitor is like trying to steer a submarine with the
_only_ knowledge coming in through the periscope. But you have to turn the
whole sub to rotate the periscope.

It's the extra monitors, or let me print off 5000 pages or so of text and bind
them and keep them on my desk at all times. Probably more, I'm on several
projects. And the bindings won't last. I need to see content on page 100 and
712 at the same time. Oh, and then I'll have to print out each revision unless
they're provided with a good diff. Or don't let me do either, require me to
keep way too much information in my head and let me fuck up the project.

EDIT: That said, his other points may be valid. But I've never met the people
that fit his description. I've "programmers" who don't program. I've worked
with them. Well, I've worked, they've hung out. But the cafe stuffs and other
things, I've never seen anyone that cared. Chairs, maybe, but he had a bad
back so that was a valid concern.

> Some of the best programmers I've ever worked with don't have twitter
> accounts. It's almost unthinkable, isn't it? How can they possibly be one of
> the top programmers in the world, building the most successful projects out
> there, without being seen to be doing it? You can write beautiful code, the
> best code in the world, but it doesn't mean a damn today if you didn't blog
> about your new standing desk.

I also find this a little ironic, reading this metaprogrammers blog deriding
metaprogrammers with a "follow me on twitter" link at the bottom.

~~~
collyw
>I had a boss once that thought programmers just typed away for hours, how
hard could it be

Just look at the movies. "Hackers" always manage to break in to remote systems
by typing lots into a terminal very fast. The more difficult the system, the
faster they need to type. (Mr Robot has been a refreshing change to that
stereotype).

------
zuzuleinen
For me a chair is important. I don't really care about perks and other stuff
but knowing that I sit around 8 hours every day for a couple years in a good
chair is as important for me as the work station.

And in most of the startups I worked so far there were only cheap chairs not
so good for my back. In a way I understand the owners: they have startup they
should buy the cheapest things possible because they don't know how long their
startup will survive, but I like when someone makes an effort to provide good
working conditions for the programmers.

I also used to care about the noise level, but again working in startups I had
to get used to noisy open spaces.

~~~
AstralStorm
Silly people who don't understand that furniture can be loaned or leased.

Maybe you won't get something cutting edge in economics, but definitely very
good still.

------
nanch
You use the right tools for the job --- and when you're sitting in front of a
computer for 8-14 hours a day, why wouldn't you want the best tools? Are you
gonna build a new wood-piece with a hand-powered screw-driver?

"You post an article about a new programming language, you'll get 10 replies.
But start a discussion on what headphones you wear while you work, and ten-
thousand people will rise up from nowhere, pushing the thread ever-skywards on
a tower of upvotes"

Not many people care about your new programming language, but everybody
understands the importance of a good chair, monitor, or headphones, and when
you ask people for an opinion, they'll express it.

IMO, code with whatever you want, but I'll stick to my Herman Miller Embody, a
self-modified 45g-uniform Realforce Silenced Keyboard, a 4K 30-inch dell
monitor (UP3216Q), and 2 27-inch dells (U2713HM).

~~~
equalarrow
I've had this debate with my wife before. She absolutely pummels her MB Pro
from 2012. Keys are breaking, she has a gazillion windows open (including
vmware since she runs an old quickbooks on windows), desktop completely
covered in photos of family/kids. I look at how she 'works' and I think at
first 'wow, what a mess'. But then it's clear it's totally just a lower rung
tool for her business - she is not in the tech space.

For anyone who doesn't program or create all day on a screen, it's hard for
them to empathize. But all these things are real to me. Knocking 30s off a
build can knock off 10-30 mins of wait time a day. It all adds up. On a scale
from 1 - 10 (10 being an ultra maxed out everything machine) I usually hover
around 7-8. I know after all these years that my concentration and execution
are the most important thing I have and I don't need workspace things to get
in the way of that.

Sadly, headphones are a part of that now. ;-(

------
dasmoth
There's a balance here. I don't like the idea of talking without producing
either, but using this as an argument to shut down all discussion about
working environment isn't going to help matters.

Headphones are a big topic of discussion because default working environments
are so far from what many of us find optimal (and, indeed, what seems to be
empirically optimal if you look at the studies in Peopleware).

------
d3ckard
I do not see anything strange in it. Author seems to be forgetting that while
there is a myriad of frameworks and programming languages, we all share
similar work setups and needs. Also, while a newbie might be afraid to talk
with 'pros' about advantages of hygienic macros, he knows what headphones make
him comfortable at work. I would redefine 'metaprogramming' as 'stuff that
most of the programmers have in common'. That's why they talk so vividly about
it.

------
narendraj9
Okay. So this is a meta-metaprogramming blog post.

~~~
gnode
That's a meta-meta-metaprogramming comment.

~~~
caseymarquis
throw new StackOverflowException("This ends here!");

------
midgetjones
Can't believe he didn't mention text editors or indentation!

~~~
wingerlang
Why would he? I think the general consensus nowadays is that Sublime and tabs
is the best option.

~~~
MrBuddyCasino
> tabs is the best option

You nearly got me.

------
TurboHaskal
So I should be guilty for asking for a silent working atmosphere, a decent
laptop and perhaps a second screen while the execs get the latest iteration of
the iPhone every year. Right.

------
kayoone
I don't agree. Of course a car mechanic can do his work with just the most
basic set of tools, but will he be as productive as someone using the newest
stuff that enables him to work faster ? Probably not. There is actually value
in having a faster computer, bigger screens and even better chair as a
programmer.

------
asher_
metametaprogramming (verb.) The act of talking about people talking about
programming, rather than doing any actual talking about programming.

~~~
TuringTest
When did the term lose its original meaning? [1] Or am I missing some kind of
joke?

[1]
[https://en.wikipedia.org/wiki/Metaprogramming](https://en.wikipedia.org/wiki/Metaprogramming)

~~~
dagw
It hasn't. The blog post is making a joke:

"You might have thought that metaprogramming meant macros, type introspection,
that kind of thing. Nope, I'm hijacking the word for today:"

------
Zarkonnen
Bikeshedding.
[https://en.wiktionary.org/wiki/bikeshedding](https://en.wiktionary.org/wiki/bikeshedding)

------
anoplus
Reminds me of this: [https://xkcd.com/1629/](https://xkcd.com/1629/)

~~~
krisdol
Sounds like devops

------
dsr_
I'm in charge of acquiring equipment for all of our employees -- and I can
tell you that tastes vary, but once a person has a good environment set up,
they tend not to change it unless forced to do so by hardware failure or
similar external event.

One programmer asked for 3 1440P 27" monitors, a specific trackball, and
maxed-out RAM. We had to figure out support for a new video card for that.
Four years later, I think it's time for an upgrade to SSD, but they are not
likely to think about it until I suggest it. Everything works, and they are
comfortable, so they are productive.

------
DanielBMarkham
_"...he would only ever consider someone to be a good programmer if they had a
twitch livestream about programming..."_

I don't do twitch. Come back to me in ten years if it's still around, maybe
I'll have time for it.

But I make videos of my programming and add commentary as I go. I doubt
anybody watches it, but I found it most enjoyable -- makes me think and
vocalize each thing that I'm doing. Plus it gives me a good excuse to talk to
myself.

~~~
thecatspaw
plus it keeps you from getting distracted. I did have a twitchstream of me
coding once. It was awesome. Not once I got distracted, even though noone
watched.

------
berntb
Come on now, we _real_ metaprogramming wimps carry our own keyboards with us
and don't even bother to complain about the one provided. :-)

Otoh, as an Emacs user my mouse costs about as much as one of the black
espressos I exclusively drink for coffee. :-)

Edit: This made me feel like the wimp I am. Time to stop the singer
songwriters on my headphones and play some black metal. (And go to the gym for
deadlifts or squats this evening.)

~~~
dasmoth
With a real, live, META key?

~~~
berntb
I don't think I've even seen that key since I was a student... "Das Keyboard"
have that? Should order.

(Just got the best feel I could find in the stores. I paid 70 Euros, maybe not
cheap but fram from extreme. I only play a snob on internet. :-) )

~~~
bloat
The Happy Hacking Keyboard has a meta key. Not cheap though...

[http://www.google.com/images?q=Happy+Hacking+Keyboard](http://www.google.com/images?q=Happy+Hacking+Keyboard)

------
wtbob
> I've seen artists who demand the luxurious corner office, with the luxurious
> view, and then put paper over the windows to stop the light coming in. I've
> seen companies buy MacBook laptops for every employee, even though they're
> never taken away from the desks.

Well, the artist probably has a Mac laptop, with the horrible glossy screen,
which basically requires that there be no light in the room …

------
turbo104
TLDR: Some things are more important than others, but it depends on the person
and/or domain.

I think a few of these items are a bit more than debating the unimportant. I
don't personally feel like I need "the perfect" setup, however there are a few
things that I think make me leaps and bounds more productive. Working on a few
older platforms that you have to build locally can cause some machines to
really bog down and chew up a ton of your development time - taking us back to
the the old, "hardware is cheaper than programmers" concept that another
commenter mentioned. There have been many productivity experts saying that in
every field, having an extra monitor can give you huge efficiency gains. I
find I got the most gains adding up to 3 monitors.. the 4th wasnt as much of a
gain. I think this is domain dependent though. When working as the sole
developer on small websites for clients as a side business, I really only ever
use two monitors at most. Headphones, keyboards, and chairs I think are the
most "diva" things to spend a bunch of time on. Yes, the chair has to be
comfortable, the keyboard has to be accurate, and the headphones have to work
for your work environment. However, like delivering software, sometimes good
enough is better than perfect. Having an office diner of any form I think is a
productivity play. If you are hungry, you are not at your best. If you have to
figure out what you are going to go out and get you are taking more time -
plan what to get, travel to get it - instead of just grabbing something quick
across the office and eating it at your desk. I want to be productive. Not
productive to the max, navigating through every single minuscule inefficiency,
but making changes to get the most gain. Everyone has their preferences and
friction points. If you are pissed off at your tools a good portion of the
time, you probably aren't going to be as productive.

------
gorogue
I actually found the post to be mostly true - at least for me. It struck me on
a personal level because I find myself talking about being an indie game
developer. I have cool hardware, all the game programming books, and some
interesting prototypes, but I still haven't shipped a game. Talking about it
is just easier and more fun than actually doing the work.

------
sguav
> _Gotta have that 40 " monitor, it's essential, can't work without it_

And I was thinking I ought to be content with my 27"

~~~
LeonM
I used to be that guy that proclaimed I could not work if I did not have 2
monitors of at least 21 inches in size...

But, 2 * 21" (FHD LCD) became 2 * 24" (FHD IPS), which I upgraded to 2 * 27
(Apple 2560 * 1440), which I now consider to replace by 2 * 42" (4K). Have I
became 10x more productive by it? No. Can I work without them? Sure. Do I
enjoy working on those huge screens? Hell yes! And since screens are not that
expensive anymore, why not? I spend 10+ hours a day in my office, so why not
try to make that time the most enjoyable I can?

~~~
koder2016
"...I spend 10+ hours a day in my office..." \- I agree that there should be
an upside to a statistically shorter lifespan.

------
GoToRO
There are things that you will understand only when you have become a very
good programmer. What this article says is "I have no idea how that must be"
together with "There are so-so programmers that imitate very good programmers
without knowing why.".

I agree with the last one, not with the first one. For example the more time
you spend programming, the better you get but also the more important it
becomes to have a good chair, desk, tools. Especially the chair, it is a
health problem!

Then there are the perks he complains about, like food. They say 20% of your
energy is consumed by the brain. What you eat directly affects how good you
think and how much you can produce with your brain. Almost all the perks I
have seen at top companies are nothing more than a recognition that employees
are more productive if you give them these perks. It's all about money.

~~~
Nursie
Definitely with you on the chair!

The other tools, so long as they're adequate, don't need to be that shiny...
IMHO

~~~
GoToRO
yes, it depends on what you actually do.

------
hellofunk
In the audio and electronic music world, this is often called GAS -- Gear
Acquisition Syndrome.

------
klagermkii
I will have a stronger opinion about chairs and keyboards not because I think
they're more important, but because I have more experience with them. And that
experience is far easier to gain.

Most of the consequences of choosing a particular programming language or
technique will only come out months or years later, and often those results
will have a very muddy connection between cause and effect. I'm way less
likely to go on a forum and talk confidently when I would have needed to do
multiple projects taking years to have a definitive answer.

On the other hand give me a keyboard for a day and I'll happily wade into an
argument about it after typing a few thousand letters on it.

------
melling
That's the way people are about everything. Read many of the comments on HN
and you will come to the same conclusion. We like to "bullshit" and tell
anecdotes. This is fine for being social but it's a very inefficient way to
learn and pass on knowledge.

In all the noise, however, there is a lot to be learned so I decided to
extract some of the information on various topics. For example, On the topics
of standing desks, keyboards, RSI, etc, I've created some org-mode notes on
Github.

[https://github.com/melling/ErgonomicNotes](https://github.com/melling/ErgonomicNotes)

------
Kapura
I came into this comments section to post about how I didn't actually know any
programmers who acted as the author described, but in seeing the other
comments I guess I've just been extraordinarily lucky not to have to work with
divas.

Of course I and others I know have preferences about chairs, keyboards, and
monitors, but not so much that they claim they can't to their jobs. Quite
frankly, I wouldn't want to work with somebody like that. Who wants to work
with somebody who thinks their skill set gives them licence to bitch and moan?
Who wants to work with somebody who bitches and moans, period?

------
jaimebuelta
This is quite a straw man argument. The points are a distorted version of
reality...

why people complain about their tools instead of programming? Well, tools are
important... I like to wait less time to see my program compile and I want a
good keyboard so I keep RSI under control. These are relevant parts of my
profesional life that, yes, are not exactly programming...

Sure, people like to argue about these things because everyone have an ass and
an opinion about chair and non Swift developer don't have a lot to say about
Swift, and sometimes too much...

But this is pretty much a textbook example of a straw man argument...

------
kabdib
My group at Microsoft was notorious for not spending money on hardware.

I did some math. If the money they spent halved my build time (easily possible
at the time, since we were on spinning rust and they wouldn't spring for SSDs
"because everyone will want one, and _then_ what?") then they could afford to
buy me a new computer every couple of weeks, more often if you computed the $
lost from the average imputed load (of $500K/year) of an employee.

Bean counters. Feh.

~~~
gaius
At a previous employer, one of my colleagues needed a bigger HD. He spent
_months_ struggling to get it and ultimately gave up and made do.

But I was wise to the ways of this company, and I also needed a bigger HD, so
I simply requisitioned a whole new PC and it arrived the next day. Its about
whatever makes the paperwork easier...

------
reitanqild
Agree with much of this but the expensive equipment thingy is partly like the
wedding ring: you don't need it, but you don't want to work for someone who is
to cheap to give you a decent machine.

Chances are if they want to shave USD500 of your equipment once every three
years they will also want to fleece you everywhere else to.

Says the man who works off a single laptop that he hates, I know my company
cares anyway. ;-)

------
Secretmapper
> When did the messenger become more important than the message?

Never? The arguments presented are really just hyperbole that applies to all
industries.

Yes I can code with an old machine, yes I can code with a small monitor, but
give me a beefed up OSX and two monitors and I'll be insanely more productive.
Why shortchange something that will pay for itself almost immediately?

------
anotheryou
I hoped this was about high level future programming stuff :/

Like arguing with AI on the requirements of a new project it will implement.

------
draw_down
Some people I've worked with switch between vim, emacs, Sublime and back
again, for weeks at a clip, and can rattle off the finer points of each. To
each their own, I suppose.

And those damn clacky keyboards of course. Not a real programmer if you don't
have one of those.

~~~
calgoo
Since I switched to an MS ergonomic keyboard and mouse, I never want to go
back to a normal keyboard again. Have one in the office, and one at home. All
wrist pain that I had gotten from normal keyboards, and especially working
directly on the laptop went away in a matter of hours.

------
hlandau
This is a misuse of the prefix "meta". "Meta" does not mean "reflection over
X". It means "X about X". Saying "metaprogrammer" means "programming about
programming". The conventional use of the term "metaprogramming" is correct;
unless you can claim that discussing desk chairs is somehow programming about
programming, the use of the term metaprogramming to describe this is simply
erroneous.

(I'd also like to add that deliberately trying to fracture a word into having
two completely different meanings just because you think that word sounds cool
is to deliberately reduce the accuracy and unambiguity of human communication
and perpetrate a damage to the English language, which is pretty obnoxious.)

~~~
gjm11
Way back when, in ancient Greek, "meta" just meant "alongside" or "next to" or
"after".

Then Aristotle wrote a book called "Physics" (though its subject was broader
than what we now call physics) and another book whose title has been lost,
about more abstruse things. It was typically shelved next to the "Physics" and
listed after it in catalogues, and it was alleged that Aristotle thought its
contents should be taught later than those of the "Physics", and it therefore
came to be known as "Metaphysics": the thing that comes after the "Physics".

Because the stuff in the "Metaphysics" was felt to be deeper and more advanced
than the stuff in the "Physics", "meta-" came to mean something like "beyond"
\-- with indeed a connotation of "X about X", but by no means always.
"Metamathematics" is mathematics about mathematics, but "metapolitics" is
theorizing about politics, not doing politics about politics.

(The above may sound ridiculous, but it really is where this usage of "meta-"
comes from.)

I agree that it's weird to take "metaprogramming" to mean "discussion of
things like office furniture, big monitors and text editors", and that
"metaprogramming" already has a meaning and that that isn't it. But the
problem isn't that "meta" can only mean "X about X"; that simply isn't true.

------
al2o3cr
"When did the messenger become more important than the message?"

About five minutes before _complaining_ about how the message isn't important
any more became more important than the message.

------
fizixer
You could rant all you wanted but why did you have to give a bad rep to the
term 'metaprogramming.'

I think what you described can adequately be called something like 'hipster
programming'.

------
TheOtherHobbes
I've yet to see any correlation at all between executive pampering - typically
many orders of magnitude worse than hypothetical developer pampering - and
productivity.

------
oz
>You might have thought that metaprogramming meant macros, type introspection,
that kind of thing. Nope, I'm hijacking the word for today:

Not hijacking. Overloading. ;)

------
vegancap
For the record, I use Senheiser C500 headphones. They cost about £30, but the
bass response is fantastic for an in-ear bud.

------
FrankyHollywood
"Computer science is no more about computers than astronomy is about
telescopes" Edsger Dijkstra

------
q1t
Moar stickers!

------
_nalply
And I thought this post is about writing programs that write programs.
Metaprogramming.

------
pyrale
I consider this article to be the über meta-troll.

Writing a blog entry discussing about how the community discusses about things
surrounding their jobs rather than actually doing it, rather than actually
doing one's job is either a very clever pun, or very short-sighted.

This entry also documents how one-liners can get a bit confusing.

------
dschiptsov
The older term "blogrammer" seems better.

------
peterkelly
This article is the perfect example of the problem it describes. Very meta.

------
quickben
If the author of that blog doesn't see the benefit of a larger workspace area
(monitors, configuration, etc) then there is no point in reading anything else
he writes.

Why are stuff like this on HN?

~~~
colomon
Well, if he'd written an article saying a larger workspace area is nice, would
it have hit the front page of Hacker News?

~~~
quickben
I get your point, but I'm not here to be trolled.

