skysight-inc/HackerNews huggingface dataset:
I think you're being unduly limiting in your consideration of things that one can think about.
Common Mistakes Made When Preparing for Coding Interviews
This is it exactly. A lot of people miss this with hg. hg bookmarks are the equivalency to git branches. hg branches are "permanent." So you have, say, 'dev,' 'test' and 'stable' branches. Then you do hot-fixes and feature development on bookmarks, and merge them back into the branches.

It's a beautiful thing, really <tears up a bit..../>
It is pretty hard to look at the use of proprietary pentalobe screws in all apple hardware and not come to the conclusion that they are actively discouraging DIY repairs
I'm a vintage calculator collector and it's always fun to see how calculators went from extremely repairable in the 60s-70s to impossible to repair in the 90s (like an iPad.)

This is partly due to the fact that some vintage calculators cost thousands or tens of thousands of dollars when they were introduced. I was repairing a scientific calculator from the 70s yesterday, and literally every component could be repaired. You could actually order parts (new keys, new display, new faceplate, etc.) from the company. This is in contrast to a calculator of the mid 80s which usually had four screws but was difficult to repair or a calculator of the 90s and later that was usually a sealed unit (with everything on one chip.)

It seems the same thing is happening to computers, with a timescale delayed 20 years.
Um, that's my point.
Congrats. The irony is that the last thing I think of when I'm using Google's long-convoluted account management system is "slick login".
It's about time someone did something about US spying... Not sure this will make it better for those of us living in the US.
Since I don't have any first hand experience of having repaired iDevices, I'll go by iFixit's scores. Let's take the current+last generation of their repairability scores for the iPhone and iPad (10/10 being the most repairable):

iPhone 5s: 6/10
iPhone 5: 7/10

iPad Air: 2/10
iPad 4: 2/10

Based on these I can't see how Apple's devices are getting easier to open or repair?
This solves a problem I've had. I like the auto-completion. Also like that the map appears only after the distance is calculated. Good on you for hiding the map until it contains relevant information.
It did however have a share button after you've died, did it not? Never pressed it, but I'm curious if that helped.
git status is 10 times faster on my machine for the same repository than hg status.
What was stated was "anti-GNU". Decoupling GNU from the FSF is weird.
Are you sure you don't mean COBOL? Fortran is still evolving (albeit even more slowly than Java) and still used for new projects.

http://en.wikipedia.org/wiki/Fortran#Fortran_2015
Asus x201e

2gb ram

dual core celeron

5400 rpm 500gb hdd

xubuntu

emacs

emmet

magit

nginx

erlang

nodejs
I don't remember the exact study, sorry. I did a search and found this, though, which looks close: http://www.danzpage.com/Construction-Management-Resources/Ca...
And add Kansas to the list: http://www.slate.com/blogs/outward/2014/02/13/kansas_anti_ga...
The issue above is your friends posting pics of you online without your consent. That is a problem between your friends and yourself, not Facebook.
6GB ram, i7 processor, 32GB cache ssd, fedora core 19, 24" monitor, 13" monitor, gedit, gcc

Executive chair, L desk
That seems like an overly complex way to do the standard:

create table foo_history;
create view foo as select * from foo_history order by date_added desc limit 1;
That still doesn't wash. It is quite possible to believe that the GNU project and what's associated with it (FSF) is a net positive while disagreeing with some of the actions of its founders or boosters, or some of their ideology.

The GNU/FSF mindset is one of "You're either with us or against us" - but over here in the real world, things are not so black and white.
Oculus Rift owner here. I think the biggest things to look for in the upcoming consumer version is how effective the new head tracking is at reducing the mismatch between your real-world head and virtual-head. Among all of the factors that contributed to nausea in the first development kit, latency, motion blur, pupillary distance, I believe a lack of head tracking has been the biggest as they did not have an effective solution and instead modeled it in software with a simulated 'neck crane'. Little variations in your head position that normally create a wealth of information for your eyes were not being picked up and were understandably creating discomfort or the user.

Based on the reviews I've seen of the Crystal Cove prototype, it looks like this new 1:1 head tracking, coupled with reduced motion blur, has eliminated a majority of the nausea from the experience (1).

So if Oculus holds up their end of the bargain, the next breakthrough is on the game developers. Who is going to create that 'killer app'? My bet is on Valve with something like Half Life 3 / LFD2 (2).

1 - http://arstechnica.com/gaming/2014/01/new-oculus-prototype-f...
2 - http://www.escapistmagazine.com/news/view/131719-Leaked-Sour...
Self Help Group for Routers and Switches
As stated by the documentation, those numbers are purely a convenience feature for when you don't want to give the actual revision hash to a command. The latter is what you have to do in git anyway.
A related question: Does the proposed protocol allow the mesh network to be run on top of the existing Internet?
This is a problem with the Bitcoin community. I think enthusiastic people come up with a good idea and release a white paper, thinking others will jump on board to help make a prototype.

They forget that Satoshi released a white paper, then put his nose to the grindstone for 2-3 months before releasing a working implementation.
What Makes You Move?
I have to say I enjoy reading the things you wrote, and there are quite a few helpful suggestions. Thanks a lot(:
I remember reading a while back a study that revealed people who do exhaustive mental work are less tolerant of hard physical labor. I think this speaks to the notion that there is no real mind-body separation (or simply you brain is part of your body).
* Macbook Air Late 2013 (13", i7, 8 GB RAM, 128 GB HD + external USB3 HD)
* Mac OS, on rare occasions for fun, Plan9
* Emacs, with a relatively large assortment of plugins (specially evil and gnus), occasionally Acme
* Mercurial for work, git for personal stuff
* Go, JavaScript, C, R, Lisp, Awk, Python, and lately playing with APL
* Any chair that supports me and any desktop that is not very high
He's not trying to force others, it's a request with his explanation.

"While the GNU General Public License expressly prohibits me from denying you the freedom to port software protected by it to Windows, I feel that you do great damage to the world if you do. Let me explain."
Yeah, but she was a giiirl, and therefore couldn't have been a true hacker, so she must have been a terrorist.

</sarcasm>
Counter-espionage is sadly the wrong way to go.. we already had a cold war and this seems to become cold war part 2.0 with everyone hiding behind their iron curtains.
14 really cool African tech startups
Computer: 2011 MacBook Pro

OS: OSX Mavericks

Package Manager: brew

SCM: git

Main languages: Ruby, Coffeescript, Clojure (for fun)

Editor: Sublime Text 2, vim for server work

Typeface: Inconsolata-g

Chair: Herman Miller Aeron

I have a feeling that all of these things are extremely common.
Core2Quad 3Ghz Hackintosh + 2x 24inch Dell 1920x1200 + Macbook Air 11

OSX Mavericks, Jetbrains IDE + Sublime Text, git, vagrant, Sourcetree, Chrome/Firefox, SequelPro, Dropbox, Google Drive/Mail
Hg is GPLv2 or later, which (importantly) permits incorporation of Hg code in GPLv3 and AGPL codebases, but is not quite the same as it being GPLv3.
32 GB RAM, i7, 160 GB SSD plus many TB of spinning disks, dual 22" screens. Ubuntu 13.04 with i3wm, a low profile keyboard with a touchpad in front (Logitech K310 and T650). PHP, Javascript, Java, Go. Git. Vim with solarized.vim. Digital Ocean, Linode, AWS.
Refurbished 8Gb i7 Dell, Ubuntu, PHP, git, vim. AWS

If I could change one thing I would probably move to an IDE that does everything for you, however that is a toolset to learn and pay for.
4GB ram, i5 CPU, 120GB SSD, 15" + 19" monitors with Ubuntu 12.04

Python (and XML, alas)

Bazaar, Eclipse with PyDev, Vim. Awesome as a WM. Google Apps for chat, email and calendar. rxvt-unicode as the terminal, zsh as the shell.

Servers: Ubuntu 12.04, Nginx, custom Python app server, Passenger for a third-party Rails app. Ansible for deployment, Upstart for process management.

Oh, indispensable: redshift[1], particularly in the winter.

[1] http://jonls.dk/redshift/
I'm curious as to how you would restore that much data quickly, from a home-uplink to the cloud?
The Hitchhiker’s Guide to the AngularJS Directive
> but I found it to be incredibly frustrating already knowing git.

From my understanding, the terminology and behavior of Mercurial is more in-line with other SCMs out there (like SVN), while Git seems to do things a bit differently. A lot of it is terminology differences or default behavior for various commands.

> I found it to be slower, less flexible,

Mercurial should be about the same speed as Git now adays. I'd be interested to hear what parts of HG you thought were slow. Also, for flexibility, Mercurial disables a lot of more advanced features by defaults (anything that could get a developer in trouble or mess with history). All of the extensions that ship with Mercurial are officially supported and can be used if you want that functionality.

> prone to permanent repository corruption

I'd be interested to hear if you ever found out what caused your problems. Mercurial has a page talking about this [0].

> IMO if you are already proficient with git there is absolutely nothing about mercurial that is preferable and some considerable downsides I have been subjected to.

For almost all features, I'd totally agree. There are 3 things in Mercurial that I see as an advantage over Git. (1) named branches (every commit on the branch will be tagged with the branch name). (2) LargeFile[1] extension for handling very large files you don't want people having to pull, though this breaks DVCS concepts. (3) A future feature that looks really promising, ChangesetEvolution[2], that will basically allow history rewriting that can be pushed to others.

[0] http://mercurial.selenic.com/wiki/RepositoryCorruption

[1] http://mercurial.selenic.com/wiki/LargefilesExtension

[2] http://mercurial.selenic.com/wiki/ChangesetEvolution
lenovo t520

i7-2640M CPU @ 2.80GHz

256SSD

8 gb ram

ubuntu 12.04 LTS

Python Python

Git

Vim

apache

postgres

Eventually, I hope to purchase an adjustable standing desk
I certainly wasn't saying the feature should not exist because it's hard.... merely, do it right or not at all.

The culture on the Postgres development side has always taken a very conservative approach, which carries with it much trust that the features that exist work very well.

Introducing a half-baked feature would break this trust. And so I would rather wait.
MAC Pro with OSx Mavericks, 8GB RAM, 500GB
Sublime Text, Nginx, Docker, node.js/meteor.js
I agree with the other people in this thread, this is a beautiful looking app. I think one thing you may want to clarify is whether this is available in a browser, as it seems that this is an app to download.
This is likely a very old page from when Mac's weren't as pervasive.
13" Macbook pro 4gb ram/256 SSD, usually with 24 inch LCD attached.
Eclipse for Java/Android. XCode for iOS. Sublime Text for everything else (Python mostly).
You mean he is not trying to force developers. What he suggests is that programmers should not port his code to Windows because this will keep the Windows users ... well happy Windows users.
thanks :-) I was thinking - maybe it's just my another imaginary problem, can't be any useful for others.
You're more than welcome to give Ding a shot. It's free for the 45 first days, so you have nothing to lose :) I think you'll appreciate its clean UI and simple approach, and if there's anything keeping you from using it, shoot me an email at gjermund@ding.io and I'll see what we can do.
Ripple (as it was originally conceived by Ryan Fugger) seems to be a much better match for this idea than bitcoin. The connections between nodes could work as the local credit relationships of Ripple.
I'd be more interested in a software that hosts data in a mesh network fashion rather than talk about zombie apocalypse, SOPA/PIPA and other political craze. And why does this thing talk so much about hardware anyways ?

Maybe the goal is to get funding to make that kind of project happen, but I don't think any engineer will like to get involved into a project than explicitely express political opinions and concerns. Let the politics deal with the NSA stories so it can get solved.

If you really want to make a difference like gnutella, edonkey and bittorrent did, just be a programmer and get working. I think the only thing that matter is to make a software protocol which is interesting to use, not a meli melo of nerd-oriented awesomeness.
Work: Macbook Pro, 15" retina, 2.7Ghz i7, 16GB RAM, 512GB SSD.
Home: i7 3770k@4ghz, 16GB RAM, 2x GTX 670, 512GB SSD, 7TB hdd

Monitors: 2x 27" Dell IPS for work and 1x 24" TN, 2x 17" at home.

OS: Everything.

Keyboard: Kinesis Advantage Pro at work, Ducky Shine I at home.

SVC: git. :)

Editors: vim, with my vim config found here: https://github.com/wridgers/vimto

Env: Virtual machines (VirtualBox) managed by Vagrant and Chef.
hp Elitebook 8540w || i7 || 16 GB ram || 2 SSD 256 || Arch/ ubuntu / windows 8 || python, ruby, javascript, npm || git, vim and sublime,
> A system one can analyze is always preferable to a system that's potentially more efficient but less understandable.

Yes, but analyze how? In your head? If that's the case, then the last hardware+software architectures you could analyze in your head were about ten years ago. If that kind of performance is always enough for you then fine. But no one is able to mentally analyze complex software performance on modern OSes and hardware any more[1]. On the other, there are tools that analyze performance for you.

Because game developers are among those who care the most about analyzing performance, and because they like working close to the metal, they like to continue using that approach, but it's no longer viable. There is no more "close to the metal" when the CPU itself is so complex it's almost non-deterministic. Unless your game runs on a console, there is so much interference from other processes, that even believing you understand how your code works in a vacuum is not good enough to guarantee real-world behavior.

What I'm trying to say is that writing single-threaded code, combined with network calls and queues for asynchronous processing is not really more understandable. It's just similar to 90s code so people have the illusion they can understand performance as they did back in the 90s.

For example: suppose your thread is now idle. What do you do? sleep or spin? If you sleep you're at the mercy of the OS scheduler; if you spin, modern Intel CPUs can actually decide to power down your core. In either case you'll have increased latency when waking up.

[1]: forget virtual memory and multi-level caches. There's ILP, TLB, core boosting and power management, SSDs, modern thread schedulers and more and more.
ThinkPad X230 * Ubuntu * Python, Java, JavaScript * git * VIM, Android Studio
Go the rMBP page. Max out all the settings. Buy that. Keep for a few years. Repeat.

Runs anything, has a high resale value, and can drive tons of external displays
In the user profile example, you'd only get one profile entry for one user that way.

And I don't see what is so complex about it. It's meaning is explicit and clear. The difference from UPSERT is in the requirements. Any notion of an UPSERT would fail to meet my requirements, requirements I have far more often than I don't.
Then why not switch to mercurial?
"That still doesn't wash. It is quite possible to believe that the GNU project and what's associated with it (FSF) is a net positive while disagreeing with some of the actions of its founders or boosters, or some of their ideology."

A fair point. Picking licenses that explicitly forbid incorporation of your code in modern GNU projects is a little more than that, though.

'The GNU/FSF mindset is one of "You're either with us or against us"'

I don't think that's quite as true as you think it is.
Asus Zenbook UX31A (i7, 4GB RAM, 128GB SSD), FreeBSD 9.2, C/Python/Java, svn, vim/Eclipse (no plugins)

I'm a dwm user. I usually have tmux with two sessions side-by-side in one dwm window and Eclipse in another dwm window (if I'm doing something Java related that day) and chrome in another dwm window.

I like the Zenbook.
S-Expressions are a syntax for data. READ reads an s-expression and creates a data representation: lists, symbols, numbers, strings, vectors, characters, ...

This data then can also be used to encode programs. There are two ways to create these programs: read them and construct them.

The main execution entry point in Lisp is EVAL, the evaluator. It takes a Lisp data structure as source - not strings, not streams, not a data structure created by a parser for the language Lisp.

Thus the point of Lisp is that it uses Lisp data structures as representation of source code. This source code can be read, can be constructed and can be printed.

CL-USER 15 > (setf expression (list '+ 3 4))
(+ 3 4)

CL-USER 16 > (setf expression (append expression '(5 6)))
(+ 3 4 5 6)

CL-USER 17 > (setf expression (list '* expression expression 5))
(* (+ 3 4 5 6) (+ 3 4 5 6) 5)

CL-USER 18 > (eval expression)
1620

The evaluator was first in Lisp. Macros came a few years later.

The initial idea was the evaluator and programming with symbolic expressions. Using Lisp itself to transform symbolic expressions as used in macros, is just one application of these ideas. These expressions can not only represent Lisp code, but also logic expressions on mathematical formulas. Thus the idea of symbolic expressions of Lisp code made macro expansion natural - similar as it was used to for example to computer algebra algorithms: integration and differentiation of mathematical expressions, represented as Lisp data.
MacBookPro 13" Retina. 16Gb RAM. 1GB SSD. 2.8Ghz i7
IntelliJ IDEA. Sublime Text. VMWare Fusion. Git.
Don't get me wrong I love my Mac, I also use Windows 8.1 when I have to (mainly for work). All my servers are Linux only. I think none of the above OS is perfect. My job as a programmer is to be able to use any of them.

What I can't stand is the idea that everybody must use what I think is free or better.
You're certainly right about that: http://web.archive.org/web/20010628082504/http://www.fefe.de...

That date being 2001-06-28.
From the end of the video in the article:

[The Thames Barrier] has closed nearly as many times in the last 10 weeks as in the whole of the 1990s.

Meanwhile, it wasn't closed at all between September 2010 and April 2012.

http://en.wikipedia.org/wiki/Thames_Barrier#Barrier_closures...
I don't think every player is a single property of team. However list of players is. It is more logic to create an object for team which has list of players, name, etc. Although your example doesn't explain your problem, there may be some cases that we need to inherit from List.
Our use-case for domains is to allow the process to finish serving its other in-progress reqs before crashing. When an error occurs, we stop accepting new connections in that process, give them 10-15 seconds to complete, and then do the crash-and-restart cycle.

That said, we get very thorough testing from our large user base, and we quickly fix crashers. Our server proc crash rate is almost 0, brought up by occasional spikes on releases.
I'm glad to hear you like it. Thanks!
The hippo is a Danish design classic from 1955 made by Kay Bojesen: http://www.kaybojesen-denmark.com/
16GB RAM, i7 CPU, SSD MacBook Pro, monitor+mouse+ketboard at the office
Java
Git
Eclipse(Maven, Android, Checkstyle)
DigitalOcean
I5 , 8G RAM, 120SSD + 3TB HDD
Win 8.1 plus VMs (Ubuntu, Arch)
C#, PHP, Javascript, Java
Git
Notepad++
2 local raspberry Pis
I was just looking at Asus Zenbook UX31A comparing it to MacBook Pro. It is a nice machine and practically half the weight of MBP.

I have no idea what "dwm" is, though.
Or include invoicing for the price. By itself time tracking isn't worth $10 month to me.

From the work so far, I look forward to what they could do to simplify invoicing.
That's not quite what his scheme does, his handles pre-filled future events (and historical changes thereof), not just appending new events.

Also I may be wrong but I believe your view will only ever be filled with a single row. You'd need something along the lines of:

create view foo as
select distinct on (id) *
from foo_history
order by id, date_added desc;
Hardware: i5 + 32 GB of RAM and SSD drive. 24" monitor

IDE: Vim, bash, tmux; I have started using Qt Creator when I do Qt projects and I actually like it.

Production: traditionally AWS but experimenting with Digital Ocean.

Major languages: Python, C, and JavaScript (some C++ with Qt) but also experimenting with Go, D, and Dart
Getting Started with Node
PhD students send out physical copies of their thesis to unknown persons
PC, self assembled, GTX-780, core i7, 8gb ram, ssd

OS: Ubuntu 13.04

SVC: git/hg

Editor: vim on a terminal, dark background picture, alpha blended text.

Plugins: syntax highlighting for glsl and coffeescript
Here's your primer:

https://twitter.com/losethos

http://www.templeos.org/
> There, I fixed it.

GP's point was about defaults, not what you can configure. Even being somewhat familiar with hg, I didn't know about the "pager" extension.

> `git show` does not show a patch by default[...]

It does for me, with git 1.7.9.5.

> (hg has no prohibition against what git calls "detached heads", they're just anonymous branches)

I have never understood why this is useful. Why not just name your heads something, anything? I wouldn't otherwise care, but I always seemed to end up with mysterious heads from who-knows-where left behind by long-ago merges.
Most likely this won't lead to anything and is just a press release meant to appease the masses... I don't believe that our politicians would truly suddenly make this roundabout turn.

Besides, the article only says that this is being considered and that talks (probably) haven't even started yet.
Custom 'ultraquiet' box with: 32GB, i7, SSD as primary/active projects disk, backups/cold storage on spinning raid 1, key things backing to cloud, plus external drive for cold backups.

Monitors: 2x24" IPS dells vertical, with 30" dell IPS horizontal in center.

And of course a Das Keyboard for the hands and a HM Aeron rescued for $175 from a dead '99 internet startup!

I found this setup to be perfect for two-up windows of code plus email/browser for reference, plus output of what im doing.

Most of time is spent in python/web. Also lots of manual (excel) data analysis, visual studio, and db-related things.

For travel, an old-ish 11" MBA, which I absolutely love.

Aside from the monitors, the setup is actually a lot cheaper than one might think - e.g. raided HHDs, video card, etc are all reused from old machines, 24" monitors are 7 and 4 years old, respectively, etc.
i7 3770K, 16GB RAM, 120GB SSD, few TB of storage Hackintosh. OS X Mavericks. 30" Apple (2560x1600) + 2x24" (1920x1200). Java, Python, PHP, JavaScript. Git. IntelliJ, Sublime Text. Debian server. Also a 15" MacBook Pro.
macbook pro 2013 4gb ram and an Intel Core i5?, this is at home.

at work I have a Toshiba Qosmio 17" with an i7, ssd and 8gb ram, they will be exchanging it for a macbook pro retina this year.
Mercurial was announced on 2005-04-19 and git on 2005-04-07, so no Mercurial was not first.

Edit: Monotone is older than git though.
It's not exactly the crime of the century to want to charge you a fee for upgrading service.
https://web.archive.org/web/20130629121009/http://qaa.ath.cx...
Show HN: Sketchboard.io – Real-time Collaborative Lightweight Software Design