skysight-inc/HackerNews huggingface dataset:
I don't have a problem with Vim's main modes, because I always know what mode I am in. Not only is the name of the current mode always in the bottom-left of the window, the cursor also looks different depending on whether I am Insert mode (vertical line) or Normal mode (rectangle). I suspect that your UI books warned against modes where the user might forget what mode they are in.

However, you also go into another mode when you enter the beginning of a multi-key shortcut (such as 'ma' to mark the current location with label 'a'). This is indicated at the bottom-right of the window by showing the keys you have typed so far (such as 'm'). Since that is the only indicator, sometimes I have accidentally forgotten I was in this mode. So that can be a problem. But it's easy to undo mistakes - just press 'u' in Normal mode, or Ctrl-O if the effect was moving the cursor. And if I know I'm in some weird mode and just want to get out, I can just mash Esc, and that always brings me safely back to Normal mode.

Of course, the reason Vim has modes in the first place is to give modifier-key-less ways to access a lot of functionality. I think the modes are overall a good thing. It's very nice to be able to edit and rearrange text with so few keystrokes and no need to move your hand to the mouse.

But configuring Vim so it works well can be a large pain. I've been using public computers to program a lot recently, so I've been using Sublime Text 2 on those, because of its good defaults and cross-platform nature. I hope to soon upload my Vim configuration files online so I can use it on other computers, but first I have a bunch of bugs in my configuration I have to fix. That's where I envy Emacs for having a good configuration language.
So far this seems more like "the vague idea that a C conference might occur somewhere at some point if someone wants to pay for it and someone wants to organize it" than "The C Conference".

Can we have more action and less wishful thinking?
It might turn out to be interesting. So far I was only aware of such conferences by ACCU.
For those users with grandfathered unlimited accounts there is no need to care about data usage. At the very least it should be optional and removable, which it isn't.
I would absolutely pay for and go to this. Such amazing potential for keynote speakers.
Over-engineered code is frustrating to read and work with. If your project doesn't require classes then it's fine to not create a bunch of complexity with OO style and design patterns. But if you just dismiss the techniques because they're difficult or you don't want to spend time learning, then you're likely to re-invent the wheel over and over.
I would also like to agree here: I have been a Dvorak user for over 5 years and don’t find it a problem to “type” QWERTY on my iPhone (I imagine it’s kind of like how we all got good at T9 back in the day), though it is definitely annoying to type QWERTY on a laptop keyboard now (not that I have to often).
I notice no mentions of Ruby yet, and I wonder if this discussion is pretty much impossible to have in the Ruby world, given Ruby is solely an object oriented language, even if you try to use it procedurally. Not writing classes would be against so many Ruby conventions and accepted style that it's a non-topic?

Or is it that classes in Python specifically aren't that much of a win over the language's implementation of other paradigms? I sure haven't hit into any problems using classes or objects in Ruby, even when sometimes the use feels a little contrived to begin with, but.. I also have no choice :-) (maybe Rubyists have a Stockholm Syndrome with OO ;-))
Could you use this data feed to enable ferrying little autonomous quadcopters around london on the roofs of buses and just get them to make short hops from bus to bus to save on power when getting about?
I would agree that there's a huge market for a smaller than 10" tablets and the iPad specifically.

I'm not a big fan of the Kindle Fire (I own one) or the Blackberry playbook. The 7" size is great for reading books but the weight is too heavy for prolonged use in many sitting positions considering the size. I would expect the smaller devices to be much lighter than they are.
What if the site just went viral?

Should the human reviewer check every link by hand?

Think codecademy.com now first for "learn to code". I mean, is it best place to learn how to code? At the moment, I'd say it's not. Is it the third result "codeyear.com" (run by codecademy as well)? I'm sure there are better sites that could take that spot and provide more value to the user than that landing page pointing to codecademy (Nothing personal against the codecademy guys of course, big kudos for their venture so far and best wishes for the future).

The problem with today's algorithm is that it can't really tell which site is really good and which one is just popular, mainstream, consolidated, with a high PR. Think lifehacker.com second for "learn to code" (on my side of the world, on google.com and chrome incognito mode on).

Right now if every single newspaper of the world cover your site about how to build a homemade nuclear device and actually write something about the matter in the article (how it would be natural to be), use as anchor text "how to build an atomic bomb" and link to your site, your site will skyrocket to the top for that kw (and many others similar). Even if it's just a school project or a joke that made it to the news.

Where's the quality check?

Anyway I'm sure that smart people are currently working on these details and that a comment reply can't really do justice to the complexity of the issue.
When I was at middle school, when I was just a beginner, I had the problem of not having a nice and more advanced notepad. I spent a while until I found editplus, after that I, experimented with a lot of text editors unsuccsesfully. Once in a while, while googling "great text editor" saw something about those strange linux text editors. Crazy people, I thought.

Under editplus I learned about regular expressions and a bunch of things. Funny enough the first thing I made when installed linux for the first time was to install ediplus under Wine. Just some time later when I learned about emacs I really understood the programmers world.

Still editplus is the best editor for windows I have ever found.

I have some "util" apps I use since who knows when under Windows: SqlYog, Editplus, LeechFTP, Putty, StartupCPL (http://www.mlin.net/StartupCPL.shtml), hdclone. It's funny to see how much easy is the world for a developer under linux. Util apps simply doesn't exist. Just some commands that may not come by default on your distro.
Here's the thing, most people out of college can't code in a way that is meaningful for entry level at a tech firm. You seem to have the aptitude to get there on your own, but lack the experience / knowledge-base to convince most companies that you are worth the 3-6 months that are required to teach you what you need to know. After all, they can always grab someone from the graduating class of a top school, that has your smarts and more formal education.

I can't tell you how many MS candidate resumes I've read (CS), where they've done tons of projects, but there code sucks. That doesn't mean they aren't really smart and won't be great in a few years, but not now. 400 line functions (poor OOP), poor commenting, inconsistent naming conventions, poor memory allocation...the list goes on.

Figure out your issues and work on them. I understand the debt concern, but your expected value of success and future earnings will be severely limited. Hope for the best and prepare for the worst.
A little off topic but: the idea of SEO has always bugged me: like a store owner investing in having really clean windows, but crappy products inside the store.

Admittedly, that is easy for me to say because I don't need high traffic at my site. I need my web site to have a few high value visitors: people who want to work with me or communicate because we are into the same technology. The way I "optimize" my site is writing about what most interests me, and that attracts people with my interests. Seems pretty straight forward to me.
My dad always said that you should make choices based on the thing you want to -do-, not the thing you want to get away from.

When he was in college he got tired of math so he switched to biology. Well, that wasnt fun either. Thus the observation. He stuck with biology, began to love it, and became a great biology professor.

Life is too short to be in a hurry. You can waste calendar years flip flopping around (ask me - I should know). Take your time, make decisions slowly, make changes when you're sure. And choose the -right- thing for you, don't make decisions based on what you want to get away from.

Good luck. You're a smart guy. Slow down. You'll find the right thing.
I'm not sure if you're aware of the scale of computing that would require. A lone server contributing 15% of the network would have to have the equivalent power of about 6,000 high-end GPUs.
The cool thing :target allowed was those css3 only lightboxs (http://tympanus.net/Tutorials/CSS3Lightbox/). I might play around with this method and see if it works as well.
australian senators don't get diplomatic immunity
Woah, this hit Hacker News and Twitter before I expected. I started contacting people today to start organizing this and created the site to have a point of discussion. If you want to discuss ideas, sponsorship or venue stuff email me directly or post to the Google Group.

If you want to discuss in person stop by 231 27th St. SF, CA.

cconf@googlegroups.com
brandon.cconf@ifup.org
Keymaster.js: micro-library to add keyboard shortcuts
Why Pandora and other category-based music taste prediction engines don’t work
My pet peeve is books that show the wrong way to do something followed by the right way. If I'm new to a language, I haven't committed these sins yet, so please just skip to the preferred method. All this does is add mental overhead.
This server is just the connection to the bitcoin network, not the calculation point.
I think the right approach would be to print the concise beginner book and bind it with 1000 blank pages. That way it won't be too daunting for the learner, but can still perform well in a secondary role as a monitor stand once they're done with it.

More seriously, I think that the discipline of making a shorter book usually produces better writing. If you're going to write something longer than say 300 pages (about 1 K&R-length) you'd better have a lot of interesting things to say.
I suppose it might, though the goal of the project seems to make all devices look holo and is restyling most components anyway. Giving a base Holo theme for any project on any device, I imagine.
Wish I could afford to go to this as a computer science student. Currently taking a course on algorithm implementation in C; http://cs.lth.se/edaf15. Our lecturer (http://www.linkedin.com/in/jonasskeppstedt) wrote the second C99 certified compiler. He also co-authored a book on writing efficient C code: http://writing-efficient-c-code.com // http://www.adlibris.com/se/product.aspx?isbn=9197794007. Meaning; this feels really relevant and interesting!
I think part of the reason this doesn't come up in Ruby is that Ruby doesn't have Python's powerful namespacing system.

In Python, it's reasonable to have a package with just functions in it, whereas in Ruby, writing a top-level method means polluting every object in the system. You can write modules that have singleton methods on them, but you still don't have anything as flexible as Python's "from pkg import foo, bar"—the caller needs to either write "ModuleName.my_function" at every call site, or use "include" and end up with the module's methods as part of the consuming class's interface.
As a semi-new programmer myself, I can't agree enough. OOP concepts like classes in Python were initially very foreign to me. The book I learned from gave no real world examples -- "Image the super class is a bird. Now we can subclass a canary! Clearly you can see how powerful classes are in Python!". I skipped the rest of the chapter because it seemed like something I would never need.

I would also like to gripe a bit about boring examples. One of the books I chose while starting out was Beginning Python.. My lord, what a travesty! "Think of a dictionary as a fridge." and "Now for this exercise, we're going to make an omelet!" my eyes would glaze over from boredom. It made it really fucking tough to be excited about the learning process when the assignment is making a digital egg.

I disagree on his book length point, as well. If done correctly (which I have found to be all to rare unfortunately) having a giant book filled with thorough explanations is a great value, in my opinion. By far, the best programming book I have ever read is Programming in C. It's pretty damn massive. Somewhere in the area of 600 pages at least. But I loved every bit of it! All of the end of chapter exercises were like little puzzles that needed to be solved using the newly acquired techniques. They were actually fun to do! and gave a great feeling of accomplishment once I finally figured out how to do them.

Way better than making some crappy pretend omelet!

One final gripe for you future book writers. I would love to see mid chapter exercises rather than one big end-of-chapter dump. Each new concept should be given time to be internalized -- or at least familiarized -- before moving onto the next thing.
>The original arguments for OO were: it's better for managing complexity, and it creates programs that are easier to change. Both of these turned out not to be true in general.

How so? I find OOP code to be much easier to understand and change.
You haven't explained how the inertia was overcome before. Nor have you explained what you think would replace OO if not for the inertia.

So this is basically a contentless argument that says people are stuck on OO because they are irrational.

As you me 'making fun' of a typo - I don't know what you're projecting onto me. I simply mistyped the word inertia. I put it in quotes because I don't think it's a cause of anything.
Reading some of the follow up tweets, @chrisdary, CTO of Readability and a partner of arc90 has separated himself from those opinions.

Those comments were very surprising to me, and not just because Marco gave the nod to Readability about fonts. Marco and Readability have both publicly acknowledged each others products and at one point they were approaching a working relationship with each other. It all appeared like it was friendly competition and respect.

It's not surprisng to me, but I still find it fascinating how one partner's comments (who I'm guessing is out of the Readability loop) can change all of that with one tweet -- at least from a business perspective.
Everything in Ruby that is an object, is an object in Python as well.

It's more that Python programmers prefer not to proliferate excess complexity or layering. They hate ravioli code.
I don't expect to get a job after dropping out. My parents will let me live with them at least. So I have a good 3-4 years.

I was planning to read a lot of source code, write a lot of code/contribute to open source, and study formal CS on my own. I think after 3-4 years I would have as much programming and formal knowledge as if I had stayed in college, and maybe more.

I'm wondering if the lack of a degree would hold me back significantly.
My apologies! I had typed intertia at one point and thought your quotation marks were quoting that. It seems our fingers work similarly even if our minds do not :)

As for OO, I think our disagreement has probably reached a fixed point.

Edit: nah, I can't resist one more. I believe I explained how the inertia was overcome before: people who were not identified with the dominant theory at the time (structured programming) came up with a new one (object-orientation) and convinced themselves and others that it would solve their problems. Why did they do that? Because the old theory sucked and they wanted to do better. Their error was in identifying with the new theory instead of failing to see that it also sucks. The only reason they could see that the old theory sucked was that it was someone else's theory.

As for "what would replace OO if not for inertia", I know what my replacement is: nothing. I try to just let the problem tell me what to do and change what doesn't work. Turns out you can do that quite easily in an old-fashioned style. But if you mean what paradigm will replace OO (keeping in mind that we ought to give up our addiction to paradigms), who knows? FP is a candidate. One thing we can say for sure is that something new and shiny-looking will come along, until we eventually figure out that the software problem doesn't exist on that level and that all of these paradigms are more or less cults.

Perhaps I should add that I don't claim to know all these things. I'm just extrapolating from experience and observation of others.
That's not what the video was about at all. The speaker never implied to use an approach that would lead to reinvent the wheel over and over ... quite the contrary in fact.
I was planning to read a lot of source code, write a lot of code/contribute to open source, and study formal CS on my own. I think after 3-4 years I would have as much programming and formal knowledge as if I had stayed in college, and maybe more. I want to do this and would find it fun.

I'm wondering if the lack of a degree would hold me back significantly. That seems to be my parent's main worry.
One thing to note is that converting to outlines will essentially change the text to an 'image'. So it's like looking at a jpeg of text - it won't be able to be highlighted, copied etc. (I'm sure there was a better way to word that, but the terminology escapes me)

Given how it's a slide deck, this probably isn't a big deal for distribution. But if it's important to you, I'm sure you can OCR the final product, and that wouldn't end up embedding the fonts. Unfortunately that's sort of a roundabout process.
坐月子中心
I've used Vim for a year now, daily at work for about 7 months, and still consider myself only a basic to intermediate user of it.
Thank you for the correction. It still takes a while to get towards anything like five minutes. (That or the pace of discussion on HN is slow enough that I didn't notice.)

Another thing to keep in mind with this is that HN isn't really like a traditional web forum. If you were to put a limit like this on a more traditionally threaded bulletin board it would stall the whole thread for five minutes at a time. Which would be obnoxious.

EDIT: One also has to keep in mind that the way HN handles your posts is also a bit different from most other sites. (At least the ones I've been to.) The ability to see who has replied to you anywhere on the site means that you can carry on conversations over a longer period than your attention fixates on the parent thread. I've seen replies to my posts made days after the fact. That just doesn't happen in most of the interfaces I've seen.
Also, the computing power is computed from the percentage of successful transaction blocks. Noone knows how much computers you had or anything, they just saw that 15% of the blocks were confirmed by the same PC.

The confirmation task can be easily paralelised - therefore, what is usually done is creating a whole pool of computers that together work on the transaction confirmation task, then the main computer announces the confirmation and is remembered in the blockchain. That's what these so-called mining pools do.

You can browse the blockchain by yourself here
http://blockexplorer.com/

There is always at least 1 transaction in the block with the amount 50 - that's the "new" bitcoins that the person "mined" - those weren't previously in the system, you got them for the confirmation. Someone is cheating the system by creating empty blocks with only this transaction.
Lars Ulrich, Chuck D And Charlie Rose On Napster (2000)
Thanks for your reply sheraz! That's what I thought, and that's what I did with Django. I had never learn Python before and wanted to get started with Django. The problem though is that without having a lot of experience with Python, learning Django can really be a pain. It's pretty hard to follow any tutorials. To avoid going through the Django path again, I start to wonder whether I need to learn vanilla js first. And you answered me just that! So thank you!
Well, his message I think is easily translated into "classes suck - never use them" by those who may choose read into it that way. He also dismisses a few rather basic design patters as basically jokes (literally with laughs from the audience as if these ideas are idiotic rather than foundations of software design) without making the distinction that these concepts are actually really important.

It's easy for people who are very smart and experienced to dismiss the rules - that applies for all things, not just programming. But if you never learn the basics then you'll stumble over silly things that have be solved by much smarter people.
Much more interesting than the existence of this "spy center" are the claims of a major breakthrough in crypto:

"According to another top official also involved with the program, the NSA made an enormous breakthrough several years ago in its ability to cryptanalyze, or break, unfathomably complex encryption systems employed by not only governments around the world but also many average computer users in the US."

The article insinuates that it's AES (or something closely related.) That would be pretty amazing.
True, you would need :focus, but then it wouldn't hide on mouseout.
I remember there's a chording patch for sam.
Yesterday's discussion:
http://news.ycombinator.com/item?id=3711603
I've tried to explain that in my other comments. But we may not be able to say much to each other than that our experiences differ. How much of our experience is real and how much is owed to our assumptions (like "OO is good" or "not") is impossible to disentangle in a general discussion. You know how this stuff really gets hammered out? When people are working together on the same system. Then we can point to specific examples that we both understand, and try to come to an arrangement we both like. Barring that, it's pretty much YMMV.
Of course you use classes all the time in Java: it forces you to do so by design. I have significantly more experience with Python than with Java and I find that writing unit tests on functions is as easy if not easier than writing tests for (small) classes. And Diederich's point about small classes being a code smell (my words - not his) is hard to refute.
"Vim just sucks as a development environment if you can't combine it with a Unix command line."

Where can you not combine Vim with a Unix[-like] command line?

I use WinXP at work, and vim works quite nicely in a cygwin terminal.
Vim or eclipse with vim bindings, I'm addicted to them. When I'm typing a document in Word I sometimes want to move up a line by pressing 'k'..
Yep, that's what I said. Creating good content ALONE is not enough and never will be. The internet, like life is not a meritocracy. Just because you write great content doesn't mean Google will do you a favor and feature it. You need to promote it, which is what linkbuilding post-Panda is all about. Not blog commenting, forum spamming, or submitting to directories.

But telling someone to "just write good content" is like telling a programmer "just create a good product". The world doesn't work like that. You need to hustle, shout and say Look at how awesome this site/app/article is! Link to me! I don't like it that much, but that's how the game is, and if you don't play it accordingly, you'll end up with awesome content and no visitors.
vim whenever I'm ssh'ed into some remote server, an ide when developing code in a project for work, emacs when playing with lisp, textwrangler when playing on my mac.
...not to mention 'From Beginner to Professional in 28 days!'
I think this could be worthy of its own submission.