code logs -> 2015 -> Sat, 04 Apr 2015< code.20150403.log - code.20150405.log >
--- Log opened Sat Apr 04 00:00:14 2015
00:44 Derakon[AFK] is now known as Derakon
01:08 gnolam_ [lenin@Nightstar-oru2ae.priv.bahnhof.se] has quit [Ping timeout: 121 seconds]
01:15 Vash [Vash@Nightstar-uhn82m.ct.comcast.net] has joined #code
01:15 mode/#code [+o Vash] by ChanServ
01:27 thalass [thalass@Nightstar-h1qmno.eastlink.ca] has joined #code
01:27 mode/#code [+o thalass] by ChanServ
01:57 Turaiel[Offline] is now known as Turaiel
02:14 * McMartin gets an incomplete draft of his Rust-based Klotski solver running
02:14
<&McMartin>
Still like five times slower than the Gambit one.
02:14
<&McMartin>
And I haven't even put in history-tracking yet
02:21
<&McMartin>
Aha, I have to turn on optimizations
02:21
<&McMartin>
There we go
02:22
<&McMartin>
Now it's twice as fast.
02:35 NSGuest40681 is now known as JustBob
02:35 mode/#code [+o JustBob] by ChanServ
02:39
<&ToxicFrog>
Twice as fast as it was, or twice as fast as the Gambit version?
02:49
<&McMartin>
Twice as fast as the gambit version, so a 10x speedup.
02:49
<&McMartin>
That dropped slightly once I added in the history-tracking to make it actually solve the same problem.
02:49
<&McMartin>
But we have a new record on this (10-year-old) hardware of 0.6 seconds
02:50
<&McMartin>
Which would probably be 0.3 on a modern system.
02:55
<&McMartin>
Still needs comments and maybe some implementation cleanup.
02:55
<&McMartin>
But, nevertheless: I am well pleased.
02:55
<&McMartin>
If perhaps less convinced of the language's viability~
02:55
<&McMartin>
(Fighting with the type and borrow checkers/inferrers was pretty intense)
02:57
<&McMartin>
Once I have it commented and cleaned up a bit I'll post the source
03:00
<&McMartin>
Rust unoptimised usertime: 5.425s. Gambit usertime: 0.920s. Rust optimised usertime: 0.581s.
03:01
<&McMartin>
(Python: 10.473s)
03:14
<&McMartin>
Yep, on a full-speed machine it's 0.227s
03:41
<@Ogredude>
whut
03:43
<@Ogredude>
how are you doing this in Rust?
03:43
<&McMartin>
I have implemented, in a bunch of languages, programs that solve the old sliding-block puzzle "Klotski"
03:43
<@Ogredude>
we are talking about the game where you start off naked with a rock, yes?
03:43
<&McMartin>
...no?
03:43
<@Ogredude>
no.
03:43
<@Ogredude>
okay that would be the source of my confusion.
03:43
<&McMartin>
http://rust-lang.org
03:43
<~Vornicus>
is the sun gone in rust?
03:44
<&McMartin>
It is basically the language you would get if you trying to cross Haskell with C
03:44
<&McMartin>
*tried
03:44
<@Ogredude>
I donno, I haven't played it in ages, got tired of groups of naked people breaking down the stuff I'm building as I build it
03:45
<&McMartin>
The result is pretty interesting and very fast, but the amount of information about memory management you have to juggle is actually harder to deal with than C's, so I'm not sure how well it will hold up to being written by actual human beings
03:45
<@Ogredude>
yeah that's a good point
03:45
<@Ogredude>
in the ideal system, humans wouldn't have to worry about memory management and garbage collection
03:45
<&McMartin>
On the plus side, the result of their attempts will be programs that do not compile instead of programs that are trivially exploitable.
03:45
<@Ogredude>
anything that makes it worse to deal with is a step backward in my opinion
03:45
<&McMartin>
Well
03:45
<&McMartin>
It's a step forward
03:46
<&McMartin>
...into an alternate dimension, where information about where objects go out of scope and thus are destroyed are actually part of the type of the object, which is usually deduced by the compiler
03:46
<&McMartin>
But getting a three-screen proof that you fucked up and let a value escape that you shouldn't have might be beyond the capabilities of an average developer to deal with.
03:48
<&McMartin>
(Basically, assigning a value to something means you can no longer use the variable it used to live in. This means you have to set it up so that stuff that wants to use it for a bit 'borrows' that value. It makes sure you only do the equivalent of take the address of a stack variable when it is OK to do so. Heap values are similar, but it's the pointer that's moved around instead, and there are APIs for mak
03:48
<&McMartin>
ing them be ref-counted.)
03:49
<&McMartin>
It's also porting over Haskell's replacement for multiple inheritance, which is a strict improvement and which more things need
03:49
<&McMartin>
(And which Go did not copy correctly)
03:53
<@Ogredude>
ahhh, ok
03:53
<@Ogredude>
most of that I actually somewhat understand, but the practical implications are way beyond me
03:59
<@Ogredude>
it makes me glad that folks like you actually understand it :)
04:12
<&McMartin>
I did my grad work in program analysis, so this is actually even more interesting than that
04:12
<&McMartin>
The general mechanism for analyzing this stuff is called "ownership analysis", and encoding ownership as types is a pretty old idea
04:13
<&McMartin>
But back when I was a grad student, the papers of the time were showing that it wasn't good enough to represent the basic aspects of a fully-featured programming language.
04:13
<&McMartin>
It turns out we've gotten better at this stuff in the past decade, and Rust's stdlib is proof that it can in fact now be done
05:16 thalass [thalass@Nightstar-h1qmno.eastlink.ca] has quit [Ping timeout: 121 seconds]
05:22
<&McMartin>
https://hkn.eecs.berkeley.edu/~mcmartin/klotski.rs
05:23
<&McMartin>
Also, https://hkn.eecs.berkeley.edu/~mcmartin/klotski.scm - the previous champion and the program the rust implementation is based on
05:44 Meatyhandbag [sebastianfe@Nightstar-dk0.5eb.224.136.IP] has quit [Connection reset by peer]
05:45 Meatyhandbag_ [sebastianfe@Nightstar-dk0.5eb.224.136.IP] has joined #code
05:49 celticminstrel [celticminst@Nightstar-orch4o.dsl.bell.ca] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!]
05:53
<@Ogredude>
so it's making you more conscious of what the data's doing and therefore lets you do more, or do it faster
05:54
<@Ogredude>
there's honestly so much of this stuff that I don't even know that I don't know :)
05:56 Derakon is now known as Derakon[AFK]
06:07 Meatyhandbag_ [sebastianfe@Nightstar-dk0.5eb.224.136.IP] has quit [Client exited]
06:09 Checkmate [Z@Nightstar-g2q2tu.customer.tdc.net] has quit [Ping timeout: 121 seconds]
06:39 Vornicus [vorn@ServerAdministrator.Nightstar.Net] has quit [[NS] Quit: Leaving]
06:54 Vash [Vash@Nightstar-uhn82m.ct.comcast.net] has quit [[NS] Quit: Quit]
07:10 Kindamoody[zZz] is now known as Kindamoody
07:18 Turaiel is now known as Turaiel[Offline]
--- Log closed Sat Apr 04 08:03:17 2015
--- Log opened Sat Apr 04 08:03:25 2015
08:03 TheWatcher [chris@Nightstar-ksqup0.co.uk] has joined #code
08:03 Irssi: #code: Total of 36 nicks [17 ops, 0 halfops, 0 voices, 19 normal]
08:03 mode/#code [+o TheWatcher] by ChanServ
08:03 Irssi: Join to #code was synced in 38 secs
14:12 thalass [thalass@Nightstar-h1qmno.eastlink.ca] has joined #code
14:12 mode/#code [+o thalass] by ChanServ
14:22 Meatyhandbag [sebastianfe@Nightstar-dk0.5eb.224.136.IP] has joined #code
14:41 gnolam_ [lenin@Nightstar-oru2ae.priv.bahnhof.se] has joined #code
15:23
<@Tarinaky>
So. cmake says CMakeLists.txt does not appear to exist...
15:23
<@Tarinaky>
Problem is: I am staring right at it.
15:25
<@Tarinaky>
nm, found the issue.
15:33
<@Tarinaky>
Wtf is the switch to make VS treat warnings as errors?
15:33 thalass [thalass@Nightstar-h1qmno.eastlink.ca] has quit [Operation timed out]
15:50 Checkmate [Z@Nightstar-484uip.cust.comxnet.dk] has joined #code
15:50 mode/#code [+o Checkmate] by ChanServ
16:13 thalass [thalass@Nightstar-h1qmno.eastlink.ca] has joined #code
16:13 mode/#code [+o thalass] by ChanServ
16:19
<@Shiz>
Tarinaky: /WX
16:19
<@Shiz>
(if you hadn't found it by now)
16:24 Derakon[AFK] is now known as Derakon
17:15 Vornicus [vorn@ServerAdministrator.Nightstar.Net] has joined #code
17:15 mode/#code [+qo Vornicus Vornicus] by ChanServ
17:21 Netsplit *.net <-> *.split quits: abudhabi, @himi, Syka, [R], tripflag, Turaiel[Offline]
17:23 [R] [rstamer@Nightstar-d7h8ki.org] has joined #code
17:23 PinkFreud [WhyNot@Pinkfreud.is.really.fuckin.lame.nightstar.net] has quit [Ping timeout: 121 seconds]
17:25 Syka [the@Nightstar-c409v3.vividwireless.net.au] has joined #code
17:29 Turaiel[Offline] [Brandon@Nightstar-olc20d.resnet.mtu.edu] has joined #code
17:29 tripflag [im@Nightstar-1sfccr.ocv.me] has joined #code
17:32 abudhabi [abudhabi@Nightstar-7nkq9k.de] has joined #code
17:32 thalass is now known as Thalass|Archer
17:37 himi [fow035@Nightstar-v37cpe.internode.on.net] has joined #code
17:37 mode/#code [+o himi] by ChanServ
18:15 celticminstrel [celticminst@Nightstar-orch4o.dsl.bell.ca] has joined #code
18:15 mode/#code [+o celticminstrel] by ChanServ
19:06 Turaiel[Offline] is now known as Turaiel
19:15 Thalass|Archer is now known as Thalass
19:19 Thalass [thalass@Nightstar-h1qmno.eastlink.ca] has quit [Ping timeout: 121 seconds]
19:52 Thalass [thalass@Nightstar-h1qmno.eastlink.ca] has joined #code
19:52 mode/#code [+o Thalass] by ChanServ
20:39 Vash [Vash@Nightstar-uhn82m.ct.comcast.net] has joined #code
20:39 mode/#code [+o Vash] by ChanServ
21:05 Checkmate [Z@Nightstar-484uip.cust.comxnet.dk] has quit [Ping timeout: 121 seconds]
22:16 Checkmate [Z@Nightstar-g2q2tu.customer.tdc.net] has joined #code
22:16 mode/#code [+o Checkmate] by ChanServ
22:25
< abudhabi>
...
22:25
< abudhabi>
Adblock Plus is telling me there are 1171 blocked items on a Youtube video.
22:25
<&McMartin>
... is it blocking every annotation or
22:27
< abudhabi>
I don't know.
22:29
<@Namegduf>
"Is it me or does YouTube have more ads nowadays?"
22:34
< abudhabi>
The number appears to be slowly creeping up.
22:34
<@Tamber>
It's trying to save your blood pressure, and is blocking the comments.
22:34
<&McMartin>
Is it blocking *comments*?
22:34
<&McMartin>
ha ha, GMTA
22:34
<@Tamber>
:)
22:36
< abudhabi>
There's only one comment on this video.
22:37
<@Tamber>
...that it's letting you see. :D
23:09 Thalass [thalass@Nightstar-h1qmno.eastlink.ca] has quit [Ping timeout: 121 seconds]
23:19 Turaiel is now known as Turaiel[Offline]
23:39
<@Tamber>
<Once is happenstance. Twice is coincidence. Three times is enemy action. Four times is Official GNOME Policy.> Hee
23:39
<@Tamber>
( http://www.jwz.org/blog/2015/04/i-told-you-so-again/ )
--- Log closed Sun Apr 05 00:00:30 2015
code logs -> 2015 -> Sat, 04 Apr 2015< code.20150403.log - code.20150405.log >

[ Latest log file ]