code logs -> 2014 -> Fri, 05 Dec 2014< code.20141204.log - code.20141206.log >
--- Log opened Fri Dec 05 00:00:00 2014
--- Day changed Fri Dec 05 2014
00:00
<&McMartin>
Yeah
00:00
<&McMartin>
I don't believe I used a properly configured version of X11 until 2003
00:00
<&ToxicFrog>
I don't know about Linux, but SysV terminal emulators definitely did all of that and more in 1990.
00:00
<&McMartin>
This includes all the HP-UX systems
00:00
<&ToxicFrog>
(I didn't use Linux until 2000-2001 or so)
00:00
<&McMartin>
Yeah
00:01
<&McMartin>
When I first tried to use X11 it was of the mode "now edit this configuration file by hand, and have a care because doing it wrong will literally burn your house down"
00:01
<&ToxicFrog>
Throughout the 90s we not only ran X, we ran four X sessions, one for each person, so you could user switch just by switching ttys
00:01
<&ToxicFrog>
But my dad did all the X setup in those days, so I have no idea how much the spiders it was.
00:02
<&ToxicFrog>
Reiv: well, it's more "I'm hoping never to have to install windows again, because fuck that noise"
00:02
<&ToxicFrog>
So my hope is that by the time win7 is no longer supported, everything I want to play will either run natively on linux or run in wine
00:02
<@Reiv>
Ihdle query: Which bit of windows is "Fuck that noise" anyway
00:03
< MantaWaffles>
I assume I'm at a huge disadvantage from not being raised on code.
00:03
<&McMartin>
My experience from university is that it actually only puts you 1-2 years behind
00:03
<&ToxicFrog>
Reiv: well, there's the general "I don't actually enjoy using windows, I just tolerate it for gaming purposes"
00:04
<@Reiv>
That'll do it
00:04
<&McMartin>
Yeah, it turns out I don't actually enjoy using OSes
00:04
<&ToxicFrog>
Then there's the windows installer being not all that great (although hugely improved from the XP days, granted), and the fact that if you want to do anything even slightly unusual like having / and /home on different partitions you are entering a world of pain
00:05
<&ToxicFrog>
Which requires either moving your user profile after installation (delicate, finicky, and easy to fuck up) or pre-configuring the install image using third party tools
00:05
<@Reiv>
eh
00:05
<&ToxicFrog>
Because god forbid the windows installer actually let you configure that.
00:05
<@Reiv>
The installation process is pretty much 'click next, go make coffee' these days to be fair
00:05
<&McMartin>
Yes, TF's problem is the defaults are "wrong"~
00:06
<&McMartin>
The "delicate, finicky, easy to fuck up" solution is the one that appears to be the intended one
00:06
<&ToxicFrog>
McMartin: I'm not sure I'd say I enjoy using linux per se, but I don't dislike using it, and I appreciate how convenient it makes things like software installation.
00:06
<&McMartin>
Which seems to come up a lot, and I think is descended from Windows's true home as the thing IT people used to remotely administer thousands of machines
00:06
<&McMartin>
s/machines/desktop machines/
00:06
<&ToxicFrog>
Whereas I do actually dislike using windows and am much happier these days now that I use it as a gaming console and HTPC and nothing else ever.
00:07 gnolam [lenin@Nightstar-ii43bc.cust.bredband2.com] has quit [A TLS packet with unexpected length was received.]
00:07
<&ToxicFrog>
(ok, gaming console, HTPC, and occasional X terminal)
00:07
<&ToxicFrog>
(but thoth has almost completely taken over X terminal duties)
00:09
<&ToxicFrog>
MantaWaffles: a disadvantage, yes, but not a huge one. I mean, I was noodling around in LOGO at 5, but it wasn't until high school that I started actually understanding what I was doing. McM's estimate of 2 years sounds plausible.
00:10
<&McMartin>
The place where the trained-from-birth part helps is that there is a certain intuitive aspect to breaking large problems into small problems
00:10
<&McMartin>
I take on, essentially, religious faith that this is a thing that *can* be taught
00:10
<&McMartin>
But the trained-from-birth types generally don't *need* to be because their minds were bent that way early on
00:10
< MantaWaffles>
I was almost literally trained from birth by ninjas, but not with code. I'm a martial artist.
00:11
< MantaWaffles>
And not ninjas.
00:11 * McMartin nods
00:11
<&McMartin>
This probably translates to things like body awareness
00:11
<&McMartin>
Or certain kinds of coordination (musical instruments, etc)
00:13 Vornicus [vorn@ServerAdministrator.Nightstar.Net] has joined #code
00:13 mode/#code [+qo Vornicus Vornicus] by ChanServ
00:15
< MantaWaffles>
Coordination and balance and pain resistance and such.
00:15
< MantaWaffles>
It helps a lot with video games, and especially with dancing.
00:15
<@Reiv>
I get bunnies thrown at my head a lot.
00:16
<@Reiv>
I could do with a little co-ordination.
00:16
<&McMartin>
Heh
00:16
<&ToxicFrog>
...bunnies
00:16
<&ToxicFrog>
?
00:16
<&McMartin>
I've been known to classify a large chunk of videogames as "controller kata" through the relationship with dance
00:16
<~Vornicus>
Better than toasters
00:16
<@Reiv>
so, we work in the not-a-cubicle desks at work, with the low walls between each desk
00:17
<&ToxicFrog>
Aah, plush rabbits?
00:17
<@Reiv>
(I tend to lean on one of mine a lot, it's a convinient height and I'm at the end of a row)
00:17
<@Reiv>
(Jokes about being a truck driver in a previous life are accordingly rife)
00:17
< MantaWaffles>
Controller kata. XD That's a good way to put it. Especially on fighter games that use the same sequences over and over.
00:18
<@Reiv>
It's also a pretty noisy place, because we're frankly overcrowded while waiting for the new building
00:18
<&McMartin>
MW: Also games like Rock Band, which are literally "here is a sequence of inputs, do them with more or less tight timing plz"
00:18
<@Reiv>
So half the team sit there using noise cancelling headphones that work is happy to provide.
00:18
<&ToxicFrog>
We're probably going to be in that situation next year, we're expanding really fast and the new buildings won't be ready until fall of next year, probably @.@
00:19
<@Reiv>
My first team member I work with heavily is directly beside me; no problem. The other is at the far end of the desk row, and would have a great deal of trouble attracting my attention without shouting.
00:19
<&ToxicFrog>
To the IRC?
00:19
<@Reiv>
She does, however, have a three inch long stuffed bunny rabbit on her desk, and exceedingly good aim. >_>
00:19
<&ToxicFrog>
Aah.
00:19
< MantaWaffles>
XD
00:19
< MantaWaffles>
That's great.
00:20
<&McMartin>
MantaWaffles: The other thing that's good to do once you've gotten a handle on the basics of a programming language is to read other people's programs and fiddle with them some. This is both easier and harder these days, but a lot of us have toy programs worth either playing with or challenging you to duplicate. :)
00:20
<@Reiv>
(It's a little ball of fluff with two ears and a fabric nose. I'll give it a pass.)
00:20
<&McMartin>
That you went from the page before that controlflow thing to a fibonacci generator on your own initiative is a good sign there
00:21
< MantaWaffles>
Ok! I'd love to!
00:21
<&McMartin>
But first you do need to pick up the basics some, so I think the tutorials should get you going there
00:22
<&McMartin>
(A minimum would be: if; while; for; when to use each; variables, and the various data types; the ability to define and use your own functions; the ability to import and use handy functions from the libraries)
00:22
<&McMartin>
(The tutorials should get you that far)
00:22
<@celticminstrel>
Whoa, I missed a lot of talk.
00:22
<&McMartin>
(And the classic first challenge is something that can shuffle and then deal out a deck of cards)
00:22
<@celticminstrel>
Incidentally. HTML is not a programming language.
00:23
< MantaWaffles>
Okiday.
00:23
<&McMartin>
(Hilariously, the last time this channel posed that challenge, the guy ended up finding a bug *in Python itself*)
00:23
<@celticminstrel>
And not long after that I just skipped the rest. >_>
00:24
< MantaWaffles>
... How does one -find- a bug in python...?
00:24
< MantaWaffles>
He was just confused, huh.
00:24
<&McMartin>
He had written a program and it was giving wrong answers and he couldn't figure out why
00:24
<&McMartin>
So he brought it to us to look at
00:24
<&McMartin>
"This looks fine"
00:25
<&McMartin>
"... in fact, if we rename this variable it starts working"
00:25
<&McMartin>
"...brb, reading Python's own source code"
00:25
<&McMartin>
"...brb, filing bug with the Python developers"
00:25
<@Reiv>
That's awesome
00:25
<@Reiv>
Do we remember the bug
00:26
<&McMartin>
Something about the variable name "top" leaking out under certain contexts
00:26
<@Reiv>
hunh
00:26
<&McMartin>
So instead of referring to the function argument named "top" it was instead pulling out some internal data structure
00:28
<~Vornicus>
python bug 9997
00:29
<~Vornicus>
a function named top will explode if you use the global keyword therein
00:32
< MantaWaffles>
Hm. Weird!
00:32
<~Vornicus>
or something like that
00:32
<&ToxicFrog>
Interpreter bugs often are.
00:34
<&ToxicFrog>
Re: poking at other people's code: I've only in the past two years started seriously using python, so I have one or two medium-sized (500-1k LOC) projects on github that I wrote partly to practice it.
00:35
<@Reiv>
I should learn to program VASSAL.
00:35
<@Reiv>
This would be enough to make wonders happen.
00:35
<&ToxicFrog>
Reiv: there's not much programming be done; it's a declarative, XML-based format.
00:35
<@Reiv>
oh, well hey
00:36
<@Reiv>
I have lots of experience in XML these days
00:36
<@Reiv>
(Short version: It's awful, but so is everything else)
00:36
<&ToxicFrog>
Intended primarily to be manipulated via the in-program editor; it's not at all set up to encourage external manipulation.
00:36
<@Reiv>
I may well go do that for a bit one day, then
00:36
<@Reiv>
aw
00:36
<&ToxicFrog>
Which is the main reason I've never written anything for it, no way am I doing that by hand.
00:36
<@Reiv>
but but ;_;
00:36
<&ToxicFrog>
If it supports any sort of extension programming -- I don't recall -- it's going to be in Java or something Java-compatible, I think.
00:36
<@Reiv>
I want to play ERGO with you lot~
00:37
<&ToxicFrog>
So implement it in VASSAL~
00:37
<&ToxicFrog>
From what you've described ERGO is a pretty simple card game so it shouldn't be at all hard to create; create a deck and import the images and you're 90% of the way there.
00:37
<&McMartin>
Like he said~
00:37
<&McMartin>
There is also Volity
00:38
<@Reiv>
ToxicFrog: I was sorta hoping to be able to integrate a boolean logic parser into it
00:38
<@Reiv>
So you could check out what the proofs resulted to >_>
00:39
<@Reiv>
Or perhaps that's the real fun, who knows~
00:39
<@Reiv>
Ergo's single biggest problem, after all
00:39
<@Reiv>
Is that you can have bugs slip into your code, and it most certainly is code
00:40
<@Reiv>
And because (unlike robo rally) this code is persistent, too many bugs can render the game literally unwinnable, which is a bit fun
00:59 macdjord|wurk [macdjord@Nightstar-7rac1r.mc.videotron.ca] has quit [Ping timeout: 121 seconds]
01:00 MantaWaffles [MantaWaffle@Nightstar-tat.7vc.35.50.IP] has quit [[NS] Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/]
01:09 Checkmate [Z@Nightstar-484uip.cust.comxnet.dk] has quit [Ping timeout: 121 seconds]
02:22 macdjord [macdjord@Nightstar-7rac1r.mc.videotron.ca] has joined #code
02:22 mode/#code [+o macdjord] by ChanServ
03:09 VirusJTG [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has quit [[NS] Quit: Program Shutting down]
03:10 celticminstrel [celticminst@Nightstar-l2rg83.dsl.bell.ca] has quit [[NS] Quit: KABOOM! It seems that I have exploded. Please wait while I reinstall the universe.]
03:11 celticminstrel [celticminst@Nightstar-l2rg83.dsl.bell.ca] has joined #code
03:11 mode/#code [+o celticminstrel] by ChanServ
03:11 * Vornicus tries to learn about bookmarklets
03:14
<~Vornicus>
it looks like they're just javascript code. So now I have to figure out how to get what I want with javascript
03:15
<&ToxicFrog>
What do you want?
03:17
<~Vornicus>
I need to extract links from a particular section of a document. So I have a selector that gives me a bunch of anchor tags, I want to get all their hrefs and put them,... somewhere.
03:17
<~Vornicus>
Most of this I know how to do, but the "put them .... somewhere" is the problem
03:17
<&ToxicFrog>
Modern JS has a local storage API, although it's not really accessible to the end user unless they feel like using the javascript debug console
03:18
<&ToxicFrog>
What are they going to be used for?
03:18
<@Reiv>
bookmarklets, eh
03:18
<~Vornicus>
I'm then going to pipe those into wget or something so I can pull down the associated pages.
03:18
<~Vornicus>
(of which there are 2400 or so)
03:19
<&ToxicFrog>
Why not wget -A -r the original pages to start with rather than using a bookmarklet?
03:19
<~Vornicus>
And then from there I'll be tearing out their delicious data
03:19
<~Vornicus>
TF: because I only want links in a *part* of the page, and links from *certain* pages
03:20
<~Vornicus>
And I cannot distinguish the pages from each other neatly.
03:20
<&ToxicFrog>
I don't know of a good way to use a bookmarklet to get things "out of the browser"; the best you may be able to do is a popup or inserting an element into the page containing the URLs on copy-pasteable format.
03:20
<~Vornicus>
ah, thjat last sounds sensible
03:21
<@Reiv>
That's roughly what google does
03:22
<@Reiv>
which makes me assume that there's no other Good Way
03:22
<@Reiv>
Else they'd have the button to do it~
04:23
<@macdjord>
Tarinaky: 'Hypo' means 'too little'. So 'hypo-critical' would be 'insufficiently criticised'.
04:23
<@macdjord>
Tarinaky: The solution a low-thrust, continuous burn transfer is called a 'brachistochrone trajectory'.
04:23
<@macdjord>
<McMartin> I wasn't even the only Michael C. Martin associated with the school at the time -_-
04:23
<@macdjord>
Heh, 'macdjord' originated as my high school account name.
04:28 * Alek shrugs.
04:28
<@Alek>
I was so very naive in HS. and came to the internet scene late.
04:30
<@Alek>
while my name was more unique on the internet at the time, I thought the trend was more for unique nicknames. so I mashed together stuff I liked.
04:30
<@Alek>
my favorite color, my favorite letter, and my favorite (at the time) show.
04:31
<@Alek>
oh, not to mention, iirc hotmail needed invites to get in, at the time. like gmail did much later.
04:31
<@Alek>
so I signed up as redomegareboot, to a site I was told about by a classmate, coldmail.com
04:32
<@Alek>
yeah, it's LONG gone by now.
04:32
<@Alek>
I think it died even before MS bought hotmail.
04:33
<@Alek>
oh. the kicker? I was so proud of myself, I went up to the blackboard in my favorite class (math seminar) and wrote down the address, so my classmates could write me. -_-
04:33 * Alek has been cringing about it ever since.
04:34
<@Alek>
I did shorten the nickname to omegaboot, and have been using it ever since. almost everywhere.
04:41
<@macdjord>
macdjord was constructed automatically from my name (JORDan MACDonald)
04:41
<@macdjord>
Conveiniently, it seems to be unique to me~
04:43
<~Vornicus>
DJORD
04:46
<~Vornicus>
djordjordjord.
05:01 Vornicus [vorn@ServerAdministrator.Nightstar.Net] has quit [[NS] Quit: Leaving]
05:16 Kindamoody[zZz] is now known as Kindamoody
05:22 himi [fow035@Nightstar-dm0.2ni.203.150.IP] has quit [Ping timeout: 121 seconds]
05:48
<@froztbyte>
man[tab]
05:48
<@froztbyte>
that doesn't help.
06:36 Ogredude [quassel@Nightstar-dm1jvh.projectzenonline.com] has quit [[NS] Quit: No Ping reply in 180 seconds.]
06:36 Ogredude [quassel@Nightstar-dm1jvh.projectzenonline.com] has joined #code
06:36 mode/#code [+o Ogredude] by ChanServ
06:36 Turaiel [Brandon@Nightstar-vku52k.resnet.mtu.edu] has quit [Ping timeout: 121 seconds]
06:37 Checkmate [Z@Nightstar-484uip.cust.comxnet.dk] has joined #code
06:37 mode/#code [+o Checkmate] by ChanServ
06:37 Turaiel [Brandon@Nightstar-vku52k.resnet.mtu.edu] has joined #code
06:55 celticminstrel [celticminst@Nightstar-l2rg83.dsl.bell.ca] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!]
07:08 Harlow [harlow@Nightstar-pq0497.il.comcast.net] has joined #code
07:08
< Harlow>
caches are weird.
07:28
<@macdjord>
Harlow: http://thecodelesscode.com/case/148?topic=caching
07:30 macdjord is now known as macdjord|slep
07:33
< Harlow>
cool
09:27
<@Tarinaky>
macdjord|slep: Brachistochrone Trajectory (according to wikipedia) appears to be the case where the velocity is constant...
09:28
<@Tarinaky>
Well, except for gravity.
09:28
<@Tarinaky>
A cannon shell rather than a rocket is what I' trying to say.
09:33
<@Alek>
wait, that's not a parabola?
09:46
<@Tarinaky>
Alek: It's a generalisation where gravity is towards a point, rather than uniformly straight down.
09:47
<@Tarinaky>
It's still a conic section though.
09:49
<@Tarinaky>
Oh no, it isn't.
09:49
<@Tarinaky>
Ignore me
09:49
<@Tarinaky>
It's a cycloid
09:53 Kindamoody is now known as Kindamoody|afk
10:16
< Harlow>
anyone still up?
10:17
<@TheWatcher>
No.
10:18
< Harlow>
I need to learn some of the time zones people are on around here.
10:19 Irssi: #code: Total of 34 nicks [20 ops, 0 halfops, 0 voices, 14 normal]
10:25
<@TheWatcher>
Would be kinda neat to plot the ebb and flow of language expertise throughout the day in here, actually
10:27
< Harlow>
ebb?
10:31 Netsplit *.net <-> *.split quits: jeroud, @Syloq, @Reiv, @Xires, Derakon[AFK], Attilla, grindhold, Orth, @Checkmate, @Orthia, (+16 more, use /NETSPLIT to show all of them)
10:31
<@TheWatcher>
Means 'decline' in this context. "Ebb and flow" indicates a recurring pattern of coming and going, increse and decrease.
10:31
<@TheWatcher>
And how appropriately timed
10:31
<@TheWatcher>
DAMN JOO, NETSPLIT *shakes fist*
10:32 Netsplit over, joins: &Orth, @PinkFreud, &jerith, @Orthia, &jeroud, &ToxicFrog, @Tamber, @Alek, @JustBob, @Reiv (+16 more)
10:32 Irssi: #code: Total of 34 nicks [25 ops, 0 halfops, 0 voices, 9 normal]
10:32
<@TheWatcher>
Harlow: Means 'decline' in this context. "Ebb and flow" indicates a recurring pattern of coming and going, increse and decrease.
10:38
<@TheWatcher>
(of course, doing that would be complicated - knowhing which languages people use is one thing, but a given person's timezone is only loosely related to whether they'll be here, and going off nick presence doesn't help as many of us leave their connection up all the time)
10:59 Harlow [harlow@Nightstar-pq0497.il.comcast.net] has quit [[NS] Quit: This computer has gone to sleep]
11:07 * Tarinaky head desks at the NecronomiCOM
11:07
<@Tarinaky>
So the code that used to work no longer works, inexplicably.
11:07
<@Tarinaky>
And attempting to make it work again involves trying to call this method: http://msdn.microsoft.com/en-us/library/windows/desktop/ms695279%28v=vs.85%29.as px
11:07
<@Tarinaky>
Which the compiler is handily disavowing all knowledge of
11:07
<@Tarinaky>
Argh!
11:10
<@TheWatcher>
Did you forget to sacrifice the goat before running the compiler?
11:11
<@Tarinaky>
Apparently.
11:18
<@Tarinaky>
Ahah!
11:18
<@Tarinaky>
I was mispelling Initialize
11:19
<@TheWatcher>
You mean, spelling it properly, with an 's'?~
11:20
<@Tarinaky>
No, I got the vowels wrong
11:22
<@Julius>
TheWatcher: What's wrong with Oxford spelling (you heretic)?~
11:23
<@Tarinaky>
Nothing so glamorous. I made a soup of the vowels.
11:49 VirusJTG [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has joined #code
12:08 thalass [thalass@Nightstar-14221n.bigpond.net.au] has joined #code
12:08 mode/#code [+o thalass] by ChanServ
12:58 thalass is now known as thalass|afk
14:05 thalass|afk [thalass@Nightstar-14221n.bigpond.net.au] has quit [[NS] Quit: Leaving]
15:06 Checkmate [Z@Nightstar-484uip.cust.comxnet.dk] has quit [Ping timeout: 121 seconds]
16:24 celticminstrel [celticminst@Nightstar-l2rg83.dsl.bell.ca] has joined #code
16:24 mode/#code [+o celticminstrel] by ChanServ
18:08 Checkmate [Z@Nightstar-ev6.6um.94.83.IP] has joined #code
18:08 mode/#code [+o Checkmate] by ChanServ
18:35 _masor [_masor@Nightstar-cj5.osn.9.95.IP] has joined #code
18:35 _masor [_masor@Nightstar-cj5.osn.9.95.IP] has left #code []
19:35 gizmore [kvirc@Nightstar-6iuknp.pools.vodafone-ip.de] has joined #code
19:43 Kindamoody|afk is now known as Kindamoody
20:08 gnolam [lenin@Nightstar-9kr5bj.tbcn.telia.com] has joined #code
20:08 mode/#code [+o gnolam] by ChanServ
20:49 Kindamoody is now known as Kindamoody[zZz]
22:23 himi [fow035@Nightstar-v37cpe.internode.on.net] has joined #code
22:23 mode/#code [+o himi] by ChanServ
22:49 gnolam_ [lenin@Nightstar-9kr5bj.tbcn.telia.com] has joined #code
22:51 gnolam [lenin@Nightstar-9kr5bj.tbcn.telia.com] has quit [Ping timeout: 121 seconds]
23:01
<@celticminstrel>
Okay, for some reason I have this situation where the click event handlers are expected to return a boolean, but that boolean is ignored. I think I should either do something with it, or not require it. Can anyone think of anything for the former?
23:03
<&McMartin>
I don't know the specifics of the system you use, but it is often the case that one of those values means "the event has now been completely processed; you can stop forwarding the event now"
23:04
<@celticminstrel>
Well, for the focus change handlers, returning false means cancel the focus change, but I can't think of anything analogous for buttons.
23:04
<@celticminstrel>
And there's no forwarding to be done.
23:05
<@celticminstrel>
(Except the LED groups, and in that case the LED group's trigger system handles it.)
23:05
<@celticminstrel>
...that said, the return value is used in the LED group...
23:06 * celticminstrel will return after mapping out exactly what is going on here.
23:06
<@celticminstrel>
(As a side note, this entire thing is coded by me. >_> 0
23:06
<@celticminstrel>
^)
23:07
<@Tamber>
Ah, so; the craziest, strangest, most obnoxious coder you know?
23:07
<@Tamber>
;)
23:07
<@celticminstrel>
XD What.
23:08
<@celticminstrel>
To be more precise, I wrote this in 2009.
23:08
<@Tamber>
See.
23:08
<@celticminstrel>
Though it has been updated more recently, a bit.
23:08
<@Tamber>
The craziest coder you know, is your past self.
23:08
<@Tamber>
:p
23:08
<@celticminstrel>
Heh,
23:08 gnolam_ [lenin@Nightstar-9kr5bj.tbcn.telia.com] has quit [[NS] Quit: Z?]
23:09
<@celticminstrel>
I'm thinking I might've given it a return value solely for the LED groups.
23:09
<@celticminstrel>
But it's also possible that I didn't really have a reason for it, and the LED groups only use it because it's there.
23:14
<@celticminstrel>
Is it weird that the group's click event fires before the button's click event?
23:15
<@celticminstrel>
(Actually, originally it wouldn't fire at all, I just added this behaviour.)
23:15
<&McMartin>
That's the kind of thing where doing passthrough might actually be handy.
23:15
<&ToxicFrog>
I give you the 'adb restore' progress indicator:
23:15
<&ToxicFrog>
PID=$(pgrep -laf 'adb restore' | cut -d' ' -f1); SIZE=$(du -Lb /proc/$PID/fd/3 | cut -f1); while true; do cat /proc/$PID/fdinfo/3 | grep pos | cut -f2 | lua -e 'io.write(string.format("\r%03.2f%%", tonumber(io.read("*a"))/1839263180*100))'; sleep 1; done
23:15
<@celticminstrel>
Hm, McM?
23:15
<&ToxicFrog>
You may now vomit.
23:16
<@celticminstrel>
ToxicFrog: That looks absolutely insane.
23:16
<&McMartin>
celticminstrel: "Someone clicked in the button's space. Other widgets nominally in the same space might have Opinions about that"
23:17
<&ToxicFrog>
Aah, wait, no, here's the correct version:
23:17
<&ToxicFrog>
PID=$(pgrep -laf 'adb restore' | cut -d' ' -f1); SIZE=$(du -Lb /proc/$PID/fd/3 | cut -f1); while true; do cat /proc/$PID/fdinfo/3 | grep pos | cut -f2 | lua -e "io.write(string.format('\\r%03.2f%%', tonumber(io.read('*a'))/$SIZE*100))"; sleep 1; done
23:17
<&ToxicFrog>
celticminstrel: so, adb restore doesn't have a progress indicator of its own
23:17
<&ToxicFrog>
But the backup archive format is tar-based
23:17
<&ToxicFrog>
So it reads the backup archive linearly without seeking
23:17
<&ToxicFrog>
So, by watching the position of the read pointer for the fd attached to the backup archive, you can tell how far along it is
23:18
<@celticminstrel>
McMartin: Oh, what you're saying is this could be a reason to use the return value for situations other than the LED group? Like, "return false" means it doesn't send it to other controls that occupy the same space?
23:18
<&McMartin>
Right
23:18
<@celticminstrel>
Hm, okay.
23:18
<&McMartin>
Though whether you do this front-to-back or container-to-child will depend on a design. I'm not convinced there's a standard answer there.
23:18
<@celticminstrel>
I think I currently stop when I find the first hit, which is probably less-than-ideal behaviour.
23:19
<@celticminstrel>
Yeah, that's what happens.
23:19 * celticminstrel adds TODO note.
23:22
<@celticminstrel>
(Especially less-than-ideal when I don't really have a concept of layering - the order of controls is kinda arbitrary.)
23:23
<@celticminstrel>
But also: is it weird for the group's click event to fire before the clicked button in the group?
23:25
<&McMartin>
I want to say "I've seen this both ways"
23:25
<&McMartin>
But my inclination is to have the most specific thing fire first
23:25
<&McMartin>
Which means that disabling the group has to be careful to individually disable all components.
23:26
<@celticminstrel>
Which is easy in this case, since its components are maintained in a separate list. >_>
23:27
<&McMartin>
So yeah, I'd say "it's a little weird, but the important thing is to doc it out and make sure it's clear what's going on"
23:27 * celticminstrel nods.
23:27
<@celticminstrel>
The whole reason I'm even asking is because I started actually documenting it and noticed things.
--- Log closed Sat Dec 06 00:00:21 2014
code logs -> 2014 -> Fri, 05 Dec 2014< code.20141204.log - code.20141206.log >

[ Latest log file ]