←2012-07-08 2012-07-09 2012-07-10→ ↑2012 ↑all
00:00:23 <zzo38> I think it might be related to Kan extensions as well.
00:05:45 <zzo38> For example you can have: CoYoneda (X [] Maybe)
00:08:34 <zzo38> I suppose it is a bit like (X x y) is decomposing the type x from y, sort of.
00:09:18 <zzo38> What would you think of this way?
00:26:18 -!- zzo38 has quit (Remote host closed the connection).
00:42:41 -!- DHeadshot has joined.
00:47:30 -!- DHeadshot has quit (Read error: Connection reset by peer).
00:47:38 -!- DH____ has joined.
00:47:40 -!- DH____ has quit (Remote host closed the connection).
00:48:56 -!- DHeadshot has joined.
01:00:55 -!- DHeadshot has quit (Read error: Connection reset by peer).
01:01:08 -!- DH____ has joined.
01:02:46 -!- DH____ has quit (Read error: Connection reset by peer).
01:02:52 -!- DHeadshot has joined.
01:04:11 -!- DHeadshot has quit (Read error: Connection reset by peer).
01:04:17 -!- DH____ has joined.
01:13:54 -!- DH____ has quit (Ping timeout: 264 seconds).
01:49:10 -!- DHeadshot has joined.
01:55:52 -!- rmdashrf has joined.
01:56:01 -!- rmdashrf has left.
02:14:37 -!- copumpkin has quit (Ping timeout: 240 seconds).
02:15:17 -!- copumpkin has joined.
02:53:25 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
03:25:08 -!- oerjan has quit (Quit: Good night).
03:56:20 -!- calamari has left ("Leaving").
04:21:46 -!- Phantom_Hoover has joined.
04:22:32 -!- edwardk has joined.
04:26:45 -!- edwardk has quit (Ping timeout: 244 seconds).
04:27:15 -!- zzo38 has joined.
04:37:14 <zzo38> I thought of simultaneous chess boxing where you have to call out the moves while you are fighting your opponent too. (You can use algebraic or descriptive notation.) There is chess clock but only the referee needs to touch them and to update the view of the board on the walls (there is none on the ceiling).
04:47:23 <zzo38> I figured out how you can make a free monad using a F-algebra: toFree (CodensityAsk f) = f (Algebra Free) Pure; mkFree x = CodensityAsk (\(Algebra q) k -> q (fmap k x));
04:58:44 -!- edwardk has joined.
05:02:59 <coppro> ho, edwardk
05:03:05 <edwardk> heya
05:03:32 <coppro> how do you manage all your haskell code so that you can easily use it when you run ghci or the like?
05:03:42 <coppro> I need to start cabalizing and that means I need more than one directory tree
05:04:19 <edwardk> i make a cabal project for each thing i work on
05:04:21 <edwardk> then its just there
05:05:48 <coppro> but how do you ensure that ghci loads all your projects?
05:06:21 <edwardk> when you cabal install the project it will get loaded when you use it
05:06:27 <edwardk> eg. in cabal install 'ad'
05:06:29 <edwardk> then i run ghci
05:06:33 <edwardk> and import Numeric.AD
05:06:41 <edwardk> and it just works since ghc-pkg has the package unhidden
05:07:19 <coppro> so you use local installs?
05:09:11 <edwardk> yes
05:09:22 <edwardk> i just use 'cabal install' as my build process
05:09:37 <edwardk> and then forget about the package and move on to the next when i start working on that
05:11:22 <coppro> haha
05:13:16 <edwardk> another useful thing to make ghci happy
05:13:16 <edwardk> is to make your project source files sit in a src dir
05:13:36 <edwardk> and add it via hs-source-dirs
05:13:36 <edwardk> that way ghci doesn't try to load the file directly when you are in the top level project folder
05:13:47 <edwardk> which can matter a lot when you have interesting build processes
05:15:17 <edwardk> i try to do that all the time when i have a package with a c library dependency or something else complicated
05:54:52 -!- pikhq_ has joined.
05:55:18 -!- pikhq has quit (Ping timeout: 264 seconds).
06:03:35 <zzo38> I always run a Haskell code in GHCi although I may compile executable files too sometimes.
06:04:15 <zzo38> I figured out how you can make a free monad using a F-algebra: toFree (CodensityAsk f) = f (Algebra Free) Pure; mkFree x = CodensityAsk (\(Algebra q) k -> q (fmap k x));
06:07:43 -!- edwardk has quit (Remote host closed the connection).
06:09:08 -!- edwardk has joined.
06:14:11 -!- edwardk has quit (Quit: Leaving...).
06:15:16 -!- Nothing has joined.
06:15:40 -!- Nothing has changed nick to Guest46900.
06:16:57 * Guest46900 will be off to sleep in short order.
06:17:20 -!- Guest46900 has quit (Client Quit).
06:23:08 <zzo38> Sleep on the ceiling next Sunday.
06:23:39 <coppro> `addquote <zzo38> Sleep on the ceiling next Sunday.
06:23:50 <HackEgo> 849) <zzo38> Sleep on the ceiling next Sunday.
06:25:14 <soundnfury> Because g is a vector!
06:49:02 -!- zzo38 has quit (Remote host closed the connection).
06:55:54 -!- asiekierka has joined.
07:03:23 -!- asiekierka_ has joined.
07:03:27 -!- asiekierka_ has quit (Remote host closed the connection).
07:06:23 <fizzie> Why isn't it g then.
07:17:20 -!- Vorpal has joined.
07:27:42 -!- nortti has quit (Ping timeout: 264 seconds).
07:28:23 -!- nortti has joined.
07:33:02 -!- Lumpio- has quit (Remote host closed the connection).
07:33:11 -!- Lumpio- has joined.
07:33:43 -!- AnotherTest has joined.
07:36:20 -!- lifthrasiir has quit (Ping timeout: 248 seconds).
07:45:04 -!- lifthrasiir has joined.
07:50:31 <Vorpal> hm the mount options used on android are kind of crazy...
07:51:10 <quintopia> are they funny
07:51:30 <Vorpal> most partitions are mounted noatime, of the two that are mounted relatime instead, one is also mounted ro
07:51:38 <Vorpal> so the relatime has no effect
07:52:19 <Vorpal> quintopia, http://sprunge.us/dEXZ
07:52:38 <Vorpal> I like how it fakes the internal storage being an sdcard by using fuse
07:53:05 <Vorpal> the fuse file system emulates a FAT-style file system when it comes to permissions
07:53:31 <Vorpal> /mnt/sdcard is actually stored at /data/media
07:54:31 <Vorpal> (I don't have a real microSD yet, going to buy one later this week hopefully)
07:55:26 <fizzie> http://sprunge.us/EGaM
07:55:32 <Vorpal> also I don't know why /mnt/sdcard is mounted relatime when the underlying directory for it is mounted noatime
07:55:36 <Vorpal> how does that work
07:56:00 <Vorpal> fizzie, n900? What is up with the bind mounts?
07:56:03 <pikhq_> Ah, Android. Because screw your concepts of userspace, we just want init=/bin/dalvik
07:56:21 <Vorpal> pikhq_, I don't think init is /system/bin/dalvik?
07:56:30 <Vorpal> (there is no /bin)
07:56:34 <pikhq_> Vorpal: It's not, but they very obviously wish it could be.
07:56:42 <Vorpal> shell@android:/ $ ps
07:56:42 <Vorpal> root 1 0 528 356 ffffffff 00000000 S /init
07:56:52 <pikhq_> Then you wouldn't need anything else!
07:56:56 <Vorpal> what sort of name is /init?
07:57:05 <Vorpal> pikhq_, fun fact: Samsung sucks at programming
07:57:13 <olsner> Vorpal: presumably that's the path to init
07:57:17 <Vorpal> olsner, nope
07:57:21 <fizzie> Vorpal: There's nothing especially "up" with them, it's just that the / partition is kinda small so large packages put themselves in /opt (which is physically on /home, a larger partition) and then do some bind mounts if they "need" to be somewhere in /usr.
07:57:23 <pikhq_> The sort of name devised by people who hate everything.
07:57:55 <Vorpal> pikhq_, I get two zombie sh processes every time I plug the phone into a computer. The parent is /system/bin/kiesexe, Kies is Samsung's PC bloatware suite for phones
07:58:20 <Vorpal> fizzie, ah
07:58:50 <Vorpal> $ busybox df -h /
07:58:50 <Vorpal> Filesystem Size Used Available Use% Mounted on
07:58:51 <Vorpal> df: /: can't find mount point
07:58:51 <Vorpal> what?
07:58:56 <Vorpal> the built in df works
07:59:03 <Vorpal> $ df /
07:59:03 <Vorpal> Filesystem Size Used Free Blksize
07:59:07 <Vorpal> / 0K 0K 0K 4096
07:59:10 <Vorpal> but doesn't make sense
07:59:30 <Vorpal> pikhq_, any idea what is going on with / on android?
07:59:48 <Vorpal> fizzie, ah I see
08:00:03 <Vorpal> fizzie, which one is your sdcard?
08:00:05 <Vorpal> if you have one
08:00:12 <fizzie> I don't have one, and I've forgotten where it goes to.
08:00:23 <Vorpal> /dev/mmcblk0p1 on /home/user/MyDocs type vfat (rw,noauto,nodev,noexec,nosuid,noatime,nodiratime,utf8,uid=29999,shortname=mixed,dmask=000,fmask=0133,rodir) <-- why is that vfat?
08:00:24 <fizzie> The thing in /home/user/MyDocs is the ~30G internal storage thing.
08:00:24 <pikhq_> Vorpal: Only that Android userspace is a tower of lies.
08:00:29 <Vorpal> pikhq_, well yes
08:00:52 <fizzie> Vorpal: I suppose to be "more compatible". It's what gets exported if you plug the phone in as a mass storage device.
08:00:53 <Vorpal> pikhq_, the id->group/user mappings are hard coded tables in the libc from what I understand
08:01:02 <pikhq_> Yup.
08:01:02 <Vorpal> pikhq_, which means the busybox id doesn't work
08:01:13 <Vorpal> well the busybox I have at least
08:01:21 <Vorpal> which is presumably compiled against a different libc
08:01:24 <pikhq_> Keep in mind that they literally *started with* a BSD libc...
08:01:34 <pikhq_> They *actually had to work* to make this suck.
08:01:41 <Vorpal> oh? I thought they wrote bionic from scratch?
08:01:45 <pikhq_> No.
08:01:52 <Vorpal> fizzie, so no MTP?
08:02:21 <Vorpal> btw, my phone does MTP. It is kind of funky. Works kind of randomly sometimes under linux on the computer
08:02:32 <pikhq_> It's a fork of a BSD libc with actual *effort* applied to it to make it suck.
08:02:39 <Vorpal> pikhq_, ouch
08:03:04 <pikhq_> That's not them being lazy, that is them *actually hating you*.
08:03:09 <Vorpal> anyway, even under windows it seems like MTP doesn't do IO scheduling. You can not start two copy operations to/from the phone at once!
08:03:12 <Vorpal> Why
08:03:19 <fizzie> Vorpal: No; it has two modes, the mass storage one and then Nokia's PC Suite mode which makes it pretend to be a pile of devices, I don't even know what all of them do. (But there's the "can talk AT commands to" regular modem one.)
08:03:31 <Vorpal> fizzie, ah
08:03:32 <fizzie> So terribly many processes: http://sprunge.us/EahJ
08:03:36 <Vorpal> fizzie, how much internal storage does it have?
08:03:52 <Vorpal> fizzie, eh, not much more than my ubuntu laptop I bet
08:04:09 <Vorpal> dragon $ ps aux | wc -l
08:04:09 <Vorpal> 164
08:04:12 <fizzie> 32G, of which about 30G go to MyDocs.
08:04:25 <Vorpal> shell@android:/ $ ps | wc -l
08:04:26 <Vorpal> 174
08:04:32 <Vorpal> (this ps doesn't do a, u or x)
08:04:51 <Vorpal> fizzie, why would anyone want 30 GB of vfat...
08:05:31 <fizzie> Why not? You're supposed to put your photos, videos and music there. Why would the filesystem matter especially much? It's not like it wouldn't format the microSD card VFAT too.
08:05:40 <quintopia> dont call it fat! its not PC!
08:06:02 <Vorpal> well, you can't run linux software that want proper permissions from it
08:07:08 <Vorpal> BogoMIPS: 1592.52 <-- the CPU runs at 1.4 GHz, what a strange number of NOPs per clock cycle this CPU must have...
08:08:01 <Vorpal> if I understand the definition of BogoMIPS, this means the CPU can execute approx 1.138 NOPs per clock cycle?
08:08:03 <Vorpal> huh?
08:08:57 <Vorpal> the numbers on my laptop are much closer to a whole multiple (~2.000978)
08:09:21 -!- fizziew has joined.
08:09:26 <fizziew> (Home-SSH froze.)
08:09:27 <Vorpal> (which probably just means the CPU doesn't run at exactly 2.26 GHz like it claims to)
08:09:40 <Vorpal> pikhq_, any idea about that bogomips number?
08:09:59 <Vorpal> fizziew, <Vorpal> well, you can't run linux software that want proper permissions from it
08:10:02 <Vorpal> in case you missed that
08:10:05 -!- john_metcalf has quit (Quit: john_metcalf).
08:11:21 <fizziew> That was the last thing I saw. And yeah, but your regular user has music collection that is >> in size compared to software; especially since code doesn't take up all that much stuff. (Some games in the repository with large data files install those in MyDocs.)
08:11:34 <fizziew> s/stuff/space/
08:11:38 <pikhq_> Vorpal: Hmm.
08:11:54 <pikhq_> Vorpal: Beats me.
08:12:23 <pikhq_> Vorpal: Well. Maybe the branch takes a weird amount of time.
08:12:29 <Vorpal> guess so
08:12:39 <Vorpal> I wonder if it uses Thumb or ARM to measure it
08:12:44 <Vorpal> that could factor into it I guess?
08:13:02 <pikhq_> ARM chips don't exactly design for really fast branching, so.
08:13:07 <Vorpal> pikhq_, btw did you know that android hotplugs inactive CPU cores in order to save power?
08:13:18 <pikhq_> Huh. No, I didn't.
08:13:21 <pikhq_> Makes sense, though.
08:13:43 <Vorpal> also ARM /proc/cpuinfo is weird
08:13:59 <Vorpal> http://sprunge.us/UhML
08:14:05 <Vorpal> looks nothing like the x86 one
08:14:13 <Vorpal> no model name either
08:14:31 <Vorpal> that is from a 4-core CPU, I guess the other cores are unplugged atm though
08:14:53 <Vorpal> also a refreshingly short feature flag list
08:15:14 <Vorpal> on my core 2 duo it is absurdly long, even worse on my core i7 (sandy bridge)
08:15:19 <fizziew> http://sprunge.us/UTPP
08:15:33 -!- clog has quit (Ping timeout: 252 seconds).
08:15:59 <Vorpal> fizziew, you have an arm7 on that thingy? I thought it was older than that
08:16:09 <Vorpal> very low bogomips though
08:16:22 <Vorpal> what is the actual clock frequency on it?
08:16:35 <fizziew> It's clocked to about 250 MHz most of the time, IIRC. 600 MHz is what it runs when busy.
08:16:53 <Vorpal> fizziew, I thought bogomips was measured when it ran at full speed?
08:16:54 <fizziew> And the hardware is OMAP3, it's the same as e.g. the original Droid.
08:17:17 <fizziew> I've seen changing bogomips; don't know details.
08:17:34 <Vorpal> my phone seems to idle (with screen on) jumping between 200 and 500 MHz, staying at 200 most of the time
08:18:17 <fizziew> http://sprunge.us/jTWT with a while true; do true; done running in another terminal.
08:18:24 <Vorpal> huh
08:18:48 <Vorpal> fizziew, did you run the shell from the computer or on the phone itself?
08:18:53 <fizziew> On the phone.
08:19:03 <Vorpal> oh okay
08:19:38 <Vorpal> fizzie, what about two busy loops? Or do you have a single core only?
08:19:44 <fizziew> It's single-core, yes.
08:19:51 <fizziew> It's not *that* new.
08:20:17 <fizziew> BogoMIPS are calculated for those busy-loop delays, so it'd make sense it'd change as a function of the frequency to keep the delay times equal. (What gets printed in /proc/cpuinfo of course needn't.)
08:20:53 <Vorpal> pretty sure that it stays constant on x86 at least
08:21:03 <fizzie> It doesn't on my Athlon X2, unless I misremember.
08:21:24 <fizzie> (Oh, this one works again too. Phew; was worried for a moment there. Would've been a bit hard to go home to debug.)
08:22:04 <Vorpal> fizzie, I thought you were abroad? "* [fizziew] (~htkallas@pc112.ics.hut.fi): Heikki Kallasjoki"
08:22:17 <Vorpal> or do you have a bouncer at the university too?
08:22:31 <Vorpal> <fizzie> It doesn't on my Athlon X2, unless I misremember. <-- hm it does on my core 2 duo
08:22:43 <fizzie> http://sprunge.us/gJMf
08:22:47 <fizzie> Here's from this workstation.
08:23:07 <fizzie> (Which also happens to be an Athlon X2.)
08:23:20 <fizzie> (Again with a while true loop between the two.)
08:23:25 <Vorpal> fizzie, http://sprunge.us/SQJg
08:24:06 <Vorpal> fizzie, you ran two such loops there?
08:24:07 <fizzie> Just goes on to show that BogoMIPS are maybe not the best benchmark. :p
08:24:23 <fizzie> Just one; the X2 frequency scaling is CPU-wide, not per-core.
08:24:26 <Vorpal> ah
08:24:59 <Vorpal> <fizzie> Just goes on to show that BogoMIPS are maybe not the best benchmark. :p <-- the only reason I looked at BogoMIPS was that it wasn't even close to a multiple of the clock speed on the phone
08:25:41 <Vorpal> also the actual clock speed was not listed in the ARM cpuinfo
08:27:09 <fizzie> Could be a slightly different busy loop on ARM. Modern processors are so weird anyway, you can't just sum up cycles/instruction like you mostly could on, say, a Z80.
08:27:26 <Vorpal> true
08:28:34 <fizzie> To answer an earlier question, no, I don't run a bouncer on pc112; I just had a backup irssi in a screen there.
08:29:27 <Vorpal> pikhq_, any idea what "rootfs" is under linux? My laptop has it too, (only in /proc/mounts, not /etc/mtab though)
08:29:31 <fizzie> I'd check the constantness of bogomips on the Atom this client is running on, but funnily enough it doesn't do frequency scaling.
08:29:48 <Vorpal> wait what, I thought atom was low power stuff
08:29:57 <fizzie> It is.
08:29:57 <Vorpal> surely those do frequency scaling?
08:30:03 <fizzie> No, it doesn't.
08:30:13 <Vorpal> is it due to the kernel or the hardware?
08:30:19 <fizzie> The hardware, as far as I know.
08:30:23 <Vorpal> anyway I guess it could be related to kernel versions
08:30:28 <Vorpal> which ones did you test on
08:30:45 <Vorpal> I tested on 3.0 for my phone and 2.6.39 for my laptop
08:30:51 <fizzie> http://ark.intel.com/products/35635
08:30:58 <fizzie> "Enhanced Intel SpeedStep® Technology No
08:31:07 <Vorpal> lol
08:31:22 <Vorpal> wait, it does hyperthreading?
08:31:29 <fizzie> Yes.
08:31:36 <Vorpal> so weird
08:31:41 <fizzie> I'm not sure I have a HT kernel on it, though.
08:31:43 <Vorpal> anyway what sort of computer is it in?
08:31:58 <fizzie> It's on a Jetway "mini-ITX" board.
08:32:09 <Vorpal> hm
08:32:33 <fizzie> Mostly chosen because they had a fancy add-on "daughterboard" that adds 3x Realtek gigabit ethernet ports to the one on the motherboard already.
08:32:35 <Vorpal> speaking of power management, I'm pretty sure my desktop runs cooler under linux than under windows
08:32:50 <Vorpal> (idle condition, screen on empty desktop in both cases)
08:32:51 <fizzie> So it's four ports in quite a small package, to summarize.
08:33:04 <Vorpal> 3 ethernet ports?
08:33:10 <Vorpal> do you use it as a router?
08:33:12 <fizzie> Yes.
08:33:22 <Vorpal> nice
08:34:05 <fizzie> It's also currently in an ATX chassis because the power supply in the tiny mini-ITX box sort of gave up, and I didn't see a reasonable replacement for it anywhere, it's kind of oddly shaped. It looks rather humorous with the tiny board inside the huge box.
08:34:19 <Vorpal> hah
08:34:35 <Vorpal> fizzie, so a full tower case or what?
08:34:49 <Vorpal> s/case/chassis/
08:35:07 <fizzie> Not quite, fortunately. It's some sort of a smaller edition, I suppose it's designed for a mini-ATX board. But still.
08:35:26 <Vorpal> all those form factors
08:35:54 <fizzie> The "HD" is also just a 8G CF card with an IDE adapter, packed into a plastic box that used to hold screws, then electric-taped tightly shut.
08:36:15 <Vorpal> heh
08:36:51 <fizzie> The IDE adapter didn't really have places for mounting screws. Though it *is* vaguely in the place where a regular 3.5" disk would go in the chassis.
08:37:33 <Vorpal> hm
08:38:00 <fizzie> s/8G/16G/ apparently.
08:38:31 <Vorpal> hm
08:38:45 <Vorpal> fizzie, that is what you run your irc client on?
08:38:48 <Vorpal> what about logs?
08:38:57 <Vorpal> an nfs mount to a more capable computer?
08:39:03 <Vorpal> a*
08:40:02 <fizzie> There's a cron job that one-way rsyncs the logs every now and then when the more capable computer (my regular desktop box) happens to be on. Technically I could be removing local copies of old logs, but haven't had to, yet.
08:40:24 <fizzie> Just 748M of them at the moment.
08:41:05 <fizzie> (They start from 2009-03 when I switched to the current bouncer. Things older than that are elsewhere.)
08:41:31 <fizzie> Actually, there's one more complication, but it might be outside the scope of this discussion. Or, well...
08:41:56 <fizzie> I'm a bit worried about the write cycles of the CF card, I have no idea if those do any very sophisticated wear balancing like real SSDs nowadays.
08:42:12 <Vorpal> fizzie, hm I have 850 MB of xz compressed logs since when I started logging
08:43:06 <fizzie> So I've got the actual logging on a tmpfs that only holds current month's logs, and every three hours or so I batch-update new lines in those to the on-the-CF-card copies.
08:43:34 <Vorpal> fancy
08:43:38 <Vorpal> fizzie, why the tempfs?
08:43:52 <Vorpal> to save on the flash memory?
08:44:15 <fizzie> Right.
08:44:29 <fizzie> Might not really be necessary, but I was sort of worried.
08:44:52 <Vorpal> heh
08:44:53 <fizzie> (I've tried to put most of the often-changing files on tmpfs like that.)
08:44:55 <Vorpal> this month: 881 MB uncompressed logs
08:45:13 <Vorpal> that is a bit much
08:45:40 <fizzie> This month: 13M, uncompressed. My channels are obviously less noisy.
08:45:41 <Vorpal> oh wait, it is two months. Seems the cron script didn't run to rotate it this month since the computer was off due to a thunderstorm
08:45:53 <Vorpal> sometimes I hate cron
08:46:23 <fizzie> 57M for 2012-0[67].
08:48:28 * Vorpal runs find . -iname '*.log' -print0 | xargs -0 -n4 -P2 xz -z
08:48:55 <Vorpal> (I should set up automatic compressing after rotating)
08:49:00 <fizzie> Speaking of N900, there's been a bit of a buzz in that a Finnish startup called Jolla, made mostly of ex-Nokians, said publicly they're going to make a new Meego/Mer smartphone. So maybe it's not an entirely dead platform quite yet. (Of course so far they're just *saying* that.)
08:49:10 <Vorpal> hm
08:49:34 <Vorpal> fizzie, n900 didn't sell terribly well did it?
08:50:11 <olsner> I'd say that meego is entirely dead, but there might be people intending to revive it
08:50:29 <fizzie> No, and neither did the actual Meego phone (N9), but it's not entirely obvious it's because of bad technology instead of other matters.
08:50:34 <Vorpal> olsner, so we might get an undead phone? Awesome
08:50:57 <olsner> no, after reviving it will be alive
08:51:06 <Vorpal> boring
08:51:10 <olsner> indeed
08:51:23 <Vorpal> fizzie, N9 had terrible battery time as well?
08:51:43 <fizzie> I don't recall that, but it's certainly possible.
08:52:06 <Vorpal> my new phone actually has way better battery time than I expected. I watched youtube videos over wlan with it recently for maybe 5 hours, only drained down to 85% charge (from full charge before)
08:53:11 <fizzie> "The Nokia N9 has a BV-5JW 3.7V 1450mAh battery. According to Nokia, this provides from 7h to 11h of continuous talk time, from 16 to 19.5 days of standby, 4.5h of video playback and up to 50h of music playback." Well, going purely on the specs, it's not good, but maybe not quite "terrible" either. Anyway, new phone would presumably mean new hardware, too.
08:54:06 <Vorpal> seems my phone has a 2100 mAh battery
08:54:22 <fizzie> N9's primary problem (I think) was that they didn't really *sell* it anywhere. I mean, it wasn't released in the US (not such a big surprise), but not in "UK, the Netherlands, Germany, France, Italy, Spain, and others" either.
08:54:38 <Vorpal> ouch
08:54:57 <olsner> my phone only has a 1250mAh battery
08:55:40 <fizzie> 1320 mAh BL-5J on the N900.
08:55:56 <Vorpal> hm how does this translate to mWh, which is what ACPI on my laptop reports:
08:56:00 <Vorpal> design capacity: 51830 mWh
08:56:00 <Vorpal> last full capacity: 48720 mWh
08:56:18 <olsner> you multiply by the volts, I think
08:56:34 <Vorpal> the mWh or the mAh?
08:56:43 <Vorpal> design voltage: 10800 mV
08:56:45 <olsner> A*V = W
08:56:59 <Vorpal> olsner, shouldn't I divide by the voltage then?
08:57:13 <olsner> depends on which number you do it on
08:57:16 <Vorpal> or does the h bit change that
08:57:33 <Vorpal> olsner, well I don't know the voltage on my phone, so lets translate the laptop to mAh
08:57:47 <olsner> I think Wh is a better comparison though
08:57:54 <Vorpal> hm okay
08:58:20 <soundnfury> 50Wh, 11V, that's about 5Ah
08:58:21 <Vorpal> hm I guess ARM doesn't use ACPI
08:58:32 <Vorpal> soundnfury, thanks
08:59:07 * soundnfury doesn't like the use of Ah and Wh
08:59:16 <soundnfury> they're just big numbers of C and J
08:59:20 <Vorpal> urgh the phone adb shell seems to believe my terminal is 80 columns wide
08:59:31 <Vorpal> the issue is the path is like 70 chars wide
08:59:46 <Vorpal> soundnfury, I agree
08:59:47 <soundnfury> Vorpal: try setting $COLUMNS?
09:00:02 <soundnfury> and/or sending the shell process a SIGWINCH?
09:00:15 * soundnfury doesn't know the context, nor what adb is, but whatever
09:00:17 <Vorpal> ah yes
09:00:26 <Vorpal> soundnfury, adb = android debug bridge
09:00:40 <Vorpal> soundnfury, it is used when developing for android. In this case I ran adb shell
09:00:50 <Vorpal> so I ran a shell on my phone over the usb cable to it
09:01:38 <fizzie> People who bother meddling around with N900 development generally just do USB networking and SSH in over that.
09:01:49 <Vorpal> fizzie, USB networking?
09:02:16 <Vorpal> you can do networking over usb?
09:02:19 <Vorpal> is that a standard?
09:02:22 <fizzie> Yes.
09:02:26 <Vorpal> I knew you could do ethernet over firewire
09:02:29 <Vorpal> but usb?
09:03:08 <fizzie> Yes.
09:03:12 <Vorpal> I guess the batt_vol_* files are relevant for the phone. However all but one just returns N/A. the one that doesn't just blocks
09:03:18 <Vorpal> (in /sys/devices/platform/samsung-battery/power_supply/battery)
09:03:30 <soundnfury> um, given that you can do networking over RS232, I think it'd be pretty remiss of USB not to support the same thing
09:03:40 <fizzie> You'll need a special sort of a cable to do USB networking for two "hosts", though.
09:03:55 <fizzie> But the phone is normally... the opposite of a host, I forget which term the USB folks use.
09:04:01 <Lumpio-> USB over ethernet is standardized
09:04:03 <soundnfury> fizzie: I hope you're not suggesting the use of a double-A-jack cable?
09:04:04 <Lumpio-> ...er
09:04:08 <Lumpio-> Ethernet over USB
09:04:27 <Lumpio-> I found ago a couple of years ago when I plugged my phone into my laptop and found a network interface called "usb0"
09:04:28 <soundnfury> USB /always/ has a master and a slave
09:04:30 <soundnfury> them's the rules
09:04:31 <Vorpal> speaking of special sorts of cables, I should get an USB on the go cable
09:04:38 <Lumpio-> Yeah. Great. Good work brain
09:04:39 <Lumpio-> found out*
09:04:52 <Vorpal> from what I read, for an android phone my phone has exceptionally good USB support
09:05:12 <fizzie> soundnfury: No, they make cables with electronics on it to make that sort of stuff properly work.
09:05:12 <Vorpal> someone hooked up an xbox controller to the same model and got it working for example
09:05:23 <Vorpal> or was it PS3?
09:05:25 <Vorpal> anyway
09:05:30 <Lumpio-> It's not a cable anymore in that case.
09:05:37 <Lumpio-> It's a device that appears as a slave to two hosts at the same time.
09:05:40 <fizzie> Well, that's arguable.
09:05:50 <Lumpio-> Well it might look like a cable
09:05:56 <Lumpio-> Chips can fit inside the plugs these days
09:06:00 <fizzie> If it quacks like a duck...
09:06:11 <Lumpio-> But from a USB viewpoint it's a device.
09:06:16 <Vorpal> heh
09:06:19 <Lumpio-> Well it quacks like a duck when your system sees it
09:06:24 <Vorpal> why would anyone want to do that though?
09:06:26 <Lumpio-> As a slave device, from both ends
09:06:47 <soundnfury> so really it's a "router" that's a USB slave to two hosts
09:06:54 <soundnfury> that feels dirty somehow
09:06:56 <Vorpal> <Lumpio-> I found ago a couple of years ago when I plugged my phone into my laptop and found a network interface called "usb0" <-- what sort of phone was that?
09:07:03 <Lumpio-> Vorpal: Nokia N900
09:07:07 <Vorpal> ah
09:07:09 <soundnfury> as though the router should be the host and the PCs the slave
09:07:16 <Vorpal> is that just network sharing over usb?
09:07:24 <Lumpio-> Well it can be used for that
09:07:32 <Lumpio-> But it's a proper network interface
09:07:37 <Lumpio-> ifconfig away and do whatever you want with it.
09:08:00 <Lumpio-> For 3G sharing it offers PPP over USB serial though
09:08:12 <Lumpio-> Because the stripped down kernel on it doesn't even have iptables
09:08:14 <fizzie> Ethernet stuffs are in the "CDC" communications device class USB standard bits. So yes, it's just a standard way to pass Ethernet frames over USB.
09:08:24 <Vorpal> well I get an usb0 when I enable tethering with usb on my phone
09:08:25 <Vorpal> oh well
09:08:50 <Vorpal> since I rooted my phone I decided to take a look at iptables
09:08:52 <Lumpio-> It's one way to do connection sharing if your phone can do it, I could never be bothered to replace the kernel on mine with one with iptables
09:09:00 <fizzie> I suppose some phones might use that by default for network sharing.
09:09:01 <Vorpal> it turns out that probably all ICS devices have iptables
09:09:12 <Lumpio-> ...at once point I was writing some kind of custom pipe thing to get interwebs over there without iptables
09:09:15 <Lumpio-> but
09:09:15 <Vorpal> because it does the "network usage per app" thing that is new in ICS by iptables rules
09:09:34 <fizzie> Vorpal: Do you get a /dev/ttyUSBx device too, or just the usb0 interface?
09:09:36 <Lumpio-> I eventually found out you could just use PPP. Somehow I was under the misconception that PPP would take over the phone's 3G modem entirely and the phone itself wouldn't be able to use it
09:09:41 <Lumpio-> (That's what it did with GPRS on my old phone)
09:09:45 <Vorpal> fizzie, sec, will turn the thing on again
09:10:01 <Lumpio-> But apparently the modem supports multiple users at the same time, or the phone emulates PPP and talks to the modem by itself
09:10:13 <fizzie> Lumpio-: I think the latter.
09:10:22 <Vorpal> fizzie, no /dev/ttyUSB*
09:10:23 <Lumpio-> Me too
09:10:36 <fizzie> You could check whether you get pppd processes around when you share interwebs like that.
09:10:45 <Lumpio-> Or well PPP and AT commands and all that
09:10:54 <Lumpio-> But I don't really need to share interwebs with it anymore.
09:10:55 <Vorpal> fizzie, on the phone?
09:11:01 <Lumpio-> I got a laptop with built-in 3G
09:11:26 <Vorpal> nice
09:11:39 <Vorpal> can the N900 do sharing by acting as a wifi AP too?
09:11:48 <fizzie> Yes, IIRC.
09:11:52 <fizzie> Never tried it, though.
09:11:58 <fizzie> And probably not out-of-the-box.
09:12:10 <Vorpal> that seems to work better than sharing by bluetooth on this phone. I used to use sharing by bluetooth on my old dumb-phone nokia.
09:12:32 <fizzie> Well, at least for an ad-hoc network.
09:12:40 <fizzie> I'm not entirely sure the driver/hardware can do a regular AP.
09:12:58 <Vorpal> ah
09:13:29 <fizzie> Haven't investigated, really.
09:13:34 <Vorpal> hm there is an option for wifi direct in this menu too, whatever that is
09:14:16 <Vorpal> also a DLNA option, again no clue what it is. says "share your media files with nearby devices via DLNA" though
09:14:36 <Vorpal> there are also some options for NFC in that menu
09:15:00 <Vorpal> fizzie, anyway does the n900 have a front facing camera?
09:15:03 <Lumpio-> I think it can be put in AP mode
09:15:09 <fizzie> Vorpal: Yes, but it's horrible.
09:15:11 <Lumpio-> But as there's no iptables, you need extra software to do routing...
09:15:12 <Vorpal> oh
09:15:16 <fizzie> Quality-wise, that is.
09:15:20 <Lumpio-> I've only used it in ad-hoc mode myself
09:15:38 <Vorpal> fizzie, samsung actually came up with a cool idea for it. To detect if you are looking at the phone, and if so delay the screen timeout
09:15:44 <Vorpal> it actually works surprisingly well
09:16:00 <Lumpio-> The front camera is actually pretty good on the N900
09:16:05 <Lumpio-> ...as an entropy source for RNGs
09:16:18 <fizzie> I don't suppose anyone expects good quality out of those, and it only does 640x480 anyway, but even given that the N900 camera is quite bad. (Also AFAIK depends a bit on the hardware revision, or so I've read.)
09:16:22 <Vorpal> doesn't work in a totally dark room, or if you look at the phone at too much of an angle
09:16:28 <Vorpal> but other than that, it works pretty well
09:16:37 <Lumpio-> Hardware revision?
09:16:45 <Lumpio-> I think some software said the picture quality depends on *software* revision lol
09:16:49 <Lumpio-> How the hell would that even happen
09:16:58 <Vorpal> different firmware?
09:17:08 <Vorpal> I think my front facing camera does more than that
09:17:12 <Vorpal> let me find the resolution for it
09:17:42 <Vorpal> "1.9 MP, 720p@30fps", not sure about the resolution
09:18:25 <Vorpal> 1280x960 seems to be standard for front facing camera, and 1392x1392 is max
09:18:34 <Vorpal> curious with a square camera
09:18:53 <Vorpal> the back camera does 3264x2448
09:19:01 <fizzie> 1280x720 is the "standard" 720p square-pixel size.
09:19:13 <fizzie> So I guess they wanted the resolution to be > than that.
09:19:13 <Vorpal> ah
09:19:18 <Vorpal> right
09:19:26 <Vorpal> fizzie, I guess maybe for the anti-shake feature
09:19:30 <Vorpal> they want a bit of leeway
09:19:51 <Vorpal> since I doubt it has a physical anti-shake (like my Minolta Dimage A2 does)
09:20:17 <Vorpal> (you can hear the anti-shake motor when you take an exposure with that option turned on)
09:20:31 <fizzie> Daily trivia: you can make the N-gage get its internet connection via a computer (not terribly useful in general, but maybe in a specific situation) if you do a really terrible kludge. I've forgotten the details, but it involved DNS trickery to add a custom nonstandard TLD that it checks for.
09:20:56 <Vorpal> heh
09:20:59 <fizzie> It's related to what PC Suite does normally to speak with the phone.
09:22:37 <Vorpal> I believe 720x1280 is the phone screen resolution on my phone btw
09:22:48 <Vorpal> though it is pentile
09:23:26 <Vorpal> the dpi is high enough that you can't really notice that the screen is pentile though
09:24:14 <Vorpal> also sub-pixel hinting for pentile must be a nightmare to program, since it would depend on the exact location on the screen to a much larger degree than on a normal RGB TFT
09:25:11 <fizzie> I think the N9 screen had one of those RGBG things too.
09:25:33 <Vorpal> what is the DPI on that thing?
09:26:03 <fizzie> I think I mentioned this before, but it's funny how camera resolutions always count individual subpixels, while display resolutions (this far, anyway) have tended to report the number of actual RGB pixels.
09:26:36 <fizzie> It's something smaller, since it had a 854x480 screen.
09:27:06 <Vorpal> fizzie, it isn't exactly RGBG though, https://en.wikipedia.org/wiki/File:Nexus_one_screen_microscope.jpg (not the same phone, and I believe the exact arrangement is different on my phone)
09:28:17 <fizzie> That's just a matter of how you look at it. I mean, it's not the usual Bayer pattern "RGBG", but it does have twice as much green than R or B.
09:28:37 <Vorpal> well yes
09:36:01 <fizzie> Another thing I think I wondered out loud before: I wonder if there are digital cameras where, if you shoot non-raw and select a black-and-white mode, it makes the resulting image by doing something more black-and-white oriented on the subpixels, as opposed to just applying the same interpolation it would use for a color image and then weighted-summing the R, G and B channels.
09:36:25 <fizzie> It's not exactly something that would get mentioned on the manual, perhaps.
09:58:04 -!- azaq23 has quit (Quit: Leaving.).
10:01:06 <Vorpal> fizzie, there is an issue with doing that, in that not all those subpixels are sensitive to all the light
10:01:30 <Vorpal> due to colour filters or whatever
10:01:45 <Vorpal> there are however black-and-white digital cameras
10:06:27 -!- copumpkin has quit (Ping timeout: 265 seconds).
10:07:06 -!- copumpkin has joined.
10:11:17 -!- clog has joined.
10:16:51 -!- itidus21 has joined.
10:36:12 <fizzie> Sure, it'd still need some sort of interpolation. And it's possible the best kind would still do the R, G and B channel separately. I was just wondering.
10:36:44 <fizzie> dcraw has a no-interpolation mode for if you're actually photographing something black-and-white.
10:43:32 <Vorpal> fizzie, heh
11:18:21 <mroman> oops.
11:18:28 <mroman> my toNAND is a little bit bloaty :D
11:18:41 <Vorpal> mroman, toNAND? What does that do?
11:18:44 <mroman> toNAND on p => q
11:18:45 <mroman> gives
11:18:56 <mroman> !(!(!(!(!(p && p) && !(p && p)) && !(q && q)) && !(!(!(p && p) && !(p && p)) && !(q && q))) && !(!(!(!(p && p) && !(p && p)) && !(q && q)) && !(!(!(p && p) && !(p && p)) && !(q && q))))
11:19:03 -!- AnotherTest has left.
11:19:05 -!- AnotherTest has joined.
11:19:06 <Vorpal> oh, so not flashing to NAND-style flash?
11:19:10 <Vorpal> right
11:19:20 <Vorpal> also yeah that seems sub-optimal
11:19:21 <mroman> it transforms a term into just NAND-Terms.
11:19:40 <Vorpal> mroman, how does it do that?
11:20:12 <mroman> http://codepad.org/BfTFj88J <- that way.
11:20:27 <Vorpal> I remember doing that sort of thing by hand in some electronics course at university. Forgot what the diagrams were called. Used Gray coding for the numbering of the states along the sides I remember
11:21:05 <Vorpal> dammit, any idea what those are called?
11:21:20 <mroman> shanon?
11:21:27 <Vorpal> hm no
11:21:29 <Vorpal> something else
11:21:35 <mroman> de morgan?
11:21:46 <mroman> shanon is a generalization of de morgan.
11:21:48 <Vorpal> no... that is a law
11:21:52 <Vorpal> Karnaugh
11:21:53 <Vorpal> that's it
11:21:55 <mroman> ah
11:21:58 <mroman> Karnaugh diagrams.
11:22:01 <Vorpal> yep
11:22:02 <Vorpal> those
11:22:05 <mroman> yes... they can be used for simplifications.
11:22:25 <Vorpal> mroman, and to convert to specific forms (depending on if you circle the zeros or the ones)
11:22:37 <mroman> but something is wrong else.
11:22:40 <Vorpal> forgot which circling yielded what type of expression
11:22:40 <mroman> p || q gives me
11:22:49 <mroman> !(!(!(!(p && p) && !(q && q)) && !(!(p && p) && !(q && q))) && !(!(!(p && p) && !(q && q)) && !(!(p && p) && !(q && q))))
11:22:54 <mroman> which is too bloat for just an or.
11:23:14 <mroman> im guessing some toNAND $ are uneccessary
11:23:15 <Vorpal> mroman, btw I used Karnaugh diagrams at a later point once. When I was building an 7-segment display in minecraft, to figure out the mapping from BCD
11:23:16 <Vorpal> XD
11:23:29 <Vorpal> that is the only time I ever used Karnaugh diagrams outside that course
11:23:38 <mroman> toNAND (p :| q) = toNAND (ENot (ENot ((toNAND p) :| (toNAND q))))
11:23:43 <mroman> ^- that first toNAND is bloat.
11:23:55 <Vorpal> mroman, what is ENot?
11:23:58 <Vorpal> :t ENot
11:23:59 <lambdabot> Not in scope: data constructor `ENot'
11:28:27 <mroman> *Main> toHuman . toNAND $ EAny 'p' :=> EAny 'q'
11:28:28 <mroman> "!(!!(p && p) && !q)"
11:28:31 <mroman> perfect.
11:28:49 <mroman> *Main> shortest' . reduce $ toNAND $ EAny 'p' :=> EAny 'q'
11:28:50 <mroman> (8,"(p => q)",EAny 'p' :=> EAny 'q')
11:29:00 <mroman> Vorpal: It's not a predefined haskell thing.
11:29:03 <mroman> @ENot
11:29:03 <lambdabot> Unknown command, try @list
11:29:30 <mroman> ok not perfect.
11:29:33 <mroman> !q is not legal.
11:31:53 <mroman> !q would use a NOT-Gate instead of just NAND-Gates.
11:33:38 <mroman> p => q -> !(!(!(p && p) && !(p && p)) && !(q && q))
11:34:31 <mroman> Vorpal: https://github.com/FMNSSun/hs-experiments/blob/master/rewrite.hs#L419
11:41:56 <mroman> http://codepad.org/X5HSlpTR <- I use it for fun ;)
11:52:45 -!- boily has joined.
12:29:47 <mroman> a => (b => a) is to my surprise a tautology.
12:51:22 -!- ogrom has joined.
12:55:31 <fizzie> Well, if a, then obviously a no matter whether b.
13:05:49 -!- Slereah_ has quit (Ping timeout: 255 seconds).
13:06:00 -!- Slereah has joined.
13:40:41 -!- augur has quit (Remote host closed the connection).
13:52:23 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
14:09:41 -!- copumpkin has joined.
14:12:06 -!- DHeadshot has quit (Ping timeout: 264 seconds).
14:18:57 -!- augur has joined.
14:21:14 -!- augur has quit (Read error: Connection reset by peer).
14:21:33 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
14:21:36 -!- augur has joined.
14:22:10 -!- Phantom_Hoover has joined.
14:29:38 -!- DHeadshot has joined.
14:55:48 -!- augur has quit (Ping timeout: 248 seconds).
14:55:50 -!- augur_ has joined.
15:04:47 <Sgeo> "Notice also that this fallacy does not apply to situations where there are only two rival claims and one has already been falsified, then we may justly establish the truth of the other even if we cannot find evidence for or against it."
15:04:50 <Sgeo> http://philosophy.hku.hk/think/fallacy/fallacy-list.php
15:05:22 <Sgeo> Err....... I mean, I guess that's strictly speaking true, if there is in fact some situation in which there are literally only two options
15:05:45 <Sgeo> But there are fallacies where people wrongly think there are only two options
15:05:47 <Sgeo> :/
15:12:09 <shachaf> Sgeo: "either X or Y" is "evidence for X"
15:40:42 <Vorpal> Sgeo, that follows from the law of excluded middle in a logic which include that law
15:40:53 <Vorpal> unless I completely misunderstood what you meant
15:47:05 -!- asiekierka has quit (Remote host closed the connection).
15:58:06 -!- asiekierka has joined.
16:27:14 -!- Gregor has set topic: The Ünicode lookup channel | Individuals guilty of ruining this channel: itidus21 (ex officio), oerjan (ex cathedra), olsner (k ex), others (see /names) | http://codu.org/logs/_esoteric/.
17:00:48 -!- DHeadshot has quit (Read error: Connection reset by peer).
17:08:29 -!- calamari has joined.
17:57:07 -!- AnotherTest has quit (Quit: Leaving.).
18:01:03 -!- Taneb has joined.
18:01:06 <Taneb> Hello!
18:08:27 -!- zzo38 has joined.
18:13:01 -!- Slereah has quit (Remote host closed the connection).
18:13:28 -!- Slereah has joined.
18:14:12 -!- boily has quit (Ping timeout: 248 seconds).
18:19:16 <Vorpal> Taneb, hi
18:19:30 <Taneb> Is it right to say that, in Haskell, if you have f :: (), there are two possibilities for it, f = () and f = f?
18:19:50 <Vorpal> bbiab
18:19:57 <Taneb> define:bbiab
18:20:01 <Sgeo> be back in a bit
18:20:09 <Taneb> Thanks, Sgeo
18:20:13 <Sgeo> And I think f = _|_ is a clearer way of putting it
18:20:15 <Sgeo> You're welcome
18:20:23 <Taneb> That works too
18:20:45 <Taneb> I'd say there's two possibilities, but only one possible value. Is that right?
18:21:00 <Sgeo> Don't ask me about terminology
18:21:03 <zzo38> f = () is the only fully defined possibility, but f = f and f = undefined and f = error "42" are other possibilities
18:21:20 <zzo38> So I would also say there is only one possible value.
18:21:49 <Taneb> I'm trying to teach myself, for fun, without the use of any tutorial, how to write a compiler
18:21:59 <Taneb> With 0x10c's DCPU as the target platform.
18:22:05 <Taneb> I've picked a bad language to compile
18:22:36 <fizzie> You didn't mention the language. Or was it Haskell?
18:22:51 <Taneb> Yes, it's Haskell
18:23:16 <Taneb> I think I'm trying to do way too much in compile-time
18:23:23 <Taneb> brb, thirsty
18:23:41 <Sgeo> ...........I wonder if the thing that ais523 and I proved is provable with Coq
18:23:51 <olsner> Taneb: Trying to do too much in compile-time? No, you are not.
18:24:24 <olsner> *Trying to do too much in compile-time you are not.
18:24:44 <Taneb> Hmm
18:24:51 <zzo38> I think it is against the rules of Haskell for the compiler to assume f :: () implies f = () but it is OK for Ibtlfmm compiler (but not an interpreter) to assume that.
18:25:44 <Vorpal> <Taneb> Yes, it's Haskell <-- trying to compile haskell? you crazy?
18:25:49 <Taneb> Maybe if I created my own language (I've done it before, heh, otherwise I'd be ashamed to be on this channel), then create a Haskell to that language compiler, that would be easier
18:26:15 <fizzie> Maybe you could compile something simpler, that's what most people do, I'd say.
18:27:36 <Taneb> Perhaps MIBBLLII?
18:27:53 <Taneb> Am I mad?
18:28:15 <fizzie> You're dead-set to compile something lazy and as different from the resulting machine code that is physically possible?
18:28:35 <Taneb> MIBBLLII isn't necessarily lazy
18:28:41 <Taneb> But yes
18:28:53 <zzo38> Compile LLVM
18:29:06 <Taneb> I figure I mayswell dive in at the deep end and try not to drown
18:30:07 <fizzie> As opposed to walking from the shallow end towards the deep end and testing the whole drowning thing a little more safely. Well, sure.
18:30:31 <Taneb> Seeing as this, for now, is but a hobby.
18:31:05 <Taneb> For gods' sake, I'm writing a compiler for a platform that is from an unreleased video game!
18:31:29 <nortti> the one from minecraft's creator?
18:31:50 <Taneb> Yeah, that's the one
18:32:26 <Taneb> Wow, when I type "p" in chrome, the top result is the spec for the DCPU
18:32:38 <Taneb> Second is "prime factors of 421"
18:32:44 <Taneb> iirc, it's prime in of itself
18:32:55 <fizzie> Maybe it's personalized for you.
18:33:14 <fizzie> "P-magazine | Elke dinsdag het vuur aan de lont!" is my current top result.
18:33:20 <Taneb> I'd hate it to be personalised for someone else
18:34:15 <fizzie> "Uitgeverij P poëzie kunst geschiedenis creatief leuven" is #2.
18:34:42 <fizzie> I don't know what any of that means.
18:35:03 <Sgeo> Taneb, UPDATE
18:35:26 <olsner> something about a publisher of poetry, art, something and creative living
18:35:36 <olsner> (guessing)
18:35:55 <olsner> but I mean, dutch - how hard can it be?
18:38:18 <Sgeo> Taneb, was going to be an update on 11th or before
18:38:28 <Sgeo> Hiatus presumably back on, waiting for EoA6A3
18:38:42 <fizzie> I don't think 'leuven' is about living. Google Translate translates it as "slots", but in this case it's probably just the name of this city maybe.
18:38:44 <Taneb> brb again
18:38:56 <fizzie> Dutch so far has been rather easy to decode, that's true.
18:39:26 <Gregor> Dutch is just English with a funny accent.
18:39:43 <fizzie> There's quite a bit of German in there. Or is that just more English with a different accent?
18:40:07 <olsner> I think it's an english/german/scandinavian hybrid
18:40:28 <olsner> or maybe it's equally similar to every language in the world
18:40:53 <olsner> for some reason I think geschiedenis means separate
18:41:01 <fizzie> Pickpocket is "zakkenroller", a warning about them loops in some of the trains.
18:43:19 <Vorpal> heh
18:43:27 <Vorpal> nice word
18:43:49 <Vorpal> <olsner> for some reason I think geschiedenis means separate <-- does it though?
18:44:08 <itidus21> A kobold has zakkenrolled a potion from you.
18:44:10 <olsner> Vorpal: one guess and suddenly I'm the authority on dutch?
18:44:27 <Vorpal> olsner, sure
18:44:46 <Sgeo> Taneb, I didn't even notice the additional pages
18:44:47 <olsner> ok then, it does mean that and I know because I'm the dutchmaster
18:45:53 <Vorpal> I knew it
18:46:06 <Taneb> Back
18:47:09 -!- boily has joined.
18:48:46 <Vorpal> hm heat exchangers installed for heating the house during winter are suboptimal when used to cool. The first floor is now frigid and the upper floor is still as hot as before. Oh well
18:51:13 <Vorpal> also, why am I not super-tired, I only managed to sleep like 2.5 hours during the night (I hate loud seagulls), and I was up all day yesterday, and today.
18:52:10 -!- Frooxius|TabletP has quit (Ping timeout: 244 seconds).
18:52:42 <Taneb> Sgeo... that update...
18:53:08 -!- Frooxius|TabletP has joined.
18:53:29 <Sgeo> First I don't notice the ==>
18:53:36 <Sgeo> Then, page 7150 breaks my browser
18:53:49 <Vorpal> Sgeo, update to what?
18:53:56 <Sgeo> Vorpal, Homestuck
18:54:01 <Vorpal> ah
18:57:14 <Taneb> 7150, if I had an iPhone, I'd want that as my wallpaper
19:00:45 <Phantom_Hoover> 7138 is taking so long to load
19:02:34 <Taneb> I must have got in before everybody else noticed
19:02:37 <Taneb> Thanks, Sgeo
19:02:41 <nortti> what are you talking about?
19:02:53 <Taneb> Homestuck
19:03:16 <Taneb> One of the most esoteric web media projects out there (it's not a webcomic anymore.)
19:04:08 <Phantom_Hoover> OK that entrance sequence still wasn't as good as the 2nd through 4th but it was close.
19:05:12 <Vorpal> Taneb, what is it then?
19:05:21 <Vorpal> Taneb, I haven't been keeping up with it
19:05:22 <Phantom_Hoover> It's a web media project, duh.
19:05:23 <Taneb> A web multimedia project
19:05:39 <Vorpal> well, it used to have the occasional flash every now and then before too?
19:05:55 <Taneb> It encompasses webcomics, music, short video games, pseudo-interactive fiction, and others
19:06:24 <Phantom_Hoover> oh my god red dwarf references!!!
19:07:56 -!- Slereah has quit (Ping timeout: 245 seconds).
19:08:19 <Vorpal> wow, what the hell is up with mediafire today, this 91 MB download has been running for 3 hours, with another hour estimated to go
19:08:20 <olsner> red dwarf references!? where !?
19:08:32 <Vorpal> Phantom_Hoover, what is red dwarf?
19:08:39 <Phantom_Hoover> Vorpal, fuck off
19:08:43 <olsner> Vorpal: what are you downloading from mediafire?
19:08:43 <Vorpal> what?
19:08:43 <Phantom_Hoover> olsner, homestuck
19:09:12 <Vorpal> olsner, a zip file
19:09:35 <Taneb> Vorpal, Red Dwarf was a sci-fi TV series.
19:09:38 <Taneb> Also a kind of star
19:09:42 <olsner> Vorpal: is it amateur porn you got linked from 4chan or something?
19:09:46 <Vorpal> Taneb, I know the latter meaning
19:09:52 <Vorpal> olsner, no it is a boring android related thingy
19:10:03 <olsner> Vorpal: boring
19:10:23 <Phantom_Hoover> amateur android porn?
19:10:30 <Vorpal> sounds awesome
19:11:43 <Phantom_Hoover> (the androids are not paid to be androids, ofc)
19:12:10 <Phantom_Hoover> also ok this is now my joint third favourite entrance sequence
19:14:11 <Taneb> Tell me when it reaches first
19:15:38 <Phantom_Hoover> sorry
19:15:56 <Phantom_Hoover> it cannot beat rose's or jade's
19:16:19 <Phantom_Hoover> especially not rose's because it represents my single favourite point in homestuck
19:16:41 <Taneb> By which I mean it's my favourite
19:16:54 <Phantom_Hoover> sorry you are wrong
19:16:55 <Taneb> I'm not here to enforce my opinions.
19:17:09 <Taneb> I also almost wrote "here" twice in that sentence
19:17:11 <Phantom_Hoover> obviously, they're so wrong
19:30:04 -!- oerjan has joined.
19:34:00 -!- ogrom has quit (Quit: Left).
19:36:06 <zzo38> Whatever document I have written in TeX, you should be able to compile them on any computer having TeX even in future and even in past, since it is the same TeX everywhere.
19:37:24 -!- Vorpal has quit (Ping timeout: 276 seconds).
19:37:25 <oerjan> TeX: the original programming language. that xkcd about the universe being written in perl and lisp was just propaganda.
19:38:12 <zzo38> But it might not necessarily work if you use one of the programs other than "tex" (such as "pdftex", "latex", etc).
19:42:15 <zzo38> Now the X and Y types I have written about yesterday, I have called Decompose and Recompose.
19:43:39 <zzo38> I have made those and other things available in "for-free" package.
19:47:32 <soundnfury> oerjan: ah, but TeX was written in WEB, and Don Knuth himself is actually written in XSLT (yeah, I was shocked too)
19:48:08 <oerjan> makes sense.
19:49:02 <Taneb> What's XSLT written in? (dun dun DUN)
19:49:10 <soundnfury> Unicorns.
19:49:33 <oerjan> 11:23:38: <mroman> toNAND (p :| q) = toNAND (ENot (ENot ((toNAND p) :| (toNAND q))))
19:49:36 <oerjan> 11:23:43: <mroman> ^- that first toNAND is bloat.
19:50:13 <oerjan> try with toNAND (p :| q) = toNAND (ENot (ENot p :& Enot q))
19:50:38 -!- ais523 has joined.
19:50:48 <Taneb> :t fix
19:50:49 <lambdabot> forall a. (a -> a) -> a
19:51:02 <oerjan> mroman: ^
19:51:13 <Taneb> What?
19:51:19 <Taneb> I was just thinking aloud
19:51:30 <oerjan> ...i wasn't talking to you
19:51:50 <Taneb> I misparsed your caret
19:51:57 <Taneb> :t fix (\r a -> if a == 0 then 1 else r (a - 1))
19:51:58 <lambdabot> forall a t. (Num a, Num t) => a -> t
19:52:09 <Taneb> > fix (\r a -> if a == 0 then 1 else r (a - 1)) 10
19:52:11 <lambdabot> 1
19:52:19 <Taneb> > fix (\r a -> if a == 0 then 1 else a * r (a - 1)) 10
19:52:20 <lambdabot> 3628800
19:52:45 <Taneb> @pl fix (\r a -> if a == 0 then 1 else a * r (a - 1))
19:52:45 <lambdabot> fix (ap (flip if' 1 . (0 ==)) . ap (*) . (. subtract 1))
19:52:53 <Taneb> Stupid ugly code
19:53:06 <Taneb> But pointless recursive factorial!
19:53:15 <olsner> some combination of fix and zip`ap`tail should work
19:53:26 <Taneb> :t zip `ap` tail
19:53:27 <lambdabot> forall b. [b] -> [(b, b)]
19:53:40 <soundnfury> Taneb: Now write a recursive factorial in Eniuq
19:53:46 <olsner> :t zipWith (*) `ap` tail
19:53:46 <Taneb> > zip `ap` tail $ [1,2,3]
19:53:48 <lambdabot> [(1,2),(2,3)]
19:53:48 <lambdabot> forall a. (Num a) => [a] -> [a]
19:54:04 <Taneb> soundnfury, I know not what Eniuq is
19:54:10 <soundnfury> (Disclaimer: May not be possible. Management accepts no liability for loss of sanity. Brains parked at owners' risk.)
19:54:15 <Taneb> ...it's quine backwards, that's what it is
19:54:16 <soundnfury> http://esolangs.org/wiki/Eniuq
19:54:35 <soundnfury> It's my latest esolang, is what it is
19:54:49 <soundnfury> unfortunately I'm not crazy enough to be able to write programs in it
19:55:02 <Taneb> I'm crazy
19:55:05 <Taneb> I'll give it a go
19:55:18 <soundnfury> it took me three hours to write unary.en
19:55:31 <soundnfury> which looks like this: ?1-"I~1-~84*3+f!1+4*5d3**+84*3+Dk84*3+"48*2+D48*2+O`Oo
19:56:32 <olsner> > fix$(<$>)<$>(:)<*>((<$>((:[{-odd-}])<$>))(=<<)<$>(+)<$>(+)1)$1
19:56:33 <lambdabot> [1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47,49,51,5...
19:57:11 <soundnfury> Gesundheit!
19:57:54 <zzo38> Do you like the format of the ITMCK manual so far?
19:58:27 <olsner> (that right there is probably the most useful haskell program I've ever written)
19:59:15 <Taneb> olsner, have you seen my interactive factorial program?
19:59:26 <Taneb> It's the most controversial Haskell program on Uncyclopedia
19:59:32 <oerjan> <Taneb> I'd say there's two possibilities, but only one possible value. Is that right? <-- that is not the standard haskell view, although i recall someone starting a flame war defending your interpretation
20:00:08 <zzo38> oerjan: Well, I agree, there is two possibilities but only one possible value.
20:00:26 <Taneb> Two possibilities in a practical sense, one value in a theoretical sense
20:00:27 <zzo38> Actually there are more than two possibilities.
20:00:55 <Taneb> Ignoring any output to stderr
20:00:59 <olsner> Taneb: I think I have not, where is it?
20:01:06 <oerjan> Taneb: no, there are >= 2 values in the theoretical sense. haskell uses denotational semantics.
20:01:14 <Taneb> olsner, uncyclopedia.wikia.com/wiki/Talk:Haskell
20:01:21 <zzo38> Since you might have error "42" or error "I AM ERROR" or unsafePerformIO (putStrLn "Hello, World!") or a bunch of other possible stuff.
20:02:00 <olsner> " the Zygohistomorphic Prepromorphism section is outdated and wrong. The real code is ..." :D
20:02:02 <zzo38> But the only proper value would be f = ()
20:02:33 <olsner> Taneb: oh, the one with all the <*> and unsafeCoerces?
20:02:37 <Taneb> Yeah
20:02:45 <Taneb> It works, but takes ages for bigger numbers
20:02:50 * oerjan shouldn't be shocked about zzo38 not accepting the standard view of haskell.
20:02:52 <zzo38> It seem to me that it is like the SK combinators
20:02:55 <Taneb> Where bigger means more than about 8 or 9
20:03:05 <Taneb> zzo38, that is EXACTLY how it works
20:03:43 <Taneb> I initially wrote it in SKI, then translated and fixed compily errors
20:04:43 <Taneb> Hey, Christopher Eccleston is on
20:04:48 <zzo38> Yes that is what it looks like to me.
20:05:37 <Taneb> Three pures, one (<*>), and the only print each have an explicit type signature
20:06:46 <Taneb> This is because the unsafeCoerces confues GHC, and presumably every other Haskell compiler
20:07:18 <Taneb> I think a couple of unsafeCoerces can be replaced by id
20:07:36 <olsner> you probably have a few unnecessary parens there, have you tried minimizing them?
20:08:03 <Taneb> That was an earlier version, I'm not sure where the final one has got to
20:08:27 <Taneb> And yes, I did
20:10:50 -!- Nisstyre has quit (Ping timeout: 246 seconds).
20:16:15 <soundnfury> zzo38: ITMCK?
20:17:59 -!- augur_ has quit (Remote host closed the connection).
20:18:07 <mroman> oerjan: That wont work.
20:18:15 <mroman> p might be an expression containing another or ;)
20:18:20 <mroman> but I already fixed it.
20:18:26 <zzo38> soundnfury: http://repo.or.cz/w/ITMCK.git https://devlabs.linuxassist.net/projects/itmck are two webpages with information.
20:18:32 <mroman> I also added support for xor
20:18:38 <mroman> and noImplication, noEqu, noXor
20:18:45 <zzo38> But I can send the files directly too if you want specific files.
20:18:50 <mroman> so that (((a == b) ^^ c) => d) (^^ is xor)
20:18:52 <mroman> translates to
20:19:00 <mroman> (!((!!((!a && b) || (a && !b)) && c) || (!((!a && b) || (a && !b)) && !c)) || d)
20:19:04 <Taneb> Isn't noEqu Xor?
20:19:14 <mroman> noEqu uses xor, yes.
20:19:16 <mroman> well
20:19:20 <mroman> xnor to be specific.
20:19:38 <zzo38> In Haskell you can use /= for boolean XOR.
20:19:57 <mroman> but it directly translates to what noXor would.
20:20:01 <Taneb> XOR is 0110; XNOR is 1001. XNOR is what I'd call Equ using your convention
20:20:03 <mroman> *Main> toHuman . noEqu $ EAny 'a' := EAny 'b'
20:20:04 <mroman> "!((!a && b) || (a && !b))"
20:20:23 <soundnfury> Gah! how come gedit doesn't have a syntax highlighting option for TeX (only LaTeX) yet it has highlighters for shit like "Literate Haskell"?
20:20:33 <mroman> Still the biggest issue is toNAND :(
20:20:34 <ion> Finished Deus Ex.
20:20:42 <mroman> *Main> toHuman . toNAND . noEqu $ EAny 'a' := EAny 'b'
20:20:43 <mroman> "(!(!(!(!(a && a) && b) && !(!(a && a) && b)) && !(!(!(a && a) && b) && !(!(a && a) && b))) && !(!(!(a && !(b && b)) && !(a && !(b && b))) && !(!(a && !(b && b)) && !(a && !(b && b)))))"
20:20:50 <mroman> It just looks way too bloat :D
20:21:01 <Taneb> ion, I read that is Finnish Deus Ex, as the reason to soundnfury's moan
20:21:08 <zzo38> soundnfury: I don't know. But it is possible for the syntax in a TeX file to change part way through due to category codes, so it may not work extremely well
20:22:00 <mroman> *Main> shortest' . reduce . toNAND . noEqu $ EAny 'a' := EAny 'b'
20:22:01 <mroman> (8,"(a == b)",EAny 'a' := EAny 'b')
20:22:14 <mroman> ^- but it's cleary a valid and equivalent only-nand logic expression :)
20:22:32 <zzo38> For things such as literate Haskell, you just need to find the line with > at front and highlight everything else on that line as a Haskell code, and then highlight the rest using a different syntax highlighter (which could be the plain text highligher).
20:22:52 <zzo38> However literate Haskell codes can also have \begin{code} \end{code} so you would highlight those too.
20:23:00 <soundnfury> yeah but my question is, what kind of pervert uses Literate Haskell?
20:23:09 <Taneb> zzo38, it's plaintext dyed blue, iirc. Haddock docs are green, maybe?
20:23:11 <oerjan> < mroman> p might be an expression containing another or ;) <-- i don't see the problem.
20:23:19 <soundnfury> ;P
20:23:20 <zzo38> soundnfury: I sometimes use it.
20:23:20 <mroman> well
20:23:22 <Taneb> soundnfury, about half the haskell users in this channel
20:23:32 <Taneb> It's useful for blogging etc
20:23:33 <mroman> oerjan: An or is not a NAND.
20:23:38 * soundnfury does not like haskell, had you guessed?
20:23:53 <zzo38> If you don't like Haskell that is OK you do not have to use it.
20:23:53 <Taneb> Get out. (jk)
20:23:56 <mroman> The idea is, to translate a logic expression to NAND so that
20:24:08 <mroman> you can build it as a digital circuit only using NAND Gates.
20:24:09 <Taneb> (I'm still not here to force my opinions on people)
20:24:21 <soundnfury> zzo38: yeah, but I have to read it all the time in this channel ;P
20:24:29 <soundnfury> tell you what
20:24:29 <mroman> that means: No or, no not... only NAND.
20:24:39 <Taneb> I think that was what made me learn it, soundnfury
20:24:46 <soundnfury> next time someone posts a Haskell code snippet, I'll post some Z80 m/c
20:24:47 <mroman> !a is !(a && a) for example.
20:24:50 <Taneb> That and I sucked at Python
20:24:58 <mroman> because !a is not NAND-only.
20:25:05 <zzo38> OK post some Z80 m/c if you have something to write about it
20:25:25 <zzo38> soundnfury: Do you like ITMCK? Do you like TeX? Do you like LLVM?
20:25:48 <oerjan> <mroman> oerjan: An or is not a NAND. <-- you noted that my expression says to reapply toNand to everything, right?
20:26:30 <mroman> toNAND (p :| q) = toNAND (ENot (ENot p :& Enot q)) does not apply toNAND to p or q
20:26:38 <mroman> *nor
20:26:39 -!- Taneb has set topic: The nicode lookup channel | Individuals guilty of ruining this channel: itidus21 (ex officio), oerjan (ex cathedra), olsner (k ex), ion (deus ex), others (see /names) | http://codu.org/logs/_esoteric/.
20:26:39 <soundnfury> zzo38: Dunno about ITMCK, I prefer beeper audio demos though chiptune is nice too. SIDs suck though.
20:27:04 <soundnfury> I certainly do like TeX, although I'd write a program manual in either XHTML or (better) troff -man
20:27:09 <zzo38> Do you like PPMCK?
20:27:15 <mroman> also
20:27:20 <soundnfury> I had never heard of PPMCK before today
20:27:26 <soundnfury> I know almost nothing about LLVM
20:27:46 <zzo38> PPMCK is a program to create .NSF musics
20:27:48 <mroman> p || q -> !(!p :& !q) is not NAND only.
20:28:08 <soundnfury> NSF := "Not So Fast!"
20:28:14 <mroman> Currently I'm using toNAND (p :| q) = (ENot $ toNAND (ENot ((toNAND p) :| (toNAND q))))
20:28:26 <oerjan> mroman: yes it does, it should become ENot (toNAND (ENot p) :& toNAND (ENot q)) in the next step
20:28:28 <soundnfury> ncurses! foiled again!
20:28:33 <zzo38> .NSF musics is musics for NES/Famicom.
20:28:34 <mroman> hm.
20:28:37 <mroman> I'll try that.
20:28:53 * soundnfury is more in the Spectrum scene
20:29:04 <soundnfury> never learned much about the Famicom
20:29:12 <soundnfury> except for the "Famichord"
20:30:10 <nortti> soundnfury: about you spectrum lisp implementation. why wouldn't (lambda (args) (foo)) work instead of (lambda arg (foo))?
20:30:46 <soundnfury> oh, um, because that would be hard
20:31:11 <soundnfury> but you could go ((lambda arg (foo)) (args...))
20:31:18 <soundnfury> ie. you can pass a list as the argument
20:31:32 <soundnfury> but then (foo) has to extract the individual arguments from that
20:31:55 <mroman> oerjan: Still pretty bloat :)
20:32:33 <mroman> http://codepad.org/LeaJjhFp <- output of that.
20:32:33 <oerjan> mroman: well there are limits, iirc xor and equ are bloated when expressed in nand
20:32:43 <zzo38> soundnfury: Have you written any music?
20:33:10 <mroman> oerjan: It's also bloat because I only allow binary :&
20:33:23 <mroman> in real life you have nand gates with more than just two inputs.
20:33:45 <oerjan> yeah
20:35:13 <mroman> and now it's broken :(
20:35:47 <oerjan> mroman: um are you sure you gave the right paste?
20:36:52 <oerjan> toNAND (p :| q) = toNAND $ (ENot $ toNAND (ENot p :| q)) is definitely wrong
20:37:24 <mroman> how so?
20:37:48 <oerjan> the last ENot only affects the p
20:37:55 <mroman> ah yeah.
20:38:44 <mroman> your suggestion is
20:38:47 <mroman> toNAND (p :| q) = (ENot $ toNAND (ENot p :| ENot q))
20:39:03 <mroman> what if toNAND returns something in the form of ENot (...)?
20:39:04 <oerjan> no.
20:39:09 <mroman> then you got ENot $ ENot $
20:39:13 <mroman> whis is not NAND-only.
20:39:16 <mroman> *which
20:39:32 <oerjan> my suggestion is toNAND (p :| q) = Enot $ toNAND (Enot p) :& toNAND (Enot q)
20:39:47 <oerjan> *ENot
20:40:22 <mroman> hm yeah
20:40:30 <mroman> :| is wrong anyway :D
20:41:09 <oerjan> it's just about applying deMorgan's law in the right places, really
20:41:44 <mroman> Yes.
20:42:43 <soundnfury> zzo38: you mean chiptune, or in general?
20:42:48 <mroman> It still gets bloated way out of proportion :)
20:43:09 <mroman> but that's most certainly due to the binary and.
20:43:11 <mroman> as just a simple
20:43:14 <mroman> (!(a && b) && c)
20:43:25 <mroman> gets bloated too !(!(!(a && b) && c) && !(!(a && b) && c))
20:43:46 <mroman> Now If you add a && d
20:43:48 <mroman> you get
20:43:56 <mroman> !(!(!(!(!(a && b) && c) && !(!(a && b) && c)) && d) && !(!(!(!(a && b) && c) && !(!(a && b) && c)) && d))
20:44:01 <zzo38> soundnfury: In general (but including chiptune too)
20:44:14 <soundnfury> in general, there's a page on my site
20:44:30 <mroman> But that's good enough for now.
20:44:31 <soundnfury> http://jttlov.no-ip.org/music.htm
20:44:43 <mroman> As long as it guarantees that the term only contains NAND, it does its job :)
20:45:07 <soundnfury> chiptune-wise, I tried writing some AY music with SoundTracker about 5 years ago, but most of it was shoite :)
20:46:42 <zzo38> What is AY music and SoundTracker?
20:46:58 <oerjan> if you allow non-binary NAND, then ENot becomes just a single-argument NAND
20:47:36 <soundnfury> zzo38: AY == General Instruments AY-3-8912
20:47:49 <soundnfury> the sound chip in the 128k ZX Spectrum
20:48:08 <soundnfury> SoundTracker was a piece of Speccy software for writing AY tunes
20:48:18 <soundnfury> which you can probably find on World of Spectrum
20:49:37 <mroman> oerjan: That would require too much code change
20:49:47 <mroman> because then EBool :& EBool is no longer usable.
20:50:09 <mroman> but toNAND was actually not my intended goal.
20:50:15 <mroman> it was just a side experiment.
20:50:21 <mroman> so I'm going to leave it there.
20:50:26 <oerjan> ok
20:51:47 -!- Frooxius|TabletP has quit (Ping timeout: 246 seconds).
20:52:40 -!- azaq23 has joined.
20:52:48 -!- Frooxius|TabletP has joined.
20:52:52 -!- azaq23 has quit (Max SendQ exceeded).
20:53:45 -!- azaq23 has joined.
20:56:40 <Taneb> Goodnight, guys
20:56:41 -!- Taneb has quit (Quit: Leaving).
20:57:06 <mroman> I probably should remove rules changing stuff to implication or xor :)
20:57:42 <mroman> p xor q is smaller than (!p && q) || (p && !q) but it pretty much
20:57:47 <mroman> ruins other rules after that :D
21:02:09 <nortti> ok. now that I am making new version of my old lis.py I remember why I kinda dislike programming functionaly in python
21:02:33 -!- stanley has quit (Ping timeout: 255 seconds).
21:02:55 -!- boily has quit (Quit: WeeChat 0.3.8).
21:06:45 <nortti> the reasons it the fucking ternary if. whose idea was to make it have syntax (if_true if condition else if_false)
21:08:05 -!- stanley has joined.
21:15:06 <soundnfury> yeah, they should have used a nice sensible condition?yes:no like C
21:15:24 <soundnfury> or "don't do unless not or die()", like perl :P
21:15:58 <nortti> how does that work?
21:16:02 <soundnfury> dunno
21:16:06 <soundnfury> it's perl
21:16:28 <soundnfury> which does in fact have an "unless" statement
21:16:52 <mroman> nortti: a if b else c is pretty cool.
21:16:55 <soundnfury> and generally lets you put conditions before, after, or in compromising acts with statements
21:17:40 <nortti> mroman: a, b and c refer to what in that expression
21:18:41 <nortti> or maybe forth like condition if if_true then / condition if if_true else if_false then
21:18:54 <mroman> well
21:19:00 <mroman> its a IF b else c
21:19:07 <mroman> thats pretty like an english sentence
21:19:22 <soundnfury> mroman: trying to be like english just gets you COBOL
21:19:27 <mroman> "Go home" if "it rains" else "stay here"
21:19:31 <mroman> soundnfury: Good point.
21:19:35 <mroman> I tried to learn COBOL
21:19:37 <mroman> but I failed.
21:19:50 <nortti> good
21:19:51 <mroman> It's just a damn fucking stupid language.
21:19:53 <soundnfury> to learn COBOL is to fail
21:20:08 <mroman> I mean srsly
21:20:14 <mroman> It was supposed to be easy.
21:20:22 <mroman> but it's the total opposite of it.
21:20:26 <mroman> It's worse than SQL
21:20:26 <nortti> mroman: it is just bit irritating when nesting if expressions
21:20:30 <soundnfury> http://www.coboloncogs.org/
21:20:52 <mroman> hell it's worse than brainfuck.
21:27:53 <mroman> I actually can't find the real words to describe how much it sucks.
21:28:16 <mroman> I tried 7 minutes now. But it's not possible.
21:29:16 <mroman> s/real/right
21:30:58 <Phantom_Hoover> is Sgeo trying to learn cobol again
21:31:08 <Sgeo> No, actually
21:31:14 <Phantom_Hoover> oh
21:31:15 <Phantom_Hoover> who#
21:31:33 <Sgeo> Although I've looked at Tcl, and I know that's not really well liked. Although it's not bad like COBOL
21:32:03 <pikhq_> Tcl is actually fairly enjoyable, if decidedly odd.
21:32:13 <nortti> why id tcl not liked well?
21:32:18 <pikhq_> nortti: Because it's odd.
21:32:38 <nortti> ok
21:32:51 <nortti> is lisp well liked?
21:32:55 <nortti> or forth?
21:33:04 <mroman> forth no
21:33:08 <mroman> lisp yes. if it runs on jvm.
21:33:25 <mroman> allthough it's not called lisp anymore ;)
21:33:28 <mroman> -l
21:33:43 -!- asiekierka has quit (Remote host closed the connection).
21:33:56 <nortti> clojure?
21:34:05 <nortti> what about scheme?
21:34:23 <soundnfury> the word "clojure" always looks faintly visceral and pornographic to me
21:34:51 <mroman> Do I have to look up visceral in a dictionary?
21:34:55 <mroman> Or is it not worth it?
21:35:03 <Phantom_Hoover> it's like guts and stuff
21:35:54 <oerjan> @help dict
21:35:54 <lambdabot> I perform dictionary lookups via the following 13 commands:
21:35:54 <lambdabot> all-dicts ... Query all databases on dict.org
21:35:54 <lambdabot> devils ...... The Devil's Dictionary
21:35:54 <lambdabot> easton ...... Easton's 1897 Bible Dictionary
21:35:54 <lambdabot> elements .... Elements database
21:35:56 <lambdabot> [9 @more lines]
21:35:57 <mroman> intestines.
21:36:01 <oerjan> @dict visceral
21:36:01 <lambdabot> Supported dictionary-lookup commands:
21:36:02 <lambdabot> all-dicts devils easton elements foldoc gazetteer hitchcock jargon lojban vera web1913 wn world02
21:36:02 <lambdabot> Use "dict-help [cmd...]" for more.
21:36:07 <oerjan> oops
21:36:16 <oerjan> @wn visceral
21:36:17 <lambdabot> *** "visceral" wn "WordNet (r) 3.0 (2006)"
21:36:17 <lambdabot> visceral
21:36:17 <lambdabot> adj 1: relating to or affecting the viscera; "visceral
21:36:17 <lambdabot> bleeding"; "a splanchnic nerve" [syn: {visceral},
21:36:17 <lambdabot> {splanchnic}]
21:36:19 <lambdabot> 2: obtained through intuition rather than from reasoning or
21:36:21 <lambdabot> observation [syn: {intuitive}, {nonrational}, {visceral}]
21:36:41 <mroman> @wn viscera
21:36:41 <lambdabot> *** "viscera" wn "WordNet (r) 3.0 (2006)"
21:36:42 <lambdabot> viscera
21:36:42 <lambdabot> n 1: internal organs collectively (especially those in the
21:36:42 <lambdabot> abdominal cavity); "`viscera' is the plural form of
21:36:42 <lambdabot> `viscus'" [syn: {viscera}, {entrails}, {innards}]
21:36:45 <mroman> That's more interesting ;)
21:37:28 <nortti> @devil BSD
21:37:29 <lambdabot> Error: 550 invalid database, use SHOW DB for list
21:38:13 <nortti> @all-dicts BSD
21:38:13 <lambdabot> *** "bsd" vera "V.E.R.A. -- Virtual Entity of Relevant Acronyms (June 2006)"
21:38:13 <lambdabot> BSD
21:38:13 <lambdabot> Berkeley System / Software Distribution (manufacturer, Unix, OS)
21:38:13 <lambdabot>
21:38:13 <lambdabot> *** "bsd" vera "V.E.R.A. -- Virtual Entity of Relevant Acronyms (June 2006)"
21:38:15 <lambdabot> [46 @more lines]
21:38:59 <oerjan> @jargon BSD
21:39:00 <lambdabot> *** "bsd" jargon "The Jargon File (version 4.4.7, 29 Dec 2003)"
21:39:00 <lambdabot> BSD
21:39:00 <lambdabot> /B?S?D/, n.
21:39:00 <lambdabot>
21:39:00 <lambdabot> [abbreviation for ?Berkeley Software Distribution?] a family of {Unix}
21:39:02 <lambdabot> [10 @more lines]
21:43:12 <soundnfury> @devils BSD
21:43:13 <lambdabot> Error: 550 invalid database, use SHOW DB for list
21:43:57 -!- stanley has quit (Ping timeout: 255 seconds).
21:44:01 <soundnfury> blah
21:47:16 -!- Nisstyre has joined.
21:51:08 -!- stanley has joined.
21:53:32 -!- nortti_ has joined.
21:56:06 -!- pikhq has joined.
21:56:07 -!- pikhq_ has quit (Ping timeout: 240 seconds).
22:23:24 -!- nortti_ has quit (Quit: AndroIRC - Android IRC Client ( http://www.androirc.com )).
22:28:42 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
22:35:08 <zzo38> Channel = (channelvariable-1) & 63 ; Channel is 0 based.
22:35:22 <zzo38> Why does it work like that?
22:36:52 <Lumpio-> Like what?
22:39:07 <oerjan> there are probably some dried grapes involved, madly laughing
22:41:51 <oerjan> :t mapMaybe
22:41:53 <lambdabot> forall a b. (a -> Maybe b) -> [a] -> [b]
22:45:01 <oerjan> :t find
22:45:05 <lambdabot> forall a. (a -> Bool) -> [a] -> Maybe a
22:46:11 <Lumpio-> :t map
22:46:13 <lambdabot> forall a b. (a -> b) -> [a] -> [b]
22:46:44 -!- copumpkin has joined.
22:50:48 <oerjan> > 26^5
22:50:50 <lambdabot> 11881376
23:06:10 <zzo38> Compose (Decompose g f) g = f
23:08:35 <zzo38> It works!
23:18:06 <quintopia> lolol
23:18:11 <quintopia> $ rsync -azvX My\ Music/ quint@
23:18:14 <quintopia> sending incremental file list
23:18:16 <quintopia> ./
23:18:19 <quintopia> 02 Hornpipe.mp3
23:18:21 <quintopia> Write failed: Broken pipe
23:18:34 <quintopia> how to fix a broken hornpipe?
23:36:09 -!- pikhq_ has joined.
23:36:22 -!- pikhq has quit (Ping timeout: 250 seconds).
23:49:19 <Phantom_Hoover> quintopia, horn?
23:51:18 <quintopia> ;)
23:57:46 <Sgeo> Is it reasonable to want to make a non-eggdrop bot in Tcl?
←2012-07-08 2012-07-09 2012-07-10→ ↑2012 ↑all