skysight-inc/HackerNews huggingface dataset:
You probably had a replica set and maybe an off-site replica. What are you using now, a single PostgreSQL instance, a master-slave cluster or any other distributed setup? If positive, which one of the many psql distributed technologies are you using? Thanks.
Ok, you are free to propose an alternative - either here or to your team - but be sure you and your team are prepared to have to adjust if and when you join another JS team.

And if I had to name loop variables "loop" I would lose my mind. But I'm glad it works for you and your team, so long as you never have nested for loops.
I'd argue it's less about composability, and more about laziness (in the computational sense). As pointed out elsewhere, if you have all of the information needed to generate a dynamic query, it's often not a huge leap from an ORM to composing strings (especially given how relatively flexible SQL syntax can be).

However, sometimes I want one part of my program to be responsible for one bit of a query, and a separate piece to be responsible for something else. To take a trivial example, say I want one object/function to be responsible for doing the right sorting, another to be responsible for any pagination, and yet another to be able to group results when needed. In that case, having a programmatic abstraction over a query (whether it be an object or a datatype, doesn't matter) can be very useful.
query = sprintf("select count(*) from data where %s = ?", column)
results = sql.execute(query, filter_value);

So long as you leave the "value" portion of the query as a '?' (or %s, or whatever your connector requires) and don't use direct user input for the column names, you're still safe from SQL injection.
But it's usable for an upper bound.
That's a great point. It reminds me of the "Library Rules" at the 37 Signals office: https://signalvnoise.com/posts/3357-an-office-with-ldquolibr...

At the same time, I think visual distractions also need to be taken in consideration.
SQLite is great for "I really just want a nicer flat file" use cases.
Pedophile Pederast in Mexico City on the Run
Exactly. I know some amazing programmers who happen to also like mountain biking and building robots with their kids, who happen to work for companies that don't publish their code to github♯. The idea that all the good programmers work with open source in their own time and spend every waking moment pushing to github is a dangerous and fruitless one, because you're missing out on great talent with those blinkers on.

♯And let's be fair, 99% of what's "open source" is junk anyway, just because you wrote an 80% done static blog generator doesn't mean you're "advancing the commons"
Here's an example in C#. Imagine you're querying a database of products (here represented by integers). Users can enter filter parameters - you want to build your query dynamically based upon what they enter. With LINQ, you can do this kind of composing with no effort. You also get to run the same code on any kind of Queryable, so if you feel like doing some of the work in RAM and some using a DB, your query is usually going to be very similar, if not the same.

Yes, you still have to understand what you're querying against and how you should build your queries to make best use, but I'd much rather write this kind of code than try to concatenate SQL.

IQueryable<int> Source()
{
return Enumerable.Range(0, int.MaxValue).AsQueryable();
}

class UserFilter
{
public bool? EvensOnly { get; set; }
public int? Minimum { get; set; }
public int? Maximum { get; set; }
}

IEnumerable<int> Search(IQueryable<int> source, int currentPage, int pageSize, UserFilter filter)
{
var result = source;

if (filter.EvensOnly.HasValue && filter.EvensOnly.Value)
{
result = result.Where(i => i % 2 == 0);
}

if (filter.Minimum.HasValue)
{
result = result.Where(i => i >= filter.Minimum.Value);
}

if (filter.Maximum.HasValue)
{
result = result.Where(i => i <= filter.Maximum.Value);
}

return result.Skip(currentPage * pageSize).Take(pageSize);
}

void Main()
{
var currentPage = 4;
var pageSize = 5;

var filter = new UserFilter {
EvensOnly = true,
Minimum = 1000
};

var searchResults = Search(Source(), currentPage, pageSize, filter);
}
What? No, no, no. Cold storage is exactly as secure as the physical storage used to keep it. Unless that physical safe (or deposit box, or mattress) in which you put the printout or USB stick was launched on an interstellar rocket, then no.

It's true that it's inaccessible to the internet. It's not true that it's more secure than physical storage, because ultimately it is physical storage.

I await your "But you can memorize a key such that the attacker can't use it!" response and am presently googling the XKCD link to zing you with.
This is a query builder. If you're using your programming language to dynamically assemble the SQL statement fragments at runtime, then you're using a query builder regardless of if it is a library with a fancy DSL that assembles an in-memory SQL AST or some kind of ad-hoc string concatenation you rolled yourself like this.

The question I'm asking is pointed towards the people who are implying that you can "just use SQL" as static statements that are not dynamically assembled. Like a static function or prepared statement that takes some parameters, and at runtime you only pass in those parameters - not rejigger the actual SQL statement fragments.
Here [0] is a very good podcast that covers the issue. A must-hear!

[0] http://thequantifiedbody.net/cancer-as-a-mitochondrial-disea...
"Are you interested in travel time to this place?"
I've done this quite a bit as well: string building is pretty well understood, and works remarkably well.
It's not exactly a common operation either, so basing the choice of rdbms on it seems a bit arbitrary.
Thanks, that's adorable! "I am not on fire."
Dr. Thomas Seyfried: “Water Fasts” as a Potential Tactic to Beat Cancer
Alberta is rat free, and is kept that way. Its been rat free for over 50 years now. The border is patrolled to keep the rats out, and there is a hefty $5000 fine for keeping rats.
The "pipeline of blocks" idea goes back a long way (Visual Smalltalk anyone?), I'm excited to see it applied in this way.
Development by Denial (DBD)
that doesn't mean its because of the chosen framework. i would love to see actual breakdowns of productivity on a similar project performed by a single team, once with angular once with Product B, by a dev team who is equally capable in Angular as they are Product B.
Gov Tech Events – calendar of local civic events
I worry about things like this because I see them leading to the following situations:

-----

1) Whale signs up for game with IAP

2) Whale's game difficulty is increased so they will spend more in IAP

-----

1) Whale signs up for shopping site

2) Whale's prices have a slight markup because they know they can afford it

-----

This is similar to how airlines will price flights differently based on your location and I think it was a travel site that was show OS X users higher prices for travel packages.
Calling the Oregon Lottery's Bluff After Poker Machine Dealt a Strange Hand
Got tired of trying to track down all the local civic group meetups and events.

iCal feeds FTW!

Use Categories to sort by state. Tags to sort by local organization.
This is a great comment. The attention microeconomy explains so much of our social / coordination issues. On a completely separate track, this is sort of the fatal flaw of modern outrage culture -- it refuses to count the cognitive-time-value of being non-offensive to the world's 7 billion population.
It's begging the question... every 'living' organism also requires a favorable environment in order to replicate
This is a good opportunity to learn by 'baptism' of fire, and if you can learn fast you can accelerate your path to senior developer. In a bigger org you may be forced to spend years getting to senior developer, but it sounds like you can get there quicker with the responsibility you have here.

There is the stress of dealing with complex code and frameworks as a newbie, with the owner breathing down your neck. So try to negotiate more time for each task, and time for learning general web development. E.g. if they use AngularJS say you need a couple of days to learn it from tutorials etc.

If they are complete assholes about it and pressure you with 'just get it done' 'we need it done by end of day' 'why is this taking so long' then maybe it is time to look elsewhere for a job.

In any case look at this job in terms of if it is good for your career (and more importantly, your mental health!) and if you thrive on high pressure fast learning or prefer to work for a bigger company that has the resources to give you more time.

Out of curiosity how many devs are working there? Is it one man and his dog, and you?
Answered you on Twitter but just reposting here in case anyone else wonders the same thing:

Essentially to prevent API misuse (which you have a good point with, it can be solved by rate limiting) and for any features in the future that might need to be user-aware.
Its always great to hear a positive story in conservation
Am I missing something? Isn't their targetting of Xcode as massive as if they'd just announced they'd backdoored Gnu gcc?

I mean whether they've backdoored the regular version available to all or only those in use by specific developers, the implication (to me) would be that binaries/applications/etc produced would then be automatically backdoored or at very least weakened?

Disclaimer: I know zip about Xcode or dev in the Apple ecosystem
"LOL away?" What gave you the impression that I was making fun of it? I am the one who found the bug and reported it, and this is the explanation I got. Since the person I talked to is someone I trust, I don't have reason to think otherwise.
I can elaborate further and tell you why this particular error was likely to happen: it's because since the beginning MySQL was built with root user without password, and most of the tests were running in such conditions. That was the culture of rapid growth that gave MySQL its popularity and the developers are paying now the technical debt that has left so many features with poor testing behind. What Oracle is doing now is trying to redress that situation by strengthening the defaults, for which I commend them. Being a QA developer, I am less pleased with the quality of tests that let such mistake pass, but I know that such things happen, and it does not necessarily mean that there is a can of worms behind this bug.
Did anyone take away a different interpretation of this than thay would have if "weird" wasn't used as a substitute word for violating social norms or "unusual" depending on context?

It seemed a bit awkward to read in terms of "weirdness economics" rather than social groups, but I failed to see where the difference was going.
The numbers aren't good enough to say that any of the five hardest shots is significantly more difficult than the others.
Box – Open Source
Good catch, but it happens.
If it means that I can also be running around in 2550? Fuck yeah I do.

If I'm going to be long dead? Well, I guess that'll be someone else's problem.

I agree that radical life extension will result in increased inequality and an ageless aristocracy. And that would be a problem. It's just much less of a problem than "everyone I know and love (and me) dying."
The Binary Wristwatch
Boost the Performance of an AngularJS Application Using Immutable Data
The visa just got started recently but last I heard they are still working out the details.

I applied for CEC (Canada Experience Class), paid >$4k for lawyer fees but application got rejected saying quota is fulfilled even though the website notes that its less than half filled.

Trying now on express entry but I doubt I'll get anywhere. I feel its a broken system which caters to very expensive lawyers as they know the hacks.
Nice article, but the nitpicker/mathematician (is there a difference?) in me spots a flaw in its logic. Maybe, the reason for the low success rate on the 4-6-7-9-10 split is because the really good pros rarely end up with it.

Also, I would like to see a comparison using mirror images for left-handen players.
I will say that not all open offices are the same. The one I work in currently is constantly noisy - people will wander around on the phone arguing loudly, for instance. But others I've visited were wonderfully quiet, with the few conversations occurring in hushed voices.

That said, what annoys me the most about the open plan office is also having a boss who cares a lot about what's currently on my screen. (e.g., hacker news rather than vim). I hate having the instinct to cmd-tab every time I see someone walking by. (even if I'm already doing work!)
That can be solved by writing a SQL function and the user input values are arguments to the function.
we use bonus.ly for our team for the past year and it's truly been exemplary. micro bonuses, spot bonuses from peers and managers have become part of our culture.
I ran against Sam for senior class president in high school. The top way to campaign in our school was with one large poster. I was, to put it mildly, outclassed.

I actually outcampaigned him in some other ways. It didn't matter. His poster smashed me. :) The guy was a serious cartoonist even then.

R.I.P.
Stateless WebSockets with Express and Pushpin
That's the best part, we are not funded at all and are building this office after eight years of profits from our products: Beanstalk, Postmark and dploy.io. We count every dollar that goes into the space and it is purely an investment in our team and culture. I'm personally researching everything from glass panels, to steel sourcing to carpet with our architects to keep costs down.
Apple shareholders are asking Tim Cook to buy Tesla
Sounds like they never had a head chef. An analogy would be you run a small cafe on your own, then you hire one person to be chef, barista, floor sweeper, dishwasher, security guard, book keeper, customer service manager, ...

Of course then you need to read the emyth book.
Yes, it's called pruning, it's in development and not finished.

The basic idea is that bitcoins are actually units of money that are in your wallet. Rather bitcoin works by chaining transactions (put into blocks, hence the blockchain).

Thus if you give me $1, I don't have $1, I actually have a record that you gave me $1 so that must mean I have $1 to spend. That's the simplistic idea.

That is the reason why instead of storing account numbers with money numbers in them, bitcoin stores transactions.

By now it's probably obvious to you that the vast majority of those transactions don't need to be stored. If I give you $1 and you give it back, repeat 1 million times, we end up with exactly the same amount of money. And all but the last few transactions can be reasonable deleted. (pruning)

As for syncing, syncing up a wallet is much, much faster now that it's headers first. But most users never sync, they either use 3rd party wallets like Coinbase, or they use wallet software that plugs into various nodes and APIs, so that no blockchain has to be present on-disk. The blockchain is really stored mostly by nodes, dedicated servers, businesses, a few enthusiasts.

That doesn't mean someone else manages the wallet by the way, like you mentioned for 'consumer devices', it just means that someone else manages the node. But the node doesn't control your money, your private keys do, and those are just a few bytes of storage. And as there are thousands of nodes and many APIs, trust of nodes isn't any different as when running your own node (which gets and sends data to other nodes, requiring the exact same amount of trust which is zero when it comes to controlling your money).

As for transaction fees being expensive, they're extremely cheap? Pennies to send thousands or millions, and as it's an open protocol anyone can build free centralized payment networks on top of it, like Changetip. Conversion with other currencies is also cheaper than most fiat conversions (e.g. dollar to euro), and in fact some companies already offer it for free (e.g. bitcoin/usd is completely free and pretty much instant with Circle, founded by Jeremy Allaire who founded Coldfusion).

The 15minute thing might be a deal-breaker for some. There are lots of solutions though that can remove that timer, built on top of bitcoin. Sidechains, treechains, payment channels etc. Anyway time will tell if these things work well but there don't seem to be any dealbreakers yet on the horizon.
I guess you can judge what management really thinks about open offices by looking at how many line up to get their place out there.

Around here I have visited one company where it seemed like management where actually out in the open and I think I know one major branch office at one major telco that also does (or did? I haven't heard anything the last few years.)
I think using the polyfill as a baseline in the benchmark is misleading. Of course implementing SIMD is faster than emulating it in JavaScript, but nobody cares about that. What everyone is interested in is: How much faster is their SIMD implementation over a normal everyday non-SIMD implementation of the same algorithm. The whole article doesn't even acknowledge that question.

Given that SIMD should bring about a 4 times speedup and yet the polyfill is 17 times slower than the Ion SIMD version and 40 times slower than the asm.js SIMD version, it seem likely that an implementation of the same algorithm without SIMD or polyfill would vastly outperform the polyfill too.
Mongo doesn't stop you from using a schema, but you'll have to enforce it in your application code rather than the database itself.
6 Rules for Creating a Beautiful UI
Show HN: Website for a student startup – Kassette
You are assuming that we would be able to afford such. As it is some people can barely afford medical care and even if insured when it starts becoming too costly for the insurer they can drop you and have done this. Immortality would be reserved for those that can afford it(the "one percenters").
Literally getting all the disadvantages and none of the advantages of open office plans. Love it.
If anyone has seen the alpha spec and isn't under NDA, I'd be very interested to know whether OpenVG/NV_path_rendering could be efficiently implemented as libraries on top of Vulkan, given that it's a lot lower-level than GL.

I remember from Mark Kilgard's notes that NV_path_rendering on top of the stock OpenGL pipeline wasn't feasible, which pretty much killed it for general usage. Fantastic functionality, but nobody outside NVIDIA was ever going to implement that extension; the thing was gigantic.
Questionable. Rat populations have been found at the Medicine Hat landfill, first in 2012 and again in 2014[1]. I guess it's a good sign that it makes national news when a population is found, but they're almost certainly present elsewhere.

[1] http://www.cbc.ca/news/canada/calgary/several-rats-spotted-a...
Why do you find it amusing that "aging" billionaires (people in their 40's) want to invest in medical research? Steve Jobs died at 56. Andy Grove has Parkinson's. The co-creator of the Simpson's died yesterday at 59.

http://www.npr.org/blogs/thetwo-way/2015/03/09/391924652/sam...

You probably won't cure death but hopefully there's a small chance that if you get some really bad news, you'll have invested some of your money into something other than the next social network or killer app company.
You're right I don't see anything wrong with the situation as presented. It's funny, guy has some balls to ask for a date after that. I'll agree he was pretty stupid about it. But I see all the time much stupider advances that actually get accepted instead of rejected. I'd say forgive and forget but I don't see anything to forgive. Asking for a date is how you get dates, even if the context for asking is unusual. I'd like for shy men to still be able to hear the worst thing that'll happen is "she'll say 'lol no, loser'", but now the worst thing that can happen is she'll be so offended she'll throw a fit and publicly name you and destroy your career. Thankfully that hasn't happened here yet. "This made me feel upset. How should I handle this, random internet people?" is a reasonable way to approach this if you don't already have a philosophy that says "chill out and move on".

There's a side conversation here that I'm sort of interested in. There is a certain moral obligation to protecting the company you work for and not putting it under risk with thing like discrimination-based non-hires -- but why should sociopathic lawyers get to decide what risks are actually there or not? It's immoral some of the things many companies do in all legality, risk-free. You won't stir up an internet shit storm for every one of them, even if you can get a few. Not so long ago the behavior this woman reported would have not been cause for such outrage and moralizing displayed on this page. What changed in humans since then? I really don't think we've gotten all that more moral. I'd say instead what changed is the sociopathic lawyers became even more powerful, and saw a great and endless revenue stream for themselves by making it easy to destroy people and businesses for these very basic and human drives, faux pas mistakes at worst.
Is it really a trademark violation if you haven't modified the binary at all? If I wrap a MacBook's casing around some different hardware and try to sell it as a MacBook, that's pretty shady, but if I have a stock MacBook, I wouldn't expect Apple to have a claim that I'm using their branding on a product that's not theirs.
Now how is this an improvement over the Sequel example?

I understand the impulse to "Just write SQL." But in practice, with all the string concatenation needed to generate actual queries, you can't really see what the SQL will be without running all the code in your head anyway.
We have really enjoyed Bonus.ly, our team loves it at Looksharp. Great team too! (Disclaimer - I am an advisor)
I would disagree. Would you leave a typo on your resume?
Game Helpin' Squad explains Time Travel Understander:

https://www.youtube.com/watch?v=1fABGyVzVwI

"If you can't figure out what you're doing in the game, you're just not thinking in the right way."
Honestly it's more marketing hype then security. While they do have some good applications they have had some bugs in their phones that really question the $700 price tag.

Most of the security apps will require that the other person has the same apps. I find that rarely will people use those apps.
Yeah, I mean "Greater Silicon Valley" by which I mean SV itself and its wider diaspora. Other names include Startupistan, Hackerdom, etc.
I don't really want a mortal Rupert Murdoch running around now.

That dude is so close to evil they based a bond villain on him.
One indirect consequence of Apple designing an expensive smartphone for discriminating one-percenter hipsters with cash to burn is that Third Worlders can now buy smartphones about as capable as Apple's original model for less than $100. Yes, it sucks that that jackass Larry Ellison never made a charitable contribution to any cause besides his own prolonged existence. But longevity for billionaires means longevity for us. This isn't Elysium.
Thanks for the offer. However, I kind of don't want to do things in Javascript, as Python is a fantastic platform for numeric computation, and so staying in that ecosystem makes a lot of sense (people can take my matplotlib code and go off and do their own plots for their filters, for example).

But I'm sort of at an inflection point. Is my book about using Python to do Kalman filtering, or is it about Kalman filtering, and it happens to use Python. So far it has largely been the latter, so I could see doing a Javascript version. But I think that puts my needs over the needs of the reader, which is probably wrong.