skysight-inc/HackerNews huggingface dataset:
Sorry about how long this is!! This is the culmination of about 1.5 years using VIM as my exclusive text editor for web development. When I started I was using PHP and now I'm using Ruby on Rails. If you have any general questions about VIM, specific questions about my .vimrc, or anything related, ask in the comments and I'll try to answer:

set fo=tcqln ic nohls nu sc scs sm tm=200 wim=longest,list nonumber

let g:explDetailedList=1

" store all of your vim swp files in one place, make sure this directory exists

set backupdir=/Users/{YOUR_USERNAME}/vim_swp

set directory=/Users/{YOUR_USERNAME}/vim_swp

set bs=indent,eol,start

set hlsearch

" Use incremental searching

set incsearch

" Set standard setting for PEAR coding standards

set tabstop=4

set shiftwidth=4

" Auto expand tabs to spaces

set expandtab

" Auto indent after a {

set autoindent

set smartindent

" Linewidth to endless

set textwidth=0

" Do not wrap lines automatically

set wrap

" DO NOT Show line numbers by default

set nonumber

" Jump 5 lines when running out of the screen

set scrolljump=5

" Indicate jump out of the screen when 3 lines before end of the screen

set scrolloff=3

" Repair wired terminal/vim settings

set backspace=start,eol

" This function determines, wether we are on the start of the line text (then tab indents) or

" if we want to try autocompletion

function InsertTabWrapper()

let col = col('.') - 1

if !col || getline('.')[col - 1] !~ '\k'

return "\<tab>"

else

return "\<c-p>"

endif

endfunction

" Remap the tab key to select action with InsertTabWrapper

inoremap <tab> <c-r>=InsertTabWrapper()<cr>

" set list

" set listchars=tab:>-,trail:-

" set listchars=tab:>-,trail:-,eol:$

set ignorecase " caseinsensitive searches

set showmode " always show command or insert mode

set ruler " show line and column information

set showmatch " show matching brackets

set formatoptions=tcqor

set whichwrap=b,s,<,>,[,]

syntax on

" Added by chris

" from http://items.sjbach.com/319/configuring-vim-right

set hidden

set history=1000

nnoremap ' `

nnoremap ` '

set smartcase "is case sensitive only if there's a capital letter

set title

" enables matching if/elseif/else/etc., sort of works

runtime macros/matchit.vim

"from http://blog.learnr.org/post/59098925/configuring-vim-some-mo...

map H ^

map L $

" End Added by chris

let loaded_matchparen = 1

nmap <F6> <ESC>:call LoadSession()<CR>

let s:sessionloaded = 0

function LoadSession()

source Session.vim

let s:sessionloaded = 1

endfunction

function SaveSession()

if s:sessionloaded == 1

mksession!

end

endfunction

autocmd VimLeave * call SaveSession() "Reopen your session with 'vim -S
Session.vim'
How can you compare two products that haven't even been announced?
The Linux Experiment
All sorts of things about this are off:

Market segmentation is the time-honoured technique of asking people how much money they have when they want to buy something rather than telling them what it costs, meaning what it costs is a function of how much money they have.

What you call segmentation is actually called parallel pricing. In most digital goods and services (high capital cost, low marginal cost), these can get jumbled up.

Parallel pricing pisses people off. Segmentation doesn't.

If you are not sure exactly which one you are dealing with try to figure out the goal. The goal of parallel pricing is to maximise revenue/profit from a fixed number of sales by charging closer to the maximum people are willing to pay without losing those not willing to pay that much. The goal of segmentation is usually to sell more by giving people options that are worth more to them, or at least are better price/value-wise. Segmentation doesn't require not giving high value customers access to low value goods.

People doing A will usually call it B.

If the Internet has taught us nothing else, it has taught us that:
1. Advertising pays for otherwise free services;
2. People don’t like advertising; and
3. Advertising works.

Actually, I would argue that we knew that before the internet, now we're not so sure.
I think I might be in the minority regarding adblockers. I have no sympathy for someone who runs a web server that serves both interesting content and ads (or indirectly requests ads from another server), but is disappointed when my computer only downloads the interesting content. If you don't want my computer to receive the data you send it, then stop responding to my HTTP requests.

I think the typical counter-argument is that somehow I have tacitly agreed to look at ads because other people have historically looked at ads on the internet. But go further back, and there were no ads on the internet. I was there in 1994, and your ads weren't. It's your expectations or the behavior of other people that have misled you, not some activity on my part.

It's true that site developers are counting on the ads for revenue-- I understand that. But I'm just not willing to pay. If the site's free, fine. If I have to look at ads, sorry, no deal. Stop responding to my HTTP requests, and I'll be fine.

Edit: I guess I do feel a little sympathy for someone who hopes to make a living off an ad-supported site, but only because I generally like people and hope their businesses succeed. I just don't find the "tacit agreement" argument compelling. (I'd be open to other, more compelling arguments.)

Does anyone know of an adblocker that negotiates with servers? Like "TCP SYN but only if no ads", "TCP SYN ACK No, you must take the ads", "TCP FIN"?
http://github.com/latortuga/personal/blob/master/_vimrc

I've been messing with code folding lately, cool stuff.
http://github.com/ki/my-dot-emacs/raw/master/dot-emacs.txt
Assessing Competition Risk for Digital Media Startups
You'll want to check out dotfiles.com also, btw. I considered putting this in a separate link, but thought that since you asked, it wouldn't be too terrible to post here. There are a few things I include in every .emacs file I have across multiple shell accounts, and this is more or less the entirety of it:

;; how emacs behaves generally
(setq scroll-step 1)
(setq next-line-add-newlines nil)
(setq search-highlight t)
(setq-default indent-tabs-mode nil)

;; some niceties on the status bar
(display-time)
(setq column-number-mode t)
(setq line-number-mode t)

;; other shortcuts
(global-set-key "\C-^" 'enlarge-window)
(global-set-key "\C-c\C-w" 'compare-windows)

;; fix broken backspace
(global-set-key "\b" 'backward-delete-char)
(global-set-key "\C-xt" 'term)

;; UTF-8 goodness
(set-terminal-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)
(prefer-coding-system 'utf-8)

;; I'm into Perl, but prefer cperl-mode over the default
(defun modify-alist (alist-symbol key value &optional search-cdr)
(let ((alist (symbol-value alist-symbol)))
(while alist
(if (eq (if search-cdr
(cdr (car alist))
(car (car alist))) key)
(setcdr (car alist) value)
(setq alist (cdr alist))))))

(modify-alist 'interpreter-mode-alist 'perl-mode 'cperl-mode t)
(modify-alist 'auto-mode-alist 'perl-mode 'cperl-mode t)

;; the one true indentation level
(setq cperl-indent-level 4)
set nocompatible

set backspace=indent,eol,start

if has("vms")
set nobackup
else
set backup
endif
set history=50
set ruler
set showcmd
set incsearch

map Q gq

inoremap <C-U> <C-G>u<C-U>

if has('mouse')
set mouse=a
endif

if &t_Co > 2 || has("gui_running")
syntax on
set hlsearch
endif

if has("autocmd")

filetype plugin indent on

augroup vimrcEx
au!

autocmd FileType text setlocal textwidth=78

autocmd BufReadPost *
\ if line("'\"") > 1 && line("'\"") <= line("$") |
\ exe "normal! g`\"" |
\ endif

augroup END

else

set autoindent

endif

if !exists(":DiffOrig")
command DiffOrig vert new | set bt=nofile | r # | 0d_ | diffthis
\ | wincmd p | diffthis
endif

colors zenburn

:filetype plugin on

set et
set sw=4
set smarttab
set lbr

set t_Co=256

set backupdir=./.backup,.,/tmp
set directory=.,./.backup,/tmp

set nobackup
set nowritebackup

set number

compiler ruby

autocmd Filetype ruby source ~/.vim/ruby-macros.vim
nnoremap <silent> <F8> :TlistToggle<CR>

let Tlist_Auto_Open=1

:set title titlestring=%<%f\ %([%{Tlist_Get_Tagname_By_Line()}]%)

set virtualedit=all
Adopted from the mighty tpope's vimrc file, and somewhat dependent on some of the plugins (also in my dotfiles repo on github)

http://github.com/csexton/dotfiles/blob/master/home/vimrc
The solutions to the pains of iPhone ad hoc beta development
http://mailhide.recaptcha.net/d?k=01euRp2_8Lz76xXsvpZi-LYg==...
Apple Acquires Placebase: The Big Picture
I agree with you.

I think up until now an OEM just had to weigh the costs of paying the microsoft tax or using linux. Now with Google entering the market, I think linux will quickly get squeezed out.

It is a real possibility that Google, if it needed to, would actually pay OEMs to get in the box, and if Google does make inroads, Microsoft is bound to lower its licensing fees. That makes free not look quite as nice as it once did.
YouTube isn't profitable yet, is it? Google should just block Italy from accessing YouTube for awhile.

(That said, I have no idea if YouTube is at all popular in Italy. This could backfire if another video site fills it's place)
I love the scrolljump and scrolloff, never seen those before...also I think you may have just changed my life by showing me how to use sessions.
Arguing that a two hinged device will triumph because people crave the tactile experience of the book is like arguing that a mechanical horse will triumph over the car.
Especially since MS is particularly known for saying "Oh, don't buy that, this concept video we have is much much better! And it's coming soon.... real soon."
A friend created something similar for striped backgrounds - a lot simpler though.

http://stripedbgs.com
NY Restaurant's Recession App Helps You Fudge Receipts
It's not wasteful, it is just putting the "logic" into the pattern matching at the function selection level. In Erlang you can usually take the first level of case/if statements or arg parsing and put them into the function definition. You do end up repeating certain patterns when defining the function head, but it lets you get away with a lot less repetition in the body of the function.

Different strokes I guess, but in my experience I found myself repeating code a lot less in Erlang due to the functional nature of the language and because it made certain bits of repetition in the code more obvious due to the "shape" of code in my editor.
>>Actually, those identical who grow up apart (in the same country) are more similar to each other than those who grow up together.

Not relevant. I noted that the environment in the womb was very similar for twins, which certainly influences a lot.

(It was a nitpicking note, I am aware of the strength of the twin arguments in general and not one of those idealists which dislikes arguments which goes against Marx -- or whatever it now is that the twin arguments contradict...)
I can see students and business professionals incorporating this device into their busy daily lives to fill the gaps between their laptop and smartphone.

For this to happen the device will need to synchronize and interoperate effortlessly with their laptop, desktop, and other devices. This is where Windows has historically been weak. I admit I am ignorant of improvements that might be in Windows 7.
Amazon clarifies what can go down the memory hole
Good idea, I'll have to add that.
I'm guessing your example is a matter of factoring and how/if the frameworks/libs suite your needs. Rails provides DLSs which have just the right interface to allow you to not repeat yourself in many use cases. If your erlang libraries do not, thats a function of the lib/frameworks, not the language.
Why would anyone pay for a calculator on the iphone when there's a perfectly good one already? I don't see any features there that aren't in the standard one.
I know only the very basics of LISP but this to my untrained eye looks rather neat!
Who’s Being Promiscuous in Your Active Directory?
Speaking of concept videos, "Why Apple Doesn't Do Concept Products:"

http://counternotions.com/2008/08/12/concept-products/
Google Wave crashes on beach of overhype
The genome is full of random crap left over from the evolutionary process (including some things thought to have been captured from viruses). Who knows what kinds of selective pressure this section of the genome has been exposed to? It has obviously accumulated some amount of mutations, hence the premature stop codon.

It is important to note that the retrocyclin is correctly produced in old world monkeys, and the mRNA is created in humans (as a pseudo gene). So, the lack of selective pressure is a pretty recent event (evolutionarily).

So, this _is_ science, no 'technically' about it. PLoS is a top tier journal, and this looks very promising. So while this may not be a 'cure' for those with HIV, it could very well help people avoid an initial infection.
I use IE and I'm pretty sure that I'm a developer.

What makes you so sure that I'm wrong about the latter?

My other open window is running emacs; it's where I've been writing Python code for App Engine for the past few weeks. If that doesn't qualify me as a developer, please describe the requirements, as I've been writing code since the late 70s.
I can't imagine this being cheap enough AND soon enough to properly compete with kindle.
Woz left Apple a long time ago, so did Allen and Filo (Yahoo Co-Founder). It's a bit of survivor bias and interest in the limelight that the more famous names persist.
:set viminfo=""
:set modeline ai et si sw=8 ts=8
:syntax off
Reformat hex-dumps into 32-bit words, 8 words per line.

nmap H :s/\v(\S{8})/\1 /g<CR>:s/\v((\S{8} ){8})/\1<C-V><CR>/g<CR>:nohl<CR>
With 4 billion buyers, you can sell for pennies and still make a lot of money. Remember the marginal cost of software is zero.
Most of my work the last few years has been in the compliance and IT or Physical security (or converged) space.

The machines I am working on are not my own, and often have no access to the Internet directly.

However, I'm generally doing more "editing" than "coding" so it's not a major limitation anyway.
My dad, may he rest in peace, loved to order things from HeathKit, bust out the soldering iron, and go to town. One of the smaller projects was one of these:

http://www.wass.net/manuals/jpg/Heathkit%20IC-2009.jpg

I was young, but I remember one day when a friend of the family came over, I caught them giggling. One of them must have been telling the other one an early version of this joke...

http://www.urbandictionary.com/define.php?term=55378008

...because I recall clearly the result being 55378008.

This is a great easter egg. I wonder if it recognizes this number too.
It's not that bad... it is very hard to translate the contents of a technical article like this one into a story that the lay-public can understand.

It's like trying to describe why a particular compiler optimization doesn't work in an edge case to your mother[1].

---

Based upon the actual article @ PLoS Biology: http://www.plosbiology.org/article/info:doi/10.1371/journal....

The take home message is that we at one point had a gene that can block HIV infection. Somewhere along the way it got a mutation that produced a truncated protein. These guys found it, fixed the glitch, and showed that the resulting protein is effective at blocking HIV infection. They then took the next step of figuring out a way to "fix the glitch" in humans without using some complicated gene therapy approach. All in all, this is very impressive.

---

[1] I'm assuming your mother isn't a committer to GCC :)
Trustful Parenting May Require an Alternative to Conventional Schooling
You are not in the minority, and I find it breathtakingly hard to believe that you think you are in the minority. Virtually everyone in the circles I run in (reddit, hackernews, etc.) believe the same as you. If you want a true minority opinion, read on.

From a practical standpoint, I don't care. Leeching can't be stopped and any web business obviously has to understand that. Clearly, businesses are able to be built despite leechers.

What I find incredible is that ads are really that much of a nuisance for people. I've never had the slightest difficulty completely tuning out any manner of ad. I sometimes get the feeling that folks who go out of their way to ad block are actually a little bit offended by banner ads in general. And that makes me think they're a little bit creepy. In real life, no one would repeatedly take favors from someone and not feel a certain obligation.

What I find even more incredible is the pure, uniform rationalization that comes from communities that otherwise pride themselves on their logic. Would you take a cookie from one of those cardboard vendors some office buildings have and not pay? "If they didn't want me to eat their cookies, they should have stopped me from taking one."

It's just that the "crime" is so trifling and anonymous. No single raindrop blames itself for the flood.

Like I said, I don't care about ad blocking per se. It's the collective and willful rationalization that irritates me.

(Incidentally, your edits imply that you would be willing to automaticaly be blocked from sites that serve ads. That's nice, and makes you consistent, but the vast, vast majority of ad blockers would not be willing to live with an Internet hamstrung to that extent.)
Thanks, I didn't know about Rinari.
Thank you very much for sharing :)

http://mailhide.recaptcha.net/d?k=01tEOuhNuh5WoGZgHaR3Oo_w==...
No, but risky startups and startups are.
someone mentioned listchars elsewhere, but I prefer these glyphs:

set listchars=tab:»·,trail:·
set list

this makes it so all your tabs and trailing whitespace is visible. note, this will make you hate almost every other developer.
An interview question you had better know how to answer
There's nothing native like this built into 7, but products like LiveMesh and DropBox could solve this.
Reminds me of Apple's Think Different ad: http://www.youtube.com/watch?v=dX9GTUMh490
Regarding newlines: in Emacs 23, I recommend visual-line-mode over auto-fill-mode, unless you actually need hard line breaks. For when you do want hard newlines, (setq-default fill-column 80). I never understood why the default is 72; it makes text files excessively narrow.
Your reasoning here is tainted by survivorship bias.

Yes, founders and employees share similar levels of risk in a startup that has reached the point where it can hire FT employees.

But before the startup hit that point, it endured a period of drastically higher risk, which the employees never saw, and which the founders are being compensated for.
Ask HN: Rate my site iJiny.com - micro classifieds service in India
I developed ijiny.com in my spare time. It's a simple micro classifieds service in India. We initially launched it to build a "better" craigslist there loaded with many features.

After many rounds of evolution, we're actually excited about building a micro classifieds service in India that ties in with the huge popularity of SMS (and it's inherent messaging limit) in India.

I'd really appreciate your feedback, comments, constructive criticism.

Thanks!
The difference is that at a startup, virtually everyone gets to work on something meaningful. At Bloomberg, a handful out of hundreds.
Indeed! I can't do it any more, just filled me with so much hate... It's like people use the spacebar just to think.

/rant ;)
Don't get me wrong, there are many conveniences that I DO use.

However, for editors I've just always preferred to stay as basic and reliable as possible. vi is quick, easy, simple and has been on every *nix machine that I've ever walked up to. Relying on customizitions beyond that is, for me, sub-optimal.

I have had more than a handful of workdays that spanned 2 or 3 or 4 continuous days with little or no sleep at all (although thankfully not in several years). In those cases we were usually recovering from planned maintenance gone wrong. In one case I was trying to edit/update some config files, force software upgrades into a bunch core switches and dispatch pilots with spare parts. It was helpful, to me, to be able to rely on the basics as I hopped through SSH sessions from server to server (but, I did use host keys to speed my logins).

My case is moreso for edits and small customizations and not long sessions of coding, so I really don't NEED a whole lot beyond the basics of what I can memorize.
This might be overkill, but would it be possible to setup a mini-Java Lucene process to handle the indexing and queries, and talk to your Python process over a socket?

Like I said, overkill, but it could be worth it.

I say this being in the same boat: coming from the JVM to Python and looking back at some of the things I'm missing.
And to answer the poster, I tend to just use the default vim. I'm bouncing around machines so much that I don't bother setting anything up on my main one that I'll miss on the others...
Should we get some kind of HN group going to play around with it? I haven't played with the public one yet, so I don't know why kind of groups support there is. I think a decent number of us are in the sandbox, too, but we never organized.
I am surprised by how few there are.
The linkjack has been fixed. HN works!
Mapreduce & Hadoop Algorithms in Academic Papers
EU enhances GPS. EGNOS improves accuracy to 2m from 7m; before Galileo in 2014
I like it. Clean design and description of what the site is on the front page.

Not sure about the name.. but it works for now.

http://www.ijiny.com
Well, I've been using Wave in the sandbox since July, and I think it rocks pretty good. So there.
It scares me a little too, but it's not much different than relying on 'rails init'. It's all code generation...
Building Brains: The Molecular Logic of Neural Circuits [vid]
The for-pay version is (optionally) an RPN calculator. And both the free and paid versions of PCalc have a backspace key - this alone was worth the switch for me.
i agree it was worth a shot, but it's still a shame they took away the funding from people with more promising approaches and stigmatized the field for decades.
I hope so.

It would also be nice if the complex enabled lower end netbooks a little more.

Anyway, it's still all early days. Chrome OS may not be that good. Google isn't proven in this area yet. Chrome browser is usually still a secondary browser for the minority that use it. Google docs are still not replacing desktop stuff at much of a pace. Most of the stuff I see it used for is sharing/publishing/collaborating which is great but doesn't mean I use MS Office or OO.org any less.

Google is very proven at letting you find stuff and make sense of a lot of information (search, maps, mail, rss, maybe docs) It's good at making things that you can see for the first time an immediately get it. They are becoming impressive in things like translation via being good at dealing with large amounts of information.

Anyway, I think it's far from a sure thing that chrome OS will do any better then ubuntu. I'm not saying that they shouldn't be doing it. It's just not a 99% shot. They're taking a chance. They are also going to be launching at the worst possible time, within a year of (the supposedly good) Windows 7, after three years of OS vacuum in the netbook OS market.

We'll wait and see.
http://isthiserlang.blogspot.com/

nothing there yet, I've only been erlanging for a month or 2. But: i have been workiing on a better documentation database, you can email for details if interested:

base: genetanigmailcom; insert periods, after positions 4 and 13 and "at" you know where..gene
I've been a lurker for a while but this comment has prompted me to create an account.

Of course the previous poster is making a generalization. If you're in the minority of developers using IE, good for you.

Developers are usually smarter than to use a browser with appalling performance and a plethora of bugs (that never get fixed) when much better choices are just a few clicks away.

This is probably a troll, but i'm hitting reply anyway...
Ugh, why software rottens?