code logs -> 2013 -> Thu, 08 Aug 2013< code.20130807.log - code.20130809.log >
--- Log opened Thu Aug 08 00:00:03 2013
00:21
<&McMartin>
I AM POWERED BY RAGE
00:21 * McMartin crackles with destructive energies, directs them at this code
00:33 Derakon[AFK] is now known as Derakon
00:33 * McMartin blinks, remembers he already solved this problem in Haskell years ago, starts translating that to C++
00:34 You're now known as TheWatcher[T-2]
00:34
<&McMartin>
std::monad<>
00:46 You're now known as TheWatcher[zZzZ]
00:52 Derakon is now known as Derakon[AFK]
00:56 Karono [Karono@9C034E.4BE65E.E00AF8.FDA077] has joined #code
01:20 ToxicFrog_ is now known as ToxicFrog
01:20 mode/#code [+ao ToxicFrog ToxicFrog] by ChanServ
01:54 Derakon[AFK] is now known as Derakon
01:56 Karono [Karono@9C034E.4BE65E.E00AF8.FDA077] has quit [Ping timeout: 121 seconds]
01:58 Karono [Karono@9C034E.4BE65E.E00AF8.FDA077] has joined #code
02:01 VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [[NS] Quit: Program Shutting down]
02:05 VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code
02:12 ktemkin[work] is now known as ktemkin
02:19 Karono [Karono@9C034E.4BE65E.E00AF8.FDA077] has quit [Ping timeout: 121 seconds]
02:20 Karono [Karono@9C034E.4BE65E.E00AF8.FDA077] has joined #code
02:35
< RichyB>
McMartin, can that be made to work? C++ doesn't have rank 2 types, AIUI?
02:36
<&McMartin>
I don't think so
02:36
<&McMartin>
This is actually a stream-y string transformer though
02:36
<&McMartin>
C++ is fucking awesome at those
02:37 * McMartin just barely manages to resist including the adjective "expletive-deleted" from this checkin comment.
02:49 RichyB [RichyB@D553D1.68E9F7.02BB7C.3AF784] has quit [[NS] Quit: Gone.]
02:53 RichyB [RichyB@D553D1.68E9F7.02BB7C.3AF784] has joined #code
02:53 Karono [Karono@9C034E.4BE65E.E00AF8.FDA077] has quit [Client closed the connection]
02:53 Karono [Karono@9C034E.4BE65E.E00AF8.FDA077] has joined #code
03:08 Karono [Karono@9C034E.4BE65E.E00AF8.FDA077] has quit [Client closed the connection]
03:08 Karono [Karono@9C034E.4BE65E.E00AF8.FDA077] has joined #code
03:32 ktemkin is now known as ktemkin[awol]
03:34 Karono [Karono@9C034E.4BE65E.E00AF8.FDA077] has quit [Ping timeout: 121 seconds]
03:50
<@celticminstrel>
Rank 2 types?
03:57
< RichyB>
You can have functions with polymorphic types in Haskell like, (\a -> (a:[])) has the type forall a. a -> [a]
03:57
< RichyB>
(\a -> a:[]) :: forall a. a -> [a]
03:57
<@celticminstrel>
:/
03:58
< RichyB>
should read as `lambda a: [a]` would in Python, or (lambda (a) (cons a nil)) in Scheme
03:58
< RichyB>
and its type is, "for any given type 'a', take one 'a' and return a list of 'a's"
03:59
< RichyB>
With me so far?
04:01
< RichyB>
In Haskell 98 you could only put the "forall x y z." bit at the top of the function's type signature
04:02
< RichyB>
with rank-2 types, you can put foralls in more places. With rank-N types you can have them anywhere.
04:03
<@celticminstrel>
Okay...
04:07
< RichyB>
I think the original rationale was that you can use them to implement type-classes in user code, where previously they were only a language feature.
04:08
< RichyB>
You can also use a term like (forall s. s) as if it were `gensym` at the type level.
04:19
< RichyB>
I do not immediately know how to translate either of those statements into any of English, Scheme or Python. Nor C++, which is why I made the comment about C++ lacking (as far as I know) the feature.
05:02 VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [[NS] Quit: Program Shutting down]
05:06
< Xires>
RichyB; ty for the explanation
05:07
< RichyB>
It made sense to you? o_O
05:12
< Xires>
RichyB; sense enough, yes
05:12
< RichyB>
That was more than I was hoping for, given how poorly I thought I'd put it.
05:14 Derakon is now known as Derakon[AFK]
05:30 Vornicus [vorn@ServerAdministrator.Nightstar.Net] has joined #code
05:30 mode/#code [+qo Vornicus Vornicus] by ChanServ
05:33 celticminstrel [celticminst@Nightstar-ae361035.dsl.bell.ca] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!]
05:48 Kindamoody[zZz] is now known as Kindamoody
06:01 Karono [Karono@9C034E.4BE65E.E00AF8.FDA077] has joined #code
06:03 Karono [Karono@9C034E.4BE65E.E00AF8.FDA077] has quit [Connection reset by peer]
06:03 Karono [Karono@9C034E.4BE65E.E00AF8.FDA077] has joined #code
06:04 ErikMesoy|sleep is now known as ErikMesoy
06:18 Karono [Karono@9C034E.4BE65E.E00AF8.FDA077] has quit [Ping timeout: 121 seconds]
06:50 Karono [Karono@Nightstar-13c26ed9.optusnet.com.au] has joined #code
08:07 Karono [Karono@Nightstar-13c26ed9.optusnet.com.au] has quit [Client closed the connection]
08:18 Kindamoody is now known as Kindamoody|out
08:37 AverageJoe [evil1@Nightstar-4b668a07.ph.cox.net] has joined #code
08:45 Vornicus [vorn@ServerAdministrator.Nightstar.Net] has quit [[NS] Quit: Leaving]
08:49 Vornicus [vorn@Nightstar-221158c7.sd.cox.net] has joined #code
08:49 mode/#code [+qo Vornicus Vornicus] by ChanServ
09:22 Kindamoody|out [Kindamoody@Nightstar-05577424.tbcn.telia.com] has quit [Ping timeout: 121 seconds]
09:24 Kindamoody|out [Kindamoody@Nightstar-05577424.tbcn.telia.com] has joined #code
09:24 mode/#code [+o Kindamoody|out] by ChanServ
09:28 You're now known as TheWatcher
09:31 AverageJoe [evil1@Nightstar-4b668a07.ph.cox.net] has quit [[NS] Quit: Leaving]
12:05 Karono [Karono@Nightstar-13c26ed9.optusnet.com.au] has joined #code
12:40 ToxicFrog_ [ToxicFrog@ServerAdministrator.Nightstar.Net] has joined #code
12:41 ToxicFrog [ToxicFrog@ServerAdministrator.Nightstar.Net] has quit [Operation timed out]
13:05 ToxicFrog [ToxicFrog@490720.652D6C.DE7AD5.C302B6] has joined #code
13:05 mode/#code [+ao ToxicFrog ToxicFrog] by ChanServ
13:06 ToxicFrog_ [ToxicFrog@ServerAdministrator.Nightstar.Net] has quit [Operation timed out]
13:08 ktemkin[awol] is now known as ktemkin
13:13 Vornicus [vorn@Nightstar-221158c7.sd.cox.net] has quit [[NS] Quit: ]
13:45 Reiv [NSwebIRC@Nightstar-95746c1f.kinect.net.nz] has quit [Ping timeout: 121 seconds]
15:27 celticminstrel [celticminst@Nightstar-ae361035.dsl.bell.ca] has joined #code
15:28 mode/#code [+o celticminstrel] by ChanServ
15:31 Karono [Karono@Nightstar-13c26ed9.optusnet.com.au] has quit [[NS] Quit: Leaving]
15:34 Kindamoody|out is now known as Kindamoody
16:11 himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds]
16:24 himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code
16:24 mode/#code [+o himi] by ChanServ
16:25 Syloq [Syloq@NetworkAdministrator.Nightstar.Net] has quit [Ping timeout: 121 seconds]
16:41
<&ToxicFrog>
<3 git stash
16:43 Kindamoody is now known as Kindamoody|out
16:45
<@TheWatcher>
^--
16:52
<@Tarinaky>
http://www.infoq.com/presentations/Robert-C.-Martin-Bad-Code
16:53
<@TheWatcher>
Finally got notification data going into the database, now I need to deal with actually processing it into useful emails/moodle posts/etc
16:56 Syloq [Syloq@B4EC54.59F324.016BDA.8CB0A3] has joined #code
16:59 mode/#code [+o Syloq] by ChanServ
17:07 * TheWatcher eyes that
17:07
<@TheWatcher>
"Was it a deadline, laziness, boredom, job security?"
17:07
<@TheWatcher>
He missed one
17:07
<@TheWatcher>
"Utter flaming incompetence"
17:08
<@Tarinaky>
He starts with the assumption that someone like you, of roughly the same skill wrote it.
17:08
<@Tarinaky>
Hence the question: "Have you ever been impeded by bad code? Why did you write it?2
17:09
< Syka>
I know why I write bad code
17:09
< Syka>
it's mostly TheWatcher's extra reason though
17:09
<@Tarinaky>
I write bad code out of fear of bad code.
17:10
<@Tarinaky>
I'm only half way through. He could suggest sacrificing goats to the Elderthings yet.
17:12
<@Tarinaky>
Ia Linus Fhtagn, the black goat of the usenet with a foul mouth.
17:15
< ErikMesoy>
I write bad code because I have not enough experience.
17:15
<@Tarinaky>
I'm not sure I agree to the later assertion that manual testing doesn't count as code coverage.
17:16
<&ToxicFrog>
I do. It can't be automated and its repeatability is questionable at best.
17:17
<@Tarinaky>
If it's documented the repeatability is no worse than an automated test.
17:18
<@Tarinaky>
Because tests never have bugs, errors or any kind of ambiguity or failure.
17:19
<@Alek>
what Erik said.
17:19
<@Alek>
with the caveat that I write bad code because I do not yet know it is bad code.
17:25
<&ToxicFrog>
Tarinaky: but when tests have bugs, it is because they are correctly executing incorrect instructions. Manual tests introduce the additional failure mode of the person executing them making a mistake.
17:26
<@Tarinaky>
Train your monkey better?
17:26
< ErikMesoy>
We did lots of monkey manual testing when I worked at Opera Software.
17:27
<@Tarinaky>
Some stuff just can't be automated. >.<
17:27
<@Tarinaky>
Formalised is a good backup.
17:27
< Syka>
Tarinaky: with mocking, it most likely can
17:27
<@TheWatcher>
ErikMesoy: It never showed~
17:27
< ErikMesoy>
TheWatcher: How so?
17:28
< Syka>
ErikMesoy: and now Opera seems to have migrated to monkey manual developing too :P
17:28
< ErikMesoy>
There was automated testing too, but I never got to touch those bits.
17:28
< ErikMesoy>
First year employees make better monkeys, I suppose. :p
17:29
<@Tarinaky>
Syka: Mocking is kindof the opposite of code coverage. "Well, we won't test this bit but we want to test something that depends on it."
17:30
< ErikMesoy>
There would be regular messages of "all you lot, drop what you're doing and start running this battery of tests for the Nth time on our 10.0.8.0.N build".
17:35 * TheWatcher eyes this message from work "Do you have a strong opinion about which encoding should be used on the new website" (with the choice basically being utf-8 or ISO 8859-1)
17:36
<@TheWatcher>
I'm trying to work out how to adequately convey the strength of my feelings regarding anyone using ISO 8859-1 without resorting to profanity or statements that might become of interest to the metropolitan police.
17:36 * Tarinaky doublechecks which one 8859-1 is.
17:36
<@TheWatcher>
Latin-1
17:37
< ErikMesoy>
Tell your workplace that if they can't correctly identify ISO/IEC 8859-1, they probably shouldn't use it.
17:39
<@Tarinaky>
I constantly get surprised by how well UTF8 'just works' a lot of the time...
17:40
<@Tarinaky>
But then I don't do a lot of heavy duty string manipulation/perl.
17:40
<@TheWatcher>
Uh
17:40
<@Tarinaky>
Yeah. I know my experience runs countrary to everyone elses >.<
17:40
<@Tarinaky>
I don't know why.
17:41
<@Tarinaky>
I'll shut up and go away.
17:41
<@TheWatcher>
Well, no
17:42
<@TheWatcher>
Provided you really make sure that all the data coming into your script is in utf8, and you do the appropriate encoding and decoding, it just works in perl at least. The /trick/ is making damned sure everything is utf8
17:44
<@Tarinaky>
In... most languages I've found that to be true.
17:44
<@Tarinaky>
Mix character encodings and you're gonna have a bad time.
17:44
<@TheWatcher>
Yeah
17:45
<@Tarinaky>
But you use UTF so you don't have to... that's more or less the only completely non-jingoistic thing going for it.
17:47
<@Tarinaky>
It handles everything... albeit sometimes badly.
17:47
< Azash>
http://slashdot.org/story/13/08/08/1313228/ms-windows-phone-8-wi-fi-vulnerable-c annot-be-patched
17:50
<@Tarinaky>
Only affects one encryption scheme though... Anyone here a sysadmin?
17:51
<@Tarinaky>
How bad is this in units of unplanned-pregnancies?
17:52
<&ToxicFrog>
Tarinaky: or "we want to test this bit that depends on production without actually making requests to production"
17:53
<&ToxicFrog>
"we want to test this bit that depends on a really expensive thing without invoking the expensive thing more often than necessary"
17:53
<@TheWatcher>
Tarinaky: from a quick look at it, it won't affect the majority of people using normal WPA2-PSK
17:53
<@Tarinaky>
ToxicFrog: Yeah, but that automatically means the expensive thing isn't being tested as thoroughly.
17:54
<@Tarinaky>
Which I think is close enough to what I said >.<
17:54
<&ToxicFrog>
Not really.
17:54
<&ToxicFrog>
You (should) have comprehensive tests for the expensive thing.
17:55
<&ToxicFrog>
The biggest pitfall is that you need to keep the mocks in sync with the thing they're mocking.
17:55
<@Alek>
but if the expensive thing is expensive per run, including testing, sometimes testing gets skimped on.
17:56
<@Alek>
should, yes, in an ideal world.
17:56
<@Alek>
but this world is far from ideal.
18:07 Derakon [chriswei@Nightstar-a3b183ae.ca.comcast.net] has joined #code
18:07 mode/#code [+ao Derakon Derakon] by ChanServ
18:07
<&Derakon>
<Boss> "We want to collect 90GB of data per hour for 24 hours. Of course we can't actually store that much data, but I assume it's trivial to just throw part of it out, right?"
18:07
<&Derakon>
Nevermind that the largest dataset we've yet tried to acquire was on the order of 5GB, period.
18:07
<&Derakon>
And that he wants to do this next Tuesday.
18:07
<@Tamber>
If you're just going to throw the data out, why collect it in the first place? *headscratch*
18:07
<@Tamber>
Is his hair pointy?
18:08
<&Derakon>
Because the process of collection has side effects.
18:08
<@Tarinaky>
If you're 'collecting' it in dev null... what part of this is collecting?
18:08
<&Derakon>
The software needs to be modified, potentially extensively, to even enable throwing out data in the first place.
18:10
<&Derakon>
The actual experiment isn't insane, but I'm a bit peeved that this was sprung on me with little warning while I also have a lot of other stuff going on.
18:10
< Azash>
Tarinaky: I suppose he means handling 90 gigs
18:11
<&Derakon>
The first thing I have to tackle is that the computer allocates enough RAM to store the entire dataset in memory, yeah.
18:11
<&Derakon>
We have a lot of RAM, but we don't have 90*24GB.
18:12
<@Tamber>
You *don't* have 2TB of RAM? What kinda hokey shop are *you* running?!
18:12 * Tamber ducks
18:13
< Azash>
Does it all have to be in memory at once?
18:13
< Azash>
Not just parsed on-line?
18:13
<&Derakon>
It doesn't have to be, but that's where the extensive modifications come in.
18:14
<&Derakon>
I need to set up a ring buffer or something, and then make certain we can actually write out the data as fast as it comes in.
18:21
<&Derakon>
FWIW, the goal here is to examine what happens to yeast cells when you hit them with very short pulses of laser light (microsecond-duration) over a long period of time.
18:22
<&Derakon>
And the lasers are pretty intractably bound up with the cameras, hence why we have all this data we don't actually want.
18:23
<@Tamber>
Ahh. That makes more sense.
18:28
<@TheWatcher>
Yes, an illuminating answer, that
18:56 * ToxicFrog sets TW on fire
18:57
< Syka>
ha
19:06 Kindamoody|out is now known as Kindamoody
20:05 Turaiel[Offline] is now known as Turaiel
20:11 Kindamoody is now known as Kindamoody[zZz]
21:05
<&ToxicFrog>
Why oh why oh why is iteritems() not the default iterator for dictionaries in Python
21:06
<&ToxicFrog>
why
21:06
< ErikMesoy>
Explain.
21:06
< ErikMesoy>
What is the default iterator and how is it different?
21:06
< Syka>
ToxicFrog: it is
21:06
< Syka>
ToxicFrog: (in py3)
21:07
<&Derakon>
The default in py2 appears to be to iterate over the keys.
21:07
< Syka>
that it does
21:07
< Syka>
iteritems() is a generator
21:07
< Syka>
they were not mandatory until python 2.3
21:07
< Syka>
switching the implementation in the backend probably might have broken things
21:07
<&Derakon>
More importantly, iterating over both keys and values is usually preferred to iterating over just keys.
21:08
<&ToxicFrog>
ErikMesoy: the default iterator iterates over keys only.
21:08
< Syka>
oh thats right, iteritems() does tuples
21:08
< Syka>
so that would break older code
21:09
< Syka>
(or rather, it gives out tuples)
21:09
<&ToxicFrog>
"for key,value in dict" is an error; you want "for key in dict: value = dict[key]..." or "for key,value in dict.iteritems()"
21:09
<&Derakon>
It's common for me to do "for key, val in dict: ..." and get an "insufficient items to unpack" error.
21:09
< Syka>
so yeah
21:09
< Syka>
ToxicFrog: basically, it's not the default one because of code compat reasons!
21:09
< Syka>
which are fun~
21:09
< Syka>
(but it is the default in py3)
21:10 * Derakon sighs gently as a key piece of hardware gives up the ghost, again.
21:10
<&Derakon>
Why do we keep relying on this piece of shit when it keeps breaking?
21:11
<&Derakon>
I volunteered to get us switched over to a more standard, better-supported and more-capable device and my boss refused because he had bigger fish to fry.
21:11
<&Derakon>
Well, now he can't fry shit.
21:11
<&Derakon>
I hope he's happy.
21:12
< Syka>
since you mentioned lasers before
21:12
< Syka>
that's giving me all sorts of amusing mental images
21:12
<&Derakon>
Nah, this is a control card.
21:13
< Syka>
"GO AWAY, I'M BUSY FRYING THIS FISH" *shooting laser at a carp*
21:13
<&Derakon>
It sends digital and analog signals to different devices to control them.
21:13
< Syka>
well, right now
21:13
< Syka>
it seems it's *sunglasses* out of control
21:14
< Syka>
...I'm assuming that replacements are going to be painful?
21:14
<&Derakon>
We have a backup, but IIRC it also doesn't work.
21:14
<&Derakon>
The card is only produced by one small company and they put it on legacy support years ago.
21:14
<&Derakon>
IIRC the only guy who knows how the thing works is the CEO.
21:15
<&Derakon>
Every time we send it for repairs it costs us like $2k.
21:15
<@Tamber>
"And he's off in the corner of the bar, crying"
21:15
<&Derakon>
(Cost of a replacement card from National Instruments: $3k plus however long it takes me to rewrite the control software)
21:17
< Syka>
"Too much effort and cost! That card is $3K and fixing this one is only $2K, we'll do that"
21:17
< Syka>
(that awfully reminds me of my old CEO)
21:17
< ErikMesoy>
OTOH, "rewrite the control software" is a way for all sorts of new problems to sneak in
21:17
< Syka>
with an internet upgrade
21:18
<&Derakon>
I'm pretty sure it's my time that he values more.
21:18
< Syka>
going on this fibre thing cost a shitload
21:18
< Syka>
but, also, we could get rid of all the ISDN rental and shit
21:18
<&Derakon>
Problem being that this is the weakest link in the system and we're SOL when it breaks.
21:18
< Syka>
but, naturally, one big thing costing a lot is worse than lots of little things costing elss
21:18
< Syka>
less*
21:18
<@Tamber>
...and adding up to more in the end?
21:19
< Syka>
actually, not really
21:19
< Syka>
BUT, it did move two different offices to symmetric fibre
21:19
< Syka>
uh, symmetric ADSL, probably
21:19
< Syka>
and fibre to the main office
21:19
< Syka>
with free data transfer between offices, as it was a private WAN
21:19
<&Derakon>
Oh look, it started working again.
21:20
< Syka>
with instant rerouting to another site in case we needed it (eg. our email server)
21:20
<&Derakon>
Frickin' unreliable hardware.
21:20
< Syka>
+ a whole lot of other shit
21:20
< Syka>
but nope
21:20
< Syka>
I had this whole plan, that our entire infrastructure was repeatable and decentralised
21:21
< Syka>
and that we could literally have everything in town fucked, and have IT be operational in six hours tops
21:21
< Syka>
and that if the main town gets wrecked, the failover at the airport would be green within three hours with only a day's data loss at maximum
21:21
< Syka>
but nope :(
21:22
< Syka>
'why are you bothering with disaster planning, when my iphone isn't syncing'~
21:49
<&McMartin>
13:10 < Syka> "GO AWAY, I'M BUSY FRYING THIS FISH" *shooting laser at a carp*
21:49
<&McMartin>
Someone's playing Dwarf Fortress in another channel, and that's producing yet *another* mental image tangent
21:49
<@Tamber>
:D
21:49
<&McMartin>
(As carp are the second deadliest creature in DF)
21:50
<@Tamber>
Suddenly, giant sponge
21:50
<&ToxicFrog>
McMartin: what are the deadliest now? Still hippoes?
21:51
<&Derakon>
In terms of dwarf kills racked up, surely it must be other dwarves, at the hands of the hapless player.
21:51
<@Tamber>
:D
21:54
<&McMartin>
ToxicFrog: I was under the general impression that the Forgotten Demons were still the deadliest, though not as much as they once were.
21:54
<&Derakon>
In terms of raw stats, I get the impression that the randomly-generated "titans" have the greatest potential.
21:54
<@Tamber>
Well, they sorta lost a lot of their scariness when people started building farms in hell.
21:55
< ErikMesoy>
randomly-generated titans with nasty combo abilities
21:55
<&Derakon>
Since you could end up with e.g. an adamantine statue whose touch releases lethal neurotoxins.
21:55
< ErikMesoy>
e.g. fliers that breathe poisonous dust
21:55
< ErikMesoy>
anything with poisonous blood, which spatters all over dwarves
21:55
<&McMartin>
Derakon: Heh. This guy got a titan made of snow
21:55
<@Tamber>
And the titans, depending on what you get, range from the laughable; to the "it was laughable, until a week later when the entire military dropped dead, and promptly reanimated as abominations hell-bent on destroying all life."
21:56
<&McMartin>
I forget if it got one-shotted by someone fixing their crossbow or if it was the one taken down by a weasel hanging out outside the fortress
21:56
<@Tamber>
Creatures made of steam, in the former case.
21:56
<@Tamber>
Which can be taken down by a terrified peasant.
22:11
<&Derakon>
Email subject: "Built-in FAP for Lomb-Scargle?"
22:11
<&Derakon>
I have no idea what that means but it sounds naughty.
22:14
<&Derakon>
(Scientific computing mailing list)
22:15
<@TheWatcher>
...
22:15 * McMartin adds "Lomb-Scargling" to his list of pretend expletives.
22:17
<@TheWatcher>
Something to do with least squares spectral analysis, it seems. FAP = false alarm probability.
22:17
<@TheWatcher>
Probably.
22:18
<&Derakon>
Anyway, I'ma vanish now.
22:18 Derakon [chriswei@Nightstar-a3b183ae.ca.comcast.net] has quit [[NS] Quit: leaving]
22:22 Pandemic is now known as VirusJTG
22:23 VirusJTG is now known as Pandemic
22:43 Vornicus [vorn@ServerAdministrator.Nightstar.Net] has joined #code
22:43 mode/#code [+qo Vornicus Vornicus] by ChanServ
22:46
< Azash>
23:45 <@S> #ifdef LOVE_LEGENDARY_UTF8_ARGV_HACK
22:46
< Azash>
23:45 <@S> Oh boy here we go
22:49
<&McMartin>
LEGEND OF UTF8 ARGV HACK
22:53 ErikMesoy is now known as ErikMesoy|sleep
23:01
< Azash>
McMartin: Do you know what it refers to?
23:03
<&McMartin>
No. If I had to guess it has to do with the fact that you can't guarantee what format argv is coming in as
23:03
< Azash>
Because I don't
23:03
< Azash>
But https://bitbucket.org/rude/love/src/7b1f10cd4dc6a642036585cb0b6fb3731adc838a/src /modules/love/love.cpp?at=default
23:04
<&McMartin>
I don't see it? Just a bunch of other legendary hacks that look like OS-specific #includes
23:05
<&McMartin>
My guess would be "no-op on Mac, which is generally UTF-8 locales by default, otherwise a couple of calls to CoreFoundation to do the conversion; Two syscalls on Windows to get the commandline as UTF-16 and then another to convert to UTF-8; and iconv forwarding on Linux"
23:07
<&McMartin>
This also reminds me; I'm going to need to roll out a simple UTF-8 codec in C soon for Monocle.
23:08
<&McMartin>
I've got a really nice one I wrote in Haskell a few years ago~
23:16
< Azash>
McMartin: 00:02 < Azash> Because I don't
23:16
< Azash>
I just put the link there because it had more of them :P
23:17
<&McMartin>
Aha, OK
23:17
<&McMartin>
Anyway, my guess stands
23:18
<&McMartin>
They want to use UTF-8 everywhere, but they can't guarantee that because not all system locales are UTF-8
23:19
<&McMartin>
So they have OS-specific code to do the conversion
23:21
< Azash>
Could well be
23:22 Derakon[AFK] is now known as Derakon
23:24
< AnnoDomini>
http://www.tenthdimension.com/medialinks.php
23:27 Reiv [NSwebIRC@Nightstar-95746c1f.kinect.net.nz] has joined #code
23:27 mode/#code [+o Reiv] by ChanServ
23:29 VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code
23:52 ktemkin is now known as ktemkin[awall]
--- Log closed Fri Aug 09 00:00:19 2013
code logs -> 2013 -> Thu, 08 Aug 2013< code.20130807.log - code.20130809.log >

[ Latest log file ]