skysight-inc/HackerNews huggingface dataset:
Somewhat off-topic but peripherally related to misconceptions about China: In the U.S. we are conditioned to think that Amazon is the most innovative/out-of-box-thinking retailer in the world. But there are some new ideas out of China in the retail and surveillance spaces that are pretty impressive/scary, beyond anything we've seen from Amazon so far. There's a bunch of articles/videos/images on this Twitter feed [1].

I like the idea of the compactible smart locker [2] though.

Also, the parking garage gate that scans your license plate [3] and automatically raises the barrier arm -- it sounds like an invasion of privacy except (1) apps like Spothero already know my license plate number; (2) license plates are visible publicly.

On that note, some misconceptions that we have about China's innovation mindset are addressed here [4].

[1] https://twitter.com/conniechan

[2] https://www.youtube.com/watch?v=KsuDDBcJ18c

[3] https://twitter.com/conniechan/status/990730265239654406

[4] https://a16z.com/2016/02/16/mindsets-for-thinking-about-inno...
If you’re after an open source PDF library in Java, check out Apache PDFBox. It’s actively maintained and has a ton of features.

http://pdfbox.apache.org
No, it is a ternary search problem.

EDIT: According to

> https://en.wikipedia.org/w/index.php?title=Balance_puzzle&ol...

if you know that one coin is different from the others, with 3 weighings, you can even detect it among 13 coins (not just 12).
Where are those developers that can do my job? Ours certainly can't even do theirs. That is why we are moving to the cloud: "see? we didn't need to learn how to optimize dynamically adding resources almost solve our problems".
> in the past it was not possible to dump and freeze Keras' Tensorflow graphs.

This was never true.

There was no obvious Keras API for this, but you could build a model with the Keras API, then use the TF API to save it. The inference API would be the TF API (i.e. you'd need to find the names of all your input and output tensors and use those with Session.run).
I think in a few years, if the complexity of cloud infrastructure management is reduced, and its level of abstraction raised, it might make sense to me developers do this work.

But if I'm trying to build some software app in a complex domain, and the infrastructure tooling requires me to configure network routing rules, CIDR blocks, etc., that seems like a huge failure to me, almost like having the developers grow their own crops for sustenance or something, rather than having people specialize in that and leveraging division of labor.
You can even add a shortcut the Home Screen (at least on Firefox), and it will render without the browser chrome. Virtually indistinguishable.
Yeah me too. I'm sick of having to work inside whenever I need to do something on the computer. I'd also appreciate some sort of AR headset with input via thoughts (or some other inobtrusive and precise, but portable, new input method). I'd love to be able to work on a computer while walking on a trail, for example.
99% of the 'DevOps' stuff that come across my job search is operations that deal with Azure/Google/AWS management, along with the the rainbow CI/CD tools and has nothing to do with doing actual software development. One head hunter that called today was looking for a "DevOps with Site Reliability Engineering", which entailed dealing with data center electrical stuff.
For simple stuff yes.

When you have to do an small API in Python is what I use.
I've considered calling my title FullStack++ because I'm full stack + devops, but I don't think any hiring mgr will understand that at later roles..

.. or are we just redefining the stack? I suppose db + api + FE is already a lot to call a full stack, but adding devops (not to diminish it) wouldn't really change the definition of full stack here..

But unless every full stack dev also knows devops, no one will know that I know devops too from my title.

Open to suggestions but until then I'm a "full stack + devops"
The problem with ORMs is that they make DB calls seem cheap, and when your application is young and you don't have a lot of rows, everything works wonderfully. Then all the N+1 problems start adding up and the SELECT COUNT(*) performance issues. Since the ORM code is baked into the models, your code is littered with these calls -- in the service layer, views, background workers.

That's why I really like Promises/Futures in Javascript. You know exactly when you're executing a DB operation and you have to think about the implications more. It's not just a simple object accessor.
If open to JS/React, check out this course on Udemy: https://www.udemy.com/react-2nd-edition/

I did the 1st version of the course and it was amazing.
* delete cookies
or
* block cookies
=
free NYT
XVI ⨉ XXIII
= XVI ⨉ (XVI + I)
= (XVI ⨉ XVI) + XVI
= CCLVI + XVI
= CCLXXII
The zipper's history shows how even great ideas can fail at first
Same boat.

Against my better judgement, I bought a 2017 MacBook Pro about 6 months ago to make it easier to work with a client.

I sold it this week at a big loss.

Between the terrible keyboard, the useless Touch Bar, and the dongle hell, and general hardware flakiness, this was the worst laptop I've ever owned, Apple or otherwise (and I've owned almost every Apple laptop generation since the PowerBook G3).

Good riddance.
> I feel like every statement of that form has an implied "with the lifestyle that I want".

The perspective confuses me - isn't "having kids" the lifestyle that they want? If that is the priority, then other aspects of life must be flexible to accommodate.
According to the Amazon listing[0], it comes with a "Bluetooth USB Dongle"; if the keyboard runs over BT (vs some proprietary signal like Logitech's stuff all used to), you may have better luck pairing it directly with the OS's bluetooth stack.

[0]: https://www.amazon.com/Microsoft-Ergonomic-Wireless-Desktop-...
Yes. Shared network, transparently operated by all the service providers. (See also: in response to a similar what to do comment - https://news.ycombinator.com/item?id=17417243 )
Unless it’s a one-off thing, it’s also worth considering adding a cache class. This can have the advantages of further decoupling the cache and computation logic, and being able to switch the cache implementation (e.g. to use a no-op cache for debugging). It also hides the “if” by introducing a “cache pattern”:

return dbcache.getOrCompute(key, function() {
v = db.query("..")
expiry = calcexpiry(v)
return (v, expiry)
});
Vintage AIM server replica with support for original clients
If you're running into performance problems, knowing those things isn't enough. You need to know about query plans, different complexities of each kind of join algo, etc as well as how to get the query plan, how to profile your database query, etc. Basically databases are hard and you probably will need more than basic theory for anything that is more than a low-traffic CRUD app with latency SLAs on the order of hundreds of milliseconds or more.
Nope. It's ternary in nature. The subproblem of "You have 3 coins, one of which is lighter than the others. On a balanced scale, figure out which one is lighter in one weighing." is a good place to start. Just enumerate all 3 possible weighings and you should be able to see the correct approach.
Linux tutorials
Having only one client at that scale would be very scary. At what point do they say well 300k is too much. Let's make it 250K this year.
The author didn't get DevOps (so don't many companies). It's not about putting developers on-call, it's about taking operational concerns into account early in the design of a piece of software and acknowledging that it's going to do much better in the wild when the people building it are also accountable to making it easy to operate.

Blaming DevOps (or full-stack, for that matter) for a toxic company culture is just too easy.
I probably got a little too much sadistic pleasure out of it, yes...

However, I was always willing to answer nontrivial questions, and even convert numbers to/from negabinary to help them. (The program used the Schroeppel2 implementation, to prevent them from getting too much of a clue if they somehow managed to find its source code)
Show HN: Job Aggregator for Web Developers
Extreme poverty, in this case, is a measure developed by economists and not by politicians, and AFAIK the definition hasn't changed significantly in many years.

As the parent says, not being in 'extreme poverty' doesn't tell us much about one individual. They could have $2.50 per day; they could be Bill Gates (of course, it tells us a lot if someone is living on less than $1.90/day; that's a much smaller range). But the aggregate measure is meaningful: The number is decreasing and has been for decades - a miracle relative to world history - bringing hundreds of millions of people of out hopeless poverty; just look at India, China, and Latin America. Yes, some are still very poor, but we can use other measures to examine that such as median income (which also has changed dramatically).

Also, 'poverty' in wealthy countries and 'extreme poverty' used in this measure are entirely different things. If you're reading this, $1.90/day probably won't pay for your electricity or water usage for the day, much less food, shelter, health care, education, transportation, etc.
not so much of accomplishments, but two take-aways that come to my mind are:

1) you can't mess around with a politically well connected American company. Of course, I'm talking about the Obama administration's reversal of Samsung's ITC win that would have settled this lawsuit back in 2012.

2) thx to Apple, now we are very likely to see more absurd design patent lawsuits in coming months.
>> When the world loses a language, as it does every two weeks, we collectively lose the knowledge from past generations.

No. Google translate. I really disagree with this idea that the death of a language somehow means we are cut off from the culture that used the language. Nobody speaks ancient Egyptian but we can still translate their hieroglyphs. Universally common language promotes communication, cultural exchange, understanding and general world peace. I'd rather focus on the promotion of wold languages than the maintenance of isolated regional dialects. I'd rather learn Arabic than Welsh, Cantonese over Romansh.

Wow. "Romansh" is recognized by my spellchecker. But "Shia" of Shia Islam is not. Makes one think.
The price of gold is not defined according to some fixed utility function. There's a demand component, yes (which is not fixed). But there's also a supply component.
Huh. I didn't get any pictures at all in reader view.
Amazon buys PillPack, an online pharmacy, for just under $1B
Coinbase is basically the entry point into a lot of cryptocurrencies as it has easy fiat to crypto exchange. When you have this information you can deanonymise most activity on most blockchains. This might go into tinfoil hat territory but it might be a reason Coinbase is of interest to Facebook
Only point releases are support to avoid breaking code (though they sometime do).

Minor release may break code, though it should be rare. Python 3.7 reserves 'async' and 'await' as keywords so assignments like "async = 3", which worked in 3.6, will now fail.

Python has a deprecation warning system which can detect cases like this, but it must be enabled:

% python -Wall
Python 3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 05:52:31)
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> async = 3
<stdin>:1: DeprecationWarning: 'async' and 'await' will become
reserved keywords in Python 3.7
There are some really glaring issues in this article. For example, the author suggests that each -> update is worse than update_all, and while the performance may be better it's comparing apples to oranges! update_all, in ActiveRecord, bypasses business logic, bypasses updating the updated_at, bypasses validation and more. It's not the same thing at all. There is no difference between where.first and find_by, that is just a bikeshed. Not every map(column) can be turned into pluck(column) if there are business logic wrappers around that column.
That's what I was thinking, but it's not possible to post anything on the web app.

Edit: Apparently, I'm wrong
The term "Full Stack Developer" is especially problematic because taken at it's literal meaning it suggests that a developer should be fully competent at ALL aspects of developing an application, which necessarily include deep understanding of system administration, database administration, tertiary dependency (caching apps like Redis, for example) administration, network infrastructure configuration and maintenance -- all of which are impossible for one person

Why is that impossible especially in the age of cloud? Infrastructure setup and configuration is just another API.

My knowledge of the full stack may not be wide, but it’s fairly deep. If you tell me I have to design and implement a full web application from scratch with no preexisting infrastructure, I can choose a pretty good set of technologies and best practices to get it done as a cloud hosted implementation all the way from net ops, dev ops (CI/CD), backend RDMS or NoSQL storage, a modern server side language, a web server, and a website.

The only part that would be wanting is the website implementation would be a simplistic Bootstrap UI without any modern front end frameworks. The best I could do right now would be either ASP.Net MVC or Jquery + handlebars. But not knowing a front end framework well enough is just because of lack of time to learn and that’s not what I’m concentrating on now.

As the size of the project grew, I would need to bring in specialists for the web (that’s not my forte) and devops (it would be a waste of my time to manage devops/netops) at scale.
Not really - you can reduce it to one but you don't quite have enough information.

So I think it goes like this:

- you have 12 coins, and each one has an equal chance of being heavier or lighter than the others - so that's 24 possiblities

- you have 3 moves, and the result of each move could be one side of the beam goes down, one side goes up, or it balances. That means you can create a system that identifies 3^3 = 27 outcomes. So far so good.

- you need each of your outcomes to provide real information. if it was a binary problem that means you're not really getting any information if the beam balances

(bit sketchy on that last point, maybe someone can help with that)
How can expenses be explained by cuts? Increases can, but unless the government is actually taking money, you can't explain tuition costs in terms of decrease expenses.
pylint should catch that mistake.
The easiest workaround is to acquire a lock (e.g. redis redlock) before starting to refresh the cache. That way only one process will perform expensive_calculation(). A good caching library will generally do some variation on this for you.

For larger, more complex scenarios the techniques mentioned by GGP above work well, i.e. not doing expensive_calculation() in your app process at all.

The issue has a bunch of names, I know at least three: cache stampede, thundering herd and dogpile effect.
Good point. I suppose my points are less valid, the closer to the present we get.
Kroger joins hands with Nuro for autonomous grocery delivery
Software updates: the “unknown unknown” of the replication crisis
I agree. The tutorial is incredibly simplistic with a "go play" ending. Then the actual documentation assumes you have a pretty good knowledge of how everything works. There is no middle step without utilizing 3rd party docs.
That implies that ER personnel can tell organ donors from non-donors apart. Is there any evidence that they can?
I think this is true of django in general.
Well, no. Samsung won the SCOTUS decision last year that cancelled out Apple's hometown jury's absurd design patent award. The case was sent back to the district court for damage-only re-trial where Apple's hometown jury awarded even more money to Apple.

Apple clearly had no desire to settle, but Samsung clearly saw that there was no way that they could get a fair trial like they did in non-US courts around the globe. Samsung probably ended up paying slightly less the amount the last jury awarded, plus some humiliating terms and conditions.
You should be much more anxious about the risk of losing a great deal of your lifetime earnings (more than enough to buy a house outright) to rent. Some people rent out of necessity; for you that is not the case.

Everyone who has purchased a home lives with economic risk.

I am very concerned that an entire generation that has flocked to expensive urban centers will wake up at age forty five as renters and realize it is basically too late to enter the housing market.
"Technical Note:
This file,
pocorgtfo18.pdf
, is valid as a PDF, ZIP, and HTML. It is available in two
different variants, but they have the same SHA-1 hash"

Where do I find the second version? Couldn't find the link on the alchemistowl.org webpage, but they are mentioning two different MD5 and SHA256 Hashes.
LinkedIn launches translation feature that builds on Microsoft AI technologies
Ah. I interpreted it as "perhaps you prefer to identify genders in general, but that's belied by not using it here."
"Are you certain? In my experience, there really isn't an "affordable medium size city" in the US."

Minneapolis.

A very, very rich urban environment (there are two cities there, after all) and cultural scene. Is currently, very affordable - even in the most desirable neighborhoods.

Denver also fit this bill up until 3-4 years ago.
Scaling  up  Superoptimization [pdf]
"Cell carriers to stop sharing real-time cell phone location data[... to literally everyone]" more like.

Verizon will still supercookie the fuck out of you though. Your physical location data may be slightly more secure, but you are DEFINITELY for sale EVERYWHERE on the internet with Verizon Wireless.
To be fair, SQL isn't exactly a friendly language. It's basically relational algebra and a grab bag of utilities for dealing with whatever technology was in-vogue at each iteration of the standard. Relational algebra + xml + json + etc. And even in spite of all of the extra tacked-on features, you can't push standard SQL very far before you need to depend on implementation-specific features. So yeah, everyone should learn SQL, but I can appreciate the reluctance to dive in.
Rental cars also - especially if you have to buy liability insurance.

Has gone from a waiver for first $500 or $1000, rest was covered, to unlimited liability to the customer.
It most certainly is, how can a group they disparage simultaneously be weak and subhuman, while also having lots of power and "controlling the world"?
If you are curious here is the larger exploration of global poverty from Our World in Data: https://ourworldindata.org/extreme-poverty

It has been a while since I read it but I found it quite compelling. If i remember correctly, the measures are based on consumption of goods per day to try to avoid complications related to differing economic systems. Also while it is true that measures can be manipulated to tell the story you want, it does not appear that that has been done in a significant way here. Even if it had i doubt that, such an extreme 90% -> 10% drop could be shown even with the most crooked measuring stick if things had not been genuinely improving a lot. Incidentally, my brother used to be a full on marxist until he read this data and completely abandoned that belief system.
Piqued: The case for curiosity
Marketing firm Exactis leaked a personal info database with 340M records
Currently on a project where it is taking 48 hours to run an upgrade.

No one has thought to run a query plan

(N + 1)*10000000000000000
You think so?

Maybe but the ORM lines should be pretty insulated. If you return the same results and only speed them up you should be okay.

To take an example, replacing any? with exists? doesn't seem to require testing everywhere in the project. I imagine that the average fix had lines like that.

I also suspect that the fixes were pareto distributed -- that a few fixes brought most of the benefit.
High five! I received my transplant at age of 24, nine years ago. I hope many, many years of life to you.

I hope anyone reading this thread considers signing up to be an organ donor. There is very few free lunches, but organ transplant is one of them.

Also, this line from the parent post requires a response:

> I don't think we have such a shortage of people that we have to save every and each one no matter the cost.

Organ donations are huge net positives for society. In a world with no organ transplants, the renal failure patients would be spending an average of 5 years longer on dialysis, which ties up hospitals, patients and caregivers mush longer than a transplant operation plus+ immunosuppressive treatments do.
Finish my thought:

All this to allow a cheap price to be advertised, what you end up paying may be a lot more.
> Teams spending weeks exchanging SQL DB for No SQL DB because of unsolvable performance problem. When hitting the same problem with NoSQL DB, they find that addition of a simple index is solution in both cases

I don't get the idea that one has to pick either SQL or NoSQL, but a lot of people seem to think this way. Why not use both? The SQL portion can more or less be treated as a rich index of relationships, and the NoSQL portion can handle performance when it makes more sense for data to be embedded in parent documents.
Traditionally binary search involves recursively dividing the options into two roughly equal sized groups and then using a measurement to rule out every member of one of the groups (and thus half of the search space) with every step. The solution to this problem differs from that approach in certain key ways.

It is a kind of search problem, but the steps aren't recursive and you have to use several tricks to maximize the information you get out of each measurement.
I multiplied wrong because the percentage thing :)
That's a long way to stretch an analogy to make a political point. Were there armies? Soldiers equipped to kill?

Or was this a legal dispute of the sort that companies have been engaging in since the invention of companies, and individuals have been engaging in since the invention of the court?
The majority of those lost languages are spoken only, so we lose the culture's verbal history. Imagine if nobody ever decided to write down the Iliad.
Since they ask for mirroring, I mirrored the PDF on IPFS. If you have IPFS running locally:

/ipfs/QmSLGcHPnPSRZzTmPpVhLt1nhGiaenZK1SFH8PpiozwS2G

Otherwise you can access it via a public gateway here:

https://ipfs.io/ipfs/QmSLGcHPnPSRZzTmPpVhLt1nhGiaenZK1SFH8Pp...
Just spitballing here, but I could imagine that each of the twos weak spots (Facebook: declining user growth, fake profiles, need of income via engagement etc vs. <insert-coin-here>: bad usability, trustworthiness, small-scale markets, no vendor acceptance etc), could be ripe for great synergies with such a merger.
I don't need to, because it isn't the >complete< trainweck everyone claims it to be.
In many European countries it's standard to learn latin. So we can understand whole texts written 2000 years ago.
I wonder if this app is just a webview into their better/optimized website...sort of like a PWA with a webview over it to come across as a "native app"?
Yes, they're pretty ugly TBH. All they've done is provide some decent "canned" estimators but for anything custom you're still using the base tensorflow API. Not to mention feeding in something like numpy arrays > 2GB is a huge pain (their Dataset API doesn't fully work).
It’s possible to post from the mobile site. I do it often from mobile Safari, Firefox, etc on iOS.
The fact that they even need to release a "Lite" version of Facebook and Instagram is just a testament to how bloated and slow those apps have become.

This begs the question, why doesn't Facebook just completely redo their apps? I'm sure it wouldn't take long to achieve feature parity with the old app