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.
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.
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.
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.
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.
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.
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.
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.
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 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.
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.
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).
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.
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.
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.
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.
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.
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.
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.
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).
[+] [-] raganwald|14 years ago|reply
[+] [-] moconnor|14 years ago|reply
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.
[+] [-] dpapathanasiou|14 years ago|reply
Here's an attempt:
[+] [-] jfoutz|14 years ago|reply
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.
[+] [-] nicklovescode|14 years ago|reply
One day his VMWare went wack
So he picked up his code, went to Linode
Which now handles all of his stack
[+] [-] tripzilch|14 years ago|reply
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.
[+] [-] sliverstorm|14 years ago|reply
[+] [-] danssig|14 years ago|reply
[+] [-] scott_s|14 years ago|reply
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.
[+] [-] agentultra|14 years ago|reply
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.
[+] [-] sliverstorm|14 years ago|reply
Certainly not "in vogue" and I don't know if it's feasible today. Still an interesting thought.
[+] [-] josefresco|14 years ago|reply
[+] [-] moconnor|14 years ago|reply
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.
[+] [-] exDM69|14 years ago|reply
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.
[+] [-] rayiner|14 years ago|reply
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.
[+] [-] scottschulthess|14 years ago|reply
[+] [-] mushishi|14 years ago|reply
[+] [-] jebblue|14 years ago|reply
[+] [-] unknown|14 years ago|reply
[deleted]
[+] [-] awolf|14 years ago|reply
[+] [-] idspispopd|14 years ago|reply
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.
[+] [-] Kylekramer|14 years ago|reply
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).
[+] [-] gujk|14 years ago|reply
[+] [-] guelo|14 years ago|reply
[+] [-] unknown|14 years ago|reply
[deleted]
[+] [-] wes-exp|14 years ago|reply
You don't have to wait: it's called the MacBook Air.
[+] [-] nileshk|14 years ago|reply
> 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.
[+] [-] moconnor|14 years ago|reply
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.
[+] [-] rsl7|14 years ago|reply
[+] [-] kayoone|14 years ago|reply
[+] [-] moconnor|14 years ago|reply
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.
[+] [-] icefox|14 years ago|reply
[+] [-] mscrivo|14 years ago|reply
You can pry my dual 24" monitors + high performance desktop from cold dead body.
[+] [-] jwallaceparker|14 years ago|reply
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?
[+] [-] drivingmenuts|14 years ago|reply
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.
[+] [-] moconnor|14 years ago|reply
I'm pretty confident the data will be ok this time.
[+] [-] nemoniac|14 years ago|reply
[+] [-] cmwright|14 years ago|reply
[+] [-] moconnor|14 years ago|reply
[+] [-] toddh|14 years ago|reply
[+] [-] markkanof|14 years ago|reply
[+] [-] RexRollman|14 years ago|reply
By the way, Moconnor, have you given Panic's Prompt a try?
[+] [-] ConstantineXVI|14 years ago|reply
[+] [-] jrockway|14 years ago|reply
[+] [-] deanproxy|14 years ago|reply
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.
[+] [-] rapind|14 years ago|reply
[+] [-] powerslave12r|14 years ago|reply
[+] [-] navs|14 years ago|reply
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.
[+] [-] namank|14 years ago|reply
You could formalize this with related models and write a paper on it if you wanted.
[+] [-] 6ren|14 years ago|reply
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).