For the uninitiated, BoneKracker is the biggest troll the Internet has ever seen. He'd like you to believe he has used 'sticky fingers emacs' and liked it, when the truth couldn't be far from it.

At a recent AC Neilsen survey confirmed that after notepad, wordpad, textedit, eclipse, netbeans, komodo editor, anjuta, vim, nano and ed, emacs is the most popular editor._________________"Defeat is a state of mind. No one is ever defeated, until defeat has been accepted as a reality." -- Bruce Lee

I'm just trying to decide whether investing the time and effort to become truly productive with emacs will pay off, or just be a giant case of yak-shaving.

Just install it and try it. Give us an unbiased 10 page essay on whether or not it's any good, 12 pt font, double-spaced, so we can grade you on it._________________"It's ok, they might have guns but we have flowers." - Perpetual Victim

If you think that becoming productive will ever pay off you clearly have never worked in the industry.

That depends on whether you are talking external productivity or internal productivity.

External productivity is when you get all your work done and so your boss loads you up with more (or somebody else's). Internal productivity is when you get your work done in half the allotted time then screw off for a week or do what's truly important._________________

patrix_neo wrote:

The human thought: I cannot win.
The ratbrain in me : I can only go forward and that's it.

B.S.? I've been managing programmers for 17 years. I know exactly what they do.

They have only vague ideas of how long things are going to take them, so they give wildly exaggerated estimates to play it safe. Then, if they get it done early, they fuck off or get caught up on other stuff they've procrastinated on, while pretending to still be hammering away on the task you gave them. The more "internally productive" one is, the more leeway one has to manage one's own time and avoid being unable to satisfy unreasonable requests (like "everybody needs to have completed CMM Level III certification testing by the end of this week" right when you're in the middle of something big).

It might take Srinivas, the new guy, two weeks to produce this unit, but it will only take Bob the guy who's been here for five years a single afternoon. But that's not going to stop Bob from saying it's going to take "a week or so". He'll get it all but finished, then fuck off for three days, and finally check it back into version control for the independent test team on day 4 and come tell you he managed to get it done a day early, is there anything else he can help out with.

Tell me it's not true. _________________

patrix_neo wrote:

The human thought: I cannot win.
The ratbrain in me : I can only go forward and that's it.

Last edited by Bones McCracker on Mon Dec 17, 2012 5:02 pm; edited 1 time in total

If you think that becoming productive will ever pay off you clearly have never worked in the industry.

That depends on whether you are talking external productivity or internal productivity.

External productivity is when you get all your work done and so your boss loads you up with more (or somebody else's). Internal productivity is when you get your work done in half the allotted time then screw off for a week or do what's truly important.

++

I used to do that, it was my forte 10 years ago or so. You do the job, test it, then pretend it's not done until just before the deadline. In meantime we held #1 spot on 4v4 and 6v6 ladder in Americas Army, and we kicked ass in Eve Online

Fun times. Also fat.

P.S. the reason is very simple. You don't get rewarded for finishing early, you just get more stuff to do. If there was a bonus culture for programming, you'd have incentive. Also, if product on whole is better quality or has shorter time to market compared to competition, you still don't give a fuck, since you are not a shareholder. For a wage, you do just enough, no more no less.

Besides, if you are the guy who does shit in one afternoon that takes rest of the team 4-5 days, they are gonna exclude you, since you are making them look bad. No need for that.

I used to play America's Army. The realism (that you die easily) was fun, but it sucked when you had to wait for a long round to end before you could play again. I liked that map where there was a bus on fire in the middle with civilians in it, and you had to crawl in there to get the briefcase. _________________

patrix_neo wrote:

The human thought: I cannot win.
The ratbrain in me : I can only go forward and that's it.

I used to play America's Army. The realism (that you die easily) was fun, but it sucked when you had to wait for a long round to end before you could play again. I liked that map where there was a bus on fire in the middle with civilians in it, and you had to crawl in there to get the briefcase.

Yeah, well it was good for ladder cos you had to have tactics and not die, not just bumrush people. I used to snipe, mostly, so I'd play on open maps, Mountain Pass, Bridge and such. I sucked at CQB never knew why, I blamed it on ping and lag (ofc).

Some things in Emacs seem too hard. For example, if you have two buffers open and your editing buffer 1 but reading buffer 2 (e.g. documentation), and you want to scroll buffer 2 up, you have a choice:

See, there are two thousand basic commands, but "scroll the other buffer up" is not one of them. Scroll this buffer up, we got that. Scroll the other buffer down, we got that, too. Scroll the other buffer up, sorry, that's where we draw the line. But don't worry, you can just use the negative argument to invert the scroll other buffer down command, making the operation as simple as: "press and hold 'alt' then press and release 'minus' but not 'alt', then also press and hold 'ctrl', then press and release 'v' once for each screen you want to scroll up.

If you stop to read something, but then want to scroll up a bit farther, that's easy. Just "press and hold 'alt' then press and release 'minus' but not 'alt', then also press and hold 'ctrl', then press and release 'v' once for each screen you want to scroll up.

Now, I understand the bindings are configurable, and that I can also just use the mouse and scroll wheel, but "M-- C-M-v"?, seriously? Or maybe I should just be thankful there's a way to "scroll other buffer" without leaving this one. Maybe I'm being picky about the complexity that results from having a plethora of options.

For example, instead of just 'C-x s' to save a buffer to file, we've got:
C-x s (save buffer and if this is the first save of this file during this session, make a backup)
C-x w (write to file) please don't be confused by terminology, this convenient info page tells me this is basically "save as"
C-u C-x s (save buffer, and next time it's saved, make a backup)
C-u C-u C-x s (save buffer and make a backup now)
C-u C-u C-u C-x s (save buffer and make a back now, and next time it's saved, make a backup)
C-0 C-x s (save buffer, make no backups)

Some things in Emacs seem too hard. For example, if you have two buffers open and your editing buffer 1 but reading buffer 2 (e.g. documentation), and you want to scroll buffer 2 up, you have a choice:

See, there are two thousand basic commands, but "scroll the other buffer up" is not one of them. Scroll this buffer up, we got that. Scroll the other buffer down, we got that, too. Scroll the other buffer up, sorry, that's where we draw the line. But don't worry, you can just use the negative argument to invert the scroll other buffer down command, making the operation as simple as: "press and hold 'alt' then press and release 'minus' but not 'alt', then also press and hold 'ctrl', then press and release 'v' once for each screen you want to scroll up.

If you stop to read something, but then want to scroll up a bit farther, that's easy. Just "press and hold 'alt' then press and release 'minus' but not 'alt', then also press and hold 'ctrl', then press and release 'v' once for each screen you want to scroll up.

Now, I understand the bindings are configurable, and that I can also just use the mouse and scroll wheel, but "seriously?" That

The command you probably want is scroll-other-window-down C-M-S v (Rebind this as it is ridiculous. It also does not work in some terminals.M-pgup and M-pgdown are aliases as well.) if the scrolling is weird to you, I suggest wrapping scroll-other-window and scroll-other-window-down and passing in an argument like 1 and binding that to a key.

Edit C-x s is actually save-some-buffers (Save all modified files.)
C-x C-s just does the currently active buffer.

I never knew about the prefix arguments until now.

BTW you can change a files permissions with set-file-modes. It doesn't seem to have a default binding outside of Dired so far as I can tell. _________________Ware wa mutekinari.
Wa ga kage waza ni kanau mono nashi.
Wa ga ichigeki wa mutekinari.

"First there was nothing, so the lord gave us light. There was still nothing, but at least you could see it."

Some things in Emacs seem too hard. For example, if you have two buffers open and your editing buffer 1 but reading buffer 2 (e.g. documentation), and you want to scroll buffer 2 up, you have a choice:

See, there are two thousand basic commands, but "scroll the other buffer up" is not one of them. Scroll this buffer up, we got that. Scroll the other buffer down, we got that, too. Scroll the other buffer up, sorry, that's where we draw the line. But don't worry, you can just use the negative argument to invert the scroll other buffer down command, making the operation as simple as: "press and hold 'alt' then press and release 'minus' but not 'alt', then also press and hold 'ctrl', then press and release 'v' once for each screen you want to scroll up.

If you stop to read something, but then want to scroll up a bit farther, that's easy. Just "press and hold 'alt' then press and release 'minus' but not 'alt', then also press and hold 'ctrl', then press and release 'v' once for each screen you want to scroll up.

Now, I understand the bindings are configurable, and that I can also just use the mouse and scroll wheel, but "seriously?" That

The command you probably want is scroll-other-window-down C-M-S v (Rebind this as it is ridiculous. It also does not work in some terminals.M-pgup and M-pgdown are aliases as well.) if the scrolling is weird to you, I suggest wrapping scroll-other-window and scroll-other-window-down and passing in an argument like 1 and binding that to a key.

I'm trying to learn it without modification, to the extent I can. Thanks for the tip.

Shadow Skill wrote:

Edit C-x s is actually save-some-buffers (Save all modified files.)
C-x C-s just does the currently active buffer.

Yeah, that's what I meant. I forgot about the 2nd C. So it should have been

Quote:

For example, instead of just 'C-s' or something to save a buffer to file, we've got:
C-x C-s (save buffer and if this is the first save of this file during this session, make a backup)
C-x C-w (write to file) please don't be confused by terminology, this convenient info page tells me this is basically "save as"
C-u C-x C-s (save buffer, and next time it's saved, make a backup)
C-u C-u C-x C-s (save buffer and make a backup now)
C-u C-u C-u C-x C-s (save buffer and make a back now, and next time it's saved, make a backup)
C-0 C-x C-s (save buffer, make no backups)

Shadow Skill wrote:

I never knew about the prefix arguments until now.

BTW you can change a files permissions with set-file-modes. It doesn't seem to have a default binding outside of Dired so far as I can tell.

I played around with dired for an hour or so. I'm used to just using the terminal for file operations. I think file managers cripple brains. Dired scares me a little bit in its potential as a WMD, particularly in write mode (or whatever it's called) where your screen edits the the file listing become actual changes to their names, paths, permissions, etc. It did seem convenient for selectively operating on groups of files quickly. I could probably learn to like it._________________

patrix_neo wrote:

The human thought: I cannot win.
The ratbrain in me : I can only go forward and that's it.

External productivity is when you get all your work done and so your boss loads you up with more (or somebody else's). Internal productivity is when you get your work done in half the allotted time then screw off for a week or do what's truly important.

How often does external productivity result in appropriate compensation? Thus the "week or so" result._________________Slowly I turned. Step by step.

External productivity is when you get all your work done and so your boss loads you up with more (or somebody else's). Internal productivity is when you get your work done in half the allotted time then screw off for a week or do what's truly important.

How often does external productivity result in appropriate compensation? Thus the "week or so" result.

That does happen to people who become victims of learned helplessness. When I see a talented person who's thus afflicted, I do my best to correct that situation. One of them, who was a sysadmin making $24K when I decided his value had gone unrecognized (in 1996). When I first approached him about moving into the "professional" ranks, he said he had other plans: he was going to keep doing his sysadmin job but gradually create his own business selling Amway. He made excuses, but the basic problem was a lack of confidence on his part. He suffered through me giving him a bunch of project-related tasks outside his job description, to see if he could handle them (which he did). I worked on him for a while, because he had a negative and jaded attitude not unlike what you express.

Eventually, in 1997, I personally went to bat with my superiors to get him bumped up to an intermediate classification. It only increased his compensation to about $29K (which was more back then) but opened the path for him to advance. I left that firm only months later, but I came back to it in five years and he was only one step below the level they hired me back at and earning six figures! When I last saw him in 2004, he had been made a Managing Director and was earning $250K. This means that, counting the initial nudge I got him, he was promoted six times in eight years. So, yes, advancement is possible, even for people who think it can't. I just Googled him and he's apparently now a Director at Delloite, and has lost a little hair but looks happy.

However, professional advancement, like many things, requires several ingredients. Productivity alone won't get it, just like charcoal alone is not gunpowder._________________

patrix_neo wrote:

The human thought: I cannot win.
The ratbrain in me : I can only go forward and that's it.

By the way, can somebody explain why vim and emacs use the word buffer instead of a more intuitive word like document?

It is my understanding that the distinction is mostly technical, and due to the age of Vim and Emacs. In Emacs for example any open document is opened as a kind of representation of the data. Emacs allows you to selectively view areas of the file because of this abstraction. Say you have a very long function inside an already long file, in Emacs you can select the whole function and tell Emacs to pretend nothing else exists save that selected region. All of the normal editing commands will now only operate on the visible text even functions that would normally operate on the entire file. When you can do things like that it makes a bit more sense to refer to opened files by that term rather than simply document or file._________________Ware wa mutekinari.
Wa ga kage waza ni kanau mono nashi.
Wa ga ichigeki wa mutekinari.

"First there was nothing, so the lord gave us light. There was still nothing, but at least you could see it."

By the way, can somebody explain why vim and emacs use the word buffer instead of a more intuitive word like document?

In short, I'd say because it was written for programmers, to whom "buffer" has implications which the more purely metaphorical "document" does not (e.g., the data you are editing is transient and not stored persistently until you make it so).

I think that's the main reason, although there's also a more complicated UNIXy sort of "let's treat everything as a file" thing going on (everything is a buffer, including most of the information the application displays to you, such as directory listings, help files, informational messages, command completion alternatives, etc., etc., and you can operate on all these things in a consistent fashion that facilitates functional integration). For example, you can 'dired' a directory, which produces what looks like 'ls -al' output, but you can then edit it (e.g., change a file's name by typing over it on the screen), and what you've changed becomes reality.

dmitchell wrote:

You're starting to scare me away emacs again, BK.

It's really quite intuitive. The basic things you need to know about the main program (not the 2,000 extensions) can be summarized on a just single page! See? [Edit: oh, wait; that table is badly out of date, it seems. But the built-in help is awesome, intelligent, and dynamic.]_________________

patrix_neo wrote:

The human thought: I cannot win.
The ratbrain in me : I can only go forward and that's it.

That does happen to people who become victims of learned helplessness.

You're talking of something entirely different. I'm talking about the commonplace practice where companies rarely offer meaningful increases and it is all but expected that if you want a real increase, you leave the company. Your example of 24 - 29k is noteworthy, depending on the going rate. A 21% raise is significant, but I'm guessing 29k wasn't really where he should have been for the job he was doing. Certainly not in '97.

BoneKracker wrote:

I worked on him for a while, because he had a negative and jaded attitude not unlike what you express.

That isn't at all what I'm referring to. Hopefully I've clarified.

BoneKracker wrote:

When I last saw him in 2004, he had been made a Managing Director and was earning $250K. [...]

However, professional advancement, like many things, requires several ingredients. Productivity alone won't get it, just like charcoal alone is not gunpowder.

That's great. Not everyone is management material, and even if they were, there aren't enough management jobs for everyone._________________Slowly I turned. Step by step.