←2013-03-16 2013-03-17 2013-03-18→ ↑2013 ↑all
00:00:23 <Sgeo> oops, sorry
00:01:23 <elliott> ????
00:02:53 <ais523> elliott: it's Sgeo, I'm sure he's done enough that he's allowed to apologise any time he likes
00:03:55 <oerjan> that's not a lawful good comment, ais523
00:04:46 -!- carado has quit (Ping timeout: 256 seconds).
00:05:35 <oerjan> Sgeo: you have broken ais523's alignment, you should apologize
00:06:26 <ais523> `? ais523
00:06:31 <HackEgo> Agent “Iä” Smith is an alien with a strange allergy to avian body covering, which he is trying to retroactively prevent from ever evolving. On the 3rd of March, he's lawful good.
00:06:37 <ais523> is it March 3?
00:06:55 <olsner> on some dates, yes
00:07:03 <Phantom_Hoover> yes
00:07:11 <ais523> `addquote <ais523> is it March 3? <olsner> on some dates, yes
00:07:16 <HackEgo> 983) <ais523> is it March 3? <olsner> on some dates, yes
00:07:20 <Phantom_Hoover> if you're american, living anywhere that isn't america, and use modular dates
00:07:27 <ais523> modular dates?
00:07:56 <oerjan> that wisdom may not be entirely accurate, i thought that latest addition was a bit fishy
00:08:11 <Phantom_Hoover> each number in the date is modulo whatever the number of things you can have in that field
00:08:28 <oerjan> however, note it doesn't say you're _only_ lawful good on the 3rd of march.
00:08:41 <Phantom_Hoover> exception proves the rule
00:08:49 <Sgeo> elliott, for not doing ^list sooner
00:09:06 <olsner> it doesn't say that it only applies for the 3rd of march either
00:09:21 <olsner> (can you have more than one alignment?)
00:10:25 <oerjan> of course not.
00:11:13 <olsner> maybe there's a Dissociative Alignment Disorder in play
00:11:43 -!- monqy has quit (Quit: hello).
00:12:55 -!- ais523 has quit.
00:19:27 <coppro> omg
00:19:30 <coppro> hussie is just trolling now
00:19:54 <Phantom_Hoover> istr getting really annoyed at 'hussie is trolling' theories back in the day
00:19:59 <Phantom_Hoover> but now i can believe it
00:20:39 <Bike> I thought it was obvious when he dumped in the troll thing for no reason a second time
00:20:53 <Phantom_Hoover> well
00:21:07 <Phantom_Hoover> there were obviously a few times he was pulling the fandom's collective leg
00:21:10 <Sgeo> coppro, you don't want to learn about leprechauns?
00:21:35 <coppro> Phantom_Hoover: he's very clearly been trolling since day one
00:21:39 <coppro> or two
00:21:46 <Bike> imo two
00:21:47 <coppro> http://www.mspaintadventures.com/?s=6&p=001902
00:22:03 -!- Lymia has joined.
00:22:03 <FreeFull> coppro: The charms thing doesn't seem like trolling to me
00:22:12 <Phantom_Hoover> omg Lymia
00:22:15 <Lymia> Hii~
00:22:17 <Bike> leprechauning
00:22:23 <Bike> `relcome lymia
00:22:26 <HackEgo> lymia: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
00:22:27 <FreeFull> zoosmell is actually a reference to his earlier work
00:22:30 <Phantom_Hoover> also that's the sort of trolling thingy i never liked
00:22:30 <coppro> FreeFull: Really? It doesn't seem like he's making fun of the readership's obsession with troll romance?
00:22:34 <olsner> oh great, everyone is ms paint adventures
00:22:39 <coppro> olsner: everyone.
00:22:43 <FreeFull> http://www.andrewhussie.com/comic.php?sec=archive&auth=Blurbs&blurb=zs&cid=blurbs/00096-zs.gif
00:22:44 <Bike> there is no hope
00:22:52 <coppro> olsner: it's even on topic. ~ATH is totally an esoteric language
00:23:04 <Bike> hey that guy looks like john's dad
00:23:06 <Phantom_Hoover> Lymia, you're our last hope
00:23:12 <Phantom_Hoover> break the equilibrium
00:23:23 <Lymia> Bike, hi! I'm pretty sure I've been here longer than you! You're not in my logs. From a long time ago. o-o
00:23:32 * Lymia has no idea why she decided to leave, or why she decided to come back, but. o-o
00:23:35 <coppro> Hello Lymia
00:23:37 <Lymia> Phantom_Hoover, what happened D:
00:23:42 <Phantom_Hoover> i like how confrontative that sounds
00:23:43 <coppro> are you secretly elliott?
00:23:45 <Bike> Lymia: I'm not sure `welcome has ever been used to actually welcome anybody.
00:23:52 <Bike> Let alone `relcome.
00:23:55 <elliott> `WELCOME Bike
00:23:58 <HackEgo> BIKE: WELCOME TO THE INTERNATIONAL HUB FOR ESOTERIC PROGRAMMING LANGUAGE DESIGN AND DEPLOYMENT! FOR MORE INFORMATION, CHECK OUT OUR WIKI: HTTP://ESOLANGS.ORG/WIKI/MAIN_PAGE. (FOR THE OTHER KIND OF ESOTERICA, TRY #ESOTERIC ON IRC.DAL.NET.)
00:23:58 <Phantom_Hoover> "hey Bike! i've been here longer than you so WATCH YOURSELF"
00:24:02 <Bike> And yes, I'm new. Thanks for the intro elliott.
00:24:13 <elliott> i have an infinite supply of welcomingness
00:24:15 <Bike> Hey that link is broken though. Where is this wiki? Is it down?
00:24:16 <oerjan> `wehlcohme elliott
00:24:17 <olsner> Bike: it should count as a welcome even if you don't stay
00:24:18 <HackEgo> ehlliohtt: Wehlcohme to the ihntehrnahtiohnahl huhb fohr ehsohtehrihc prohgrahmmihng lahnguahge dehsihgn ahnd dehployhmehnt! Fohr mohre ihnfohrmahtiohn, chehck ouht ouhr wihki: http://ehsohlahngs.ohrg/wihki/Maihn_Pahge. (Fohr the ohthehr kihnd ohf ehsohtehrihca, try #ehsohtehrihc ohn ihrc.dahl.neht.)
00:24:27 <Lymia> Oh god.
00:24:27 <elliott> Bike: unfortunately the uppercase wiki has yet to be fully realised
00:24:30 <Bike> This is so confusing.
00:24:35 <Phantom_Hoover> Lymia, (there was an explosion in `welcome commands)
00:24:37 <Lymia> Why do we have so many variants of the welcome script
00:24:38 <Lymia> o-o
00:24:44 <Bike> Because it's "funny".
00:24:57 <Bike> It's actually very unixy too!
00:25:04 <Bike> `cat bin/wehlcohme
00:25:04 <Phantom_Hoover> we also had like 10 different list scripts but that's had a stop put to it now
00:25:05 <HackEgo> welcome "$@" | h
00:25:17 <Bike> `run echo "this is a test!" | h
00:25:19 <HackEgo> thihs ihs a tehst!
00:25:23 -!- oerjan has set topic: The most welcoming channel on Freenode. You have been warned. | <Taneb> #esoteric is supposed to be about esoteric programming languages, but is really a couple of dozen people being weird | Newsflash: fungot has been writing spam for money. | Logs: http://codu.org/logs/_esoteric/.
00:25:26 <Bike> Composable, small, useful utilities.
00:25:26 <FreeFull> `cat bin/h
00:25:28 <HackEgo> ​#!/usr/bin/perl -p \ s/([aeiouy])([bcdfghjklmnpqrstvxz])/$1h$2/ig
00:25:38 <Bike> On IRC for some reason.
00:26:09 <olsner> `quote being weird
00:26:11 <HackEgo> No output.
00:26:32 <Lymia> All we need now is a translation to Lojban and Japanese o-o!
00:26:39 <Bike> I thought that was just something taneb put in the topic.
00:26:45 <Bike> Wasn't lojban verboten or something
00:26:54 <elliott> didn't we have japanese
00:27:01 <olsner> `välkommen
00:27:03 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: välkommen: not found
00:27:09 <FreeFull> `witam
00:27:11 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: witam: not found
00:27:17 <FreeFull> `ls bin
00:27:19 <Phantom_Hoover> i'm just going to draw the line here
00:27:20 <HackEgo> ​? \ @ \ WELCOME \ addquote \ allquotes \ anonlog \ aseen \ botsnack \ bseen \ calc \ CaT \ colorize \ define \ delquote \ emmental \ emoclew \ etymology \ forget \ fortune \ frink \ fueue \ gaseen \ google \ h \ ?h \ h! \ hatesgeo \ ?hh \ hyfinate \ hyphenate.fi \ interp \ joustreport \ jousturl \ js \ json \ karma \ karma- \ karma
00:27:28 <elliott> `cat bin/CaT
00:27:30 <HackEgo> ​#!/usr/bin/env python \ print (lambda s: "".join([(s[i].upper() if i%2==0 else s[i].lower()) for i in range(len(s)) ]))(open("/dev/stdin").read())
00:27:35 <Phantom_Hoover> i will not allow swedish welcome while i draw breath
00:27:35 <elliott> what
00:27:38 <elliott> oh
00:27:41 <Lymia> `youkoso
00:27:42 <HackEgo> Mmmmm... no.
00:27:47 <Lymia> pfft
00:27:48 <Bike> snort, what
00:27:50 <Phantom_Hoover> `list
00:27:52 <olsner> Phantom_Hoover: I think there was one
00:27:54 <HackEgo> ais523 atriq Bike boily cuttlefish elliott fgrep Fiora fungot metasepia monqy Ngevd nortti oklopol Phantom_Hoover pikhq quintopia Sgeo SUPREME_BUTT_SUI Taneb
00:28:10 <Phantom_Hoover> (what happens when the `list gets too long??)
00:28:12 <Lymia> `What is
00:28:13 <HackEgo> Mmmmm... no.
00:28:16 <Lymia> SUPREME_BUTT_SUI
00:28:23 <Lymia> That does not sound nice.
00:28:25 <Bike> I think it's self explanatory, lymia
00:28:39 <Phantom_Hoover> it's the supreme sui of the butt
00:28:46 <oerjan> `quine Hi Lymia
00:28:49 <HackEgo> ​`quine Hi Lymia
00:30:35 <oerjan> `ls bin/*ä*
00:30:37 <HackEgo> ​/bin/ls: cannot access bin/*ä*: No such file or directory \ /bin/ls: cannot access bin/*ä*: No such file or directory
00:31:18 <oerjan> `ls bin/v?lk*
00:31:20 <HackEgo> ​/bin/ls: cannot access bin/v?lk*: No such file or directory \ /bin/ls: cannot access bin/v?lk*: No such file or directory
00:31:23 <oerjan> `ls bin/v*lk*
00:31:25 <HackEgo> ​/bin/ls: cannot access bin/v*lk*: No such file or directory \ /bin/ls: cannot access bin/v*lk*: No such file or directory
00:31:30 <Bike> `run ls bin/*ä*
00:31:31 <HackEgo> ​/bin/ls: cannot access bin/*ä*: No such file or directory \ /bin/ls: cannot access bin/*ä*: No such file or directory
00:31:39 <Bike> god am i bad at shell or what
00:31:46 <oerjan> oops
00:31:52 <oerjan> `run ls bin/v*lk*
00:31:54 <HackEgo> ​/bin/ls: cannot access bin/v*lk*: No such file or directory \ /bin/ls: cannot access bin/v*lk*: No such file or directory
00:31:59 <oerjan> OKAY
00:32:17 <oerjan> `cat bin/ls
00:32:19 <HackEgo> ​#!/bin/sh \ if /bin/ls -id "$@" | grep -q ^752131 ; then echo 'As the wisdom directory contains many files named after nicks, listing it in public annoys people. Try `pastewisdom instead.'; else exec /bin/ls "$@"; fi
00:32:24 <FreeFull> `run echo bin/w*
00:32:26 <HackEgo> bin/wehlcohme bin/welcome bin/wl bin/word bin/words bin/wtf
00:32:34 <FreeFull> `run echo bin/v*
00:32:36 <HackEgo> bin/v*
00:32:54 <Bike> oh man i totally forgot about that horrid hack
00:33:14 <oerjan> it appears that it duplicates the error messages
00:38:08 -!- augur has quit (Remote host closed the connection).
00:39:38 -!- sirdancealo2 has quit (Quit: ragequit).
00:43:13 <Lymia> !bfjoust
00:43:14 <EgoBot> ​Use: !bfjoust <program name> <program> . Scoreboard, programs, and a description of score calculation are at http://codu.org/eso/bfjoust/
00:43:25 <Lymia> Is that, like
00:43:27 <Lymia> Still running o-o
00:43:42 <elliott> people play it every now and then amidst periods of inactivity
00:44:16 <Lymia> (also why is codu down)
00:44:37 <elliott> huh weird
00:44:42 <elliott> @tell gregor httpd on codu.org is broken
00:44:43 <lambdabot> Consider it noted.
00:50:51 <Lymia> Bleh.
00:50:56 <Lymia> And the bfjoust interpreter link is 404'd
00:50:59 <Lymia> Stupid link rot :(
00:51:25 <elliott> http://codu.org/eso/bfjoust/egojsout/egojsout.html is the one most people use, but it's down of course
00:51:32 <Bike> really? it worked last i checked, i think that's just codu being down
00:51:35 <elliott> which link is 404'd?
00:51:57 <Lymia> The link's 'ais523's interpreter for his revised version'
00:52:08 <Phantom_Hoover> blech, not bfjoust!
00:54:47 <elliott> oh, hmm
00:55:02 <elliott> @tell ais523 looks like we shouldn't link to sprunge from the wiki; your BF Joust interpreter has disappeared
00:55:02 <lambdabot> Consider it noted.
00:55:39 <Lymia> Does anybody have a copy? :p
00:55:59 <elliott> you might want to use fizzie's interpreter (which he probably has a link to), like HackEgo does.
00:56:10 <elliott> ah, http://git.zem.fi/ has it
00:57:18 <Lymia> chainlance?
00:59:00 <coppro> http://www.youtube.com/watch?v=DJxLSm41hUk&feature=player_embedded
00:59:14 <Lymia> There are...
00:59:21 <Lymia> Three interepters in there o-o
01:00:19 <Lymia> And /wtf/ is header.asm for
01:01:43 <Lymia> elliott, you have a dump of the current hill? >_<
01:02:03 <elliott> alas no
01:02:31 <elliott> header.asm is because chainlance compiles the warriors to machine code iirc
01:02:38 <elliott> I think gearlance is what hackego uses
01:03:27 <Lymia> Wow.
01:03:34 <Lymia> Chainlance, in fact, does JIT...
01:04:18 <elliott> it almost makes sense with the 100K+ programs that are fashionable :P
01:05:38 <Lymia> ..
01:05:53 <Lymia> Extreme loop unrolling or something/
01:06:02 <elliott> partial code generation, mainly
01:06:18 <elliott> stuff does case analysis to figure out what kind of program it's fighting/tape length/etc. and then proceeds repetitively from there
01:07:15 <Lymia> It sounds almost as if there's a case for having a personal tape to avoid huge programs...
01:07:39 <Lymia> Eh.
01:07:44 <elliott> well, it's more about saving cycles I think
01:07:46 <Lymia> Though I guess that still has runtime cost..
01:07:47 <elliott> since using [] cost you
01:14:17 <Lymia> !bfjoust stupid <
01:14:28 <EgoBot> ​Score for Lymia_stupid: 0.0
01:14:51 <Lymia> !bfjoust stupid [+--]
01:14:54 <EgoBot> ​Score for Lymia_stupid: 7.5
01:14:58 <Lymia> ..?
01:15:04 <Lymia> The hill's alive but codu.org can't even be pinged?
01:15:43 <elliott> maybe some traceroute style issues
01:15:47 <elliott> thingy
01:16:51 <FreeFull> !bfjoust stupidest >+[[-]>+]
01:16:54 <EgoBot> ​Score for FreeFull_stupidest: 5.5
01:17:40 -!- oerjan has quit (Quit: leaving).
01:18:49 <Lymia> !bfjoust even_stupider [[]+]
01:18:52 <EgoBot> ​Score for Lymia_even_stupider: 3.6
01:22:01 <Lymia> So...
01:22:04 <Lymia> codu.org is alive...
01:22:08 <Lymia> But can't be reached from outside?
01:22:18 <Lymia> o-o
01:23:29 -!- Lymia_ has joined.
01:24:08 <Lymia_> `run wget http://codu.org/eso/bfjoust/in_egobot.hg/index.cgi/archive/tip.tar.bz2
01:24:08 <HackEgo> Mmmmm... no.
01:24:13 <Lymia_> ;<
01:24:28 -!- Lymia_ has changed nick to NiaVee.
01:24:29 -!- DHeadshot has joined.
01:24:30 <NiaVee> `run wget http://codu.org/eso/bfjoust/in_egobot.hg/index.cgi/archive/tip.tar.bz2
01:24:32 <HackEgo> ​--2013-03-17 01:24:31-- http://codu.org/eso/bfjoust/in_egobot.hg/index.cgi/archive/tip.tar.bz2 \ Connecting to 127.0.0.1:3128... connected. \ Proxy request sent, awaiting response... 403 Forbidden \ 2013-03-17 01:24:31 ERROR 403: Forbidden.
01:25:09 <NiaVee> `run wget http://codu.org/eso/bfjoust/in_egobot.hg/
01:25:11 <HackEgo> ​--2013-03-17 01:25:10-- http://codu.org/eso/bfjoust/in_egobot.hg/ \ Connecting to 127.0.0.1:3128... connected. \ Proxy request sent, awaiting response... 403 Forbidden \ 2013-03-17 01:25:10 ERROR 403: Forbidden.
01:25:16 <NiaVee> `run wget http://codu.org/
01:25:17 <HackEgo> ​--2013-03-17 01:25:17-- http://codu.org/ \ Connecting to 127.0.0.1:3128... connected. \ Proxy request sent, awaiting response... 403 Forbidden \ 2013-03-17 01:25:17 ERROR 403: Forbidden.
01:25:26 <NiaVee> `run wget http://google.com/
01:25:46 <NiaVee> `run cat index.html
01:25:46 <HackEgo> ​--2013-03-17 01:25:34-- http://google.com/ \ Connecting to 127.0.0.1:3128... connected. \ Proxy request sent, awaiting response... No data received. \ Retrying. \ \ --2013-03-17 01:25:36-- (try: 2) http://google.com/ \ Connecting to 127.0.0.1:3128... connected. \ Proxy request sent, awaiting response... No data received. \ Retrying. \ \ --2
01:25:47 <HackEgo> ​<!doctype html><html itemscope="itemscope" itemtype="http://schema.org/WebPage"><head><meta content="Search the world's information, including webpages, images, videos and more. Google has many special features to help you find exactly what you're looking for." name="description"><meta content="noodp" name="robots"><meta itemprop="image" content
01:25:54 <elliott> probably you want `fetch
01:25:59 <NiaVee> `run rm google.com
01:26:00 <HackEgo> rm: cannot remove `google.com': No such file or directory
01:26:03 <NiaVee> `run rm index.html
01:26:07 <HackEgo> No output.
01:26:07 <NiaVee> What does the `fetch script do?
01:26:14 <NiaVee> `run cat `which fetch`
01:26:45 <HackEgo> No output.
01:26:53 <elliott> it's built-in
01:27:13 <NiaVee> `fetch http://codu.org/eso/bfjoust/in_egobot.hg/index.cgi/archive/tip.tar.bz2
01:27:14 <HackEgo> No output.
01:27:18 <NiaVee> `ls
01:27:20 <HackEgo> a.out \ bin \ brainfuck.fu \ canary \ Category:Self-modifying \ dbg.out \ dkVb20VL \ egobot.tar.xz \ etc \ factor \ foo \ foo.err \ foo.out \ ibin \ interps \ karma \ lib \ paste \ prefs \ prefs.bf \ quines \ quotes \ radio.php?out=inline&shuffle=1&limit=1&filter=*MitamineLab* \ sgfoobar \ share \ slist.orig \ slist.rej \ src \ sudo \ %sudo \ test
01:28:23 <NiaVee> `help fetch
01:28:23 <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/
01:28:47 <NiaVee> `run ls tip*
01:28:48 <HackEgo> ​/bin/ls: cannot access tip*: No such file or directory \ /bin/ls: cannot access tip*: No such file or directory
01:29:01 <NiaVee> `fetch http://google.com
01:29:03 <HackEgo> 2013-03-17 01:29:01 URL:http://www.google.com/ [10688] -> "index.html" [1]
01:29:26 <NiaVee> `fetch http://64.62.173.65/eso/bfjoust/in_egobot.hg/index.cgi/archive/tip.tar.bz2
01:29:27 <HackEgo> No output.
01:29:34 <NiaVee> `fetch http://64.62.173.65/
01:29:35 <HackEgo> No output.
01:30:52 <Phantom_Hoover> fuck, oerjan isn't here
01:31:18 <Phantom_Hoover> aleph 1 times beth 1 is equal to beth one regardless of the CH, right?
01:31:49 <Phantom_Hoover> ...yes, yes it is
01:32:10 <Phantom_Hoover> (i like how i switched from '1' to 'one' there)
01:36:25 <NiaVee> `fetch http://1077849409/
01:36:26 <HackEgo> No output.
01:36:36 <NiaVee> No idea if it's a proxy, or if it's a dead webserver even...
01:36:41 -!- Bike has quit (Ping timeout: 246 seconds).
01:37:04 <NiaVee> `run cat sudo
01:37:05 <HackEgo> cat: sudo: Is a directory
01:37:43 -!- sirdancealot has joined.
01:38:30 <NiaVee> `run wget -v http://codu.org/eso/bfjoust/in_egobot.hg/index.cgi/archive/tip.tar.bz2 2>&1 | curl -F 'sprunge=<-' http://sprunge.us
01:38:33 <HackEgo> ​ % Total % Received % Xferd Average Speed Time Time Time Current \ Dload Upload Total Spent Left Speed \
01:38:34 -!- Bike has joined.
01:38:47 <NiaVee> `run wget -v http://codu.org/eso/bfjoust/in_egobot.hg/index.cgi/archive/tip.tar.bz2 2>&1 | curl -F 'sprunge=<-' http://sprunge.us > link
01:38:51 <HackEgo> ​ % Total % Received % Xferd Average Speed Time Time Time Current \ Dload Upload Total Spent Left Speed \
01:38:54 <NiaVee> `run cat link
01:38:55 <HackEgo> ​<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>ERROR: The requested URL could not be retrieved</title> <style type="text/css"><!-- %l body :lang(fa) { direction: rtl; font-size: 100%; font-family: Tahoma, Roya, sa
01:41:40 <NiaVee> `run wget -v http://codu.org/eso/bfjoust/in_egobot.hg/index.cgi/archive/tip.tar.bz2 2>&1 > accesslog
01:41:44 <HackEgo> ​--2013-03-17 01:41:43-- http://codu.org/eso/bfjoust/in_egobot.hg/index.cgi/archive/tip.tar.bz2 \ Connecting to 127.0.0.1:3128... connected. \ Proxy request sent, awaiting response... 403 Forbidden \ 2013-03-17 01:41:43 ERROR 403: Forbidden.
01:41:47 <NiaVee> `run cat accesslog
01:41:49 <HackEgo> No output.
01:42:43 <NiaVee> !help
01:42:43 <EgoBot> ​help: General commands: !help, !info, !bf_txtgen. See also !help languages, !help userinterps. You can get help on some commands by typing !help <command>.
01:42:57 <NiaVee> !help bfjoust
01:42:57 <EgoBot> ​Sorry, I have no help for bfjoust!
01:46:43 <Lymia> >_<
01:46:53 -!- NiaVee has quit (Quit: leaving).
01:47:53 <Lymia> So.
01:48:11 <Lymia> ssh port is open...? Guess it just doesn't respond to ping......
01:52:14 <Lymia> elliott, you have an archive of a group of starting programs or something?
01:52:36 <shachaf> @slap Taneb
01:52:37 <lambdabot> *SMACK*, *SLAM*, take that Taneb!
01:52:48 <shachaf> @tell Taneb 18:52 <lambdabot> *SMACK*, *SLAM*, take that Taneb!
01:52:48 <lambdabot> Consider it noted.
01:52:48 -!- Gregor has quit (Quit: Coyote finally caught me).
01:54:14 -!- esowiki has joined.
01:54:15 -!- glogbot has joined.
01:54:16 -!- glogbackup has left.
01:54:17 -!- HackEgo has joined.
01:54:18 -!- EgoBot has joined.
01:54:18 -!- esowiki has joined.
01:54:18 -!- esowiki has joined.
01:54:41 <Lymia> I guess that was the reboot..?
01:55:07 -!- glogbackup has joined.
01:56:06 -!- Gregor has joined.
01:56:27 -!- Gregor has changed nick to Guest75143.
02:12:17 -!- Guest75143 has changed nick to Gregor.
02:17:22 <zzo38> Do you know if it is possible in Verilog to specify the I/O ports of a module to have different parts of a vector in different positions which are not near each other?
02:17:23 <lambdabot> zzo38: You have 1 new message. '/msg lambdabot @messages' to read it.
02:17:29 <zzo38> ?messages
02:17:30 <lambdabot> Taneb said 7h 48m 10s ago: if you make monoidplus depend on groups I'll give you an e-hug
02:20:06 <zzo38> Taneb: I don't need a e-hug
02:20:30 <Arc_Koen> yes but do you WANT an e-hug
02:20:39 <zzo38> No I don't
02:23:24 <Lymia> Does BfJoust have proper comments? o-o
02:24:50 <elliott> (foo)*0 works
02:28:42 <Sgeo> I accidentally got my gf hooked on XPTV lol
02:29:12 <Bike> is that a drug?
02:30:46 <Sgeo> http://www.youtube.com/playlist?list=PLBFD29B2364412ABA
02:30:52 <Sgeo> Promo videos for Windows XP
02:32:00 <Bike> that sounds incredibly boring... or, was Ballmer involved?
02:32:30 <Sgeo> It's... not boring
02:32:48 <Sgeo> Much of it is people obsessing over Windows XP in nonsensical situations
02:33:18 <Sgeo> Fortune teller talking about Windows XP while the caller wants to know her future, and all the fortune teller says about that is that it's "really messed up"
02:33:21 <Sgeo> for example
02:33:33 <Bike> surreal
02:34:11 <Sgeo> "Dad, what's a computer?"
02:36:54 -!- sirdancealot has quit (Ping timeout: 240 seconds).
02:43:25 <Phantom_Hoover> holy shit there's a native linux version of ksp now
02:43:45 <Lumpio-> Hasn't there been for a while?
02:43:53 <Lumpio-> Or did I play it under Wine, hm
02:43:58 <Lumpio-> Works so well can't remember .-.
02:45:02 <Phantom_Hoover> wine appears to have it in for me, personally
02:45:26 <Phantom_Hoover> i think i've managed to get like two things running on it, neither of which were from this millennium
02:48:45 <zzo38> Does Visgopher work on Wine?
02:50:33 <Phantom_Hoover> is that like a viscount
02:50:47 <zzo38> No, it is a gopher client.
02:51:28 <Phantom_Hoover> then no
02:52:31 <zzo38> How can you say it doesn't work if you cannot try?
02:53:01 <Phantom_Hoover> don't start the yoda shit with me now
02:53:05 -!- sirdancealot has joined.
03:09:02 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
03:09:32 <Sgeo> The vegetarian who likes veal...
03:10:53 <Lumpio-> You wouldn't think it'd be a lot of effort to write a native Gopher client for Linux
03:11:06 <Lumpio-> Although I guess you could say it's wasted effort seeing that nobody uses it anymore.
03:11:27 <zzo38> I have written a gopher client for bash
03:11:47 <zzo38> It doesn't have a lot of features though; such as no support for file downloading.
03:12:44 -!- monqy has joined.
03:14:05 <Lumpio-> Write one in go
03:22:46 <kmc> i would not take a drug named XPTV
03:22:55 <kmc> some of you may not have seen http://www.ugcs.caltech.edu/~keegan/complexity.html
03:24:06 <Bike> nice
03:24:38 <Bike> i like that i guessed phi was cc and alpha and beta were chem
03:25:49 <kmc> well phi is the 21st letter of the greek alphabet or so
03:26:00 <kmc> rarely does one have 21 positions on the same part of a molecule
03:26:19 <Bike> bet it would be a hell of a drug though
03:26:37 <kmc> heh
03:38:02 <Sgeo> http://www.reddit.com/r/haskell/comments/1aescj/restored_the_haskell_mailing_list_archives/
03:38:02 <coppro> yo, anyone here familiar with plan 9?
03:38:18 <Sgeo> from outer space or from bell labs?
03:38:28 <coppro> latter
04:02:47 <Sgeo> sadfasdf apparently I am very suggestable to marketing presented in the right way
04:04:37 <coppro> ?
04:04:44 <coppro> hello, welcome to humanity
04:04:51 <monqy> what did you/they do this time
04:06:32 <Sgeo> Saw a reddit post that was basically a large lunchables thing and now I'm thinking about lunchables
04:06:42 <coppro> hahaha
04:06:58 <monqy> diabolical
04:07:16 <kmc> yeah, just because you're smart and know how advertising works doesn't mean it doesn't work on you
04:07:25 <kmc> though I don't think all advertising is manipulative or deceptive
04:07:26 <kmc> just much of it
04:07:56 <zzo38> Yes, I think you are correct about that
04:08:21 -!- c00kiemon5ter has quit (Quit: c00kiemon5ter).
04:08:49 <Sgeo> I have to think about how I'm going to eat lunch every day at work
04:09:00 <Sgeo> If I were working in NYC, I could buy food at Penn Station presumably
04:09:04 <Sgeo> But this isn't NYC
04:09:31 <Sgeo> There is a pizza place nearby, although Google Maps seems to think it's located literally at the same address, and I don't see it in street view
04:10:17 <kmc> where are you going to work
04:10:23 <kmc> and why do you think Penn Station is the place to buy food in NYC
04:10:35 <elliott> he's going to work at the recruiters who are employing him instead of his employer
04:10:39 <kmc> Google Maps is frequently wrong
04:10:39 <elliott> havent you been paying any attention
04:10:53 <kmc> elliott: i meant "where are you physically going to work" not "which legal entity is going to be screwing you"
04:11:06 <elliott> thmc
04:11:08 <kmc> when i worked in NYC i technically worked for some company in midtown that I never visited
04:11:14 <Sgeo> It's on the island
04:11:20 <kmc> that wasn't a recruiter thing, just the company I actually did work for didn't want to deal with HR
04:11:24 <kmc> pretty common arrangement I guess
04:11:41 <Sgeo> And because I've seen food places in Penn Station when I've been there on occasion
04:13:16 <kmc> i suggest doing a google maps search for 'food' over manhattan
04:13:56 <kmc> penn station has a food court of mediocre fast food places
04:14:07 <kmc> there's better pizza on every block basically
04:14:53 <Sgeo> Well, there's also the issue of eating breakfast, where again I was under the impression, arrive at Penn Station, eat, get to work
04:15:26 <Sgeo> If I offload breakfast and lunch to not at home, I'm more likely to eat them
04:15:54 <Sgeo> Is pizza for lunch every day viable?
04:16:00 <Sgeo> I mean, I guess I used to do just that
04:16:28 <monqy> have fun
04:16:35 -!- monqy has quit (Quit: hello).
04:23:46 -!- nooodl_ has joined.
04:25:54 -!- impomatic has quit (Ping timeout: 264 seconds).
04:27:42 -!- nooodl has quit (Ping timeout: 264 seconds).
04:39:02 <Sgeo> I still need to find out if corporate shuttle counts as an employee-only benefit which I wouldn't be eligable for
04:45:03 -!- monqy has joined.
04:53:30 -!- augur has joined.
04:59:43 -!- nooodl_ has quit (Ping timeout: 245 seconds).
05:02:00 -!- nooodl_ has joined.
05:20:51 <kmc> @seen edwardk
05:20:51 <lambdabot> Unknown command, try @list
05:20:54 <kmc> right
05:32:00 -!- Arc_Koen has quit (Quit: Arc_Koen).
05:33:23 <Sgeo> 'And on top of that, they get feedback from users on how accurate it is, what's wrong, and the users can "donate" their voicemails to Google to have them more carefully, manually, scrutinized. It's an analysis goldmine for them, and a resource no other company has access to.'
05:33:33 <Sgeo> Maybe I should donate some of my pathetically transcribed voicemails
05:48:32 <zzo38> Send really mixed up voicemails to yourself which is not sense, through a voice filter, and then donate that, too.
06:09:57 -!- ogrom has joined.
06:15:17 <Sgeo> How old is Rinkworks?
06:15:26 <Sgeo> I remember reading Computer Stupidies as a kid
06:18:38 -!- edwardk has joined.
06:18:52 * edwardk stalks kmc
06:19:39 <Sgeo> 'But even the most powerful argument I could think of, "You can't break into a computer that's turned off," did not have the impact I had hoped for. One way or the other they were convinced that a clever hacker would not be stopped by such a trivial problem!'
06:19:53 <Sgeo> It's totally possible to break into a computer that's turned off -- steal the hard drive.
06:20:23 <edwardk> The only safe computer is one in a safe. If you run a cable into that safe or allow signals in or out all bets are off ;)
06:20:54 * Sgeo is reading http://rinkworks.com/stupid/cs_paranoia.shtml
06:21:09 <kmc> o hi edwardk :)
06:26:56 <zzo38> Well, it depend if you have physical access or not.
06:27:12 <zzo38> Even if you have a safe, someone might be able to break it if they have enough bombs.
06:27:24 <Bike> also the hard drive could be encrypted. ooh or maybe you could have a volatile drive that deliberately loses data if it's unplugged, very tom clancy
06:27:58 <edwardk> Sgeo: nice
06:28:22 <edwardk> zzo38: i was waiting for someone to bring that up
06:30:29 <edwardk> or http://www.mikepope.com/blog/AddComment.aspx?blogid=2291
06:32:53 <zzo38> I think I can understand how some Famicom cartridge scanline counter might work, such as, check when a tile is read from the first pattern table, if the row reading is different than it was before, then it is the next scanline, perhaps. This might be simple and might not work perfectly, though.
06:41:47 -!- augur_ has joined.
06:42:18 -!- augur has quit (Read error: Connection reset by peer).
06:53:00 -!- Bike has quit (Ping timeout: 252 seconds).
06:54:18 -!- Bike has joined.
06:55:52 -!- augur_ has quit (Read error: Connection reset by peer).
06:56:01 -!- augur has joined.
07:04:11 -!- ert has joined.
07:15:34 -!- TodPunk has quit (Quit: This is me, signing off. Probably rebooting or something.).
07:16:02 -!- TodPunk has joined.
07:18:05 -!- ert has quit (Quit: leaving).
07:19:37 -!- ert has joined.
07:21:09 -!- ert has quit (Client Quit).
07:28:15 <kmc> Sgeo: I remember reading about virtualization rootkits that would make the computer pretend to be off when it isn't really
07:28:39 -!- asiekierka has joined.
07:29:40 <kmc> there's also wake on LAN, Intel AMT, remote management chips that mobo / system integrators add, network-accessible PDUs, social engineering the datacenter techs...
07:30:38 <kmc> it's common these days that in addition to your CPU you have another management chip, running a poorly documented poorly secured OS, also connected to the network, with the ability to access arbitrary host memory, reboot the host, make the host boot from an ISO file that was uploaded by network, etc
07:31:06 <kmc> take a look at the Ring -3 Rootkits slides if you want to be scared shitless
07:31:54 <Bike> good name though
07:32:00 <kmc> yeah it's a bit silly
07:32:16 <Bike> that means you can do more than ring 0?
07:32:28 <Bike> insofar as "ring 0" even makes sense with hypervisors i guess
07:32:52 <Fiora> "ring -3"?
07:33:05 <Fiora> is that like something that runs on the uncore?
07:33:18 <kmc> it's a metaphor I guess, or just a silly name that gets attention
07:33:19 <fizzie> I think it's like the Discworld concept of "knurd".
07:33:31 <fizzie> It's as far from ring 0 than ring 0 is from ring 3; like knurd is as far from sober then sober is from drunk.
07:33:36 <kmc> basically people kept inventing ways to make rootkits that are somehow more privileged than ring 0 kernel code
07:33:44 <kmc> first hypervisors then SMM then management chips
07:33:59 <Fiora> are the management chips, like, bios stuff or things like the uncore?
07:34:06 <kmc> i don't know what uncore means
07:34:18 <kmc> you should probably just read the slides, but there's some RISC processor involved with the Intel AMT stuff
07:34:18 <fizzie> It's like a unicorn, but not quite.
07:34:26 <Fiora> um, it's the "extra core" on modern intel chips that replaces all the stuff that the northbridge and so on used to do, I think
07:34:29 <Bike> seriously dig all these names they're so awesomely dumb
07:34:30 <kmc> i think it's physically integrated with the northbridge or something
07:34:34 <kmc> oh
07:34:40 <kmc> physically integrated with the 'chipset' chip maybe
07:34:41 <Fiora> it's an uncore because it's not really a core
07:34:48 <Fiora> (intel's naming is great really)
07:34:53 <kmc> heh
07:35:25 * Sgeo couldn't tell at first if kmc was referring to an actual extra chip, or to a certain form of carbon-based computation
07:35:26 -!- ert has joined.
07:35:37 <Fiora> oh wow there's a wikipedia page
07:35:38 <Fiora> http://en.wikipedia.org/wiki/Uncore
07:35:39 <Sgeo> Actually, still not sure I can tell
07:35:51 <Bike> carbon-based
07:35:56 <Fiora> huh, it's responsible for doing cache coherency and things
07:35:57 <Bike> ?
07:36:16 <Sgeo> Bike, my failed attempt at attemting to continue the joke if it was a joke
07:36:17 <kmc> itt: carbon based lifeforms
07:36:22 <Bike> good album
07:36:44 <Bike> ill flower~
07:36:45 <kmc> anyway, many ways to hack a machine that is 'off'
07:37:01 <Sgeo> Actually, I'm still not sure.
07:37:26 <kmc> even pulling the power cord may not be enough -- remember that Google puts a 12V backup battery in each of their servers
07:37:46 <zzo38> They make it such complicated that such things as rootkits will be possible......
07:38:07 <kmc> might be enough to power a management chip well enough to read memory contents and transmit them covertly by radio, toggling a GPIO pin to act as an antenna
07:38:19 <kmc> THEY'RE IN THE WALLS
07:38:25 * kmc hides under the bed
07:38:28 <fizzie> Isn't an uncore also what artists sometimes do after a show if the uudience asks them to?
07:38:36 <Fiora> kmc: there's monsters under the bed though!!
07:38:37 <Fiora> watch out
07:38:38 <coppro> how do you get more privileged than ring 0? isn't ring 0 basically by definition the most privileged?
07:38:41 * Bike TEMPESTs kmc's computer, finds him looking at a surprising amount of furry porn
07:39:06 <Bike> coppro: old definitions
07:39:21 <kmc> coppro: it's a technical aspect of the CPU which means "most privileged" in a specific technical sense
07:39:24 <Bike> we're in a brave new era, where the ring of privileges actually forms a ring
07:39:48 <kmc> coppro: other components of the system the CPU operates in may be equally or more privileged
07:39:57 <kmc> if the CPU is actually virtualized then the hypervisor has more privilege
07:40:14 <kmc> likewise if there's a management chip that can read/write memory independently
07:40:19 <kmc> which is something most PCI devices can do
07:40:24 <kmc> also anything plugged into firewire, whee
07:40:29 <Sgeo> Ring -3 is hard to google for
07:40:37 <Fiora> there's that weakness that firewire lets you write anywhere in memory, right?
07:40:41 <Fiora> or at least the first 4 gigabytes or something
07:40:48 <Bike> @google "ring -3"
07:40:49 <lambdabot> http://www.movieweb.com/movie/the-ring-3
07:40:49 <lambdabot> Title: The Ring 3 (2011) - MovieWeb.com
07:40:53 <kmc> http://www.blackhat.com/presentations/bh-usa-09/TERESHKIN/BHUSA09-Tereshkin-Ring3Rootkit-SLIDES.pdf
07:40:56 <Bike> ok, you win this round.
07:41:01 <kmc> had to use bing not google, to get a link without the stupid bullshit
07:41:04 <kmc> THOOGLE
07:41:28 <Sgeo> SMM rootkit?
07:41:40 <Sgeo> Also, are there rings between 3 and 0?
07:41:48 * Bike looks at the clock, looks at this scratch buffer full of code, realized he'd been intending to have finished a blog post. siiiiigh
07:41:49 <kmc> coppro: SMM is closer to an actual exception within the processor to the idea that ring 0 has the most privilege
07:41:52 <Bike> Sgeo: yes but iirc nobody uses them
07:41:55 <kmc> Sgeo: yes
07:42:07 <kmc> Xen paravirt guest OS runs in ring 1 iirc
07:42:12 <kmc> is the only major use I know of
07:42:17 * Fiora reads this presentation thing
07:42:22 <coppro> kmc: lol firewire dma
07:43:04 <kmc> coppro, Sgeo: the way SMM (System Management Mode) works is basically that the mobo can assert a pin on the CPU, which makes it drop what it's doing, save all its state, and go execute some code that might not even be visible normally
07:43:15 <kmc> it's a kind of interrupt that can't be disabled or even observed (except through timing)
07:43:40 -!- epicmonkey has joined.
07:44:17 <fizzie> I think OS/2 used either ring 1 or 2 for something like drivers.
07:44:17 <kmc> it's used to make the CPU do some work on behalf of peripheral hardware, stuff that is logically independent of any OS
07:44:22 <Sgeo> If rootkits can get in, could anti-rootkit software get in?
07:44:26 <fizzie> Maybe OS/2 doesn't quite count as "major use" these days.
07:44:38 <kmc> like converting between USB keyboard and legacy keyboard controller stuff
07:44:44 <Bike> "backward-delete-char-untabify" ilu emacs
07:45:18 <Fiora> ARC4 processor, huh.. and wow. active even in sleep mode
07:45:22 <fizzie> "For guest code in ring 0, VirtualBox employs a nasty trick: it actually reconfigures the guest so that its ring-0 code is run in ring 1 instead (which is normally not used in x86 operating systems)." [VirtualBox manual.]
07:45:43 <Bike> What works in ring 0 that doesn't in ring 1?
07:45:53 <kmc> that makes sense, then every privileged instruction is a fault and the hypervisor can intervene
07:46:00 <Bike> oh.
07:46:13 <kmc> Bike: i think a lot of privileged stuff like RDMSR / WRMSR, messing with GDT or TSS
07:46:22 <Sgeo> What happens if you want more rings?
07:46:28 <kmc> then you're screwed
07:46:31 <Sgeo> e.g. VirtualBox in VirtualBox?
07:46:35 <kmc> can't do it
07:46:35 <Bike> you call intel and hope you have money
07:46:45 <Fiora> Sgeo: you need to unequip your other rings
07:46:48 <Fiora> haven't you like played any rpgs
07:46:51 <kmc> not without some extra trickery
07:46:51 <Fiora> you can only equip two rings
07:46:53 <Fiora> even though you have 10 fingers
07:47:04 <kmc> if you're using hardware assisted virtualization then sometimes it's possible
07:47:14 * Bike googles WRMSR, gets a tripod site, decides it's too early in the morning to read about these horrible things
07:47:19 <kmc> Linux's KVM supports nested virtualization now, but I would expect it's horribly buggy
07:47:22 <Sgeo> I guess it makes sense for VirtualBox to not run guest stuff in 3 to make sure guest's own security assumptions still work
07:47:50 <kmc> yeah, it's fun when hypervisor bugs enable a privilege escalation within the guest
07:48:01 <kmc> not as fun as VM breakout bugs, but funny anyway
07:48:06 <fizzie> The segment protection levels also include >= and <= kind of checks, so it's possible e.g. for some memory areas be writable from ring 0 but not from ring 1, if you've got the descriptor tables set like that.
07:48:15 <kmc> of course bugs in "real hardware" can also enable privesc
07:48:16 <fizzie> Also for call gates.
07:48:49 <coppro> Bike: privileged instructions such as touching interrupts
07:49:08 <coppro> system operations like halt or reboot
07:49:32 <coppro> probably the page table too, though I'm not sure how VMs handle that
07:50:21 <fizzie> "The following system instructions are privileged instructions: LGDT, LLDT, LTR, LIDT, MOV (control registers), LMSW, CLTS, MOV (debug registers), INVD, WBINVD, INVLPG, HLT, RDMSR, WRMSR, RDPMC, RDTSC."
07:50:23 <kmc> x86 also provides for access to I/O ports at lower than ring 0 privilege: http://pdos.csail.mit.edu/6.893/2009/readings/i386/s08_03.htm
07:50:24 <fizzie> Well, that's a long list.
07:51:04 <kmc> note that you can clear interrupts if CPL <= IOPL
07:51:05 <fizzie> (You can toggle bits in CR4 to enable RDPCM and RDTSC at any CPL.)
07:51:23 <fizzie> PMC, not PCM.
07:51:26 <kmc> which means this program is enough to freeze an x86 linux system, or at least a core: iopl(3); asm("cli");
07:51:29 <kmc> needs root of course
07:51:34 <fizzie> RDKMC is a very privileged instruction, because it can read kmc's state.
07:51:38 <kmc> :D
07:52:20 <kmc> i saw a proposal that Linux seccomp mode should disable RDTSC to avoid untrusted programs performing timing side channel attacks
07:52:32 <Fiora> RDFIORA returns 'CA' in ax
07:52:36 <Fiora> because that's my state
07:52:42 <kmc> http://blog.cr0.org/2009/05/time-stamp-counter-disabling-oddities.html
07:52:53 <Sgeo> I should learn x86 stuff at some point
07:53:03 <Sgeo> This is intensely interesting and I understand little of it
07:53:25 <Fiora> RDTSC... I wonder if stopping RDTSC would really solve that problem
07:53:40 <Fiora> it seems like it migbht be safer to just try to solve the timing attack weaknesses?
07:53:42 <kmc> it is interesting from one perspective; from another it's just arbitrary historical details that don't relate to anything fundamental
07:53:55 <kmc> Sgeo: most of the above machinery is not used by common OSes
07:54:19 <kmc> they use segmentation and task switch and call gates only in a vestigial manner
07:54:27 <Fiora> I remember reading about the AES timing attack thing, it was really interesting
07:54:39 <Fiora> how they could, like, actually realistically recover a key in a real-world situation
07:54:43 <fizzie> Another trivia factoid: the x86 page-level protection is just "supervisor" (CPL 0, 1 or 2) or "user" (CPL 3); it only has one bit.
07:54:54 <kmc> all of the security comes from paging, the User bit on pages, and the distinction between ring 0 and 3 only
07:55:13 -!- Bike has quit (Quit: help).
07:55:22 <kmc> fizzie: hm, yeah, that means you can't really run device drivers in ring 1/2 on an OS which uses paging for protecting ring 0
07:55:49 <fizzie> Fortunately, segments.
07:56:02 <fizzie> (It's what's for breakfast.)
07:56:04 <edwardk> speaking of paging i take it you saw the turing machine in the mmu, right?
07:56:09 <kmc> hm what happens if you far call to a segment with lower (more privileged) CPL
07:56:11 <kmc> that's a fault right?
07:56:53 <kmc> wait i'm confused
07:57:16 <kmc> right, the privilege is the less privileged of the segment descriptor's DPL and the segment selector (i.e value in %cs)'s CPL
07:57:24 <fizzie> I haven't ever really bothered to get all that straight, since it's not just about those two.
07:57:35 <fizzie> There's the CPL, the DPL, the RPL and the C flag.
07:57:36 <kmc> and decreasing the CPL is certainly a fault
07:58:13 <fizzie> If it's a nonconforming segment, CPL must equal DPL, otherwise it's #GP.
07:58:15 <kmc> "max(CPL, RPL) ≤ DPL where CPL is the current privilege level (found in the lower 2 bits of the CS register), RPL is the requested privilege level from the segment selector, and DPL is the descriptor privilege level of the segment (found in the descriptor)."
07:58:54 <kmc> so if RPL > CPL then you're, say, a kernel accessing user data in a way which is supposed to fault if the user couldn't access it
07:58:59 <kmc> edwardk: yeah, that was great :)
07:59:11 <fizzie> kmc: But those rules are different for conforming and nonconforming segments.
07:59:34 <kmc> fizzie: which is amusing because that's a sorely needed capability which Intel is finally adding back in, 30 years later
07:59:53 <kmc> (accessing user data from ring0 in a way that can't be tricked into accessing kernel data)
08:00:22 <fizzie> The manual says: "When accessing nonconforming code segments, the CPL of the calling procedure must be equal to the DPL of the destination code segment; -- The RPL of the segment selector that points to a nonconforming code segment has a limited effect on the privilege check. The RPL must be numerically less than or equal to the CPL of the calling procedure for a successful control transfer to ...
08:00:27 <fizzie> ... occur. -- When accessing conforming code segments, the CPL of the calling procedure may be numerically equal to or greater than (less privileged) the DPL of the destination code segment; -- The segment selector RPL for the destination code segment is not checked if the segment is a conforming code segment."
08:00:54 <Fiora> this topic reminds me kind of a bit about a thing I was wondering when reading intel's next-gen instruction documents
08:01:07 <Fiora> they added these new (user-level?) instructions for reading and writing 'fg' and 'gs'
08:01:21 <Fiora> but I don't know nearly enough about segments to know what the intent here is or what it's supposed to be for?
08:01:27 <Fiora> but like, they must have something they're putting them in for
08:01:46 <kmc> I guess that's because in AMD64, writing segment registers is a privileged operation
08:02:02 <fizzie> FS and GS are really the only segments that survive in long mode.
08:02:03 <kmc> linux has arch_prctl(ARCH_SET_FS, ...)
08:02:27 <kmc> linux glibc uses one of %fs and %gs (forgot which) for thread-local data and also the stack canary
08:02:38 <fizzie> Windows uses one for a pointer to some OS data structures.
08:02:39 <zzo38> Avoid these problems by simplicity.
08:02:53 <Fiora> what's the kind of thing you'd want to use segments for in long mode?
08:03:00 <kmc> basically it's just another base register
08:03:09 <fizzie> kmc: IIRC, you can select either FS and GS for glibc when compiling. (Of course one of them is the standard.)
08:03:13 <kmc> [%fs+%rsi+%rdx+7]
08:03:34 <kmc> and the value in %fs / %gs will be left unperturbed by most code
08:03:40 <kmc> hence the use in thread local storage
08:03:41 <fizzie> Fiora: Well, you could use them for thread-local data, or as pointers to OS data structures.
08:04:12 <kmc> each thread needs a separate block of linear addresses, so it needs some base pointer to that, but keeping that pointer in memory would be slow, and reserving a general purpose register for it would suck
08:04:25 <kmc> (though these solutions are definitely used when others aren't available)
08:04:36 <fizzie> Unless I misremember, in long mode the FS and GS get their base addresses from specific MSRs, and there's no limits involved.
08:04:48 <kmc> for the stack canary it has an additional benefit
08:05:00 <kmc> fizzie: I think that's right, at least if you want to set a 64-bit base
08:05:10 <Fiora> ahhh. thread local storage
08:05:31 <Fiora> so basically it lets applications do that kind of stuff without using platform-specific kernely nonsense?
08:05:39 <kmc> so the idea of stack canaries is that you put a random value (not known to attackers) on the stack, and then before each RET you check if that value is there, and if it's not then somebody done smashed your stack
08:06:04 <kmc> but this means you need to store the 'correct' value of the canary somewhere, for comparison
08:06:36 <kmc> but you want to make it as hard as possible for the attacker to read that value using some other bug
08:07:13 <kmc> so you can put it at a random linear address, and reference it only from %fs, and you count on the fact that there isn't much code generally that uses %fs so less chance of a bug which leaks memory around there
08:07:32 <kmc> at least i think that's part of the motivation in glibc. might just be convenient to treat it the same way as thread local data
08:08:44 <Fiora> is there a difference between fs and gs or are they just two equal but different segment things?
08:09:04 <zzo38> I am trying to learn about programming Verilog. Do you know some things about Verilog programming?
08:09:32 <kmc> Fiora: the latter afaik
08:09:34 <kmc> OH BUT
08:09:40 <Fiora> okay so it's not like cs/ds/es
08:09:40 <kmc> let us not forget the glorious SWAPGS instruction
08:09:46 <Fiora> ... swapgs? XD
08:10:11 <kmc> yeah in 32-bit x86 they are basically ds / es workalikes
08:10:19 <kmc> i think fs and gs were actually added later, maybe 486
08:10:29 <kmc> anyway gs does have a special role on amd64
08:10:38 <Fiora> "SWAPGS exchanges the current GS base register value with the value contained in
08:10:41 <Fiora> MSR address C0000102H (MSR_KERNELGSbase). KernelGSbase is guaranteed to be
08:10:42 <Fiora> o_O
08:10:44 <Fiora> canonical; so SWAPGS does not perform a canonical check. The SWAPGS instruction
08:10:47 <Fiora> is a privileged instruction intended for use by system software. "
08:10:51 <kmc> so SYSCALL is a fast syscall instruction
08:11:03 <kmc> fast meaning that it doesn't save/restore any state
08:11:05 <Fiora> "swapgs can be used to quickly get a pointer to the kernel data structures"
08:11:22 <Fiora> "by design , swap gs doesn't require any general purpose registers or memory operands" ahhhhhhhhhh
08:11:42 <kmc> yeah you see
08:11:44 <kmc> the glory of this hack
08:12:59 <Fiora> so you swapgs, then you can save registers in the kernel structures
08:13:15 <Fiora> without having to worry about "oh gosh I need to modify state to save state eeep what do I do"
08:14:32 <kmc> yep
08:14:42 <Fiora> though they don't have a 64-bit pusha...
08:15:29 <kmc> i think the trickiest bit in JOS (MIT OS class toy OS) is the part where the userspace segfault handler returns directly to normal userspace code, restoring all registers at once
08:16:08 <Fiora> I remember that being tricky too, we used a MIPS toy OS thing and the context switch bit was tricky
08:16:37 <kmc> mjrosenb told me about some insane thing on MIPS where you have to put one of your context-switching instructions in the branch delay slot after the branch back to userspace
08:16:46 <kmc> that's just how it's done
08:17:11 <Fiora> woow
08:17:47 <Fiora> the hacks that go into this kind of stuff are really amazing
08:18:02 <kmc> on ARM there's just a separate register file for each CPU mode
08:18:08 <kmc> or some registers anyway
08:18:14 <kmc> want some shared for syscall args etc
08:19:01 <kmc> as much as I would like to stay and nerd out further, i really must sleep
08:19:04 <kmc> ttyl everyone
08:19:18 <Vorpal> hi
08:19:50 <Vorpal> Fiora, which architecture is swapgs?
08:20:12 <Vorpal> <zzo38> I am trying to learn about programming Verilog. Do you know some things about Verilog programming? <- ais523 might
08:20:45 <Vorpal> zzo38, ask him when he is here next time?
08:22:07 <Vorpal> wait, swapgs must be x86
08:28:16 -!- Nisstyre-laptop has quit (Ping timeout: 256 seconds).
08:28:40 <Fiora> x86_64
08:28:46 <Fiora> goodnight kmc~
08:58:56 -!- Taneb has joined.
09:01:53 <zzo38> Do you know this quotation? Life is truly quite absurd, but with a little effort we could make it completely ridiculous.
09:02:08 <Taneb> It sounds Douglas Adams-y
09:02:08 <lambdabot> Taneb: You have 1 new message. '/msg lambdabot @messages' to read it.
09:02:37 <zzo38> I don't know.
09:09:01 -!- nooga has joined.
09:09:42 <Taneb> zzo38, the biggest differences between monoidplus's Group class and groups' Group class is a different name, and mine has more instances and yours has an instance from contravariant
09:10:54 <Taneb> (the different name is minvert/invert)
09:10:58 <zzo38> Ignore mine then; mine that one isn't really very good, compared to some other stuff I put.
09:11:31 <Taneb> Also, I've concluded that the additional power given by a group isn't much use in Haskell
09:13:04 <zzo38> OK, then. Yes, I suppose it isn't much. Still, such a thing is possible.
09:13:11 <zzo38> Do you find this question offensive?
09:13:30 <Taneb> No, merely self-referential
09:14:43 <zzo38> Same to me
09:19:56 <Taneb> 'The actor, 35, said there was a huge amount of weird fan fiction on the internet'
09:20:39 -!- epicmonkey has quit (Remote host closed the connection).
09:21:02 <zzo38> On a scale of 1 to 4, what are your feelings about the colour green? (What is this quotation from?)
09:21:22 <zzo38> (Unlike them, I will allow 1 and a half up to 4 and a half)
09:21:31 <Taneb> 3
09:21:39 <monqy> depends on what kind of green
09:22:15 <zzo38> monqy: Yes, I guess it does.
09:22:30 <zzo38> However, I also think that it does not make a lot of sense to use such a scale.
09:22:40 <monqy> this is true
09:22:44 <Taneb> I was referring to the green component of the RGBA colour spectrum
09:23:11 -!- epicmonkey has joined.
09:23:22 <zzo38> Taneb: O, yes, that too. But it usually is made to go from 0 to 255, or sometimes from 0 to 1, instead.
09:23:47 <Taneb> But the question said 1 to 4, so I divided and whatnot
09:25:09 <zzo38> OK, yes, it does say 1 to 4.
09:25:21 <zzo38> Like I said, I think that it does not make a lot of sense to use such a scale.
09:30:38 <Taneb> Hold on, hold on, hold on
09:32:34 <zzo38> I can think of a hypothetical extension to Haskell with bijective case blocks, where all cases must be specified without overlap, and it must remain valid, under the same conditions, if you switch the stuff before and after ->
09:33:45 <Taneb> That sounds pretty weird
09:33:51 <zzo38> Finite bijective functions is what seems to me to follow the rules of a logic with numbers.
09:34:02 <zzo38> Taneb: How does it seem weird? It seems OK to me.
09:34:31 <Taneb> So, both sides you'd need a pattern match that doesn't use _ or @ or ~ or viewpatterns
09:34:47 <zzo38> Taneb: Yes, it does imply that too.
09:35:15 <zzo38> It is what I was thinking of, too.
09:35:46 <Taneb> So the only thing you can actually do is reshape
09:35:54 <zzo38> Yes.
09:37:10 <oklopol> reversible computations are usually as strong as non-reversible ones tho
09:37:18 <oklopol> for most models
09:37:23 <oklopol> presumably this includes haskell
09:38:21 <zzo38> You could further allow expressions which result in bijective functions, including in the patterns, but no part of it is from inside of this case block.
09:39:12 -!- nooga has quit (Ping timeout: 264 seconds).
09:39:51 <zzo38> It seems something like view patterns?
09:44:44 <zzo38> oklopol: How would you do it, then?
09:45:51 <oklopol> you carry an auxiliary list called the toilet, which starts out empty. whenever you do something, you write what you did on the tape.
09:46:17 <oklopol> you get a ton of crap in the end.
09:46:22 <oklopol> plus the result.
09:46:41 -!- carado has joined.
09:46:42 <zzo38> Yes, I know of that.
09:46:54 <zzo38> That isn't what I meant, though.
09:47:21 <oklopol> http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.159.2776
09:47:48 <Sgeo> "Amelia is the progeny of Iris. (Its namesake will also be the progeny of Iris's namesake any day now.)"
09:47:55 <Sgeo> I take it someone's going to have a child soon
09:49:11 <monqy> what tipped you off
09:49:16 <oklopol> Theorem 3.2. removes the crap
09:49:52 <oklopol> zzo38: were you asking how to do this in haskell specifically?
09:50:06 <Sgeo> Picasa for Linux is dead?
09:50:12 <zzo38> oklopol: Kind of.
09:50:25 <oklopol> because i don't know
09:50:50 <Sgeo> `list
09:50:53 <HackEgo> ais523 atriq Bike boily cuttlefish elliott fgrep Fiora fungot metasepia monqy Ngevd nortti oklopol Phantom_Hoover pikhq quintopia Sgeo SUPREME_BUTT_SUI Taneb
09:51:08 <Sgeo> oops
09:51:09 <Sgeo> ^list
09:51:10 <fungot> Taneb atriq Ngevd Fiora nortti Sgeo ThatOtherPerson alot
09:51:56 <zzo38> I was trying to think of it, because I was trying to think of how to make Curry-Howard of a logic which has numbers, in Haskell.
09:52:40 <oklopol> yes
09:53:00 <oklopol> but i know little about both C-H and haskell
09:55:09 <Taneb> Hehe
09:55:43 <Jafet> @quote kmc howard
09:55:43 <lambdabot> No quotes match. Where did you learn to type?
09:55:48 <Vorpal> Sgeo, what is that ^list command?
09:56:02 <Vorpal> Sgeo, and what is the `list supposed to be?
09:56:04 <Taneb> Vorpal, Homestuck update notifier
09:56:14 <Taneb> And `list is a list of people who've ran `list
09:56:20 <Vorpal> hah
09:56:42 <Taneb> ^echo `list
09:56:42 <fungot> `list `list
09:56:45 <HackEgo> ais523 atriq Bike boily cuttlefish elliott fgrep Fiora fungot metasepia monqy Ngevd nortti oklopol Phantom_Hoover pikhq quintopia Sgeo SUPREME_BUTT_SUI Taneb
09:56:53 <Taneb> Ah, fungot was already on the list
09:56:54 <fungot> Taneb: s/ producing/ fnord warning 256 kb vs. 128 kb) or " gib" ( singular) or " "
09:58:29 <Vorpal> ^style
09:58:29 <fungot> Available: agora alice c64 ct darwin discworld enron europarl ff7 fisher fungot homestuck ic irc* iwcs jargon lovecraft nethack pa qwantz sms speeches ss wp youtube
09:58:40 <Vorpal> `run type lsit
09:58:42 <HackEgo> bash: line 0: type: lsit: not found
09:58:42 <Vorpal> `run type list
09:58:44 <HackEgo> list is /hackenv/bin/list
09:58:52 <Vorpal> `url bin/list
09:58:55 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/bin/list
10:02:42 <fizzie> I see that's been changed since the last I saw it.
10:06:22 <Vorpal> oh?
10:06:59 <fizzie> It used to collect the names in the script.
10:07:08 -!- nooga has joined.
10:07:28 <Vorpal> ah
10:07:41 <fizzie> See http://codu.org/projects/hackbot/fshg/index.cgi/file/be90d778a82d/bin/list for the previous version.
10:08:12 <Vorpal> makes sense
10:08:27 <Jafet> `run echo '#!/bin/true' > bin/listen && chmod +x bin/listen
10:08:31 <HackEgo> No output.
10:08:55 <fizzie> Hey, listen.
10:10:24 <Jafet> `run echo '#!/bin/rec' > bin/rec && chmod +x bin/rec
10:10:28 <HackEgo> No output.
10:10:31 <Jafet> `rec
10:10:32 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: /hackenv/bin/rec: /bin/rec: bad interpreter: No such file or directory \ /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: /hackenv/bin/rec: Success
10:11:08 <fizzie> bin is not /bin.
10:11:25 <Jafet> `run echo '#!/hackenv/bin/rec' > bin/rec
10:11:28 <HackEgo> No output.
10:11:31 <Jafet> `rec
10:11:32 <HackEgo> No output.
10:11:50 <Jafet> `run rec && echo $?
10:11:51 <HackEgo> 0
10:13:25 <fizzie> `run false && echo $? # a pattern of dubious usefulness, given that the echo only happens if $? is 0
10:13:27 <HackEgo> No output.
10:15:27 -!- impomatic has joined.
10:21:10 <zzo38> Curry-Howard of intuitionistic logic is just with pure functions; with classical logic, you can have continuations; I have been told that with temporal logic you can have reactive programming; I think if you have linear logic, you can have specifying how something is used once and so on, and more things; but, there are many more kind of logic than just that!
10:21:21 <zzo38> What other kind of logic could be used with it?
10:24:44 <zzo38> But I think logic with numbers correspond to bijective functions. Axiom 1 of TNT might be like: axiom1 :: forall a. (Maybe a <-> Zero) -> Zero; axiom1 f = f Nothing;
10:25:25 -!- Taneb has quit (Ping timeout: 245 seconds).
10:27:54 <zzo38> axiom2 :: forall a. Either a Zero <-> a; axiom2 = bijection { Left x <-> x; }; axiom3 :: forall a b. Either a (Maybe b) <-> Maybe (Either a b); axiom3 = bijection { Left x <-> Just (Left x); Right Nothing <-> Nothing; Right (Just x) <-> Just (Right x); };
10:30:12 <zzo38> axiom4 :: forall a. (a, Zero) <-> Zero; axiom4 = bijection { }; axiom5 :: forall a b. (a, Maybe b) <-> Either (a, b) a; axiom5 = bijection { (x, Nothing) <-> Right x; (x, Just y) <-> Left (x, y); };
10:31:02 <zzo38> There. Is that it? I think so!
10:38:03 -!- copumpkin has quit (Ping timeout: 245 seconds).
10:38:41 -!- copumpkin has joined.
10:40:42 <zzo38> Two eggs costs less than one egg, but if you buy two eggs, you must eat both. Does linear logic do this?
10:42:46 <monqy> `addquote <zzo38> Two eggs costs less than one egg, but if you buy two eggs, you must eat both. Does linear logic do this?
10:42:50 <HackEgo> 984) <zzo38> Two eggs costs less than one egg, but if you buy two eggs, you must eat both. Does linear logic do this?
10:43:17 <zzo38> That doesn't answer the question.
10:43:24 <zzo38> at all.
10:53:27 * Vorpal throws away the second egg
10:54:24 <zzo38> And I think with linear logic it is possible to specify if it is not allowed to throw away the second egg (and it is also not allowed to throw away the first egg)
11:07:18 -!- DHeadshot has quit (Ping timeout: 264 seconds).
11:10:17 -!- DHeadshot has joined.
11:12:35 -!- Phantom_Hoover has joined.
11:26:40 -!- oerjan has joined.
11:27:37 <oerjan> <Phantom_Hoover> aleph 1 times beth 1 is equal to beth one regardless of the CH, right?
11:27:51 <oerjan> yes. i'm not sure about without the AC, though.
11:28:51 <oerjan> because m*m = m for all infinite cardinalities is equivalent to AC.
11:29:42 <oerjan> and m*n = max (m,n) is not weaker than that...
11:30:22 <oerjan> <Lymia> codu.org is alive... <-- THE LOGS SEEM TO CONFIRM IT WAS
12:10:09 -!- Taneb has joined.
12:13:33 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
12:16:05 -!- Phantom_Hoover has joined.
12:20:39 -!- hagb4rd has quit (Quit: hagb4rd).
12:23:03 -!- DHeadshot has quit (Ping timeout: 245 seconds).
12:24:22 -!- DHeadshot has joined.
12:32:38 -!- hagb4rd has joined.
13:13:45 <Phantom_Hoover> i have too many packages
13:14:22 <Taneb> Sounds like you need a stanely knife!
13:14:32 <Taneb> s/stanely/stanley/
13:14:57 <Phantom_Hoover> is a stanely knife like a stately life
13:15:00 <Phantom_Hoover> but in knife form
13:15:26 <oerjan> a stainly knife
13:24:18 -!- DHeadshot has quit (Ping timeout: 245 seconds).
13:28:53 -!- aloril has quit (Ping timeout: 256 seconds).
13:30:52 -!- DHeadshot has joined.
13:39:03 -!- azaq23 has joined.
13:41:28 -!- aloril has joined.
13:43:10 -!- sebbu has joined.
13:45:31 -!- sebbu has quit (Changing host).
13:45:32 -!- sebbu has joined.
13:51:05 -!- aloril has quit (Ping timeout: 276 seconds).
13:51:41 -!- Phantom_Hoover has quit (Remote host closed the connection).
14:02:51 -!- monqy has quit (Quit: hello).
14:03:29 -!- aloril has joined.
14:06:00 -!- Phantom_Hoover has joined.
14:07:10 -!- ogrom has quit (Quit: Left).
14:08:16 -!- sebbu has quit (Quit: restart).
14:09:51 -!- sebbu has joined.
14:10:15 -!- sebbu has quit (Changing host).
14:10:16 -!- sebbu has joined.
14:12:32 -!- aloril has quit (Ping timeout: 276 seconds).
14:15:46 -!- sebbu has quit (Quit: restart).
14:19:47 -!- tswett has quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.).
14:20:19 -!- tswett has joined.
14:25:00 -!- aloril has joined.
14:27:47 -!- hagb4rd has quit (Quit: hagb4rd).
14:43:09 -!- sebbu has joined.
14:43:32 -!- sebbu has quit (Changing host).
14:43:32 -!- sebbu has joined.
14:44:18 -!- ogrom has joined.
14:50:14 -!- aloril has quit (Ping timeout: 276 seconds).
15:02:31 -!- aloril has joined.
15:07:27 -!- nooga has quit (Quit: Lost terminal).
15:26:36 -!- oerjan has quit (Quit: leaving).
15:29:04 -!- c00kiemon5ter has joined.
15:34:43 -!- DHeadshot has quit (Ping timeout: 245 seconds).
15:52:13 -!- edwardk has quit (Quit: Computer has gone to sleep.).
15:53:03 -!- edwardk has joined.
16:00:47 -!- edwardk has quit (Quit: Computer has gone to sleep.).
16:17:57 -!- Arc_Koen has joined.
16:18:11 -!- edwardk has joined.
16:21:28 -!- Frooxius_ has joined.
16:21:41 -!- Frooxius has quit (Read error: Connection reset by peer).
16:53:52 -!- Bike has joined.
16:57:58 -!- Frooxius_ has quit (Quit: ChatZilla 0.9.90-rdmsoft [XULRunner 1.9.0.17/2009122204]).
16:58:11 -!- Frooxius has joined.
17:11:40 -!- Taneb has left ("Leaving").
17:11:46 -!- Taneb has joined.
17:11:57 <Taneb> I DIDN'T MEAN TO LEAVE I'M SO SORRY
17:14:42 <Phantom_Hoover> i don't know if i can forgive you taneb
17:14:45 <nortti> fungot: hi
17:14:45 <fungot> nortti: if you want
17:16:01 -!- ert has quit (Quit: leaving).
17:16:49 -!- carado_ has joined.
17:17:40 -!- carado has quit (Quit: Leaving).
17:37:07 -!- copumpkin has quit (Ping timeout: 252 seconds).
17:37:38 -!- copumpkin has joined.
17:44:27 -!- aloril has quit (Ping timeout: 256 seconds).
17:57:12 -!- aloril has joined.
18:01:10 -!- ThatOtherPerson has joined.
18:02:43 -!- Lumpio- has quit (Quit: Kernel upgrade GO).
18:02:44 -!- ogrom has quit (Quit: Left).
18:04:51 -!- aloril has quit (Ping timeout: 256 seconds).
18:06:51 -!- Lumpio- has joined.
18:09:57 -!- AnotherTest1 has joined.
18:10:05 -!- AnotherTest1 has changed nick to AnotherTest.
18:10:26 <AnotherTest> hello
18:13:25 <ThatOtherPerson> Hello.
18:13:40 <Taneb> Hello
18:14:00 <Taneb> (third person to "hello"? I'm losing my touch...)
18:14:10 <shachaf> `hello
18:14:12 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: hello: not found
18:14:14 <shachaf> `? hello
18:14:16 <HackEgo> hello? ¯\(°_o)/¯
18:15:24 <Taneb> `learn hello hello hello, what's all this then?
18:15:29 <HackEgo> I knew that.
18:16:07 <Taneb> `run echo "echo Hello" > bin/hello
18:16:12 <HackEgo> No output.
18:16:15 <Taneb> `hello
18:16:15 <AnotherTest> Taneb: what about auto-reply?
18:16:16 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: /hackenv/bin/hello: Permission denied \ /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: /hackenv/bin/hello: cannot execute: Permission denied
18:16:33 <Taneb> Wow, I suck at HackEgo
18:16:43 <Taneb> AnotherTest, I don't use auto-reply on principle
18:16:54 -!- aloril has joined.
18:23:07 -!- Taneb has quit (Quit: Leaving).
18:25:38 <ThatOtherPerson> `python
18:26:05 <ThatOtherPerson> `run python
18:26:10 <AnotherTest> `ls
18:26:10 <HackEgo> Python 2.7 (r27:82500, Oct 13 2010, 20:26:16) \ [GCC 4.4.4] on linux2 \ Type "help", "copyright", "credits" or "license" for more information. \ >>>
18:26:12 <HackEgo> accesslog \ a.out \ bin \ brainfuck.fu \ canary \ Category:Self-modifying \ dbg.out \ dkVb20VL \ egobot.tar.xz \ etc \ factor \ foo \ foo.err \ foo.out \ ibin \ index.html \ interps \ karma \ lib \ link \ paste \ prefs \ prefs.bf \ quines \ quotes \ radio.php?out=inline&shuffle=1&limit=1&filter=*MitamineLab* \ sgfoobar \ share \ slist.orig \ slist.
18:26:31 <AnotherTest> what even is radio.php
18:26:37 <HackEgo> Python 2.7 (r27:82500, Oct 13 2010, 20:26:16) \ [GCC 4.4.4] on linux2 \ Type "help", "copyright", "credits" or "license" for more information. \ >>>
18:26:37 <AnotherTest> `cat radio*
18:26:39 <HackEgo> cat: radio*: No such file or directory
18:26:44 <AnotherTest> oh wait
18:26:48 <AnotherTest> it doesn't do that?
18:27:10 <AnotherTest> `cat ./radio.php?out=inline&shuffle=1&limit=1&filter=*MitamineLab*
18:27:11 <HackEgo> http://50.117.26.26:9903/Live | (#1 - 0/500) MitamineLab
18:27:31 <ThatOtherPerson> `ls quines
18:27:33 <HackEgo> cat \ perl \ python \ ruby
18:27:47 <ThatOtherPerson> `ls quines/python
18:27:49 <HackEgo> quines/python
18:27:54 <AnotherTest> `ls -R
18:27:56 <HackEgo> ​.: \ accesslog \ a.out \ bin \ brainfuck.fu \ canary \ Category:Self-modifying \ dbg.out \ dkVb20VL \ egobot.tar.xz \ etc \ factor \ foo \ foo.err \ foo.out \ ibin \ index.html \ interps \ karma \ lib \ link \ paste \ prefs \ prefs.bf \ quines \ quotes \ radio.php?out=inline&shuffle=1&limit=1&filter=*MitamineLab* \ sgfoobar \ share \ slist.orig
18:27:56 <AnotherTest> there you go?
18:28:04 <ion> dc quine: [91PP[dx]93PP]dx
18:28:13 <AnotherTest> although maybe it's now a little confused
18:28:24 <AnotherTest> `ls --help
18:28:26 <HackEgo> Usage: /bin/ls [OPTION]... [FILE]... \ List information about the FILEs (the current directory by default). \ Sort entries alphabetically if none of -cftuvSUX nor --sort. \ \ Mandatory arguments to long options are mandatory for short options too. \ -a, --all do not ignore entries starting with . \ -A, --almost-all d
18:28:55 <AnotherTest> `foo
18:28:57 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: foo: not found
18:29:02 <AnotherTest> `./foo
18:29:04 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: /hackenv/foo: Permission denied \ /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: /hackenv/foo: cannot execute: Permission denied
18:29:14 <AnotherTest> `cat ./foo
18:29:16 <HackEgo> ​#echo `cat foo
18:29:33 <AnotherTest> hm
18:29:57 <AnotherTest> `cat ./accesslog
18:29:58 <HackEgo> No output.
18:31:43 <AnotherTest> `cat index.html
18:31:44 <HackEgo> ​<!doctype html><html itemscope="itemscope" itemtype="http://schema.org/WebPage"><head><meta content="Search the world's information, including webpages, images, videos and more. Google has many special features to help you find exactly what you're looking for." name="description"><meta content="noodp" name="robots"><meta itemprop="image" content
18:33:50 -!- aloril has quit (Ping timeout: 276 seconds).
18:46:11 -!- aloril has joined.
18:47:16 <Vorpal> Anyone in here know a good RSS reader that will work on both my phone and my linux desktop? I currently use Google reader, but it seems they are going to close that in June...
18:48:37 <Vorpal> and with phone I specifically mean Android
18:49:11 <AnotherTest> why do you need one and the same reader?
18:49:26 <Vorpal> AnotherTest, Well I need them to be in sync wrt read/unread
18:49:32 <AnotherTest> oh
18:49:43 <Vorpal> so it doesn't need to be the same as such
18:49:48 <Vorpal> as long as they can stay in sync
18:50:07 <Vorpal> AnotherTest, know any?
18:51:22 <AnotherTest> No, I'm not much of an RSS guy
18:51:28 <Vorpal> oh well
18:53:04 -!- Taneb has joined.
18:53:10 <Vorpal> AnotherTest, I basically use it to keep track of youtube and xda-developers. Because youtube's built in subscription system sucks. I have never seen anything as unreliable...
18:53:57 <Vorpal> Taneb, hey, know any RSS reader (that isn't Google Reader, because that is going to close down...) that can sync between my desktop and my phone?
18:54:08 <Taneb> Alas, no
18:54:13 <Taneb> If you find one, tell me
18:54:13 <Vorpal> ouch
18:54:22 <Taneb> I kind of need one too
18:54:25 <Taneb> Android phone
18:54:26 <Vorpal> heh
18:54:31 <Vorpal> same here
18:54:43 <Vorpal> Taneb, I'm upset that they are closing it down
18:54:50 <Taneb> A lot of people are
18:54:56 <Taneb> Including me
18:55:00 <Vorpal> why are they closing it down
18:55:18 <Vorpal> and I really need a solution. Worst case I will have to write my own, and that doesn't sound fun at all
18:55:22 <Vorpal> parsing XML and what not
18:55:23 <Vorpal> :(
18:55:44 <Vorpal> I really don't want to do that
18:55:51 <Taneb> Depending on your choice of language, I'd help
18:55:53 -!- c00kiemon5ter has quit (Quit: c00kiemon5ter).
18:56:02 <Vorpal> Taneb, C? No just kidding
18:56:08 -!- c00kiemon5ter has joined.
18:56:15 <AnotherTest> can you write in python for android phones actually?
18:56:19 <Taneb> C is at the very edge of languages I'd consider helping with
18:56:21 <Bike> snooooobooooool
18:56:24 -!- c00kiemon5ter has quit (Client Quit).
18:56:29 <Vorpal> well the Android part would have the be Java
18:56:32 <Vorpal> meh I can deal with it
18:56:41 <Bike> AnotherTest: http://code.google.com/p/python-for-android/ doot
18:56:47 <Vorpal> What I would do is write a web-gui and run that on my RPi
18:56:53 <Vorpal> then have an android client in Java for it
18:57:10 <Vorpal> not sure what language to use for the server
18:57:41 <Vorpal> I have nginx on that RPi currently
18:58:12 <Vorpal> Taneb, not sure what to use for the server
18:58:27 <Taneb> If it's Haskell I'd certainly lend a hand
18:58:30 <Vorpal> anyway, what with my wrist issues I'm not sure I want to code a lot currently, outside work
18:58:52 <Taneb> If it's C, Python, or JavaScript, I'd try to but probably won't
18:59:07 <AnotherTest> I'd help depending what language you're writing it in
18:59:09 <AnotherTest> not if it's Haskell, because I'd just mess stuff up
18:59:18 <Vorpal> Taneb, if it is haskell would you write the entire server? I would gladly do the android client then. I would suggest that the server parses the thing and then sends it to the client as either XML or JSON
18:59:19 <Taneb> AnotherTest, you any good at Java?
18:59:25 <Vorpal> probably easiest from Java
18:59:32 <AnotherTest> Meh, "any good"
18:59:39 <AnotherTest> I read a book about it?
18:59:44 <Vorpal> Taneb, I have done Android development before
18:59:50 <Taneb> yay!
18:59:50 <Vorpal> I did it for my bachelor thesis
19:00:04 <Vorpal> I don't really enjoy eclipse
19:00:11 <AnotherTest> Well, one problem is, I have never done Android development before
19:00:13 <Vorpal> but meh I don't want to touch the server part really
19:00:15 <Vorpal> AnotherTest, I have
19:00:22 <AnotherTest> I do write servers a lot though
19:00:27 <AnotherTest> not in Java tho
19:00:28 <Vorpal> time to set up a hg repo?
19:00:36 <Vorpal> (If anyone says git I'm leaving!)
19:00:40 <Deewiant> git
19:00:41 <AnotherTest> gi
19:00:42 <AnotherTest> *git
19:00:48 * Vorpal leaves the room
19:01:07 <ThatOtherPerson> Vorpal: hm, what
19:01:16 <ThatOtherPerson> *what's the difference between hg and git
19:01:19 <Vorpal> Anyway, I will look around for another solution first for a while
19:01:27 <Vorpal> ThatOtherPerson, the difference is that I don't like git?
19:01:32 <ThatOtherPerson> heh
19:01:34 <ThatOtherPerson> Why not?
19:01:50 <Sgeo> ThatOtherPerson is a real person?
19:01:57 <ThatOtherPerson> Sgeo: probably not
19:02:03 <Sgeo> I thought e was a joke someone put into the list
19:02:06 <Vorpal> I find the logic behind the user interface (i.e. how you use git add or whatever) unintuitive
19:02:07 <AnotherTest> He's that other person
19:02:10 <Vorpal> I prefer the way hg works there
19:02:14 <Vorpal> also I love MQ
19:02:23 <ThatOtherPerson> I haven't used Hg, so I'm not really entitled to an opinion
19:02:25 <AnotherTest> Vorpal: git doesn't have a user interface?
19:02:31 <AnotherTest> well, a graphical one
19:02:32 <Vorpal> AnotherTest, it does, a command line one
19:02:39 <Vorpal> AnotherTest, that is still a user interface
19:02:47 <ThatOtherPerson> It has a very very basic GUI I believe
19:02:57 <Vorpal> I'm not talking about GUI
19:02:57 <ThatOtherPerson> That absolutely no one uses
19:03:00 <AnotherTest> what's wrong with git add . && git commit -m "yay" && git push?
19:03:01 <Vorpal> I'm talking about UI
19:03:37 <ThatOtherPerson> Vorpal: how do you make a commit in Hg?
19:03:53 <Vorpal> AnotherTest, I don't think there is anything objectively wrong with it. It is just a subjective "I don't like it".
19:04:09 <AnotherTest> But why don't you like it?
19:04:19 <Vorpal> ThatOtherPerson, hg commit -m "whatever" [optional file list] && hg push
19:04:24 <Bike> Sgeo: like, ThatOtherPerson's been lurking in /names just to mess with you?
19:04:29 <Vorpal> anyway that was just one example
19:04:39 <Vorpal> AnotherTest, IU
19:04:43 <ThatOtherPerson> >.>
19:04:45 <Vorpal> I'm* simply not a fan of it
19:04:53 <AnotherTest> Oh Vorpal, so like, you don't like git add
19:05:03 <AnotherTest> because the rest sort of seems pretty similar
19:05:13 <Sgeo> I don't look through the /names list on a regular basis
19:05:34 <Vorpal> AnotherTest, that is one part indeed. Then there was some issue I ran into when trying to rebase that made no sense iirc. Forgot what it was
19:05:51 <Vorpal> Arguably though, rebasing is wrong, since it involves changing the history
19:05:53 <AnotherTest> well, removing files is pretty annoying
19:06:06 <AnotherTest> because, if you do git rm, and someone else already pulled
19:06:09 <AnotherTest> stuff can mess up
19:06:25 <AnotherTest> (they usually re-push it etc)
19:06:26 <Vorpal> AnotherTest, you shouldn't edit what is public
19:06:38 <Vorpal> that means editing history
19:06:46 <AnotherTest> Yes, even then
19:06:59 <AnotherTest> they add back the files that were removed in their fork or whatever
19:07:17 <Vorpal> AnotherTest, but surely a normal git rm (never got that deep into git that I needed to use it), would not cause issues if you do a normal merge?
19:07:31 <Vorpal> It would just mean "do you want to keep or delete the file"
19:07:34 <AnotherTest> well, I didn't think that too
19:07:37 <Vorpal> which is what hg does at least
19:07:45 <AnotherTest> but I had some problems with it
19:07:49 <Vorpal> hm
19:07:56 <AnotherTest> maybe someone else just did something weird
19:07:59 <Vorpal> git is fast though.
19:08:10 <Vorpal> even for big repos
19:08:21 <Vorpal> though hg works fairly well too
19:08:22 <ThatOtherPerson> Sgeo: really, I only exist in your imagination
19:08:52 <Vorpal> AnotherTest, I use hg at work, and a clean checkout is ~700 MB.
19:08:59 <Vorpal> Never noticed any slowness
19:09:11 <Vorpal> That consists of multiple sub-repos too
19:09:20 <Vorpal> Does git support sub-repos?
19:09:29 <ThatOtherPerson> Yep, they're called submodules
19:09:32 <Vorpal> Ah
19:09:32 <AnotherTest> brb
19:09:45 <ThatOtherPerson> git submodule add http://github.com/Blah/Blah.git
19:10:01 <Vorpal> and presumably a directory name for it as well
19:10:20 <ThatOtherPerson> Yeah, without the directory name it adds it into the root directory
19:10:36 <Vorpal> actually I remember hg being slow once, but the reason was I had used a badly written regexp in .hgignore to ignore about 20000 files
19:10:40 <Vorpal> it was slightly slow then
19:10:41 <Vorpal> XD
19:11:10 <Vorpal> Rewrote it as a glob and it was fine
19:11:56 <Vorpal> ThatOtherPerson, it keeps track of which revision you are using of each submodule I presume?
19:12:04 <ThatOtherPerson> yes
19:12:09 <Vorpal> and it handles recursive sub-repos?
19:12:50 <ThatOtherPerson> git submodule update --recursive
19:12:52 <ThatOtherPerson> I believe
19:13:04 <Vorpal> oh so a normal git update won't do it?
19:13:09 <Vorpal> that seems a bit annoying
19:13:21 <kmc> git submodules are not really usable as-is
19:13:25 <Vorpal> oh?
19:13:27 <Vorpal> how so?
19:13:51 <kmc> well what do you do if project A depends on projects B and C, both of which depend on D?
19:14:11 <Vorpal> kmc, you organize it properly?
19:14:14 <kmc> basically I think submodules are an OK building block, but you need some higher level system to manage them and the dependencies between projects
19:14:18 <kmc> Vorpal what does that mean
19:14:40 <kmc> Google has this tool 'repo' which is supposed to manage submodules
19:14:43 <Vorpal> well, I don't think sub-repos should be used by libraries for library dependency
19:14:45 <kmc> I think others have developed them as well
19:14:59 <kmc> Vorpal: ok
19:15:24 <kmc> but it's very convenient if a commit in your project also tells you which versions of dependencies will work with that version
19:15:28 <Vorpal> I used hg sub-repos extensively at work. Our workflow there is centered around having a "shell" repo that pulls in various sub-repos, such as shared base system, third party libraries (ffmpeg and boost for example) and a sub-repo for the application code
19:15:34 <Vorpal> that seems like a pretty sane setup to me
19:15:34 <kmc> yeah
19:15:38 <kmc> i think that's basically the right way
19:15:50 <kmc> but you need some scripts to manage it or else you go crazy
19:15:59 <Vorpal> kmc, not in hg really no
19:16:34 <Vorpal> kmc, though we use TortoiseHg there. Haven't really messed with sub repos and command line hg
19:16:47 <kmc> ok
19:17:43 <Vorpal> kmc, anyway a commit in the application repo is followed by a commit to the shell as well. So yes we do keep them in sync (though sometimes there are a bunch of commits before a commit in the shell, generally one commit to the shell per push though)
19:17:53 <kmc> yeah
19:17:56 <Vorpal> (and possibly several commits to the sub-repo)
19:18:06 <kmc> that's basically what we used with git at one place I worked
19:18:09 <Vorpal> kmc, also MQ is awesome
19:18:09 -!- c00kiemon5ter has joined.
19:18:10 <kmc> but we had pretty fancy tooling around it
19:18:18 <Vorpal> hm okay
19:18:24 <kmc> it was integrated with the build system
19:18:30 <Vorpal> oh, nifty
19:18:34 <kmc> so you could just say "build FooApp" and it would know which dependencies to check out
19:18:39 <Vorpal> ah
19:18:46 <kmc> we were an internal dev group shipping libraries to be used by other parts of the company
19:18:47 <Vorpal> kmc, so you had a file listing revisions?
19:18:57 <Vorpal> as opposed to letting the version control system itself track it?
19:19:02 <kmc> so this thing could be configured either to track master (for us) or to use certain known good 'release' versions
19:19:14 <kmc> and that would be applied consistently across the codebase because of those tags and commits in the 'super' repo
19:19:26 <kmc> no, the build system files just knew which projects depended on which
19:19:29 <zzo38> I wonder if a Famicom cartridge could detect RGB?
19:19:34 <kmc> the tracking of which versions work together was accomplished by commits in the super repo
19:19:42 <kmc> which contained Git submodules
19:19:51 <kmc> the same flat structure you described
19:20:06 <Vorpal> kmc, ah, we use tags for that, and it isn't really all that many sub repos that we can't manually sync the value when we update (I'm sitting at the application end as opposed to the library end though)
19:20:31 <Vorpal> that = known good releases
19:21:24 <Vorpal> kmc, I believe there is a recursive thing in one place, but that if for some special build-server thing that contains the normal shells as sub directories
19:21:29 <Vorpal> so it can pull them or something
19:21:41 -!- c00kiemon5ter has left.
19:21:42 <Vorpal> not sure how that works, never really been much involved in that setup
19:44:21 <ThatOtherPerson> `who
19:44:23 <HackEgo> No output.
19:44:35 <olsner> `run who
19:44:39 <HackEgo> No output.
19:44:48 <olsner> `doctor who
19:44:50 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: doctor: not found
19:44:59 <Taneb> `who google.com
19:45:01 <HackEgo> No output.
19:45:18 <ThatOtherPerson> `this_does_not_exist
19:45:22 <Taneb> It looked like it wanted a URL...
19:45:25 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: this_does_not_exist: not found
19:45:32 <Taneb> `hello
19:45:35 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: /hackenv/bin/hello: Permission denied \ /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: /hackenv/bin/hello: cannot execute: Permission denied
19:45:42 <Taneb> Oh yeah, I suck at HackEgo
19:45:45 <Taneb> `? hello
19:45:47 <HackEgo> hello hello hello, what's all this then?
19:45:55 <ThatOtherPerson> It would seem that it blocks displaying the output of "who"
19:46:08 <ThatOtherPerson> Which would be all the users currently logged into the system
19:46:13 <Taneb> `who google.com | paste
19:46:18 <HackEgo> No output.
19:46:36 <ThatOtherPerson> And it doesn't take a url ;D
19:47:29 <ThatOtherPerson> ie:
19:47:30 <ThatOtherPerson> [ThatOtherPerson@u16581147 ~]$ who
19:47:30 <ThatOtherPerson> ThatOtherPerson pts/0 2013-03-17 15:31 (166.87.189.71)
19:47:32 <Taneb> `whois google.com
19:47:34 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: whois: not found
19:48:42 <ThatOtherPerson> `uname -a
19:48:45 <HackEgo> Linux umlbox 3.7.0-umlbox #1 Wed Feb 13 23:30:40 UTC 2013 x86_64 GNU/Linux
19:51:38 <ThatOtherPerson> `git -v
19:51:42 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: git: not found
19:51:50 <ThatOtherPerson> `apt-get install git
19:51:53 <HackEgo> W: Unable to read /etc/apt/apt.conf.d/ - DirectoryExists (2: No such file or directory) \ E: Invalid operation install git
19:52:03 <ThatOtherPerson> `gcc -v
19:52:05 <HackEgo> Using built-in specs. \ Target: x86_64-linux-gnu \ Configured with: ../src/configure -v --with-pkgversion='Debian 4.4.5-8' --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.4 --enable-shared --enable-multiarch --enable-linker-build-id --with-system-zlib --libexecd
19:52:14 <olsner> `sudo apt-get install git
19:52:16 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: sudo: not found
19:52:29 <ThatOtherPerson> `echo $PATH
19:52:31 <HackEgo> ​$PATH
19:52:35 <ThatOtherPerson> `echo PATH
19:52:38 <HackEgo> PATH
19:52:49 <ThatOtherPerson> I've been away from Unix too long -_-
19:53:19 <Bike> `run echo $PATH
19:53:21 <HackEgo> ​/hackenv/bin:/opt/python27/bin:/opt/ghc/bin:/usr/bin:/bin
19:53:41 <Bike> it's just hackego having weid shellishness
19:54:13 <ThatOtherPerson> `wget -v
19:54:16 <HackEgo> wget: missing URL \ Usage: wget [OPTION]... [URL]... \ \ Try `wget --help' for more options.
19:54:19 <ThatOtherPerson> `wget https://code.google.com/p/git-core/downloads/detail?name=git-1.8.2.tar.gz&can=2&q=
19:54:21 <HackEgo> ​--2013-03-17 19:54:20-- https://code.google.com/p/git-core/downloads/detail?name=git-1.8.2.tar.gz&can=2&q= \ Resolving code.google.com... failed: Name or service not known. \ wget: unable to resolve host address `code.google.com'
19:54:31 <ThatOtherPerson> `wget https://git-core.googlecode.com/files/git-1.8.2.tar.gz
19:54:33 <HackEgo> ​--2013-03-17 19:54:32-- https://git-core.googlecode.com/files/git-1.8.2.tar.gz \ Resolving git-core.googlecode.com... failed: Name or service not known. \ wget: unable to resolve host address `git-core.googlecode.com'
19:54:48 <ThatOtherPerson> hmmmmmmmmmm
19:55:34 <ThatOtherPerson> `ping www.google.com -c 4
19:55:36 <HackEgo> pong
19:55:43 <ThatOtherPerson> `run ping www.google.com -c 4
19:55:45 <HackEgo> pong
19:55:51 <ThatOtherPerson> hmmmmmmmmmmmmmmmmmmmmmmmmmmmm
19:57:23 <pikhq> `ping
19:57:24 <HackEgo> pong
19:57:34 <AnotherTest> `rm -R
20:00:34 -!- epicmonkey has quit (Ping timeout: 246 seconds).
20:02:54 -!- edwardk has quit (Quit: Computer has gone to sleep.).
20:07:50 <Vorpal> Taneb, ping, I found a possible alternative, Feedly. Haven't tried it yet
20:07:57 <Vorpal> some other people I know recommended it
20:08:51 -!- edwardk has joined.
20:09:13 <Taneb> Give it a go and tell me what it's like
20:10:07 <Vorpal> Taneb, well it is flashier, not quite as spartan as google reader. Only tried it on the phone so far
20:10:15 <Taneb> Right
20:10:19 <Vorpal> you can tone down that a bit though
20:10:25 <Vorpal> auto import google reader stuff
20:11:48 <Vorpal> Taneb, hm verdict on mobile app: "I might possibly be able to get used to it"
20:11:53 <Vorpal> very artsy
20:12:59 <Vorpal> Taneb, will try the firefox add-in, seems it is an add-in in firefox and chrome, as opposed to a web page
20:14:19 <Vorpal> Taneb, the web GUI is significantly better
20:14:26 <Vorpal> well, add-in GUI
20:15:44 <Taneb> Significantly better to the phone GUI or to Reader?
20:15:53 -!- kallisti has quit (Ping timeout: 240 seconds).
20:15:56 -!- kallisti_ has quit (Ping timeout: 252 seconds).
20:16:02 <Vorpal> Taneb, better than the phone one
20:17:35 <Vorpal> Taneb, well, it isn't terrible. It does the syncing at least. Worth giving a try. You might like it, you might hate it. Personally it seems acceptable after tweaking the settings quite a bit.
20:17:41 <Vorpal> Not ideal.
20:18:31 <Taneb> Hmm
20:18:46 <Taneb> On another note, I wonder how many people think of me as "Taneb"
20:19:05 <Bike> insofar as i think of you it's as 'taneb', wince i'm new
20:19:10 <Vorpal> Taneb, I do
20:19:21 <AnotherTest> Taneb: don't worry I still think of you as "the rot13 guy"
20:19:22 <Vorpal> Taneb, anyway I can't figure out how to do "leave as unread"
20:19:24 <Vorpal> which annoys me
20:19:33 <Taneb> I'd assume most the people I know from IRC know me as Taneb
20:19:49 <Taneb> One person whom I met via skype calls me Tanebro, despite me introducing myself as Taneb
20:20:07 <AnotherTest> tanebro
20:20:10 <ThatOtherPerson> Taneb: I think of you as the guy in England with the sandwich
20:20:12 <AnotherTest> I should use that
20:20:23 <Taneb> ThatOtherPerson, I can't remember the sandwich
20:20:45 <zzo38> I thought of something, if some sound chip would make square waves using something like (~|(duty&{noise,phase}) (I think this is the correct Verilog code?)
20:20:45 <ThatOtherPerson> https://github.com/Taneb
20:20:55 <Taneb> That's actually not a sandwich
20:20:59 <Taneb> It's a yorkshire pudding
20:21:14 <ThatOtherPerson> oh wow I always thought it was a sandwich
20:21:17 <AnotherTest> Taneb: could we say Nathan actually?
20:21:23 -!- copumpkin has quit (Ping timeout: 240 seconds).
20:21:24 <ThatOtherPerson> I've been thinking of you completely wrong
20:21:29 <zzo38> It isn't the real "duty" setting, but duty is one of things it could set
20:21:39 <Taneb> AnotherTest, you COULD, but for me it'd feel wrong
20:21:47 <AnotherTest> ok, Nathan
20:21:48 <Taneb> It'd be like saying "Hi, Aaron" to zzo38
20:21:50 <zzo38> Would this work?
20:22:01 -!- copumpkin has joined.
20:22:10 <Vorpal> Taneb, though there is an alternative "save for later", which might be an useful option to "mark as unread"
20:22:23 <Vorpal> would work for me at least
20:23:12 <Taneb> I'm gonna have to wait for some comics to update before I find out
20:25:54 <ThatOtherPerson>
20:27:45 -!- ThatOtherPerson has quit (Quit: Leaving).
20:27:57 <Phantom_Hoover> Taneb how can you let sgeo down like this
20:28:23 <Taneb> Phantom_Hoover, you assume I read precisely one webcomic or maybe two
20:28:32 <Taneb> When I actually read APPROXIMATELY 20!
20:28:43 <Phantom_Hoover> you assume that Sgeo is bound by constraints of practicality or good sense
20:28:59 <Taneb> He's bound by sometimes being AFK
20:29:12 <Taneb> WHICH IS INSUFFICIENT FOR MY NEEDS
20:29:23 <Phantom_Hoover> also i started playing gerbal space program again after it came out on linux
20:29:30 <Phantom_Hoover> in conclusion, fuck gravity
20:30:14 <Vorpal> Taneb, yeah I'm going to give it a few days before deciding
20:30:21 <Vorpal> Taneb, not a total fan of the android GUI though
20:30:36 <Taneb> I very rarely check Reader on my phone
20:30:43 <Taneb> And I'm not a fan of Reader's android GUI
20:31:01 <Vorpal> For me it is xda-developers and youtube (because youtube subscription system absolutely sucks. Completely unreliable)
20:31:08 -!- AnotherTest has quit (Quit: Leaving.).
20:32:07 -!- edwardk has quit (Ping timeout: 258 seconds).
20:32:29 <zzo38> If you have 5-bit phase and 3-bit noise, you could then set duty=31 to have 1/32 duty square wave, or set duty=16 for 1/2 duty square wave, or to duty=0 for volume only
20:33:02 <zzo38> And then you could set duty=32 or duty=64 for different kinds of noise.
20:33:27 <Lumpio-> Is anybody actually reading what zzo38 is saying
20:33:41 <Lumpio-> I feel kinda sad for the guy, always asking random questions or announcing even more random discoveries, only to never get an answer
20:34:09 <zzo38> Lumpio-: Well, I am reading what I am writing, and you are noticing it so you might read it too even if it doesn't mean anything to you
20:34:38 <Taneb> Can I talk in channel with things that won't make any sense to anyone else?
20:34:53 <Lumpio-> Sure why not
20:35:04 <Lumpio-> What does {noise,phase} mean
20:35:05 <zzo38> Are you sure it won't make sense to anyone else? Maybe it is not sensible.
20:35:06 <Lumpio-> I don't read Verilog
20:35:22 <zzo38> Lumpio-: In Verilog, it means concatenation of the bits
20:35:26 <Lumpio-> No, surely everything makes sense to everybody, your timing is just so... random
20:35:28 <Lumpio-> ah
20:35:44 -!- edwardk has joined.
20:35:47 <zzo38> And the unary ~| means reduction NOR
20:37:39 <Phantom_Hoover> Lumpio-, as far as we can tell zzo38 is perfectly content to potter about in his own little intellectual world
20:37:59 <coppro> putter?
20:38:22 <Phantom_Hoover> patter
20:38:40 <Lumpio-> zzo38: Anyways I guess it could work but does it offer much advantage over just having two channels
20:39:43 <zzo38> Having two channels? Do you mean, one square channel and one noise channel?
20:40:28 <Lumpio-> yes
20:41:01 <Lumpio-> I guess it saves you from mixing them but if you don't want an extra mixed channel you could just use one bit to choose either square or noise
20:41:04 <Lumpio-> Instead of something... weird.
20:41:26 <Lumpio-> Your thing I guess would also allow a weird mix of noise and square wave but.. who needs that ¬u¬
20:41:31 <zzo38> The AY-3-8910 allows noise and square wave on the same channel.
20:41:54 <zzo38> (It has three channels, each one can be noise, square wave, both, or volume only; but it has no duty setting.)
20:43:33 <Lumpio-> alright
20:43:38 <Lumpio-> But is that useful?
20:44:02 <zzo38> I suppose some kind of special effects could be made with that.
20:44:22 <Lumpio-> Ah well, weird features like that give chips their own particular sound I guess.
20:44:25 <Lumpio-> In some cases at least
20:44:55 <Bike> kmc: we do something wrong?
20:45:00 -!- oerjan has joined.
20:45:14 <kmc> no
20:45:20 <shachaf> hi edwardk
20:45:27 <shachaf> Since when are you in here?
20:45:43 * edwardk has always been in here.
20:46:00 <ion> Are you a Vorlon?
20:46:02 <edwardk> =)
20:46:06 <zzo38> The AY8930 does have a setting for the duty cycle (VGMPlay does not currently emulate the AY8930, though, even though the VGM format supports it and VGMCK can write music for it).
20:47:01 <Taneb> About a quarter of the lens people are in here
20:47:16 <edwardk> well lens is a pretty esoteric language
20:47:43 <shachaf> `relcome edwardk
20:47:47 <HackEgo> edwardk: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
20:47:57 <zzo38> edwardk: Do you know some things about Curry-Howard with various kind of logic?
20:48:18 <edwardk> zzo38: i used to. i've kind of paged all that info out
20:48:45 <zzo38> What kinds of logic, specifically?
20:48:45 <Bike> what have you paged in
20:49:02 <Taneb> Bike, how to define lenses in a dozen different ways
20:49:11 <Bike> always useful
20:49:13 <shachaf> Lenses are paged out too. So it goes.
20:49:15 <zzo38> Does temporal logic correspond to reactive programming? Someone once told me that it is.
20:49:20 <edwardk> for my second thesis i kind of went nuts with substructural logic in terms of using display logic for a type system
20:50:23 <edwardk> i used temporal logics to reason about resource allocation. you might come up with an alternate interpretation for FRP but i doubt it
20:50:52 <zzo38> Does logic with numbers correspond to bijective functions? It seems to me that it might.
20:52:03 <Taneb> I wonder if edwardk has ever been asked the two most important questions for #esoteric
20:52:11 <Taneb> I already know his answers, in any case
20:52:23 <edwardk> ?
20:52:23 <zzo38> What are the questions?
20:52:34 <Taneb> "Do you live in Hexham?"
20:52:40 <Taneb> "If not, do you live in Finland?"
20:52:53 <edwardk> sadly, neither.
20:53:07 * edwardk is in Boston.
20:53:15 -!- copumpkin has changed nick to Hadoop.
20:53:22 <Taneb> Boston is internationally famous for being neither in Hexham nor Finland
20:53:37 <shachaf> I didn't even go to Boston this NY trip!
20:53:42 <edwardk> so i've repeatedly been told
20:53:43 <Taneb> Indeed, the largest city known as Boston is on a different continent to both Hexham and Finland
20:54:01 <Taneb> However, there is at least one place known as Boston that is in the same country as Hexham
20:54:33 * shachaf is in WA now.
20:54:40 <shachaf> It is too cold, and I am sick.
20:54:50 <Bike> that basically sums up washington, yes.
20:54:59 <Taneb> Washington State too is neither in Hexham or Finland
20:55:09 <Taneb> Although it is less famous for this fact than Boston is
20:56:11 -!- Hadoop has changed nick to copumpkin.
20:57:05 <zzo38> I have more questions: [1] How many Bibles have you stolen? (use roman numerals) [2] How much garlic do you put in your tomato sauce? [3] Do you like to play monster character in Dungeons&Dragons game? [4] What is the square root of your godfather's telephone number, rounded to the nearest prime number?
20:57:29 <Taneb> zzo38, for [1], does it count if it just has the New Testament and the Psalms?
20:57:59 <Taneb> And for [4], do you count international dialling codes?
20:58:17 <Bike> III, none, yes, telephone numbers aren't algebraically complete
20:58:42 <shachaf> I haven't stolen any bibles. :-(
20:59:23 -!- c00kiemon5ter has joined.
20:59:47 <Taneb> II, none, never tried, dunno but he was on the Australian version of Who Wants To Be A Millionaire? once
21:00:17 <Sgeo> Fun fact: I was AFK when I was pinged
21:00:46 <zzo38> Taneb: If they live in a different dialing area then it counts.
21:01:51 <shachaf> I feel like I ought to steal a bible now.
21:02:12 <zzo38> shachaf: Why? Because you don't know how to write zero in roman numerals?
21:02:56 <zzo38> shachaf: How do you write zero in roman numerals? I have seen a bar with nothing beneath, in INTERCAL; the word "NIHIL", in CLC-INTERCAL; "0", on some 24-hour clocks and the Excuse (or Fool) card of some tarot decks (although in some games it is actually worth XXII, and in other games it ranks below cards in plain suits)
21:02:58 <shachaf> That was not my original reason but it's a good reason so now it's my reason.
21:04:11 <Sgeo> I'm scared, got a sandwich but asked for a dressing put on that I'm unfamiliar with. What if I dislike it?
21:05:30 <zzo38> I prefer for the Excuse card to have no index value.
21:08:19 -!- edwardk has quit (Ping timeout: 264 seconds).
21:08:47 <Phantom_Hoover> Sgeo
21:08:50 <Phantom_Hoover> i blinked
21:08:53 <Phantom_Hoover> i blinked again
21:08:59 <Phantom_Hoover> the words remained on my screen
21:09:38 <Phantom_Hoover> were it not for your long and storied history you would forever be the man who was scared of his sandwich dressing
21:10:50 <Sgeo> It's not bad
21:11:11 <Phantom_Hoover> disaster narrowly avoided
21:12:30 -!- edwardk has joined.
21:13:06 <Sgeo> professional supporter?
21:13:26 <Phantom_Hoover> probably a thing
21:13:37 <edwardk> i give them money every once in a while
21:14:26 <edwardk> an irc is the kind of cause i can bring myself to donate to ;)
21:14:30 <edwardk> er irc server
21:14:30 <shachaf> edwardk's job is supporting Freenode.
21:15:16 <Sgeo> Can I become a professional esolangs.org supporter?
21:15:33 <Phantom_Hoover> just give elliott some money
21:15:40 <Phantom_Hoover> and trust him
21:15:46 <Phantom_Hoover> note that there is a fatal flaw in this plan
21:16:02 <shachaf> elliott already gets paid from the lens fund.
21:16:25 <edwardk> wait i thought i was keeping that for pizza money
21:21:56 <edwardk> speaking of lens, do you want to write something for the school of haskell? they were trying to get me to write up a lens tutorial for their site
21:22:15 <edwardk> i'm kinda buried trying to figure out all these cache oblivious structures i need
21:24:27 <shachaf> I started writing something and then got sidetracked. I should go back to it. You can probably make something nice in that format.
21:24:35 * shachaf notes that mgsloan works there now.
21:24:54 <oerjan> <Phantom_Hoover> note that there is a fatal flaw in this plan <-- where?
21:25:04 <Phantom_Hoover> trusting elliott
21:25:25 <oerjan> i don't understand what you are talking about hth
21:25:37 <shachaf> elliott is totally trustworthy
21:26:31 * oerjan waves a salad dressing ominously at Sgeo
21:26:39 <Sgeo> "I can prove everything I say except for this sentence" vs "I can prove everything I say"
21:27:26 <zzo38> edwardk: Do you think logic with numbers corresponds to reversible (bijective) functions? It seems to me it is, I was discussing a hypothetical extension to Haskell to make a "bijective case block", and then defined the five axioms of TNT.
21:28:11 <oerjan> edwardk: i'm truly sorry about this.
21:28:24 -!- nooodl_ has quit (Quit: Leaving).
21:28:30 <edwardk> oerjan: ?
21:29:12 <oerjan> otoh if you _do_ end up with a type system for reversible computing i think i might actually read it.
21:29:13 <edwardk> zzo38: ##logic might be a better place to ask. once you throw predicates on numbers into the mix things get hairy
21:29:43 * edwardk personally finds reversible computing rather boring, because the kinds of steps you can make that are fully reversible aren't very interesting.
21:30:24 <oerjan> but but landauer's principle! quantum computing!
21:30:36 <shachaf> #esoteric seems to me like an appropriate channel for most of zzo38's questions.
21:30:36 <oonbotti> Nothing here
21:30:44 <shachaf> #hi
21:30:47 <shachaf> Hmm.
21:30:53 <oerjan> shachaf: oonbotti disagrees.
21:31:29 <oerjan> #hi what
21:31:45 <oerjan> #esoteric might be special
21:31:45 <oonbotti> Nothing here
21:31:52 -!- Taneb has quit (Ping timeout: 256 seconds).
21:31:54 <oerjan> #esophagi not so much
21:32:03 <edwardk> given the baseline of even something like a 'very well behaved lens' you can extend the terminology and tools in the direction that pierce did, getting you a bidirectional programming story.. or the traversal/prism direction, which doesn't try to either force you into a straightjacket of fredkin gates, or ad-hoc reversals, etc. ;)
21:32:11 <zzo38> edwardk: Well, I will try that channels too, but I also see if you know. Also, I don't mean only reversible computing; I mean you can have ordinary functions too.
21:32:40 <zzo38> oerjan: I think I did have a type system for reversible computing, which is (<->).
21:33:08 <edwardk> given the amount of thought i'm willing to put into it i can't think of an obvious connection
21:33:12 <nortti> oerjan: try #yelp
21:33:33 <oerjan> #yelp welp
21:33:36 <nortti> help, i mean
21:33:43 <oerjan> #help
21:33:43 <oonbotti> You can get help about specific command with #help <command>. Commands: #echo, #cat, #ls, #rm, #writefile, #cc, #exec, #msg, #readmsg, #forth, #loadforth, #eliza, #/etc/passwd
21:33:48 -!- edwardk has quit (Quit: Computer has gone to sleep.).
21:33:56 <shachaf> #help esoteric
21:33:56 <oonbotti> No help available on "esoteric"
21:33:57 <Sgeo> ARGH CHANNEL NAMES I MUST CLICK THEM ALL
21:34:04 <shachaf> #include <stdio.h>
21:34:09 <shachaf> #include <lens.h>
21:34:37 <Sgeo> #cc is a real channel
21:34:37 <oonbotti> Compile failed
21:34:45 <Bike> having a client where #text reolves into a channel name seems odd
21:35:02 <nortti> graffiti doesn t sssa tobe co-operatiČg
21:35:03 <oerjan> what is that channel all the finns are ing
21:35:05 <oerjan> *ing
21:35:08 <oerjan> *in
21:35:52 <Sgeo> #cc
21:36:10 <Sgeo> Must... not... mention... a certain channel name
21:36:22 <oerjan> #help #/etc/passwd
21:36:22 <oonbotti> #/etc/passwd - Output contents of /etc/passwd
21:36:28 -!- Taneb has joined.
21:36:29 <oerjan> #/etc/passwd
21:36:29 <oonbotti> root:x:0:0:Root Administrator:/root:/bin/mksh\nnobody:x:99:99:Unprivileged User:/dev/null:/bin/false\nwww:x:80:80:Web Server User:/var/www:/bin/false\nmessagebus:x:25:25:DBUS Daemon User:/dev/null:/bin/false\nhaldaemon:x:26:26:HAL Daemon User:/dev/null:/bin/false\nnaw:x:1000:1000:Linux User,,,:/home/naw:/bin/mksh\npjotr:x:1001:1001:Linux User,,,:/home/pjotr:/bin/sh\nnortti:x:1337:1337:Linux User,,,:/home/nortti:/bin/mksh\n
21:36:32 <Sgeo> #help #cc
21:36:32 <oonbotti> #cc <source> <binary> - Compile <source> using c2bf compiler and output results in <binary>
21:36:56 <shachaf> nortti: are you using a PalmPilot™
21:37:28 <zzo38> edwardk: If you search the recent logs for "axiom1" and "axiom2" and so on, then you may find the examples that I made.
21:37:40 <shachaf> zzo38: edwardk has quit. So it goes.
21:38:06 <oerjan> Sgeo: i suggest instead "Must... not... obsess... over what I do or don't do"
21:38:12 <oerjan> hth
21:38:15 <nortti> shachaf: it is now au^ilable for androR
21:38:32 <nortti> fuck it
21:39:22 <oerjan> nortti: nice tpiyng
21:39:27 <nortti> *available
21:39:28 <zzo38> Well, do you think the examples that I made can work, though?
21:39:44 <nortti> *android
21:41:24 <nortti> still, better than normal touch-qwerty
21:54:24 <oerjan> <Lumpio-> Is anybody actually reading what zzo38 is saying <-- sometimes
21:54:50 <oerjan> and sometimes i even have an answer.
21:54:50 <shachaf> zzo38 says worthwhile things!
22:02:44 -!- Nisstyre-laptop has joined.
22:11:57 -!- Taneb has quit (Ping timeout: 256 seconds).
22:13:20 <Sgeo> Wouldn't Graffiti be better with a stylus>
22:13:22 <Sgeo> ?
22:40:13 -!- edwardk has joined.
22:41:56 <pikhq> It is.
22:42:10 <pikhq> Graffiti's actually fairly nice with a stylus.
22:52:19 <coppro> apparently the programming languages course at my school has an interesting assignment this week: write an unlambda interpreter in prolog
22:54:12 -!- DHeadshot has joined.
22:55:27 <oerjan> coppro: half the credit should be for implementing c properly, hth
22:56:34 <Sgeo> I was given wrong information in 4th grade.
22:56:45 <Bike> oh no
22:57:15 <oerjan> the tragedy just deepens
22:57:49 <oerjan> also the sarcasm.
22:57:53 <Sgeo> I remember being told that there's a reason that things always use an even number of batteries, because you need two batteries for... something
22:58:13 <oerjan> heh
22:58:16 <Sgeo> But I think he said that a single battery wasn't really a battery, or something along those lines
22:59:12 <oerjan> my trusty old HP calculator has (well had, i should get new ones) 3 batteries, hth
22:59:24 <Sgeo> My wireless mouse takes 1 battery
22:59:40 <Phantom_Hoover> technically a single battery is a cell
22:59:56 <Phantom_Hoover> and a battery is a bunch of cells wired in series
23:00:02 <Phantom_Hoover> nobody cares, though
23:00:14 <Sgeo> I think he may have been saying that
23:00:21 <Phantom_Hoover> and also both even and odd numbers count
23:00:33 <coppro> there's also no real reason a commercial battery need be one cell
23:00:40 <Phantom_Hoover> also some batteries count as cells (e.g. 9v ones sometimes)
23:00:44 * oerjan assaults Phantom_Hoover with a battery
23:01:33 <kmc> https://www.youtube.com/watch?v=s_8n2Qgguto
23:01:51 <Phantom_Hoover> the ABCD series are all single cells though
23:05:31 <Bike> IOU one battery
23:08:16 <Phantom_Hoover> <Phantom_Hoover> also some batteries count as cells (e.g. 9v ones sometimes)
23:08:18 <Phantom_Hoover> er
23:08:28 <Phantom_Hoover> this should be "some batteries contain multiple cells"
23:09:18 <kmc> is a locomotive traveling by itself a train?
23:09:32 <kmc> or a streetcar or a single EMU / DMU
23:09:36 <Phantom_Hoover> you're the train nerd here
23:09:56 <kmc> true
23:10:06 <shachaf> he's training you
23:11:08 <Jafet> http://static.tvtropes.o< 1363564804 437367 :tOP-MAn!~net-wark@188.160.186.220 JOIN #\FRIends*foR*evEr\
←2013-03-16 2013-03-17 2013-03-18→ ↑2013 ↑all