skysight-inc/HackerNews huggingface dataset:
I'm disappointed with the lack of autonomy that the staff has in the Apple Store. In any interaction with the genius staff, they go off the official playbook to the point where it doesn't even make sense sometimes.

I have a macbook pro where I've replaced the disk drive with an SSD and boot off of that. One day it stopped booting from that drive, so I brought it into the genius bar to see if the drive was dead or if a ribbon cable failed.

After talking about the problem for a while, they finally took it to the back and opened it up, and just as quickly returned it to me with a grave face. They saw that the optical drive had been removed and the RAM upgraded to 16gb, and because of their corporate policies, all they could do to a machine that's been upgraded is button it back up and return it to the user. Never mind that the problem with my macbook wasn't the drive or the cable, the drive had wiggled out of its mount and was just loose in the case.

You could shake the laptop and hear it slapping around, and the geniuses definitely would have noticed the loose drive as soon as they opened it like I did when I returned home, but their policy was such that they couldn't even tell me what they saw in there. Imagine if your local mechanic operated so rigidly. Looking back at it, it was like a scene out of 1984 and I wouldn't have been surprised if one of the geniuses slipped me a scrap of paper with the words on it that they clearly weren't permitted to utter with an apple lanyard around their neck ("reattach ssd to optibay").
Lose and You’ll Win – How to Reflect on Failure
Maybe the concept of blame is meaningless when it comes to robots, and we’re clinging to a cultural and spiritual concept of blame that serves no purpose when it comes to robots.

If a robot doesn’t function properly, you fix it or take it out of service. Taking retribution against a robot (or abstractly, the civilization that created it) is of questionable value. The right question is how do we build robots that don’t lose fortunes?

The fact that human beings get angry at robots and want retribution or recompense for malfunctions is an evolutionary adaptation for dealing with other humans. It is useless when it comes to dealing with non sentient deterministic agents. Sure, if the robot was being controlled by a human, go after the human. If not, what’s the point?
Still waiting for a Golang ORM as awesome as Python's SQLAlchemy.

I like the code generation approach of SQLBoiler: https://github.com/volatiletech/sqlboiler
> Often, requests look very similar but are very different to each other. "Why does it takes 3 hours to add a button on the sidebar while it takes 1 hour to do it in the content of the FAQ page?"

There is a good XKCD on this topic: https://xkcd.com/1425/
Dishonesty in Everyday Life and Its Policy Implications
The premise is totally correct though, and not just "one man's experience": that generation of MS mice changed the mainstream mouse landscape towards laser-based mice.

(I've used such before, on Sun workstations, but PC as users we didn't have that luxury, we had the easy to clog and collect dust, potentially jumpy, not very accurate balls in our mice).
Get connected: Key considerations when selecting a connector
I agree, and the biggest difficulty that ends up coming out of this fact is that things like paying down tech debt are hard to justify from a business perspective, this is a legitimately hard problem that everyone who ends up in project planning will have to deal with. When you hit it try and rely on talks by experts in the fields and external resources to enlighten the business side as to the value that paying down tech debt will give you.
Even better, they get to pay the fine with shareholder money.

First, they defraud the shareholders by doing things they said they wouldn't with the shareholder's company.

Then when they get in trouble, they use the shareholders money to buy their 'get out of jail free card'.

I wish the government would find the officers personally liable.
I'd say so. Climate change is real, but not permenent.

If we decide to do massive geo-engineering, it's not going to take 100,000 years to accomplish whatever goal we set. With nothing but pure hubirs to back me up, I'd say it will take 500 years, but more like 100.

We're very smart over a long enough time scale and we will likely live in harmony with the Earth, at least asymptotically so. It'll never be perfect, but it will get close.
My Intellimice last for a few years but eventually either the rubber coating on the scroll wheel detaches or the left button starts occasionally double clicking instead of single clicking.

I'll try out the Sensei, thanks.
Yes, like the iPod it wasn't the first such product sold, or even the most full featured one: just the first that actually mattered and turned the market.
Great rebuttal! Thanks for that!
I used (a self-hosted instance of) CryptPad for a while earlier this year, but unfortunately the editor is borderline unusable in iOS Safari.
I love orms.

They make a simple crud operation so easy, you don't even have to think about them.

Every remotely competent developer will however tell you that there are always cases where the orm is a bad fit. And that's exactly why basically all orms let you write your own queries.

There is really no reason not to use an orm. Just don't ever frown on people doing anything more advanced than a middle join without it.
Looking at voting statitics here in Sweden, the pattern is very similar to lobbying. A party that cater to one demographic gets votes for doing that, while loosing votes to demographics that the competition caters to.

To me this shows the opposite of uninformed. The information about which political party is catering to which demographic is distributed well and effective. It becomes even more clear when two parties uses the others opposite demographic as "the other" for which all problems in society can be attributed to. When you are declared the enemy by one side and the targeted beneficiary by the other it is very easy for votes to align themselves accordingly. I don't blame them for that.
Isn't it also because participants of these studies who sleep too much does so because they already have health problems that keeps them in bed?
You could have booked an appointment sitting at home in your underwear.
Last I heard, Google also tends to keep data to themselves. The difference in business model is that Google internally uses user data to effectively place and sell advertising, not that advertisers have direct access to that data. Apple isn't an advertising company the way Google is.

But perhaps things have changed.
ORM is good when you were going to have to be converting your query results into Python/Ruby/PHP objects defined by your framework. Why write that code yourself if the framework can handle it for you? Particularly if it's a common CRUD app.
Agreed.

And FWIW, I've written some moderately complex apps over the years, and routinely use Hibernate / JPA (or GORM when using Grails) and I've never, or very rarely, encountered most of the problems cited by critics of ORMs. And Hibernate makes it easy enough to call raw SQL when you need to (and yes, I have needed that facility a few times).

By and large, for the vast majority of projects that I can imagine working on, my default starting assumption is almost always going to be "use an ORM" -- unless something about the situation strongly dictates otherwise.
ZFS on Linux is where the majority of ZFS innovation is these days. Btrfs should be permanently deleted except for a sole copy in a museum somewhere as an example of a historical mistake negatively affecting millions of people.
I actually switched from using Mouse Systems optical mice to a Intelimouse Explorer, I never really used any ball mice, ever
Once China becomes a/the leader it develops its own technology and prevent others from using/stealing it, just like the US did.
BTW, if you find an answer to that, I would be interested.
> There's no incentive to win 90% of the vote.

There is also no path to get 90% of the vote across the entire US population. As soon as a politician takes a stance on a polarizing issue, and they're not allowed to not take a stance, they lose half the vote.

One could try and blend the tribes by choosing stances evenly-ish across them but it's practically impossible because you need tribal backing to have a successful run and that backing comes with a promise of loyalty. It probably wouldn't really work anyway -- people don't really tally positive stances, they vote for whoever has the fewest bad checks so everyone would end up hating you.

Our electorate is, sans cheating, a reflection of ourselves. As long as we are divided about issues that are important to us so too will Capitol Hill.

If there were a best solution there would be nothing to argue about unfortunately.
what's wrong with apple and their understanding of reality? every single time they trying to do something, they claim they are the first who are doing it, when they literally did not do anything ever the first time. or maybe they don't understand the word 'first'?
Would you put a new ethernet card into a machine where the network is saturated 5% of the time?

There's a huge space between 'never waiting' and 'always waiting'.
Do you have any specific devices in mind?
That's just begging for "Celsius Time" and "Fahrenheit Time"
Brazos APU.

So the solution is to stay on a legacy kernel, with the security risks it entails, while my Windows 10 can perfectly make use of the DX 11 drivers.
> Take my money already and let me get out

This is what online ordering was made for.
Learning and using an ORM is not an excuse for not learning and knowing SQL + Database concepts. (I'm not saying the author argued that, I just want to sweep away an straw men that say not having to learn SQL is an argument in favor of using an ORM).

For me the biggest benefit of using an ORM is separation of concerns. I truly hate it when SQL and query building get mixed into controllers and other parts of the application. However, I also hate the layered complexity that the author talked about, which definitely means ORM's are not appropriate for all use cases! But if you don't use an ORM you need to be diligent with using some other pattern and code organization to keep your code clean and your concerns separated.

I worked at a consulting company for a number of years and we got immense value out of Symfony, which includes the Doctrine ORM. Many of our projects boiled down to custom Content Management Systems, so we got the huge benefit of being able to define the data model in code and not worry about any of the SQL while also not having very complex queries. So we got pretty much maximum benefit and minimal exposure to the down-sides.

I will say that these systems almost always wanted some detailed reporting, and that I usually got tasked with writing them. They always had some complicated queries and I almost always made use of the "raw sql" option to just write my own queries and spit out CSV. Which was always a much different use case than the rest of the application.
It's nice to have an interface that runs my query and puts the results into a nice typed structure.

If the query itself is an object, I can chain it with other query objects and have a cleaner syntax.

Those are my usual reasons for liking ORMs.
To be fair from that thread I can't infer whether they check if the call succeeded. It might very well be it returns success but still yields -1.
I wish people did not think the choice was solely between "write raw SQL with raw strings" and "try to pretend the database is object-oriented when it is not."

The third approach is to safely wrap the database and its columns with code in a way that is composable.

In Python, SQLAlchemy has an ORM, but it is optional, and you can just work with tables and columns if you want.
I've wanted to like ORMs but they always get in the away as requirements start to get more complex. On the other hand, I like writing in plain SQL, but that's often hard to comprehend by other people - you cannot just glance through to know what's happening under hood.

I find Ecto to be the perfect balance of expressiveness, flexibility and clarity. In fact it's the single reason to have picked up Elixir.
Probably use that is intended as general self-improvement and finding better perspective on life in general, as opposed to the same but for something going wrong (therapeutic) or for fun (recreational). Really it could fit under therapeutic use.
psycopg2 is a Postgres driver, it is not a query builder like jOOQ. Python's equivalent would be SQLAlchemy Core.
Yep, the Spring Data CrudRepository interface based stuff is an amazing time saver. Just extend an interface, and BOOM, you've got the basic CRUD operations ready to go. And then you just use HQL in annotations for more specialized queries. Other people's mileage may vary, but I've found this to be a tremendous boon.
Just leaving this here:

Do tasks, get paid.
Join CoinCircle's Daily Competition and get a chance to win a minimum of $10 USD

Check it out:
https://coincircle.com/l/50VVxbObg3
I bought one of these as a replacement, once all of mine had died.

https://www.amazon.com/Microsoft-HDQ-00001-Classic-Intellimo...

They feel the same, but work better
I have been noticing an uptick in pro Microsoft propaganda on Hacker News. Does Microsoft seriously think developers opinions can be swayed by some lip service after almost 3 decades of abuse?
Really, I don't think that the developer is "making excuses" here. Which makes it all the more unfortunate that the letter as written sounds like excuses.

> The next question will be, "Why does it take 4.5 hours to manually test?"

I'm not sure it will. In my experience, clients are usually surprised about how long something takes not because they think specific tasks are taking too long, but because they aren't really aware of what the tasks are nor of their tradeoffs.

"You're right, it took longer than expected. I chose to spent some time setting up automated tests. That took extra time now, but will save much more time later."
> If you can compute the inner state of the RNG (and thus predict future output) by just observing the output (not through side channels), using any amount of output, then all modern symmetric crypto is broken. If you can't, then using the entropy in an RNG does not drain the entropy pool.

This seems wrong to me.

If you can predict #1 (the 256-bits of entropy in step 1), then you can break the system. This is highly likely, as Intel only assures 65-bits of entropy across two rdrand calls. (64-bits of entropy from the first call, +1 bit from the 2nd call, since RDRAND is generated from an internal random number generator. So there's going to be a correlation between the two values).

In effect, if #1 is created with four calls to RDRAND, you only have around 68-bits of entropy, which can be brute-forced faster than a true source of 256-bits of entropy. Therefore, your RNG is broken. https://software.intel.com/en-us/blogs/2012/11/17/the-differ...

RDSEED is the instruction that guarantees 64-bits of independent / multiplicative entropy, but executes slower as a result.

----------

In effect, you're "simplifying" the problem. #1, getting 256 bits of entropy, is the hard part of the problem. You cannot ignore this part of the problem.

In any case, it seems to me that a large number of people don't know how to properly use the RDRAND function, in this thread as well as in the Github thread. RDRAND has a chance of failure, AND it doesn't even hold multiplicative entropy guarantees.

So this seems like a case of EVERYONE hasn't read the docs yet. Please people, do NOT use RDRAND as a source of entropy. Use RDSEED as a source of entropy. RDRAND is only a random number generator with only 64-bits of entropy guaranteed at any given state, and probably additive entropy at that.
It's interesting to see how he went from bidenbro to Greedy Biden and a "pedophile" in only 2 weeks.

Are you folks buying this? Either way, check out Biden posts on r/conspiracy for a good laugh...
Its unclear to me if we have more or less competent people in power than in the past... but maybe its become more complex to govern, as society scales up and becomes more complex itself?
The real power of digital memories will be to trigger our human ones
This cannot work as a practical matter. If a person is killed by a robot, it is important to have a legal theory to understand some analogue to "the responsible party". Otherwise, the introduction of a "robot" in the workflow becomes a wildcard to evade torts of all sorts.
Tesla releases Q1 results: net loss of $702M, Model 3 margin at ~20%
A mysterious hacker gang is on a supply-chain hacking spree
(TimescaleDB co-founder)

TimescaleDB is more performant that you may think. We've benchmarked this extensively: eg outperforming vs InfluxDB [1] [2], vs Cassandra [3], vs Mongo [4].

We've also open-sourced the benchmarking suite so others can run these themselves and verify our results. [5]

We also beat MemSQL regularly for enterprise engagements (unfortunately can't share those results publicly).

I think the scalability of ClickHouse is quite compelling, and if you need more than 1-2M inserts a second and 100TBs of storage, then that would be one reason where I'd recommend another database over our own. But horizontal scalability is something we have been working on for nearly a year, so we expect this to be a less of an issue in the near future (will have more to share later this month).

You are correct however that TimescaleDB requires more storage than some of these other options. If storage is the most important criteria for you (ie more important than usability or performance), then again I would recommend you to one of the other databases that are more optimized for compression. However, you can get 6-8x compression by running TimescaleDB on ZFS today, and we are also currently working on additional techniques for achieving higher compression rates.

[1] https://blog.timescale.com/timescaledb-vs-influxdb-for-time-...

[2] https://blog.timescale.com/what-is-high-cardinality-how-do-t...

[3] https://blog.timescale.com/time-series-data-cassandra-vs-tim...

[4] https://blog.timescale.com/how-to-store-time-series-data-mon...

[5] https://github.com/timescale/tsbs
How about lsd? https://github.com/Peltoche/lsd
Improvements in forking, threading, and signal code on NetBSD
Henri Bergson, Celebrity
PET and PP seem to be cleaner than styrenes, ABS or PVC but best I can gather PET releases antimony when burned.
To be fair, they beat the rest of the market to optical mice by a few months, but everybody used the same third party sensor/chip.
This is impossible in my case, the source code is outdated. We do not have the source code of the project, which we run in production. The dev lost it.

I have tried working with the source code but it has many bugs and it appears to be two years out of date. This leaves us with an application only in its current state with no way of making any changes.

I may be able to extract pieces of information, reuse some stored procedures and so on.
Pamela Anderson visits 'innocent man' Julian Assange in prison
International Design in Government Day at the Code for America Summit 2019
>when I asked them about non-functional requirements, they had to ask what they were, and why they were important.

Based on my own experience with NFRs, these are perfectly reasonable questions.
I think that our love/hate for ORMs stems from the 80/20 rule.

For 80% apps/workloads/programmers, ORMs are pretty helpful (in that they save you computation time, thinking time, etc).

For 20% of cases, the ORM tends to get in the way. In these cases, the ORM doesn't prevent you from needing to know SQL, it doesn't give you performance gains, and it actively obfuscates what's "really going on". These cases make your job harder, and are what stick up in your mind when you think about ORMs.

At my place of work, we use an ORM (SQLAlchemy), but codegen the "annoying/boring" bits of ORM code (model/class specification, table/index creation). IME, it's wonderful and good – until I start wondering about how much memory this query is going to take up, 5 minutes after the client has made it. I know that SQLAlchemy probably caches things, but I have no idea how it's cache policy is set. When will my query be garbage collected? How much memory should I request for my app?

I can probably find this out by digging into the SQLAlchemy docs, but I haven't yet so uncertainty looms. TFA's "I'd much rather spend an extra bit of time typing, but this will save me time reading ORM's documentation, optimizing my queries, and most importantly debugging" rings true to me.

With raw SQL, answering these questions might be more straightforward – but I only ask these questions 20% of the time! Anyways, there's some food for thought. :)
SWIG is not always smooth to use, and you need to write interface files manually which in my experience are hard to debug. In Cppyy it looks like you don't have to do any of that.
Yeah, I know it's cockpit. I'm not sure what it brings to the table. It's already possible to lock down webmin pretty heavily if I want to trust a windows admin to do linux.
rails g model Post published_at:datetime title content:text
rails g model Comment post:references author published_at:datetime content:text
rails g model Tag name
rails g model PostTag post:references tag:references

class Post < ApplicationRecord
has_many :comments
has_many :post_tags
has_many :tags, through: :post_tags
end

class Tag < ApplicationRecord
has_many :post_tags
has_many :posts, through: :post_tags
end

from there it's just regular rails:

Tag.find_by(name: "something").posts
Post.joins(:tags).where(tags: { name: "something" })
Tag.create(name: "something")
Post.create(...)
Tag.first.posts << Post.all.sample(2)

made a little repo if people want to play with it: https://github.com/localhostdotdev/bug/tree/orm-or-not-orm
Hi. Sure thing.

First off, thank you for what you do. Microsoft is kicking ass these days and I don't want to sound like I'm unappreciative or unimpressed with what you guys are doing.

A quick example could be user authentication:

https://docs.djangoproject.com/en/2.2/topics/auth/default/
https://docs.microsoft.com/en-us/aspnet/core/security/author...

The first thing I see when scrolling down those pages is that the Django page is ~90% descriptive text and ~10% code. The ASP.NET page is the opposite: ~10% descriptive text and ~90% code.

Obviously that's not the best metric but I need to get off HN soon so that's the best I have for now :)

In any case, this could support my earlier claim: Django docs give not just the "what" – they also provide the "why", along with super useful background/supporting information, and even alternative approaches (e.g. in the "Limiting access to logged-in users" section there are at least five avenues you can choose from to meet your needs).

That was the quickest example I could find. Sorry it's not more substantive. I'll post again later if I find something that could be more helpful.

And again, I really appreciate what you guys are doing and don't mean to sound like I'm sending any negativity in your direction <3
I like the Django ORM. This is likely for two reasons:

1. I only use Django for small use cases where I rarely see any sort of scope creep. There was no real conscious decision about this, just kind of the way it happens.

2. The Django ORM is fairly mature and makes it quite easy to get a small project out the door.

I regularly use SQL directly at work and wouldn't want to try to replace any of it with an ORM even on new projects because we are all just used to working with it and we wouldn't want to add any complexity to our workflow without real, tangible benefits.

I would not, however, be opposed to working on a larger Django project (ORM and all) if the opportunity presented itself.
libx264 (which is the H.264 software encoder everyone uses) has a mode optimized for zero latency (--tune zerolatency).
Yup! I just tested it, and Terminal displayed my utf8 correctly in neovim, while it was broken (OEM447 or whatever) in cmd.exe