code logs -> 2013 -> Sat, 18 May 2013< code.20130517.log - code.20130519.log >
--- Log opened Sat May 18 00:00:06 2013
00:21 Turaiel[Offline] is now known as Turaiel
00:38 You're now known as TheWatcher[T-2]
00:51 You're now known as TheWatcher[zZzZ]
00:52
<@Azash>
Is there a way to make "sub-repos" on github?
00:52
<@Azash>
I'm going to make a unified repo where I can implement data structures and algorithms for practice
00:53
<@Azash>
And I'm wondering if there's a way to clone the repo, like, git clone github.com/haeroe/algo/java.git or whatever
01:28
< [R]>
Closest I can think of is git-slave
01:28
< [R]>
But that makes each sub-repo its own repo.
01:31
<&ToxicFrog|W`rkn>
Azash: depending on what you mean by "sub-repo", the answer is either "use submodules" or "git can't do that"
01:31
<&ToxicFrog|W`rkn>
What is your intended usage?
01:31 ToxicFrog|W`rkn is now known as ToxicFrog
01:57
<@Azash>
I heard about sub-modules (almost typoed sob-modules..) but they aren't quite what I was looking for
01:57
<@Azash>
Well, I tried to explain the intended usage above, but basically having a project containing files in several languages where you could specifically clone certain folders
02:00 ToxicFrog [ToxicFrog@ServerAdministrator.Nightstar.Net] has quit [[NS] Quit: ZNC - http://znc.in]
02:11 Derakon is now known as Derakon[AFK]
02:29 ToxicFrog [ToxicFrog@ServerAdministrator.Nightstar.Net] has joined #code
02:29 mode/#code [+ao ToxicFrog ToxicFrog] by ChanServ
03:19 VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [[NS] Quit: Program Shutting down]
03:32 Vornicus [vorn@31356A.68201E.EB0611.E0094F] has joined #code
03:32 mode/#code [+qo Vornicus Vornicus] by ChanServ
03:39 Kindamoody[zZz] is now known as Kindamoody
04:09 Chutzpah [Moltare@583787.FF2A18.190FE2.4D81A1] has quit [Client closed the connection]
04:15 Chutzpah [Moltare@583787.FF2A18.190FE2.4D81A1] has joined #code
04:44 ToxicFrog [ToxicFrog@ServerAdministrator.Nightstar.Net] has quit [[NS] Quit: ZNC - http://znc.in]
05:16 ToxicFrog [ToxicFrog@ServerAdministrator.Nightstar.Net] has joined #code
05:16 mode/#code [+ao ToxicFrog ToxicFrog] by ChanServ
05:46 himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds]
05:49
<&ToxicFrog>
Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
05:49
<&ToxicFrog>
md127 0.00 0.00 0.00 59.30 0.00 1.85 64.03 0.00 0.00 0.00 0.00 0.00 0.00
05:49
<&ToxicFrog>
sdg 0.00 0.00 32.00 9.00 1.94 0.04 98.75 0.17 4.12 5.06 0.76 0.93 3.80
05:49
<&ToxicFrog>
sdh 0.00 0.00 32.30 9.30 1.94 0.04 97.52 0.18 4.28 5.29 0.77 0.93 3.88
05:49
<&ToxicFrog>
sdd 0.00 0.00 25.10 7.20 1.99 0.04 129.07 6.55 209.67 230.33 137.67 30.92 99.88
05:49
<&ToxicFrog>
:(
05:57
<~Vornicus>
???
05:58
<&ToxicFrog>
The "await" columns are how long, in milliseconds, requests are spending waiting for the disk.
05:58
<&ToxicFrog>
The "svctm" column is how long the drive is taking to actually service each request once it hits the head of the queue.
05:59
<&ToxicFrog>
Note that sdd is taking 30ms to service requests compared to <1ms for the other disks.
05:59
<&ToxicFrog>
It is not a well drive, which is depressing because it's also brand new.
05:59 himi [fow035@0C0840.B22E58.E3471A.E028A1] has joined #code
05:59 mode/#code [+o himi] by ChanServ
06:00
<~Vornicus>
that 100% utilization doesn't speak well for it either, I thought you, um...
06:01
<&ToxicFrog>
sdd is one of the new disks.
06:01
<~Vornicus>
or is that actually percentage of busy time.
06:01
<&ToxicFrog>
That is how long it is spending actually Doing Stuff as opposed to waiting for commands from the system.
06:01
<&ToxicFrog>
In a RAID-Z, as these are, you would expect %util to be roughly even across all disks.
06:02
<&ToxicFrog>
If one disk is maxed out like that, it means either that it's seeing disproportionately high load compared to the others - which you can see from the r/s and w/s columns is not the case - or, as is the case here, that it's taking much longer to service requests and is in fact the bottleneck for the array.
06:03
<&ToxicFrog>
(it will be a little while before the minecraft server is back up, incidentally~)
06:05
<~Vornicus>
(I think I can understand that)
06:05
<~Vornicus>
(this coming week my parents are in town anyway~)
06:08 Vornicus [vorn@31356A.68201E.EB0611.E0094F] has quit [[NS] Quit: ]
06:12 Derakon[AFK] is now known as Derakon
06:29 Kindamoody is now known as Kindamoody|afk
06:50 Derakon is now known as Derakon[AFK]
06:55 Turaiel is now known as Turaiel[Offline]
07:54 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.]
09:24 You're now known as TheWatcher
09:26
< ErikMesoy|sleep>
I am mildly baffled to find myself working with a coder whose English text strings are typo-tastic but whose code consistently works flawlessly.
09:33 Orthia [orthianz@3CF3A5.E1CD01.B089B9.1E14D1] has quit [Ping timeout: 121 seconds]
09:37 AverageJoe [evil1@Nightstar-4b668a07.ph.cox.net] has joined #code
09:44 Reiv [NSwebIRC@Nightstar-95746c1f.kinect.net.nz] has quit [Ping timeout: 121 seconds]
09:51
< jeroud>
ErikMesoy|sleep: Autocomplete.
10:13 AverageJoe [evil1@Nightstar-4b668a07.ph.cox.net] has quit [Client closed the connection]
10:23 ErikMesoy|sleep is now known as ErikMesoy
10:23
< ErikMesoy>
Huh, forgetting to turn that off makes me feel silly.
10:24
<@froztbyte>
ToxicFrog: 200ms waits are not so bad
10:25
<@froztbyte>
but, question
10:25
<@froztbyte>
are all those drives the same model, etc?
12:20 VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code
12:49 Orthia [orthianz@3CF3A5.E1CD01.B089B9.1E14D1] has joined #code
12:49 mode/#code [+o Orthia] by ChanServ
12:57 Kindamoody|afk is now known as Kindamoody
14:18 Kindamoody is now known as Kindamoody|afk
14:56 ErikMesoy1 [Erik@Nightstar-cede6fb6.80-203-23.nextgentel.com] has joined #code
14:57 ErikMesoy [Erik@A08927.B4421D.403BAA.818DC8] has quit [Ping timeout: 121 seconds]
15:28
<&ToxicFrog>
froztbyte: yes.
15:29
<&ToxicFrog>
And, uh, 200ms average wait for linear read load kind of is that bad
15:30
<@froztbyte>
yeah sorry, I'd *just* awoken by that point, and only saw the await without properly checking which column the activity was in
15:35 Orthia [orthianz@3CF3A5.E1CD01.B089B9.1E14D1] has quit [Ping timeout: 121 seconds]
15:48 Orthia [orthianz@3CF3A5.E1CD01.B089B9.1E14D1] has joined #code
15:48 mode/#code [+o Orthia] by ChanServ
16:20 Orthia [orthianz@3CF3A5.E1CD01.B089B9.1E14D1] has quit [Ping timeout: 121 seconds]
16:40 ToxicFrog [ToxicFrog@ServerAdministrator.Nightstar.Net] has quit [Ping timeout: 121 seconds]
16:54 ErikMesoy1 is now known as ErikMesoy
17:33 Vornicus [vorn@31356A.68201E.EB0611.E0094F] has joined #code
17:33 mode/#code [+qo Vornicus Vornicus] by ChanServ
17:39 ToxicFrog [ben@Nightstar-f9ce94e5.dsl.teksavvy.com] has joined #code
17:39 mode/#code [+ao ToxicFrog ToxicFrog] by ChanServ
17:39
<&ToxicFrog>
rescued: 1547 MiB, errsize: 0 B, current rate: 3072 KiB/s
17:39
<&ToxicFrog>
ipos: 1547 MiB, errors: 0, average rate: 3170 KiB/s
17:39
<&ToxicFrog>
opos: 1547 MiB, time since last successful read: 0 s
17:39
<&ToxicFrog>
eta: 8 days :(
17:40
<@froztbyte>
hehe
17:40
<@Tamber>
<_>
17:40
<@froztbyte>
that array I was busy dealing with died again *just* after I finished getting all my data off
17:40
<&ToxicFrog>
The worst part is that the drive worked fine for just long enough for me to copy everything onto it
17:40
<&ToxicFrog>
And then went to shit half a day later
17:41
<@Tamber>
ugh
17:41
<&ToxicFrog>
If it had flaked out twelve hours earlier I'd still have the original array and wouldn't need to give a shit about rescuing it.
17:48 ErikMesoy1 [Erik@Nightstar-cede6fb6.80-203-23.nextgentel.com] has joined #code
17:49 ErikMesoy [Erik@Nightstar-cede6fb6.80-203-23.nextgentel.com] has quit [Ping timeout: 121 seconds]
17:54 ErikMesoy1 is now known as ErikMesoy
18:15
<~Vornicus>
ah, of course, there /is/ a bug somewhere.
18:22
<~Vornicus>
got it, fencepost error, now it's much faster to calculate and comes up with about 1/8 as many values.
18:23
<~Vornicus>
This might almost be good enough that I don't have to build a thing in C any more.
18:51 Kindamoody|afk is now known as Kindamoody
18:51 celticminstrel [celticminst@Nightstar-e83b3651.cable.rogers.com] has joined #code
18:51 mode/#code [+o celticminstrel] by ChanServ
19:36 Turaiel[Offline] is now known as Turaiel
19:37 Turaiel is now known as Turaiel[Offline]
19:37 Turaiel[Offline] is now known as Turaiel
19:46 Kindamoody is now known as Kindamoody[zZz]
19:49 celticminstrel is now known as celmin|away
20:15 ToxicFrog_ [ToxicFrog@ServerAdministrator.Nightstar.Net] has joined #code
20:15 ToxicFrog [ben@Nightstar-f9ce94e5.dsl.teksavvy.com] has quit [[NS] Quit: Ex-Chat]
21:05 * TheWatcher drops a hovercraft full of fucking eels on hungarian notation
21:06 * ErikMesoy makes a joke about hungarian cuisine
21:06 * Azash asks the eels to please tone it down
21:08 * froztbyte hooks the eels up to the hovercraft, presses the red button to make it go faster
21:12
<@celmin|away>
...heh.
21:25 ToxicFrog_ is now known as ToxicFrog
21:25 mode/#code [+ao ToxicFrog ToxicFrog] by ChanServ
21:30 Turaiel is now known as TurFood
21:56 TurFood is now known as Turaiel
22:38 ErikMesoy is now known as ErikMesoy|sleep
22:49 celmin|away is now known as celticminstrel
22:49
< [R]>
TheWatcher: MS'-fake HN version, or real HN?
22:50
< [R]>
Oh, sorry, I should've called it "extended" HN
22:50
<@TheWatcher>
Any and all HN
22:51
< [R]>
So: var sanitizedRowId; // this is bad?
22:51
< [R]>
Why so?
22:53
<@TheWatcher>
That's not hungarian notation by any definition I've come across.
22:54
< [R]>
So the first answer is MS' extended version. Gotcha.
22:54
<@celticminstrel>
Um, that's camel case, not Hungarian notation...
22:55
<@Tamber>
It just so happens to *be* camel case, but that's not what's being discussed~
22:55
<@Tamber>
:p
22:59
< [R]>
Basically MS' version applies types to all the variable names.
22:59
< [R]>
As in, the litteral data type.
22:59
<@Tamber>
int iThingy;
22:59
< [R]>
Wheras, it's supposed to be a general classification. Such as safe/unsafe.
23:00
<@TheWatcher>
Um
23:00
< [R]>
Personally I hate the former, the latter has uses.
23:01
<&ToxicFrog>
Er
23:01
< ErikMesoy|sleep>
My impression is that hungarian notation functions like dimensional analysis, it's supposed to stop certain types of mistakes by letting you go "hey, that can't be right" such as trying to add distance_in_cm to weight_in_kg or parsing user input that hasn't sanitized for DROP TABLES.
23:02
<&ToxicFrog>
First of all, both forms of hungarian notation originated at MS; the distinction you mean to be drawing is between systems hungarian (prefix indicates language type) and apps hungarian (prefix indicates semantic type)
23:02
<&ToxicFrog>
My position on this is, and has been for a while, that systems hungarian is completely indefensible, and apps hungarian is a sign that you should be using a language with a more expressive type system.
23:03
< JBeshir>
You think a type system can represent string sanitisation status? Aside that if you're sanitising your input you're doing something very wrong.
23:03
<@TheWatcher>
Sure, it can.
23:03
< JBeshir>
I mean, in that particular sense.
23:04
<@TheWatcher>
You have untainted strings, and tainted strings.
23:04
<&ToxicFrog>
Believe it or not, in some languages you can in fact express the difference between "unvalidated user input" and "valid data" in the type system even if the "true" type is the same.
23:04
< [R]>
Which limits us to Perl.
23:05
<&ToxicFrog>
In what universe?
23:06
<&McMartin>
Type systems can represent anything you can determine with a dataflow analysis. It's the same algorithm.
23:06
< JBeshir>
I guess I was meaning, usefully in a way that didn't make you want to shove nails under your fingernails.
23:07
<&McMartin>
Subclass String twice.
23:07
< JBeshir>
In any language where defining a new type based on an existing one isn't an alias but creates a distinct but convertable type
23:07
< JBeshir>
It is possible
23:07
< JBeshir>
Yeah that falls under the nails territority.
23:07
<&McMartin>
Wat
23:07
<&McMartin>
We are talking maybe five lines of code in C++.
23:08
< JBeshir>
In C++ you *cannot subclass std::string*
23:08
< JBeshir>
So not really?
23:08
< JBeshir>
If you throw out std::string you lose all the stdlib string manipulation
23:08
<&McMartin>
Um
23:08
< JBeshir>
Or have to do conversion back and forth
23:09
<&McMartin>
I work regularly with a system that uses string variants to represent the encoding of the contents
23:09
< JBeshir>
Sure, but you can't do it with "five lines of code in C++" and you can't do it by "subclass String twice"
23:09
< JBeshir>
Because you can't subclass the closest thing to "String"
23:10
<&ToxicFrog>
I was thinking of Haskell monad wackiness or Clojure metadata. There are options!
23:10
< JBeshir>
Not safely, anyway, since std::foo lacks virtual destructors
23:11
<&McMartin>
Fortunately, since you're not adding any fields here, you can subclass at will.
23:12
< JBeshir>
Is that going to get std::string's destructor invoked correctly?
23:12
<&McMartin>
Yes. Always.
23:12
<&McMartin>
What you risk in this case is that *your own* destructor will not be called.
23:13
<&McMartin>
But if you have no fields and thus no cleanup work to do, your destructor is a no-op.
23:14
<&McMartin>
So C++ you can totally do this.
23:14
<&McMartin>
Java, not so much~
23:14
< JBeshir>
Hmm. Copy constructors aren't invoked right.
23:14
< JBeshir>
But again doesn't matter much.
23:14
<&McMartin>
OK, so you have to set your own constructor set, so maybe it's a dozen lines instead of five.
23:14
<&McMartin>
You'll also have to make sure to use the explicit() keyword on anything you want to not be the default.
23:15
<&McMartin>
Which is probably going to be everything
23:15
< JBeshir>
No, no
23:15
< JBeshir>
I mean you *can't* get your copy constructor invoked if the thing which copies it is presently treating it as a std::string
23:15
< JBeshir>
Apparently
23:15
<&McMartin>
Oh. Well, yes, that is true. However, C++ strings are incredibly mutable and most of the library mutates it.
23:16
<&McMartin>
You'll have to type-annotate operations which create new strings.
23:16
<&McMartin>
For the specific case of taint analysis, though, the whole point is to block access to it.
23:17
<&McMartin>
So making a type that's inconvertible to string except via the sanitization method is actually probably the way to go.
23:17
<&McMartin>
(Even in Java, you can build a model of the heap with aspect-oriented techniques &c - my old thesis was on a general technique that you could use for that)
23:17
<&McMartin>
(Kind of like swatting flies with a sledgehammer, though)
23:19
<&McMartin>
The general problem is under what circumstances taint needs to spread, which in turn depends on exactly how mutable your string objects are.
23:20
<&McMartin>
If you're using a copy constructor, you have to tell the taint tracking system whether or not this is a true copy constructor, in which case taint needs to spread...
23:20
<&McMartin>
... or something like sanitize_copy(), where it's supposed to be dropped.
23:34 RichyB [richardb@Nightstar-86656b6c.cable.virginmedia.com] has joined #code
--- Log closed Sun May 19 00:00:21 2013
code logs -> 2013 -> Sat, 18 May 2013< code.20130517.log - code.20130519.log >

[ Latest log file ]