753 karma · joined November 10, 2020
Mainly working with Databases and the Web.
Contact: contact-hn (at) hartenfeller.dev
[0]: https://www.theverge.com/2020/11/2/21545958/spotify-artist-t...
Nonetheless, are Valve, Steam and SteamDeck the only reasons I spend money on games. Where other publishers just provide a storefront for their own games, Steam builds a customer-pleasing platform where, unlike Apple, you have the choice to go to another store. Additionally, their recommendation systems encourage people to buy niche/indie games and not only the most expensive AAA titles.
Also why should they not respect the 403? Crawlers just go to anything they can find. It is not a targeted attack.
With these and the new vector features, their multimodel approach is paying off, in my opinion. Their JSON storage format (OSON [3]) is also very fast and efficient.
[1] https://oracle-base.com/articles/23c/json-relational-duality... [2] https://oracle-base.com/articles/23c/sql-property-graphs-and... [3] https://blogs.oracle.com/database/post/autonomous-json-datab...
So this ORM positively surprised me, as you can still just use SQL and get a JS function generated from it.
To bridge object-to-relational mapping, Oracle has an interesting concept called "JSON duality views". Don't dismiss it because it is Oracle, I think the concept is brilliant. The translation from relational to JSON happens in the database, and it also allows you to send an updated JSON back and the DB will automatically run the necessary DML operations. A good example is here: https://oracle-base.com/articles/23c/json-relational-duality...
It is somewhat tricky to build such an infrastructure and differs from "traditional" backend software, but it is what it is with Databases that heavily rely on state. The benefit is that you save a lot of bandwidth when you process the data on the machine where they live, and the architecture of the IT landscape is way simpler.
And what about people judging the app on the first look? Good design can interest people in checking out what the site is actually about in the first place.
Apple should allow other browser engines, and these should be able to leverage the OS capabilities comparable OSes are giving to their browsers.
I think many mix bad websites with "PWA is a bad technology". All the cookie banners, ads and prompts to install the native app are the reason the experience is worse.
What could a native app for Wikipedia, Google or a basic news pages (without ads) do better? I use the Twitter PWA for years as it saves battery and offers the same experience. Maybe animations are not as smooth but most people won't even notice that. I also rather use YouTube in Firefox mobile so I can use uBlock even though the app offers more features and generally more ambition. For hardware heavy use cases native apps are obviously better.
Also when companies push people to install the native apps for quick access, push notifications and better data collection you can't take customer usage as a metric for people's taste.
Debugging: Extensive logging to tables [0]. Also we have dev, test and prod databases.
Versioning: Git. It's just source code that gets compiled in the db.
Deployment: Upgrade SQL scripts. You already have to do this on any relational DB if you need to alter existing tables. We just also deploy new/updated packages. We trigger them via pipelines.
Also keep in mind that the logic you deploy in the database is generally not as complex as other software as you mostly just query, modify and write highly structured data.
But we still run plenty of tests. There is a great unit testing tool for Oracle: utPLSQL [1]. We also spin up databases and run the installation and upgrade scripts on pull-requests.
[0] https://github.com/OraOpenSource/Logger [1] https://github.com/utPLSQL/utPLSQL
> No single data model can support all use cases. This is a major reason why so many different databases exist with differing data models. So it’s common for companies to use multiple databases in order to handle their varying use cases.
I hate that this is a common way of communicating this nowadays. Relational has been the mother of all data models for decades. In my opinion, you need a good reason to use something different. And this is also not an XOR. In the relational world, you can do K/V tables, store and query documents, and use graph functions for some DBs. And relational has so many safety tools to enforce data quality (e.g. ref. integrity, constraints, transactions, and unique keys). Data quality is always important in the long run.
> Every programmer using relational databases eventually runs into the normalization versus denormalization problem. [...] Oftentimes, that extra work is so much you’re forced to denormalize the database to improve performance.
I was never forced to denormalize something. Almost always, poor SQL queries are a problem. I guess this can be true for web hyperscalers, but these are exceptions.
It is great that the government protects consumers. Otherwise, everyone would need to spend hours researching everything before making a rare purchase.
As a database person, I dislike reading this. I understand their need and priority to keep things running. But I would have loved it if they emphasized that doing something like this has so many disadvantages.
Normalization, referential integrity and a powerful query language bring so many benefits. I see young people oftentimes seeing relational vs. NoSQL as two totally valid opinions, like Coke vs. Pepsi. And not as one thing runs the world for decades and is perfect for >90% of use cases, and the other one is for niche cases and fast hyper-scalers.
I hate where "web scale" has brought us. Because some 0.01% of giants have tremendous scalability problems, every small project needs an overly complicated architecture that consists of layers of services. In the end, nobody understands the monster, and the complexity brings more issues than it solves. But still, this is somehow a standard today.
I have a lot of love for static HTML sites or simple backend/frontend solutions. The web is great, but current development trends are not.
OLED version: 6 nm AMD APU CPU: Zen 2 4c/8t, 2.4-3.5GHz (up to 448 GFlops FP32) GPU: 8 RDNA 2 CUs, 1.6GHz (1.6 TFlops FP32) APU power: 4-15W
LCD (old) version: 7 nm AMD APU CPU: Zen 2 4c/8t, 2.4-3.5GHz (up to 448 GFlops FP32) GPU: 8 RDNA 2 CUs, 1.0-1.6GHz (up to 1.6 TFlops FP32) APU power: 4-15W
Of course SQLite has limits but it takes a lot of complexity or concurrent users to come close to them.