Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
I swapped my MacBook for an iPad+Linode (yieldthought.com)
634 points by moconnor on Nov 2, 2011 | hide | past | favorite | 338 comments


  One fateful day, VMWare and OS/X conspired to trash my
  shared filesystem, losing several days of uncommitted
  code in the process.
Several days of uncommitted code? We need to have a heart to heart talk about your process.


This is really true. Back then we were still using CVS, and I was writing a feature that I thought wasn't quite big enough to branch and remerge for, but turned out to be a bit more involved to get right than I'd thought.

Now we're on Mercurial and life is better.

Edit: A nice win with the Linode is that they back it up for me for $5 a month. Sure, there are solutions for the desktop too, but somehow I never got around to using one of those.


There are two kinds of programmers: Those who’ve earned their experience the hard way, and insufferable know-it-alls who parrot whatever was in the last witty blog post they read.

There’s zero shame in being the first kind :-)


What's the URL to the blog post where you read this? :)



Recursion abuse!


i think i'm in a wormhole!


And one shame in being the other : P


I would observe that with DVCS, if your hard drive crashes you can still lose several days of unpushed code, too. I recommend and use cron jobs to push and/or rysnc things around on a more frequent basis for my really important stuff.


This is why I keep my working copies in Dropbox


second that... my working folders are dropbox... and commit to cloud git repository as needed.


Same here. I had some sort of electrical problem with my last computer and lost my hard drive due to it. Unfortunately, my back-up drive was also plugged in at the time and it got fried, as well (really bad luck/timing there).

One of the first thing I did when I got the new computer was to put a symlink to my projects directory in my Dropbox folder, so that all of my projects now get backed up to Dropbox automatically.


We keep our main repository in under dev/$PROJECT and backup repositories under user/$USERNAME/$PROJECT. Then we set a post-commit hook to push to the backup server on commit. Setting up the backup and creating the hook is done by a shell script you run after cloning.


Raid and rsync are your friends. Use them.


I'm always doing

  git push origin develop
for this reason, but some environments probably don't allow you to do this easily? I work alone. (EDIT: be nice to people)


We typically work in personal feature branches before merging into develop; if you use a similar workflow there shouldn't be much issue at all from pushing constantly.


Can you protect from other folks pulling it? Sometimes people just don't want to reveal their code while is ugly...


Gitolite[1] will let you mark branches as private on the remote either by specific branch name or a regex (ex: any branch that starts with "swah-" is private to you) if you want privacy before revealing your code.

[1] http://sitaramc.github.com/gitolite/


Dropbox fixes this.


You could buy a second hard drive and put it behind your other drive and occasionally copy important files from your front drive up to your back drive.


Works great until your computer/home/office catches fire.

Personally I have a mirrored drive set that I use as my primary storage, and a third disk that I rsync to nightly and use for backups of other stuff, because I don't trust that I won't have filesystem errors or controller problems that might render both disks in the mirror unusable. Then on top of that I use Crashplan to ensure I have an offsite copy.

For most of my code I also push to github or private external repositories regularly and/or pull to my laptop.

Maybe a bit paranoid, but I've had to recover from enough scary hardware and software failures over the years to not want to take risks.


Or use TimeMachine if you are on a Mac.


No, if TimeMachine screws up a file it stays screwed up for ever after every backup, there's no integrity checking. It also completly barfs on large files that change little by little. The best example of that is the entourage mail store, but any single file db will do. I've seen clients bit bad by these problems. Don't get me started on the time capsule...


Option-click on the Time Machine menu to verify backups. Sleep well.


What should we use instead?


Linus's solution is to write software that people run and use daily.


Point your Time Machine backups at a NAS that's using ZFS with block-level deduplication.


What's wrong with a remote branch you push to and then merge back into master afterwards?


Was my second sentence really that incomprehensible?


Thanks for sharing. Did you consider switching to a smaller laptop like a Macbook Air / Netbook?


No, I wanted to try something radical and crazy and new. Frankly, I expected to be back on my MacBook by now. This has been as much a surprise to me as anyone!


I tried out an iPad app called Koder, it was nice but still lacked some things.

Your post has got me wondering about Vim again.. :) Making the switch to Sublime Text has got me appreciating a more shell-like interface for some things.

Have you ever found yourself wanting to code and not have an internet connection? I think that's a pretty rare scenario, I'm rarely offline.


I haven't wanted to code offline for months. Maybe if I flew for more than two hours I'd miss it. Even the trains have wifi in Germany.

The few times I have wanted to code offline, I've also wanted to look something up >.<


Haha, that's really true. I rarely code offline, maybe it's just another umbilical cord that we should be examining.

Between having tethering and generally ubiquitous tethering, we should be good.

I think I want to try getting into VIM again. Is there a good resource site you like, where I can find a decent guide and some pointers on where to find some language dictionaries? Totally off topic but I'd appreciate it.


I recommend just running "vimtutor" in terminal once you've installed Vim. It's the best introduction. Far better than the online tutorials that sometimes pop up on HN.

Once I got the basics down (15 minutes in vimtutor), I noticed enough productivity gains to use it immediately for note taking and scripting. Then I just decided to jump in and use it for a real project. I learn new hotkeys, plugins, and config tricks every week and I just feel my productivity inch its way up and up.


Vim on my 11" Air is excellent. SSD is nice and fast, and I wonder if the total weight is less than the ipad+bluetooth keyboard.


Nope, Ipad: 601 g (613 g for 3G), 11" Macbook Air: 1080 g, I was unable to find the keyboard's weight but it can't be 400 g.


According to Amazon the keyboard weight is 522g.

http://www.amazon.co.uk/Apple-MB167B-A-Wireless-Keyboard/dp/...

Making the Macbook Air 11" the lighter option.


That is the boxed weight for shipping.

I have the wireless keyboard (the older three-AA revision) and it's comparatively lighter than my 7" Tab, which is 380 g.

edit: Charlie Stross says 325 g for a four-AA revision in http://www.antipope.org/charlie/blog-static/2010/05/ipad-wri.... Macworld says 323 g in http://www.macworld.com/article/150600/2010/04/ipadwhichkeyb...


My Apple wireless keyboard (model A1314) has 2 AAs, have there really been that many revisions?


I don't personally recall the four-AA revision. Wikipedia links to Apple's press release http://www.apple.com/pr/library/2003/09/16Apple-Introduces-W... which confirms four AAs.

My keyboard, bought in November 2008, part number MB167LL/A, definitely takes three.

Current revision available on Apple's website is MC184LL/B and that one is well known to only require two.


It's more difficult to setup, but it's wonderful to have a dedicated development cluster. Put everyone's home directory on a dedicated file server, which uses NSF to be global to the cluster. Then you can do automated backups on the file server - hourly, nightly, monthly, whatever. There are file server appliances which are configured for this sort of thing.

When you do this, much less important data is stored locally, on developer's actual machines.


Insightful, and so close to a haiku as well...

Here's an attempt:

  Mac lost my data
  Many days of work gone
  Cloud to the rescue


  It's the poor craftsman
  Who points the blame at his tools
  Y U NO COMMIT?


winner


  There once was some data I lost:
  Days worth of work just got tossed!
  So I decided to write code
  On an iPad plus Linode
  Getting backups for minimal cost.


If I may offer David Dixon's classic?

       Three things are certain:
       Death, taxes, and lost data.
       Guess which has occurred.


Mac lost my data

Many day of work gone

Learn to commit more


Can I get this on a t-shirt?


yours is not quite a haiku either.

    you say its haiku
    but you missed a syllable
    in your second line


Meta-haiku?


The cloud went down

Cannot get to my work

Twiddling thumbs feeling dumb


Variation:

The cloud went down

Cannot get to my work

Throwing birds at pigs


Welcome to the hacker news sub-reddit.


This.


It was a joke. I can't delete it now.


  crafting great software
  takes many small commitments
  like playing Jenga


So this is why Even if you are u63r 733t Time Machine still rocks


So, this is something i worry about.

I'm using time machine for backups, so i don't think i'll lose much ... but i'm sorta hazy about how i should be using svn for all these little incremental steps. I'm uncomfortable with committing code that's going to break the whole system.

Should i be creating a branch for projects longer than an afternoon, and just committing that fairly often? I feel like eclipse's history is working okay but i have a vague paranoia i'm doing something dumb when i see comments like this.


The major workflow shift that involves the skies parting and mana floating down from heaven when you switch to a DVCS (git, hg) is the ease and lightweight nature of branching.

Having used git for four years, I now feel absolutely filthy if I'm not coding on a branch. If I start coding anything, I make a branch first, because the overhead is nearly zero, if I screw something up I can easily revert, and the downside of being scared to push code is too great.

Example: Yesterday I started a new feature. Step 1 was to branch from our develop branch. A bit into the coding I realized that this feature was going to take longer than expected. I committed what I had on my branch and pushed it to the remote repository (github in this case). This affects no one else, because the code is on a branch.

What really makes this possible is that merging is so easy. Branching and merging in svn was scary. I was never sure if something horrible was about to happen. With git (and hg) branching and merging is the expected behavior, and it's easy.

Always being on a branch also makes it easier to deal with interruptions. "Hey, there's an emergency, can you fix Foo?" No problem, commit what you have on your branch (or use `git stash` which is amazing) and jump back to the branch that has the code you need to fix. Need that fix in your branch as well? You can merge or simply `git cherry-pick` a single commit across branches. You no longer have to worry about the dreaded "Did I already merge this? What if I merge it again, what will happen?"


This. A thousand times this.

I use perforce for my daily work, and all too often I'll get to a stopping point and think to myself that my approach isn't working - usually I'll wrap my stuff up in a changelist and save the diff off to a file. Then I need to revert to latest and start my work from there.

It's not hard, but it's slightly painful, because if I wanted to try different approaches I end up having dpks lying around on my disk which have no easy relation to what they contain.

I've been tempted to install Hg and use it's branching mechanisms on top of perforce, but I'm not so sure my workplace would condone that (plus, Hg + perforce may not play well - I'm not sure).


Um ... you might want to try `p4 help shelve` first. Shelved changelists are basically the same as a "git stash" - but they're stored on the server, so other developers on your team can review a changelist before you actually submit it. One of my favorite Perforce features, actually.


Changelists are a feature I really miss in other source control. It's nice to be able to keep orthogonal changes separate


With SVN, probably, but the branching just feels heavyweight so sometimes it's hard to motivate. Git with the "git flow" addon seems like it'd be a better fit for you. Being able to checkin in "to your feature", as opposed to waiting till it's done and ready, feels great.

It's also not just about avoiding data loss. If your feature starts going off-course or has a bug, you can look at previous revisions to get fixed up.


As others have pointed out: you're using a tool that makes you not want to commit very often. Change to a tool that doesn't have this problem, there are nice ones out there now.


"I'm using time machine for backups, so i don't think i'll lose much"

Time Machine is great, but as others have mentioned that may not help if the building catches on fire. It's good to also have your stuff backed up at a different location, preferably in a different time zone. :-)

Edit: Like others, I use DropBox for stuff that doesn't really warrant a full-blown source control system. It's very easy to just right-click, compress, then copy the zip to the DropBox folder.


There once was a man with a Mac

One day his VMWare went wack

So he picked up his code, went to Linode

Which now handles all of his stack


As I read the article I knew something like this would be the top comment on HN ... :-/

Apparently lots of people make this mistake.

Is it stupid? Maybe. Probably.

Do we need to have a lengthy discussion about it every time it is a minor part of a story or article? I'd rather not.


How about if he is using Git? It is normal to work out of your local repository and only sync with the master occassionally, no? At least on projects that can tolerate such methods.


I push to a personal remote at least twice a day. Not doing so is asking for trouble.


And I agree- I am a veritable slave to keeping my data syncronized- but I recall many people lifted up the local repo idea, and being able to sync twice a week, as the herald of the future.


Well, you can pull from upstream twice a week. And you can keep a master on a computer in the next room.

(I'm also not terribly worried about my Air or my Hackintosh giving up the ghost, so...)


I highly recommend upping this closer to twice an hour.


I said "at least". ;) It's really more like "oh hey, I just committed and it works, might as well push while I'm here." Usually every 3-4 file changes or so.


Probably using SVN or CVS. Everyone I know used those systems that way but moving to a modern RCS usually gets people checking in a lot.


Even back on svn I tended to use svk (not in offline mode, just for workable merging) and branch for everything - keeping to a rule of "it compiles? commit it" and then only caring about everything working when you merge saves data loss and has the advantage of keeping your thought process, even when that process turned out to be wrong.

CVS? I think I've forgotten how I used that, thankfully.


For anyone who spends their day (or most of some days) in a terminal connected to a remote server, I can't recommend using GNU Screen enough (brief tutorial: http://www.kuro5hin.org/story/2004/3/9/16838/14935).

I've worked almost exclusively on remote servers, using the command line and vim, for about eight years now. It's only been in the past year that I started using Screen, and I feel stupid for not using it sooner.


Since we're pimping terminal multiplexers, I quite enjoy tmux (http://tmux.sourceforge.net/). I used to use screen, but found tmux to be faster, smoother, and have more logical key-combos (your mileage may vary).


I saw two people below who say they prefer tmux over Screen, so I just looked it up. What I care about most is persistence; I use multiple terminal sessions if I want to have multiple windows. Did you find any difference for that feature?


I've been using screen for years, and just switched to tmux since so many people have been raving about it. The reasons I switched were:

1/ Configs for status prompt were easier to grok

2/ Actively maintained. I used to use vertical split all the time and tmux had that where as gnu screen required hack patches.

If you only want persistence, screen, tmux, dtach do pretty much the same thing.


I used to use screen, but then moved on to tmux.

Main reasons for my move were

* Tmux handles split screens better (had horrible lag in screen, its a known bug)

* Panel and window navigation is easier in Tmux


Can you explain your question better? I don't understand it enough to take a shot at an answer


The only feature I care about is persistence. Is there a difference between Screen and tmux regarding persistence?


If you only need persistence, look into dtach. That's all it does.

Both screen and tmux offer multiple persistent sessions, the difference is the command syntax.

Back when I was deciding on a terminal multiplexer I picked tmux over screen because session sharing seemed to be done in a more sane way. But then again, had I used screen for any length of time I'm sure I'd have gotten used to it.


Looking briefly at dtach, screen's handling of named sessions seems to be marginally better, so I'll stick with it.


No.


And anyone who uses GNU screen ought to know about Byobu, which makes screen a bit more visual and easy to navigate. Especially perfect for headless instances.

Not wanting to leave it is why I've not spent much time with tmux. Is there something similar for it?


Ah! This is excellent! byobu appears to make screen configuration (particularly status lines) easier, while otherwise keeping out of the way. I won't be switching to F-key controls right away (I have a soft spot for the iTunes and volume bindings on Mac keyboards), but since byobu only speaks when spoken to, it is a welcome addition to my workspace!


Great! You can switch between screens using Control-A and the screen number. I hadn't even known about the function keys until now.


Also $ESCAPE-space and $ESCAPE-backspace move sequentially among screens. control-a is screen's default $ESCAPE, but it's a poor choice given the use of control-a for beginning-of-line. I'm pretty happy with backtick (`) with no modifier now that I'm using $(...) for bash sub commands. You can't use byobu to change $ESCAPE to a sequence that doesn't use control, but it is easily set via "escape ``" in ~/.screenrc.


FYI, for the expected control-a behavior press the 'a' again after control-a.


Yep. But "control-a" is a muscle reflex, and using anything else will make a certain set of users (at least emacs users) much happier.


I've been using screen for over 16 years now. The only time I have code on my local machine is if I'm writing code to interface with hardware directly or developing for a console like the GP2X. Otherwise, my computer has mostly been a terminal to servers out there which I never physically get to see. I can switch between machines at home or at work and resume my screen session.

In other words, it seems like I've been working in 'the cloud' for the past 16 years and it can appear to me that everyone else is slowly catching up to this nifty idea.

The reality is that trends swing between thin and thick clients, centralization and decentralization. They are competing forces.


What about lag? I find sometimes on bad connections that tmux lags quite a bit (in Sweden, sever in UK). How do you deal with this? Surely packet loss and latency must've been a bigger problem a decade ago.


Lag, well I used to dial up from South Africa, to places in Europe or the US. The call was normally blue boxed over analog satellite lines, one or two hops to a geostationary satellite and back. I used to bring my speed down to 7200bps since it was the most stable. I tolerated that because I had no other choice, and you learn to type very accurate that way and pause at certain moments because the next command will be a bad idea if you get the previous command wrong. (e.g. cd /tmp/bar ; rm -rf foo )

Things have improved for me a lot since. It does help that I live in the UK now. I believe nowadays within Europe something must be wrong to notice the difference (especially with SSH compression and screen), and the latency between the UK and the US has improved so much recently that I've forgotten that most of the servers I've been working on the past year is on the other side of the Atlantic.


Here's a very quick crash course in GNU screen, getting you up to speed with the core components: https://github.com/cdzombak/crashcourse/blob/master/courses/...


Quick, brief and to the point. I like the style. If only it existed when I was learning screen, much better than the man pages for sure.


If you require a gui, NX is indispensable.


Since I had to look it up, to save others my effort:

http://en.wikipedia.org/wiki/NX_technology

Looks pretty good. Bookmarked for whenever I need a good remote desktop.


It is the most useable remote desktop system I have ever used. On a medium-speed link it is nearly seamless, which is a lot more than I can say for RDP, VNC et al on a direct LAN connection.


My only very minor issue with screen is that it ignores window resizing escape codes. I have my .vimrc setup to resize on start/exit and screen doesn't care at all. I am totally vain I know.


Screen is great. Though not it's fault, the only downside is that it cant persist through a machine restart.


Nope, but you can script both screen and tmux, and have it automatically start a screen session for you when you login.

I've got a little bash script for my VM that launches tmux, and starts a development web server in one of the windows, and tailing logs in another, and then dumps me into my project directory.

I also found tmux much, MUCH easier to script than screen.


Any good resources you'd recommend for scripting tmux?


I just googled around, read the man page, and eventually came up with https://github.com/pavellishin/dotfiles/blob/master/bin/vodk...


This is true, but:

   11:12:52 up 44 days, 54 min, 63 users
The machines I connect to are restarted rarely. I expect this particular machine to be up until Christmass time, at which point there will probably be some scheduled maintenance.


Can you say the same about your workstation? Can you say the same about your power grid? Can you say the same about your internet connection?

Screen/tmux/dtach are so trivial to implement and use and make the connection much more bulletproof that if you foresee there ever being a possibility that you might disconnect and lose work, then you should probably be using one of them.


I think you misunderstood me. I'm the person who said how great Screen is at the top of this thread. My uptime comment was in response to someone who said "the only downside is that it cant persist through a machine restart." That's not much of a downside for me because the machines I have my Screen sessions on are down so rarely - literally, less than half a dozen times a year.

In other words, I use Screen when I connect to remote machines. Those machines go down rarely.


You are 100% correct. My apologies.

My point though, which I'm sure you'll agree with, was to preempt the idea that "my machines don't crash, so I don't need it."


This is my workstation at home:

    %uptime
    11:49AM  up 143 days, 17:08, 1 user, load averages: 0.00, 0.00, 0.00
My internet connection has been up for the last 65 days (yay for actually logging data). I don't keep remote connections to servers as I do all my work on my workstation and push when needed at which point my servers automatically pick up the changes and put them into {testing,staging,production} depending on where I push.



Just went and checked it out, the specifically list screen as something they'd like to support soon, but that doesn't work (I think because "Multiple processes with hierarchy" doesn't work yet).

So... maybe someday, but not yet.


I've never restarted my Linode ;-)


What about when a kernel update is due? Is something fancy like live patches (via http://en.wikipedia.org/wiki/Ksplice or the like) happening or are you simply skipping security updates?


Well, I've only had it for a month. No, I'm not going to try to do anything fancy, the machine will go down for kernel updates just like any other.


byobu is fantastic as well


This has to be the most ergonomically inefficient set-up ever!

I also cannot fathom how to work with < 2 big monitors (> 21" at least). And a tiling window manager. And a decent mechanical keyboard... ok ok..

Interesting setup. I'd be interested in knowing how it works out in the long term.


Once upon a time programming was a lot of thinking, a little typing, and even less compiling. Maybe even some pen+paper and chalkboards. If you go back to that way of programming, I don't see why poor ergos would be a problem.

Certainly not "in vogue" and I don't know if it's feasible today. Still an interesting thought.


why did this get downvoted? it's a valid point.

This is actually the first time i've seen a downvoted comment that i just, really can't understand why it was downvoted. Anyone care to explain?


I have seen this kind of thing more and more as of late. I have concluded we are beginning to see downvotes used as "dislike" rather than "disagree".

For example, suppose I posted a comment irrefutably proving that Ruby was the worst programming language ever written. A year or two ago, I would have been upvoted for making useful observations. I suspect today I would be downvoted, because people like Ruby.

Note: I have nothing against Ruby. It is an example.


The way I see it , downvoting is intended for comments which are "bad" (irrelevent , rude , incomprehensible , just rehashing what has already been said etc) this makes sense because downvoted comments are made harder to read.

Just because most people disagree with a post does not necessarily mean it is not worth reading..

Pherhaps there should be a seperate disagree button but I don't see what purposes it would serve , when I read a comment I decide whether or not I agree with it , whether other people do or not does not matter unless they are pointing out factual errors.


I'm also ok with downvoting for comments which you "disagree (factually)", aka you strongly believe the comment is simply objectively incorrect.

For example, if I made an unsubstantiated statement that "Water is composed of Hydrogen and Nitrogen", that would be worthy of downvotes.

Where that gets tricky is when someone asserts something couter to common wisdom, but attempts to substantiate it. You then need to evaluate their defense first.


I'd say it's worse if you make an unsubstantiated statement that goes with the common wisdom than when you go against it. At least when a comment goes against common wisdom, substantiated or otherwise, it can spark interesting discussion. A rehash of commonly held beliefs generally doesn't spark anything that interesting and amounts to little more than noise.


Yes, that is true but in the case of someone asserting something counter to common wisdom then I would err on the side of caution and not downvote. Better to reply directly and point out why they are probably wrong if you have the knowledge to do so.

What really depresses is that they have a similar system on the comments for various UK newspaper websites (Daily Mail I'm looking at you) and you often find that the most uprated comments (which are then displayed at the top of the comments section) are arguments that allot of people may agree with but the arguments (and often the spelling) presented are just terrible and usually consist only of an Ad hominem attack on some person or organisation.

I generally find a thoughtful defense of an unpopular viewpoint a much more interesting read than somebody who thinks they are clever by posting some content free attack on something that is trendy to hate.

Ok, this rant is way off topic now and thankfully this sort of thing seems to be mostly absent from HN :)


I'm mostly with sliverstorm (and upvoted him). People often wonder why I'm working on a 13" Macbook and ask if the display isn't too small. That's when I point to my head and tell them that's where the action takes place, not on the keyboard or the screen. (Obligatory: http://www.folklore.org/StoryView.py?project=Macintosh&s... )

That said, decent ergonomics are almost always a good thing. Even if you're not typing a lot, you'll probably still spend a lot of time looking at the screen. Having a bad setup maybe doesn't matter for your wrists in this case but it can still be detrimental to your eyesight and of course your back.

Maybe that's why sliverstorm got downvoted: there are good reasons to care about ergonomics even if you're not typing a lot.

(For what it's worth, my excuse is convenience: I'm working in lots of different places and I can't be bothered to lug around a huge notebook or an external keyboard. Before the age of notebooks I used to have a fairly ergonomic setup with a big screen and the awesome 1st gen Microsoft Natural Keyboard, and I often do miss it: maybe I'll return to such an "immobile" setup next time I have a job with a desk.)


> Having a bad setup maybe doesn't matter for your wrists in this case but it can still be detrimental to your eyesight and of course your back.

I'm 33 and a year and a half ago I was diagnosed with degenerative disc disease in my neck from spending many years hunched over looking at things. I am extremely near-sighted (legally blind, actually) and that's the only way I can see to do... well, pretty much anything.

I do a lot of stretching exercises now and have a ridiculously expensive pillow, which both help a great deal. I'd recommend them to people who do a lot of desk work.

http://www.spine-health.com/conditions/neck-pain/neck-stretc...


Ah, a fellow Natural Keyboard (Pro?) user! I buy a bunch of those used. However, the recent Microsoft Comfort Curve Keyboards seem to have an even better keypress feel for me.

YMMV.


This is actually the first time i've seen a downvoted comment that i just, really can't understand why it was downvoted. Anyone care to explain?

Occasionally an unintended downvote happens when someone on a touchscreen tries to scroll or upvote.


Not just lack of screen space but looking "down" to your screen even tilted on a table will wreak havoc on our neck/spine which extends to your extremities (and head) quickly. Simply slouching and tilting your head up pinches nerves in your neck which leads quickly to wrist/arm pain.


Yes, "text neck" is a serious problem with working on laptop/tablet. Using an external keyboard would allow for proper placement of the display on a desk. But manipulating the iPad via swipes while positioned at head level could lead to shoulder problems!


The wireless keyboard is really good; it's not quite as nice as a mechanical one, but it's easily better than a laptop keyboard.

If I ever go back to my MacBook, I'll take the keyboard with me.

I have a tiling window manager. It has one tile.


I think you may be missing the point about mechanical keyboards, my friend.

The appeal of a mechanical keyboard stems from the switches under the keys that offer varied pressure curves, pressure thresholds, and physical feedback (depending on the switch type).

Both the apple wireless keyboard and MBP laptop keyboard use scissor switches which are the typical laptop keyboard switch type. Some people like this switch type, some people do not.

But if you're to say something like "it's easily better than a laptop keyboard" you can only make such a claim based on size or number/position of keys, since both use the same switch type. I'd wager a guess that the nature of the key switches is probably what your parent is interested in.


I have a 13" MBP and a USB apple keyboard. The keys really feel different, despite same layout. External keyboard has easier to feel clicks and requires more pressure. Could be the use on my laptop, though (2 years vs 1 year).


You may be correct in that instance, then. The older USB apple keyboards likely use rubber membrane key switches rather than the scissor switch type. In which case, the feel of the keys would definitely be different. I personally was referring to the newer apple wireless keyboards.


I have a 2010 MBA, a 2010 Apple Bluetooth keyboard and a 2011 Apple USB keyboard (with number pad). They all feel different, even if the switching mechanism is the same - the Bluetooth one is best (by a long way).


There is only one time that my batteries die on the wireless: When I don't have fresh ones nearby. Also, some server firedrill also increases the probability exponentially.

I'm sure it's a consequence of thermodynamics, but I can't explain it.


A tiling window manager can definitely be a huge productivity booster. Perhaps even more than adding an extra display, which is often said to be the cheapest way to improve productivity. A tiling WM costs nothing.

I've even started working comfortably using just one display now that I've changed to using a tiling WM. With a floating wm, I needed at least two large displays to work comfortably. Lots of that screen area was wasted just by showing a little desktop in between of poorly arranged windows. I'll never go back to floating windows with frames and decorations.


Mission Control on OS X on a laptop is also a huge improvement over overlapping windows. Swiping between full-screen apps becomes second nature very quickly.


""Perhaps even more than adding an extra display, which is often said to be the cheapest way to improve productivity.""

And which can also be a way to decrease productivity, with distractions etc. I am more productive on a smaller screen laptop than I am on a 2 screen set or even one larger (21, 27") screen. Mainly because it helps to focus on the task at hand.

We also didn't have 2 large monitors to each workstation back in the day, and somehow we did fine. Spoiled much?


We used to program with punch cards... so yeah we're spoiled and damn happy about it.


Evoking punch cards?

As a programmer, you must know about diminishing returns, right?


Nevermind diminishing returns, how about full circle? Eventually all of this abstraction will become so hard (and buggy) to maintain that we'll go back to using punch cards.


Personally, I get more work done at the office where I have two screens. When I'm at home on my laptop, I notice a difference in productivity. It's not a huge difference, but it's noticeable enough for me to want to buy a nice 27" the next paycheck.


As someone that's easily distracted I've found Lion's full-screen support is quite the blessing if you're trying to focus on getting things done.


I used to program with a 24" monitor. Then I switched almost exclusively to my 13" Macbook/Pro and haven't looked back.

The screen is just the right size to fit two 80x25 text editor windows side-by-side when full-screened. Swiping back and forth with Mission Control is almost as quick as switching your glance from one big monitor to another. Having your "mouse" right below your keyboard makes clicking something only marginally more time consuming than contorting your hands to hit an Emacs command sequence.

Probably still faster with the big setup, but I get a lot of mileage out of my little setup and I get a huge productivity/creativity boost from being able to wander around the house, head to a Starbucks, etc.


Neat bit I picked up on from Mission Control; if you're using the trackpad swipes (vs ctrl-arrow) to switch, if you don't swipe all the way (roughly 1/3 screen), you can "peek" over at the next space w/o switching and spring back when you let go instead of having to swipe back.


Wow, thanks!

Mission Control is pretty fricking awesome.


Do you guys use Mission Control with multiple browser windows? It doesn't work for me.

I find that when I have 3 Chrome windows open in one 'desktop', when I swipe to the other one and click Chrome it sends me back to the main 'desktop' where the other 3 windows are.

I don't want to have to use Firefox or some other browser in my other space.

How do I use Chrome in both, or is that not possible?


Having multiple monitors isn't good eronomically IMO. I always prefer what I'm working on to be on direct center, and I don't really see the point of having other stuff that isn't direct center. I prefer to alt-tab.


I have a large monitor on an arm in the center flanked by monitors to either side. My main monitor just has a full-screen emacs. The other monitors are for peripheral information such as browsers, irc sessions, email, etc.

It's great for keeping API docs open while I'm working without leaving my editor.

Having the center monitor on an arm just lets me adjust it's height when I move between leaning forward, slouching, or sitting straight, standing, etc.

A single monitor is limiting as it requires more context switches as I swap out windows in my viewing area. It's much nicer to just leave all the important windows open in a nice grid that spans multiple displays.


I love 3 monitor setups, with the big one in the middle and two cheap small ones on either side. All my input (editing, browsing, etc.) happens in the big fancy middle window. Test logs on the left, and server logs on the right.

The only time I use the side monitors for anything else is if I'm following along with a screencast.


I get it: I used to use 3 monitors.

I just have found that if you want to read something, I prefer it to be on the center monitor anyways, so what's the point in having multiple monitors?

Plus, I prefer to work on my laptop screen, because it's more flexible - I can put my feet up, move around, change positions easier.

Just my own personal preference


I have recently started using a laptop underneath a big honking monitor. It is fantastic. You get a second screen (down low) for stashing things like shells or firebug and looking at the big monitor (up high) forces good posture. Going back and forth feels more natural than looking left-right. Switched away from equal sized dual monitors. Never looking back.


I use 27" Dell for my Java development and 11" MacBook Air for Javascript. The bigger screen is essential for pair programming but 11" is almost good enough for most purposes. Its size causes most problems when I need to inspect the dom inside a browser.


Seconded, thanks you saved me a lot of typing. :-)


There are a lot of comments here from people acting as if not having two 24" monitors and a full mechanical keyboard would drastically diminish their productivity. This year I spent 4 months out of the country with only my 15" laptop while still working 8 hour days. I was surprised to find no change at all in how long it took to get shit done. I think we tend to kid ourselves about how much of a difference expensive equipment makes.


I think it depends on numerous factors. For instance, I have spent so much time at a Kinesis keyboard that a laptop keyboard slows me down. Not by orders of magnitude, but enough to be annoying.

I used to exclusively work at two 24" monitors. Then I switched to a tiling WM and from many years on OS X back to Fedora. I found that the WM/OS switch improved my productivity to the point that I was better off on a 15" laptop with those two changes than before them on two monitors. And the setup was around $2,000 cheaper.

Now my ideal setup is a single large monitor along with familiar peripherals (Kinesis, trackball), xmonad, and Linux. If you'd told me a year ago that I'd be happier with one monitor than two--or nearly as happy on a laptop as a desktop--I'd have said you were nuts. But, here we are.

I agree that the difference in productivity between the worst-case (Mac laptop) and best-case (Large monitor; peripherals; xmonad) is not orders of magnitude. But I would say that over time it has come to approach 2x, which is not at all insignificant.

And I think "expense" matters little compared to "comfort". If a keyboard that didn't cost $250 was just as comfortable for me, I'd buy it. In the case of this particular switch (laptop -> linode), the comfort level would be close for most tasks as I already live in Vim and things with Vim-like bindings. But the totally new window/peripheral interface would definitely slow me down. I've spent enough years comparing environments over long periods of time to know that.


Yes, this is something I wanted to say and somehow didn't: one personal take-away from the experience for me has been that programming, ultimately, is thinking.

All the technology in the world doesn't make me think faster. The most I can ask from it is that it gets out of my way and lets me search, explore and express myself efficiently.


Exactly. A subtle change to our workflows where we force ourselves to think about the problem for a minimum of ten minutes prior to coding will provide more benefit than any piece of equipment ever could.

Not as sexy as a new cinema display though.


> programming, ultimately, is thinking.

I very rarely feel slowed down by my environment. It's possible for it to happen, but most of my time is spent thinking about a problem, not typing.


I think a lot depends upon what you're doing.

Most of my coding is done in an ssh terminal using screen/vim. For this task I find myself most productive in a laptop. If you can get used to a laptop's touchpad you can be very productive because I find the time to switch between touchpad/keyboard is much less than the time to switch between a standard mouse/keyboard. The small movement of the touchpad isn't a big deal because the viewing space is small enough.

When using a full blown IDE I find myself most productive on a large, high resolution monitor, mainly because of all the surrounding stuff IDEs add - small displays just can't display enough code for me. However, touchpads are no longer efficient because it takes too many swipes to move across the screen, so I have to use a standard mouse+keyboard, losing some efficiency.

Usually, I find myself wearing two hats - monitoring production systems while coding. Multiple monitors are invaluable here, allowing you to delegate monitoring to 1 or 2 screens fulltime, while you use the other for coding. This way you don't have to mess with alt tabs, you can just take a quick glance when you want to.

One thing I've found invaluable with a multiple monitor setup (I'm currently at 4, laptop not included) is being able to move from monitor to monitor quickly. I use global hotkeys for this - ctrl-1 moves my mouse to the first monitor, ctrl-2 moves my mouse to the second, and so on. Without this I found myself spending far too much time moving my mouse around the screen to truly find them useful.


I don't know - I find that smaller screens tends to mean more context switching. I often need to move back and forth between more terminal windows / virtual desktop / screen sessions where I'd just split my emacs session horizontally and/or vertically when I'm on a larger screen. The latter makes direct comparisons, cut and paste and working on things that cross files easier (e.g. writing a test and filling in code that correspond to them side by side)

I'm not sure how much a small screen would or wouldn't actually slow me down, but it feels more tiresome to work on a smaller screen.


That really depends on what you are doing. I can scripts as efficiently on a laptop. Larger projects get tougher as I normally want to see a library/another source file on another screen.

Systems debugging is where you really want the space. I often have 4 terminal windows open at once - you need screen real estate for that.


I think that most people aren't saying that they need the two monitors, laser mouse, etc. It is more of an issue of what helps them work the best. I spend most of my day using vim in a screen session on a remote server as well, but if I switched to this setup I think I would feel cramped. Sometimes I open four terminal windows at a time and have firefox behind them in order to get something done. Sure, I could accomplish the same thing with the iPad, but it would feel like a lot more work. Resistance has a tendency to suck away productivity.


Yeah I been working on a laptop on a dining room table for the last week. I think I get more done, it has been so uncomfortable that I do only what is necessary, no reddit or HN breaks to slow me down.


For the past 10 months, I have only used a 15" MacBook Pro, and I've been wonderfully productive. Before that, I did most of my dissertation (coding and writing) on a 13" MacBook Pro.


It's interesting to see that other people are noticing how poor the google web experience has become on iOS. It seems especially deliberate when I note that android & chrome use webkit.

I've even swapped the default search engine to bing because it provides a better layout, especially so for image searching which in my view is broken on iOS.

This from the company that just released tools to aid the transition to mobile web.

(and yes, I'm aware that they hate each other, but why should I be punished? reminds me of the MS from yesteryear.)

Also: there is general feedback that google's optional services are generally quite good, which makes it curious that the originally very good google search/image search was replaced with versions that aren't up to scratch.


Anyone who thinks Google Docs is better on Android due to anti-Apple conspiracy clearly has never used Google Docs on Android.

Also, outside of Google Docs, Google has first rate support for iOS on the web. Gmail, Voice, Reader, everything runs brilliantly on iOS. In fact, usually better than Android, as they clearly see web as their primary in to iOS compared to Android (example: Voice is the snazzy HTML5 newness on iOS, while Android has the spartan 1995 grad student webpage styling).


I wouldn't call the mobile support in Reader "frist rate". Some of the UI elements (especially the "mark as read", "email", etc. links at the bottom of each post) are too small, I constantly expand the next post when trying to email one. A small detail, but one that drives me crazy.


No need to ascribe malice; the Google web experience is bad on Android too.


You Mac people are so entitled. Tell me this, how come I can't dual boot OS X on my Windows PC?


Let me dissect how this reads to me:

You <recipient of person who seems to be against my loyalist brand> are so <random ad hominem attack>.

Tell me this, <ignorant contrasting scenario with seemingly no knowledge that IT is more than just writing code for platforms> ?

I could sit here and list all sorts of analogous scenarios to the one you've questioned above, but I'd be wasting my time because you're not interested in that, if you were you could search for that information.

Now I ask you a question: Do you think your thoughts make a meaningful contribution to these forums? Perhaps you should consider somewhere with a one-sided bias if you're not comfortable hearing contrasting ideas and opinions from different minds. Perhaps you could gain maturity by being able to cope with the view points of others (which you're not going to change with such transparent arguments.)

And if you still don't get it: You aren't going to change my view point, the view point of others or any of these companies by acting like a troll, you're wasting your time and undermining the credibility of other comments you make on this forum.


Imagine an "iPad Pro" that had similar battery life and even an integrated keyboard. In addition to supporting the SSH workflow, it can run traditional GUI applications if you really need them.

You don't have to wait: it's called the MacBook Air.


Hahaha... was just about to post the same thing. It amazes me the number of people who lug around an iPad, an iPad stand, and an external keyboard to avoid the burden of carrying around a "real laptop". The MBA is probably half the weight of that setup.


I am actually considering trading my iPad for an 11" MBA. It's just an inch larger, pretty much the same thickness, and much more productive.


I really like the 13" Air form factor, but the high resolution and smaller physical size results in fonts that are a bit too small for my eyes these days. So, I stick with my couple-gen-back 15" with matte finish and 1440x900.


I have exactly those 2 machines you described, but nothing beats having the MBA on your lap and backpack. When I go to the 2008 15 Pro its a huge screen size impact, but whenever I get to pick which I will use, I always go with the MBA.


The new full-screen capabilities in Lion can help with reading on small screens (in fact I think that's why they added it). Combined with bumping up the font size in applications, it can be quite readable.


terminal.app is one of the worst offenders, possibly because I like a good monospace font for it (monaco-with antialias disabled). When adjusting the size away from the 'good default' of 11pt, it looks awful.

Combined with that, bumping up the size in every single app lowers the value proposition for me, especially given the expense of the laptop itself.

I practically live inside my laptop, use it far too much of the day, and anything that makes my eyes hurt more or requires more effort to use instead of less, I consider less than ideal.

Full screen (which I quite enjoy by the way) helps neither or those things.


I've been waiting a long, long time for a 15" Macbook Air. I have a feeling they are delaying it just to spite me.


The last time I tried to use SSH under iOS with the Apple bluetooth keyboard (trying different SSH apps including iSSH and TouchTerm) I found that I could not comfortably use Emacs due to various key combinations not being transmitted (I guess Vim isn't as much of a problem). One of the SSH app developers said that they were not able to trap certain keystrokes that were iOS keyboard shortcuts. Looks like this may still be an issue, as moconnor says this:

> Ctrl-X is my screen’s ‘hotkey’; it defaults to Ctrl-A but on a wireless keyboard that leaves unicode characters in the terminal - I assume this is related to Apple’s support for some common Emacs key bindings in iOS.

Is the situation any better now? Any workarounds to make this work better (e.g. configure the shell on the remote end)? How is this on Android?

I was trying this on an iPhone, but I'd imagine it handles bluetooth keyboards the same as the iPad.

Another issue I had was latency of the cellular connection (AT&T 3G); there was a very noticeable delay between keystrokes and the server receiving them and transmitting back. I imagine if you're on wifi most of the time this isn't as much of a problem, though. Or maybe you just get used to the latency.


I'm on wifi, there's rarely noticeable latency, even on full screen updates.

Ctrl-a and friends still don't work properly. However, iSSH has an option that lets you use the option key instead, and for me that did work just fine, but escape didn't.

Now in version 5.x escape and ctrl work for everything except the most common emacs key bindings, and option-A doesn't any more.


In my experience, Prompt is much better app for straightforward terminal use than iSSH. It handles meta keys very well includig the hardware ESC key on the wireless keyboard that iSSH could not, last time I tried it.


Are there any tricks to getting Prompt working correctly? Ctrl seems to work good, at least the keys I tried (Ctrl-A/E/N/P/K/T). When connecting to a Linux box, I can get some of meta keys to kinda work, but most of them do unexpected things. When connecting to an OS X box, option just spits out special characters. Prompt doesn't appear to have any configuration option for what type of terminal emulation, so I guess my only options are to configure the shell I am connecting to.

I just tried the latest versions of both Prompt and iSSH on iOS 5 on an iPhone 3GS. Prompt is at least a big improvement over iSSH in this area, but, unless I can figure out how to get it to work better, it is definitely not something I'd be comfortably using for Emacs.


iSSH supports escape and most ctrl key combinations now.


You could actually do the same thing WITH a Macbook Air/Pro. The beauty of a cloud linux instance + gnu screen isnt limited to the ipad and so you could still have a bigger screen and the possibility to go back to GUI apps if you need them. I like this for travelling on the go, but spending my normal workday in 1024 resolution ? Naaa.


This is true, but I'd be sacrificing the silence, the portability and the battery life. And the hipster factor, I guess.

102x768 isn't for everyone, but in text-mode it's all the same. I've no idea how many hours I've spent on a huge high-res monitor staring at a relatively tiny terminal window surrounded by a pretty desktop picture.


This is true, but I'd be sacrificing the silence, the portability and the battery life. And the hipster factor, I guess.

A 11" laptop, particularly the new MBAs, is less cumbersome than an iPad + keyboard and far, far more useful as a real development tool. Other than battery life I just don't see the point of doing this other than the "hipster" factor.

Just the ability to spin up a Rails instance on my own machine or run XCode alone keeps my iPad on the shelf when I'm working.


I don't see the point of doing anything for the "hipster" factor.

Sometimes people are surprised that the reason I buy macs is not because they're metal and shiny.


The battery life of a Macbook Air is pretty damn good. You can get a good 6+ hours of work out of them before needing to plug in. Not quite iPad-scale, but close enough in many cases. Also, the iPad does tend to run out of battery a bit more quickly when using 3G and bluetooth heavily, I believe...


For me, 6 hours is the difference between needing to take a charger to work and never thinking about it. If I'm going to take a charger, I might as well have 1 hour battery life.

I didn't buy the 3G version, but I do use bluetooth for the keyboard all day and still get around 9 hours out of it.


It's useful to note that the Air's battery life is fleeting if you actually use the processor. Intensive game development has left me thinking that it's life is closer to two hours.


Maybe with the 13" MBA or MBP, but my 11" gets around half the battery life of an iPad.

On a different note, an iPad also makes for a decent external display for a cramped 11" MBA.


I see your point, but still, battery life/silence/portability doesn't seem to be worth the flexibility of having full osx esp when compared to an Air


The restrictions of iOS make me happy: I have a simple consumer brick. I can wipe it and restore it on a different device without losing a single byte. It never stutters, never misses a frame. I never need to care which programs are running or the layout of the filesystem.

The psychological effect of this is surprisingly powerful.


I'm not going to argue with your opinion like others are doing, but I find it very interesting that you have this viewpoint. It would sort of be like a car enthusiast preferring an automatic car for its smooth, self-maintained shifting, or a skilled cook preferring a boxed meal because it is easier to make.


The iPad is his terminal, not what he's programming.

So it's more like a cook who prefers an oven with a temperature knob over the flexibility and control of lighting and tending his own fire.*

* I say this a someone who definitely is glad not to have to kindle a fire to cook even the most elaborate meals, but who loves a good wood-fired pizza.


Don't overlook the cost difference as well, the iPad2 is half the price of even the base MacBook Air and if you include the cost of the keyboard you still have a couple hundred bucks left over.


If there's more than a little visible desktop around my terminal, I feel like I'm working through a keyhole. Also, being able to stretch out horizontally to 160 characters or more is wonderfully relaxing; it makes chaining two or three tests in an IF readable, in the process saving at least two lines of vertical space, which is in far shorter supply on modern 16:9 displays. (Although, it seems you use your iPad in portrait orientation, which reverses these benefits, I suppose).


One thing I did pick up on that could be _very_ attractive is the idea that you would use the same apps on the iphone and ipad so you can take your desk with you on your phone in a way that you can never do with apps that you run on your laptop.


If this guys thinks having a single 10" screen with no ability to switch between tasks easily and quickly is the wave of the future for developers, I don't want any part of that future.

You can pry my dual 24" monitors + high performance desktop from cold dead body.


I don't think it's the future for developers, I think it's the future for pretty much everybody else though.

I plug the iPad into large monitors sometimes. When an iPad with double the resolution comes out, this won't seem nearly so silly.


The iPad 2 can output FullHD resolution, the app just needs to support it.


It looks like the goal of the swap was to have a spartan, lightweight, cool (temperature) workspace.

It seems like a MacBook Air accomplishes this better than iPad, stand and keyboard.

The only difference I can grok from the article is that the MacBook Air is somehow more fragile. But is it?


The title is a bit disingenuous. Before clicking through, I was wondering how he managed to maintain his productivity level with a touchscreen keyboard. I'm disappointed he's using external hardware, because otherwise I'd love to try a similar setup.


What's the solution for when "the cloud" loses your files and the ToS says "so sorry, we'll try harder next time - here's next month's bill"?

When I keep my files locally, the only person I have to blame for losing them is myself. Out in "the cloud", there's quite literally nothing that can be done to recover my data.


Linode offer monthly backups for $5. All my real work is pushed to the office repository. All my personal projects are done in a Dropbox folder.

I'm pretty confident the data will be ok this time.


Backups with same vender aren't backups.


You can "quite literally" keep your data in two places in the cloud at once.


Incredible that we seem to be moving back to powerful mainframe computers in a timesharing system. A 40 year cycle?


Yes, I was really happy that so many open source tools born on such equipment were still around and perfectly tailored for this kind of setup.


We also used to use diskless sun terminals that worked completely over the network.


It is a bit better than that though because you can have a complete server environment to yourself, and don't have to deal with timesharing.


Unless you shell out for a dedicated server, you are sharing the physical machine with other people. The cpu is probably scheduled according to the size of the instance you bought, but you might get the whole thing if your neighbors aren't running anything.


I am still amazed that Apple hasn't come up with a shortcut for app switching when using bluetooth keyboards.

By the way, Moconnor, have you given Panic's Prompt a try?


They don't really need to come up with one as much as just implement it. Gold standard's always been [Alt|Clover]-Tab; or even F3 (Apple's mapping for Exposé/Mission Control, even marked as such). I understand there's no easy way to dismiss the on-screen keyboard when you're using a hard keyboard either.


Since I can't edit after this long: I'm wrong, iOS 5 lets you dismiss the soft keyboard if you have a keyboard attached.


The on screen keyboard vanishes when a Bluetooth one is connected; the eject button toggles it in and out again.


I'm guessing this changed in iOS 5 then (AFAIK; it didn't in iOS 4). I stand corrected.


My bluetooth keyboard treats escape as Home, double-tapping it to bring up the task switcher and hitting the screen is acceptable. I keep trying to alt-tab, though.


My bluetooth keyboard treats Home as escape, double-tapping it to bring up the task switcher and hitting the screen is acceptable. I keep trying to alt-tab, though.


$800 gets you a pretty nice laptop. I don't see the advantage of this approach at all.


$800 gets you a LOT more than an iPad. I can see the advantage of working in the cloud, but working off of an iPad to smells of "hey! hey everyone!! look at me! look what I'm doing!" Not to mention there is now a monthly fee to program. That's not economical.


Just to toss this out here, but $20/mo for a linode, is not a huge investment, and it's something that I have even without doing everything "in the cloud". It's handy for those quick file transfers, a small portfolio site, and since you have root access, you can quickly set up or take down any odd services without the hassle of finding a distinct hosting service (Mumble, Mercurial, Subversion, or what have you).

But that's just my two cents.


How does the cost of light usages like this compares to aws?


To be honest, I couldn't tell you-- for the amount of usage that I have on it, it's a flat $20/mo, and I believe I have something like 20G of HD space and 200G of bandwidth, which I've never come close to using up (it's amazing how small your OS is when you're not running a gui).

The really nice thing, imo, is the fact that you can pay a couple bucks per month piecemeal to increase any one stat of the machine as you need it.


I don't recall the article being "Programming on the cheap". You can get a used 12-core station for that money. Or a bike.


It's $800 up front and $240 a year for the remote machine. That MacBook will look cheap soon enough (cheapest Air is $999).


Me neither. I kept waiting for some actual reason that using an iPad for development conferred some advantage over a MacBook, but a reason never came up. You could do all this with a laptop. I guess I read too much into the article title. The title might as well be: "I bought and iPad and figured out a use for it."


We have very different definitions of "pretty nice".


Only until Apple releases an $800 laptop


I like the Sony Vaio-Z, it's a good notebook. Sony has $800 notebooks too but they are shit. It has nothing to do with the logo on the machine and I resent your thinly veiled attempt at dismissing me as a fanboy.

Got any links to all of these mythical, amazing $800 notebooks?


The lack of ability to look at documentation/stackoverflow/code examples in a browser while simultaneously coding out said example and making the changes I need would severely limit my productivity. "Just copy and paste!" you may say... Sure, that'll work. Only, wait, I forgot what that one line meant, is it needed? What did they say about changing this piece of code that was "really important?" Crap, back to the browser. Let's switch apps again. Crap, the page in the browser is having to reload because I had too many tabs open and memory got low, now I have to wait for it to reload. Where was I on the page? Cause when it reloaded the page, it put me back at the top. Wait, that wasn't the tab I wanted, it's that other tab. Great! It has to reload now too!

I typically work with a single external monitor connected to my Macbook and use the Macbook for holding my mail client, chat and a browser while my Terminal's and IDE are on the external monitor. This works best for me.

Now that spaces and expose are so tied together, working with even just one screen is much nicer. I have toyed with the idea of just using a single external monitor and use spaces extensively. Just a swipe and I'm at a new space. This is much faster and nicer than changing apps on iOS.

I think it's a neat trial idea, but for long term productivity, it certainly is more of a "hipster factor" than useful.


Very interesting. Did you ever consider the same setup but using a Chromebook? I've been thinking about doing that for a while now (I'm on an MBP currently). http://www.google.com/chromebook/


I think the way of the future is a smaller powerful notebook, like a Thinkpad X220, and then using larger monitors and whatever cloud service you want.


I actually attempted the same thing once but gave up after a day. I borrowed the iPad from work (clients absolutely love demos on this thing) and used iSSH to connect to my netbook running ubuntu.

First, I tried to create a simple mobile website with vim. I'm not a hardcore vim user so the frustration I felt using it on the iPad were mostly due to my level of inexperience with vim. Additionally, I didn't have an external keyboard. Using the software keyboard with my neck hunched forward gave me some serious cramps.

The second activity was writing a document. I used markdown and pandoc to create an rtf. googlecl for uploading to the google cloud.

Small screens bug some people but after using a 15" macbook pro and a 10" netbook, it normally doesn't bother me. In this case, using a software keyboard meant I had even less screen real estate which did bother me.

Overall, it was workable. If I ever took vacations, I could see myself taking an iPad (with keyboard) instead of a regular laptop and doing some emergency bug fixing but I wouldn't choose it over my netbook.


I feel your pain, I can't imagine doing any serious text-related work on the iPad without an external keyboard. As you say, alone the typing position is horrendous.


What you have done here is an HCI study. On yourself.

You could formalize this with related models and write a paper on it if you wanted.


The problem is, IMO, that it is a very narrow use case with a very specific user base that is willing to be very very flexible with this particular user interface (apps timing out when backgrounded, swiping instead of switching via Command+Tab, the low viewing angle etc). It is an interesting preview of what a 'cloud terminal' future could look like but I can't help wondering if the vast majority of viewers on HN are cringing at the thought of just how many backwards steps in UI evolution they would have to take from the familiar desktop and laptop PCs.


Well, yes. But Contextual Design, by definition means building something for a specific user.

As you say, its a first step towards the the pc-free, cloud-enabled, dev environment. The 'cringe' factor will always be there with new things!


Isn't the latency of vim on a remote server distracting? Or is your ping low enough to not be noticeable?

I've thought about this kind of setup, but I think I'd need vim to be running locally (but working on files from a remote filesystem - vim can do this).


Can you or somebody expand on that last bit...run vim locally on remote files? How? How does this improve lag? Any downsides to it? This would save me so much bother.


I haven't done it in ages, but a quick google shows gives an example (BTW google beats vim :help if you don't know the command name) http://vim.wikia.com/wiki/Edit_remote_files_locally_via_SCP/...

   vim scp://konimi@vim.org//var/www/html/rtc_functions.php
i.e. you just start vim with the address preceded by the protocol name (here it's scp, but also works for ftp and rcp). The "konimi@" is the syntax for username. You might need to set up SSH passwords for scp on the remote (that's a whole other thing to research)


Thanks a million


Expandrive works well for this.


This is partly a testament to what a great app iSSH is. I haven't used it as a daily work environment, but I've gotten some pretty great things done with it, even the iPhone version. My favorite was sitting in a crappy motel room with barely Edge, and still managing to build a GPX converter (not build as in write, build as in download and compile), convert some map routes to a format I needed for another phone app, and get them on my website where I could then get the app that needed them to download them.

It was not fast, and I wouldn't want to do it all the time, but it worked, and iSSH made it about as painless as I can imagine that process being.


This is really true, although depending entirely on a low-price, commercial app makes me uneasy.

I'd be happier if I knew iSSH made enough to support a small company.

I'd be happiest with an open source version I could contribute to.


Panic's Prompt (http://www.panic.com/blog/2011/04/introducing-prompt-ssh-for...) probably doesn't make them enough to support their company, but they've been around for a long time and I don't expect they'll go anywhere. I'm not sure whether it supports 256 colors.


The fact that Prompt alone cannot earn enough to support all of Panic has nothing to do with the original point. The point is that Panic, Inc. has quality full-time developers that go to work every day. They make great software, and they support it vigorously (see http://twitter.com/panic). iSSH does not have this.

Also, I personally like Prompt better in terms of UX. Its quick access menu is always available right above the keyboard, you know, near your fingers when you are typing. Have you ever tried to move the cursor position in iSSH on an iPhone?


At least when I last checked, Prompt doesn't support VNC. If I had to switch apps, one would time out in the background. I think that'd be get frustrating pretty quickly.


iSSH is not the only SSH client for iOS. I prefer Screens, even if there are a few features missing, and I believe there are other good ones too.


Ouch, each to his own but not for me!

Combination of tiny screen , having to reach out and touch the screen rather than just put a hand on the mouse and the latency involved in using a remote machine would make this a nightmare for me!

Judging by the photo of the setup on the desk I would assume you have to lean quite far forward in order to see the screen (unless you have very good eyesight) and I have enough backpain as it is.

Using any graphical tools at all (unless there is an ipad version) must be a major pain on this setup!

I find working on a laptop bad enough but when I really need to be portable and can't take my dual monitors with me the combination of internet hosted source control + IMAP email + dropbox means that I can grab my laptop and just walk out the door without worrying about where my files are so I'm not really sure what advantages you get from this setup.

Of course if your happy with your setup then that's totally cool, what worries me more is if the desktop market dissapears and it becomes necessary for everyone to use a setup like this, it would feel like a massive step backwards to me. I'm just too used to being able to lie back on my chair, have my keyboard within easy reach and clearly see everything I need to see right in front of me in big readable text.

As an aside I also don't really like widescreen monitors for doing work , especially programming as vertical screen estate is much more useful than horizontal when trying to look at allot of code and figure out where the bug is. But it seems almost impossible now to get a large square monitor that doesn't cost an arm and a leg.


At work we have large widescreen dell monitors that can be rotated into a portrait mode, you might like those.


> Maybe it works better on an Android - no, wait, that’d be anti-competitive behavior and Google would never do something evil, right?

I don't see how releasing a full Android version would be anti-competitive in any meaningful sense.

Especially since the Android app and webapp support for Google Docs is unbelievably horrible. It amazes me that something as simple as editing a document (or simple spreadsheet) is almost completely impractical on Android tablets.


Anyone tried to do this as a web developer? I know theres an app or two geared towards being a web dev environment, the one good one i found (its called Gusto on the app store) i didnt get to test properly because it didnt support SFTP yet (due to apple requiring some permission from the gov or something, not technical limitation).


I do some web development in my spare time but I think I'd really miss the developer tools in the browser if I did more client-side javascript.

There's always firefox-in-vnc, but that's a pretty awful solution.


I tried to, but a few things make it impossible:

- Most editors suck in one way or another

- You have to work on a terminal if you want version control, builds or setup local servers

- Mobile Safari is not fast enough. You spend a lot of time reloading pages

- No inspector for the DOM, javascript, debugging, profiling

- Zero ability to handle graphics


It's almost impossible if you need to do anything related to graphics. Even picking a color. Maybe you have such things already laid out in proper sass files, and you've mastered zen-coding, know most of the various parameters, have templates for everything, don't need to look up sample code all the time, and you don't need to copy and paste random things from the web (text selection in safari is still awfully dodgy). And you don't need the various standards and documentation open right next to you.

Still.. even plain HTML is a lot more visual than code. so much switching can suck.

.. now, two or three iPads, that's the ticket.


I was just using Gusto for web development at lunch yesterday. It's a pretty good way to work if you don't want to drag a full laptop around everywhere. It's like that famous saying about the best camera -- the best coding tool is the one you have with you.


Can you really write code efficiently on such a small (9.7") screen?


I've written many tens of thousands of lines of C on my netbook, which has a 10.1" screen, also using Vim, so I believe it's possible.

Still, I'd really like just a smidge more space, especially in the vertical. At least 168 pixels, to be specific.

That's one advantage he has with the iPad - he can easily switch between portrait and landscape, depending upon his needs.

I'd love to be able to occasionally turn my netbook screen to portrait!



I wondered about that, too, but I haven't noticed a feeling of being constrained or blinkered. I'm editing 85 rows and 35 columns with a pleasantly-large font. Check your editing space inside an IDE - is it really that much larger?

My guess is that (1) any function I'm writing is generally entirely within view anyway, and (2) with Vim I never scroll around looking for something, I jump directly to it with a search command.


I think it's the resolution that matters, and 1024x768 is pretty comfortable for work (I know higher resolutions are even better, but I've been using 1024x768 for half a decade on old CRT and LCD monitors - it never failed to deliver).

When I switched to a new smartphone, the resolution was the most important change - with 854x480 pixels I can read forums and sites easily, as opposed to a 320x480 display...


So Mac/VMWare/Linux failed and the solution was to move to iPad/Linode? Did you consider just installing a Linux distro? Why do people who develop on Linux all day need OSX? I don't get it. What is the killer app? It's more expensive and harder to use for Linux development. Is it really just because it's prettier?


My first thought was, "Oh! no you didn't!"

Kudos for thinking of it. I think that it's a very viable solution for those who don't have a great need for a graphical IDE. But as a web developer I have to test across all major browsers, so I can't switch everything to an iPad. (Not that I wouldn't be interested in trying it.)


That's good stuff! I just did the business version of this post

http://news.ycombinator.com/item?id=3186237

I haven't attempted anything for my normal Objective-C XCode work yet on an iPad.

Anyone out there have any hacks to do iPhone/iPad dev from the iPad?


1. Keep your project in a Dropbox folder or sftp site.

2. Edit your code with one of the many Dropbox-enabled text editors. (Or use Textastic with its sftp support.)

3. Use Hudson's web interface to kick off an Xcode build. Configure Hudson to send built IPAs back to you via email or TestFlight.

4. Download and test your new build on the same device.

It sort of works, even! As long as you don't need to edit your XIB files, and you avoid typos. I'm not switching over to it, but it wasn't as bad as I thought it would be.


I guess you could use a service like MacinCloud.

http://www.macincloud.com/


I find myself using SSH on my Google CR-48 netbook to develop and do work much more than my shiny Dell XPS laptop. SSH+Linode+VIM+screen is such a great combination as you can literally pick up exactly where you left off from any machine with SSH access. Gotta love it.


I dream of the day when I would be able to work completely remote. Much like using a VNC now to connect to server and do the work. Unfortunately.. the internet connection is not good enough for anything like that, and VNC is sub-optimal for this kind of things.

Imagine being able to work remotely, being able to "rent" a couple of more virtual processor when you need to compile something bigger, having as much RAM available as you need and paying only for what you use, and most of all, having the security that all your data is safely backed up with a 1-second delay at most. Virtually unlimited bandwidth (again, pay for what you use), as all the other resources. Just imagine ...


I heartily agree -- once you add a wireless keyboard to an iPad, it stops being a toy. I use the keyboard and an iPad 1 to write my first drafts (both locally and google docs, if need be) and with VNC, I code on my remote servers as well.


How do you keep the iPad's screen comfortably facing you if you're not holding it?


I have a protector case (Incase) which has ridges to keep it open at an angle, landscape. Very low-tech but it keeps it at the correct angle for me. Back when Border's were still around, I just needed keyboard and iPad (power lasts a long time) to work on my writing at one of their tables or even their Big Comfy Chairs(tm).


With case that double as an adjustable stand. I can't figure out how anybody uses an iPad without one. The smart cover's one fixed angle doesn't cut it.


Looking at the setup of the iPad on your table with the keyboard gave me neck ache. I can't imagine what that does to you on a daily basis.

Interesting experiment, I don't think I could ever move to doing something like that permanently.


I'm a big fan of tmux* and vim but there's a limit to the complexity of system that you can develop efficiently with vim. A good graphical IDE used by a skilled operator will be more likely to generate correct, consistent code faster.

If you're using vim and think you're developing as well and as fast as you can, you're probably wrong.

* 17 years of screen and I've finally switched over to tmux. None of the features were sufficiently compelling for me to change, but it's so much faster


I respectfully disagree, or partially, anyway.

I've been developing software in Vim, Netbeans, and Visual Studio (with about a year or so of Eclipse thrown in for good measure).

I've worked on projects in all three ranging from tiny 1kloc one-offs to several million line systems, using C, C++, Java, Bash, and a smattering of Perl and Python.

For Java and C++ code bases beyond a few thousand lines, I certainly agree that language aware tools are invaluable. It's sad that C++'s nature makes such tools so difficult to build. Going from Netbeans/Java to Netbeans or VS C++ is like going back in time - not quite laser scalpel to flint knife, but sometimes it feels like it!

Fortunately, I spend the bulk of my time in C, where I find myself at least as effective in Vim as in either Netbeans or VS. Granted, I obviously do use a few additional tools - primarily ctags and make.

If vim only had fully language aware navigation and search, I think I'd be just as effective in it as in any IDE. Exuberant ctags comes close, but just isn't quite there, and cscope is just too clumsy and slow.


I haven't noticed cscope being all the slow, other than having to rebuild the database. I use all the C-Spacebar-<letter> commands, it's second nature to find all the callers of a function for me now.


For code navigation / completion, you could try eclim / clang_complete.


Yup, it's at the top of my pile of things to try when I need to take a break.

Though there's something that feels ... wrong with eclim in particular. Not that it'll stop me from using it if it works well!


I have to disagree here. I've been programming for about 17 years now (since I was 8) and I've used a lot of different types of editors across different languages. I have to say that my LEAST favorite of all editors are the ones that try to do anything for me. Code completion, auto-closing quotes or tags, etc etc... it frustrates and distracts me to no end.

After spending a little under a year learning vim, I've found that while I make the occasional error in command mode, nothing has helped me "think in code" quite as well.

I'd say most of my time is spent thinking while programming anyway, but when I am typing, nothing has made me faster than vim. "Small" things like "hmm, I don't like what's in this block" can be as slow as reaching over to the mouse and selecting a bunch of code by hand, trying very hard to be precise, or typing "ci{". Which is easier?

Perhaps I've been missing out on all these years on the true power of IDEs and not using them to their full potential, but when it comes to programming, I like to be the one typing, not some fool machine. Do I occasionally make mistakes? Of course. Is my overall output better because I have fewer distractions? Absolutely.

Of course, that's just me. I know plenty of people who are a lot faster with autocomplete and auto-quote closing and everything else.


If you're using vim without all the features of a graphical IDE, you're missing the right plugins.

I used Delphi for years, then Visual Studio for years, then Eclipse for a while, then QtCreator for years. I've haven't found anything in any graphical IDE that can't be succinctly reproduced in a text-only environment like vim.

I can imagine a whole load of awesome features that would require a truly graphical output. They just haven't been written yet.


I use vim+cscope+screen. I used to operate solely out of a putty window (The company I work for uses windows on the desktop and really, all I need is that one putty window).

I might look into tmux, screen is kind of buggy under cygwin.

There are plenty of code-completion plugins, and I used to have tab-completion enabled, but I never got around to adding it on my latest environment and don't miss it.

Of course, cscope is mostly useful for c/c++/java, but I've used the ruby vim map just fine. I operate on a codebase that's probably past a million lines of code. Maybe not all useful lines, I haven't seen them all ;)


tmux: is it faster because it's more efficient about sending updates to the terminal, or are you talking about server-side resource usage?

I certainly wouldn't say no to a more responsive terminal.


I'm talking about the time between keystrokes and visual response.

To make the switch-over even easier, rebind to C-a instead of the (sensible) tmux default of C-b. Put this into your ~/.tmux.conf:

set -g prefix C-a unbind C-b bind C-a send-prefix bind-key C-a last-window


Neither are sensible for anyone who uses Emacs keybindings (at the shell or in Emacs). I have my prefix key set to C-t, which is tolerable.


Being an emacs user, C-a was never practical. I always set mine to ` (backtick). Except when writing shell scripts, it's surprising how little it actually comes up, and learning to type it twice when you actually want one is not hard. It reduces by 1/3rd the number of keys involved in switching "tabs" or doing other stuff.

Unlearning typing it twice for when you're not in screen is the hard part.


But C-t is a useful Emacs keybinding. I use C-z. Pressing C-z z when you want to suspend the running app is not particularly disruptive.


I would do this, except for most of the day hook up the iPad to a 24" monitor with the HDMI cable. The only roadblock I see is not having chrome inspector.


I'm surprised he didn't think it was worth going for a 3G ipad. I spend a decent amount of time working outside of my office on my laptop with a local environment. Impossible with this setup and no 3G. Maybe there's a tethering plan on his iphone to account for that.

Either way, this setup would be significantly less painful using a MBP to connect to linode instead of an ipad.


I'm in the process of deciding on a laptop upgrade. I can't decide between an 11" MacBook Air or a 15" MacBook Pro. If I could get a nice Thunderbolt 3D accelerator, the Air would win hands-down.

I'm really close to moving to remote work for almost everything development related, but I photoshop enough to worry about the Air being underpowered. Any good cloud answers for that?


Thunderbolt 3D accelerator will be out early next year. ViDock G4 Micro (http://www.facebook.com/VillageViDock?sk=app_202980683107053...)


Sounds very interesting. I think the major downside would be that you can't really do any development while offline. I've done some of my most productive programming during flights and train rides, so that would be a downside for me.

Maybe Android could give a little more of the "local productivity" option?


While I haven't replaced my laptop, I also do some coding on my iPad under certain circumstances. Instead of using an editor over SSH, I purchased Textastic. It supports SFTP and a host of other protocols, allowing you to edit offline and then sync with the remote host when connectivity is available. I'm pretty happy with that setup.

[1] http://www.textasticapp.com/


For anyone still using gnu screen, tmux.


Looked at it; didn't see any compelling reasons to switch; went back to screen.

Screen is for the most part "good enough" that any replacement that aims to supplant it completely needs to either be vastly and obviously superior or enough of a drop in replacement that it doesn't require any effort to switch (I'm most definitively not investing time updating config files or changing key presses unless the improvements are dramatic).

As far as I can see, while tmux might be "better" in some nebulous way, the value proposition is way to weak to invest time in switching for me.


shrug Maybe. It's all about what's valuable to you.

I switched to tmux because it is better maintained and it has better screen splitting functionality. I also mapped screens commands over to tmux, so the switch was basically painless. Took all of 15 minutes.

If you're cool with screen, you're cool with screen. No worries.


The maintenance thing means nothing to me, since I basically don't need any changes unless a new version of my Linux distro flavor of the day breaks it. There's been nothing new in Screen in the last 10+ years I've cared about.

And I don't use the screen splitting at all - I use splitting a lot in emacs, but never in the terminal, so that's basically a non-feature for me.

I want to create, remove and switch between windows, and have a status bar showing their names. That is all.

I guess these are the reasons I've never seen the point in switching.


I thought this too. I invested some time because tmux is shipped by default in OpenBSD and thus I don't have to install screen on my firewalls. I even submitted a patch to tmux to remove all the bindings that I didn't care about so in that early transitional period when was using the help screen often, only the commands I actually use come up.

I REALLY like that the hardstatus line equivalent shows the command that's currently executing (think: bash, make, ./configure etc). That said, if you don't use the hardstatus line, I don't think there's much of a reason to switch unless you want multiple different size panes which screen doesn't really support.


tmux is 4 letters, screen is 6 =) And splitting view sucks less.


I rarely split views, so that makes no difference to me - all my splitting tends to occur in Emacs.

And I never type anything to connect to my screen sessions. How primitive ;)

I have shortcuts for the main machines I use that opens a terminal window, ssh's to it using my key, and attaches to my running screen or starts a fresh one if none is running (rarely - most of my screen sessions are 1+ years old)

My sessions on less important machines run in screen windows.


I tried doing this, but it felt like I wanted to make this setup happen. It just wasn't there for me. The idea is elegant and simple, but the reality is that having a laptop is just more efficient. One day, this might be the nomadic developers toolbox.


If you're going to try something like this, you couldn't ask for a better VPS provider than Linode. I think the choice of VPS provider is at least as important as the choice of client access tools.


I tried to code on an iPad, but just couldn't get used to it. I'm glad it is working for you.

It should be interesting when there are versatile graphical programming languages for touch devices (LabVIEW, etc.).


To be fair, he attached a keyboard to it and worked mostly through ssh.


> The iPhone keyboard is somewhat painful to use, but for rm -rf /tmp/build-2011-* it suffices.

Is it just me, or does the thought of typing rm -rf on an iPhone keyboard sound a little... dangerous?


In other words, yet another frustrated Mac user converted to Linux.


I used Linux for 10 years before my first MacBook, so it was really more of a return than a conversion.


On a rather different note, a very comfortable setup can be achieved. Setup a neat iPad mount on a wall with a comfortable viewing distance and say goodbye to neck strain :).


> Frustrated by the inconsistent usage of ctrl/alt/option/arrow keys to jump words and screens and lines,

I'd really like to know what editor he was using.


I tried Textmate. But I was also using a web browser, an email client, a terminal, a VM running Linux with gnome-terminal and a few other linux-only utilities, including our product.

I don't recall exactly what was inconsistent with what, but the overall effect was to make me unhappy.


I got used to it, especially with a little help in .inputrc: https://github.com/pavellishin/dotfiles/blob/master/.inputrc

But moot point, now :)


Hey, 1024x768, 8bpp is how I rolled back in 1995 rocking my first Linux box. Thanks for bringing that feeling of freedom back to my memory.


Sounds great if you do work which can be done in the terminal or a slow 256-color vnc session. Otherwise i'll be sticking with my Macbook.


I don't see the difference compared to owning a MacBook Air. Is it that the screen and keyboard are separated?


The screen and the keyboard are separate, the Macbook Air isn't completely useless, and the Macbook Air can develop locally when, Jah forbid, the internet goes out or you have to work on a train or something. A Macbook Air can also, as far as I know, also work in the cloud perfectly well.


Do other people have this much trouble with Google Docs? I sure don't, and I consider myself a heavy user.


iSSH maps either alt to option or control to option, how do you have it set up to do both?

Prompt lets you use the control key for control, but the alt key is borked on apple's wireless keyboard.

Is there a set up with both these keys working at the same time, preferably on the keys labeled as such?


If only a viable version of Office could be found for the iPad


> More recently I’ve been scanning mails over IMAP with a python script instead.

Natch.


You can also use SSH + screen with your MacBook... that's what I do with my MacBook Air since it's much more pleasant to deal with than the company IBM laptop.


I can't deny that this is a cool setup but I can't see it being useful for long. I personally need to see multiples windows simultaneously as I work. Swiping over can't cut it for very long. But good for you, man. To each his own I suppose.


I must confess, I did wonder about adding a second iPad for browsing documentation, or maybe one of the new kindles...

I went through a phase of using multiple monitors all the time. After a year or so I came to the conclusion that alt-tab is quicker and easier than looking at another physical screen.

Swiping isn't; I wish alt-tab worked in iOS. Still, it's close and it stops me checking my mail too often.


I think this is one of the places where Win8's tablet interface will gain fans. I've seen the developer preview and being able to snap windows to the side and get a "mini mode" (or whatever it's called) is really cool.


This. I'm sure a "mini mode" will be a part of every tablet interface in a couple of years' time.


I seriously doubt that you're alt-tab'ing faster than you're making a saccade to another monitor. We're talking tens of milliseconds to glance over. What if you have to hit tab 2/3/4 times to get to the application you want? And you have to stop and see how many tabs you need?

Looking over at a different monitor is significantly faster.


You can use GNU screen to have more than one bash shell running, and you can use tabs and screen splits with Vim. I use to do this on my G2 phone; it's easier to play with Vim over ssh with a physical keyboard. Unfortunately, my phone lacks some critical characters like '|', '>' and '<', but it's really nice to be able to make edits wherever, whenever.


I put my throughout development environment on my linode for couple of years and think that it's a good for availability.

As an example, I developed MultiplayerChess.com is on my Linode server. I don't have an IPhone or IPad yet but I see that it's great to access a full utilized development environment from anywhere...

Let's turn this topic to a usesthis.com for CLI lovers.

CLI apps that I use are tmux (In addition to the previous comments not recommending Screen, I highly recommend Tmux), Emacs, VIM (I use Emacs as an IRC and Twitter client, an IDE and a self-organizer, VIM as a file editor), newsbeuter for RSS and links for browsing. My choice of distribution is Arch Linux.

if you wonder about my Emacs configuration, it's in my Github; github.com/azer/emacsfiles


Random observation: Who uses an iPad + "the Cloud" + vim, and rips low quality DVDs?


A UK expat who can't (legally) get UK series like Outnumbered digitally, yet still wants to take them with him on his iPad.


Even if you own the dvd I think it would be faster/easier to get a "backup" copy via torrent.


Sorry man, but I like to code from my sofa. I also have no problem keeping my Snow Leopard running perfectly. iPad is just way too limited and you will discover that very soon.


Oh, just now I noticed all the affiliate links in your post. Yep, we're on the same page now. Keep going!


I use a Chromebook and its crosh to ssh into a Linode instance with tmux for web development. Works like a charm, apart from the lack of UTF-8 in chrosh.


what is VGA adapter used for?


OMG computers


Why can't just install linux on his macboc and sync everything using ssh/rsync/git without being such a hipster.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: