code logs -> 2023 -> Tue, 11 Jul 2023< code.20230710.log - code.20230712.log >
--- Log opened Tue Jul 11 00:00:20 2023
00:05 Emmy [Emmy@Nightstar-qo29c7.fixed.kpn.net] has quit [Ping timeout: 121 seconds]
00:57 Emmy [Emmy@Nightstar-qo29c7.fixed.kpn.net] has joined #code
02:02
<&McMartin>
Emmy: That's the punchline to a slightly different joke
02:03
<&McMartin>
"If there's one class that does all the work in the program why do we call that a 'God object' instead of 'the working class'"
02:03
<&McMartin>
(answer: because you're supposed to hate it when people do that
02:03
<&McMartin>
)
02:06
<@PinkFreud>
lol
04:00 Degi_ [Degi@Nightstar-mjl.3u6.11.77.IP] has joined #code
04:02 Degi [Degi@Nightstar-2qq.uj6.13.77.IP] has quit [Ping timeout: 121 seconds]
04:02 Degi_ is now known as Degi
05:04 Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has joined #code
05:04 mode/#code [+qo Vornicus Vornicus] by ChanServ
08:07
< Emmy>
McMartin, i thought the proper nomenclature for such a class was 'a clusterfuck'
08:25 Emmy [Emmy@Nightstar-qo29c7.fixed.kpn.net] has quit [Ping timeout: 121 seconds]
08:26
<&McMartin>
"God Object" is the name used in the original "Anti-Patterns" book
08:26
<&McMartin>
A book I'm overall not terribly fond of but I do very much like the name "Lava Flow" as well as the particular failure of design it describes
08:36 Pinkhair [Pink@Nightstar-oold4h.sub-75-236-156.myvzw.com] has joined #code
08:39 PinkAFK [Pink@Nightstar-oold4h.sub-75-236-156.myvzw.com] has quit [Ping timeout: 121 seconds]
08:39
<@macdjord>
McMartin: 'Lava Flow'?
08:51
<@macdjord>
Ah, I see. Dead code that nobody understand well enough to safely delete.
08:52
<&McMartin>
Also for not-dead code but where every problem is solved by inventing some new extensions and tacking them on so the system as a whole grows out erratically in all directions
09:38
<@ErikMesoy>
It sounds like the bad relative of Waterfall.
11:18 Emmy [Emmy@Nightstar-qo29c7.fixed.kpn.net] has joined #code
12:16 PinkAFK [Pink@Nightstar-oold4h.sub-75-236-156.myvzw.com] has joined #code
12:19 Pinkhair [Pink@Nightstar-oold4h.sub-75-236-156.myvzw.com] has quit [Ping timeout: 121 seconds]
14:02
< abudhabi>
Waterfall is supposed to be good?
19:30 mac [macdjord@Nightstar-p10.1ri.68.76.IP] has joined #code
19:30 mode/#code [+o mac] by ChanServ
19:31 macdjord [macdjord@Nightstar-4f2.mln.67.76.IP] has quit [Ping timeout: 121 seconds]
19:32 macdjord|slep [macdjord@Nightstar-p10.1ri.68.76.IP] has joined #code
19:32 mode/#code [+o macdjord|slep] by ChanServ
19:35 mac [macdjord@Nightstar-p10.1ri.68.76.IP] has quit [Ping timeout: 121 seconds]
20:32 Kizor [a@Nightstar-nfsqa7.yok.fi] has quit [[NS] Quit: ]
20:36 Kizor [a@Nightstar-nfsqa7.yok.fi] has joined #code
21:53
<&Reiver>
Waterfall gets a bad rap, but has many industries in which its methodology is essential.
21:53
<&Reiver>
Of course, it gets the bad rap because it was christened, defined, and simultaneously criticized in the same breath as a way for Agile to differentiate itself from the competing methodology.
21:54
<&Reiver>
If you allow your competition to define who and what you are, one should perhaps not be astonished that their marketing team fails to be entirely unbiased in the analysis. :P
21:55
<@gnolam>
The interesting thing about Waterfall is that much of the hate and criticism against it was based on /a misunderstanding of it/.
21:56
<@gnolam>
It was *never* as rigid as its detractors claimed.
21:57
<@gnolam>
I'm not going to claim that it was ever the best project management method, but a lot of the backlash was against... hmm... imagined faults, rather than actual faults.
21:57
<&Reiver>
^
21:58
<&Reiver>
As I like to put it, a lot of its faults were defined by the opposing marketing team. The software equivalent of a laundry powder proudly advertising "Now Asbestos free!" and everyone else going "... but none of us *had* asbestos?" and yet the smear stuck, so to speak.
21:58
<@gnolam>
And now that I've defended Waterfall it's time to start screening my incoming mail for bombs, I guess.~
22:00
<&Reiver>
hahaha
22:00
<&Reiver>
I... am not a fan one way or the other, both methods work for many things
22:01
<&Reiver>
I get cranky when the marketing sales pitch ends up with 'But I thought Waterfall was bad?' at an axiomatic level, when there are use cases where Waterfall is absolutely the way to go, while there are other places that Agile genuinely offers an improvement (many of these places had no framework at all previously, so in that respect it can be a *considerable* improvement)
22:03
<&Reiver>
You want to develop a new product with a hithero unseen UX design? Agile can be great! Work out what you need while you build it out, building for specific user scenarios, running your cost/benefit estimates on what is worth doing now vs what can be left on the pile until you know you need it later, etc etc etc.
22:05
<&Reiver>
You want to develop the communications bus between three disparate bits of pre-established software that have mature and extensively documented APIs, while providing an additional screen of diagnostic information to be presented within your well-established software design patterns as part of a contract signed between six different parties, to make the hydro plant control scheme run right?
22:06
<&Reiver>
... yeah, you might just find the much-maligned 'Waterfall' method is, in fact, the way to go. Because not every product gets to be excitingly flexible.
22:32
< Mahal>
There are also ways in which waterfall & agile work nicely together!
22:32
< Mahal>
You waterfall to point X where you need to do a [loosely defined thing] and use Agile methods to perform *that* stage of the project
22:32
< Mahal>
etc etc
22:42
<&Reiver>
Absolutely
22:42
<&Reiver>
I do not hate Agile! I just hate the marketing :V
22:53
<&Reiver>
Ugh. I am *out of practice* on writing where-joins in SQL ;_;
22:54
<&Reiver>
Stupid fuckin' pile of trash 'data model builder' software
22:54
<&Reiver>
I *want* LEFT JOIN foo on foo.key = bar.key and foo.otherthing = 0
22:55
<&Reiver>
I have to *write* LEFT JOIN foo on foo.key = bar.key WHERE ...
22:55
<&Reiver>
I *think* it's foo.otherthing IS NULL or foo.otherthing = 0, because it's a motherfucing left join so I have to allow for no join at all
22:55
<&Reiver>
And then I get to do this
22:55
<&Reiver>
Over and over again
22:55
<&Reiver>
For nine tables
22:56
<&Reiver>
With nested conditionals the whole way
22:56
<&Reiver>
Because ORs do not play nice with lengthy lists of conditions unless you write them *very* carefully
22:56
<&Reiver>
Stupid halfassed GUI just gib me your SQL alraedy, grump grump
22:57
<&Reiver>
I can literally see it! It's right here in the diagnostics window! You just won't let me type it, no, you make me 'configure joins' through a stupid fuckin' half-written window, grump grump
23:16
<@TheWatcher>
But Reiv, writing the complicated SQL might make your brain overheat, and you might get it all wrong and bad!
23:17
<@TheWatcher>
Got to protect the poor user from themselves!
23:34
<&Reiver>
By removing all the tools that would let me make it simpler, eh?
23:34
<&Reiver>
Oh, best bit
23:35
<&Reiver>
You CAN place additional criteria on the ON join, and yes, the code writes ON joins
23:35
<&Reiver>
... but only to one of the two tables
23:35
<&Reiver>
In a Left join it is on *the wrong table*
23:35
<&Reiver>
No, I don't know either
23:58 Emmy [Emmy@Nightstar-qo29c7.fixed.kpn.net] has quit [Ping timeout: 121 seconds]
--- Log closed Wed Jul 12 00:00:21 2023
code logs -> 2023 -> Tue, 11 Jul 2023< code.20230710.log - code.20230712.log >

[ Latest log file ]