frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

As Europe eyes move from US hyperscalers, IONOS dismisses scaleability worries

https://www.theregister.com/2025/06/06/ionos_dismisses_scalability_worries_interview/
1•rntn•1m ago•0 comments

Show HN: Exercode – A macOS Client for Exercism

https://apps.apple.com/ke/app/exercode/id6477780023?mt=12
1•medeem•3m ago•0 comments

I built a retro hacker game. It's free. Feedback?

https://blacklight.dev/
1•rodthompson•3m ago•0 comments

Datacenter GPU service life can be surprisingly short – only 1-3 years

https://www.tomshardware.com/pc-components/gpus/datacenter-gpu-service-life-can-be-surprisingly-short-only-one-to-three-years-is-expected-according-to-unnamed-google-architect
1•nabla9•5m ago•0 comments

A Systematic Approach to Synthesized Hard Negative Keyword Spotting Examples

https://arxiv.org/abs/2505.14814
1•PaulHoule•5m ago•0 comments

AI Does $58k of Engineering Work for $15, but Enterprises Can't Use It

https://softwarecentury.com/blog/architecture
1•sdan•5m ago•0 comments

The GPU Cloud ClusterMAX Rating System – How to Rent GPUs

https://semianalysis.com/2025/03/26/the-gpu-cloud-clustermax-rating-system-how-to-rent-gpus/
1•MasterScrat•6m ago•0 comments

Infisical Raises $16M Series A Led by Elad GIL

https://infisical.com/blog/series-a
2•gpi•7m ago•0 comments

Buttondown's email subscription spam firewall

https://docs.buttondown.com/firewall
2•bjhess•7m ago•0 comments

1050 downloads in 5 days: Building a Sudoku solver in Rust

https://github.com/huangsam/rustoku
1•sambyte•7m ago•1 comments

Watermarking Degrades Alignment in Language Models (ICLR GenAI Workshop 2025)

https://huggingface.co/papers/2506.04462
1•dapurv5•7m ago•1 comments

True significant trends in global greening – ScienceDirect

https://www.sciencedirect.com/science/article/pii/S2352938524002416
1•bilsbie•9m ago•0 comments

uv Package Manager Quirks a Year into Adoption

https://plotly.com/blog/uv-python-package-manager-quirks/
1•robertclaus•11m ago•0 comments

An Interactive Guide to Rate Limiting

https://blog.sagyamthapa.com.np/interactive-guide-to-rate-limiting
6•sagyam•12m ago•0 comments

Show HN: I Built an Agent That Writes Fresh Newsletters for Any Topic

1•Arindam1729•13m ago•0 comments

Discord Can Make Money

https://arstechnica.com/gadgets/2025/06/discord-cto-says-hes-constantly-bringing-up-enshittification-during-meetings/
2•ambyra•13m ago•1 comments

Play an Endless Bubble Wrap Pop Game

https://bubble-pop.oinam.com
2•Brajeshwar•14m ago•0 comments

Scientists Dig Up a 150M-Year-Old Dinosaur Skull in Spain

https://studyfinds.org/150-million-year-old-dinosaur-skull/
2•Brajeshwar•14m ago•0 comments

Worm-inspired treatments inch toward the clinic

https://knowablemagazine.org/content/article/health-disease/2025/worm-inspired-treatments-inch-toward-clinic
1•Brajeshwar•15m ago•0 comments

Show HN: An open-source browser extension that integrates difftastic into GitHub

https://andersonaddo.github.io/amadiff/
2•WiggleGuy•16m ago•0 comments

Sharing everything I could understand about gradient noise

https://blog.pkh.me/p/42-sharing-everything-i-could-understand-about-gradient-noise.html
1•ux•17m ago•0 comments

Exploring AI Integrations with Adobe Photoshop, InDesign and Premiere Pro

https://www.mikechambers.com/blog/post/2025-06-06-exploring-ai-integration-with-adobe-photoshop-indesign-and-premiere-pro/
3•mesh•18m ago•0 comments

Rare Viking Gold Arm-Ring Discovered on Isle of Man

https://allthathistory.com/archaeology-discoveries/viking-gold-arm-ring-isle-of-man/2711/
2•speckx•21m ago•0 comments

Global Greening from Higher CO2 Hits "Striking" New Heights – Modernity

https://modernity.news/2025/06/06/global-greening-from-higher-co2-hits-striking-new-heights/
2•bilsbie•22m ago•0 comments

Ask HN: Should I build a directory product?

3•alizaid•24m ago•2 comments

History and Disposition

https://v5.chriskrycho.com/notes/history-and-disposition/
1•mooreds•24m ago•0 comments

Should You "Rent" an Exec for Your Startup? A Fractional COO Weighs In

https://review.firstround.com/fractional-exec-hiring-guide/
1•mooreds•24m ago•0 comments

Miami's Drinking Water Is Threatened by a Florida Nuclear Plant

https://www.bloomberg.com/news/features/2025-06-05/bankrupt-upper-west-side-private-school-s-bold-growth-plan-sowed-its-demise
2•gametorch•31m ago•4 comments

The Computer Revolution of the 80s Told by a Pioneer: Lee Felsenstein [video]

https://www.youtube.com/watch?v=rASMe9FDjbg
3•ohjeez•34m ago•0 comments

Generative AI runs on gambling addiction – just one more prompt, bro

https://pivot-to-ai.com/2025/06/05/generative-ai-runs-on-gambling-addiction-just-one-more-prompt-bro/
1•khold_stare•34m ago•0 comments
Open in hackernews

Ask HN: I don't understand what problems ORMs solve

3•iondodon•1d ago
I don't understand what problems ORMs solve. Can you please help me understand? Why do they exist?

Comments

gjvc•1d ago
the clue's in the name. Some people thought you could map the fields of objects to the fields of a relation (aka columns in a table) in a database. This approach has had mixed success.
iondodon•1d ago
Are they better than writing raw SQL?
elros•1d ago
In software engineering there's rarely an objective way to answer "better" or "worse", it's more often a question of trade-offs.

An ORM is the choice to trade some performance and a little complexity in exchange for some convenience.

This is of course a simplification, there are other aspects to be considered.

Personally, it seems to me that this is a trade-off which is often valuable.

That being said, it's not necessarily the case that by using an ORM you are not using SQL. There are ORMs that offer you a way to abstract away SQL, others take a mixed approach where you use SQL to define structure and migrations, but use the ORM to manipulate data, for example.

What's more, each ORM has a slightly different set of features, depending on what their authors thought would be better. There's no universal "correct" way to build an ORM.

In some situations the loss of control you get when using an ORM is not worth it, because one could write better queries by hand. In other situations it might lend itself. Also different people will have different experiences and a different skillset, which also leads to different decisions.

It's all about what makes your life easier in terms of building maintainable software in the specific situation you find yourself in.

gjvc•1d ago
see also https://blog.codinghorror.com/object-relational-mapping-is-t...

which is commentary on the original source:

https://web.archive.org/web/20220823105749/http://blogs.tedn...

elros•1d ago
When storing data, particularly when stored in a relational model, it's quite often better to make sure the data is properly normalized[0]. However, normalized data in the way that suits the data model might not be the more convenient way to operate on it from the perspective of your domain logic.

Additionally, the data types in your data model are limited by what your data layer supports, but on the domain side you might want to have richer data types.

ORMs make it easier to obtain the data in a shape and in types that are useful to you from a domain model perspective, while still storing the data in a way that's useful for the database side of things.

Example 1:

I want to store Users which have a `name` and `date_of_birth` property in a table. However, when operating on that object in the domain side, I might want to have instances of a User class which might expose a method such as `isOfLegalAge()`, which would let me know whether that user is old enough to, let's say, sign a mortgage contract.

A ORM makes it easier for me to get back an instance of a User class (which can have useful methods), instead of having to operate on a database row structure, which would give me strictly data.

Example 2:

A given Product, which has a `name` and a `price`, might be supplied by a Supplier, which has a `name` and an `location`. When fetching a user from a database, I might want to have an object in a shape such as:

  Product {
     name: string
     price: number
     supplier: {
        name: string
        location: {
           city: string
           country: string
        }
     }
  }
However when I store it, a Product would have a reference to a `supplier_id`, which points to a row in the Supplier table. The supplier's location's city and country would be a city_id and country_id, each of which referencing a row in a City table and a Country table.

So from a data model representation it might look more like this:

  Product {
     id: number
     name: string
     supplier_id: number
  }

  Supplier {
     id: number
     name: string
     location_id: number
  }

  Location {
     id: number
     city_id: number
     country_id: number
  }

  City {
     id: number
     name: string
  }

  Country {
     id: number
     name: string
  }
The ORM would map between these two representations.

[0] https://en.wikipedia.org/wiki/Database_normalization

radonek•1d ago
ORM is not as much solution to a problem as it is way of doing things. Certain kind of programmers observe that SELECT is kinda like getter, UPDATE is like setter and so on… It looks like cool abstraction, relatively straightforward to implement and most people working with databases toy with their own ORM code, have fun and thinks themselves very clever. Think of it as a rite of passage if you will.

…until they try to do JOIN. Or subselect. Or CTE. Or just about any other powerful SQL feature. Materialized views, triggers, sharding, atomic operations, you name it. At which point ones who are actually clever realize this idea has some serious limitations and drop it. Not because it can't be done – there are some nifty and well working ORMS out there – but because its bound to end just as complicated as sql itself. So why bother?

IMO main reason for existence of the ORM libraries is because back in the day, true object databases failed to take off for various reasons.

iondodon•1d ago
Thank you everyone!