How normal can you get?
-
@Gustav said in :trollybus: out of Context:
@Zecc good one. It hits close because I'm one of the few people in the world who used 6th normal form in production. AND I LOVED EVERY SECOND OF IT.
...
6th normal form is the opposite of common sense, and because of it you can do some really cool stuff on the backend with it. Basically, every table is allowed at most one non-PK column.So many questions!
- How many tables did the typical object end up using?
- What sort of domain was this?
- What kinds of "cool stuff" did this enable for you?
-
I do this with instance fields. A (mutable) class Foo with fields bar, baz, quux, ends up inheriting from 9 interfaces, 6 of them functional interfaces. If bar, baz, quux occur beyond Foo, or may, then that'd be another interface or 3.
-
@Gribnit said in How normal can you get?:
I do this with instance fields. A (mutable) class Foo with fields bar, baz, quux, ends up inheriting from 9 interfaces, 6 of them functional interfaces. If bar, baz, quux occur beyond Foo, or may, then that'd be another interface or 3.
Sounds NORML to me.
-
@Gribnit said in How normal can you get?:
I do this with instance fields. A (mutable) class Foo with fields bar, baz, quux, ends up inheriting from 9 interfaces, 6 of them functional interfaces. If bar, baz, quux occur beyond Foo, or may, then that'd be another interface or 3.
Between this and your comments on osgi... A few things make more sense.
-
@DogsB said in How normal can you get?:
osgi
-
@LaoC said in How normal can you get?:
@Gribnit said in How normal can you get?:
I do this with instance fields. A (mutable) class Foo with fields bar, baz, quux, ends up inheriting from 9 interfaces, 6 of them functional interfaces. If bar, baz, quux occur beyond Foo, or may, then that'd be another interface or 3.
Sounds NORML to me.
Crosscutting business rules tend to occur at the field level. The cool stuff is consistent full and partial copiers, plus the application-specific actual support of per-field expectations.
-
With Gram-Schmidt, you can even get orthonormal and not just normal.
-
@cvi said in How normal can you get?:
With Gram-Schmidt, you can get even get orthonormal and not just normal.
I find cross products far easier to work with, but then, that’s just for 3D.
However, how that relates to 3.5NF or other shit like that, you’d have to ask somebody who knows what that actually means.
-
@topspin said in How normal can you get?:
However, how that relates to 3.5NF or other shit like that, you’d have to ask somebody who knows what that actually means.
Yeah, but I figure that an orthonormal form would be better than just a normal form regardless.
-
@boomzilla said in How normal can you get?:
@Gustav said in :trollybus: out of Context:
6th normal form is the opposite of common sense, and because of it you can do some really cool stuff on the backend with it. Basically, every table is allowed at most one non-PK column.
So many questions!
- How many tables did the typical object end up using?
- What sort of domain was this?
- What kinds of "cool stuff" did this enable for you?
Sounds like it is reinventing EAV data stores but with more tables. You can do that if you want, but it seems overkill to me...
I've seen "cool stuff" done with this sort of thing, but people tend to get scared when I show what I can do with it (mostly involving complicated transitive closures of relations and rather larger datasets than their demo toys). But how else would you handle a few million datapoints? You sure aren't doing it by hand...
-
@dkf yeah, but column DBs have their place. It's just not where I am.
-
@dkf said in How normal can you get?:
@boomzilla said in How normal can you get?:
@Gustav said in :trollybus: out of Context:
6th normal form is the opposite of common sense, and because of it you can do some really cool stuff on the backend with it. Basically, every table is allowed at most one non-PK column.
So many questions!
- How many tables did the typical object end up using?
- What sort of domain was this?
- What kinds of "cool stuff" did this enable for you?
Sounds like it is reinventing EAV data stores but with more tables. You can do that if you want, but it seems overkill to me...
I've seen "cool stuff" done with this sort of thing, but people tend to get scared when I show what I can do with it (mostly involving complicated transitive closures of relations and rather larger datasets than their demo toys). But how else would you handle a few million datapoints? You sure aren't doing it by hand...
Everyone knows that computer engineering stops after the five test cases you put it through in development. Ain't got no time to scale up beyond that, your next framework won't write itself!
-
@dkf said in How normal can you get?:
@boomzilla said in How normal can you get?:
@Gustav said in :trollybus: out of Context:
6th normal form is the opposite of common sense, and because of it you can do some really cool stuff on the backend with it. Basically, every table is allowed at most one non-PK column.
So many questions!
- How many tables did the typical object end up using?
- What sort of domain was this?
- What kinds of "cool stuff" did this enable for you?
Sounds like it is reinventing EAV data stores but with more tables.
EAV absolutely sucks for complex aggregations. Our system was designed all around making complex aggregations fast, with nearly everything else as afterthought. But it wasn't a big problem - turns out if you get the core design right up front, all surrounding features naturally gravitate to being decent enough without much effort.
Ultimately, all ways to store data are very similar to each other. All the difference is in performance for particular tasks.
-
@Gustav said in How normal can you get?:
Ultimately, all ways to store data are very similar to each other. All the difference is in performance for particular tasks.
It's charge patterns all the way down.
-
@Gustav said in How normal can you get?:
turns out if you get the core design right up front, all surrounding features naturally gravitate to being decent enough without much effort.
Who needs design when you can do agile-ish instead?
Decent software is so outdated!
-
@LaoC said in How normal can you get?:
@Gustav said in How normal can you get?:
Ultimately, all ways to store data are very similar to each other. All the difference is in performance for particular tasks.
It's charge patterns all the way down.
-
@Gustav said in How normal can you get?:
@LaoC said in How normal can you get?:
@Gustav said in How normal can you get?:
Ultimately, all ways to store data are very similar to each other. All the difference is in performance for particular tasks.
It's charge patterns all the way down.
Is this a belt onion?
-
@LaoC said in How normal can you get?:
@Gustav said in How normal can you get?:
@LaoC said in How normal can you get?:
@Gustav said in How normal can you get?:
Ultimately, all ways to store data are very similar to each other. All the difference is in performance for particular tasks.
It's charge patterns all the way down.
Is this a belt onion?
Good old
C-x M-c M-belt-onion
.
-
@Gustav said in How normal can you get?:
if you get
thea pluggable core design right up front, all surrounding featuresnaturallyare forced to gravitate to being decent enoughwithout muchwith more predictable effort.So close. Only a couple more decades.
-
@LaoC eh, at the actual bottom, it's all constructive vs destructive interferences.
-
@Gribnit said in How normal can you get?:
@LaoC eh, at the actual bottom, it's all constructive vs destructive interferences.
Schumpeter has entered the chat