skysight-inc/HackerNews huggingface dataset:
This thread demonstrates that ORM is still (one of several of?) our field's Vietnam war... http://blogs.tedneward.com/post/the-vietnam-of-computer-scie...

On top of the data/frameworks issue there's the one of data locality. Frameworks make the tradeoff decisions for you, but not always the right ones since the right tradeoffs are application-dependent. In one context using a cluster of commodity machines that do a mix of compute for your service and store and shuffle data around is a good idea. In another context a few beefy servers with the beef divided up between the app servers and database servers depending on where most of the compute most efficiently takes place is a better idea. (Though even with poor performance design, hardware is still good enough that a lot of things run just fine by having multiple services on one modest machine. That doesn't stop lots of programmers from reaching for frameworks that demand easily scaleable multi-machine systems even when there's no need and won't ever be need.)

In any case consistency matters: SQL strings are just one form of shipping code to the data to compute remotely instead of retrieving the data and computing locally. When you bring in an ORM, inconsistency is bound to follow with lots of computation that could have been in a query or stored procedure now living in the ORM framework and the application itself.

I can at least understand many people's annoyance with stored procedures though. Most DBs procedural extension languages suck badly enough that shipping JavaScript strings over to NoSQL stores can seem like a big improvement, and various levels of SQL standard conformance is all you typically get to use from the broader design pool of declarative languages.
Why not mxnet[1]? Or even better, Gluon[2]?

[1]: http://mxnet.incubator.apache.org

[2]: https://gluon.mxnet.io
Hnefatafl (and possibly other, similar games) inspired a fictional game played in Terry Pratchett's Discworld novels, Going Postal and Thud!. From wikipedia:

The game, supposedly called in Dwarfish "Hnaflbaflwhiflsnifltafl" (a reference to the Viking game Hnefatafl which it resembles), represents the famous "Battle of Koom Valley" between dwarfs and trolls.

The game was first directly referenced in Going Postal, being played by Vetinari, and became a central concept in the immediate sequel Thud!. (...)

Terry Pratchett devised a fictional history of how Thud was invented similar to the Shahnama theory of the origins of chess. In short, the clever dwarf who invented the game was asked by his king to name his reward. The answer was that he wanted his board filled with gold: One small gold piece on the first square, two pieces on the second, four pieces on the third, etc. Needless to say, this is more than all the gold of the Disc combined. The king then got angry and threatened to kill the dwarf who was 'too drhg'hgin clever by half'. The inventor then hastily changed his reward to 'as much gold as he could carry', whereupon the king agreed and simply broke one of his arms.

https://en.wikipedia.org/wiki/Games_of_the_Discworld#Thud
Depends on the ORM. SQLAchemy will let you write any query via the ORM
Don't know much about Doctrine2, but that sounds pretty terrible. I'm sorry you are forced to work with something so inefficient.

I've been building apps with Django and Django's ORM for the last 10 years and found essentially zero overhead in most cases. Every once in a while there's a slow page, I open up the debug toolbar which shows me every SQL query that was used to generate the page in a nice waterfall diagram, I see something a little odd and change the order of some filters or add a `select_related`, or `prefetch_related` or discover that some third party library is making a dumb call (unavoidable problem of using third party libraries on any platform) and find a workaround for that. Every once in a blue moon, it appears easier to write a raw SQL statement than figure out what needs to be done to get the ORM to generate it, so I do that. Of course, Django's ORM makes it stupid easy to use a raw SQL statement: https://docs.djangoproject.com/en/2.0/topics/db/sql/

I've worked with a few other ORMs in Python and other languages over the years as well (in Go, Erlang, Elixir, Clojure, nodejs) and never really encountered any where the ORM had a noticeable performance overhead (dominated by the network latency back and forth from the database) and I've yet to work with one that I couldn't just do a raw query when needed. The closest I've seen is when I started using GORM in Go, I found it running slowly and discovered that it automatically adds a "soft delete" functionality so every query gets an additional "and not is_deleted" clause added. Disabled that feature and it was fine. That was my own fault though for starting to build before I finished reading the documentation, as it was pretty clearly explained in a later section. (OK, also the ORMs I was using in Perl and Java back in the late 90's/early 00's were also pretty terrible, but those were prehistoric times.)

You always have to be careful of N+1 problems, but that's not just an ORM thing. You run into that as soon as you have any abstraction in your code. Once you have refactored to `get_list_of_items(some criteria)` and `get_item_details(item)` functions/methods/whatever, whether it is using an ORM underneath or raw SQL, developers working on the app have to know that they can't loop over the results of the first and call the second on each of them. Tradeoffs between reusability and performance are nothing new though and not at all specific to web applications or ORMs.
Technically no, not exactly. It’s intel’s fault. Their damn architectures won’t support DDR4LP - that’s the low power variant - because they’ve become complacent. Also the lack of PCIe lanes forced Apples’s hand on USBc only design, although it’s such a daft choice they should’ve just gone with 2 TB ports and keep the other “legacy” available. But no, they had to brag about dual 4K external monitors to it had to be 4 USBc ports and nothing else.

I’m seriously worried that the platform I’ve been so comfortable with the past 10 years will fall in disrepair because of some ill-advised management that chose to chase some other innovation...

It’s another problem I don’t need
Is that what you got from the article? Or you're the guy that knows the names of all he latest tools but understands the underlying concept of none and comments this making HN a waste of time to actually learn anything.
Which is the best institute for doing website development Delhi NCR
Looks like about a factor of 8 in 38 years (1980-2018). What is the total inflation over the same years? The best source I could find said a factor of 3.18. And what is the inflation-adjusted GDP growth in the same years? The best number I could find is a factor of 2.66. And if you multiply those two numbers, you get 8.4588. That is, the increase in money supply is (unsurprisingly) showing up as real GDP growth and inflation.

You could argue that, with less money supply growth, we'd have less inflation. But that works out to 3% inflation a year, which is... not much.
This is not just aesthetics, this is design, which Apple is built on
For full correctness, it should be "... anything by Steven Pinker, especially..."
Pyhrric victory. In so winning, the capital class makes overthrow and revolution impossible to avoid. The threshold point goes ever higher, and by the time you're putting the screws to the borgeouisie and formerly comfortable middle class people it's too late: you're trying to exclude those who have enough power and leisure time to effectively mobilize against you.

'Totally won' means there's nowhere to go but down.
Thanks. I do the same - good to know i'm not the only one!
There is a XPS Developer Edition with Linux instead of Microsoft. I'm personally stuck with Win 7. Will never update to Win 10 and OSX does not seem to be a good choice nowadays. That means Linux will make the run the next years, hopefully.
And receive email relayed via smtp servers - others don't have to connect directly to gmail/Google to send you mail. (modulus aggressive spam filters).
What's up with that last sentence? So someone couldn't handle dealing with 1M USD and somehow the company that gave it owes them anything? They even had the option for annuity?
Affecting how businesses choose to conduct themselves so that they may continue to access the Chinese market? Sure! Impacting the sovereignty of other countries? What a ridiculous statement..

Companies have always catered to the major markets. That's how California fuel standards have become the US benchmark, or why Texas school boards in effect control national teaching materials and school books in the US. Companies also have a history of being used as political tools, willingly or not. The only reason we're suddenly seeing outrage is because the one wielding these tools is China, not the US. That's not to say I support any of the shit China's pulling.. But Australia, Austria or whomever still retain their sovereignty and freedom to set whatever rules they want within their borders. Companies can comply if they wish to do business there.
At same boat as you, and just have migrated all my activities to Windows on 64 Gb Core i7 8 gen CPU desktop. It's a real booster for my day to day work.

I love and miss the aesthetics of macOS and Magic Mouse swipes. However let's face it, Apple alone cannot stand the pace. It just cannot compete with hordes of companies from all over the world who do their part of job really really good. Gigabyte, ASUS, Samsung, Intel, Crucial, NVidia, AMD, Dell to name a few plus many other small and big suppliers vs Apple Goliath. Battle result is predetermined by the forces of nature. Apple gonna lose in the long run.
Building with NativeScript: A startup's early production notes
Matt Godbolt: Why C++ Isn’t Dead
> With prefetching my understanding (from what's been written publically) is that content will be allowed to be hosted on your own domain. Ie, your domain in the address bar. Are you saying otherwise?

No. As I said, you can host it where you want. You can visit that domain and see your content. But Google are still going to rehost your content on their own server and direct their users to their copy, on their domain.

> You think it causes an 8 second delay. It doesn't.

Apologies, I assumed you'd have some understanding of frontend technologies when I posted the code above, so I'll explain how it works:

- you have an inline CSS snippet that hides all page content for 8s (there is no reason for this). This is executed immediately.

- you then have your amp.js file, pulled from Google's server, which should download and parse relatively fast (especially if you've put the script tag in the document head, as is recommended)

- once amp.js is loaded and is parsed, it enables some further inline CSS which overrides the first inline CSS snippet, unhiding all page content instantaneously

As I said above, the 8s delay is for non-AMP users; anyone not loading the amp.js resource from Google's servers, or anyone for whom the resource fails to load for any reason.
Article timeouts.
It is the developer, but ORMs are so controversial in part because they often obscure that you're doing something crazily ineffective in ways that makes developers that don't understand the abstraction fail to see that they're doing something obviously wrong.

It's more stark that you're doing something crazy if you do a SELECT, instantiate objects from each returned row, then apply a filtering rule to that object, than if you're "just" operating on something that looks just like it's all local. Both to you, and to people reviewing your code.

I prefer working with an ORM, but it does take discipline to use an ORM properly; to make sure you know and use the facilities for building queries that return only the rows you want, and instantiate objects with only the columns you need.

I tend to agree with you that it will only be resolved by knowledge and competence, and throwing out ORMs won't solve that. But I also understand the frustration at how many ORM users basically seem to use it as a means to let them pretend there's no database server there, rather than as a tool to generate queries more easily.
Ask HN: What should we consider when moving to a service mesh architecture?
I work for a company that's been looking at moving to a service mesh style architecture. They run a few dozen micro-services which are currently Dockerized and deployed on an ECS cluster.

We are considering moving to Kubernetes, as ECS has a lot of limitations in the deployment/resiliency area that come more or less standard with Kube. As part of this move we are looking at using a service mesh to enable easier cross region routing on AWS and more dynamic load on various clusters.

We were looking into Linkerd as a possible solution, but just noticed that Consul latest release has a service mesh feature now. So for those who've run a service mesh before, what sort of things should I be considering as we evaluate our options? Pros/Cons of specific tools, or service mesh in general are welcome.
(Another author here).
It is explicitly explained in the text. :)

tl;dr: not nearly as popular (which means: less tutorials, less documentation, less examples, less integration with other systems, less community support for development or discussions)

Sure, all frameworks do have some goal and once one is confident in DL, may be a good choice. As you see from the plots there - MXNet is very fast for some applications.
There's nothing wrong with full stack. A full stacker can be better at frontend than a pure frontend developer. It all depends who you are talking about. But it's most likely not the case because those frontenders only have to learn frontend. They just play on easy-mode and then you have people like OP who are suprised they are ahead in the game.
They should have kept the "Pro" line as the sturdier, thicker model for people who do not want compromises. It's a real design failure.
I'm always impressed with how Japan handles recycling, despite being a heavy plastic user and producer. Last figure I read was 70% of all plastic recycled.
Note that Thud! is a real-world version of the game, that is never precisely described in the books. Er, as far as I remember :)
Sure. Do you have experience using 'auto'? I'm asking because I once thought exactly like you, but changed my mind after a few years of real-world experience. But of course, YMMV.
What happened to Coach? I seem to have missed that news, and from what I saw in NYC they are currently moving into extremely expensive real estate so I thought they were doing rather well?
Hmm, for a software architecture, I'd say to break codes into their appropriate parts/layers, DB models/schema.

For a solution architecture, I'd say to orchestrate pieces of different software, how to integrate them, how they communicate with each other, and how to deploy them as a whole.

I would love to hear answers for that question too.
> sorry, i want neither of these in my laptop. i want it to be lightweight, small, solid and durable body without moving parts or too many holes.

Thinkpad T480s weights about the same as the current MBP, has more useful ports (I find having hdmi, ethernet and older usb handy on a device I use in my work trips), good keyboard, replaceable hardware and whatnot. It is bigger, but Lenovo makes smaller Thinkpads too. Subjectively, I find it more robust than my MBP at work, but that's not the point.

The point is, the sacrifices Apple makes on their current Macbook Pros are simply design choices, not engineering tradeoffs.
Do you mean worse?
Do this (point 1) properly and ~80% of your "speed" problems are solved, for a simple web-app-db tiered app.
It seems to be a HN hug of death.

Though, as I see - it loads, though sometimes with a considerable delays (5-10 sec).
It's been great, just stay away from the new Thinkpad X1 Carbon 6th generation, Linux support is poor with lots of things that needs fixing.

But 5th generation had a smooth linux experience, I bet the same goes for most other laptops. I'm hoping 6th gen will be fixed in 6-12 months with newer kernels, etc. But at the moment it's quite broken.
> There’s more to lifelong financial planning than “can I afford house payments?”.

Being that the most expensive purchase one is going to make over their lifetime, while yes, there is more to that, it is an important factor.

Especially as not affording them can have a significant impact in quality of life.
All the ORMs I have used can easily do the equivalent of this

select count(*) from cars where condition;

If programmers are doing what you say that they are then the programmers are the problem not the library.

Furthermore most ORMs (certainly any that I would consider using!) allow escaped SQL to be used - and if the query gets much more complicated than a couple of where clauses I consider using this feature.

A decent ORM used well allows programmers to program faster on the simple stuff but still write fast code for the complex stuff.
Freedom Retractable Insect Screens at Oryx in UAE
What a stupid comment. Your point has absolutely nothing to do with ORMs and only shows your utter inexperience with them.

You could replace everything you said with using SQL directly and just doing a select * from cars
Building the GOV.UK of the future
I'm more troubled by spectrum "auctions" than by anything else. If it were up to me, I'd dig up the bones of whoever was in charge of this asinine decision and have them hanged, quartered, and drawn. Then, I would nullify existing contracts and return all their money.

There has to be a better way than to grant a single company monopoly over the spectrum slice for a market.
Feeling bore? play a game with friend..no ad no distrub
The 2015 MBP is still available, though not that obviously:
https://www.apple.com/macbook-pro/specs-2015/
> I don't believe in Specialized front/backend development when it relates to web development.

Do you really expect a backend java developer to be comfortable with angular/react and vice a versa?
Yeah right. They'll find a way to sell it while claiming they don't share it.
Not sure why you were downvoted. I feel the same way. People might be going boo-hoo ... but they don't understand the point you are making. I presume you have a high paying job in a very expensive area. If you moved to a cheaper area, the job would either not be available or be at a much, much lower pay. Also, you probably pay 40+% of your income in taxes.

Just because I get a high software salary now, I have no confidence this will be the case 3-5 years from now. I feel the same.
It's a strange world when stating the obvious is seen as an extreme position worthy of lynching.

There is no need for cherry picking. The scientific evidence that men and women have different interests and that those interests become more pronounced as the society becomes more egalitarian is overwhelming.

Why Can’t a Man Be More Like a Woman? Sex Differences in Big Five Personality Traits Across 55 Cultures http://www.bradley.edu/dotAsset/165918.pdf

This seminal paper has been cited over 3000 times and the findings have been replicated by numerous researches.

The blue church dogma that female underrepresentation in tech is due to oppression is not supported by the evidence.

James Damore should not have been lynched.
He is owed a sincere apology.
"Before I joined Microsoft, I was a mathematician working in computational graph theory. I spent years thinking about graphs every day, so it was a habit that was hard to break. "

As a former BitKeeper developer, this is a key person for Microsoft to have on hand to improve git. BitKeeper got about 10X faster after it was used on the Linux kernel and many of the key performance wins were due to better graph traversal algorithms. Rick was a wizard at that sort of thing. The other was memory layout optimizations and caching. (my contribution)

So Rick made sure we walked the graph as little as necessary and I made sure the graph had an extremely compact representation containing as little information as possible and then once a target commit is found it is looked up in another store.

However, this quote was disturbing. "There are a few Git features that don’t work well with the commit-graph, such as shallow clones, replace-objects, and commit grafts. If you never use any of those features, then you should have no problems!" The joy of not having to write commercial software! Reading between the lines it appears they changed the default output order for 'git log' or some internal API and then didn't bother to fix the cases that depending on the old order.
Not that again. ORMs achieve one main thing: being able to map your app’s objects to a relational database and back.

But there are tons of other benefits:

1) Avoid all injection attacks by default by binding variables rather than interpolating their vakues

2) Write SQL code for you to automatically, so you always have balanced parentheses and no typos or errors mixing statements

3) Autogenerate classes and methods from the SQL model automatically so there is a place where you can add custom methods on objects

4) Model fields and relationships in a way the app can understand, so you can make meaningful error checks and manipulations in the app instead of relying on the database engine to give you a nice error message or manually copying the data type logic.

5) Play nice with version control, making sure to encapsulate the code in ONE PLACE instead of a million places when the schema or model changes.

6) Pissing people off on HN so we can better discuss and explain principles of architecting good softeare while talking anout the benefits of ORM

7) Let you write an adapter to move to eg a graph database which is far faster.

8) In fact, just making you avoid doing joins in the database by default is already a feature as you can make your app far more scalable w sharding and possibly think about making it byzantine fault tolerant and distributed!

See for example this:

https://qbix.com/platform/guide/database

https://qbix.com/platform/guide/models
Is there any (succinct, easy-to-understand) research on the lifecycle/birth & death/power & influence of these entities? This seems a major point to be aware of, which is not taught anywhere in school/college.
Python 3.7’s new builtin breakpoint – a quick tour
Excellent points, I think the whole point of SCRUM planning is to get estimations correctly and it is not as easy reading few articles on it. Hence involving a scrum-master is highly recommended who is usually a person like mikekchar who has done it multiple times atleast.
With an add on Django even displays them in the browser!
If Apple released a new phone or laptop this September and specifically marketed it as being better built and longer lasting (and therefore thicker and heavier), I'd buy it. Am I the only one?
Why is giving up a better keyword and battery worth the few ounces? How is that more comfortable overall? Do you hold it with one hand more often than you type on it?
Well, the XPS13 has had its share of keyboard problems too:

https://www.dell.com/community/XPS/XPS-13-9370-Keyboard-Skip...

It took months for a BIOS release to make the keyboard workable.

Now if only they could get the webcam to work..
Within a nation this is a very good argument for taxation and wealth redistribution. You have to give those kids born to poorer parents a chance. It's better for them, it's better for you, it's better for everyone.

It's also what Gates is kind of doing - redistributing his wealth to help the people who most need it.
Macbooks are a joke. If you ignore the CPU upgrades how exactly is the new Macbook Pros any better than the 2015 one? I would argue they are actually worse in many regards
Historically they just keep replacing old broken hardware with new/reworked broken hardware. Reworking includes reheating GPUs (!), or putting rubber shims(!) over vulnerable BGA chips with cracked solder joints.
Come [to Bitcoin] for the Price, Stay for the Education