code logs -> 2015 -> Fri, 06 Mar 2015< code.20150305.log - code.20150307.log >
--- Log opened Fri Mar 06 00:00:44 2015
00:44 Derakon[AFK] is now known as Derakon
02:01 iospace [Alexandria@Nightstar-fkokc2.com] has quit [Connection closed]
02:24 iospace [Alexandria@Nightstar-fkokc2.com] has joined #code
02:24 mode/#code [+o iospace] by ChanServ
02:28 Checkmate [Z@Nightstar-g2q2tu.customer.tdc.net] has quit [[NS] Quit: If I had a world of my own, everything would be nonsense. Nothing would be what it is because everything would be what it isn't. And contrary-wise; what it is it wouldn't be, and what it wouldn't be, it would. You see?]
02:29 Checkmate [Z@Nightstar-g2q2tu.customer.tdc.net] has joined #code
02:29 mode/#code [+o Checkmate] by ChanServ
02:50 Turaiel[Offline] is now known as Turaiel
03:18 Xires is now known as ^Xires
03:24 ^Xires is now known as Xires
03:45
<&McMartin>
Hmmm.
03:46 * McMartin revisits his old notes on "Design Patterns are software architects admitting, then working around, the fact that their languages don't have features that they want/need"
03:46
<&McMartin>
Some of these are actually more like koans, I think.
03:46
<&McMartin>
"If you have to remind yourself to use this pattern, it means you are making a deep and consistent error in your thinking all the time and need to be smacked in the head with a counterexample"
03:47
<&McMartin>
Also, I still don't have a capsule summary of singletons that's better than "global variables are terrible! Let's remove them from our program and then reintroduce them in a more complicated way!"
03:48
<&McMartin>
("Singletons let you do lazy initialization", I hear you say. So do properly structured/encapsulated globals.)
03:48
<&Derakon>
Mm, I think it's a matter of implications.
03:48
<&Derakon>
A global variable is hard to track because it may be modified in any context.
03:49
<&Derakon>
A singleton is a local master of its own domain and all modifications to it should be done within its own code.
03:49
<&McMartin>
Right
03:49
<&McMartin>
So, let's talk Python
03:49
<&Derakon>
The implication, to me, of a global variable is that it is something like, say, the player's location, which may be modified anywhere in the code.
03:49
<&McMartin>
I'm going to claim "you should never write anything in Python that looksl ike a Java singleton"
03:49
<&Derakon>
Whereas the player singleton would have a method "updatePosition" to accomplish the same thing.
03:49
<&McMartin>
"Instead, you should have a variable local to a module, and that module exports the function "updatePosition" or whatever"
03:50
<&McMartin>
This is complicated a bit because Python, where modules, objects, and dictionaries blur the lines between one another to terrifying degrees~
03:50
<&Derakon>
Sounds reasonable to me. The module effectively is the singleton then.
03:51
<&Derakon>
Anyway, I gotta go, so sorry I can't partake in this conversation.
03:51 Derakon is now known as Derakon[AFK]
03:57
<~Vornicus>
"blur the lines between one another to terrrifying degrees" -- more like "all three of these are actually dictionaries"
03:58
<&McMartin>
I believe type() disagrees
04:00
<&McMartin>
But yeah
04:21 Vash [Vash@Nightstar-uhn82m.ct.comcast.net] has quit [[NS] Quit: Quit]
04:23
<~Vornicus>
It does, but type() is explicitly built to be fooled~
04:33
<&McMartin>
Modules, objects, classes, and dictionaries
04:33
<&McMartin>
Actually, thinking about it more
04:33
<&McMartin>
My objection is less "why are you having an singleton" and more "why are you *instantiating* your singleton instead of using statics"
04:34
<&McMartin>
("Because what if I later decide to have more than one?" "THIS IS A SINGLETON, RIGHT?")
04:36
<~Vornicus>
Yeah, if I have a single thing, I'm going to go "this is my thing, refer to it", not "you need a thing? make it and you'll get the existing one"
04:52
<&McMartin>
Especially since there are three other patterns designed to break the notion of "make it" meaning "allocate and completely initialize a guaranteed-brand-new block of memory of exactly type X"
04:52
<&McMartin>
To the level of hilarity.
04:52
<&McMartin>
Builder, which I now finally understand what they were saying, gets filed with Composite
04:53
<&McMartin>
In the bin marked "If you had to be reminded that this was a thing STOP MAINLINING THE KOOL-AID, FUCK'S SAKE, IT ISN'T EVEN *GOOD* KOOL-AID"
05:07
<~Vornicus>
I don't remember what builder is
05:08
<&McMartin>
ANAICT it is literally a factory method that configures the object some more post-construction but pre-return
05:09
<&McMartin>
If this is in any way a pattern to you you must have your head fucking explode when handed the problem "I want two objects each of which refer to each other."
05:09
<&McMartin>
And possibly "I want to do this one thing and then do another thing afterwards"
05:09
<~Vornicus>
One thing I've been seeing lately, now that I'm working on a game-oid at work, is "don't delete those Xs, you're going through them like they're going out of style. Instead, have a pool of them"
05:10
<&McMartin>
That doesn't even make the GoF list =(
05:10
<~Vornicus>
Not having such a pool caught me out; gc was introducting noticeable stutter.
05:11
<&McMartin>
Fun fact: when you compiled early versions of UQM under early versions of libc or msvcrt, we used to malloc our draw commands
05:11
<&McMartin>
We'd actually fragment memory so hard that you couldn't malloc 20 bytes.
05:11
<&McMartin>
(We shifted to a single allocated ring queue re-assigned as needed)
05:12
<&McMartin>
(But those are C/C++ notions of objects, and those are kind of alien to the Java/Smalltalk model)
05:13
<~Vornicus>
I never thought I'd have to resort to fooling the gc, but there you are
05:15
<&McMartin>
What language is this?
05:15
<~Vornicus>
javascript.
05:15 * McMartin nods
05:18
<~Vornicus>
though in that I ended up using a sort of halfway system
05:19
<~Vornicus>
I was doing, uh - Fix Your Timestep stuff, where you interpolate between old and new physics steps to find the right thing to display. so every physics frame and every graphics frame created a new object for every actual game object.
05:21
<~Vornicus>
I then switched to a thing where objects would swap old & new and rejigger, and load their interpolation into a third, so it's just the same three objects all the time
05:22 Red_Queen [Z@Nightstar-g2q2tu.customer.tdc.net] has joined #code
05:22 mode/#code [+o Red_Queen] by ChanServ
05:23 Serah [Z@Nightstar-g2q2tu.customer.tdc.net] has joined #code
05:23 Red_Queen [Z@Nightstar-g2q2tu.customer.tdc.net] has quit [Connection closed]
05:24 Checkmate [Z@Nightstar-g2q2tu.customer.tdc.net] has quit [Ping timeout: 121 seconds]
05:40 himi [fow035@Nightstar-dm0.2ni.203.150.IP] has quit [Ping timeout: 121 seconds]
05:45 Vornicus [vorn@ServerAdministrator.Nightstar.Net] has quit [[NS] Quit: Leaving]
05:52 Turaiel is now known as Turaiel[Offline]
06:17 Serah [Z@Nightstar-g2q2tu.customer.tdc.net] has quit [Ping timeout: 121 seconds]
06:35 Kindamoody[zZz] is now known as Kindamoody
07:34 celticminstrel is now known as celmin|sleep
08:57 Kindamoody is now known as Kindamoody|afk
09:08 Orthia [orthianz@Nightstar-2iidbq.callplus.net.nz] has quit [Ping timeout: 121 seconds]
09:12 Orthia [orthianz@Nightstar-eii.p2r.98.101.IP] has joined #code
09:12 mode/#code [+o Orthia] by ChanServ
10:26 Derakon[AFK] [chriswei@Nightstar-5fqf0m.ca.comcast.net] has quit [Operation timed out]
10:32 * Tarinaky_ headdesks
10:37 Derakon [chriswei@Nightstar-5fqf0m.ca.comcast.net] has joined #code
10:37 mode/#code [+ao Derakon Derakon] by ChanServ
11:31
< Tarinaky_>
I hate RTFSing
12:09 himi [fow035@Nightstar-v37cpe.internode.on.net] has joined #code
12:09 mode/#code [+o himi] by ChanServ
12:41
<@froztbyte>
?
12:41
<@froztbyte>
why
12:42
<@Shiz>
because the source is probably shit
12:45
< RchrdB>
because it means someone couldn't even explain themselves in fucking javadoc
12:45
< RchrdB>
and anything which is difficult to explain is probably shit
12:57 celmin|sleep [celticminst@Nightstar-gmujup.dsl.bell.ca] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!]
13:43
< Tarinaky_>
Documentation is good.
13:44
< Tarinaky_>
That's enough reason to dislike not having documentation.
13:55
<@Shiz>
tbf i wouldn't want to explain myself in javadoc either
13:59
< Tarinaky_>
...
13:59
< Tarinaky_>
Why?
14:07 celticminstrel [celticminst@Nightstar-gmujup.dsl.bell.ca] has joined #code
14:07 mode/#code [+o celticminstrel] by ChanServ
14:13 Orthia [orthianz@Nightstar-eii.p2r.98.101.IP] has quit [Ping timeout: 121 seconds]
14:18 Orthia [orthianz@Nightstar-97s.8ka.224.119.IP] has joined #code
14:18 mode/#code [+o Orthia] by ChanServ
14:48 Checkmate [Z@Nightstar-484uip.cust.comxnet.dk] has joined #code
14:48 mode/#code [+o Checkmate] by ChanServ
16:24 gizmore [kvirc@Nightstar-usvnfd.pools.vodafone-ip.de] has quit [Ping timeout: 121 seconds]
16:45
< abudhabi>
Trying to generate a useable image out of gramps on Linux these days is a hassle.
16:46
< abudhabi>
I generate a .gv file, which I open in xdot and with great care export to an .svg file, which I open in Inkscape and export to .png
16:46
< abudhabi>
I don't know why the hell export to PNG directly was dropped from gramps.
16:56
<&ToxicFrog>
Can't you just install imagemagick and 'convert foo.gv foo.png'?
16:57
<&ToxicFrog>
(also, what's gramps?)
17:08
< abudhabi>
Didn't realize imagemagick could read .gv
17:08
< abudhabi>
The format appeared to be super-obscure.
17:08
< abudhabi>
(Genealogy program.)
17:14 Derakon [chriswei@Nightstar-5fqf0m.ca.comcast.net] has quit [Operation timed out]
17:23
<&ToxicFrog>
abudhabi: I don't know that it can, but it seems worth at least investigating.
17:24
<&ToxicFrog>
Especially if .gv is actually .ps, which seems likely
17:34
< abudhabi>
.gv seems actually to be .dot
17:36
< RchrdB>
I'm pretty sure graphviz exports to raster formats these days.
17:36
< RchrdB>
"dot -Tpng ..."
17:37
< abudhabi>
I think that's what xdot uses to convert. The results of xdot and that command were the same, except I could set options more easily in xdot.
17:38
< abudhabi>
For some reason, printing to file couldn't do such things as selecting paper orientation.
17:38
< RchrdB>
I'm be surprised if ImageMagick would render graphviz files directly, but recent-ish versions seem to have okay support for SVG.
18:35 Alek [omegaboot@Nightstar-03ja8q.il.comcast.net] has quit [Ping timeout: 121 seconds]
18:38
< abudhabi>
ARGHLE.
18:38 * abudhabi hates internet banking and payments.
18:39
< abudhabi>
There's a million services and standards and methods and it just so happens my combination fails to work.
18:40 Alek [omegaboot@Nightstar-03ja8q.il.comcast.net] has joined #code
18:40 mode/#code [+o Alek] by ChanServ
19:11 * gnolam facepalms at his country's press.
19:11
<@gnolam>
Newspaper finally realizes that, oh hey, what with the mass surveillance now maybe they should let people communicate with them over encrypted mail.
19:12
<@gnolam>
So they publish their PGP keys.
19:12
< abudhabi>
Private keys? :P
19:12
<@gnolam>
Keys, plural.
19:12
<@gnolam>
As in both the public and private keys. >_<
19:12
< abudhabi>
Hahahaha.
19:16
<@Shiz>
beautiful
19:16
<@Wizard>
gnolam: Oh my lord
19:16
< abudhabi>
Were those keys something they've used before?
19:18
<&McMartin>
If they hadn't previously published their public keys, it didn't do anyone much good~
19:22
< RchrdB>
This is the point where I bring up http://www.thoughtcrime.org/blog/gpg-and-me/
19:23
<@Shiz>
this is the part where i ignore that
19:24
< RchrdB>
;-;
19:30
<@gnolam>
I /think/ they were new. But I'm not sure.
19:30
<@gnolam>
(Sorry for the delay - someone just torched a car outside.)
19:31
<@Shiz>
that is
19:31
<@Shiz>
an interesting excuse
20:52
<@gnolam>
Bad neighborhood.
20:52
< abudhabi>
New Swedes?
21:08 Checkmate [Z@Nightstar-484uip.cust.comxnet.dk] has quit [Ping timeout: 121 seconds]
21:10
<&McMartin>
Attn several people in this channel: http://arstechnica.com/information-technology/2015/03/hands-on-with-vivaldi-the- new-web-browser-for-power-users/
21:10
<&McMartin>
Guy responsible for Old Opera trying to rebuild that experience, it seems
21:13
<&McMartin>
However, he seems to be doing in in Node.js so I do not have high hopes for it meeting Opera 12's footprint.
21:14
<@Namegduf>
Finally, a browser that is properly webscale.
21:15
<@Namegduf>
Seriously, though, it's a neat idea.
21:15
<@Namegduf>
I just wish that they had some strategy for making Blink not eat massive amounts of memory all the time.
21:15
<&McMartin>
Right, but my memory of the people who were sad when Opera went to shit were sad because their standard working set was like 400 tabs and Firefox gets super-slow around 50 or 60
21:19
<@Tamber>
"Why would you ever keep that many tabs open?" "When your features work, your workflow expands to use them a lot more."
21:19
<&ToxicFrog>
p. much
21:19
<&McMartin>
I can't pick out one piece of text out of 800 with any reliability
21:20
<&ToxicFrog>
Although honestly my issues weren't so much with memory usage as with the new renderer having noticeably bad performance locally and being completely unusable over rdp or x-forwarding
21:20
<&McMartin>
Even assuming that I can go to a site simply by willing it, 800 tabs is not how I'd do it
21:20
<&ToxicFrog>
That said, my usual working set in opera was more like 50-60, and firefox would fall over around 20.
21:22
<&McMartin>
(The rise of URL autocomplete has generally meant that my current workflow is "type some of the URL, down arrow, enter")
21:23
< [R]>
<Tamber> "Why would you ever keep that many tabs open?" "When your features work, your workflow expands to use them a lot more." <-- a browser that actually realizes that workflow and improves upon it would be killer
21:25
<@Tamber>
McM: Sadly, for me, that becomes "type two letters, die of boredom waiting for the Awesome⢠Bar®© to catch the fuck up and let me type the rest of what I wanted"
21:26
< [R]>
I've found Awesome's speed to be vastly improved since it was introduced.
21:26
<@Namegduf>
I kind of think I would prefer a more intelligent recent history to tabs.
21:26
<@Namegduf>
My tabs just pile up.
21:27
< [R]>
Same
21:27
<@Namegduf>
And finding the one I want in them is hard.
21:27
<&McMartin>
Right. This is the "CLI vs GUI" thing which is why my tabset tends to cap at about 8
21:27
<@Namegduf>
If I could kind of fluidly build sets of things and then view those sets...
21:27
<&McMartin>
(Also, Chrome's equivalent of the Awesome⢠Bar®© is way faster)
21:27
<@Namegduf>
SOmething like that.
21:27
<@Namegduf>
Yeah.
21:27
<&McMartin>
Hrm
21:28
< [R]>
It'd be nice if you could maybe tag tabs by "project" and have it unload the tabs (but keep them "open", much like FF does when recovering a session) when you're not working on that project. Then be able to list tabs by project.
21:28
<&McMartin>
Can you drag sets of tabs into "new window" with a gesture?
21:28
<&McMartin>
That seems like a nice operation.
21:28
<@Namegduf>
I'd like it if bookmark was replaced with some sort of "note" button.
21:28
<@Tamber>
I sorta treat my tabs as short-term bookmarks of related things, or trains of thought... something like that, anyway.
21:28
<@Namegduf>
And then I'd just navigate away.
21:28
<@Namegduf>
And have a bar at the top, perhaps, of recently noted pages.
21:28
< [R]>
I find Chrome's Awesome-clone to be annoying, as it'll reorder things the milisecond before I click.
21:28
<@Tamber>
Actual bookmarks aren't visibly in my face enough -- I have to bring down a menu -- to remind me of their existence; so I completely forget they exist.
21:28
<&McMartin>
Oh right, mice
21:29
<&McMartin>
(I always pick results with arrow keysO
21:29
<&McMartin>
(CONSOLITIS)
21:29
< [R]>
Actually, having the bookmark bar have a "bookmark current page into this folder" would be a vast improvement as well.
21:32
<@Namegduf>
I think I'd like some sort of basically transient "note" capacity with the ability to drag notes around and drag them on top of each other to make a group.
21:33
<@Namegduf>
Instead of bookmarks. I never use bookmarks.
21:33
<@Namegduf>
Google knows where all the stuff is.
21:44 Kindamoody|afk is now known as Kindamoody
21:50
<&McMartin>
Aha, a name new to me for that ML approach to datastructures I like when represented in C.
21:50
<&McMartin>
"Discriminated Union"
21:50
<&McMartin>
(I'm used to hearing it named "tagged union")
21:54 RchrdB [RichardB@Nightstar-v5j366.understood.systems] has quit [[NS] Quit: WeeChat 1.0.1]
21:55 RchrdB [RichardB@Nightstar-v5j366.understood.systems] has joined #code
23:02 Checkmate [Z@Nightstar-g2q2tu.customer.tdc.net] has joined #code
23:02 mode/#code [+o Checkmate] by ChanServ
23:15 Alek [omegaboot@Nightstar-03ja8q.il.comcast.net] has quit [Ping timeout: 121 seconds]
23:15 Kindamoody is now known as Kindamoody[zZz]
23:18 Alek [omegaboot@Nightstar-03ja8q.il.comcast.net] has joined #code
23:18 mode/#code [+o Alek] by ChanServ
--- Log closed Sat Mar 07 00:00:59 2015
code logs -> 2015 -> Fri, 06 Mar 2015< code.20150305.log - code.20150307.log >

[ Latest log file ]