code logs -> 2013 -> Fri, 14 Jun 2013< code.20130613.log - code.20130615.log >
--- Log opened Fri Jun 14 00:00:17 2013
00:31 You're now known as TheWatcher[T-2]
00:37 You're now known as TheWatcher[zZzZ]
01:28 * McMartin can't tell if he's a bad person or not
01:28
<@McMartin>
I need to test this deserializer.
01:28
<@McMartin>
One of the things you can deserialize are floating points
01:28
<@McMartin>
Which are noticably finicky when it comes to equality testing.
01:28
<@McMartin>
So I'm snprintf()ing the floats and comparing them against an answer key made of strings.
01:29
<@McMartin>
(with precision specifiers in the snprintf)
01:30
< [R]>
Seems sanish
01:32
< [R]>
I'm having issues using HTTP Auth with GitLab for pushing to the repository. Any ideas? I've been using my account UN/PW, sometimes with my email as the UN and even trying the bot-token.
01:36
< RichyB>
McMartin: in that case I'd really rather compare the sign and exponent bits directly then mask off the top (k) mantissa bits and compare.
01:38
< RichyB>
You can extract the sign bit trivially, the exponent bits with frexp(3)
01:38
< RichyB>
frexp(3) will return a double corresponding to the normalised mantissa too, so you can use arithmetic to compare those fuzzily.
01:40
< RichyB>
Unfortunately the C spec likes to be a little bit cagey about the exact representation of doubles, mostly only because it predates the ubiquity of IEEE754. :|
01:41
<@McMartin>
I'm assuming IEEE754, as it happens.
01:41
<@McMartin>
But checking bit patterns is not useful in this case
01:41
<@McMartin>
Because I *know* that part works, because that's tested by the "read 32/64-bit integer" functions.
01:41
<@McMartin>
This is testing the function "interpret that integer as a float/double"
01:43
< RichyB>
Wait, you're testing a deserializer.
01:43
<@McMartin>
Yes
01:43
< RichyB>
Just use exact equality checks.
01:44
<@McMartin>
The deserializer does not get to choose its serializer.
01:44
<@McMartin>
I'm feeding it data produced by Python and OCaml REPLs, as it happens~
01:45
< RichyB>
Sure, but regardless of where the data is coming from
01:45
< RichyB>
for any given input string, there is precisely one output value which makes sense
01:45
<@McMartin>
Um
01:45
< RichyB>
write some fixed tests that check fixed values.
01:45
<@McMartin>
The input is not a string
01:45
<@McMartin>
It's a binary blob
01:46
< RichyB>
It's a sequence of octets. That's what the word "string" means.
01:46
< RichyB>
If I'd meant "text" I'd have said that. :P
01:46
<@McMartin>
Right
01:46
<@McMartin>
But my source code is written in text.
01:47
<@McMartin>
Now, I mean, you could, I suppose, point out that the functions being tested are actually "You're just calling this other function and type-punning the result, you're allowed to assume the type pun Just Works and thus testing that other function tests this one"
01:47
<@McMartin>
That other function being "deserialize a 32/64-bit integer"
01:49
<@McMartin>
Exact equality does still work if I pick floats that are exactly representable in both decimal and IEEE754.
01:50
< RichyB>
erm
01:51
< RichyB>
Your source code lacks either a) a precise specification of which inputs in the source correspond to which numbers in memory or b) hexadecimal frigging float syntax?
01:52
<@McMartin>
Erm
01:52
<@McMartin>
Pretty sure C lacks the latter
01:53
<@McMartin>
I'm also pretty sure C lacks the former, and that if 123.456f matches the bit pattern of some other language's parse of that string it's due to lucky chance or that other language's parser being written in C itself
01:56
<@McMartin>
I would be entirely unsurprised if different compilers represented those two as 42 f6 e9 79 or 42 f6 e9 78
01:58
<@McMartin>
And testing "is this the float I get when I type-pun 0x42f6e979" is testing whether two calls to the function give the same value, after replicating the test where I load it as an integer and check if it's 0x42f6e979
01:59
<@McMartin>
Which would seem to defeat the purpose of testing *this* function.
01:59
< RichyB>
I'm confused and it's 2am. I give up.
02:00
<@McMartin>
I'm not even sure what you mean by "hexadecimal float syntax"
02:00
<@McMartin>
Beyond
02:00
<@McMartin>
# Int32.float_of_bits (Int32.of_int 0x42f6e979);;
02:00
<@McMartin>
- : float = 123.456001281738281
02:00
<@celticminstrel>
Didn't C add hexadecimal float syntax? Maybe I'm imagining things or getting confused with Java.
02:00
<@McMartin>
I have literally never heard of this, can you quote what it's supposed to look like
02:00
< RichyB>
One or the other did, yes. You can specify the exponent and mantissa directly.
02:00
<@celticminstrel>
Java has hexadecimal float syntax, something like 0x6f5241.745fcb36p+2
02:01 * celticminstrel makes up an arbitrary number for demonstration purposes.
02:01
< RichyB>
http://en.wikipedia.org/wiki/C_syntax#Floating_point_types
02:01
<@celticminstrel>
The P serves the role that E does in decimal float syntax.
02:01
< RichyB>
0xAp-2 for instance is 2.5.
02:02
<@McMartin>
OK, I have in fact never seen this before
02:02
< RichyB>
The reason why I waded incompetently into this discussion is that I want you to ditch the superstition that floating point comparisons are "finicky".
02:02 RichyB [RichyB@D553D1.68E9F7.02BB7C.3AF784] has quit [[NS] Quit: Gone.]
02:03
<@McMartin>
The only assumption here is "you don't get to assume the rounding rules are universal", which for decimal is enough to fuck it up.
02:03
<@McMartin>
Because IEE754 supports five.
02:06
<@McMartin>
The only reason I care is because the deserializer may be working on data that comes from elsewhere.
02:06 RichyB [RichyB@D553D1.68E9F7.02BB7C.3AF784] has joined #code
02:06
< RichyB>
Hehe
02:06
< RichyB>
Forgot that I set the box I run ZNC on to reboot once a night.
02:07
<@McMartin>
RichyB: Anyway, the bit I had missed was "Decimal-to-binary insists on round-to-even"
02:07
<@McMartin>
I was under the impression that both of the two bit patterns I listed would be legal, and this is not the case.
02:08
<@McMartin>
Since IEEE754 lists five rounding strategies in general.
02:09
< RichyB>
The reason why I waded incompetently into this discussion in the first place was to loudly assert that the assumption that you can *never* use precise comparisons on floating point numbers is superstition, dammit.
02:10
< RichyB>
As long as no one's assuming that it's impossible to expect exact results a priori, I'm cheerful.
02:14
<@McMartin>
Yeah, no, it wasn't that. It was "I do not believe I have a guarantee that all lexers will translate in a way precise enough that I can make unit tests not require human intervention without a rounding step", and that turns out to not be the case.
02:18
<@McMartin>
Though looking into it, that may or may not be the case from decimal, so I may have to go with hex floats here.
02:20
<@McMartin>
Yeah, that'll do, and it lets it be non-circular, which I'm considering very important.
02:20
< RichyB>
If you're extremely careful about getting exact results everywhere, you could end up filing a bunch of bugs against other peoples' parsers. ;)
02:21
<@McMartin>
I could, but that's a maintenance job charged to me that I don't want~
02:22
<@McMartin>
Yeah, reading this paper on floating point issues, "replayable test cases" is a place they call out not trusting parsers~
02:22
<@McMartin>
Compliant parsers have defined ranges of allowable error according to this
02:22
<@McMartin>
Granted, it's from 2008
02:28
<@McMartin>
Mmm, yeah. The C99 standard says that a decimal parse (or a hex parse on machines with non-power-of-two floating point radices :D) are allowed three values while still being compliant.
02:28
<@McMartin>
I get to assume a floating point radix of 2~
02:56 Typherix is now known as Typh|offline
02:56 jeff [NSwebIRC@2D9871.A95144.BF4039.EF335A] has quit [Ping timeout: 121 seconds]
03:13 Turaiel[Offline] is now known as Turaiel
03:21
<@McMartin>
Bleh. Third day in a row of 10+ hour days
03:23 Courage [Moltare@583787.FF2A18.190FE2.4D81A1] has joined #code
03:23 mode/#code [+o Courage] by ChanServ
03:23 Chutzpah [Moltare@583787.FF2A18.190FE2.4D81A1] has quit [Ping timeout: 121 seconds]
03:25 Courage [Moltare@583787.FF2A18.190FE2.4D81A1] has quit [Connection reset by peer]
03:28 Kindamoody[zZz] is now known as Kindamoody
03:30 Chutzpah [Moltare@583787.FF2A18.190FE2.4D81A1] has joined #code
03:32
< ktemkin[work]>
The "worst" are the days where I spend long hours re-doing/refactoring/trying to understand someone else's huge platform. At the end of the day, I've done a lot of work, but haven't really produced anything; so I'm biased towards feeling like I haven't gotten anything done.
03:33 VirusJTG_ [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [[NS] Quit: Program Shutting down]
03:36 * Vornicus gets around to poking at his code again. annoyment!
03:37 Typh|offline is now known as Typherix
03:48
< [R]>
... destroying and remaking the repo fixed it
03:55 * McMartin pushes his unit tests up to the monocle repo
04:41 Turaiel is now known as Turaiel[Offline]
04:41 Turaiel[Offline] is now known as Turaiel
05:04 ktemkin[work] is now known as sparkyh
05:05 sparkyh is now known as ktemkin[work]
05:41 jeff [NSwebIRC@2D9871.A95144.BF4039.EF335A] has joined #code
05:44 Derakon [Derakon@Nightstar-a3b183ae.ca.comcast.net] has quit [Connection reset by peer]
05:45 Derakon_ [Derakon@Nightstar-a3b183ae.ca.comcast.net] has joined #code
06:03 Turaiel is now known as Turaiel[Offline]
06:03 Typherix is now known as Typh|offline
06:08 Derakon_ is now known as Derakon[AFK]
06:18 ErikMesoy|sleep is now known as ErikMesoy
06:52 jeff [NSwebIRC@2D9871.A95144.BF4039.EF335A] has quit [Ping timeout: 121 seconds]
07:37 Syka_ [the@Nightstar-6e486a10.iinet.net.au] has quit [Ping timeout: 121 seconds]
07:39 Syka [the@Nightstar-2852d976.iinet.net.au] has joined #code
07:39 Xon2 [Xon@9C034E.A7474E.446F1A.DEA144] has joined #code
07:40 Xon [Xon@Nightstar-362effcc.highway1.net.au] has quit [Ping timeout: 121 seconds]
07:53 ktemkin[work] is now known as ktemkin[avol]
08:02 Kindamoody is now known as Kindamoody|afk
08:11 * jeroud will hopefully have both energy and brain to look at monocle over the weekend.
08:31
<~Vornicus>
jer, why are you jeroud?
08:32
< jeroud>
Vornicus: IRCCloud. Their Android app is actually kind of usable.
08:34
<~Vornicus>
I've been doing well with AndChat.
08:37
< jeroud>
IRCCloud is a web-based thing that keeps persistent connections and logs and things.
08:39
< jeroud>
It costs money, except they aren't enforcing limits on the things you have to pay for while they're in beta.
08:39
< jeroud>
So I'm getting it free.
08:40 * jeroud drives to the office.
08:52 You're now known as TheWatcher
08:55 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!]
09:22
<@Tarinaky>
I've successfully. managed to both wake up and set up my laptop to do work.
09:22
<@Tarinaky>
Now I can go back to bed.
09:52
<@Tarinaky>
Damnit... My laptop's useless :/
10:50
<@Tarinaky>
Stupid question: how do you render to a texture in OpenGL?
10:51
<@Tarinaky>
I'm looking at using svg for some assets as it'll solve some problems I'm having; but the library I'm looking at to render them renders straight to the display... which probably isn't what I want to do.
11:02
<@Tarinaky>
Ahah. Never mind, I think I see it.
11:10 Vornicus [vorn@ServerAdministrator.Nightstar.Net] has quit [[NS] Quit: Leaving]
11:12
<@Tarinaky>
Oh fuck's sake. Why won't inkscape compile :/
11:13
< RichyB>
jeroud: if you wanted to set up persistent IRC for yourself, you could run ZNC and point an ordinary IRC client at it.
11:14
< RichyB>
Naturally that involves finding a place to run the ZNC daemon, which is generally going to mean a shell account somewhere, which is generally going to cost money. :)
11:14
<@Tarinaky>
Any clue if there's a portable version of inkscape for Linux :/
11:21
<@Tarinaky>
There's something seriously wrong when I'm having to run a GPL program through Wine :/
11:24 VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code
11:33
< RichyB>
What?
11:34
< RichyB>
Can't you just use Inkscape out of your repos?
11:34
<@Tarinaky>
The short answer is "No."
11:35
<@Tarinaky>
The long answer is "Not without breaking the laptop in the process"
11:36
<@Tarinaky>
The longer answer is "I am using Arch Linux and haven't updated in about 2 years. In order to use the arch linux 'repo' I need to reinstall the whole laptop, which I am not going to do."
11:36
< RichyB>
Mother of pearl! How do you have an Archlinux that's 2 years out of date!?
11:37
<@Tarinaky>
By compiling userspace software instead of installing it.
11:37
<@Tarinaky>
I got fed up of Arch Linux wanting to break my wireless drivers if I wanted to install something to get work done.
11:40
< RichyB>
http://0install.net/package-inkscape.html suggests that there exists a statically-compiled RPM... somewhere on the internet... which could be unpacked on non-rpm systems.
11:43
<@Tarinaky>
I think it's referencing Inkscape's wiki on how to build a statically compiled inkscape.
11:43
<@Tarinaky>
Which... is useless in this instance >.>
11:45 * TheWatcher argflails at this code
11:46
<@TheWatcher>
Zathras warned them. Yes, yes he did. Zathras warned them, but nobody listens to Zathras! "We're sure you can get this to work!" they said, but Zathras told them it was the wrong way to do it, didn't he?
11:47
<@Tarinaky>
TheWatcher: Which Zathras? :p
11:48
<@TheWatcher>
Zathras, of course. Zathras and Zathras are lousy at coding.
11:48
<@Tarinaky>
:)
11:57
<@Tarinaky>
RichyB: Workaround. Installing 0install >.>
11:57
<@TheWatcher>
Also, in an entirely unconnected matter, why do we not have 3D holographic whiteboards yet, damnit?
12:01
< AnnoDomini>
FDA ban.
12:02
<@TheWatcher>
Damned gubmint!
12:03 * TheWatcher shakesfist
12:03
<@Tarinaky>
I have enough trouble writing on a 2D whiteboard without smearing it with the side of my hand.
12:04
<@Tarinaky>
I really don't need to be keg-handed in 3 dimensions :/
12:18 * Alek headdesks.
12:19
<@Alek>
so I've been trying to figure out how to make a tweetbot to retweet one specific account's tweets, and only those containing certain keywords. for notification.
12:20
<@Alek>
I finally see a way to do it. I make a twitter account, figure out I put in the email wrong, fiddle about until I fix it, and start working on the bot itself.
12:20
<@Alek>
then I see that there already is an account doing what I wanted.
12:21
<@Alek>
it was just hard to find in the first place.
12:21
<@Alek>
o_o
12:26 cpux|2 [cpux@Nightstar-98762b0f.dyn.optonline.net] has quit [Client closed the connection]
12:51 Syka_ [the@Nightstar-03228f94.iinet.net.au] has joined #code
12:54 Syka [the@Nightstar-2852d976.iinet.net.au] has quit [Ping timeout: 121 seconds]
12:56
< [R]>
Tarinaky: build it from abs?
12:56
< [R]>
Or did you not install base-devel?
12:57
< [R]>
But yeah, I feel your pain@Arch updates.
12:59
<@Tarinaky>
[R]: ABS has the issue that it'll want dependancies from the arch linux repo.
13:00
<@Tarinaky>
Honestly, this isn't an arch system any more.
13:00
< [R]>
abs is just a rsync script
13:00
<@Tarinaky>
Yeah, but makepkg and pacman -U check dependancies.
13:01
<@Tarinaky>
And I'm quite capable of googling a package and downloading and extracting a tarbell without a shell script >.>
13:01
<@Tarinaky>
*tarball
13:01
< Syka_>
needs more tarbell
13:01
<@Tarinaky>
>.>
13:01 * Tamber sticks bells to Syka with tar.
13:01
< Syka_>
:>
13:02
<@Tarinaky>
How do I into spelling.
13:02
< Syka_>
Tamber: is that my punishment
13:02
<@Tarinaky>
If I had time I should /probably/ reinstall the laptop with Ubuntu or something.
13:02
<@Tarinaky>
But that would then require me learning a completely new way of Linux.
13:03
< Syka_>
what, one that works :P
13:03
<@Tarinaky>
As well as lots of swearing because the default desktop environment is too much gun for this laptop.
13:03
<@Tarinaky>
Syka_: I've only ever used two distros: Slackware and Arch.
13:03
<@Tarinaky>
What do you mean it doesn;t have an /etc/rc.conf >.>
13:03
< [R]>
Heh
13:03 * [R] misses Arch's init scripts so much
13:04 * Syka_ doesn't :|
13:04
< Syka_>
well
13:04
< Syka_>
i don't miss arch on the whole
13:04
< [R]>
I miss old Arch.
13:04
< Syka_>
it was good for a while, but then nearly everything broke
13:04
< [R]>
Before it head-dove into the shitter
13:04
<@Tarinaky>
I want a distro that's basically Arch Linux circa 2007/8 except with an up to date userspace.
13:04
< Syka_>
and I was like NOPE CAN'T BE STUFFED
13:04
<@Tarinaky>
Fuck the kernel space.
13:04
< [R]>
Still in the process of moving to Gentoo
13:05
<@Tarinaky>
My main reason for wanting a package manager is precompiled binaries >.>
13:05
<@Tarinaky>
Compiling is... the painful bit.
13:05 * [R] has enough machines that distcc should remove the pain of that.
13:06
<@Tarinaky>
I have a dirt cheap refurb'd laptop I got instead of a netbook.
13:07
<@Tarinaky>
Because it was cheaper than a netbook for more or less the same power.
13:07
<@Tarinaky>
Albiet bigger and with worse battery life.
13:08 * [R] has been tempted to make his own distro multiple times
13:08
< [R]>
But fears that's a project where help is manditory.
13:10
<@TheWatcher>
Well, it'd probably leave you needing help, anyway~
13:10
< [R]>
Hmm?
13:10
<@Tamber>
"If you're thinking of starting a distro, get help. That's not a normal thing..."
13:10
<@Tamber>
(Why, yes, I have considered it myself. :p )
13:14
< [R]>
With what goals?
13:14
<@TheWatcher>
To show them all how it's done, obviously~
13:15
<@Tamber>
Mostly, seeing if I can; with a side helping of doing the /lib | /usr/lib merge the *right* way 'round.
13:15
<@Tamber>
(That is, merge to /lib. Rather than /usr/lib~)
13:18
< RichyB>
Tarinaky: I'm having a jolly old time with Fedora 18 thus far. :)
13:19
< RichyB>
I think that if you start with a minimal install and then "yum groupinstall 'Mate Desktop'" then you end up with a pretty sensible set-up.
13:19
< [R]>
I'm finding yum to be pretty stupid
13:20
< [R]>
In regards to when it wants to spend 10 minutes pulling updates, and the fact it'll do that twice if I accidentally call yum search as a user.
13:21
< [R]>
Then again with sudo yum install.
13:22
< [R]>
Also 0-5 minutes for sudo to display the password and not using gnome causing the sound system to no start etc...
13:22
< RichyB>
Downloading the package indexes too often is a PITA.
13:22
< RichyB>
OTOH, not having to deal with the maintainer scripts that Debian and Ubuntu people like to write for fun is just blissful.
13:22
< [R]>
Maintainer scripts?
13:23
< [R]>
Also, don't get me started on those shit piles (Debian/Ubuntu)
13:23
< Syka_>
is it still impossible to install nvidia drivers on fedora
13:23
< RichyB>
Syka_: empirically no.
13:23
< Syka_>
last time i tried, it was a billion step process
13:23
< Syka_>
that required fucking with the kernel
13:23
< RichyB>
Also no.
13:24
< Syka_>
i also mean the binary drivers
13:24
< RichyB>
As do I.
13:24
< Syka_>
http://www.if-not-true-then-false.com/2011/fedora-16-nvidia-drivers-install-guid e-disable-nouveau-driver/
13:25
< Syka_>
wait
13:25
< Syka_>
nope
13:25
< Syka_>
fedora 18 is still crippled in that respect
13:25
< RichyB>
It's "add rpmforge, yum install these packages"
13:25
< Syka_>
does fedora not use DKMS?
13:25
< [R]>
What are maintainer scripts?
13:26
< RichyB>
[R]: "maintainer scripts" are sh files bundled into .debs that are triggered on certain package actions such as upgrades, installation and removal.
13:26
< [R]>
Oh
13:26
< [R]>
So those are the things to blame with Debian's idiotic postfix package.
13:26
< Syka_>
yeah they don't use dkms
13:26
< Syka_>
lol
13:27
< RichyB>
e.g. the postgresql package in Ubuntu has some really buggy ones that try to set up a default-shaped database for you
13:27
< Syka_>
works for me(tm)
13:27
< RichyB>
Syka_: whatever it is (akmod?) that they're using now is working just fine for me right now.
13:28
< Syka_>
also, while i'm being an opinionated prick
13:28
< Syka_>
yum is stupid
13:28
< RichyB>
A bit.
13:28
< Syka_>
rpm is also stupid
13:28
< RichyB>
I'd like it more if it were a bit dumber again.
13:29
<@TheWatcher>
ALL DISTRO PACKAGE MANAGERS EVER ARE STUPID!~
13:29
< [R]>
At least RPM has a memorable number of steps to make a package.
13:29
< [R]>
But the fact that it's still using cpio in 2013 is UGH.
13:29
< RichyB>
My favourite package manager thus far has been pacman, which is the dumbest and also most robust of the lot.
13:29
<@Tarinaky>
On the subject of projects that indicate mental health issues I did once contemplate how much work would be involved in writing a toy kernel.
13:29
< [R]>
Debian is all like "making packages is a 16 step process."
13:29
< RichyB>
[R]: the correct way to make RPMs for your own stuff is fpm, which makes it a 1-step process.
13:30
< RichyB>
fpm can also spit out debs in a 1-step process.
13:30
<@Tamber>
[R], "...sometimes. Under a full moon, on a Tuesday."
13:30
<@TheWatcher>
Tarinaky: actually, that's an interesting process, and something I think any CS student should attempt
13:30
< RichyB>
Tarinaky: quite a lot! But you'll be in good company.
13:30
<@Tarinaky>
The key difference between a worthwhile project and masochism is your definition of the word toy I imagine.
13:30
< [R]>
<RichyB> My favourite package manager thus far has been pacman, which is the dumbest and also most robust of the lot. <-- used to be the most robust. Then the idiocy set in, and now it's all poisoned.
13:30
<@Tarinaky>
It was about the only thing I could think of doing with a Rasberry Pi.
13:31
<@Tarinaky>
Which indicates my complete lack of imagination :/
13:31
< RichyB>
[R]: ?
13:33
< RichyB>
Previously I've seen things like a temporarily-faulty filesystem buggering up an upgrade in Arch, and issuing "pacman -Ssomething_i_can't_remember" fixing everything by simply re-running all package installations over the top of the broken installs.
13:33
< [R]>
RichyB: `-r` hasn't worked for ages. The new GPG stuff is buggy as hell and apparently doesn't work unless you have a fresh install. It depends on OpenSSL for the most stupidest of resons (it calls one function, doesn't try to gracefully fall-back).
13:33
< RichyB>
o_O
13:33 * [R] misses -r so much
13:34
< [R]>
AIS is kind of nice. But it's pretty fucking heavy.
13:34
< RichyB>
Y'okay. Previously I've had the experience that pacman is a beautiful package manager just because it's so simple, but the problem is that you have to use Arch.
13:34
< [R]>
Aye
13:34 * [R] loves old pacman
13:34
< RichyB>
I would describe Arch as very nice except that the maintainers like to make "cute" decisions, like "let's switch from cdrecord to wodim even though the latter is massively buggy right now and the fork is only for trivial ideological reasons anyway"
13:35
< [R]>
Wow. When did you say you stoped using Arch again?
13:36
< [R]>
Because I'd have started with "Lets make it so you have to upgrade glibc last. But sometimes you can upgrade core-utils first and have them break anyways."
13:36
< RichyB>
AIUI they once did "let's call the Python 3 binary 'python' and the Python 2.7 binary 'python2.7'. I'm sure no programs will possibly break and all of the upstream package maintainers will love the bug reports that our users file against them for having the gall to assume that 'python' is python2."
13:36
< [R]>
Heh
13:36
<@Tarinaky>
To be fair... that's actually the norm now.
13:36
< [R]>
Yeah that's annoying
13:37
<@TheWatcher>
it...is?
13:37
< RichyB>
Tarinaky: what, python3 as 'python'?
13:37
< Syka_>
Tarinaky: it is?
13:37
< Syka_>
Tarinaky: news to me
13:37
<@Tarinaky>
It is on cygwin anyway.
13:37
< RichyB>
Fedora 18 doesn't. Ubuntu 12.04 doesn't.
13:37
<@Tarinaky>
Which is the only other distro I use regularly.
13:37
< RichyB>
Yeah, but Cygwin is full of spiders too.
13:37
<@Tarinaky>
Cygwin is designed to run on Windows /of course/ it's full of spiders.
13:38
< Syka_>
it's a spider abstraction layer
13:38
<@Tarinaky>
Frankly I'm glad they're not /seriously/ venemous.
13:38
<@Tamber>
tamber$> python
13:38
<@Tamber>
Python 3.2.3 (default, May 23 2013, 05:27:38)
13:38
< Syka_>
ls -la /usr/bin/python
13:38
< Syka_>
lrwxrwxrwx 1 root root 9 Feb 10 13:24 /usr/bin/python -> python2.7
13:38
<@Tarinaky>
I, personally, blame Python devs for the whole problem.
13:39
< Syka_>
guido should have contracted Valve syndrome
13:39
< Syka_>
everyone knows they can't count to three
13:39
< [R]>
Heh
13:40
< Syka_>
half life 2.7
13:40
< [R]>
Guido is Python's BDFL?
13:40
< RichyB>
Yes.
13:40
< Syka_>
guido van rossum, yes
13:40
<@Tarinaky>
Python3 should have had import past.
13:40
<@Tarinaky>
:p
13:40
< Syka_>
i think he was the original bdfl?
13:41
<@TheWatcher>
Syka_: "should have contracted valve syndrome" - now I'm sad again >.<
13:41
< Syka_>
TheWatcher: technically they can make the third game
13:41
< Syka_>
but they just won't call it 3
13:41
< Syka_>
cs:go is #3
13:41
< RichyB>
Larry Wall is also a BDFL and Perl is older than Python.
13:41 * [R] should really start playing with Stow
13:41
<@Tamber>
Syka: Half-Life 2.999999999999999999997?
13:42
< RichyB>
I'm not sure if the term was invented specifically for Guido though.
13:42
< RichyB>
Tamber: Intel Pentium(R) FPU edition! :D
13:42
<@Tamber>
:D
13:42
< Syka_>
heh
13:42
< Syka_>
or floating point edition
13:44
<@TheWatcher>
relevant to this conversation: http://www.smbc-comics.com/index.php?db=comics&id=2999#comic
13:44
<@Tarinaky>
Is this tha 0.1+0.2=0.3004 joke?
13:44
<@TheWatcher>
Maybe >.>
13:44
<@Tamber>
:)
13:48
< Syka_>
"Add the oil, chicken and onions, and stir until the onions are translucent and the chicken is no longer a health code violation."
13:59 * Tamber squints.
13:59
<@Tamber>
"Set if sign bit incorrect" ...but how do you tell if the sign bit is 'incorrect'? *headscratch*
14:00
<@Tamber>
Aha
14:02
< AnnoDomini>
Arbitrary decision.
14:03
<@Tamber>
"Carry indicates unsigned overflow. Overflow indicates signed overflow." apparently
14:14
<@Tarinaky>
Fuck. I'm getting nowhere with this. :/
14:16
<@Tarinaky>
Does anyone know if there's a flavour of debian that'll play nice with openbox?
14:18
<@Tarinaky>
Oh cock. I can't download anything till the 19th.
14:18
<@Tarinaky>
Back to trying to get inkscape to actually work >.>
14:19
<@TheWatcher>
Tarinaky: if you'd like, I could try building you a static link install, I guess. x86 or x86_64?
14:23
<@Tarinaky>
x86.
14:23 * Tarinaky glares at the ubuntu website.
14:24
<@Tarinaky>
I followed links to find a download link for lubuntu and it gives me a .deb file.
14:24
<@Tarinaky>
How the hell am I meant to boot from that?
14:25
< Syka_>
are you sure it's not the lubuntu master package
14:25
< Syka_>
Tarinaky: https://help.ubuntu.com/community/Lubuntu/GetLubuntu this lubuntu site?
14:26
<@Tarinaky>
Syka_: That's where I started.
14:26
< Syka_>
um
14:26
< Syka_>
the buttons are direct links to ISOs?
14:27
<@Tarinaky>
Oh. I didn't see the buttons :/
14:27
<@Tarinaky>
I clicked Minimal Install in the menu.
14:28
< Syka_>
so you got http://packages.ubuntu.com/raring/lubuntu-core ?
14:28
< Syka_>
because that is the master package :P
14:29
<@Tarinaky>
Eugh. I really don't want to have to reinstall my entire system :/
14:29
<@Tarinaky>
So much :effort:
14:32 * Tarinaky sighs... it's got to be done I suppose.
14:33
<@Tamber>
I had that forced on me with a hard-drive failure. Kinda sucked, but it saved me from having to figure out what I didn't use and should uninstall :D
14:34 * Tarinaky idly contemplates the wisdom of trying to install apt on top of his existing mess.
14:34
<@Tarinaky>
I have determined there's probably no wisdom in it.
14:40
<@Tarinaky>
TheWatcher: Have you started compiling inkscape? I might just nuke this laptop instead >.<
14:40
<@Tarinaky>
Since the iso is only 29M...
14:40
<@Tarinaky>
Wait...
14:41
<@Tarinaky>
Oh hang on I've fucked something up.
14:41
<@Tarinaky>
And it's the weekend. No chance of getting anything like this done now :/
14:42
<@Tarinaky>
Ah, I do have the iso... it's just called something silly.
14:42
<@TheWatcher>
I'm compiling dependencies right now, haven't got to inkscape itself yet.
14:44
<@Tarinaky>
Ctrl+C it.
14:44
<@Tarinaky>
I'm just going to nuke my laptop.
14:44
<@TheWatcher>
fair enough
14:44
<@Tarinaky>
Sorry for wasting your time and cycles >.>
14:44
<@TheWatcher>
Naah, I was doing it on a work machine anyway ;)
14:46
<@Tarinaky>
Now to figure out how to put my wireless firmware on the iso :/
14:46
< Syka_>
usb drive?
14:47
<@Tarinaky>
Yeah.
14:48
<@TheWatcher>
What on earth is it that it isn't in a normal kernel?
14:48
<@Tarinaky>
I think I can just drop it onto the partition if I can find the right file to drop.
14:48
<@Tarinaky>
b43 firmware.
14:49
<@TheWatcher>
oh, fun.
14:54 * Tarinaky glares.
14:54
<@Tarinaky>
I just extracted a .deb file and I can't see any kind of metadata file.
14:54
<@Tarinaky>
I /think/ it must have some sort of shell script associated with it.
14:55
<@Tarinaky>
I'm guessing a .deb must be somehow more complicated than an archive format with some metadata at the root?
14:55
<@Tarinaky>
*metadata text files at the root
14:57
<@Tarinaky>
I must be missing something... how're you supposed to inspect a binary package >.<
15:19
< Syka_>
Tarinaky: um
15:19
< Syka_>
thats exactly what a .deb is
15:19
< Syka_>
a .deb will contain like three folders or so
15:19
< Syka_>
oh, some
15:20
< Syka_>
it'll contain DEBIAN at the top level, and then the file structure
15:20
< Syka_>
DEBIAN/control holds the metadata
15:28 Syka_ [the@Nightstar-03228f94.iinet.net.au] has quit [Ping timeout: 121 seconds]
15:49
<@iospace>
two space tabs make me sad :<
16:39 jeff [NSwebIRC@2D9871.A95144.4324F5.614CD1] has joined #code
17:22
<@iospace>
so much debugging code D:
17:23
<@Tarinaky>
Can anyone tell me how to connect with my wireless on Ubuntu?
17:23
<@Tarinaky>
I think there's something running since it'll tell me I disconnected the wired connection.
17:23
<@Tarinaky>
But nothing to click on.
17:24
<@Tamber>
I'd suspect Notwork-Mongler, but that's usually in the system tray and fairly obvious
17:25
<@Tarinaky>
I don't have a system tray because Openbox.
17:26
<@Tarinaky>
I need wireless to install one.
17:26
<@Tamber>
Ah
17:26
<@Tarinaky>
Network manager refuses to start as it is already running.
17:26
< ErikMesoy>
Last time I used Ubuntu, I did something like "iwconfig eth0" and that's all I remember.
17:28
<@Tarinaky>
I need to enter the WPA password... somehow.
17:32
<@TheWatcher>
you need to use wpa_supplicant I think
17:33
<@TheWatcher>
http://ubuntuforums.org/showthread.php?t=571188
17:33
<@Tarinaky>
I got it, I needed nm d wlan0 connect <ssid>
17:34
<@Tarinaky>
Obviously.
17:34
<@Tarinaky>
*nmcli d wlan0 connect <ssid>
17:34
<@Tamber>
Ah, of course. So blindingly obvious.
17:34
<@Tarinaky>
Argh. My keyboard layout is wrong.
17:38
<@iospace>
i love it when your debug code will muck up everything
17:38
<@iospace>
and you catch it after you built and programmed Dx
17:39 jeff [NSwebIRC@2D9871.A95144.4324F5.614CD1] has quit [Ping timeout: 121 seconds]
17:59 Typh|offline is now known as Typherix
18:02 AnnoDomini is now known as AlexWright
18:03 * McMartin notes in passing that MSYS is full of fewer spiders than Cygwin because it doesn't try to pretend fork() exists
18:04
<@Tarinaky>
MSYS has fewer spiders because it does less.
18:04
<@Tarinaky>
I don't use Cygwin because I want gcc.
18:04
<@Tarinaky>
I use Cygwin because I secretly wish I was using linux, am a console jokey and don't want to learn powershell.
18:06
<@McMartin>
MSYS is minimalist, yeah
18:06
<@McMartin>
Though maybe I don't console as much because all the CLI tools I tend to use MSYS has.
18:07
<@McMartin>
What are the big things missing on the CLI side?
18:07
<@McMartin>
(The *big* thing missing is the X Server but for reasons I've never nailed down I've always had bad experiences with it)
18:07
<@Tamber>
Reason #1: X.
18:07
<@Tamber>
~.^
18:08
<@McMartin>
OK, I clearly misread "console jockey" there
18:10 * Tamber is being only slightly facetious regarding "reasons [...] I've always had bad experiences with it"
18:10
<@McMartin>
Oh
18:10
<@McMartin>
Yeah, no, not that kind
18:10
<@McMartin>
The "trying to start a remote terminal window hardlocks my system" kind
18:10
<@McMartin>
it was something environmental. Never did work out what.
18:10
<@Tamber>
Yeouch. :/
18:11
<@Tarinaky>
McMartin: rsync and ssh are the two programs I use most.
18:11
<@Tarinaky>
wget is somewhere in the running.
18:11
<@Tarinaky>
(Excluding basic file io ofc)
18:12 Tarinaky is now known as Rodney
18:12
<@McMartin>
Wow, wget
18:12
<@McMartin>
My linux machines yell at me when I use wget these days~
18:12
<@Rodney>
Why? It's easier to use than curl >.>
18:13
<@McMartin>
That might be the reason~
18:13
<@McMartin>
But they were actual console warnings along the lines of "dude, wget is old and busted, start using curl like civilized human beings"
18:13
<&jerith>
RichyB: I have a box that I run irssi and ZNC on. I'm using IRCCloud because it has the only usable Android IRC client I've found and the client only talks to them.
18:14
< ErikMesoy>
I have a WTF to report from work today.
18:14
< RichyB>
jerith: AndChat doesn't talk to ZNC?
18:14
< RichyB>
ZNC pretends to be a real IRC server.
18:15
< ErikMesoy>
I was going through the test suite for a database and found a test that was like "Fill in the values. Duration:25, Type:DCE" and so forth, until it got to "Host ID: (fill in after migration)" where the parenthesis was in red text.
18:15
<&jerith>
RichyB: Yes, but AndChat is the best of the not-really-usable clients.
18:15
< ErikMesoy>
This looked very important, so I asked my manager. Turns out that migration was the one of moving the database off DOS years ago, and nobody has updated the test since then.
18:16
<@McMartin>
</3
18:18
< RichyB>
jerith: heh, k.
18:18
<&jerith>
RichyB: Also, IRCCloud gives me push notifications on highlights even if the phone does't have an active connection.
18:18
<&jerith>
(This is more useful than I had expected.)
18:19
<@McMartin>
jerith: If you do get around to looking at monocle this weekend, be aware that the spec is ahead of the implemenation~
18:19
<@McMartin>
Actually, spec > header file > implementation > test suite
18:19
<&jerith>
McMartin: Noted. Also expected. :-)
18:19
<@McMartin>
Hoping to swap those last two this weekend myself.
18:20
<&jerith>
The fact that you actually have tests makes me happy.
18:20
<@McMartin>
I learned new things about language features in C as a result!
18:20
<@McMartin>
I'm not sure if that's good or bad~
18:21
<&jerith>
And the fact that just having tests in a project is enough to make me happy makes me sad.
18:21
< RichyB>
jerith: cool!
18:21
< ErikMesoy>
Learning is good. *nods sagely*
18:21
<@McMartin>
I'm not sure if my event subscriber model is too clunky. :/
18:21 * McMartin ditched the callbacks, isn't convinced what he's replaced it with is right.
18:22
<&jerith>
RichyB: When IRCCloud starts charging money I'm going to have to make some kind of decision.
18:22
<&jerith>
McMartin: Deferreds! Promises! Futures! (Probably all clunky and hard in C.)
18:22
<@iospace>
oi
18:22
<@iospace>
what's wrong with C? :<
18:22
<@McMartin>
It has function pointers instead of closures, basically
18:23
<&jerith>
iospace: It's lower-level than this job really needs.
18:23
<@iospace>
ah
18:23
<@McMartin>
But more seriously, because my API is a *subset* of C, one that doesn't have function pointer arguments but also doesn't have mandatory transparent structure arguments either.
18:24
<@McMartin>
This is a restriction to make the exported API trivial to bind to other languages.
18:24
<&jerith>
But it's the only realistic choice if you want to make FFI bindings possible.
18:24
<@McMartin>
jerith: The basic notion is that the primitives are "give me a new subscriber ID" and "subcribe ID X to event type Y"
18:25
<&jerith>
McMartin: Are function pointer arguments problematic?
18:25
<@McMartin>
Game objects are a special kind of subscriber that carry additional state and can subscribe to events like "collision with background"
18:25
<@McMartin>
If I *can* avoid them I want to.
18:25
<@McMartin>
And I think I can; a callback layer should be trivially implementable on top of the system it exposes.
18:25
<&jerith>
Ah.
18:26
<@McMartin>
I'm trying to decide whether I should fire an event for "end of frame"
18:28
<@McMartin>
Hrm. "Interframe" would be better.
18:29
<@McMartin>
I'm not worried about that yet, though. Non-game objects can only subscribe to UI events
18:29
<@McMartin>
And this actually will lend itself neatly to a prototype system!
18:29
<@McMartin>
Which I'm not going to design until I hit the game object layer, but which will probably end up at the primitive subscription layer.
18:32
<@McMartin>
Hmm.
18:33
<@McMartin>
Looking at my tests, I now think the behavior is wrong.
18:33
<@McMartin>
It's not completely obvious that there is a right way and a wrong way, but: When add resource directories/zipfiles/archives/etc, the ones added later should have priority, yes?
18:34
<&jerith>
McMartin: Either earlier or later, but consistent.
18:34
<&jerith>
I think later suits more kinds of things.
18:35
<@McMartin>
Yeah, right now it's consistently earlier, and that strikes me as the wrong choice.
18:35
<@McMartin>
Gonna flip that
18:49 Typherix is now known as Typh|offline
18:51 Kindamoody|afk is now known as Kindamoody
18:53 ktemkin[avol] is now known as ktemkin
19:14 jeff [NSwebIRC@2D9871.A95144.4324F5.614CD1] has joined #code
19:50
<@McMartin>
Also going to fix the spec so it actually says it explicitly; right now it just says "add {source} to the resource search path"
19:51
<@McMartin>
Mmm, that means using reverse iterators, maybe I should explicitly make these a linked list
19:54
<@McMartin>
Also, bleh
19:54
<@McMartin>
Error reporting is going to be tricky and I'm all over the place on this right now
19:55
<@McMartin>
I should probably mimic SDL.
20:01 Kindamoody is now known as Kindamoody[zZz]
20:03
<@McMartin>
Also, these aren't really tests yet, because none of them handle expected failure cases
20:03
<@McMartin>
That's secondary to "expected non failure cases don't fail", though
20:17
< jeroud>
C's lack of exceptions is annoying.
20:21
<@iospace>
jerith: goto
20:21
<@iospace>
:P
20:39
<&ToxicFrog>
iospace: I think you mean longjmp
20:40 Syka [the@A6D346.0419D1.386664.7A31A2] has joined #code
20:42 * iospace facepalms
20:50 * AlexWright glares daggers at the Debian game developers.
20:50
<@McMartin>
Oh *dear*
20:50
< AlexWright>
It's a bit amazing, but they managed to fuck up Minesweeper.
20:50
<@McMartin>
wat
20:51
< AlexWright>
YOU DO NOT CHANGE THE WAY CLICKING WORKS IN MINESWEEPER, YOU FOOLS!
20:51
<@McMartin>
waaaaaat
20:51
< sshine>
haha
20:51
< sshine>
someone could explode on a mine and die!
20:51
< ErikMesoy>
What.
20:52
<@McMartin>
No, seriously, like, is right click "step" now or...?
20:52
< AlexWright>
McMartin: RMB+LMB normally reveals squares if the square you targeted had all the mines marked around it accordingly.
20:53
< AlexWright>
But if I try that in this version, it freezes the game until I click something else.
20:53
< AlexWright>
In this version, you only LMB to reveal.
20:53
< AlexWright>
It's a bit hard to explain. This is all in my muscle memory.
20:53 * McMartin nods
20:53
<@McMartin>
That's an advanced technique I didn't know in Windows Minesweeper >_>
20:54
<@McMartin>
But regardless, "game loops freezes" is incorrect behavior~
20:55 * AlexWright probably could compete in local tournaments, if he knew of any.
20:55
<@McMartin>
Hm
20:56
<@McMartin>
Do you know of them in general?
20:56
<@McMartin>
Getting a "fair" Minesweeper tournament seems like an interesting problem.
20:56
<@McMartin>
Fixed seed, fixed initial reveal?
20:56
< AlexWright>
Yeah. There are rankings online. Seems like a few federtions out there.
20:56
< AlexWright>
*federations
20:57
< AlexWright>
IIRC, they allow the Windows version, and Minesweper Clone.
20:57
<@McMartin>
Right, what I mean is, some configurations are easier than others, and there's always a risk that the first reveal explodes, or is a 4 instead of a pack of 0s.
20:58
<@McMartin>
So I'm imagining some kind of duplicate bridge setup
20:58
< AlexWright>
Yeah, it's a well known issue that there's one particular configuration in the MS version that lets you finish Expert in record time, if you start on a new Windows install.
20:59 jeff [NSwebIRC@2D9871.A95144.4324F5.614CD1] has quit [[NS] Quit: Page closed]
20:59
<@McMartin>
... Shit, am I confusing FreeCell and Minesweeper
20:59
<@McMartin>
I might be
21:00
<@McMartin>
I know FreeCell lets you name the seed. Does Minesweeper?
21:00
< AlexWright>
I don't thinks o.
21:03
< ErikMesoy>
Pretty sure Minesweper is guaranteed to have the first tile be a 0
21:03
< AlexWright>
Yes.
21:08 Typh|offline is now known as Typherix
21:13 Vornicus [vorn@ServerAdministrator.Nightstar.Net] has joined #code
21:13 mode/#code [+qo Vornicus Vornicus] by ChanServ
21:55 jeff [NSwebIRC@2D9871.A95144.4324F5.614CD1] has joined #code
22:20 AlexWright is now known as AnnoDomini
22:26 Derakon [chriswei@Nightstar-a3b183ae.ca.comcast.net] has joined #code
22:26 mode/#code [+ao Derakon Derakon] by ChanServ
22:27 * Derakon spends most of the day debugging a problematic function, only to determine at the end that WTF, it should work, the code is right, the result is still wrong. >.<
22:32
< [R]>
Code of GTFO
22:32
< [R]>
or*
22:33
<&Derakon>
Uh, okay, if you really want it... http://pastebin.com/rgKVGPhw
22:35
<&Derakon>
Have fun trying to understand that without context, though!
22:42
< [R]>
You have an import in the middle of a loop...
22:42
<&Derakon>
Yeah, that's for debugging.
22:42
<&Derakon>
I left a ton of debugging crap in there.
22:42
< [R]>
IIRC Python cached imports right/
22:42
<&Derakon>
Yep.
22:45
< [R]>
How is the code producting the incorrect results?
22:45
< [R]>
Is it not producing enough, too much, none at all?
22:45
<&Derakon>
I didn't really come here to get help with my problem; just to grouse about it.
22:45
<&Derakon>
Explaining the bug would be entirely too much effort for my current state of mind.
22:46
<&Derakon>
Especially since it's a weird one and honestly I don't think most people here have the necessary background knowledge to help.
22:46
<&Derakon>
Though your enthusiasm is appreciated.
22:46
< [R]>
*shrug*
22:47 ErikMesoy is now known as ErikMesoy|sleep
22:47 * [R] just took objection to the claim that it should work right but isn't.
22:47
<&Derakon>
Oh, clearly there's a bug, so the code is wrong somehow.
22:48
<&Derakon>
But I went through it in detail and each individual step is justifiable.
23:12 jeff [NSwebIRC@2D9871.A95144.4324F5.614CD1] has quit [Ping timeout: 121 seconds]
23:15 jeff [NSwebIRC@2D9871.A95144.1903C6.DB9FFC] has joined #code
23:24 Derakon [chriswei@Nightstar-a3b183ae.ca.comcast.net] has quit [[NS] Quit: leaving]
23:31
<@Rodney>
Does anyone here know ubuntu/debian?
23:31
<@Rodney>
I'm really struggling to get resume from disk to work :/
23:34 JustBob [justbob@ServerAdministrator.Nightstar.Net] has quit [[NS] Quit: ]
23:39
<@Rodney>
Ahah!
23:40
<@Rodney>
Found the issue: grub2 is made of spiders.
23:50
< AnnoDomini>
I use Debian.
23:50
< AnnoDomini>
Did you sort it out?
23:51
<@McMartin>
Sounds like
23:51
<@McMartin>
Though if there are specific tricks you needed, it would be cool to share
23:54
< [R]>
extlinux FTW
23:55
< AnnoDomini>
If all else fails, backup your /home and reinstall Debian.
23:55
< AnnoDomini>
This solution has never failed me.
23:56
<@McMartin>
I thought nuke-and-pave was what you went to Linux to stop having to do
23:57
< AnnoDomini>
Is needed less often than under Windows, to be sure.
23:58
<@McMartin>
I dunno, I haven't had to pave my Win7 install since 2009, and that was paving an empty field
23:58
<@McMartin>
XP, less so~
23:58
<~Vornicus>
it occurs to me I've never actually nuke&paved a computer without aiming to install a completely different OS
23:59
<@McMartin>
Well
23:59
<@McMartin>
I suppose some of my Linux upgrades count as such
--- Log closed Sat Jun 15 00:00:31 2013
code logs -> 2013 -> Fri, 14 Jun 2013< code.20130613.log - code.20130615.log >

[ Latest log file ]