6 ms·
A Programmer's Plea to Laptop Makers
- scott_s 18y agoI used a ThinkPad T40 last summer, and I was surprised at how much I grew to like it. But one thing drove me crazy: F1 was where esc should be: http://i.i.com.com/cnwk.1d/sc/20947059-2-200-DT4.gif http://i.i.com.com/cnwk.1d/sc/20947059-2-200-DT4.gif Clearly, the keyboard layout was not designed by a vi user. Took me a few weeks before I was moving my hand far enough to hit esc and not F1.
- old-gregg 18y agoDon't you think it's actually better? Look how nicely Esc is separated from other keys. Just like it should be on a real desktop keyboard. I stopped using Thinkpads after they started using worst LCD panels in the industry, but i will never, never forget their gorgeous full-size keyboards. The picture you've posted brought a tear to my eye... And yes, I'm a vim user. Speaking of laptops: he correctly mentioned unfortunate proliferation of glossy LCDs with limited vertical real estate, but there is more: all laptop LCDs now are 6-bit, i.e. 262k colors only.
- scott_s 18y agoI see no reason to separate esc from the other keys. "Better" or "worse" doesn't really apply. What matters is it's different from every other keyboard I've used. To me, esc is the key above the tilde. You wouldn't, for example, put the key for 'g' someplace else. My guess is the person who designed the keyboard figured no one would care if esc moved, because hey, who actually needs to use esc often?
- serhei 18y agoI just remapped F1 to do the same thing as Esc in my .vimrc.
- jerf 18y agoThis is a point worth making louder, I think. If you don't like your keyboard, change it! The symbols on the keycaps are only suggestions, not mandates. Usually, the best counterargument against this point is that you want to be able to use anybody's keyboard, and I will concede in practice that can be an issue. But when it comes to the outer bit of a laptop keyboard, you've already lost that point anyhow, since it seems as if no two laptops are the same. (It's not true, of course, but it seems that way.) So, go nuts on the remapping. The downside there is that there may not be an acceptable remapping. If you don't like the PgUp/PgDn on the side, as shown in the picture, there may not be anything you'd like. I had a laptop with that layout and truthfully I preferred it to the one I have now, which has the standard layout of Ins/Del/Home/End/PgUp/PgDn, but has them with half-height keys in the upper right. I preferred the full-sized PgUp and PgDn keys on the side. Give the default layout a chance, you might be surprised.
- rkowalick 18y agoCaps Lock makes a great esc key...
- shiro 18y agoUm... you might want to use Ctrl-[ instead. The sad thing is that these days window manager or whatever tends to take away lots of good old ASCII to control-char mappings... (Ctrl-h IS backspace and Ctrl-i IS tab, damn!)
- shadytrees 18y ago> But for the typical Visual Studio developer, this usually isn't the case. You VS people sicken me. Speak for theeself, heathen! {C-x 3 | Mod-Shift-Enter}
- smanek 18y agoHe wants a 10K RPM HDD and a laptop that stays cool ... Those two seem mutually exclusive to me. It takes a lot of energy to spin platters that fast, and it all gets turned into heat in the end. MLC SSDs are pretty cheap these days - if you really do that much dev work on your laptop, invest a few hundred dollars in a good one.
- gdee 18y ago>It takes a lot of energy to spin platters that fast, and it all gets turned into heat in the end. Wrong. Just the wasted energy turns to heat. Wasted by means of mechanical/electric friction. The usefully used (to put it this way) get's transformed in kinetic energy (platter rotation)(most), other electrical energy (transformers) and more.
- smanek 18y agoAlmost all the energy a computer takes in (over 99%) is 'wasted' as heat. Talk to anyone who has ever run a datacenter. The heat output of a machine is exactly equal to the amount of energy consumed. Maybe a watt or two leaves the room as electrical energy on a network cable, as sound energy, or as EM radiation. Where else does the energy go? Look at this as a freshmen year physics thermodynamics problem. Your system of interest is the computer case. It has 500 Watts coming in. It has 0.5 watts leaving as EM radiation, 0.5 watts leaving as sound (i.e., vibrations in the air), and 1 Watt leaving on wires connected to it. The other 498 Watts are necessarily heat.
- gdee 18y agoOh common. I objected to you saying that all energy drawn gets transformed to heat. That's patently false, unless the system you're studying has either efficiency 0% or is indeed a heater of efficiency 100%. Anything in between contradicts what you said. In the specific case I've objected to is even easier to see the problem. The HDD platters spin. That's work done. Energy transformation from electric to kinetic. Whether its quantity is bigger or smaller than that that gets transformed to thermal energy is a matter of efficiency. Otherwise the kinetic one would be free and Perendev and Bedini would be inclined to post here.
- derefr 18y ago> Most code is in the first 80 characters, so having the abililty to see 300 characters across usually just leads to a bunch of excessive whitespace. Why isn't there a horizontal line-wrap as well as vertical? A text editor that, when stretched horizontally beyond 80 columns, creates actual "text columns" ala newspapers, and flows line 103 to the top of column 2 after line 102 hits the bottom of column 1. Wouldn't be that hard, would it?
- jrockway 18y agoWell, he said he was using Visual Studio. Everything is hard in Visual Studio. In emacs, I could see two files next to each other with C-x 3. Or, I could see the same file in two columns by typing M-x follow-mode after C-x 3. (In fact, I use a 1920x1200 display for most of my coding, and I end up with 3 emacs windows next to each other. Very efficient. Wide-screen is great for coding.)
- jerf 18y agoFinally nice to hear from someone else that does that. I still code to the ol' 80-col limits (with minor exceptions as needed) so I can stack two or three emacs next to each other. I use real separate frames, so I get two tiers of navigation control, ALT-TAB from my window manager to switch frmaes, and ye olde C-x o within a frame. But everyone looks at me like I'm a kook when I show this off in person. While I like lots of vertical space as much as the next person, I find that in practice there is a diminishing return in how useful one large monolithic window can be, and being able to split it (in the same file or not) is way more useful. It is striking to me how often I will have four files open simultaneously and be using all of them in quick succession.
- jrockway 18y agoCool. If you use one frame, though, you have access to things like windmove (Shift-Up/Down/Left/Right to navigate between windows) and window-number (each window gets a number, and you M-<number> to switch to the window). I also have some hacks I use to improve this, iswitch-windows and snap-to-terminal (easily the most useful 10 lines of code I've ever written). Windmove is core emacs, I think, and the window-number stuff is on the Emacs wiki: http://www.emacswiki.org/cgi-bin/wiki/WindMove http://www.emacswiki.org/cgi-bin/wiki/WindMove http://www.emacswiki.org/emacs/window-number.el http://www.emacswiki.org/emacs/window-number.el My stuff is here: http://github.com/jrockway/elisp/blob/d33170528fbf4ea17384268441e53ad0ea377a58/_local/term-extras.el http://github.com/jrockway/elisp/blob/d33170528fbf4ea1738426... http://github.com/jrockway/elisp/blob/d33170528fbf4ea17384268441e53ad0ea377a58/_local/editing-extras.el http://github.com/jrockway/elisp/blob/d33170528fbf4ea1738426... Hopefully something is useful; patches welcome ;)
- deleted 18y ago[deleted]
- jasonkester 18y agoI don't think the laptop manufacturers really understand how important that Home block is to developers. It effectively rules out all but two manufacturers from consideration. The only choice of development machine is a Thinkpad or a Dell (and only certain models from each line). All other brands have eliminated themselves by unrolling that key block. The Widescreen point also hit home, but since there are only two laptop options anymore, and both of those offer models with a sanely proportioned 15.4" display, it's not really an issue anymore.
- Zak 18y agoThe home block is a little less important to me as an Emacs user, but I find it very important in applications that don't have Emacs keybindings. I really don't understand why most laptops don't use a layout similar to my Thinkpad. Even the very compact Thinkpad X-series gets this right.
- jasonkester 18y agoThe only point I disagreed with was the weight vs. heat one. I travel a lot (think hitching across Africa, not flying to NYC on business), and the laptop accounts for most of the weight in my pack. I very rarely use it on my lap for any extended length of time, but there are times where I carry it on my back for hours. 4 extra pounds would be a dealbreaker.
- rbanffy 18y agoI want an OMAP-based laptop that can run off batteries for 24+ hours on a single charge, that runs Linux, emacs and Django on a decent, 800+ line screen. The way it is, the article is a series of complaints of a Visual Studio user who, appearently, can't rearange the windows in its own environment. Not everyone uses Visual Studio and most of those who use should be able to set up their environment comfortably. I am fine with a widescreen laptop: I just use the rest of the screen for things other than source-code. For me, any landscape screen is less than perfect. I would much rather use a portrait monitor, but a laptop with a portrait display is less than practical. I never used a square screen... Anyone willing to sell an NCD-16 1024x1024 X terminal?
- godDLL 18y agoAnd I want an ARM-based Apple laptop (for the OS) with a dedicated vector processor for all of that glorious parallel stuff, with no spinning anything (SSD implied), a running time on the order of days, a decent angles on the screen, etc. I am prepared to pay the price. Where's my laptop? Huh? Same place my screen was for two years -- nowhere to be found. All I wanted was a 22'' wide IPS panel with a decent resolution and no bells. We're a weird bunch. And no one manufacturer got our back with all of our weird requirements. Whining won't help. Something is fundamentally broken with the free market model of doing business, that's what I think.
- blasdel 18y ago> All I wanted was a 22'' wide IPS panel with a decent resolution and no bells. Have I got the LCD for you: http://www.displayblog.com/2007/09/20/lenovo-thinkvision-l220x-22-wuxga-lcd-monitor/ http://www.displayblog.com/2007/09/20/lenovo-thinkvision-l22...
- godDLL 18y agoYeah, I know, thanks. :) Dude, you wouldn't believe what it cost me to buy in Israel. And it's still not here. Have been waiting for it to arrive for more then a month now. It is the only monitor in the world today that doesn't cost an arm and a leg and satisfies my preference. There will be an LG W2220P in June, for 260 euros, that will be the second monitor to do that.
- zmimon 18y agoThis is one reason why learning either vi or emacs key mappings and then using those in your IDE of choice is a vital skill. With these under your belt, your hands should just about never have to leave the home row on the keyboard and you can forget about where the freakin Home key is.
- tdavis 18y agoNo sane person would use a fullscreen laptop, unless perhaps their ONLY task was programming. Even then, it makes more sense to me to have my vim window take up half the screen and something else relevant, say a browser, take up the other half. Fullscreen is dead, please don't try to bring it back.
- donaq 18y agoVertical halves or horizontal halves? Personally, I use maximized vim and browser windows. Alt + tabbing between vim and the browser is trivial, but I need the extra screen space for vim because I often need to split vim between several files. I'm sure I don't need to make a case for how alt + tabbing between different vim windows quickly gets old.
- tdavis 18y agoIn that case, if you have a widescreen you can have two :vsplit going; on fullscreen there probably won't be enough columns for that. FWIW, my personal preference is having vim full-screen on one of my widescreen monitors which is rotated into portrait view. I routinely have four or more :sp windows going. Once again, far better utilization than with fullscreen.