
The $80 web development workstation - Skoofoo
http://skofo.github.io/blog/the-80-dollar-web-development-workstation/
======
quaunaut
Honest question here: Why would anyone ever think OS X has "world-class
interface design"?

It's missing basic interface features that have been bog standard in
Ubuntu/Windows for years, like any sort of proper window management. Hell, the
maximize button actually _doesn 't work_\- it has such inconsistent use that
you have almost no hope of actually getting what you want out of it. To get
even decent window management, you have to buy software off of the app store.

Then, you have the fact taht you still functionally have a folder-based OS,
which feels a greater need to present me with buttons to alter the view of a
given folder, how icons are arranged, etc- all useful things no doubt, but
things you don't change on a per-folder basis that often- while literally not
having an "up one level" button. At all. You either have to know the keyboard
shortcut, or you have to go to the Go menu. The back button isn't always
dependable for this interaction(especially if the finder was just opened), so
of course this just screws the whole pooch.

Seriously, the most I can get anyone to offer as to what makes OS X such a
great operating system, is that it's Unix with no driver problems. If that's
the most we can claim, can we stop acting like the interface design is halfway
decent? Windows Vista had better interface design than this. That's just sad.

~~~
millstone
As a long time Mac user, I never use the zoom button. It rarely does anything
useful. And Finder really needs a Go Up button, as you say. So those are two
valid points you raise.

I'll try to explain what I like about the Mac and what bothers me when I use
Linux. Since you mentioned window management, I'll focus on that, comparing it
to Ubuntu 12.

1\. Window resizing in OS X is way nicer. It's actually possible to resize a
window with a scrollbar from the lower right (on Ubuntu, the click target is
literally one pixel wide). Resizing from the left edge doesn't result in weird
tearing and graphics artifacts like it does in Ubuntu and Windows. The command
key allows you to drag, resize, and do other interactions with windows without
bringing them to the front. OS X also supports centered and fixed-aspect ratio
resizing (shift and option keys); if this is possible on Ubuntu I couldn't
find it.

2\. The way hiding / minimization works in Ubuntu is very confusing to me.
There doesn't seem to be a way to show all the minimized windows for an app,
except for the weird and jarring Exposé knockoff that you get when you click
on one of the icons in the Launcher.

3\. Workspaces in OS X are much nicer. To move a window to another workspace
in OS X, I just press it against the relevant side of the screen, or swipe up
to enter Mission Control and drag it there. On Ubuntu, you can't drag windows
to another workspace; you can instead use the context menu or press control-
alt-arrow, which causes the window to disappear with no indication of where it
went.

4\. It's hard to distinguish the foreground window from other windows in
Ubuntu. The only thing that seems to change is the titlebar. Even the text
selection color is the same for foreground and background windows.

5\. Focus stealing issues in Ubuntu are rampant. Click on a slow launching app
like LibreWriter; when it finishes launching it will jump in front of the
window you are currently using, and steal the keyboard focus. This happens
occasionally on OS X and it bugs the hell out of me. I don't think I could
stand an OS where that is the default behavior.

There's certainly some places where I find Ubuntu to be nicer, and some places
that OS X falls down. My overall impression, though, is that OS X is more
polished, and that Ubuntu has more clumsy knock-offs of OS X features.

~~~
bendmorris
One problem here is that you can't really compare OSX to Ubuntu because Ubuntu
is not a desktop environment. It has a default desktop environment, but it
isn't itself one, and you can swap in another effortlessly and there are
typically a wealth of customization options. I'm using XFCE, and I can drag
windows to other workspaces just like you, don't have the focus stealing
issue, etc.

~~~
millstone
I've also tried Xubuntu (= Ubuntu + xfce) and I preferred it to Ubuntu,
although Xubuntu's window resizing is even more busted.

Your post prompted me to give it another try. I found that you can drag
windows between workspaces in the "mini workspace viewer" in the upper right,
which is definitely an improvement over Ubuntu. However, you can't move them
by simply pressing the windows against the side of the screen.

The focus stealing issues are the same as in Ubuntu. Start launching an app
and switch to another window; the app will jump in front when it's done
launching. Argh!

~~~
vjoel
In XFCE, you _can_ move windows by pressing them against the side of the
screen. Go to Settings, WindowManager, Advanced. Click "Wrap workspaces when
dragging..." and choose your desired edge resistance.

However, I prefer to re-map CapsLock to <Hyper>, and define <SHIFT>-<HYPER>-Up
to move window to workspace up, and so on.

Can't help with the stealing, sorry.

~~~
millstone
Hmm...I found the setting and it sure looks promising. I can switch between
workspaces by moving the mouse cursor, as long as I am not dragging a window.
If I am dragging a window then it refuses to switch.

Anyways thanks for the tip.

------
Jormundir
This article leaves out a key factor of why I've never committed to Linux full
time, and why I wouldn't buy an $80 laptop to run linux.

I have 1 laptop, and I don't just use it for development. I've tried over and
over to use Linux as my primary OS, but every time the sheer jaggedness of the
GUI experience, when I'm doing non-development (I guess normal consumer)
things, bugs me non-stop until I switch back. It's like switching from Ruby to
C++. C++ is amazingly powerful and has great uses, but ultimately Ruby is a
lot more enjoyable to use.

I think it's just a personality difference. If you're comfortable in the nitty
gritty of linux, more power to you! But you're not going to convince me linux
is better because you're can change the window system or [insert some other
component I wouldn't care to change]. And you're not even going to convince me
you're much more efficient. The arguments of efficiency and customization are
always about low level details that I don't need to care about, and that play
no part in good software engineering. [This is about the scope of web
development, I love linux in different fields such as embedded systems. Again
though, it comes up frustratingly, excruciatingly short as a general use OS]

~~~
kevincrane
It's popular to hate on Ubuntu, but I personally love it and its UI. I've used
Ubuntu since 11.04 and run 13.04 on my personal laptop (for development and
day-to-day stuff). I'm a sucker for pretty things like translucent title bars
and snapping windows to full-screen, but I also love how easy it is to develop
with Linux (as opposed to Windows). Everything is usually a single command
away on the command line (sudo apt-get install _blank_ ) so it's easy to
install new libraries or programs for development.

It may not be for everyone, but it definitely is possible to use Linux without
having to install and fiddle with new window managers or file explorers or all
the nuts and bolts. I've never even really had driver issues on my laptop now
that Ubuntu has become this mature.

~~~
Jormundir
Maybe I should try it again, but last time I used it, I couldn't get programs
to just work. I don't want to hate on ubuntu, I liked a lot about it, but so
often you can't just install and use something, you have to do a bunch of
fiddling.

Last time I used it, I couldn't get Dropbox to install correctly. Sublime text
would always open in the default spot and with the default window size rather
than where I closed it. There are all of these very minuscule problems that
add up to a very agitating experience. That's why I said it comes up
excruciatingly short, I feel like Linux is almost the best OS on every level,
yet on every level (above the command line) there's some little thing that's
irritating.

~~~
kristopolous
If you've been programming for a while, modifying software isn't as scary and
intimidating as you'd think.

For exmple, I had wpa_supplicant always crap out at a few coffee shops here in
LA. It tried to associate but didn't wait long enough.

I ran it with the "-v" option and saw a line that said something like:

"Waiting 5 seconds".

I downloaded the source code and searched for that message:

grep -r Waiting * | grep second

I got 5 results or so. I opened up the code and I saw a line like this, right
above the debug message.

timeout = 5000;

I added a 0 (making it 50 seconds) and saved the file. I ran ./configure &&
make and killed /usr/bin/wpa_supplicant, then used my copy and like magic, it
started working. Go me!

I think any average non-wizard programmer could have probably done the same. I
didn't have to know all any big-picture detail of wpa_supplicant's design nor
did I have to know the 802.11[anything] protocol. No need to do packet
dissection or anything like that.

I looked at the screen, I grepped for where the problem was and I added a 0.
Fixed.

It took all of 20 minutes or so. A lot less time then the productivity I had
already lost by putting up with the issue in the first place. [1]

Those kinds of experiences are the kind that make me stick with linux.

I have an identical problem with the same networks on my s3. I'm guessing it's
because of the same thing. But my stock install of the developer-unfriendly OS
has made the barrier to doing the same process much much higher.

I had a different, but also easily solvable problem on a MBP once in 2012. I
tried the same process. But the man pages were half a page long and dated 10
years ago. The developer documentation was non-existent, the source code was
inaccessible, and everyone that was experiencing the problem were
unsophisticated users who recommended things like "going to the mac store".

Basically, I was stuck with the problem. I would have had to have been in my
top form hacking zone to even find out what and where to mod; and then I'd
have to write assembly to fix it; using tricks to maintain byte alignment,
function pointers, all that noise.

After a few experiences like that I realized the machine in my hands was a
sophisticated consumer appliance.

That's nice. But what I really wanted was a "feasibly reprogrammable"
computer.

\---

[1] Here's another example: I had an idea for a way to switch application
windows where you type in string matches of the window names, all these weird
UI ideas... The problem was I couldn't program in X - I had no idea how to do
that.

Good thing is that I didn't need to. Because of the openness of the system, I
was able to execute my idea with a perl script; calling programs to move
around and manipulate windows.

The existing tools gave me enough control, power, and information, in order to
execute this sophisticated idea; and all without having to learn xlib (which I
intend to do one day). It's become part of my must-have list for my long-term
environments. Here's the link
[https://github.com/kristopolous/alttab](https://github.com/kristopolous/alttab)
. I still don't know exactly how to create an x window.

I'm convinced that although initially daunting, the "here's the blueprints"
philosophy of linux actually makes sophisticated ideas simpler to execute,
however counter-intuitive that sounds.

------
TheRealDunkirk
I ran Linux on the desktop for almost 20 years, till recently taking a Rails
job where EVERYONE used Macs, and finally bought a MBP. This refrain, "OSX is
Unix," seems to be very common, but I'm not feeling it. As I just tweeted
today: "How much 'Unix' is in OS X when I can't use CTRL-s to freeze the
terminal? Pfft." For something that's supposedly got all the power of Unix, it
sure doesn't seem to expose much of it to me.

Most things are pretty locked down. That's not Unix-y. Yes, most defaults are
pretty descent, but if you want more flexibility in your environment, there
MIGHT be a 3rd-party tool for it, and it may even work, but if it does, it'll
cost $20. It's like the world of Windows about a dozen years ago. Maybe in a
few more years, this situation will improve.

I miss Linux. And, yeah, I know I can supposedly run it on a MBP, but I know
that there will be nothing like the (nearly) flawless power management and
screen switching capabilities of just running OS X, so I make do.

~~~
Mordak
As someone who runs OS X day to day, but still loves a traditional unix
desktop to get work done, I can see where you're coming from. In my experience
you have a couple of options for getting the best of both:

1\. You can run XQuartz full screen, and can even run a nice wm like xmonad.
This isn't perfect, but isn't entirely bad.

2\. If you have VMWare, you can just run your workhorse of choice in a
convenient vm. Full screen VMs under 10.8 are actually pretty great when
you're just on the laptop - you can just three finger swipe from OS X into
bsd/linux/whatever and then back again.

I personally like the VMWare option, since it means that OS X gets to do all
the power management and all of that, and there's no fiddling to do in the
virtual machine to make things work with the hardware. And you totally own the
vm environment, so you can do whatever you like to it.

------
Matti
I recently chose to setup my old Thinkpad X41t with something fairly similar:

\-- antiX 13 "base" with the Debian "stable" source list:
[http://antix.mepis.org/index.php?title=Main_Page](http://antix.mepis.org/index.php?title=Main_Page)

\-- I3-WM as the window manager. Needs to be installed separately.
[http://i3wm.org/](http://i3wm.org/)

\-- Conkeror as the keyboard-driven browser:
[http://conkeror.org/FrontPage](http://conkeror.org/FrontPage)

The reason for using antiX/Debian rather than Arch is that I have no need to
live on the bleeding edge. Once I've set things up I don't want them to break.
I3 is at least as good -- probably better -- than ratpoison that I used to use
earlier. The ability to quickly switch between "stacked", tabbed and full
screen windows works great. Whether Conkeror is superior to Firefox with
Pentadactyl I'm not yet sure of -- subjectively everything seems to load
faster, but you do need to do some extra customization if you are going with
Conkeror. Of course, that is also one of its selling points.

------
morgante
Really? Are we still talking about how OS X doesn't give you "full control
over the system?"

Given the popularity of Macs in the developer community, it's pretty clear
that you have as much control as you desire—Unix has incredible power.

And if you still somehow feel that OS X is actually constricting you (rather
than just hiding advanced settings in the command line), you'd never be able
to run Linux on a Mac. No, never...
[https://wiki.archlinux.org/index.php/MacBook](https://wiki.archlinux.org/index.php/MacBook)

As for the price component, if you're making your living off a computer I
surely how you can afford a decent one.

~~~
jasonlotito
> Really? Are we still talking about how OS X doesn't give you "full control
> over the system?"

Well, it doesn't. Hence the reason for your need to put quotes around "full
control over the system." Because, in fact, you don't. And problems I've
solved in the past on Linux are still problems to this day on OS X.

> As for the price component, if you're making your living off a computer I
> surely how you can afford a decent one.

That's fallacious at best. This ignores people starting out, or in different
locations. Not everyone is being handed a MBA and 27" monitor at their plush
new SV job. It's useful to be reminded sometimes that while it's nice to have
a high quality laptop, you don't need the latest and greatest Apple device to
get stuff done.

~~~
morgante
> Hence the reason for your need to put quotes around "full control over the
> system."

Or maybe I put quotes around it because I don't agree with that assertion and
it's a _quote_ from the article...

> And problems I've solved in the past on Linux are still problems to this day
> on OS X.

Can you give me an example? I'm genuinely curious...

> This ignores people starting out, or in different locations.

Yet the author certainly could get a MBA, as he specifically references having
one.

~~~
icelancer
>Can you give me an example? I'm genuinely curious...

Try getting connectors to MSSQL working properly (in various languages) on
either OS. It's annoying as hell on Linux, damn near impossible on OSX
(without cheating using ODBC instead of native drivers).

~~~
morgante
ODBC doesn't seems like cheating to me.

I can understand why you'd use Windows if you're using a Microsoft stack. At
that point, there's no saving you.

~~~
icelancer
ODBC connectors don't offer the same suite of functions that native MSSQL
might for a given language. This was annoyingly true for me at my last place
of employment. MSSQL/T-SQL horsecrap for "BI" since everyone "knows" MSSQL is
better.

As usual, these things are the decisions of the architects, not the analysts.
As such...

------
dinkumthinkum
Come on, we can do better than that. This is not to besmirch Apple or any
silliness like that, my comment here is about this view point.

The "de facto standard?" This view is probably common among programming
hipsters but its hard to take seriously. There is a world out there besides
Apple and RoR that is not just enterprise slog ...

As far as the $80 machine ... I mean ok ... If you are on a serious budget but
... If you are a technologist, I don't see the point. But it is cool to note
that for those of us that need it, there are good machines at economical
prices.

But if we all want to be serious programmers, can we move on from this hipster
phase? The funny thing is the Apple is 100% not in line with supposed precepts
taken as "de facto" in the hipster community (open source, over preoccupation
with github, standards, open, portable, etc)

~~~
cenhyperion
>The "de facto standard?" This view is probably common among programming
hipsters but its hard to take seriously.

I didn't realize the entire web developer community was comprised of only
"hipsters", whatever that word even means now.

~~~
dinkumthinkum
Certainly not, but people that hold onto these kind of views are ... It's hard
to deny the existence of this "culture" that has popped up that seems to
dominate the conversations.

------
denysonique
The trackpoint is like Vim. At first you find it inconvenient and you try to
avoid it. Once you learn it and start being proficient in using the trackpoint
you start noticing how efficient it becomes, no need to move you hands of the
keyboard in order to quickly navigate the cursor, after which you quickly
return to typing. Now you have gotten used to the trackpoint and using another
machine without a trackpoint gives you that 'I want to navigate the red cap'
feeling, which is the same as being in a non Vim text editor and stopping
yourself from using the hjkl keys from navigating.

~~~
epsylon
That's probably the reason why I could never get used to a non-Lenovo laptop.
I'm just way to much accustomed to the trackpoint.

------
mosselman
Yes switching workspaces is such a pain on OSX... come on, you just swipe with
your fingers. Sure you can do pretty much the same on any linux distro, but
that doesn't mean it is not 'seamless' in OSX.

We can all agree that windows is just not suited for Rails development, but
whatever floats your boat is fine of course. I like crunchbang linux a lot, it
is very fast and makes you feel smart. But when it comes to something I have
to make my living on, I'd rather go with something that is 1. stable 2. has a
solid support in terms of applications (photoshop, sketch, etc) actually begin
built for it. And, for now, that means I'd rather work in OSX and on a Mac.

Then again, nobody cares.

~~~
zhemao
Workspaces? What workspaces? No, having a bunch of full screen apps does not
count.

~~~
blairbeckwith
Am I getting whooshed here? You can definitely have multiple workspaces (with
multiple windows in each - not just fullscreen apps) and switch between them
by swiping...

~~~
zhemao
Oh, okay, I just figured it out.

[http://www.maclife.com/article/howtos/how_use_spaces_mac_os_...](http://www.maclife.com/article/howtos/how_use_spaces_mac_os_x_lion)

That was completely non-discoverable though.

------
xlayn
Why oh why would "The de facto standard platform for web development is the
Macbook"? Web is browser interpreted, last time I checked safari was not the
most used browser (even it it has port for windows)
[http://www.w3schools.com/browsers/browsers_stats.asp](http://www.w3schools.com/browsers/browsers_stats.asp)

"especially among Ruby on Rails developers"

why? is there any feature tied to the macosx that makes it worth to pay the
mac tax??? or even to the hardware (that it's a wintel platform (and can be
have for way less money) since apple decided to abandon IBM cpus?)

~~~
xlayn
On the other hand I'm happy to discover I'm not the only one loving thinkpad
hardware, even if I can't find a difference between the IBM and lenovo
interpretations...

~~~
welly
Wouldn't that be because Lenovo actually built Thinkpads for IBM? :)

------
zdw
I think the greater point here is the CLI first philosophy - it's faster, and
more flexible, even on "lesser" hardware.

For example, I treat my Mac nearly the same way with a few pertinent
replacements - Vim for editing, Slate for window management, etc.

You could likely do the same in Cygwin on a Windows box.

~~~
davidhollander
To me the most important factor for developing on a laptop mentioned in the
article is the use of a tiling window manager.

For me an incredibly common task in web development is to have a web browser
and 1 or more terminal windows tiled horizontally, side by side, in an [ A | B
] or [ A | [ B | C ]] configuration, where A is a web browser, and B and C are
terminals.

In order for this to work for me on a screen resolution <= 1920x1080, the
ratio ( width of A ) / ( width of screen ) should be dynamically adjustable
using a single key combo, without causing window overlapping. If this ratio is
fixed, and cannot be dynamically adjusted by the window manager, I experience
one or more of the following problems at any given moment:

1\. the web browser window is too narrow, causing wide documents to be clipped
and a horizontal scroll bar to appear.

2\. A terminal window is wider than 80 characters, causing unnecessary screen
area to be consumed which could be better allocated toward the web browser.

3\. A terminal window is less than 80 characters in width, preventing the
entire line of code from being displayed.

To me Linux is the ideal laptop OS because it's the easiest OS to install a
tiling window manager on, and a tiling window manager is what maximizes the
platform's primary constraint: small screen area.

~~~
barrkel
Tiling window managers don't maximize the use of small screen area; they
ensure you'll almost always be using a fraction of the screen instead of the
full screen.

Overlapping windows are the thing that maximized the use of a small screen,
because they let you dedicate as much or as little of the screen to any given
application when its window is on top.

What you are after, rather, is an efficient way of having the entirety of the
windows of multiple apps on screen simultaneously. That's a slightly different
problem. I personally get by with a combination of cascaded windows[1] and
maximized windows with quick keyboard window switching.

[1] When you cascade windows such that the bottom left corner of each window
forms a diagonal line across the bottom left edge of the screen, you can
quickly select whatever window you want with a mouse, usually more efficiently
than with a task bar, since the application identity is far more obvious when
you can see a rectangle of its contents. And with choice of where each window
is in the cascade order, you can get usable data out of multiple windows
simultaneously.

~~~
davidhollander
I have found cascading to be an unhappy medium in the past. In awesome-wm,
I'll tap [Win+Space] to toggle between 100% overlapped (fullscreen with
unoccluded task bar) and 0% overlapped (multi-column horizontal). [Win+J] and
[Win+K] cycle windows. [Win+H] and [Win+L] resize the width of the primary
column in a multicolumn layout.

So let's say I have a terminal window with VIM, and a web browser with a
tutorial or documentation open up to the left of it. I quickly need to scroll
the web page down to continue the example, BUT the VIM window is currently
focused. Assuming the web browser can be scrolled using [J] and [K], I'll
simply tap [Win-K, J, Win-J] to accomplish this task while avoiding modifying
the layout or leaving the home row to use a pointing device. If I don't
actually need to display multiple columns at the same time, I just press the
change layout key to stop using a multicolumn layout.

So as a VIM user I've been very happy with this setup in awesome-wm for the
past 2+ years, but if you wish to recommend an alternative I will definitely
give it an install.

edit: I was able to write a new layout function for awesome-wm which
implements diagonal cascading in the manner you described and retains my
keybindings. I definitely agree that cascading makes it bluntly obvious which
window is the currently focused one. I'll have to play around with it more.

------
hurtmyknee
> The T42’s touchpad is hardly usable for productivity. Disappointingly, so is
> the iconic red nub.

I agree the touchpad leaves much to be desired, but I've found the nub to be
fantastic. With one index finger on the nub, and two thumbs on the mouse
buttons, my hands never leave the keyboard.

------
jurassic
The T42 was a really solid pre-Lenovo ThinkPad that had significant mindshare
among tech nerds when I arrived at MIT. It was my machine in college and the
keyboard was amazing. I'd probably still be using it if one of the fans hadn't
died around year 4. Pretty as Macs are, and awesome as the glass touchpad is,
I still miss that ThinkPad keyboard.

~~~
DougWebb
Lenovo made the T42 too, they were just the silent manufacturer at the time
with IBM putting on the branding. I'm not sure of the distribution between IBM
and Lenovo for the design and QA aspects, but IBM definitely controlled much
of that too.

~~~
mindslight
idk about the T42, but sometime between the T22 and the T60, things definitely
went downhill. So between that and anything newer only having a shortscreen, I
recently opted to upgrade to a T61 that I should be able to keep going for
quite some time.

------
shawnreilly
Sometimes it's fun to see what you can do with older hardware. I got an old HP
Laptop for free (DV6409US) and decided to turn it into my 2nd Laptop for
Startup Weekend / Hackathon events. I put in 4GB of Ram for $60 and installed
Windows, Linux, and OSX just for the hell of it. The Windows Install is
Windows 8 (ala Bizspark) and currently runs a BitNami DjangoStack with Aptana
Studio 3 and Notepad++ (Web Dev), as well as the free Visual Studio 2013 Dev
Suite (just messing with that for now). The Linux install is Ubuntu Desktop
12.0.4 LTS and I use it for Design with Gimp and Inkscape. The OSX install is
an older osx86 release of 10.5.2 (Leopard) and that was just more for fun, not
really used for Dev or any work because it's such an old version and will not
run any recent versions of Xcode. The only real problems I had were with WIFI
and USB Support on the Linux / OSX front (but I got those fixed). I use a
ThumbDrive as my Code / Graphics Repository and just boot between OS's
depending on what part of the project I'm on. With this $60 Frankenstien I can
actually build some pretty good stuff.

------
14113
The author mentioned using "Chromium with Vimium". For someone wanting easy
keyboard shortcuts (like Vim) for a browser, I'd recommend luakit.

It's a webkit based browser, scriptable (or written with?) lua, along with vim
style navigation (eg, ":open www.google.com" to go to google).

afaik, it's also available in the arch core (or extra possibly) repositorys,
which means no fiddling about with the aur! (good news)

~~~
lambdaloop
Turns out it's in arch community.

Note: AUR isn't really that bad, as long as you install a package manager that
handles it (like yaourt).

~~~
14113
ah, my mistake, I didn't check.

mm, It's still (slightly) more effort, and more prone to breaking than pacman.

------
leokun
You shouldn't be looking for bargains for your developer hardware. You should
pay for what you want, not just for what you need. You spend a lot of time
using this for your daily tasks, and it's worth it.

~~~
quaffapint
Why does everyone always have to get what they want and not just what they
need? I might want a $50,000 car, but I don't need it - this is just sad that
people feel they should just always get what they want every time. I applaud
the guy for realizing he didn't need to spend $1000.

~~~
eddieroger
Unless you make money driving, then that's a false comparison. While I don't
think "want" is completely necessary, there's merit to the point that if you
are making money off the machine and use it daily, it's worth spending some
extra money to get something you want. That may be an $80 Thinkpad, but it may
also be a $1500 MacBook.

------
at-fates-hands
I would jump ship immediately to Linux full-time if someone developed a really
good alternative to Photoshop. Something that's cross platform compatible. You
have a PSD file? You can open it with GIMP (as an example). Oh you have a GIMP
file? You can open that with Photoshop.

Right now, I have way too many people who deal with Adobe and for some stupid
reason, Adobe continues to think Linux users are freeloaders who won't pay for
the software, so they don't develop a Linux version.

I little development work I have done on Linux has been a breeze. I still hold
out hope some company will start to compete with Adobe and give us an
opportunity to get away from them and MS once and for all.

~~~
zhemao
I don't think their reason for not developing a Linux version of Photoshop is
"they're all freeloaders who won't buy the software". It's more likely "the
number of people exclusively using Linux and want a version of Photoshop for
their chosen OS is not high enough to justify the development costs."

------
programminggeek
A Thinkpad T42 is not in the same realm as a Macbook Air. That being said, a
working dev setup for $80 is pretty cool. Even still, I've gone from doing
full gentoo installs from scratch to Ubuntu, Windows, Mac, and lots inbetween
and for my time and my effort, I'd rather just use a Mac.

I'll pay for a well designed, reliable computer, so that I can do my job and
get paid very well for it. Not having to muck around with Linux settings,
drivers, config, etc. means I spend more time writing code and billing time
(if it's client work).

If your time is worth anything, you probably aren't saving anything by going
super cheap with your tools.

That being said, to each their own.

~~~
cgag
I haven't ever had to mess with drivers with Mint and my x230. I did spend
time to set up i3 and configure it to suit my workflow. I view these as
"sharpening the axe" types of activites, and don't really understand why I see
so many people saying they don't want to spend any time at all customizing the
device they regularly use for 10+ hours a day.

The only thing to miss about osx over linux is the font rendering, but I'll
trade that for a tiling window manager and a proper package manager any day.

~~~
darkstar999
+1 for mint. I had been using Ubuntu since ~2006. Got annoyed with the
direction they are taking. Installed Linux Mint. Didn't even have to install
or configure anything for my wireless mouse/keyboard. Literally zero
configuration, except for setting _my_ preferences. I don't really understand
the prevalence of Macbooks in web development. It's awesome hardware, but it's
expensive. As far as software, there is nothing I am missing.

------
danneu
I had a low-end travel laptop that turned into my main laptop for three years
when my previous laptop died.

This $80 setup sounds cheap until you realize you're paying the real cost with
your time.

You'll pay the toll every time you:

\- Have more than a few browser tabs open, god forbid you plan on running
Youtube in one of them.

\- Want to quickly open Firebug.

\- `rails server` or `rake test`.

\- Run out of 512mb after opening two apps.

\- Decide which tabs/apps to close to free up some resources.

But those aren't even the best examples since the reality is that it's nickel
and diming your time in a way you won't realize until you finally get a
machine that liberates you from all the waiting.

~~~
6ren
I think this is very true for the consumer-web (and therefore also web
development), but not if you're purely using ancient unix tools that were fast
on ancient hardware. They are incredibly fast on modern "low-end" hardware.
Git is of this school.

But to undermine my own point... can you really escape the consumer-web? Sites
like github are JS heavy and very slow on old hardware. And, in practice,
you'll want to use a PC for consumer tasks, like buying stuff, researching it,
reading news, watching videos etc.

Maybe it's worthwhile buying a _special-purpose consumer-web device_ \- a
tablet? It's optimised for the web; and the web is optimising for it.

~~~
danneu
Yeah, that's true.

But at the end of the day your minimal ancient-unix hackerbook loses its
luster when your computer chokes trying to open a Youtube link your friend
sends you over your CLI jabber client stitched together with Awk no matter how
much you hate the "consumer web". Sucks when you can't even take a moment to
appreciate some Bruce Springsteen together with your IRC channel.

Also, as a Rails and Clojure developer, I'm just trying to keep up with the
boot time of my dev tools. ;)

------
rjbond3rd
Replace the red "trackpoint" with the concave variety on eBay. It becomes
incredibly ergonomic (the concave version let's you use a fraction of the
pressure with greater accuracy).

------
icelancer
I love it! Same approach I take, but even cheaper!

I use a Lenovo T410, which you can readily acquire on Craigslist
used/refurbished for ~$250. Comes with an i5 processor, 4 GB of RAM, and the
HD can easily be upgraded. (I threw a cheap SSD in there for local DB issues.)

I'd love to use an even older Thinkpad, but since I do some local testing of
machine learning / CPU-bound processes, an i5-series processor is probably the
floor given the complexity of the models I run.

Regardless, I still love a huge PC battlestation at home (incredibly cheap for
the power) and a cheap laptop that is no-frills but gets plenty of processing
power for 99.9% of applications. Never really caught on to the Mac craze, even
when I got free Macbook Pro Retinas from my last employer when they were first
out - a sticker price of ~$4,000! Jeez!

------
tsm
I wrote Rails for a startup this summer, and had access to my own T60 and a
MBP they gave me (I also did iOS, so it was necessary). I worked on both, but
definitely preferred the Thinkpad.

I run Crunchbang, so everything ran perfectly fast (even Chrome), and there
are a ton of things I preferred:

* Using a 2D grid of workspaces (as described in the OP)

* The 1400x1050 screen--my Vim fits much better in a 4:3 screen than a 16:10 one.

* Sane package management (apt-get > brew)

* The trackpoint, which for me works great.

* Sane and configurable window management.

* Various Linux niceties, such as middle-click paste.

* A fantastic keyboard.

* Etcetera etcetera etcetera.

~~~
cgag
Tiling window managers (i3) and the trackpoint are two things I don't think I
can ever give up. I think I'm basically going to be on thinkpads for life, or
at least until other companies start adding trackpoints to their laptops.

------
jjindev
I feel like I did my best work when I got up from the keyboard and walked
around the office, maybe got some cookies, and thought of the big simplifying
idea. And sure, I have no problem banging good ideas into a commodity PC
running Linux. That is my preference, actually. They are simple and easily
replaceable.

Addendum - adding it up, I think I spent about 15 or 20 thousand USD on
various Macs from 1984 to 2000. Part of my experience might be "premium
fatigue."

------
vinceguidry
I had a T40 and used it for web development work. As soon as I could afford
it, I bought an MBP. I love Linux, but OSX gives me everything great about
Unix and none of the bad stuff. At first I hated that I couldn't use Scribes,
but then I discovered Sublime Text. The MBP is a much better machine all
around. If you're doing web work, you should be able to afford one. If not,
you should probably re-examine your business practices.

------
jamesjguthrie
I _still_ use my ThinkPad T400 running Ubuntu when I don't want to be at the
desk and need more power than the iPad. I love it!

------
jonbaer
The Thinkpad 701 series needs to be brought back somehow. It was ahead of it's
time, including the butterfly keyboard. The T42 was my next step and probably
most productive during it's time. The only thing we need to do is apply
today's battery technology to those older laptops and call it a day ...

~~~
AsymetricCom
But then you might code up a cruise missle, or even worse a industry killing
app. we cant have that. its best if you let all major corporations vet your
content from now on. you can Trust them.

------
dmourati
I agree with the price concern around Macs. That's why I let my employer buy
one for me and take it home for night/weekend hacking. A $3000 investment by
my employer pays for itself in terms of my productivity increase in what, two
months? Win-win. One feature I'll never go without again? SSD.

~~~
bulatb
Using an employer-issued laptop makes it murkier who owns the code you might
hack up on nights and weekends.

~~~
welly
The answer to this is don't work for assholes.

------
tammer
This is very true - I just returned a new macbook air because its overall
speed and display quality paled to my x31 running Arch. Not to say the same is
true for the Macbook Pros, although again, you're looking at a pretty major
price difference.

Battery life is where the real improvement has been over the past few years.

------
pteredactyl
I've been using a T60 since 2006. Still runs like a champ, but I recently
bought another one NOS for $99 on eBay. Love the look on people's face when I
bust it out at SF coffee shops

------
neoyagami
I started with a ububtu box (ubuntu 10) in a crappy laptop. And was very
usable and fun. Loved vim and gnome 2. But some times the system went a little
buggy and with a bit of effort i bought a MB unibody(the first model) since
then i use osx. More than once i had to jump to linux and its fine. But every
time i had to use eindows i cand stand it. A couple of years ago i was
diagnosef with LHON and started to lost my sight .( not completely and now im
recivering it) and ctrl+scroll with inertia zoom integrated into te system had
keepeeng me still in the game of development. A similar tool also is
integrated in the iphone.

------
FollowSteph3
Has to be paid by the hour. The time to wait for things just does not make up
the savings...

