Ask HN: I'm done with the IDE. What's a good alternative? - <AUTHOR> To me, the modern IDE has become so bloated these days I dread to even think about firing one open and letting it consume a horrendous amount of resources.
So what's the alternative? People have spoken about Vim and Emacs and all the others, but I'm not very well versed in either. I've been using Vim for quite a while to write simple scripts so I'm used to the commonly used keyboard commands, but I'm still a bit confused about how people use their preferred editor as a full blown development environment. Vim to me seems like an ever expanding series of configuration files and keyboard tricks to get something remotely powerful.
What I'm asking is, what is the alternative to the modern IDE? How have people managed without one? Or do we just have to except the fact that the IDE is something we can never get away from? <comment><USER2> I'm curious -- why do you care how many megabytes or CPU cycles some random tool on your computer uses?

Just seems like such a strange thing to say. I've never, for example, preferred one media player over another based on it's algorithmic size, or bought a iPhone app because it used especially fewer screens.

IDEs are just big text editors with a lot of stuff tacked on. I can see, perhaps, wanting to become VIM or EMACS master-of-the-universe, where you've macro'ed yourself to death and the entire planet can be controlled with just a few keystrokes, but for "regular" coding? What is it about an IDE that bugs you?

I hope I didn't sound too critical. I'm just curious. I'll use any IDE anybody has as long as I can type code and compile it. Add in some macros? It's all good. Why in the heck would I want to dive deeper than that unless I had to? Why would I care? Why would, say, Eclipse be any worse or better than EMACs? Or VS any worse or better than Multi-Edit.

I understand there are big fans of various tools. Feel free to jump in here and make your case. I've love to be mistaken. I just think this is like all the hoopla over Git -- it's a tool. I shouldn't be thinking about it very much. If I am it's not a very good tool.

<comment><USER3> Depending on your machine (this obviously doesn't matter much to someone with a beastly dev box), IDEs like Eclipse or Netbeans sometimes can't keep up with typing speed. This isn't a brag about WPM because I'm not that fast. But the code verification and error highlighting sometimes really slows things down which can result in hair-pulling. The best set up I think is something like Eclim - best of both worlds.

<comment><AUTHOR> This is the reason why I've developed a dislike for IDEs

What you say is correct, an IDE is just a text editor with a bunch of features tacked on, but those features lead to the environment becoming hungry for resources after every keyboard command you type.

It doesn't surprise me to find Eclipse using 1GB of RAM after a few hours of development.

My main development machine right now is a Macbook laptop, so I have limited resources in terms of RAM (2GB) and processor (2GHZ) and hate to see programs becoming greedy

<comment><USER4> If you have 2GB of RAM, why are you worried that the program that you basically bought and booted your computer for takes half of it?

Are you sure that it would still use 1GB if you ran a program that needed memory harder?

<comment><USER5> I have a Windows laptop with the same specs, and I can slow it down pretty easily.

Chrome with thirty tabs -- switching to a tab I haven't looked at in a while sets the disk grinding and brings everything to a halt.

When I start up Outlook, or just click on Outlook after waking up the laptop, there's a couple minutes I can spend getting coffee, because it takes take that long to switch to another program and start using it. (Waiting for Outlook to finish starting up is another few minutes after that.)

Eclipse with fifty or more files open (damn these big Java frameworks) -- grind grind grind every time I switch between views, or at unexpected times while I'm typing.

I wish I knew more about Windows, because when I look at the processes in the Task Manager, their combined memory footprint is well under 2GB, but all my programs become nearly unresponsive while the disk goes grind grind grind grind grind... what the hell is that about?

Whether it's misconfiguration or some spyware crap my company installs on our laptops (I disabled the "backup" feature that just copy files around on the hard drive, but I'm sure there's more) it certainly helps if I keep the resource usage of my programs down.

tl;dr: As long as people are bothered by performance problems, they'll worry about the resource consumption of their tools.

<comment><USER6> _Chrome with thirty tabs_

I found it very helpful to actively and violently close down tabs. 4-5 is just about the ideal maximum. I keep a separate lightweight browser, Opera, open to API documentation, and firefox for other stuff. For wifi, I removed the internal one and use an external one. Whenever I need to focus, I close firefox without saving sessions and unplug the wifi.

When I go out to cafes for reading, I leave the wifi at home.

<comment><USER7> > I keep a separate lightweight browser, Opera

Opera is not particularly lightweight, even compared with Chromium. Check out Midori.

<comment><USER6> That was an excellent suggestion. It _is_ more lightweight than any other full-functional, graphic browser I have used so far.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> IDE's are a nuisance, but what's a bigger problem is your typical framework that will include a few hundred classes and a few thousand methods and properties.

Keeping that all in your head is a serious effort, especially if you don't work on the same project all the time.

I try very hard to stay away from IDEs and environments that require one to function, but 'modern' looking websites and applications more or less require the use of such frameworks.

So I find myself using the documentation probably more frequently than I really need to, in order to simply look up the names of stuff and I probably am not using the frameworks to their fullest potential because I can only memorize a subsection of them.

Even a 'lightweight' framework can easily come to 100 classes.

So, my toolset: vi + my memory, but it's tough going.

<comment><USER9> One additional feature that IDEs often provide is tiling different screens around the text editor: debugging windows, REPL, project file hierarchy.

I substitute for this with a tiling window manager (wmii) with very similar keybindings to vim.

My toolset: my memory, vim, wmii, rxvt-unicode-256color

</comment></comment><comment><USER10> Personally I use emacs, before that it was Kate (+shell). I only use a miniscule subset of emacs' features and I have no intention of learning too much.

Everything I need from a code editor is the ability to open files in tabs, to syntax highlight any random language I use (on an average day I'll be using up to 5+ different languages) and to understand the indentation style for all the languages to ease indentation. Perhaps some bracket matching and that's pretty much it.

But what I seriously, seriously cannot live without is a HUGELY HUGE area for code. The biggest thing I hate in IDE's is that they tack on so many features and toolbars and crap that at the end I'm left with this tiny code editor that leaves me feeling horribly claustrophobic. Sure, I could close all those toolbars, but then why am I wasting resources on them in the first place?

Another thing I hate about IDE's is how egocentric they are. I don't like conforming to some IDE's idea of what my project structure should look like. And I certainly don't like it when they get horribly confused if I move a file through a normal interface instead of the IDE.

As for "keeping the project in my head" that some people mention as a problem when not using an IDE ... I've never found an IDE particularly helpful in that regard. I've actually never found any added value that an IDE would provide ...

<comment><USER11> Boy, you said it there: "do it _my_ way", as well as the "wait (long) while I start up" that IDEs are so guilty of.

That said, sometimes I use NetBeans (and sometimes I don't). I was using Eclipse for a few years, but I got so tired of the setup and wait. Of course, there is probably a newer, less sucky, version of Eclipse now, who knows.

NetBeans is fast enough on my netbook (Atom, 1.6 GHz w/ 1 GB RAM) for most little projects I tinker with (at least under Linux), and likewise on employer's workstation with real stuff (even using the mandated Windoze). The edit window is mostly responsive soon after start, though it may take a minute for rescan to finish so docs, jump-to-def and autocomplete to be available.

Also, I like that you can undock the edit window in Netbeans, putting it in its own relatively large stand-alone window. Throw in the "vi" plugin, and get to work, referencing the other window full of, um, crap, only when you really need it. I guess I shouldn't call the integrated debugger "crap", but much of the other stuff is :-)

I have some screen shots on my website of several file types, where I have undocked the editor and hierarchy widget. Playable for me, YMMV. <http://roboprogs.com/devel/2009.09.html>

Also, its easy enough to create a project with "external" (existing) sources, rather than the IDE-p0wned build process. I usually end up creating _one_ (1) IDE project for a given source base, then checking out source for multiple branches and then either resetting a sym-link (*nix file systems) or renaming (MS-brain-death) the top level directory for the branch-of-the-day.

</comment></comment><comment><USER12> I'm in a CS class right now and I'm amazed at how useless so many kids are without an IDE.

When I first started taking classes, I tried using eclipse. I decided rather quickly that, especially in a classroom setting, IDEs were a crutch and if I wanted to become a good programmer they would do more damage than good. (Note I said good. That may or may not be the same as productive.) So I started learning vim. Now I can't use most environments. I use Xcode for iphone development, but otherwise I'm just too programmed for vi. I need my commands and macros. GDB works great once you learn it. Valgrind works great as well. And these are available on any *nix machine, all over an ssh connection.

We just had a programming exam where they give you three hours on an isolated machine to build a fairly simple program in C++. Most of the questions and problems people had were that their IDE of choice wasn't working for some reason. Meanwhile, using vim/gdb/valgrind I was done in an hour, long before anyone else.

<comment><USER13> Blah blah blah I'm so much better than my classmates blah blah blah.

<comment><USER14> news.ycombinator.com/circlejerk

</comment></comment></comment><comment><USER15> I think it all depends on what language/platform/framework you are working with. So far, Emacs has proven a joy to work with Django projects. I started using it on my move over to a netbook, because the screen real-estate is precious when I'm out of the office (and far from the big monitor). I went on and discovered elisp, made a couple customizations on how the editor starts, added a couple key bindings and so on.

OTOH, I can't use it with Google AppEngine projects because the way GAE takes over stdin/stdout, which prevents me from starting pdb/ipdb. For GAE work, I am stuck with Eclipse and Pydev. For me, the biggest nuisance is not the amount of memory/cycles it eats, but the amount of pixels.

What kind of framework you develop for?

<comment><USER10> I'm using emacs for GAE projects and I haven't noticed any issues. Django lets you deploy/test from the command line, same goes for Java.

Then again, I do always keep a shell open when I'm coding to run tests and stuff.

<comment><USER16> I also have no problem using GAE and Emacs. I just run the dev server from the command line and its all good. Make changes to the code in Emacs, refresh the browser, and the changes are there. Where would you run into a problem that'd make you switch editors?

<comment><USER15> I often use pdb/ipdb.set_trace() in the code to stop the server and inspect stuff during execution. How do you do that with GAE under Emacs?

</comment></comment></comment></comment><comment><USER17> > Vim to me seems like an ever expanding series of configuration files and > keyboard tricks to get something remotely powerful.

I used to feel this way but I hated Eclipse enough to push through and get past it. Once you get over the barrier of learning how .vimrc works, vim documentation and a few choice plugins, it becomes extremely hard to even begin to consider using other tools. Some IDE-like things I can do with vim and its various plugins that aren't normally quoted:

\- jump to a file in a codebase by typing in a smattering of chars in its filepath and hitting enter (using CommandT) \- jump to a method definition from a call to it (using ctags). \- Rsync a directory up to a remote server on save (`using autocmd BufPostWrite :!rsync blah` in .vimrc)

Its taken me a couple of years of use and a lot of time figuring out vim, but at the end of I have a lightning fast dev environment with similar features to the big IDE's customized to work _exactly_ how I want it to.

If you'd prefer something that has all of that turned on by default and doesn't require as much effort to get up and running with, you're probably better off figuring out how to speed up your existing tools than moving to something else wholesale. A lot of rails developers like TextMate as an editor with a nice gui and some IDE bells and whistles, but I've never tried it.

As a side note, I sincerely believe that emacs is a comparably awesome environment to work with, but I don't think I will ever try it. I've got things so cushy in vim that its more or less a solved problem for me.

</comment><comment><USER18> If you stick with vim or emacs, you may want to check out ctags (or etags), to help you with some of the functionality you normally get in an IDE. IMHO, when you go the non-IDE route, you will forgo some features you are used to and satisfy those needs with alternative mechanisms. This is my personal preference. It's a bit of a learning curve, but I think you end up with a much better understanding how your code fits together.

</comment><comment><USER5> Personally, I use emacs, and that's what I would recommend, but here's a more interesting idea:

Eclipse is built on an application platform called Eclipse RCP. A minimal Eclipse RCP app is just a window with nothing in it. No menus, no editors, no file browsers, just a blank window. (I'm not even sure you need the window these days.) You could start with that -- call it Zeroclipse -- and build up what you wanted. Want a text editor? Add in the Eclipse text editor. Don't like it? Change it; disable and rewrite whatever features you want. Want it to parse and colorize your code? Find that feature and enable it. Write your own keyboard bindings from scratch.

Want refactoring support? Add that plugin and provide some key bindings or menu items. Don't want it? You'll never see it. Even better, the refactoring support will never get loaded and won't even get deployed with the application.

Your IDE (if you want to call it that) will consist exactly of the features that you enabled or implemented. If you think an IDE should be a big code window plus a pane to the left cycling through readouts of cyclomatic complexity, the latest sports scores, and tomorrow's weather report, you can have that. If you want it to track the time you spend typing, or the time you have each file open or focused, you can do that, too. And if you _don't_ want it to constantly recompile your code while you type and pester you with autocomplete suggestions, it won't.

This won't be a fun little weekend project. Eclipse RCP is a huge system that takes a lot of time to get oriented in. But I bet you'll learn something about your development process. A hundred hackers doing this would probably discover some pretty radical and useful ideas.

HNers should chime in with suggestions about alternative IDE platforms to build on. Just don't say emacs....

<comment><USER19> I have a lot of experience developing RCP and Eclipse extensions.

The architecture is modular, but there are many many dependencies for most things

JDT will bring in most of

      org.eclipse.ui
      org...equinox

and their siblings.

That said, I love Eclipse IDE and think the OP is whining too much.

</comment></comment><comment><USER20> I use textmate + shell. Once you get rid of all the crap in textmate - bundles, auto insertion of closing brackets etc, it's actually a usable editor.

The main thing is just to get good at using the shell. Grep, awk, etc etc With all the tools at the cmdline, you can do anything.

<comment><USER21> > With all the tools at the cmdline, you can do anything.

only if your definition of 'everything' is limited, all the refactorings in a half-decent ide are quite hard to get right with awk & sed. For what is worth, even something as simple as finding all elements in a type hierarchy are quite unobvious to do with shell tools for me.

<comment><USER20> I think if you write good code the case for needing advanced re-factoring tools is minimal. If you're writing the same thing time and time again, that should ring alarm bells.

FWIW, for other types of refactorings (I mainly use Java):

      1. Change the name/type of something
      2. Compile
      3. Work through the errors fixing stuff it broke

Maybe that's less efficient than using some IDE tool to do it, but it's not like it takes a long time.

<comment><USER22> Let's talk again when you're dealing with a codebase with >1000 classes, 5 different programmers of varying ability that you don't have direct control over, a build process that takes 5 minutes to complete as it works its way through a dozen different complex tasks with dependencies on just as many external tools and servers, and you need to do one of these simple "rename" factorings _right now_ because a colleague made a spelling error in a widely used internal method that's about to be promoted to a part of a public API. I guarantee you'll start to question whether change/compile/fix is the right approach to these things...

<comment><USER20> In that case I'd just write a simple shell script :/

But thank god I don't work on large systems like that.

</comment></comment></comment></comment></comment><comment><USER23> Vim or Emacs, it doesn't really matter. Users of both will tell you that their editor is best, but if one was really better, we probably wouldn't be having this discussion after so many years.

I personally picked emacs for a number of reasons, you seem to already be familiar with Vim so that might be best for you.

Print out the cheat sheets, and get to work. It's terribly frustrating at first, but you'll be off the sheets in no time. After a month of steady emacs use I could not go back to anything else. I have to use Eclipse at work from time to time and I find the experience maddening; having to use keys like Page Up, Page Down, Home, etc. Emacs lets me do all that and more without ever leaving the home row. I'm sure Vim is the same way.

Pick one, learn it, love it... just don't become a zealot :)

<comment><USER24> Vim used to have an edge when emacs was viewed as "bloated" for using 8 megs of ram, but now that's pretty negligible. On big projects I can get eclipse to use more than 2 gigs!

<comment><USER25> As a data point, my Emacs session is currently taking 75 mb RAM (on a 64-bit system). It's been up for a few weeks. That seems pretty typical.

While it's common to start and stop vi(m) frequently, Emacs is usually kept running, with shells, interpreters, etc. inside it. The start-up cost of loading lots of extensions amortizes over the total session. (And it just took about seven seconds for a new Emacs to start and load everything I use, FWIW.)

</comment></comment></comment><comment><USER26> The modern IDE is chock full of features. So many that many less common edits are automated if you know the right keystrokes. It takes years to master all of the features and those features are constantly expanding month on month.

An IDE like Eclipse can take 1 GB of RAM to run on a decent sized project. Not only that but it will happily consume 4 CPUs as it verifies the code, and it'll only reach its full potential of resource usage on an SSD. But 1GB of RAM is less than £20, a quad core around £80 and a decent dev SSD for less than £200. Compared to the time cost of learning another tool this is absolutely nothing. Those tools in your IDE are there to save you time and a bit of hardware to be able to use those features quickly is worth every penny for the hours they save you.

Learning your IDE well matters, the resource constraints are easily fixed with minimal cash outlay. The difference between a MB and a GB for your editor is irrelevant when the difference is such a vast array of features and plugins which can save a lot of time.

Emacs and vim have a place in the world but an IDE is a vital part of a modern development set-up because of the productivity it brings. If you are going to develop software seriously make sure you buy hardware capable of doing it so you can use the best tools at hand.

</comment><comment><USER27> What language are you developing in? I think that some languages (like Java and C#) really require an IDE to be effective, whereas others (like Ruby and Python) do not require an IDE.

Personally I do mostly Ruby development, so I use VIM plus a host of plugins that are Ruby-specific. If you develop in another language then there are probably a host of plugins that make that language easier to work with.

In general though you are correct that you will have to tweak more to get VIM or Emacs to work for you - an IDE is essentially an environment that has already been tweaked for you.

<comment><USER28> When I'm coding in Java, I generally just use TextWrangler (on OSX) or kate (on linux) as my editor, and commandline tools like ant and git to manage everything else.

I think C# needs an IDE like VS more than Java, if only because it doesn't have a standardized high-quality documentation tool equivalent to javadoc. For many .Net libraries, intellisense is the only source of documentation, and MSDN docs are rarely very helpful.

<comment><USER29> Not necessarily - monodevelop is an excellent IDE for use with C#/mono.

<comment><USER28> Nice to know about monodevelop, but I don't see how that refutes my point about C# needing an IDE.

</comment></comment></comment></comment><comment><USER30> An IDE is just a bunch of other programs combined. It's a text editor at its heart.

So use a text editor (any one) and then compile your code, commit it to the repository, etc etc from the command line. Or using other tools.

Or, realize that IDEs are designed to combine all that together and you'd rather have it do the work instead.

Personally, when coding languages that don't need to be compiled, I use Vim/GVim/MacVim (depending on what system I'm on) and the command line for everything. For languages that need to be compiled, it's just easier to use the IDE.

<comment><AUTHOR> I agree that the convenience of a quick keyboard shortcut in an IDE is really effective for quickly compiling+running a piece of code, but I'm just wondering if anyone has found any tips and tricks to do this without the need to use an 'established' IDE

<comment><USER31> In vim use :make to run make in the current directory. You can browse through errors using :cn and :cp ("quickfix"). Finally use :!program to run your program. You could fairly easily map keys to do these.

</comment></comment></comment><comment><USER32> _but I'm still a bit confused about how people use their preferred editor as a full blown development environment._

I don't. That's the point. An "IDE" is an "Integrated Development Environment." That implies that everything you need is part of the IDE itself. If you don't use an IDE, then the editor is _not_ a "full blown development environment.*

I use vim, but my "development environment" is Unix. Well, bash on a Linux box to be more specific. But all of the tools I need are available from the command line.

</comment><comment><USER33> I only fire up an ide when I need to step through code with breakpoints and watch variables. The rest I do in vim. It depends on the language a lot in how functional you can be without a full ide.

<comment><USER34> Bingo. I started long before there were IDEs and quickly gravitated to EMACS. When I last used an IDE (VC++/VS) I used EMACS for my editing and it for building (compile and link) but mostly for this type of debugging.

</comment></comment><comment><USER35> I have come to the conclusion that IDEs are overrated. I did exactly what hga notes otherwise here when I used Visual Studio--I edited with Emacs, compiled and built with VS.

I now use Emacs for everything. It has just enough pieces to be able to configure the task you want to do. In particular, I make heavy use of key mappings, for example, F11 to the compile command, which defaults to "make -k -f Makefile".

VIM is highly configurable--several at work use it. Two of our more experienced guys use Pico.

Check out "Coders at Work" to see what the truly serious programmers of our time use for IDEs. Short form, none.

<comment><USER36> I believe Emacs already had that bound to C-c C-c by default.

<comment><USER37> Emacs has _all sorts of things_ bound to C-c C-c, depending on the mode. It's common enough that it's worth checking what it does in the current mode (With C-h C-k C-c C-c, of course).

<comment><USER25> First off, it would be "C-h _k_ C-c C-c", not "C-h _C-k_ C-c C-c" -- "C-h k" runs describe-key on the next shortcut typed.

Idiomatically, "C-c C-c" usually means something like "commit" - send an e-mail, compile source (by starting make), etc.

C-h m (the mnemonic is "help,mode") lists _all_ the bindings for a give mode.

Also, pressing a prefix followed by C-h (i.e., "C-c C-h") defaults to listing all keybindings with that prefix. (Sometimes there are bindings replacing that, though, like "C-x C-h", which is delete-region.)

<comment><USER37> The funny thing is, I definitely would have typed "C-h k" in emacs. The hard part is trying to translate from muscle memory back into a string I can write down on HN.

</comment></comment></comment></comment></comment><comment><USER38> Stick with vim, it's just a matter of finding what plugins suit you best. I'm no expert, but I am slowly building my environment: <http://hg.emanuelecipolla.net/dotfiles/src/> if you wish to browse it.

P.S. I would like to know if someone spots mistakes or suggest enhancements, thanks :-)

<comment><AUTHOR> Hi thanks for posting this.

I don't mean to be rude but to me this folder is just a collection of your configuration files. What I really want to know is what your configuration is, what changes have you made to make your environment usable and useful to you?

<comment><USER39> I've been using Vim for about 5 years now. I started because I needed an editor that supported syntax highlighting and auto-indent to work on the university servers over SSH.

It took (still takes) a lot of time to learn Vim. At first I used it as notepad with syntax-highlighting with auto-indent. That is, I immediately entered insert-mode and kept in there for as long as I could. But slowly I've started to learn myself how to truly use Vim. Nowadays I try and exit insert mode as quickly as possible (sometimes after typing just one or two letters).

Every once in a while I stop and reflect on things I do very often, look up ways to do them faster and then try and train those ways to be a habit. I learned most of these things from Bram Moolenaar's presentation "Seven habits of effective editing" (<http://www.moolenaar.net/habits.pdf> and <http://video.google.com/videoplay?docid=2538831956647446078>) most of this talk probably holds for emacs too.

Examples: when I need to rewrite a function arguments nowadays I just type "ci(" which does Change Inner parenthesis, it deletes all text between the enclosing parenthesis and puts me in insert mode to start typing. If I need to move more then 5 lines down I use incremental search instead of arrows/hjkl to move around. If I need to move to the end of a line I use $ (goto end of line) or A (append after end of line). If I need to go to the middle I'll use other shortcuts.

Vim has billions of ways to move around and select text for editing. Learning to use those relevant to your way of working is crucial if you want Vim effectively instead of annoying form of non-modal editor.

As for making Vim useful to you, I don't think anyone can tell you how to do this. You need to make it fit _your_ style of working. Which means, trying, figuring out what bothers you and steal what works from others. Most of these example .vimrc's that people post do not include comments on what the options do, which makes this hard. I commented mine but it is rather sparse and I don't have a place to dump it at the moment to show you, unfortunately.

<comment><USER40> I'm curious.

I've been using vim for not that long (but long enough that it's now my main editor). What all shortcuts exist for getting to the middle of a line?

<comment><USER41> You can use repeat counts with the cursor movement commands. For example, 40h will move your cursor 40 characters to the right; or 5w will move it forward 5 words.

Alternatively you can use the search commands, '/' (forward search) or '?' (backwards search) with the text at the middle of the line as your search string.

</comment></comment></comment></comment></comment><comment><USER42> Good moment to give Acme a try, probably:

<http://swtch.com/plan9port/>

<http://acme.cat-v.org/>

<comment><USER43> It's the best, better on Plan9 but still good as a Unix app

Don't forget Acme-Sac for windows <http://www.caerwyn.com/acme/>

</comment></comment><comment><USER44> I feel TextMate is the best middleground between classical editors and the modern IDE.

It's a modern editor with as much IDE as you care to add.

</comment><comment><USER45> The problem is that there are so many IDEs that try to do everything for all these different paradigms. Visual Studio and Eclipse, for instance, both try to be your go-to place for server-side development (often in multiple languages), front-end stuff (HTML, CSS, Javascript, Silverlight, etc) and then they're also attaching process-related stuff like various forms of testing, collaboration, code reviewing, deployment, release/build management etc. They're also platforms, supporting plugins or add-ins that means they have to be highly configurable and expose plenty of their core structure as APIs. That kind of design is going to lead to overhead in places.

I'd like to see people start designing smaller, nicher editors that solve a few problems well. Make me a great C# editor that does that and debugging but nothing else. Build me a great editor for web apps that takes modern web app design challenges into account (none of the IDEs do).

And don't just say it, do it. We're all developers, right? So we can take the first step and build something that solves a few problems without having to be stuck in the generic all-encompassing world of the IDE, with its toolbars and endless icons. I'm doing it: we invented and are developing a web based HTML prototyping tool that's sort of like a stripped down HTML IDE. We're specifically looking at all the things IDEs do and what we want to keep, change, or throw away. It's a challenge but it's making our product very lean, focused, and easy to use.

</comment><comment><USER46> I've long used jEdit as my text editor of choice for coding html, perl and php. jEdit is pretty much just another in its class that will give you syntax highlighting, regex search and replace, macros, and a few other nifty programmer-friendly features, just like BBEdit, UltraEdit, etc. What I really like about jEdit, personally, is that it's built in Java, and so it's pretty much identical on Mac, Windows and Linux. This is key when moving back and forth a lot, as I sometimes do.

Depending on what kind of programming you do, though, I'm going to have to agree with the other posters who've suggested vim or emacs. I'm a vim person, myself, but there's nothing wrong with emacs at all. I guess, go for vim if you _really_ want to go minimal; go for emacs if you want to simplify with the ability to build out your text editor into an IDE.

The big reason I say you might as well go for vi or emacs, though, is because without an IDE, you will likely need to spend more time at the command line - whether that means running your compiler, firing up your debugger, etc.

I never bothered learning some of the more advanced techniques with vi, but I've written some fairly big projects in a terminal using screen, vi and "perl -d". One little tip I think is worth passing along: I declare my functions in perl like this:

sub my_method_name # the method that does that thing and returns a hashref

{

..

}

The reason I think this is worth mentioning is because it saves me so much time when working in a terminal with a minimal toolkit: I run "grep -nr ^sub" and it returns all my method definitions with a brief (one line) description. The output from that grep is like a mini "whatis" database o my codebase.

</comment><comment><USER47> I keep meaning to learn how to properly use emacs or vim, but I've never actually found the time to do so[1]. So instead, I've just ended up using a plain multi-document editor with syntax highlighting and sessions - KDE's Kate in my case - and a bunch of terminal windows/tabs for REPLs, compilers, build scripts and version control. Where appropriate, I use a stand-alone debugger for whatever runtime I happen to be programming in (JSwat for the JVM, and KDbg as a gdb frontend).

That said, certain types of work for customers is most easily done in an IDE, for example .NET or Win32 stuff (Visual Studio), iOS programming (XCode) and Nintendo game consoles (CodeWarrior), so I use those where appropriate.

It's probably not an optimal approach and it certainly earns me zero respect from my peers using vim or emacs (or eclipse...). Considering how varied my work tends to be, relying on a cluster of totally independent tools actually works pretty well.

[1] I do use vim for shell scripts and configuration files. iravpPdwq!/?: are the only commands I know, however.

<comment><USER48> This is what I've always done, too. Lately, I've been using Padre a lot, which is an open-source programmer's editor written in (and mostly for) Perl and Wx. I know if I really want to, I can change it - so even though I still don't ever change it, it removes the stress of wondering whether I could if I really want to. If you see what I mean.

</comment></comment><comment><USER49> Make a serious attempt in switching to vim for everything. Print out some cheatsheets and have them on the wall next to your monitor. There are also quite a few vim threads on HN which might be of interest to you.

It took me about a week to feel really comfortable with it, but now I'm really glad I didn't give up. I still learn new shortcuts every other week.

</comment><comment><USER50> One thing I like about Vim which I'm not sure I have seen anyone else posted about here is that I can log into my remote VPS and have access to much of my development stack over the internetz. This is important to me because I live in the Philippines and my internet connection is relatively slow. It's good enough to get a solid terminal connection but downloading a large bundle of files could take days. So, I just log into my VPS, fire up Vim and if I need to get access to large number of files then I can quickly get them with Wget (obviously my server has a much faster connection speed than I do.) Also, if I get hit with a power outage I can hit an internet cafe (powered by generator) and get access to that same development stack no matter which computer I'm using.

</comment><comment><USER51> I'm a Vim user and here are my 2 cents on the matter. Vim has a lot of keyboard tricks because there's a keyboard shortcut for almost everything. Don't worry about those right now. Here's how I would suggest you learn Vim: You already know the basics you can get into and out of insert mode you can save a file you can open a file. You now have a "complete" editor in the same way a Turing machine is Turing complete. The problem is it's inefficient. So figure out exactly what you're wasting time on and one at a time (or you could do a few at a time) look up the commands to automate these things. Make yourself use the commands every time they come up if you forget take the time to look it up again. You're going to notice a very steady rise in your efficiency.

</comment><comment><USER52> I use Coda on the mac. Not really an IDE but still combines what I need into the environment.

</comment><comment><USER53> What IDE, language and platform is driving you to frustration?

I'm a long-time emacs user, but I have found Intellij IDEA to be a wonderful tool for working in java. Older versions were slow to start up and occasionally sluggish, but new versions on modern hardware are wonderful. I use netbeans for C++. I haven't found anything for Python that I like. (I find Eclipse unusable for anything.) If IDEA or Netbeans were taken away from me, I'd use emacs.

Actually, I still spend a lot of time in emacs. I use the IDEs for writing new code, reading code, and running/debugging unit tests.

</comment><comment><USER54> My file manager has FTP built in, so I can access files on my host the same as I can my documents. I use gedit with sy tax highlighting/bracket completion/tabulous and several other plugins for added effectiveness. I can then save images or scripts or mp3s or anything to the correct place on my host the same as I would anywhere on my local HDD. F course this doesn't work when using a lanuage that requires compiling, and I prefer an IDE for those. As far as web development goes however, I find my setup to be perfect.

</comment><comment><USER55> I primarily am doing Xcode development.

So vim is simply set as my editor, with CoccaVim plugin installed. Xcode manages the builds, etc, but otherwise I'm in vim.

There are plenty of plugins that give you "all a boy could ask for" as far as development resources.

Go through vim tutor for a bit to get the NEXT level of commands down. Once you get used to typing replace commands and moving about by words etc, you'll possibly think it "powerful enough".

</comment><comment><USER56> what language do you develop in? IDE's are bloated because they have tons of features, If you tell us what features you require, someone might be able to suggest a non-bloated solution to do what you want.

I develop mostly in python, so I use emacs for syntax highlighting and efficient text editing, ipython/pdb for debugging, and grep to help me figure out which files things live in. But that may or may not be sufficient for you.

</comment><comment><USER57> <http://www.sublimetext.com/>

By far the best windows text editor (currently being ported to osx/linux)

</comment><comment><USER13> I use vim for simple things like bash or tex, but I prefer to use geany most of the time for WP because it's fast, versatile and easy.

</comment><comment><USER58> I just like using a text editor with programming features. Kate on Linux, Notepad++ on Windows, and Komodo on Mac.

</comment><comment><USER59> I managed to get by on Vim with the following key bindings

[code] h j k l i a ^ $ Ctrl+w Ctrl+n Ctrl+p * # ? [/code]

</comment><comment><USER60> So we have 2010's version of the immemorial text editor wars^Wdiscussions?

Yawn.

Pick whatever editor^WIDE works best for you, and for the task at hand.

Don't expect to convince anybody else.

Don't expect to have one universal solution.

And please do us all a favor, and keep the evangelism to a minimum.</comment>


How to Make UI/UX for AR Navigation App? - <AUTHOR> http://gbksoft.com/blog/how-to-make-ui-ux-for-ar-navigation-app/?utm_source=news.ycombinator.com&utm_medium=referral&utm_campaign=post_link&utm_content=comment <comment><AUTHOR> Convert lengthy text blocks into voice over notifications.</comment>


Ask HN: Why exactly is FB on trial, and why not Google? - <AUTHOR> It's plain FaceBook may have been a bit negligent ~a half-decade ago, but why is this exceptionally public trial happening right now?
Google told me where to park yesterday. Google also has had  privacy lawsuits laid against them.
Why are we not paying attention to Google? <comment><USER2> I think it has to do with how each is used.

Facebook has positioned itself as a social space to facilitate socialization with others of your choosing. Then from that aspect it has tried to move in to the life quality enhancements. In people's minds the information they share on this platform is intended better the aspect of socialization with those they want to socialize with.

Google has been a facilitator of life enhancements like an assistant. Starting at its beginning of just search, you share what you're looking for and it will help you find it. While it may not be obvious in people's minds it still registers at some level when you search you're yelling out to the world, "does anyone have any 6's". Google has tried to move in to the social space but that's not how they are viewed at their core. Everything Google does is ease of life assistance.

I think a fair analogy in public perception is this. Telling things to Facebook is like telling your friends things. You don't expect them to share that information. Telling things to Google is like requesting something of your personal assistant, you expect them to be discreet but ultimately they will need to share things about you and your request in order to fulfill it.

</comment><comment><USER3> It is politics.

Facebook has been weaponised against the political left and right.

Google has only been weaponised against the political right.

Since most techies lean left they are happy to give Google a free pass and focus on Facebook.

</comment><comment><USER4> The obvious answer is that Facebook were having some reasonably public disagreements with traditional media organizations, most notably Rupert Murdoch's, over the question of news articles viewed on Facebook.

The problem was, Facebook was essentially running ads against the content of Murdoch's media. Murdoch reportedly asked Zuck to simply pay for the news articles that were in the Facebook feed - and Zuckerberg reportedly laughed him off.[0]

So now, we have a massive public trial, conducted by all the public figures most indebted to Rupert Murdoch.

[0]:[https://www.theguardian.com/technology/2018/jan/22/rupert- mu...](https://www.theguardian.com/technology/2018/jan/22/rupert-murdoch- facebook-should-pay-news-publishers)

</comment><comment><USER5> I wonder why my essay has gotten little attention: [http://yuhongbao.blogspot.ca/2018/04/google-doubleclick- mozi...](http://yuhongbao.blogspot.ca/2018/04/google-doubleclick-mozilla- essay-final.html) I was planning to write it before Facebook hits the news.

<comment><USER6> It is, frankly, not very good.

</comment></comment><comment><USER7> Zuck was floating some political ambitions but he hasn't paid his dues to the establishment yet. This was their way of putting him back in place. Same thing happened to Bezos recently with the negative press on Amazon working conditions. Google guys have steered clear of the spotlight, and already collaborate closely with tptb anyway.

</comment><comment><USER8> I think facebook helped win Trump the election or at least that is how its being framed. People are in front of facebook more. They are clicking on stories etc. I guess you could do the same think with youtube, but for example if you use google search its not like you are just sitting there and looking at articles. You find what you need and move on.</comment>


Time-Based Currency - <AUTHOR> https://en.wikipedia.org/wiki/Time-based_currency <comment><USER2> This is a great idea for people that don't have the money to pay their fair share of taxes.

<comment><AUTHOR> It seems like it would present a pathway to that sort of thing.

I found it interesting in that these ideas, like a literal 'proof of work', have been around for a long time before our recent crypto era.</comment></comment>


Oil droplets provide a physical realization of pilot wave theories (video, 2016) - <AUTHOR> https://www.youtube.com/watch?v=WIyTZDHuarQ <comment><USER2> It's been refuted. [https://www.quantamagazine.org/famous-experiment-dooms- pilot...](https://www.quantamagazine.org/famous-experiment-dooms-pilot-wave- alternative-to-quantum-weirdness-20181011)

</comment><comment><AUTHOR> Note: while this has been submitted before, I'm surprised there has been no discussion about it.</comment>


How to Keep Feces Out of Your Bloodstream (or Lose 10 Pounds in 14 Days)  - <AUTHOR> http://www.fourhourworkweek.com/blog/2010/09/19/paleo-diet-solution/

<comment><USER3> Do a search on the Internet and you'll find more arguments - from highly credentialed doctors and nutritionists along with plenty of unqualified 'diet fundamentalists' - for and against the idea that gluten is the culprit behind so many health issues. Personally, I really DO feel fine on a largely Mediterranean diet complete with plenty of bread and pasta. I'm also fit and actually underweight (according to BMI calculators). I feel great health-wise and am a positive, up-beat, happy person. So I certainly see no need to stop eating gluten. And here's what I don't get about the idea that a paleo diet is the key to a long life and overcoming the obesity crisis: why did the obesity crisis only come about in the last part of 20th century, hundreds of years after most people (in developed nations at least) had abandoned paleo diets?

<comment><USER4> The real choice here is whether to live with an "average diet" and thus face average risk rates, or experiment on yourself and try to improve your chances.

Paleo targets overall health, not specifically fat reduction or cardiovascular health. That means that one of its goals is to reduce or eliminate things like long-term degenerative diseases or psychological problems, things which we decided, a long, long time ago, to accept as "natural occurrences" that are manageable only with medication, and not issues of dietary intake. This is a bold goal, of course, so it's right to be skeptical. If it really works, it can be tested. Our bias against the radical ideas comes from only being able to look backwards a few generations of people, all of whom have had largely the same diet. It is only fairly recently that we've gotten this explosion of experimental diet strategies, aided by new research and more diverse food availability. I'm into trying them as a kind of hobby and form of general life-improvement, myself, and for people who suffer from diseases with no known medicinal cure, it offers a lot of hope.

If we are looking only for a culprit for late-twentieth-century obesity, gluten doesn't enter into it. Instead we should look towards the changes in average diet over that time - i.e. increased intake of carbs, refined(fiberless) carbs, and carbs from sugar, and a shift away from animal fats and pressed crude vegetable oils towards solvent-extracted and refined vegetable oils. To explain a broad effect in the population, one has to look towards broad changes, and those are the main things that have changed.

Side note: The popular tendency to emphasize vegetables and/or fruits in diet holds a lot of commercial appeal(since fresh plant foods have difficult, expensive storage logistics, making them more prestigious, and fruits can have their sugar concentrated with drying or juicing, turning them into easily- saleable vice goods) but it's a form of feel-good bikeshedding. The "80% of the problem" issues are different, broader, and harder to completely solve: ideal fats/carbs/protein balance, recognition of allergies, intolerances, and toxicity, and price/time/quality/sustainability ratios. A real solution to those things needs both top-down cooperation and bottom-up education.

I personally haven't seen a huge difference in trying gluten/caesin-free, except possibly for withdrawal symptoms that cumulate in the devouring of multiple bowls of milk and cereal. I may try it again in the future, but while I can usually avoid gluten, I find it particularly hard to get rid of dairy; it helps calm down coffee's acidity, and cheese is one of my preferred snacks when out of the house.

<comment><USER5> "The popular tendency to emphasize vegetables and/or fruits in diet holds a lot of commercial appeal...but it's a form of feel-good bikeshedding."

As I understand it, there is a good bit of science supporting the healthfulness of fresh fruits and vegetables (but not necessarily the processed fruits you referred to).

For example, the Healthy Eating Pyramid recommends a diet based on the latest scientific research and notice how fruits and vegetables are emphasized: [http://www.hsph.harvard.edu/nutritionsource/what-should- you-...](http://www.hsph.harvard.edu/nutritionsource/what-should-you- eat/pyramid/)

Also the World Cancer Research Fund and the American Institute of Cancer Research published _Food, Nutrition and the Prevention of Cancer: a global perspective_ which found much evidence in favor of fruits and vegetables for the prevention of cancer.

</comment></comment></comment><comment><USER6> Here's the problem with diet studies in general - they take ages to pan out. Because of that, there's varying degrees of belief in whether or not something is correct or incorrect, and even in cases where some breakthrough has been made, it takes ages to determine whether or not the choice was a correct one or not.

This is the same reason why certain food products sales largely come down to packaging - how can I really know the effect a protein supplement is making on my muscle growth due to the many other HUGE factors that come into play? Could I have done better without it? Same with insurance plans, investments, etc - at the end of the day many of these products end up getting bought and sold due more to the marketing savvy of their business departments more than the efficacy of the products themselves.

I'm slightly ranting but I think, food wise, the best way to judge whether or not something is good for you is quite simply, how it makes you feel immediately afterwards. If I eat too many carbs, I feel like crap. If I eat a Carl's Jr burger, I feel like crap. If I eat lean meat and fruits, I feel great. If I go overboard, I can hardly feel it. If I drink soda, I feel like crap. And so it goes.

I really think it's that simple - don't pollute your head with varying degrees of this stuff - if it makes you feel good, and that feeling STAYS even if you don't eat/drink it (see: withdrawals) it's probably damn good for you and you should keep consuming it. Similarly, reverse the points to decide what you SHOULDN'T be consuming.

<comment><USER7> "I'm slightly ranting but I think, food wise, the best way to judge whether or not something is good for you is quite simply, how it makes you feel immediately afterwards... I really think it's that simple."

Sorry, this really doesn't make sense to me. Do you think people eat fatty, sugary, salty foods because it makes them feel bad? No, it makes them feel great.

But, you may say, that is only temporary pleasure. They won't feel great a few hours later when their blood sugar crashes. One should, you could argue, look at how you feel all day.

But then why stop at one day? Why not look at your happiness over years. Maybe that diet that makes you feel good during the day slowly causes a disease, such as cancer, that REALLY makes you feel bad later. This could, for example, be the effect of eating a lot of red meat.

"Eat what makes you feel good" is simple and appealing advice. Like most complex issues, however, a simple and appealing solution is not likely to be the best.

<comment><USER6> Fatty, sugary, and salty foods do not make you feel good shortly afterwards. They make you feel bad. If there is any sort of bad sensation at any point, you shouldn't be consuming that food.

There's something to the cancer argument but like I said previously, the determinates behind that stuff are so hard to figure out - and I would say that likely, the foods that keep us feeling good day to day - ALL DAY - <USER2> not the ones causing us to have cancer - but I'm no scientist.

<comment><USER7> First, I dispute that good-tasting foods all make you feel bad shortly afterwards. Just as one example, sugary foods make you release all kinds of happy chemicals as you eat it, and that high alone lasts for a while.

Second, simply eating any food AT ALL that keeps you feeling good all day probably increases your risk of cancer. Calorie restriction looks like it does increase our longevity in part due to a decreased risk of cancer.

<comment><USER6> Sugary foods cause a crash after consuming them. So yes, there is a negative fall associated with it.

The thing with calorie restriction is if you eat all good foods that make you feel good, likely your "calorie restriction" situation occurs anyways. If you have enough of the good-feeling foods to not be in a state where calorie restriction is actually happening, you begin to feel bad (full/bloated). And thus, fulfill the scenario where "feeling bad" actually is again bad for your long-term health.

<comment><USER8> The two of you seem to be using different definitions of "shortly afterward". Two seconds after chocolate cake you feel better, two hours after chocolate cake you'll probably feel worse. Sugar affects different people in different ways, though.

</comment></comment></comment></comment></comment></comment><comment><USER8> The paleo diet is, I think, 99% bullshit combined with 1% right-for-the-wrong- reasons. That 1% does make it worth a look, though, and I personally have lost about 15 lb in the last twelve weeks by (more or less) following it. My BMI is down from 27.4 to 25.7, and I fully expect to get back into ideal weight range within another month or so.

I went into it extremely skeptical of almost all the claims, but what I _did_ buy was the claim that you feel a lot more full after eating a meal of meat and vegetables than you do after a meal rich in grains and potatoes. So I tried it, and lo and behold I find it quite easy to eat as much as I feel like of all the allowed foods and still consume only ~2000 calories a day.

I also find that I no longer have any craving for anything sweeter than fruit, whereas I used to be able to talk myself into milkshakes and brownies with excessive frequency. I think it's a blood sugar effect -- all the food I eat is low in GI so I'm not getting the blood sugar spikes I used to. This effect might be specific to me personally, though.

The fact that the diet supposedly replicates what our distant ancestors ate is important only in that it at least guarantees that you're eating a subset of foods that are nutritionally sufficient.

Other side effects? None that I've noticed, neither good nor bad. It's possible I've felt a little bit more tired, but I can't be sure... and in any case that's not unexpected if you're maintaining a 500-calorie-a-day deficit.

I should also mention that I'm not quite strict paleo because I eat moderate amounts of dairy -- I'll be damned if I'm giving up milk in my coffee. Speaking of which, I'll be damned if I'm gonna give up coffee, which is also non-paleo. And I'm not one to panic if a salad happens to have croutons, or my fish happens to be crumbed. But breads, potatoes, sugar and beans/legumes are out (I don't buy the logic behind exclusion of beans, but I never really liked beans anyway).

In conclusion, it's not a miracle and it's not nearly as amazing as its most far-out proponents claim, but if you need to lose some weight it's worth trying out for a couple of weeks to see what happens (maybe your body chemistry is different to mine, so it might not work for you). If you don't need to lose weight I wouldn't recommend it, because frankly it's hard to eat enough paleo food to maintain weight while physically active. When I've lost enough I think I'll reintroduce grains at breakfast and maybe lunch but keep the paleo dinners.

<comment><USER9> You might be interested in looking into the PaNu approach to paleo.[1] The author of that blog puts a lot of emphasis on focusing on metabolism rather than, as he puts it, food reenactment. e.g., dairy isn't strictly paleo, but he acknowledges that it's an easy way to up fat intake without the type of ill effects that you're more likely to see from glutens.

Worth checking out anyway. It's certainly changed the way I approach nutrition, even if I haven't bought into the paleo thing wholesale.

>I think it's a blood sugar effect -- all the food I eat is low in GI so I'm not getting the blood sugar spikes I used to.

Definitely agree here. I've noticed a definite shift in appetite since I've made a point of limiting my intake of high GI foods.

[1] - <http://www.paleonu.com/>

<comment><USER10> Harris' blog is entertaining to read, in my mind, because he's one of the few folks writing about this stuff that doesn't have a book and/or methodology he's trying to sell you. His "getting started" page is a refreshingly pragmatic list of ideas sorted by payoff potential for the reader, rather than for him or anything he has a vested interest in.

<http://www.paleonu.com/get-started/>

</comment></comment></comment><comment><USER11> I started the paleo diet about 6 months ago. In that time I lost about 18kg of fat easier than any other diet I have ever been on. My blood lipids (I was about to start statins for cholesterol) have all improved dramatically in this time, to the point where my doctor is now incredibly interested in the topic. My psoriasis and eczema have all cleaned up dramatically. The crossfit gym I go to has seen massive improvements in lifting etc once people went paleo. And I am finally off the Prozac for anxiety. Needless to say, for the population of n=1, this experiment worked wonders. I know a lot of people won't take this anecdotal evidence, but if you jump into any of the many paleo forums, you will hear stories like this all the time. If you want a serious easy to follow, health improvement, I highly suggest this diet.

For more resources on the topic I suggest a few books.

<http://www.primalbody-primalmind.com/> \- Primal Body Primal Mind by Nora Gedgaudas – Lots of science.

<http://www.marksdailyapple.com/> \- Primal Blueprint by Mark Sisson – Lot more accessible. Give it to your parents etc.

[http://www.amazon.com/Good-Calories-Bad-Gary- Taubes/dp/14000...](http://www.amazon.com/Good-Calories-Bad-Gary- Taubes/dp/1400040787) \- Good Calories, Bad Calories by Gary Taubes – Very long, but explains where the American Dietary guidelines came from and why they are wrong. (Cliffs notes: [http://higher-thought.net/complete-notes-to- good-calories-ba...](http://higher-thought.net/complete-notes-to-good- calories-bad-calories/) )

Some excellent blogs/websites:

<http://www.paleonu.com/>

<http://freetheanimal.com/>

<http://www.westonaprice.org/>

<http://www.paleoz.com/>

<comment><USER7> I think it's irresponsible to recommend a diet to people that has little to no scientific support for the kinds of effects that you promise or imply: weight loss, improved physical and mental health, and longevity. In fact, some possible instantiations of the paleo diet are, I believe, currently considered unhealthy by the medical establishment, such as a diet high in saturated fats, cholesterol, and/or red meats.

I notice that none of your references have any serious qualifications to be giving nutritional advice. The most rigorously argued of your sources - "Good Calories, Bad Calories" - is written by a science journalist. The scientific establishment has spend decades and billions of dollars trying to understand nutrition, and these people think they can figure it out by thinking hard and reading some papers?

Morover, you can find equally convincing arguments, anecdotes, and "experts" for any of: vegetarianism, raw foodism, veganism, low-carb, etc. What makes the paleo diet different?

You can experiment with your own body all you want, but giving drastic dietary advice on such flimsy evidence seems pretty reckless.

<comment><USER11> Sorry I don't have time to find all my links as I am at work on my lunchbreak but here are a few.

Weight Loss As the Paleo diet is by nature pretty low-carbohydrate:

<http://www.nejm.org/doi/full/10.1056/NEJMoa0708681>

Longevity:

Cancer Patterns in Inuits - <http://www.ncbi.nlm.nih.gov/pubmed/18760245>

This William Lands paper - <http://www.ajcn.org/cgi/reprint/83/6/S1483.pdf>

Medical Establishment:

Good Calories, Bad Calories goes deep into the reasons why the medical establishment considers saturdated fat, cholesterol, red meat unhealthy. Have a quick skim of the cliffs notes.

Dr Barry Groves - Cholesterol Myth - <http://www.second- opinions.co.uk/cholesterol_myth_1.html>

More Sources:

Stephan Guyenet - B. Bio Chemistry - <http://wholehealthsource.blogspot.com/>

Dr Michael Eades - <http://www.proteinpower.com/drmike/>

Dr William Davis - Cardiologist - <http://heartscanblog.blogspot.com/>

Robb Wolf - Research Biochemist - <http://robbwolf.com/>

Prof. Loren Cordain - <http://www.thepaleodiet.com/>

edit: formatting

<comment><USER7> Thanks for the effort, but seems to be a pretty rough link blast. Maybe there are some diamonds in here, but many certainly miss the point.

"Weight Loss As the Paleo diet is by nature pretty low-carbohydrate": Paleo is not necessarily low-carb. You could eat squash, root vegetables, and fruit all day for nearly all your calories. I actually don't doubt that you can lose weight on the paleo diet, though. You can lose weight on almost any vaguely healthy diet.

"Cancer Patterns in Inuits" : Cancer has many other causes than diet, and this study in no way isolates diet as the factor in disease-patterns in Inuits.

"This William Lands paper": This solely studies omega-3/6 intake and health. Not the overall health effects of the paleo diet.

"Good Calories, Bad Calories" does have an explanation of why the medical establishment has made its recommendations. Still, it is written by one non- expert. Hardly enough to make radical lifestyle changes for.

"Dr Barry Groves" OK, this looks possibly legit.

I'm not going to try to figure out the rest, given the poor quality of the preceding.

</comment></comment></comment></comment><comment><USER7> I follow a paleo diet strictly on weekdays, and for probably 75% of my calories on weekends. I've been doing this for a few months. I'm basically doing this as an experiment - the argument that we should eat what we evolved eating is compelling as a general principle.

I haven't lost or gained weight. My workouts haven't been much worse or much better. I don't notice a difference in energy levels, although I find it harder to ignore hunger now. My major impressions are that a paleo diet is expensive and inconvenient.

This is just my experience. The scientific arguments that I've seen made follow the general pattern of this article: neolithic foods contain chemicals (e.g. lectins, phytates, etc.) that are bad for our bodies.

These kinds of arguments are extremely unconvincing. Digestion and metabolism involves thousands of chemicals and reactions. Trying to piece together how it works is important, but a couple isolated components are not nearly enough with which to make judgements for your health.

Arguments from personal experience are even worse. If you "feel better" on the diet, are you sure it's the diet? Is it the placebo effect? Is it the fact that you are likely eating more fiber and nutrients? Is it a difference in blood sugar levels that you notice? Even worse, is the advice to cut out foods, and then test how those foods make you feel when reintroduced. Any change can easily be interpreted negatively. Also, your body has adjusted to the new foods (which quite likely caused their own painful adjustment period).

Good arguments would make actual health claims, such as 1\. The chance that you develop heart disease will fall. 2\. The chance that you develop cancer will fall. 3\. The diet will prevent some other diseases (e.g. diabetes). 4\. Some specific symptoms from some specific diseases will lessen.

Currently, this whole fad seems like a big echo chamber of people seeing exactly what they want to see.

<comment><USER12> From the article:

 _Now there is a caveat to this. You only need to be exposed to things like gluten once every ten to fifteen days to keep the gut damaged. This can bedevil people as they "cut back on gluten" but do not notice an improvement in their overall health. I'm sorry but there is not a pink "participant" ribbon given out for doing this "almost correctly." You need to be 100 percent compliant for thirty days, then see how you do with reintroduction._

As for: _Is it the fact that you are likely eating more fiber and nutrients? Is it a difference in blood sugar levels that you notice?_

Those are both directly related to what you are eating. I feel better when my blood sugar levels don't spike -- which is why I'm eating paleo.

Also, you didn't really put for an argument as to why the advice to cut out foods then add them back in is bad. If your body has healed itself and is functioning great without grains, then you eat a big pizza -- you will almost surely see how it affects your system.

<comment><USER7> If you consume something out of the ordinary, your body is not used to digesting it. For example, the necessary enzymes and bacteria are not likely to be in large supply. Also, you may be hyper- or hypo- sensitive to neurotransmitters (like dopamine) that are released in reponse to the chemicals that are unusually present in the foreign food.

Cut out vegetables from your diet, for example, and you will experience serious intestinal distress when you reintroduce them.

<comment><USER12> > _Cut out vegetables from your diet, for example, and you will experience > serious intestinal distress when you reintroduce them._

I've actually done that[1], and experienced the complete opposite. I found myself _dreaming_ about eating broccoli, and absolutely craving all kinds of vegetables. When the diet ended I ate lots of vegetables -- and certainly no intestinal distress when eating them.

[1] - "Velocity Diet": the very definition of fad diet, which basically consists of drinking a protein shake 5 times a day for 4 weeks, with 1 solid meal per week. It worked, but I'd never ever do it again, nor recommend anyone ever do it.

<comment><USER7> OK, that is a valid data point. In my own experience, when I increased the amount of vegetables (mostly green vegetables) I was eating, I felt bad for weeks until I adjusted.

</comment></comment></comment></comment></comment><comment><AUTHOR> I submitted this because I have no idea what to make of it and no real idea if it is credible. I am so tired of adapting to what is "good" only to have that change. So my oatmeal breakfast is bad now and I should go back to bacon and eggs? _sigh._ Has anyone tried this paleo business, and to what effect?

edit: and more importantly, I should have added, is there science behind it? Shame on me.

<comment><USER13> _I have no idea what to make of it and no real idea if it is credible_

It isn't credible.

The article claims that removing grains from your diet will prevent "Infertility, Type 1 diabetes, multiple sclerosis, rheumatoid arthritis, lupus, vitiligo, narcolepsy, schizophrenia, autism, depression, huntington's, non-hodgkin's lymphoma, hypothyrodism, and porphyria". This would be pretty astonishing if it were true... especially given that two of these conditions (type 1 diabetes and autism) often develop before children start eating grains.

Astonishing claims require astonishing evidence -- and the article provides absolutely no evidence at all.

<comment><AUTHOR> What I was more wondering if there is credible info elsewhere, like the book (I've never read it). Agreed the claims seem far fetched.

<comment><USER11> Check out the success stories at the <http://www.marksdailyapple.com> forums . The site also has hundreds of articles on everything about the diet and lifestyle.

</comment></comment></comment></comment><comment><USER14> Call me crazy but the book linked at the end of the article was published September 14th and there are already 40 five star reviews posted. Which given the idea that it's 'diet' lifestyle change would mean time would be needed to actually see if the content pans out. I start feeling iffy any time another 'this food is bad' book comes along and with those reviews, that puts it into the questionable category.

<comment><USER12> Robb Wolf has been writing about nutrition and doing nutrition seminars for many years now. Many people have recommended and advocated for the high quality articles and podcasts he has written and put out there. So, it is completely understandable that anyone who has preordered the book (myself included, should get it tomorrow) will read and review it to help boost sales of the book (and the message it contains).

Besides, this is not a "this food is bad" diet scheme at all. This book is just the first, updated, all in one place, quality description of what paleo means.

<comment><USER14> And you sound just like the followup to a forum question on amazon by a person asking the same question that I was.

</comment></comment></comment><comment><USER15> The idea that a paleo diet will make you healthier because it's what we evolved to eat is bullshit.

Firstly, it assumes that we haven't evolved since modern agriculture, which of course we have; people with ancestors from areas with grain harvesting have _more_ copies of the amylase gene, which produce enzymes that help us to _better_ digest calories.

Secondly, it assumes that the "priority" of evolution in paleo times was to optimize our health in our current environment. It wasn't. Our hunter and gatherer ancestors were _starving_ ; we were optimized to extract every last calorie from our food. So when simple starches like wheat came around, we evolved to have _more_ copies of the amylase gene - something that does not help us today.

The paleo diet works precisely for the opposite of the stated reason. These are foods that our bodies are _not_ evolved to perfectly digest. Uncooked foods are far enough in our evolutionary past that people on raw-only diets consistently lose weight, even if they eat a lot. If they were on the savannah they would die.

I'm not saying the diet itself can't be great, just that the entire article could be fodder for Penn & Teller.

<comment><USER16> > it assumes that we haven't evolved since modern agriculture

No one is arguing that we haven't evolved at all. But humanoids have been around for millions of years, and the 10,000 years since the advent of agriculture is a very small evolutionary time step. So the reasoning is more that we haven't evolved enough to fully digest grains without damage to our gut lining.

> Our hunter and gatherer ancestors were starving

You'd be surprised that a lot of hunter gatherers (HGs) were doing a lot better than that, according to anthropologists. One number cited in Robb Wolf's book is that HGs on average only worked on procuring food 10-15 hours a week, with the rest spent socializing, resting, etc.

> people on raw-only diets consistently lose weight, even if they eat a lot

Do you have any supporting evidence for this statement? Virtually all foods on the Paleo diet can be eaten raw (meat, seafood, fruits, vegetables, nuts), and are cooked more for taste than digestibility.

<comment><USER7> "the 10,000 years since the advent of agriculture is a very small evolutionary time step"

True, although those 10,000 (I've actually heard 20-40K) years are the most recent ones in our evolution and therefore have more direct bearing on our current state. In addition, humans experienced a population bottleneck around 60,000 that brought us down to 10-20K individuals. Since then, there have been repeated agricultural famines. These stresses should have favored people able to eat the grains that formed the basis of our diet.

</comment></comment></comment><comment><USER17> I'm curious if there are societies or cultures that eat significantly less grain than others. Surely looking at a large population's diet and finding a correlation to the diseases mentioned could shed some light into his claims...

<comment><USER16> The Kitavans are an isolated tribe that eat almost no grains (though lots of carbs - fruits & vegetables) and are virtually free of cardiovascular disease. All while smoking excessively.

[http://wholehealthsource.blogspot.com/2008/08/cardiovascular...](http://wholehealthsource.blogspot.com/2008/08/cardiovascular- risk-factors-on-kitava.html)

</comment></comment><comment><USER18> I had a well meaning physician suggest a glutten free diet and I tried it for a month. There was absolutely no benefit for me.

A very small percentage of the population is affected by this problem. I don't know if there's a way to screen people first for susceptibility but I would think that would be much better advice than a blanket recommendation. But it wouldn't sell as many books would it?

</comment><comment><USER19> > DINNER: Grilled salmon, roasted green beans, side salad

Aren't green beans legumes?

<comment><USER20> It's not black/white but they're generally classed as vegetables, and they don't have the nutritional problems of bona fide legumes.</comment></comment>


The Harsh, Logical World of Cryptocurrencies - <AUTHOR> http://diegobasch.com/the-harsh-logical-world-of-cryptocurrencies

<comment><USER2> The really interesting question for me has been how to securely bequeath bitcoin as an inheritance.

You need to ensure that your bitcoin can be successfully transferred after you die while also ensuring that it can't be unintentionally transferred while you're alive. Let's say your give your bitcoin wallet password to a trusted friend/lawyer to hold onto in case you die. Now you've just doubled your attack surface for adversaries to steal your bitcoin. At the same time, you can't only keep your bitcoin password in your head or your bitcoin will become worthless once you die.

People are already not good about estate planning today, I wonder how many millions of bitcoin will be lost in the next couple of years as bitcoin millionaires die without making sure there's proper paths towards retrieving their assets.

</comment><comment><USER3> If cryptocurrencies take off, banks are simply going to store keys for people instead of physical money. For the layperson, nothing will change.

However, with cryptocurrency, the gap between how securely a single person vs. a dedicated entity such as a bank can store money decreases significantly.</comment>


Software Deduplication: Quick comparison of save ratings - <AUTHOR> https://trae.sk/view/26/ <comment><USER2> > Method: I used 22.3GiB worth of Windows XP installation ISOs, 52 ISOs in > total. No file was exactly the same, but some contained much duplicate data, > like the Swedish XP Home Edition vs the Swedish N-version of XP Home > Edition. I deduplicated these files and noted how much space I saved > compared to the 22.3GiB.

So let me get it straight: he stores a bunch of CD ISOs, presumably with block size of 2048 bytes to different dedup file systems without caring about dedup block size?

ZFS has 128 kB recordsize by default, so little wonder it does so badly _in this particular test_ without any tuning!

Windows has 4 kB blocks, so that's why it does so well. Doh.

He could have configured other systems to use a different block size. 2 kB block would obviously be optimal, one should get the highest deduplication savings with that size.

From ZFS documentation: [http://open- zfs.org/wiki/Performance_tuning#Dataset_recordsi...](http://open- zfs.org/wiki/Performance_tuning#Dataset_recordsize)

"ZFS datasets use an internal recordsize of 128KB by default. The dataset recordsize is the basic unit of data used for internal copy-on-write on files. Partial record writes require that data be read from either ARC (cheap) or disk (expensive). recordsize can be set to any power of 2 from 512 bytes to 128 kilobytes. Software that writes in fixed record sizes (e.g. databases) will benefit from the use of a matching recordsize."

So what happens if he sets ZFS recordsize to 2 kB (assuming it can be done?)? Ok, dedup table will probably be huge, but... savings ratio is what we need to know.

> ZFS is another filesystem capable of deduplication, but this one does it in- > line and no additional software is required.

Yup, ZFS is probably the best choice for online deduplication.

<comment><AUTHOR> In this kind of scenario, I expect the block size to have only a marginal impact. Indeed if all the CD ISOs are very similar, I would expect that the size of a duplicated chunk to be on average quite big. The difference between using 128k and 64k for BTRFS is for instance not very big.

But except for the block size, I don't see other explanation for the differences.

Dedup is dedup, so I failed to understand why results between different implementation should lead to such differences at the end (except very incorrect implementation !).

<comment><USER2> The files on CDs are aligned to 2 kB boundaries. Dedup is looking for n kB continuous block. If the block size of the material you want to dedup does not match to the block size of dedup system, you'll get suboptimal results. The bigger the difference, the worse the results.

Say you have this data:

      ABCABCBACCBBABCC

Dedup system that has block size of 1 can see you really have just three unique blocks, A, B and C.

Same data, but dedup with block size of 2:

      AB CA BC BA CC BB AB CC

Dedup block size of 2 thinks you have 6 unique blocks: AB, CA, BC, BA, CC and BB.

Etc.

<comment><AUTHOR> I'm sorry I am not sure I get it. Let's say you have a 1000 kB file which is duplicated and which is located on continuous blocks (so if the CDs used 2 kB boundaries, we'll have 500 continuous blocks). If ZFS use 128 kB block size, it will detect 7 blocks (896 kB) that it can deduplicate. So we only lose about 10%.

Perhaps there is a high degree of fragmentation then and files are not on continous blocks ?

(this example would be the same if instead of 2 exactly duplicated files, we have a big common chunk between 2 files)

<comment><USER2> Wrong. If the alignment is wrong, you'll likely lose 100%. 2 kB can be aligned in 64 different positions within 128 kB.

That 1000 kB of 2 kB continuous blocks must start exactly at same mod 128 kB alignment. There are 64 different possible alignments.

<comment><AUTHOR> Oh that's it then ! Thanks for the clarification.</comment></comment></comment></comment></comment></comment>


Why this is not the year of Linux - <AUTHOR> http://roguehut.blogspot.com/2017/09/why-this-is-not-year-of-linux.html <comment><AUTHOR> Can you count the amount of errors from the blog post?</comment>