Am I the Only One Who Uses a Text Editor to Edit Files?
blog.peepcode.com
blog.peepcode.com
Ditto for if you go to Best Buy or any other non Apple store that sells Macs. They never know about this delightful key combo. </8 year old level of humor>
My first impression, article aside, was that the site made baby Jesus cry.
Edit: In retrospect I think it was the combination of the orange and the grid background (I have a tendency to doubleclick on everything) that really put it over the edge for me, the main design isn't terrible.
But I agree, that background image is really horrible.
That's why I have bookmarklets to disable the dictionary lookups and other what I consider annoyances on sites that implement those features on doubleclick and yes I've been told that I'm crazy on many occasions.
I do it so, when my attention gets diverted, I can quickly start from where I left off since it'll be highlighted. The obsessive clicking is because I'm obsessive.
But I guess there are people who will complain about anything that is different. The slight irony of posting a complaint against orange while you were surely looking at a band of electric orange is not lost on me.
(At least, I assume you're with orange. Has pg lifted the karma restriction from the custom color preference?)
http://omploader.org/vM3h3OA/Sample.PNG (HN topbar, start of site, middle of site, bottom of orange section of site.)
Appropriate contrast was maintained, the entire design was not overly luminescent. Since it was the background color it did not create a wicked eye-draw the way the banner at the top of our comment pages here do.
If you don't like unusual designs then you shouldn't read peepcode; a magazine format is one of their boasted mission statements.
Saying every site has to avoid all interesting design so that people who are legally blind can—through supreme effort—read your page unassisted seems to be unreasonable at best and disingenuous at worst. Readability and screen readers and accessibility helpers and style removers exist for a reason and people who need them use them.
It's pretty lame to say "misrepresentation" is what you call the process of "extracting meaning from unclear and muddled prose linked indirectly."
When you lash out against anyone calling you on it, that's only confirmed.
One article has a different theme: http://www.valeriedaysings.com/wp-content/uploads/2008/08/na...
from another: http://www.simongarnier.com/images/wordpress/ft_hdr.5.jpg
Well actually, those are title pages, but I've read those articles and I can attest that the different designs set a suitable mood for the topic at hand.
I applaud web publishers for taking up this paradigm and applying what publishing graphic designers have been doing for some time. Of course with most methods of design, it depends if the occasion is suitable. Some online publications can do well with a consistent design: http://www.alistapart.com/
While others do well with differing designs, almost as if each posting of their articles is a treat for their readers: http://trentwalton.com/articles/
just like D.Curtis does, so good on him if he has inspired others to do the same.
In this case quite appropriate, though. Having to scroll down one third of the page before you get to anything resembling a meaningful discussion about the actual content of the article cannot possibly be a good thing. Neither can the sneer and arrogance displayed in this thread.
(I’m kind of aware of the irony of me participating in this thread. Resisting the temptation to be self-righteous on the web is hard.)
This article boils down to "It isn't pretty enough, and I didn't write it." In other words: no actual relevant content. Just a lot of pretty images as text, BIG FONTS, and whining.
“Orange?! U R DUMB!!!!1!” – that’s what I don’t like. Not disagreement with the actual content of the article.
Mine's roughly that; the orange background is only a bit eye-straining for me.
For a lot of people with weaker sight, or outright visual disabilities that fall short of blindness, this would be entirely unreadable without Readability or similar tools.
Something that stops people from getting to content is noteworthy.
Other people thought it was worth talking about with regards to a blog post by a guy who makes a point of giving each post a unique, custom design.
The color choice also hasn't been the only thing criticized - the layout is cluttered and confuses some people. It's overall a much poorer design than many, if not all, of the other posts on that site.
Lose the ego-investment/chip on your shoulder/BS. Nobody's impressed, and this isn't a schoolyard.
Where I "want to go" is exactly what I said. People will talk about the design first: how much they like it, how much they don't like it, whatever. We are not robots, and those of us with normal vision will pick up on color, shape, and arrangement before they read any of the text.
Simple rule: if you're going to be offended at people talking quite a bit about the striking color (or other design element) you used for your web page, whether appreciatively or not, don't use that striking color.
That's why I tend to use it more for reading medium-long stories, not fixing website's design.
FuzzyFinder Textmate http://github.com/jamis/fuzzyfinder_textmate (Unfortunately only works with fuzzyfinder up until v2.16)
and more recently
Command-T http://www.vim.org/scripts/script.php?script_id=3025
i recorded a quick screencast: http://pipsq.com/s.mov
note that i'm matching against the linux source; searching smaller source trees should be a lot faster.
you can try it out by downloading the following files:
http://github.com/strange/dotfiles/blob/master/.vim/plugin/p... http://github.com/strange/dotfiles/blob/master/.vim/autoload...
launch with :Pyxis or create a map:
noremap <leader>e :Pyxis<CR> noremap <silent> <leader>E :PyxisUpdateCache<CR>
Am I the only one who still values things like http://www.useit.com/alertbox/scrolling-attention.html ?
every empirical study (like the one linked) seems to confirm that there is an obvious bias towards content above the fold.
Dont think its particularly important here, I was pretty impressed by his design and not everyone needs to stick to strict usability constraints, but still handy to know what they are.
The problem of this blog is that there's no vertical element which clearly shows that it's cut by the fold and you can find more content below. (someone argued that this is the general answer to most "below the fold criticism" but I couldn't find it right now)
(Go on a windows box, see how authentic the busy cursor looks!)
At first, I didn't know if the keyboard thing was a banner with the blog name, the article title, or an interactive flash component. Then I saw random screenshots scattered without any text under and things made even less sense.
I started scrolling, but was greeted with four paragraphs of text laid on two columns, then a list of icons. Was this the end of the article and the icons are "share" buttons? No, wait, there's more paragraphs down there.
But are continuing from which column? I mean, the list of icons could be an ad and I'm supposed to read both left columns first, and then the right ones. But it could an article divisor and I should read the top rows first.
Then under it there's this three scenarios so crammed together that it takes some more fractions of second to realize they are different columns.
See? I'm completely lost and didn't even start reading the article.
Let me ask that one more time. Would people be ranting like this if there were NO FILES?
I still believe the "future of programming" is where your code objects are not arbitrarily mapped onto files in the file system, you just manipulate them directly!
A few Smalltalks and Lisps out there do this using image-based development. This is where it's at. If you can't use a image-based Smalltalk or Lisp to get your work done, then use a JetBrains/Eclipse IDE. They're generally modeled off of the Smalltalk IDE and are the next best thing if you're forced to use a broken file-based language.
If you just take "files" for granted and think that the UNIX design philosophy is the best thing ever, then accept your fate and stop bitching.
http://www.cs.brown.edu/people/acb/codebubbles_site.htm http://news.ycombinator.com/item?id=1181742
I've worked in smalltalk, and yes it is an interesting way to work but images had almost as many problems as hey solved. primarily version controlling and syncing code were terrible (yes there were some tools, and yes they all broke on weird edge cases).
If forced to choose these days, I'd rather use files + git + (+ emacs + grep + ... ) than images, Images are nice as an additional dev time artifact, but I believe files are more natural than images for source code.
"If you just take "files" for granted and think that the UNIX design philosophy is the best thing ever, then accept your fate and stop bitching."
This is provocative nonsense. smalltalk, while hugely influential and innovative is hardly the ultimate superior dev env that some old geezers make it out to be. I think it is mostly "the lost cause" style romanticism.
Files and their artifacts do show up everywhere in git's UIs, because noone's found a better model yet of exposing the content to the user.
CTRL + ALT + SHIFT + N (seriously) and I can start typing the name of the method, variable, whatever.
With both of these, you can use wildcards or PascalCase caps, it's really, really fast.
I hardly ever use the solution explorer anymore. The fact that the types I'm working in exist in files is something I barely pay attention to.
There are many artificial problems we create for ourselves by using strings for everything. Programming languages in particular have upper limits on expressiveness due to syntax issues. We can't easily annotate expressions or types with extra details without filling the screen with symbols; characters don't scale. Keying every resource with a unique human-readable string causes import conflicts, broken backwards compatibility, and hundred-line diffs - all in the name of renaming one function. Mistakes like ambiguous identifier-scope lookups, block structure/indentation mismatches, and operator precedence issues eat up valuable programmer hours repeatedly, in exactly the same way each time.
We've designed better languages to mitigate these effects, but we can only do so much. We can do static analysis to catch common errors and incremental compilation in the editor itself, but the heuristics can only work in a fraction of innumerable cases. Even simple syntax highlighting is intractable in many cases. If we programmed in structure with an AST-aware editor, whole classes of artificial problems would vanish in an instant. (To be replaced by the UI issues of a whole different paradigm in editors...)
Well, there are plenty of people working toward this, myself included. We'll see.
Takes some time getting used to, -just like vim or emacs, but once you get used to the keyboard shortcuts you get everything the author asked for. No mouse needed: check, fuzzy search: check, paths: check, metadata: check, beautiful: check
Regarding file navigation, http://rayfd.wordpress.com/2007/05/20/10-eclipse-navigation-... covers a lot of the lesser known but powerful features (not Java-specific).
They pretty much do everything you're talking about.
IntelliJ IDEA has exactly what the author implemented, but IntelliJ IDEA can also take about 5 minutes to start up, and takes up all your screen real estate. When you work in 5 languages on a regular basis and just want your editor to start up quickly, that can be quite a pain.
Both add better file/class/method navigation, and I find them invaluable.
The only navigation I can see for open projects is the tree view which is painful for large projects with files scattered across the project (e.g. web frameworks).
edit: Ah, I see. The article wasn't about text editors. It was about how file navigation (within whatever environment you use) sucks.
shrug
(never quite "got" emacs - it reminds me of the crappy, buggy, horrid PIC IDE we used at uni)
I use Total Commander for opening files: http://www.ghisler.com/
Emacs and vim fill me with rage every time I try to use them. And I definitely prefer several small tools to a big, monolithic IDE.
But yes - a big upvote for notepad++. Very lightweight and easy to work with.
"This article started with pain, developed into an idea, and ended up as an unexpected prototype implemented in MacRuby. I’m using it daily and am fine-tuning the interaction, visuals, features, and performance."
Till one exists use the current emacs.
Use fewer files. I try to keep the number of files and folders for a project to as few as possible.
Then you spend much less time opening and searching for files. As more people get involved with a project, you'll have more files, but you should make an active effort to keep the numbers minimized.
Here's a little script I wrote to give quick stats on a project's size:
Why? What does that have to do with text editing capabilities? The number of files depends (or at least should) on what you do, not on how bad your tools are. If you limit the number of files to limit the file-opening time, you increase the fragment-searching time in the gigantic-file-of-doom. Also you lose the possibility to make local one-file changes which are self-explanatory if you look at the VCS history.
I'm not sure why would I want to make my work harder just to make up for the tool's features...
> For most programming tasks, editing involves opening several files at once and switching between them (e.g. HTML/JavaScript/CSS).
His idea of a solution is for better file navigation.
My claim is that often the real problem is a bloated set of files and directories in a project.
I find when the set of files is small, opening and switching between them is much faster and more productive.
This applies particularly to the beginning of a project. As classes/files mature, then I recommend splitting them up into more files.
For example, when starting a new MVC project I'll create one models file. All the models go in there at first because the project will be heavily edited.
Once it's become more stable, I'll split it into a file for each model/class.
This way when you make small changes you'll have the VCS history benefit you mention, but often you don't really need that at the beginning of a project.
vi dir
Now you're looking at a directory listing, and you can move down to an entry and press Enter to go there.When you're inside a file, you can go back up with:
:e ..
You can also use wildcards and tab completion. I suppose for finding routines you can use ctags, though I haven't bothered with that in quite a while.If you want to edit directories, as in edit the file metadata they contain, try out vidir from the moreutils project.
Similarly, Emacs has dired, and in some extensions you can edit the file metadata in place and hit save to rename files, chmod, etc.
I'm surprised it didn't work for you using vim explicitly. It works for me using versions 7.1.138 and 7.2.245, from fresh installs, by default, with no fancy configuration or add-ons.
When I run vim on /usr, it shows me a directory listing which I can browse and edit. I can create, delete, and rename directories and files right there.
(netrw has always been enabled-by-default for me, but I've spent most of my time on desktop-oriented Linux distros.)
vim db/migrate
then I can easily find the file I'm looking for and quickly open other migration files for reference.
It doesn't do an x/y fuzzy search, or an x y fuzzy search though it does to single word search.
It colors files by how recent they were opened and by if they were most recently edited or just viewed (changing/reference code). The file searches include folder names. All navigation tasks work through the keyboard. It has GUI beauty.
Yeah. Some people get their eye-candy feed from lolcat videos, and then use their tools for work. (My desktop doesn't even have wobbly windows! Just a 1-px red border! How can I get any work done that way!)
Also, I'm fairly certain that eproject gets rid of the "wall of text" that disqualifies Emacs. In a perl project, for example, I can hit C-c C-f to find project files, but the files are displayed as the names of their resources -- instead of lib/Foo/Bar.pm, I see "Foo::Bar".
Personally, though, I just "eproject-open-all-project-files" when I start working, and then just iswitchb to the file I want to work in. Usually, you are two or three characters away from any file you want.
Learning and thinking > pretty.
You don't use xmonad, perchance? It's the only one I know of that uses the one red pixel in the default scheme. I guess Awesome or the like might too, but I haven't used them in a long time. Tiling window managers are a great example of something that is less "advanced" but more useful.
And as far as I can tell, both Emacs and Vim can easily satisfy all but the "beautiful" requirement for him. I think he should just replace all of his requirements with, "a powerful and extensible plug-in system."
http://github.com/jrockway/dotfiles/blob/master/xmonad/xmona...
I agree that as a programmer, I care about functionality and tools that get out of my way so that I can get my work done quickly and efficiently. But I don't think that means that everything has to look ugly (or better - that it couldn't be more elegantly presented).
I'm a Vim user, and rarely leave full-screen mode. It's a great app, but on large projects even with the Fuzzy File Finder plugin, I agree that navigating can be cumbersome. I'd like to try out Jamis Buck's "Fuzzy Finder Textmate" plugin that builds on this, but have had trouble getting it installed on both my desktop and laptop.
tl/dr: The author knows what s/he's talking about, and things can be pretty and functional, too.
I walk you through it step by step.
As an aside, I think you can just download the 2.16 version of fuzzyfinder from vim.org and it will work with Jamis' plugin. That's the version I use - love this plugin and I doubt I'd be able to use vim without it!
Furthermore, I don't think you're really addressing the core of the article. He mentioned the word "ugly" once, and it wasn't even the bulk of his criticism: Emacs doesn't provide all the features he wants. The "Metadata" icon was left of off Emacs, and he goes on to mention things such as searching on class and method names.
http://www.vim.org/scripts/script.php?script_id=3025 | http://github.com/wincent/Command-T
Or are there any similar editors?
I find its design very novel, but the mouse-centric UI is a dealbreaker for me. (I went back to Emacs.) If you're already using a Mac, you're probably a bit more forgiving of mice, though.
I'm just very happy common things like closing a window(cmd-w), quitting and app(cmd-q) have sane and comfortable short-cuts compared to Windows.
Plan9Port http://swtch.com/plan9port/ has Acme, along with many other useful Plan 9 tools.
Acme-SAC http://www.caerwyn.com/acme/ is a standalone bundle of the Inferno version of Acme.
Both will run on OS X, both are basically the same. I use Plan9Port.
" vim-fuzzyfinder plugin
map <Leader>t :FufFile<Enter>
" start recursive search with a comma. see help for 'fuf-abbreviation'
let g:fuf_abbrevMap = {
\ "^," : [
\ "**/",
\ ],
\ }But I can't figure out how to search currently open tabs instead of opening a new tab no matter what; I end up with duplicate tabs very easily. So his 3rd major "what I want" point really rings true.
cd ~/code
ctags -R .
echo "set tags=~/code/tags" >> ~/.vimrc
vim -t SomeClassGood to know. We're saved. For a small fee.
Feature Request: Allow it to run invisibly (no Dock or menubar icon).
If you agreed with the message you would never have wasted that much breath on it, but you don't agree with it, and you don't have any good arguments against the article, so "Too orange!" it is. :-)