skysight-inc/HackerNews huggingface dataset:
ZenPayroll (YC W12) is hiring experienced full stack engineers
ABOUT US:

+ We're building the future of payroll. If you love solving foundational problems that affect millions of people, we'd love to talk with you. You’ll be an early member of the team with significant responsibility and equity stake. Learn about our engineering culture at: http://engineering.zenpayroll.com/

+ Payroll is complex and there are tough engineering challenges to be tackled. We move tens of millions of dollars every month. Payroll is business critical and must always be correct. Business owners and their employees depend on us to receive their pay. We strive for 100% test coverage, and every commit is code reviewed by another developer on the team. We all hold each other to rigorous standards and we’ve all become better developers because of it.

THINGS WE’RE LOOKING FOR:

+ Experience with Rails | Backbone.js | CoffeeScript | Mocha | jQuery.

+ Interest in using a test driven and code review development process.

+ Interest in building user-facing features and core-backend functionality, as well as being an active part of the design process.

+ Desire to understand the customer perspective. All members of our team are builders and it's important everyone understands the pain point we're solving.

PERKS:

+ You'll be a core member of our team as we grow the company. As a result, you'll receive a competitive salary + significant equity stake.

+ Housing stipend if you live near the office, delicious and healthy food and snacks, company retreats, gym/sports club stipend, dream work set-up, and more -- including copious espressos brewed by one of our co-founders. People are the foundation of our company and we make sure they know they're valued. Full list of perks at www.zenpayroll.com/careers

Above all, we're looking for individuals who are yearning to do the best work of their lives. You'll be amply rewarded for the work you do.

To apply, send a note to jobs [at] zenpayroll [dot] com and include your LinkedIn, GitHub, and/or any project pages.

We’re located in SoMa, San Francisco, CA and you must be local or willing to relocate (we'll cover the cost).
Exchanges are for trading and speculation.
I also started programming with my TI Calculator and also had a few lessons from my Dad in Pascal. Then in my college, I started with Lisp, then C, then Java. C was definitely the primary language for my college education: Operating Systems, Architecture, Software Development, Compilers. Although C allows you to understand the computer at a low level, I had no intention to get a career in it.

I appreciate C, but wish I learned more high level languages to be more prepared come graduation. C is important to know, but it can also be overemphasized in some colleges.
New Apple Mac Trojan Called OSX/CoinThief Discovered
R and E | Advokātu birojs Rīgā
Zvērinātu advokātu birojs Rīgā Rasa&Ešenvalds. Juridiskā palīdzība privātpersonām, juridiskie pakalpojumi uzņēmumiem. Pieredzējuši, labi juristi.
New Android and Arduino development kit
Flappy Bird is even more annoying for product developers than Facebook
Sorry that the 2nd half of my reply to your comment is on top of the first half). HN wouldn't let me post it as a single reply, so I had to break it up. HN wouldn't let me reply to myself either, so it had to be a 2nd reply to your comment.

I hadn't realized that replies were stacked newest-to-oldest.

My bad.

Edit: this reply was the last but has ended up on the bottom. Wheee!
EmailFinder.io
The US military is nothing short of absolutely amazing. I just wish we lived in a world that didn't use it in such insidious ways.

Politicians have made a habit of abstracting themselves from the reality of the military and at the same time exploiting every angle of it for political gain.

But the sheer complexity and capability of the US military is dumbfounding.
Placing Your Cryptocoin Wealth In Cold Storage: Installing Armory On Ubuntu
These services generally provide a service that is not part of standalone bitcoin, whether that is a payment API which generates addresses and verifies transactions for customers, an exchange to trade and value bitcoin based on fiat currency, or a user-friendly wallet that allows access from anywhere with internet access and bypasses the need for a user to download and update their own copy of the blockchain. (The blockchain is pretty large. It currently sits around 13GB and is always growing.)

There are also end-user applications like Armory, which are meant to manage and secure a wallet on an end-user's machine, but its inevitable that people will use online services for foreseeable future.
Perhaps beginners aren't in the intended audience, but as a cautious (Level 0) beginner to Vim, you lost me at the "Configuration" section. I appreciate your impulse to teach and I like the layout of the guide, so I hope you can massage it a little for a beginner like myself.
Show HN: Tech Post aggregator (beta)
Bitcoin + Coinbase Limit Trading
Easy WebSockets with Flask and Gevent
sat there for 30 seconds clicking around. haven't a clue of what this thing is suppose to be doing. what is the concept?
> quad core i7 and 16GB

My problem is that the computers I'd like to code on are not the ones I have to code on. At work, I have a computer that is from Q1 2009. It has an Intel dual core (pre "core i") CPU and 2 GB ram, and is running some kind of ancient Scientific Linux (based on CentOS). I also have some code on computers standing on the other side of the atlantic, into which I have to ssh, and then use vi over the net, which is horrible. My portable is a trusty old eeePC that, while great for writing/coding on the go, and doing office stuff, is really painful to use with a modern IDE.

That sucks of course, but it's not going to change soon since I'm a scientist, not a programmer (although I mainly program). And it's not just my university, but apparently a common problem in my field. The crappy state of PCs doesn't affect the runtime of our programs though. We're supposed to run most code on the Grid or on batch systems anyway, which usually have plenty of power. But it's really a problem for productivity, and I wonder what I would be able to do if we had similar resources like industrial programmers.

Btw. at home I have a desktop PC that I bought for gaming some time ago (Intel i5 2500, 8 GB ram, decent GPU, Hackintosh/Win7), and I find myself more and more bringing work home to run on it, because it outperforms anything I have in the lab. On that, of course I have no problem running any IDE I've tested.
Omega-3 For Fat Loss?
What cost? The only disadvantage is to traders who were previously benefiting from price differences, which only exist at the expense of entities who are losing out due to the same differences.
If you switch from Tea to Coffee, how much more caffeine are you getting?
It is really irritating when you can't score despite trying hard :(
> Amazon itself is disruptable if someone can figure out how to get brick-and-mortar stores' inventories and order systems integrated. The last-mile / delivery problem is still Amazon's weak point, and if I can deal with merchandise issues in person at a local storefront (with competent service), but handle ordering and information online, I'd do it (and in fact, often do).

Here in the UK, we have Argos, which is just that. Every city and large town has an Argos in the city centre, with a warehouse attached. You can order online, and either pick your items up at the store or have them delivered. They even have a 90 minute delivery option.

Unfortunately, it's been in a massive decline in recent years. Warehouse space in the middle of cities turns out to be expensive, and Amazon's been carving out a massive chunk of their market.
Putting "PyPy" somewhere in title would improve it several orders of magnitude.
I thought this was a great compact introduction to websockets with Flask.
The learn more button is in the top right. It's a very cool concept (friend of OP).
Are We in an Accelerator Bubble?
Would like to add another point, about how important is a company's vision/mission to you.
It does say that (about ranked-ballot voting systems), when you consider that each of those criteria does seem a positive attribute of a voting system if nothing else had to be traded away, and which can therefore quite reasonably be viewed as respects in which one voting system can be better than another. It's true that it doesn't apply to scoring systems, but Condorcet's Other Paradox says that no scoring system can be Condorcet consistent so that's a respect in which some ranked ballot voting systems are better in at least one respect than any scoring method.

The general point stands that there is no voting method that dominates every other voting method, but that there can be voting methods that dominate individual other voting methods.
15 Hacks to Increasing Email Productivity
It's been repeatedly discussed (ad nauseam?) - I recommend checking out hnsearch.com.

I dislike MongoDB, but if I had to try to summarize objectively:

1) It is marketed very heavily, including to use cases to which it is poorly suited

2) It can be very complicated to run in production, I think because it actually wasn't originally designed to be distributed.

3) It has a history of data loss. I think this is because it generally favors performance over reliability, combined with #1 and #2
I just want to add that this is obviously true because ACID can be implemented on the filesystem, which is not ACID. So to create a reliable transaction processing system on MongoDB (or any non-ACID system), you would need to build ACID on top of it. And if you're interested in Bitcoins and not database design, that's probably not the right way to go.
I am having trouble accessing the video you mentioned....
What the heck is httpl?
It's in the URL.
Deploy Discourse on Digital Ocean using Docker
> If you define feminism as "equality for men and women", most people would probably say they are feminists.

dict feminism
1 definition found

From WordNet (r) 3.0 (2006) [wn]:

feminism
n 1: a doctrine that advocates equal rights for women
2: the movement aimed at equal rights for women
[syn:{feminist movement}, {feminism}, {women's
liberation movement}, {women's lib}]

Is there some other definition of which I'm not aware?

> In France where this might have started (with Simone de Beauvoir) there is now a counter movement of mothers who don't want to give their kid to childcare at age 3 months anymore.

An alternative is paid leave for either partner (or the single parent) for example for a year -- with freedom to choose who stays home. No-one (in this discussion) is saying parents shouldn't be spending time with their children -- just that which parent stays home shouldn't be dictated by gender by way of unfair reward structures in the labour market.
I'm wondering what they were thinking calling it Ghost. Massively difficult to Google, where Wordpress wins hands down!
Show HN: How Do You Code?, to show how different fields use programming
> STM is about parallelism of your computations, not about concurrency (or any kind of IO).

I'm sorry, what? STM is entirely a concurrency construct. You wouldn't need it if you didn't have concurrency... The whole idea is that access to shared memory happens through database-like transactions.
To be fair, this is to some extent what we have domain display for. I glanced at the title and then at the domain and knew what to expect.
The point he is trying to make that someone at google could have suspected the high traffic and didn't warn them because it isn't their problem.
I don't agree with any of these assessments.

I think it's the equivalent of going down a public road and passing through a gate that was left open, onto private property.

While driving, off in the woods beside the road you notice a "no trespassing" sign, but it's not obvious that you're trespassing currently, even if you start to wonder.

A place on the disk was accessed that was unintended.
Haha, that's fantastic.
‘The new normal’ for tech companies: The stealth IPO
In my experience, a methodology should help a team get work done without having to think about the various steps/stages of the work.

Large corporations like to get everything down to a standard process (typically). A software development methodology lets them do exactly that; it promises a consistent process and (hopefully) quality.

In a way this works well - small firms innovate and come up with new methodologies which may at some point get to a tipping point where everybody wants a piece of the latest craze. Not everyone is in the business of questioning what works well or why - "if the competition is going Agile or setting up a DevOps team, then it must be good for us as well"
The link was on google's homepage from Friday to Saturday.
No, accidental fork will be reverted and people will go on with the previously working software. Bitcoin can collapse only when it's non-recoverable (e.g. ECDSA or SHA256 is completely broken). If it is recoverable (like in all cases mentioned above), then there will be just a short period of turbulence.
Custom protocol for writing app backends in the browser https://github.com/grimwire/grimwire/wiki/HTTPL%3A-JSON-enco...
I hope this won't become a pattern like it is with jquery and javascript. It's virtually impossible to find a proper answer to js-related question. Everyone tells you to use jquery. Similarly, everyone assumes you run your javascript in a browser and so have access to browser-specific objects.
An important realization I made a while back was that design methodologies do little to address program correctness, which is almost always the wildcard on deliverables; buggy software means missed deadlines and budget. Some, such as TDD, work to address the rapid building of tools to a particular spec, but often fail to promote static guarantees, especially in languages and environments where such provability is largely impossible. Dynamic languages penchant for monkey (guerrilla) patching further exacerbates the problem.

Solutions to this are tough. My first suggestion would be to use languages which facilitate correctness, although it's usually at the expense of developer availability: the pool of engineers with experience and know-how in true FP is orders of magnitude smaller than more pervasive languages. My second thought is to further embrace math as the building block for non-trivial applications: mathematical proofs have real, quantifiable value in correctness. I find it no surprise that the larger companies have made foundational maths, such as category theory and abstract algebra, the underlying abstraction for their general frameworks. This is even a tougher pitch than the first since most engineers don't recognize what they're doing as math at all - a big part of the problem. So many of us are doing by feel what has already been formally codified in other disciplines.

I'm aware that both require more (not necessarily formal) education than most engineers have pursued and makes it a difficult short-term pitch point for any company, but I think if we're serious about eliminating sources non-determinism from projects, it's important we address them directly.
> STM is about parallelism of your computations, not about concurrency (or any kind of IO). You mess these two.

No, STM is a concurrency mechanism, not a parallelization one. That's why Haskell's is under Control.Concurrent not Control.Parallel.

And one of the points and goals of pypy-STM is that it could allow parallelising event loops with minimal changes. Quoting http://pypy.org/tmdonate.html

> However, as argued here[0], this may not be the most practical way to achieve real multithreading; it seems that better alternatives would offer good scalability too. Notably, TM could benefit any event-based system that is written to dispatch events serially (Twisted-based, most GUI toolkit, Stackless, gevent, and so on). The events would internally be processed in parallel, while maintaining the illusion of serial execution, with all the corresponding benefits of safety. This should be possible with minimal changes to the event dispatchers. This approach has been described by the Automatic Mutual Exclusion[1] work at Microsoft Research, but not been implemented anywhere (to the best of our knowledge).

It is not expected to be faster than preforking evented workers, however it is expected to be much simpler to retrofit non-MP systems for, and does not have the complexity overhead of IPC and multiprocess architectures.

[0] http://mail.python.org/pipermail/pypy-dev/2012-January/00904...

[1] http://research.microsoft.com/en-us/projects/ame/default.asp...
Criticizing how fictional women are dressed is not the same as criticizing how real-life women are dressed. When a man draws or designs a female character with "sexy" clothing, it's likely sexualizing that character for male viewers to ogle. When a woman decides to dress that way, it's personal expression.

When I see feminist criticisms of how female characters are dressed, they're not criticizing three dimensional autonomous characters that happen to wear revealing clothes. They're criticizing usually stock characters that perpetuate stereotypes about women and objectify.

That being said, some feminists (or should that be "feminists"?) absolutely do police women's clothing choices, and that's just as wrong from them as it is from anyone else.
There are clients, like Electrum and MultiBit, that don't require downloading the whole blockchain. The average person should be using these, IMO, not trusting any e-wallets.
Containerization will make this entire kerfuffle pointless. Running single image big machines with lots of services is a 90s and early 2000s architecture aesthetic that will fade into the background as individual services migrate to a PaaS model for enhanced modularity and mobility.

I haven't looked deeply into systemd, but from how the conversation around it is going, it would seem to be solving complexity with more complexity.

I'd like to see a mashup of CoreOS plus NixOS integrated with a cluster container management system.
See the full featured article in TechLli. http://techli.com

We cannot wait to share our Nightlife dream with the world.
> In my opinion, it should be impossible to physically damage a computer from user-space code. I'm surprised that this seems to be such a controversial opinion.

I don't find that controversial at all, but as time passes, it seems there are more ways that user activities can bring a computer down. The most obvious way is by sending out-of-bounds signals to storage devices that can erase or even physically damage them, but this example of destroying speakers, even though it should not be allowed to exist, seems plausible also.
This tutorial is very suitable for beginners: http://learnpythonthehardway.org/book/
Amusingly (or not), when I attempt to refactor code using XCode, it states that refactoring C++ is not possible. Only C and ObjC can be refactored. I was surprised by this, considering the refactor support under VC++.

So well done to them!
Methodologies alone don't guarantee success.

I find more problems when there's less focus placed on understanding the data, manually, first, before placing it into a process.

Methodologies don't make it any less important to find, connect and understand the data first, but it seems to happen way too much.

A methodology I see missing is when we developers obsessively focus on optimizing tooling and code, instead of obsessively finding and understanding the data first.
If I could do it all again, I'd study a lot more math in University and probably end up focusing on something like Audio DSP. I think it's a pretty safe career choice since it's hard self learn compared to a lot of other fields, meaning competition is less. And if you are good, companies will happily pay you to learn tech of the week.
When I was considering switching from very slow DSL to Comcast in 2010, I looked at the Comcast business class contract for my home office. OMG that is a bad contract. You can get free or reduced installation charges for longer contract terms, but if you stop using the service during the term (e.g., you move), you still owe Comcast for 75% of the charges you would have paid for the entire term. Here is that clause:

"Termination Charges: Charges that may be imposed by
Comcast if, prior to the end of the applicable Service Term (a)Comcast terminates Services for cause or (b) Customer
terminates Services without cause. Termination Charges with
respect to each terminated Service Order shall equal, in addition to all amounts payable by Customer in accordance with Section 5.3, seventy-five percent (75%) of the remaining monthly fees that would have been payable by Customer under the Service Order if the Services described in the Service Order had been provided until the end of the Service Term. In the event the Agreement is terminated as herein described during the initial Service Term, Termination Charges shall also include one hundred percent (100%) of any amount paid by Comcast in connection with Custom Installation, as that term is defined in Section 2.6, for the Services provided by Comcast under the Service Order."

This and some other weird clauses totally freaked me out for business class. I backed off and ended up getting normal consumer class, and then relayed anything needing a static IP off a $15/yr VPS. That has worked out really well and I am a happy Comcast customer, which is a pleasant surprise for me. (Fingers crossed!)
Injectors > butterfly valves
I can only speak for myself, but... I have that option privately, and in that situation I would by a new PC. But I need a C++ IDE at work, not for my hobby...
The thing with programming languages is that while they sometimes look very different cosmetically, they often share similar concepts under the hood.

IMHO, you won't go wrong learning one language reasonably thoroughly as a starting point. In fact, I'd recommend it for several reasons.

However, sooner or later, you'll probably hear that another language might be more useful for another project you want to do, and maybe then you'll learn that second language too. As you do, you'll notice similar ideas cropping up, even if they go by different names or use different syntax.

As your experience grows, you start to think of each programming language as being roughly in this family or that family in one respect, and maybe being like these other languages or those other languages in some other respect. You also probably notice more what still makes each language distinctive, whether it's a few idioms that make writing a certain style of code easier, or maybe a couple of unique features that aren't widely available in other languages that are otherwise quite similar.

In the long term, it's these distinctions that make it useful to know several different languages. Even then, most of the languages you know will draw most of their tools from the same toolbox, and learning when to use a hammer and when to use a screwdriver will be more important than which brand of hammer or screwdriver you buy.
Is my hashing technique secure?