code logs -> 2013 -> Wed, 22 May 2013< code.20130521.log - code.20130523.log >
--- Log opened Wed May 22 00:00:17 2013
00:01
<@TheWatcher>
....
00:01
<@froztbyte>
and the per-user stuff isn't particularly obscure either; piece of software runs as user -> it gets its own crontab, that kind of thing
00:01
<@froztbyte>
TheWatcher: dude
00:01 * TheWatcher sigh
00:01
<@froztbyte>
TheWatcher: the *ops manager* (abovementioned clown) takes 30min to figure out that he needs to traceroute stuff if it's unreachable
00:01
<@froztbyte>
we run an ISP.
00:01
<@TheWatcher>
No
00:01
<@TheWatcher>
That's more that stumbling one
00:02
<@TheWatcher>
'running' isn't anywhere near that >.>
00:02
<@froztbyte>
rofl
00:02
<@froztbyte>
it's just beyond crazy
00:02
<@froztbyte>
my tipping point was when I realized I was breaking my back trying to drag people into the future, and not even getting paid market rates for my /normal/ job parts
00:03
<@froztbyte>
not even considering that it's a shit environment
00:03
<@froztbyte>
it's basically a variation of Stockholm Syndrome ;D
00:05
< RichyB>
I fear for your ex-customers.
00:05
< RichyB>
Oh well.
00:05 AnnoDomini [abudhabi@Nightstar-b02d62c8.adsl.inetia.pl] has quit [Ping timeout: 121 seconds]
00:05 * froztbyte is not too stressed about that part
00:06
<@Alek>
shambling.
00:08
<@froztbyte>
I actually want to write up a whole list of these incompetencies they've accomplished
00:08
<@Alek>
if you can, put it on notalwaysworking or customerhell or something.
00:09
<@Alek>
and of course, TSC.
00:09
<@froztbyte>
the guy who's mostly taken over the netops stuff will be working with a customer on a support issue (like some network fault), get alerted to one of his meetings (which he has in copious amounts) coming up
00:09
<@froztbyte>
and then just get up and leave
00:09
<@froztbyte>
he won't tell the customer
00:09
<@froztbyte>
he won't tell anyone what he's been working on
00:09
<@froztbyte>
he has never documented any of the stuff
00:09
<@froztbyte>
but he'll literally just get up and leave
00:10
<@froztbyte>
it's just completely astounding
00:12
< [R]>
So he responds to the alert in an asocial way?
00:13 * RichyB blinks
00:13 AnnoDomini [abudhabi@Nightstar-5c4cbe3a.adsl.inetia.pl] has joined #code
00:14
< [R]>
Oh nm misread makes more sense now
00:15
<@froztbyte>
RichyB: when I say I hope these people would choke on their breakfast and die, I mean it
00:15
<@froztbyte>
they're the kinds of humans that are what's wrong with this world
00:16
<@froztbyte>
(also, a nap earlier tonight screwed up my entire sleeping pattern, thus being awake now :s)
00:16
< RichyB>
I don't think that that's entirely true.
00:19
<@froztbyte>
which part? me hoping they'd go away from the world entirely, or them being the shitty kind of human?
00:20 RichyB [richardb@58734C.5279B7.EA7DF8.107330] has quit [Ping timeout: 121 seconds]
00:21
<@froztbyte>
well, that doesn't help ;p
00:21 RichyB [richardb@58734C.5279B7.EA7DF8.107330] has joined #code
00:21
< RichyB>
froztbyte: the being shitty humans.
00:21
<@froztbyte>
oh
00:21
<@froztbyte>
well, there are worse humans, certainly
00:22
<@froztbyte>
these are the entry-level shitty kind
00:22
< RichyB>
Their competition includes people posting upskirt photos of strangers, actual card-carrying neonazis...
00:22
<@froztbyte>
the manager in question is also a racist chauvinist homophobe
00:23
<@froztbyte>
(but that doesn't directly fall under his technical competence, so I rarely mention it)
00:23
<@Reiv>
man, upskirt addicts
00:23
< RichyB>
Wellp
00:23
<@Reiv>
Some of them install cameras in their /shoe/.
00:23
< RichyB>
To Hell with him, then.
00:23
<@froztbyte>
Reiv: rofl
00:24
<@froztbyte>
RichyB: I mean, all said and done, I'm not necessarily a terribly rolemodel human myself
00:24
<@Reiv>
Their holy grail, of course, is someone who went commando in a skirt.
00:24
<@froztbyte>
but at least I try to not cause harm to others
00:31
< RichyB>
Oh well.
00:32 Turaiel[Offline] is now known as Turaiel
00:32
<@froztbyte>
pretty much
00:32 himi [fow035@D741F1.243F35.CADC30.81D435] has joined #code
00:32 mode/#code [+o himi] by ChanServ
00:34 Vornicus [vorn@ServerAdministrator.Nightstar.Net] has joined #code
00:34 mode/#code [+qo Vornicus Vornicus] by ChanServ
00:40 You're now known as TheWatcher[T-2]
00:45 You're now known as TheWatcher[zZzZ]
01:22
<&McMartin>
"Lee Aylward / Lee is Ars Technica's programming wizard. He hopes someday to grow his beard out like an actual wizard."
01:33 Nemu [NeophoxProd@F9D7EC.9380D1.03E7F7.94E705] has joined #code
01:37 ToxicFrog|W`rkn is now known as ToxicFrog
01:39 * ToxicFrog upreads
01:40
<&ToxicFrog>
froztbyte: I am a programmer running a home server and I manage to do it more competently than that, holy shit.
01:40
<&ToxicFrog>
I'll even have a hot spare once the RMA arrives~
01:41
<&ToxicFrog>
("N+M" when describing RAID almost always N active disks and M hot spares, though - a four-disk RAID5 always has one drive worth of parity, so you don't need to specify)
01:46
< RichyB>
Does anyone use 3-way RAID1 for anything?
01:48
< [R]>
That's mirror?
01:48
< Xon>
3 copies not 2
01:48 * [R] can't be assed to remember the difference between 1 and 0
01:49
< [R]>
One of them is mirror, the other is stripe
01:49
< Xon>
ToxicFrog, I dont have a hotspare atm for my home raid setup. But it's raid6 and I have a coldspare because I physically don't have the space to moont more drives atm =p
01:49
< Xon>
mount*
01:49
< Xon>
[R], raid0 is the number of files you get back if anything goes wrong
01:49 * [R] should probably source a hot spare for his 10 setup.
01:49
< [R]>
Xon: oh, nice
01:50
< Xon>
RichyB, for lolz; Microsoft's 3-way mirror (storage spaces thingy) requires a minimum of 4 drives.
01:51
< RichyB>
[R]: there's an easy mnemonic.
01:51
<&ToxicFrog>
[R]: 0 is stripe, 1 is mirror, 234 no-one uses any more, 5 is single parity, 6 is double parity.
01:51
< RichyB>
[R]: RAID 1 *does* keep your data safe in the case of all but one disk dying.
01:52
< RichyB>
[R]: RAID 0 *doesn't* keep your data safe in the event that a gnat farts in the same country as you.
01:52
<&ToxicFrog>
RichyB: sure. More drives in the mirror means a shorter MTBF but a longer MTTDL.
01:52
< RichyB>
Surely "degraded" isn't considered "failed" for a RAID1?
01:53
< RichyB>
Shorter mean time between having-to-swap-a-disk-out.
01:53
<&ToxicFrog>
"failure" as in drive failure, not array failure.
01:54
< Xon>
the only array fail I've personally had was when I accidently deleted the entire array >.<
01:54
< Xon>
failure*
01:55
<&ToxicFrog>
I had some really exciting times back when I was running eight disk RAID6 on a flaky backplane that would drop half the disks at random if any one of them failed.
01:56
< RichyB>
Yow!
01:56
<&ToxicFrog>
Fortunately mdadm is pretty forgiving about these things.
02:07
<&ToxicFrog>
God I hate make
02:07 Turaiel is now known as Turaiel[Offline]
02:12
<@Reiv>
What were 234? I'm curious now.
02:14
< [R]>
2 and 3 were alternative striping.
02:14
< [R]>
4 was 5 except all parity is stored on a single drive
02:15
< [R]>
According to Wikipedia
02:15
< [R]>
Oh, sorry, 2 and 3 were also like 5.
02:16
<@Reiv>
... there were more than one method of striping?
02:16
< [R]>
Yeah
02:17
< [R]>
2 is bit-level. 3 is byte-level. They alternate the drives the data-level is stored on.
02:17
< [R]>
IE: 2 has one drive for "even" bits and the other is for "odd"
02:17
< [R]>
Which is WTFy
02:17
< [R]>
Keep in mind I'm totally using only wikipedia here
02:20
<@Reiv>
2 sounds a tad inefficient.
02:20
< [R]>
But, 2, 3 and 4 are all 3-drive minimums.
02:23
<&ToxicFrog>
They make sense under certain hardware assumptions that are no longer true, AIUI.
02:27 * Reiv wonders what hardware assumptions could possibly make that work.
02:27
<@Reiv>
Is there a RAID7?
02:29
<&ToxicFrog>
No, but ZFS has raidz3 which is equivalent.
02:30
< RichyB>
The erasure code (Reed-Solomon codes) that RAID6 is based on generalises to arbitrary numbers of redundant blocks, I think.
02:31
<&ToxicFrog>
Reiv: RAID 2 and 3 both required fully synchronized disks. RAID 2 additionally assumes disks without Hamming correction (which has now been implemented in basically all disks, making RAID2 obsolete).
02:34
<@Reiv>
Interesting.
02:34
<@Reiv>
HD tech is amazing.
02:36
< RichyB>
Ah, so disk manufacturers are fighting their own bit-error rates by using forward error codes inside the HDDs?
02:39
<@Reiv>
Clever innit?
02:40
< RichyB>
Less so than optical fibre~ ;)
02:43 VirusJTG_ [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [[NS] Quit: Program Shutting down]
02:43
< RichyB>
Yes, forward error codes are very, very cool.
02:44
<&ToxicFrog>
RichyB: yes. RAID2 was developed in an era when this wasn't the case.
02:44
<&ToxicFrog>
It can reliably detect and correct single-bit errors and can detect (but not correct) errors of more bits.
02:44
< RichyB>
Have you heard of F2FS? Similar kind of idea.
02:44
< RichyB>
Analogous idea, even.
02:45
< RichyB>
There are a bunch of Linux filesystems designed specifically for NAND or NOR flash, where you're expected to do some magic and turn the firmware features that make the flash chip look like a block device off and access the raw chip instead.
02:46
< RichyB>
Generally... kind of difficult.
02:46
<@celticminstrel>
Hm... time to start implementing special moves, I guess...
02:47
<&McMartin>
shoryuken?
02:47
< RichyB>
OTOH, Samsung released a thing (it's in Linux 3.8) called F2FS, which is a filesystem that is designed to be friendly to the firmware's block-device emulation layer rather than to replace it.
02:48
< RichyB>
(as in it's specifically designed for SSDs, doesn't care much about read fragmentation but is designed to avoid causing write amplification and to avoid causing random writes)
02:49
<@Reiv>
That sounds about right.
02:49
<@Reiv>
But, y'know, an awful lot of drives deliberately try to optimise that kind of thing to begin with.
02:49
< RichyB>
The thing I really like about the idea of F2FS is that it lets the block-device firmware handle issues like "should I use a FEC on the flash cells and if so which?" and "what kind of wear-levelling and garbage-collection algorithms are appropriate?"
02:50
<@celticminstrel>
Which means I need to add a new key...
02:50
< RichyB>
Whereas if you're accessing the raw flash in the OS... your OS has to ship a driver which does all of those things appropriately, probably for drives that the authors have never actually seen before.
02:56
<&Derakon>
I always find it odd when I can use code I've written for work directly in Pyrel.
02:57
<&Derakon>
Previously I copied over my work code's event system wholesale.-
02:57
<&Derakon>
Now I'm copying a spiral-generation function I wrote.
02:57
<@celticminstrel>
A for "activate"?
02:57
<@celticminstrel>
Or for "ability"...
02:57
<@celticminstrel>
M for "move" seems... bad.
02:58
<@celticminstrel>
S for "special"? But S is used for "stats" already.
02:58
<@Reiv>
celticminstrel: Look up nethack~
02:58
<@celticminstrel>
Nethack is stupid. :|
02:58 * Azash hears the silent rustling of pitchforks in the distance
02:59
< RichyB>
oh man
02:59
<&ToxicFrog>
Azash: no, it's cool
02:59
<&ToxicFrog>
Honestly, it is
02:59 * RichyB lights some torches.
02:59
<&ToxicFrog>
And I say that as someone who has both patched it and ascended three characters
03:01
<@Azash>
I've never really played it
03:02
<@Azash>
I just figured that it was the kind of statement that would upset some people
03:04
<&ToxicFrog>
As much as I enjoyed nethack, the balance is sometimes questionable, the pacing is godawful, and internally it is horrifying.
03:05
<&Derakon>
Heh.
03:05
<&Derakon>
I think you should expect a few quirks in any 20+-year-old game.
03:05
<&Derakon>
Angband is no paragon either~
03:06
<&ToxicFrog>
Yeah, but there's a reason Angband has way more patches/mods/TC
03:06
<&ToxicFrog>
*TCs
03:07
<&Derakon>
Yep, Ben Harrison.
03:07
< RichyB>
Is it explicitly *not* a dense web of side-effectful C code?
03:07
<&Derakon>
Went through the code in the late 90's and did a major cleanup job.
03:07
<&Derakon>
(It's been steadily decaying ever since, but oh well~)
03:07
<@celticminstrel>
This list includes "+defence if standing still"... should it be a passive ability, or specifically activated?
03:07 Turaiel[Offline] is now known as Turaiel
03:07
<&ToxicFrog>
Yeah, even decayed Angband is far, far better than nethack.
03:08
<&Derakon>
Is the NetHack devteam even active any more?
03:08
< RichyB>
Derakon: no.
03:09
<@Reiv>
celticminstrel: How much do you want Energy to matter?
03:10
<@Reiv>
If you want Energy to be valuable, make it active. If you just want it to be a Thing, make it passive, though I reccomend against it lest it teach players to play poorly.
03:10
<@Reiv>
(AKA: "I keep dying here, but if I run away I lose my bonus!")
03:11
<&Derakon>
Ehh, I don't think passive abilities are a bad thing.
03:11
<@celticminstrel>
I already have other passive abilities.
03:12
<&Derakon>
The flipside of energy-consumptive things is the player doesn't want to use them because the cost in energy would seem to outweigh the benefits.
03:12
<&Derakon>
It's a judgement call.
03:12
<@Reiv>
Derakon: That is a balancing issue, mind :p
03:12 * Azash opens a lecture in an online course, receives https://www.youtube.com/watch?v=Zc3x65YVXdY , contemplates suicide
03:13
<@Reiv>
Really, it's a matter of "I think I will choose to Stand and Fight" vs "If I stand still enough I get bonuses while bashing monsters"
03:13
<@Reiv>
The latter may be acceptable for helping with bashfests against boring opponents, mind.
03:14
<@Reiv>
(AKA: If you are just standing there thumping each other for ten turns, maybe we should help you speed up a bit)
03:27 Kindamoody[zZz] is now known as Kindamoody
04:22 * Vornicus tries to get his brain into coding mode
04:23 * Turaiel prods at this brain with some random bit
04:23
< Turaiel>
bits*
04:23
<@celticminstrel>
Anyone happen to know where (or if) I can get a stack listing in Opera's debugger?
04:24
<@celticminstrel>
...oh wait. It's underneath the variables. Silly place for it, but whatever.
04:24
< Turaiel>
The problem is that you're using Opera :P
04:24
<@celticminstrel>
I'm only using Opera because the person who reported an error is using Opera. >_>
04:24
< Turaiel>
Then that's their problem!
04:25
< Turaiel>
Nah, I kid. You're being a good developer.
04:26
<@Reiv>
Oh thank heavens, someone who checks for Opera.
04:27
< Turaiel>
I don't think it's necessary to check for Opera anymore, now that it's just using Webkit :P
04:28
<@Reiv>
Which is kinda nice.
04:28
<~Vornicus>
webkit doesn't tell you anything about the js implementation though
04:28
< Turaiel>
True
04:28
< Turaiel>
I don't test for Opera
04:29
< Turaiel>
Opera users are so scarce :P
04:31
<@Alek>
You really should.
04:31
<@Alek>
Otherwise the Phantom could hijack your code.
04:32
< Turaiel>
I don't even test for IE...
04:32
<@celticminstrel>
I happen to know my code won't work in IE.
04:32
< Turaiel>
Actually a lot of the time I only test in Firefox >.>
04:32
< Turaiel>
Nobody's code *works* in IE :P
04:32
<@celticminstrel>
Or at least, from what I've read, IE doesn't support some extensions I use.
04:33
<@Reiv>
Interesting. Opera has about 3% these days; a few years ago it was closer to 5%.
04:34
<@Reiv>
It's also noted that Opera uses many tricks to improve load times and traffic management which in turn artificially reduce its count for usage tracking...
04:34
<@Reiv>
Better performance in return for a lower visibility may actually be working against them, at this point.
04:36
<&ToxicFrog>
Opera 12.x also screwed the pooch in like six different ways
04:36
<&ToxicFrog>
That happened at about the same time Chrome was actually becoming usable
04:37
<&ToxicFrog>
That probably didn't help.
04:37
< RichyB>
Big UX issues in the browser itself?
04:38
<@Reiv>
TF: Sounds about right; I'm not entirely convinced it's salvage itself entirely either.
04:52 Nemu [NeophoxProd@F9D7EC.9380D1.03E7F7.94E705] has quit [[NS] Quit: ]
05:21 RichyB [richardb@58734C.5279B7.EA7DF8.107330] has quit [[NS] Quit: >:3 This is BunThulhu. Copy him into your quit message to help him take over the Internet.]
05:25
<~Vornicus>
Okay. In order to remove a whole section of a skip list, I need to make sure that every single one of the link chains skips over that section. Then - since I'm still working in a gc'd language - I can simply finish the function call and leave the invalidated chain on the floor.
05:29
<~Vornicus>
Fortunately, because of the nature of searching on a skip list, I actually see every link I need to change and every node I need to change /to/ on the way to finding the removable section.
05:32
<~Vornicus>
Shockingly elegant.
06:28 Turaiel is now known as Turaiel[Offline]
06:29 celticminstrel [celticminst@Nightstar-e83b3651.cable.rogers.com] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!]
06:35 Derakon is now known as Derakon[AFK]
06:42 AverageJoe [evil1@61024F.B1DB7D.E87B5D.526FE4] has joined #code
07:19 VirusJTG [VirusJTG@2B12AA.572255.206A2A.901581] has joined #code
08:03 himi [fow035@D741F1.243F35.CADC30.81D435] has quit [Ping timeout: 121 seconds]
08:24
<@froztbyte>
ToxicFrog: pretty impressive, yeah
08:31 AverageJoe [evil1@61024F.B1DB7D.E87B5D.526FE4] has quit [[NS] Quit: Leaving]
08:37 VirusJTG_ [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code
08:37 VirusNotAtWork [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code
08:39 VirusJTG [VirusJTG@2B12AA.572255.206A2A.901581] has quit [Ping timeout: 121 seconds]
08:39 VirusHome [VirusJTG@2B12AA.572255.206A2A.901581] has quit [Ping timeout: 121 seconds]
09:10 You're now known as TheWatcher
09:28 Kindamoody is now known as Kindamoody|out
11:04 Vornicus [vorn@ServerAdministrator.Nightstar.Net] has quit [[NS] Quit: Leaving]
12:39 himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code
12:39 mode/#code [+o himi] by ChanServ
12:51 VirusNotAtWork is now known as Pandemic
12:51 mode/#code [+o Pandemic] by ChanServ
14:05 PinkFreud [WhyNot@NetworkAdministrator.Nightstar.Net] has quit [Ping timeout: 121 seconds]
14:05 PinkFreud [WhyNot@NetworkAdministrator.Nightstar.Net] has joined #code
14:05 mode/#code [+o PinkFreud] by ChanServ
14:10
<@TheWatcher>
Anyone have any experience with the "Terminal 4" CMS?
14:27 celticminstrel [celticminst@Nightstar-e83b3651.cable.rogers.com] has joined #code
14:27 mode/#code [+o celticminstrel] by ChanServ
14:39 iospace is now known as FauxRoscoe
14:44 FauxRoscoe is now known as iospace
15:11 ToxicFrog is now known as ToxicFrog|W`rkn
16:26 Turaiel[Offline] is now known as Turaiel
16:51
<&ToxicFrog|W`rkn>
froztbyte: which is?
17:19
<@froztbyte>
ToxicFrog|W`rkn: the astounding uselessness of my colleagues
17:19
<@froztbyte>
<ToxicFrog> froztbyte: I am a programmer running a home server and I manage to do it more competently than that, holy shit.
17:46 Orthia [orthianz@3CF3A5.E1CD01.B089B9.1E14D1] has quit [Ping timeout: 121 seconds]
17:52 Orthia [orthianz@3CF3A5.E1CD01.B089B9.1E14D1] has joined #code
17:52 mode/#code [+o Orthia] by ChanServ
18:03 Turaiel is now known as Turaiel[Offline]
18:58
<&ToxicFrog|W`rkn>
Aah, yes.
20:01 Kindamoody|out is now known as Kindamoody
20:06 Turaiel[Offline] is now known as Turaiel
20:27 Turaiel is now known as Turaiel[Offline]
20:36 Kindamoody is now known as Kindamoody[zZz]
21:17 RichyB [richardb@Nightstar-86656b6c.cable.virginmedia.com] has joined #code
22:23 * TheWatcher eyes this
22:25
<@TheWatcher>
I have absolutely no idea where RecieveMessage is actually being called from in this source, blegh
22:27
< RichyB>
TLA is surprisingly cool for a proof formalism.
22:27
< RichyB>
http://aphyr.com/posts/287-asynchronous-replication-with-failover
22:29
< RichyB>
Person writes up predicates corresponding to the operations of an asynchronously replicated database with fail-over, and a predicate specifying what it means for this system to not accidentally throw data away.
22:30
< RichyB>
Throws the whole thing into Microsoft TLC, it immediately provides and explains a counterexample.
22:31
<@TheWatcher>
.... ahahaha
22:35
<@TheWatcher>
There's RecieveMessage, which is called from DoSendDirect, which is called from DoSendMessage, which is called from SendMessage. Along that chain it faithfully passes back the ulong result indicating message processing success/failure... and every single call to SendMessage I can find in the game source completely ignores that result.
22:36
< RichyB>
Ouch.
22:37
< RichyB>
You have just neatly demonstrated the rationale for checked exceptions. :|
22:37
<@TheWatcher>
Yeah.
22:37
<@gnolam>
And the rationale for a spell checker!
22:40
< RichyB>
gnolam: ?
22:40
<@gnolam>
RecieveMessage.
22:41
<@TheWatcher>
Actually, that's my fault - it should be ReceiveMessage, I just can't spell for crap when I'm tired.
22:41
< RichyB>
That is why you should program against the Berkely sockets API directly instead.
22:42
< RichyB>
recvfrom() is much easier to spell right, you see. ;)
22:42
<@TheWatcher>
Heheh
22:42
< RichyB>
(BTW, I'm not saying that you *would* be better off with checked exceptions. The downsides simply haven't been mentioned.)
22:44
<@gnolam>
Plus, you can't castle a checked exception.
22:46
< RichyB>
Castle?
22:46 ToxicFrog|W`rkn is now known as ToxicFrog
22:54 VirusJTG_ [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [Ping timeout: 121 seconds]
22:58
<@froztbyte>
RichyB: the aphyr posts are getting too popular
22:58
<@froztbyte>
the webserver appears to be dying now
22:59
< RichyB>
Heh.
22:59
< RichyB>
Should've put an inconsistent Redis cluster in front of it, shouldn't he? :)
23:00
<@froztbyte>
hee
23:00
<@froztbyte>
I've only finished reading the mongodb one
23:00
<@froztbyte>
but very much want to read all the others too
23:00
< RichyB>
I'm not sure what the niche for MongoDB is supposed to be other than "gullible and heard the name a lot".
23:00
<@froztbyte>
it's the mysql of nosql
23:00
<@froztbyte>
afaict
23:00
< RichyB>
It's not even fast anyway. :|
23:01
<@froztbyte>
it's fast enough[ when only in memory and not flushing to disk and not busy losing all your shit]!
23:01
< RichyB>
Well, MySQL outperforms almost everything else, provided you have a workload that fits it precisely. e.g. blog comments do.
23:02
<@froztbyte>
haha
23:02
<@froztbyte>
I'll give mysql its due
23:02
<@froztbyte>
it's crappy enough that most people felt it suited them
23:03 VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code
23:03
< RichyB>
That is, lots of reads, very few writes, no need to track invariants more complicated than "parent/child", almost zero write concurrency.
23:03
<@froztbyte>
so it was a major thing for getting out into the world with open DBs
23:03
<@froztbyte>
like, to the general "I can makes a websites yo" populace
23:03
<@froztbyte>
RichyB: I still want to formalize (or find) a dunning-kruger variant theory that explains why people like shitty things
23:04
<&ToxicFrog>
Glurg Theory takes a stab at this WRT programming languages, and may be generalizeable (if it actually holds)
23:04
< RichyB>
I wouldn't start a greenfield project with MySQL given any kind of choice, but there does exist an actual sweet spot where it works well and projects that live entirely inside that sweet spot.
23:05
<&ToxicFrog>
(not glurg. Hmm. Can't remember the name.)
23:05
< RichyB>
(I would still be hesitant to use it on such projects because I lack faith that they're going to *stay* inside that sweet spot.)
23:05
< RichyB>
Blub Theory.
23:05
<&ToxicFrog>
Doesn't look like it.
23:06
< RichyB>
Blub paradox, even.
23:06
<&ToxicFrog>
Aha! Yes. Thank you.
23:06
< RichyB>
"Blub paradox" is Paul Graham's article.
23:07
< RichyB>
The idea goes, say I'm writing a program in, uh, let's pick one that won't offend anyone... Tcl.
23:07
<@froztbyte>
rofl
23:07 * froztbyte opens http://www.paulgraham.com/avg.html
23:08
< RichyB>
So I'm a Tcl programmer working at a Tcl level of abstraction from the underlying machine. To my eyes, all those poor bastards in lower-level languages like C look like peons doing all kinds of crap manually that I get for free. They're grubbing around in the dirt, man!
23:08
< RichyB>
OTOH, any programming language feature that Tcl doesn't have or almost-have is just alien to me and I can't even comprehend why anyone would want it.
23:09
< RichyB>
So our hypothetical Tcl hacker labels C programmers as chumps and Perl programmers as ivory-tower wankers. ;)
23:09
<&ToxicFrog>
More generally, the tools you use shape how you think about a problem and how you evaluate other tools for the same task; it's often immediately evident when something is worse, but the features that make something better may not be apparent, or, if they are, it may not be clear why anyone would want them.
23:10
< RichyB>
Thanks for elucidating that, because I just butchered it. :)
23:12
<&ToxicFrog>
This seems to be fairly common in both programming languages and version control systems; I would't be surprised to find that it generalizes, at least, to all software.
23:13
< RichyB>
The arguments are going to be really *tedious* if something categorically better than current DVCS comes along.
23:13
< RichyB>
The grognards still using Git will not ever stop saying "but I can achieve that in Git too with nothing more than a sequence of rebase commands!"
23:14
<&ToxicFrog>
They cannot possibly be any more tedious than the current arguments because DVCS and CVCS camps.
23:14
<&ToxicFrog>
*between.
23:15
<@froztbyte>
well, people wouldn't have thought that about cvs/svn/rcs until DVCS' came along, so...
23:16
<@froztbyte>
RichyB: I'm not entirely sure if that's what I want, though
23:16
< RichyB>
?
23:17
<@froztbyte>
I'm more interested in why people pick an initial thing, and then just fiercely defend it for reason of "I've already invested effort in this, why must I do it again?"
23:17
<@froztbyte>
(like so many PHP people appear to do)
23:17
<@froztbyte>
this appears to be the reason that perl is still big in networking, for instance
23:18
<&McMartin>
Perl's got pretty fantastic network API bindings at this point, doesn't it?
23:18
<@froztbyte>
a bunch of network guys once figured they need to know a better language than shellscript, learned perl, and now just forever more sit at "this is good enough"
23:18
<@froztbyte>
McMartin: couple other things do too
23:18
<@froztbyte>
ruby does, in fact
23:18
<@froztbyte>
and ruby's library for network-related stuff is also fairly rich
23:19
<@froztbyte>
I'm not talking only about network programming here, but also the support systems around it
23:19
< RichyB>
I agree about the sysadmins/Perl thing.
23:19
<@froztbyte>
IP planning systems, routing check systems, etc
23:19
< RichyB>
It's why I'm grateful for the existence of Ruby.
23:20
< RichyB>
As I see it, Ruby provides a graceful upgrade path for ex-Perl hackers that also happens to sneak a sane object system and so on into their hands..
23:22
<@froztbyte>
hehe
23:23
<@Reiv>
ToxicFrog: It generalises to 'systems', I think
23:23
<@Reiv>
People do things Their Way. It requires a major shakeup to have them adjust to the New Way.
23:25 cpux|2 [cpux@Nightstar-98762b0f.dyn.optonline.net] has joined #code
23:25
<@Reiv>
I've seen it in action at the corporate level~
23:25
<@froztbyte>
hmm, yes
23:25
<@froztbyte>
there's another part to that
23:25
<@Reiv>
A year and a half after the system went full-featured and live, people are _starting_ to go "You know, this 'BI' stuff can be pretty neat..."
23:25
<@froztbyte>
some people I know have thought processes which only actually appear to work in a given set of ways
23:26
<@froztbyte>
like my one colleague
23:26
<@froztbyte>
his entire mental model of how to solve problems is based on the unix way, and he utterly refuses to touch a language that doesn't have curly braces
23:26
<@froztbyte>
he's not incompetent or anything
23:26
<@froztbyte>
he just refuses to
23:27
<@froztbyte>
it took me a long while to realize that it was his model of /thinking/ that needed to change
23:27 cpux [cpux@Nightstar-98762b0f.dyn.optonline.net] has quit [Ping timeout: 121 seconds]
23:27
<@froztbyte>
and people are pretty loathe to do that, it seems
23:27
<@froztbyte>
well, some people
23:27 * froztbyte en-beds
23:30
<@TheWatcher>
Languages without curly braces make my headbones hurt >.>
23:32
<@celticminstrel>
Eh, I don't mind it.
23:32
<@celticminstrel>
Curly braces are nice though.
23:38
<@TheWatcher>
It's why I have problems with python. My brain is constantly going "Where are the braces? WHERE ARE THEY?! Agrgblarglflail"
23:46 Turaiel[Offline] is now known as Turaiel
--- Log closed Thu May 23 00:00:32 2013
code logs -> 2013 -> Wed, 22 May 2013< code.20130521.log - code.20130523.log >

[ Latest log file ]