code logs -> 2013 -> Sun, 17 Mar 2013< code.20130316.log - code.20130318.log >
--- Log opened Sun Mar 17 00:00:32 2013
00:09 Rhamphoryncus [rhamph@Nightstar-f8b1f87b.abhsia.telus.net] has quit [Operation timed out]
00:18 Rhamphoryncus [rhamph@Nightstar-f8b1f87b.abhsia.telus.net] has joined #code
00:18 mode/#code [+o Rhamphoryncus] by ChanServ
00:29 Vornicus [vorn@ServerAdministrator.Nightstar.Net] has quit [[NS] Quit: Leaving]
00:33 You're now known as TheWatcher[T-2]
00:36 You're now known as TheWatcher[zZzZ]
01:04 Courage [Moltare@583787.FF2A18.190FE2.4D81A1] has quit [Ping timeout: 121 seconds]
01:07 Courage [Moltare@583787.FF2A18.190FE2.4D81A1] has joined #code
01:07 mode/#code [+o Courage] by ChanServ
02:12 Vornicus [vorn@ServerAdministrator.Nightstar.Net] has joined #code
02:12 mode/#code [+qo Vornicus Vornicus] by ChanServ
02:37 Kindamoody[zZz] is now known as Kindamoody
03:40 syksleep is now known as Syk
04:06 VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [[NS] Quit: Program Shutting down]
04:08 mac [mac@Nightstar-fe8a1f12.il.comcast.net] has joined #code
04:27 * Vornicus pokes at love2d and lua.
04:45
<&ToxicFrog>
?
05:11
<~Vornicus>
I'm stumbling around in the dark trying to figure out how to do, well, /anything/, and so far it's not working so well because i have no idea what questions ask.
05:11
<~Vornicus>
to ask*
05:22
<~Vornicus>
I also haven't gotten around to building Lua motly because it involves getting a C dev env together
05:22
<~Vornicus>
So my only tool is Love
05:29
<~Vornicus>
I suspect what I really need is some small but not completely trivial code written in similar ways in both a language I know and Lua, heavily annotated.
05:29
<~Vornicus>
Or perhaps even completely non-annotated, but written to do the job in similar ways.
05:37
<&ToxicFrog>
Wait
05:37
<&ToxicFrog>
Building lua?
05:37
<&ToxicFrog>
What OS are you on?
05:42
<&ToxicFrog>
Also, if you can present me with a small python program or something, I could translate it.
05:42
<&ToxicFrog>
But not tonight.
05:42 * ToxicFrog (require slep)
05:46 Derakon is now known as Derakon[AFK]
06:04
<~Vornicus>
osx at the moment
06:39 cpux|2 [cpux@Nightstar-98762b0f.dyn.optonline.net] has joined #code
06:40 cpux [cpux@Nightstar-98762b0f.dyn.optonline.net] has quit [Ping timeout: 121 seconds]
07:00 mac [mac@Nightstar-fe8a1f12.il.comcast.net] has quit [[NS] Quit: Leaving]
07:11 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!]
07:56 Syk [the@Nightstar-30a6a752.iinet.net.au] has quit [[NS] Quit: leaving]
07:56 Syka [the@Nightstar-30a6a752.iinet.net.au] has joined #code
08:38 Xires is now known as ^Xires
09:04 McMartin [mcmartin@Nightstar-a44243a6.pltn13.sbcglobal.net] has quit [[NS] Quit: reboot]
09:08 McMartin [mcmartin@Nightstar-a44243a6.pltn13.sbcglobal.net] has joined #code
09:08 mode/#code [+ao McMartin McMartin] by ChanServ
09:23 You're now known as TheWatcher
09:24 Kindamoody is now known as Kindamoody|afk
09:46 d4de [olorin@687AAB.418D22.50F7C2.296A45] has quit [Ping timeout: 121 seconds]
10:34 Kindamoody|afk [Kindamoody@Nightstar-05577424.tbcn.telia.com] has quit [[NS] Quit: Upgrading RAM, if I won't f*** up and break something I'll be back soon.]
10:35 You're now known as TheWatcher[swim]
10:45 Vornicus [vorn@ServerAdministrator.Nightstar.Net] has quit [[NS] Quit: Leaving]
10:55 Kindamoody|autorejoin [Kindamoody@Nightstar-05577424.tbcn.telia.com] has joined #code
10:56 Kindamoody|autorejoin is now known as Kindamoody
10:56 mode/#code [+o Kindamoody] by ChanServ
11:07 Kindamoody is now known as Kindamoody|out
11:42 OrthiaLap [orthia@Nightstar-fae4ee48.ihug.co.nz] has joined #code
11:47 himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds]
11:59 himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code
11:59 mode/#code [+o himi] by ChanServ
13:03 d4de [olorin@687AAB.418D22.506BD0.7D5C86] has joined #code
13:12 celticminstrel [celticminst@Nightstar-e83b3651.cable.rogers.com] has joined #code
13:12 mode/#code [+o celticminstrel] by ChanServ
14:04 OrthiaLap [orthia@Nightstar-fae4ee48.ihug.co.nz] has quit [Ping timeout: 121 seconds]
14:14 VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code
14:19
<@Azash>
Test
14:19
<@Azash>
Right
14:22
<@Tamber>
Left.
14:43
<&ToxicFrog>
Center.
14:44
<&ToxicFrog>
Vornicus: http://lua-users.org/wiki/MacOsxLua
14:58 celticminstrel [celticminst@Nightstar-e83b3651.cable.rogers.com] has quit [[NS] Quit: KABOOM! It seems that I have exploded. Please wait while I reinstall the universe.]
14:58 celticminstrel [celticminst@Nightstar-e83b3651.cable.rogers.com] has joined #code
14:58 mode/#code [+o celticminstrel] by ChanServ
14:59
<&ToxicFrog>
I see now! I've been going about this all wrong!
14:59
<&ToxicFrog>
Igor! The electrodes!
15:23
< AnnoDomini>
http://www.wired.com/business/2013/03/free-learn-to-code-boot-camp/
15:29 Syka is now known as syksleep
15:38
<&ToxicFrog>
Wait, no, that won't work at all
15:39
<&ToxicFrog>
Hrm
15:39
<&ToxicFrog>
Maybe rather than having two upstream mogs, bind one to upstream and one to downstream in the same connection and redef (reply) and (forward) appropriately?
15:42
<&ToxicFrog>
Yeah, I think I can handle that in (downstream) and (upstream) using (binding)
15:51 Kindamoody|out [Kindamoody@Nightstar-05577424.tbcn.telia.com] has quit [Operation timed out]
15:51 Kindamoody|out [Kindamoody@Nightstar-05577424.tbcn.telia.com] has joined #code
15:51 mode/#code [+o Kindamoody|out] by ChanServ
16:47
<@Azash>
http://unix.stackexchange.com/questions/68164/what-would-be-the-best-way-to-work -around-this-glibc-problem
16:47
<@Azash>
Anyone got ideas?
17:06 Courage [Moltare@583787.FF2A18.190FE2.4D81A1] has quit [Ping timeout: 121 seconds]
17:07 Courage [Moltare@583787.FF2A18.190FE2.4D81A1] has joined #code
17:07 mode/#code [+o Courage] by ChanServ
17:33
<@Tarinaky>
I'm...
17:33
<@Alek>
we know
17:33
<@Tarinaky>
So I see someone complaining about an obtuse compiler error...
17:33
<@Tarinaky>
I'm not sure if I've translated it into plain English correctly.
17:34
<@Tarinaky>
http://pastebin.com/Kidzn8UD
17:40 Kindamoody|out is now known as Kindamoody
18:05
<&ToxicFrog>
No, hungarian notation is not, you fool
18:06
<&ToxicFrog>
(or rather, if it is, the answer is "use a better editor", not "doom all future maintainers of this code to suffering and torment")
18:09
<@Azash>
Hungarian notation is bueno under the rather optimistic assumption that everyone involved knows Hungarian notation
18:09
<@froztbyte>
that's easy
18:09
<@froztbyte>
if they don't, they should
18:09
<@froztbyte>
;D
18:11
<@Tamber>
Azash, with an additional specifier of "Proper Hungarian, not this `int iSomething;` shit."?
18:11
<@Tamber>
~.~
18:26
< JustBob>
So what's the name of the notation system where you're going a b c d e f g, etc. without regard for what functions, arrays, or purposes you're calling? :p
18:27
<@Tamber>
"Fuck you, I'm quitting tomorrow."
18:27 Derakon[AFK] is now known as Derakon
18:28 mode/#code [+ooooooooooo AnnoDomini Reiver Xon d4de syksleep sshine ^Xires cpux|2 VirusJTG JustBob jeroud] by Tamber
18:32
<@JustBob>
Heh.
18:32
<@JustBob>
Incidentally, I just realized I have variables in my code like y1ts1N1.
18:32
<@Tamber>
... o.0
18:32
<@JustBob>
As part of the y#ts#N# family.
18:34
<@Azash>
Tamber: Yes
18:37
<@JustBob>
Tamber - To clarify, I'm working in matlab and I have incestuous variables where I'm going 'function y1 is the result of the N1 equation evaluated over first timestep increment range' or something like that.
18:37
<@Tamber>
Ah
18:37
<@JustBob>
So it makes perfect sense as long as one's looking at the code for it to be y1ts1N1, but serves fine to confuse people when I just randomly quote the variable name. :p
18:58 * Derakon reads up.
18:59
<&Derakon>
Bob: the "a b c d e f etc." naming scheme is also known as the "not a trained programmer" scheme.
19:00
<&Derakon>
(You can also recognize this when they use foo, bar, and baz as actual variable names in real code, by imitation with what they see real programmers using in their examples~)
19:01 Derakon is now known as Derakon[AFK]
19:02 * Azash admits to using 'foo' for temp variables
19:06
<@Tarinaky>
ToxicFrog: pThisIsObviouslyAPointer.member(); is obviously wrong, as is thisIsObviouslyNotAPointer->member();...
19:06
<@Tarinaky>
Hungarian notation is much maligned and I don't know why.
19:09
<@Tarinaky>
Granted the optimal solution would be if the Compiler just 'did the right thing'.
19:10
<@Tarinaky>
But I object to any solution to a <Programming Language Specific> problem that begins with "Do not use <Programming Language>",
19:10
<@JustBob>
Dera - Somewhat belatedly, I was being a bit facetious. Although I admit that in my line of work, seeing n, nn, and nnn next to n1, n2, and n3 is not unusual. For n1 being the output of n, n2 being the output of a function of nn and n1, etc.
19:12
<@JustBob>
e.g. right now I'm writing a Euler's method approximation for a system of three linked ODEs, and the input to, say, the second-order one is a function of the first order, etc.
19:13 VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [Client closed the connection]
19:14 VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code
19:14
<@Alek>
indeed, "I need help with X." "DO NOT USE X!" I find singularly unhelpful.
19:17 Rhamphoryncus [rhamph@Nightstar-f8b1f87b.abhsia.telus.net] has quit [Ping timeout: 121 seconds]
19:20
<@Tarinaky>
Alek: It has its place.
19:21
<@Tarinaky>
"How do I tighten a screw with a hammer." "Use a screwdriver."
19:21 [R] is now known as Vasi
19:21
<@Tarinaky>
Although that's a different format to "Don't use a hammer."
19:22
<@JustBob>
The problem is, of course, that one can, in fact, tighten a screw with a hammer.
19:28
<@Alek>
but it takes Real Skill.
19:30 Derakon[AFK] is now known as Derakon
19:31
<@Alek>
I'd say it's closer to "How do I nail this with a sledgehammer?" "DO NOT USE A SLEDGEHAMMER, use a ballpeen!" "Dude, all I have is a sledgehammer. Are you gonna be helpful or just keep trolling?"
19:31
<@Alek>
</IANAC>
19:33 Kindamoody is now known as Kindamoody[zZz]
19:33
<@Tarinaky>
I am not a clojure?
19:36 Rhamphoryncus [rhamph@Nightstar-f8b1f87b.abhsia.telus.net] has joined #code
19:36 mode/#code [+o Rhamphoryncus] by ChanServ
19:38
<@Tarinaky>
Alek: Sledgehammer 2.0 is going to include support for nails and user-defined fittings using an XML specification.
19:38
<@Tarinaky>
The current nightly has a bug where the sledgehammer misses and breaks your foot though.
19:40
<@Tarinaky>
And the XML specification isn't complete, so for now, everything looks like a nail.
19:44
<@Alek>
Carpenter
19:44
<@Tarinaky>
Ahah.
19:44
<@Tarinaky>
I thought my joke about everything looking like a nail was witty >.>
19:45
<@Alek>
good enough.
20:19 Vornicus [vorn@ServerAdministrator.Nightstar.Net] has joined #code
20:19 mode/#code [+qo Vornicus Vornicus] by ChanServ
20:39 himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds]
21:06
<@Reiv>
Hey, a b c d e f might be "I am not a real programmer"
21:06
<@Reiv>
But what about i j & k?
21:06
<@Reiv>
(Or for the showoffs, ii, jj, kk~)
21:06
<@JustBob>
Those are vectors. .?
21:06
<@Reiv>
Iterators!
21:13
<~Vornicus>
i j and k are used for indices not iterators directly, in general.
21:20
<@Tarinaky>
I usually only use i.
21:20
<@Tarinaky>
If I have more than one index I need to label them.
21:27
<@Reiv>
Tarinaky: I am comfortable with i and j, mostly
21:28
<@Reiv>
Useful for the classic double loop. It's also O^2, but what the hell, etc.
21:28
<@Reiv>
Once you start needing k it's time to think about labels.
21:28
<~Vornicus>
In more complicated stuff lately I've been using abbreviated versions of the actual data name for the indexes.
21:28
<@Tarinaky>
The only case I can tyhink of off the top of my head where I need double loops tend to be in space...
21:28
<@Tarinaky>
So x,y,z.
21:29
<~Vornicus>
so I have (in js) for (var dd = 0; dd < dropdown_count; dd++) { dropdown = dd; for (var cat = 0; cat < category_count; cat++) { category = cat; ... }}
22:12 io\blargh is now known as iospace
22:23 himi [fow035@D741F1.243F35.CADC30.81D435] has joined #code
22:23 mode/#code [+o himi] by ChanServ
22:28 VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [Client closed the connection]
22:29 VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code
22:31
<~Vornicus>
er, dropdown = dropdowns[dd], etc, but
22:41 VirusJTG_ [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code
22:43 VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [Ping timeout: 121 seconds]
22:44
<@Reiv>
VORNICUS
22:44
<@Reiv>
HOW DO I XL
22:45
<~Vornicus>
Excel?
22:45
<~Vornicus>
What magic do you need today?
22:45
<@Reiv>
A small modification of VLOOKUP
22:45
<@Reiv>
I have two columns: an Area and a Code.
22:46
<~Vornicus>
you need to look up area, given code?
22:46
<@Reiv>
I need to be able to code the thing so someone writes 'Texas' and have the adjacent column return 'TX'
22:46
<~Vornicus>
Oh, youneed to fill in code, according to area.
22:46
<@Reiv>
I have a worksheet with the relevant references.
22:46
<@Reiv>
(Intention is that the paperwork shows up with region on it, but not code, and code can be nonintuitive)
22:47
<~Vornicus>
Are the references TX / Texas, or Texas / TX?
22:47
<~Vornicus>
(you need them in the former shape)
22:47
<@Reiv>
(Afterall, everyone knows that Auckland compresses to AKC, right?)
22:47
<@Reiv>
I can force the shape as I see fit; I'm crafting the reference worksheet.
22:47
<@Reiv>
Caution: There may be multiple areas per code (this is why the nonintuitive)
22:48
<~Vornicus>
Er, rather, you need them in the latter shape.
22:48
<@Reiv>
Latter shap is doable and frankly preferable!
22:48 * Vornicus can think straight
22:50
<~Vornicus>
This is straightforward VLOOKUP
22:51
<~Vornicus>
in the code column, put =VLOOKUP(the corresponding cell in the area column, the reference table with all the cell letters & numbers preceded by $, 2, FALSE)
22:51
<@Reiv>
Oh right you use 2
22:52
<~Vornicus>
so if your thing is on the sheet areas2codes you'd put for instance areas2codes!$A$2:$B$50
22:52
<@Reiv>
I keep forgetting that
22:52
<~Vornicus>
yeah that's 1-indexed
22:52
<@Reiv>
Most of my VLOOKUPS are simply 'Is this list of things in this other list"
22:59 VirusJTG_ [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [Ping timeout: 121 seconds]
22:59 VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code
23:07
<&ToxicFrog>
Tarinaky: apps hungarian is rarely used, but isn't all that bad if you're stuck with a language where you can't, e.g., express the difference between a sanitized string and a dangerous one in the type system.
23:07
<@Tarinaky>
apps?
23:07
<&ToxicFrog>
Systems hungarian is a terrible idea, because sooner or later - probably sooner - you're going to need to change something's type.
23:07
<&McMartin>
Apps hungarian is basically a shorthand for descriptive variable names~
23:07
<&ToxicFrog>
And if you have an IDE that made it easy to rename everything, you'd have an IDE that can do type analysis and wouldn't find systems hungarian at all useful.
23:08
<&ToxicFrog>
And if these names are part of a published interface, you're fucked outright.
23:08
<&McMartin>
(Hi, Win16~)
23:08
<&McMartin>
That said
23:08
<&McMartin>
Hmm
23:09
<&McMartin>
Actually, maybe not
23:09
<&ToxicFrog>
I cite as evidence the entire win32api, which uses hungarian notation that doesn't actually match the types in use, because the types had to change to support new hardware but renaming the variables would break everything targeting that API.
23:09
<&McMartin>
Actually, I now have no idea.
23:09
<&McMartin>
ToxicFrog: Um, no, the Win32 API does not do this.
23:09
<&McMartin>
The Win16 API does.
23:09
<&McMartin>
The one thing the Win32 API *does* do was the thing I caught myself on
23:09
<&McMartin>
Which is to say, CreateProcessA vs. CreateProcessW
23:09
<&McMartin>
This doesn't count for two reasons:
23:10
<&McMartin>
(a) It's hidden behind a #define so if you follow normal coding practice it's just "CreateProcess"
23:10
<&McMartin>
(b) If this counts, then strlen/wcslen counts as systems Hungarian and it totally doesn't.
23:11
<&McMartin>
Now, you did mention "variables" and as it happens I can't think of any actually exposed global variables in the Win32 space~
23:11
<&ToxicFrog>
McMartin: er. I thought the win16 api had matching prefixes, and when they moved to win32 they changed the types and kept the names.
23:11
<&McMartin>
Outside of parameter names.
23:12
<&McMartin>
This is not, to my knowledge, the case, or if it is, those names are no longer officially documented and you don't program to them anymore.
23:12
<&McMartin>
At least not at the Win32 equivalent of programming to man(2).
23:12
<&ToxicFrog>
I use "win32api" here to mean the win9X (and early NT?) API and not, e.g., what you get in 7.
23:13
<&McMartin>
AFAIK that was Win9X simulating Win3.1;
23:13
<&McMartin>
While I cannot speak for 95
23:13
<&McMartin>
98 definite had the VMSy syntax of CreateProcess, ReadFile, WriteFile, CreateWindow, PostMessage, GetProcessTokenInformation
23:13
<&McMartin>
*definitely
23:13
<&ToxicFrog>
Tarinaky: apps hungarian is "each variable gets a prefix that denotes its semantic type", e.g. "usPlayerName" to indicate an unsafe string that may contain data that needs to be escaped and "ssPlayerName" to indicate a safe string, where both have type String or char* or whatever.
23:13
<&McMartin>
Well, not GetProcessTokenInformation because quaint notions like ACLs don't show up until 2k~
23:14
<&ToxicFrog>
Systems hungarian is "each variable gets a prefix that denotes its declared type, until you change the declared type next month"
23:14
<&McMartin>
You'll still see light systems hungarian in the Win32 API, but it's in the parameter names.
23:14
<@Tarinaky>
ToxicFrog: Ahh, I wondered what Apps was short for.
23:14
<&McMartin>
And it's generally just p, u, etc.
23:14
<&McMartin>
"pointer", "unsigned"
23:14
<&McMartin>
Which is a third kind of Hungarian that is like Systems but ever so slightly less stupid
23:15
<@Tarinaky>
Also: Systems Hungarian is essential for function overloading.
23:15
<@Tarinaky>
But that's obvious.
23:15
<&McMartin>
Since, after all, all of those things are apps-level distinctions in C~
23:15
<&McMartin>
Tarinaky: That's the strlen/wcslen split
23:15
<&ToxicFrog>
Tarinaky: what
23:15
<&ToxicFrog>
are you insane
23:15
<&McMartin>
ToxicFrog: OpenGL C interface
23:16
<&McMartin>
He's counting that as "systems hungarian"
23:16
<@Tarinaky>
ToxicFrog: The compiler can't distinguish between two functions with the same prototype but different return types.
23:16
<@Tarinaky>
Obviously you don't do it for /all/ the functions.
23:16
<&McMartin>
s/compiler/ELF ABI.
23:16
<@Tarinaky>
Just when you need it.
23:16
<&ToxicFrog>
Depends on the language~
23:16
<&McMartin>
Well
23:16
<&McMartin>
It's the Compiler's job to mangle your function names into something that links properly~
23:16
<&ToxicFrog>
And "apps" is short for "applications", since apps hungarian originated, IIRC, in the MS application development team.
23:16
<&ToxicFrog>
Then the systems team got their hands on it and everything went horribly wrong.
23:17
<&McMartin>
But that requirement is enforced by the ELF/COFF formats, which do not have separate name and signature fields.
23:18
<&McMartin>
(One can make a fairly good case that hiding the A/W distinction in Win32 by default was a mistake; indeed, the fact that wx does so is my largest complaint with it)
23:18
<&McMartin>
(But one can easily work around that by using the appropriate version by name)
23:18
<&Derakon>
A/W distinction? App/window?
23:18
<&McMartin>
Originally, ANSI/Wide
23:18
<&McMartin>
Whether you're using chars or wchar_ts.
23:19
<&Derakon>
Right.
23:19
<&McMartin>
(Windows is UTF-16LE internally everywhere)
23:19
<&McMartin>
(However, for obvious reasons nothing written prior to 2000 or so actually knows this and instead uses one of 100,000 incompatible codepages)
23:20
<&Derakon>
(Hiding the app/window distinction in Windows continues to piss me off to this day, since I can't e.g. switch to all of my terminal windows simultaneously once I'm done reading documentation in the browser)
23:20
<&McMartin>
Er
23:20
<&McMartin>
No, that's not your complaint.
23:20
<&McMartin>
Your complaint is that there isn't a single Terminal process.
23:20
<&Derakon>
Well. My complaint is there's no "Bring all Terminal windows to front" command.
23:20
<&McMartin>
Right
23:20
<&Derakon>
I guess I don't really care how it works in the backend.
23:20
<&McMartin>
That's not an app/window distinction.
23:21
<&McMartin>
If you bring GIMP to the front, all the GIMP windows should come up.
23:21
<&McMartin>
But each version of cmd.exe is in fact a separate app and gets its own window.
23:21
<&McMartin>
(This is a no-right-answer thing, incidentally; I loathe the Mac approach to this)
23:21
<&Derakon>
Okay, then my complaint is that that's dumb~
23:22
<&McMartin>
I want *just the terminal that I need to copy this information for* up, not all the terminals that, if foregrounded, will block the information I just found
23:22
<&Derakon>
Mm, that can be annoying, I grant, but it's comparatively an edge case.
23:22
<&McMartin>
Not for me~
23:23
<&Derakon>
Windows' alt-tab very quickly becomes hopelessly cluttered, making it impossible to find anything quickly.
23:23
<&McMartin>
Well, I tend to tile left/right sides, more or less
23:23
<&McMartin>
(This is starting to shift as I have to do more Linux development, as All The Linux Distros decided to start following Mac without understanding what they weren't buying with it)
23:23
<&Derakon>
I have one display for IRC and one for Everything Else, which currently is 8 different programs.
23:23
<&McMartin>
(Such as "there is still no top-level menu that lets you refer to all the windows of that type, just the one you're in)
23:24
<&McMartin>
Ah, yes
23:24 * McMartin is a single-monitor guy
23:24 * McMartin may be the only one left.
23:24
<&Derakon>
Heh.
23:24
<&Derakon>
I'll freely grant that doing the Mac style wrong could easily be terrible.
23:25
<&McMartin>
Every single complaint about Ubuntu's Unity other than "accidentally searches Amazon for porn under your user account" boils down to this~
23:25
<&Derakon>
But in general I find it intensely painful to deal with overlapping apps in Windows because there's simply no quick way to go from one app to another.
23:25
<&McMartin>
(Which was a real bug which came up in a demo)
23:25
<&Derakon>
(Whoops)
23:25
<&ToxicFrog>
I tend to just put each thing on a single vdesk.
23:26
<&ToxicFrog>
Or in some cases I'll tile multiple things (e.g. terminals) on a vdesk.
23:26
<&McMartin>
(Let's have the !Spotlight search Amazon for your search string too! And now lets have it search as you type! And now let's search for "analyzer" in public and forget that there's an unfortunate prefix there.")
23:26
<&Derakon>
I admit I can't remember if Windows has multiple desktops built-in; that might be a good workaround.
23:26
<&ToxicFrog>
(I am also a single-monitor guy, but part of this is that I have yet to find a WM that doesn't shit itself completely when you try to combine vdesks and multiple monitors.)
23:26
<&ToxicFrog>
(I am told that XMonad is pretty good in this respect, but haven't tried it yet)
23:26
<&McMartin>
Derakon: It doesn't, but it does have "snap to half of screen"
23:26
<&ToxicFrog>
It totally doesn't.
23:26
<&Derakon>
McM: worse than wrong!
23:27
<&ToxicFrog>
ISTR you can buy (maybe there's a free version now?) software that gives you four vdesks.
23:27
<&Derakon>
Windows' insistence on snapping and/or expanding windows that you drag to the edges of the display is another pet peeve~
23:27
<&ToxicFrog>
I generally consider twelve to be the bare minimum for useful work.
23:27
<&McMartin>
Incorrect; snap-to-half-of-screen is totally awesome and I miss it terribly whenever I lack it.
23:27
<@Namegduf>
XMonad is basically based around combining vdesks and multiple monitors.
23:27
<&McMartin>
This is arguably because I *actually* want a tiling WM, but I only want it half the time.
23:27
<&Derakon>
I only ever trigger that behavior when I'm trying to position a window whose size I already like.
23:27
<@Namegduf>
Each monitor's vdesk is independently switchable, and you use this to swap out parts of your workspace.
23:28
<&McMartin>
Text editor and Terminal on left half, Browser and Other Terminal right half is my usual setup.
23:28
<@Namegduf>
I use it on a single screen, but it really shines only in the multiple monitor configuration.
23:28
<&ToxicFrog>
Namegduf: that is what everything else fails at.
23:28
<@Namegduf>
I've heard that.
23:28
<&Derakon>
I usually run with four terminals active at a time
23:28
<&McMartin>
Derakon: I'm willing to grant that the snap commands would work better *just* as the keyboard shortcuts
23:28
<&Derakon>
And that's mostly because that's what fits on my laptop's display.
23:29
<&McMartin>
(Windows-Left/Right)
23:29
<&ToxicFrog>
Derakon: dropdown terminal. Love it.
23:29
<&Derakon>
Dropdown?
23:29
<&ToxicFrog>
It hugely cuts back on how many actual terminal windows I need.
23:29
<&ToxicFrog>
Press a key, terminal emulator drops down from the top of the screen, Quake style.
23:29
<&ToxicFrog>
Press again, it retracts.
23:29
<&Derakon>
Ah.
23:29
<&ToxicFrog>
I bind the menu button on the keyboard to that.
23:29
<&McMartin>
... what possible use case does that have beyond "I need to run a single fire and forget program"
23:30
<@Namegduf>
Running a few fire and forget programs.
23:30
<&ToxicFrog>
McMartin: er?
23:30 * McMartin generally has "I need to visually compare two sets of program outputs"
23:30
<&Derakon>
I'd probably use it for my "currently on the command line" terminal.
23:30
<&ToxicFrog>
It does, you know, persist across runs
23:30
<&McMartin>
Yes, but unless I need two scrollbars, I don't have two terminals.
23:30
<&Derakon>
Of my four terminals, usually 2-3 have files open and the remainder are for commandline invocations.
23:30
<&ToxicFrog>
I don't understand the question anymore.
23:30
<&McMartin>
"Why did you ever need more than one terminal in the first place"
23:30
<@Reiv>
I never understood the question to begin with.
23:31
<&McMartin>
"And if you did, how does a dropdown terminal help in the slightest"
23:31
<@Reiv>
But then this is walking up to a little chinese man in his rice fields, and proceeding to ask him how to engineer a turbojet for optimal high-altitude efficiency. In greek.
23:31
<&ToxicFrog>
One ssh'd into orias, one in each project directory (because switching tabs is faster than messing with pushd/popd or screen), one for fire-and-forget stuff....
23:31
<&Derakon>
You need more than one terminal because flipping between tabs in a single terminal is inconvenient compared to flipping between terminals~
23:31
<@Tarinaky>
McMartin: I tend to launch all my programs from a terminal window.
23:32
<@Tarinaky>
Which is why I have a button that launches a terminal emulator.
23:32
<@Tarinaky>
Dunno if that counts as fire and forget or not.
23:32
<&McMartin>
TF: OK, so, that's kind of my question, I guess
23:32
<&ToxicFrog>
Sometimes I'll have a few terminals watching logs
23:32
<&McMartin>
Doesn't the dropdown just mean that your fire-and-forget terminal autominimizes and has a nice hotkey?
23:32
<&ToxicFrog>
All of my terminals.
23:32
<&McMartin>
Uh
23:32
<&McMartin>
OK, I can no longer imagine what this looks like.
23:32
<&McMartin>
I'm imagining something like the Quake Console
23:32
<&McMartin>
Which is One Terminal.
23:33
<&ToxicFrog>
It means that no matter what vdesk I'm on, I can press a key and half the screen be whatever I normally have on that vdesk and half the screen be my tabbed terminal emulator.
23:33
<&ToxicFrog>
It is tabbed.
23:33
<&McMartin>
OK, that workflow is "I'm on a Mac or Unity and only using one workspace so I can Alt-Tab to Terminal"
23:33
<&McMartin>
The one I actually dislike~
23:33
<&ToxicFrog>
I never only use one workspace.
23:33
<&ToxicFrog>
And when I do, alt-tab breaks terribly because I never only have two windows open.
23:34
<&ToxicFrog>
This gives me a key that, no matter what vdesk I'm on, and no matter how many windows I have open and what order I've used them in, is "give me my terminal" and "put the terminal away again".
23:34
<&McMartin>
Right
23:34
<&ToxicFrog>
It is thus strictly superior to both alt-tab, and winkey-terminal.
23:34
<&McMartin>
I guess it's that my reaction is less "this is a glorious revelation" and more "congratulations, you've managed to slightly unfuck the primary reason I despise multiple workspaces"
23:35
<&ToxicFrog>
Ok, so, what do you use instead of multiple workspaces to manage multiple programs
23:35
<&ToxicFrog>
Tiling doesn't work unless your monitor is three meters wide, and alt-tab is just awful
23:36
<&McMartin>
I'm not entirely sure I understand which part you disbelieve, so...
23:36
<&McMartin>
The short answer is "I use the desktop"
23:36
<&ToxicFrog>
Er
23:36
<&McMartin>
WHich is obviously incomplete
23:36
<&McMartin>
At any given time I am doing one thing.
23:36
<&McMartin>
Any given thing only requires three or four windows.
23:36
<&McMartin>
At any given time between one and two of those windows is actually relevant
23:36
<&ToxicFrog>
Ok, so, I have email, at least one each of browser and xchat, password vault, at least one and usually several editor or IDE states, open all the time
23:36
<&McMartin>
At that point you can *mouse* your way around managing them.
23:37
<&Derakon>
Ew.
23:37
<&ToxicFrog>
Oh, and a git-gui attached to each of those editors.
23:37
<&McMartin>
email is either minimized or maximized
23:37
<&ToxicFrog>
And a terminal.
23:37
<&McMartin>
If I am coding, I Am Not Doing Anything Email Related and vice versa
23:37
<&ToxicFrog>
Even when I'm not context switching frequently, I still want to be able to context switch fast when, e.g., I'm switching between my editor, my build window, and my browser with all the API documentation in it, and possibly the IRC channel where I'm discussing said API.
23:38
<&Derakon>
Currently I have 3 IRC windows, 1 browser, 3 terminals, 3 image viewers, and 3 other programs each with 1 window.
23:38
<&ToxicFrog>
That's only four windows and alt-tab is already completely unusable, because the number of tabs you need to switch from where you are to where you want to be is entirely context-dependent.
23:38
<&Derakon>
That's 8 applications counting the desktop.
23:38
<&Derakon>
It takes thus at most 10 keystrokes to get to the window I want, assuming it's at the bottom of both stacks.
23:38
<&McMartin>
I generally have one browser window, one editor, and between zero an done terminals.
23:38
<&Derakon>
(app stack and window stack)
23:38
<&McMartin>
*and one
23:38
<&McMartin>
While coding.
23:39
<&ToxicFrog>
Derakon: ok, so, with vdesks, it's six maximum and I find it a lot more reliable than alt-tab.
23:39
<&McMartin>
And then maybe PuTTY running with a connection to Iodine if I am IRCing.
23:39
<&McMartin>
Right now I have two windows up, one of which (Steam) is being entirely ignored~)
23:39
<&ToxicFrog>
Unless I have a number for each vdesk, in which case it's one.
23:39
<&Derakon>
In practice, since OSX also properly sorts your apps based on when you last used them (Windows seems to try to do this but absolutely cannot manage it successfully which is utterly mystifying), it's only like 1-4 keystrokes.
23:40
<&ToxicFrog>
Windows sorts successfully, IME.
23:40
<@Vasi>
Windows fails at that for me.
23:40
<&Derakon>
Not for me. It continually punts windows to the middle of the queue immediately after I switch away from them.
23:40
<&ToxicFrog>
The problem is that that doesn't actually help, because if my current state involves four programs, my actual distance to the program I want to be using is variable, which means I have to actually watch the alt-tab interface
23:40
<&ToxicFrog>
Rather than just pressing ctrl-alt-3 and being right at my browser, for example.
23:40
<@Vasi>
But I usually have 20 windows. Add in W8's retarded "all tabs are a 'window'" 'feature' and it's just worse.
23:41
<&Derakon>
Wait, tabs are windows in win8?
23:41
<&McMartin>
"All tabs are a window" would break my browser, though not to TF's degree
23:41
<&Derakon>
Who the fuck thought that one up?
23:41
<&McMartin>
I have, at most, five tabs open at once.
23:41
<&ToxicFrog>
What? No they aren't.
23:41
<&McMartin>
ISTR TF has in the 300 range
23:41
<&ToxicFrog>
Oh, I missed the "in win8"
23:41
<&Derakon>
I have 6 currently.
23:41
<&Derakon>
Yeah, my Win experience tops out at 7.
23:41
<&ToxicFrog>
These days it's more like 30-40.
23:42
<&McMartin>
Anyway, yeah
23:42
<&McMartin>
My organizing principle is that if the thing I am working on can't fit on one desktop I narrow its scope until it can.
23:43
<&McMartin>
Or its focus.
23:43
<&ToxicFrog>
By the time I have version control, editor, build control, and API documentation on one screen, they are all too small to use.
23:44
<&ToxicFrog>
Part of this may be that the biggest screen I have is 22", and the highest resolution screen I have is 1680x1050.
23:44 gnolam [lenin@Nightstar-7bcbe2b8.cust.bredbandsbolaget.se] has quit [[NS] Quit: Reboot]
23:44
<&McMartin>
I'm on a modest-sized 1920x1080, which is not much larger.
23:44
<&Derakon>
I actually do most of my work these days on a 12" laptop display~
23:44
<&McMartin>
However, version control and build control are the same terminal window as "compilation"
23:44
<&Derakon>
I have a side 19" LCD, but that's mostly for showing images to other people.
23:45
<&ToxicFrog>
"build control" is "compilation" for me.
23:45
<&ToxicFrog>
Although sometimes I also need a term for testing, etc.
23:45
<&McMartin>
Right
23:45
<&McMartin>
That's the one that replaces the API Documentation chunk of screen.
23:45
<&McMartin>
If I had a tiling WM it would be:
23:45
<&ToxicFrog>
Version control is git-gui, because "stage hunk for commit" and "stage line for commit" completely outclasses git add -i
23:46
<&McMartin>
That notion leaves a bad taste in my mouth, tbh
23:47
<&McMartin>
Editor/Compilation/Running/Easy Version Control Stuff|API documentation/Testing or comparison terminal
23:47
<&McMartin>
If I don't need API documentation, the Editor takes the whole screen; if I'm doing anything more complicated than checking which files are modified and doing updates and commits that'll take the full screen too.
23:47
<&McMartin>
IRC needs to float, which is why I do not want a tiling WM~
23:47
<&ToxicFrog>
What notion leaves a bad taste in your mouth?
23:48
<&McMartin>
The notion of "stage just this one line for commit"
23:48
<&McMartin>
It implies that one's development focus has been heavily diffused.
23:48
<&ToxicFrog>
Oh. Generally I use that when I have written a bunch of stuff and then realize "wait, this should have been three commits"
23:48
<&Derakon>
I just end up writing very verbose commit descriptions in that situation~
23:48
<&ToxicFrog>
So I commit one set of changes, stash, test, amend as needed, then unstash and make the next commit, etc
23:48 VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [Ping timeout: 121 seconds]
23:48
<&ToxicFrog>
Because if at some point I need to go back and bisect or revert or something, having separate commits makes that much, much easier.
23:48 VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code
23:48
<&McMartin>
Right
23:49
<&McMartin>
What I'm saying is, your initial condition is something I take as a sign that something has gone seriously wrong
23:49
<&Derakon>
I can see that...but at the same time I practically never end up having to revert changes wholesale.
23:49
<&ToxicFrog>
I don't follow.
23:50
<&McMartin>
Essentially, it means I've context switched twice and not noticed.
23:50
<&ToxicFrog>
I mean, for me, usually this happens when I'm e.g. adding a new feature and I don't remember to commit until the feature is actually working, when in reality there should have been like five distinct, functioning pipelaying commits before that.
23:50
<&ToxicFrog>
I like fairly granular commits.
23:50
<&Derakon>
It's not so much that you have changed focus several times, it's just that you forgot to come up from hack mode to commit changes.
23:50
<&ToxicFrog>
Yes, that.
23:51 gnolam [lenin@Nightstar-7bcbe2b8.cust.bredbandsbolaget.se] has joined #code
23:51 mode/#code [+o gnolam] by ChanServ
23:51
<&McMartin>
OK
23:51
<&McMartin>
If I'm in hack mode, those intermediate steps in fact would not be distinct or indeed functioning~
23:52
<&ToxicFrog>
Going back to what you'd have if you had a tiling WM, yeah, that's the thing - that's pretty close to my usual working set, but I need some way to manage that. Putting them all on one desktop does not accomplish that, in large part because part of what I want as "manage" is "I want to have a single consistent keystroke that will take me to each task"
23:52
<&ToxicFrog>
So each one gets its own vdesk.
23:52
<&McMartin>
Right
23:52
<&McMartin>
Then my answer is "I make sure it all fits, because if it doesn't my productivity will plummet, even with vdesks. That's why I abandoned them in the first place"
23:53
<&ToxicFrog>
Yeah, "it all fits" is not possible for me.
23:53
<&ToxicFrog>
At least something ends up too small to actually be useful.
23:53
<&McMartin>
Well
23:53
<&McMartin>
I'm using minimization
23:53
<&McMartin>
And since they're all different apps I can also use the taskbar.
23:54
<&McMartin>
That's how I control email and IRC.
23:54
<&ToxicFrog>
Taskbar means mouse.
23:54
<&Derakon>
Taskbar requires using the mouse~
23:54
<&McMartin>
If it's not visible, my workflow has *already* broken.
23:54
<&ToxicFrog>
What?
23:54
<&McMartin>
What part of "I make sure it all fits because even splitting by task the way you do is a gigantic productivity drain" wasn't clear?
23:55
<&Derakon>
I guess the part where "I can't lose sight of a window for even a few seconds or else its contents are lost from short-term memory".
23:55
<&McMartin>
I think I mentioned that I was doing man-2 style Windows programming, so, uh, yeah, I guess that might need explanation~
23:55
<&McMartin>
CreateProcessW has like 14 arguments, some of which are structures, so, uh, yeah, actually, it has to be right there all the time
23:55 * AnnoDomini considers how to extract dates in a standard format from text.
23:56
<&Derakon>
If that kind of situation comes up for me, then I usually resort to the mouse to get a single Terminal overlapping my browser.
23:56
<&McMartin>
Right
23:56
<&McMartin>
Whereas that is My Primary Use Case.
23:56
<&McMartin>
Editor/Browser, more or less.
23:56
<&McMartin>
The other thing is that it apparently takes me about 10 seconds to mentally shift focus to a "new task"
23:57
<&McMartin>
At the level I think you're using.
23:58
<&McMartin>
I'm imagining, in TF's case, that he's changing vdesks approximately once every seven or eight seconds.
23:58
<&McMartin>
Because that's how often I'd be flicking my eyes over to That Other Window.
23:58
<&Derakon>
Ehh, it really depends on how self-sufficient your programming is, I expect.
23:59
<&McMartin>
If there needed to be so many items to hand that I couldn't fit them all on a single setup, I would very, very rapidly hit a point where I'd be saying "No, I can't work like this" and because drastrically restructuring all my workflows.
23:59
<&Derakon>
I don't need references at all often so usually when I switch to browser it's because I need a short break.
23:59
<&McMartin>
s/because/begin/
23:59
<&McMartin>
Vdesk for "this is for work, this is for taking breaks" is fine for me~
--- Log closed Mon Mar 18 00:00:00 2013
code logs -> 2013 -> Sun, 17 Mar 2013< code.20130316.log - code.20130318.log >

[ Latest log file ]