**** BEGIN LOGGING AT Thu Jan 21 02:59:59 2016 Jan 21 03:18:54 hi guys i am wondering why i cant install gcc 4.9 and im guessing its due to the expired signatures Jan 21 03:25:40 mistawright: are you talking on debian? Jan 21 03:25:58 what happens when you apt-get gcc? Jan 21 03:25:59 yates, yeah'. Jan 21 03:26:39 W: GPG error: http://debian.beagleboard.org wheezy-bbb Release: The following signatures were invalid: KEYEXPIRED 1418840246 KEYEXPIRED 1418840304 KEYEXPIRED 1418840246 KEYEXPIRED 1418840246 KEYEXPIRED 1418840304 Jan 21 03:27:07 gcc (Debian 4.6.3-14) 4.6.3 Jan 21 03:28:42 did you try sudo apt-key adv --recv-keys --keyserver keys.gnupg.net BE1DB1F1 Jan 21 03:28:58 or see here: http://serverfault.com/questions/7145/what-should-i-do-when-i-got-the-keyexpired-error-message-after-an-apt-get-update/718435#718435 Jan 21 03:29:32 userland is so ripe with subterfuge :/ Jan 21 03:29:53 mistawright: is your time set right? Jan 21 03:29:59 ds2: angstrom-head. Jan 21 03:30:12 Hmmm? Jan 21 03:30:47 oh, i thought you were commenting about this gcc thing Jan 21 03:30:58 oh no :D Jan 21 03:31:19 remapping root in userland Jan 21 03:32:48 amazed at the completeness of the delusion Jan 21 04:36:19 what is a "GP device" discussed in section 26.1.7 of the am335x trm? Jan 21 04:38:24 do they mean a GPMC device? Jan 21 04:53:36 yates: almost certainly Jan 21 04:54:07 am3358 has such an excellent datasheet except for weird inconsistent naming schemas like this Jan 21 05:21:57 it would be nice to have an abbreviations section Jan 21 05:23:01 in the boot image setup here: https://eewiki.net/display/linuxonarm/BeagleBone+Black#BeagleBoneBlack-SetupmicroSDcard Jan 21 05:23:26 why is the u-boot.img placed at 384k? Jan 21 05:23:33 let me be more specific.. Jan 21 05:23:51 MLO has a minimal loader that loads u-boot.img, right? Jan 21 05:24:10 is the location of u-boot.img hard-coded into this version of the MLO? Jan 21 05:26:04 zmatt: ? Jan 21 05:27:58 u-boot itself is way too big to fit in any hardware boot space and itself needs to be loaded, yes Jan 21 05:29:29 yes, but how does MLO know WHERE u-boot.img is located? Jan 21 05:30:40 it is hard coded Jan 21 05:30:59 ah. thanks ds2 Jan 21 05:31:08 MLO is really just a stripped down u-boot Jan 21 05:31:22 in UB2, it is built from Uboot Jan 21 05:31:42 this is like one of those russian matrishka dolls Jan 21 05:32:04 why can't we just specify a nice large space for bootloader images Jan 21 05:32:32 its not like we boot in 16bit real mode like i386/amd64 Jan 21 05:38:53 so this version of MLO would never utilize the fat method of booting? just raw mmc header mode? Jan 21 05:39:11 (whether from sdcard or internal emmc?) Jan 21 05:40:23 maybe i shoudl read more u-boot docs... Jan 21 06:02:02 nice big? Jan 21 06:02:07 what do you mean? Jan 21 06:02:36 the limits on MLO/SPL is a HW one Jan 21 06:02:44 the HW doesn't know what, if any RAM you have attached Jan 21 06:02:55 so all it can do is load it into the memory it knows about - the SRAM Jan 21 06:18:03 ds2: aha, okay Jan 21 06:18:05 that makes sense Jan 21 06:18:17 damn, so, you really need to cut it down then Jan 21 06:18:35 not even big intel chips have more than a smidge of L1/L2/L3 cache Jan 21 06:25:52 MLO's job is to do basic HW init so the next step can load, i.e. configure the EMIF (DRAM controller) and any essential pinmuxes(i.e. gpios that enable essential power to read the main u-boot) Jan 21 06:28:38 so it goes power on -> MLO -> (HW init you mentioned) -> uboot? -> OS 2nd stage bootloader -> kernel -> userspace? Jan 21 06:28:58 for the parts visible to you, yes Jan 21 06:29:06 oh god Jan 21 06:29:12 there's even more going on under the hood? Jan 21 06:29:24 strictly speaking - power on -> ROM -> MLO -> HW Init -> Uboot -> Kernel -> Userspace -> App Jan 21 06:29:25 Hello everyone! I am trying to learn the PRU. I'm using BBB revC with Linux 3.8.13-bone 79 (Debian 7.8 Wheezy). I want to flash built-in LEDs (USR0-USR3) for start. But i have a problem: how to enable PRUSS-support? I apologize for such silly question. Jan 21 06:29:31 the first thing that runs is the internal ROM Jan 21 06:29:34 well, i guess if they don't let us see or touch that it works well enough to rely on Jan 21 06:29:42 it determines where it pull the MLO Jan 21 06:29:53 snowstaff: impeccable timing Jan 21 06:29:58 the user button is an input to the ROM to tell it to look for things elsewhere so you can recover Jan 21 06:30:01 i'm working with the PRU now Jan 21 06:30:26 that's probally a UIO kernel Jan 21 06:30:26 ah, ok Jan 21 06:30:41 i thought it was like a "load from SD or eMMC" button Jan 21 06:30:47 UIO kernels are pretty easy - grab the sample repo and try it out Jan 21 06:30:47 snowstaff: did you load the kernel modules? Jan 21 06:30:58 PRU is easy Jan 21 06:31:06 not wasting the PRU is hard :D Jan 21 06:31:32 snowstaff: via `echo BB-BONE-PRU-01 > /sys/devices/bone_capemgr.9/slots` Jan 21 06:31:42 i love this little harvard thing Jan 21 06:32:09 i really wish i was taught assembly on this and not MIPS with all the delay slot crap and pipelining Jan 21 06:34:44 diff applicaton Jan 21 06:34:52 ? Jan 21 06:34:54 kremlin, i did this step ( about "echo BB-.....). Is necessary be repeated every time? Jan 21 06:34:55 if you look at the Cortex-R, it is more like the PRU Jan 21 06:35:13 MIPS I believe is more like a Cortex-M/Cortex-A for non realtime computing Jan 21 06:35:15 snowstaff: yes, but you can add it to /etc/rc.local and it will run every time the OS boots Jan 21 06:35:30 i meant just basic assembly Jan 21 06:35:33 not computer architecture Jan 21 06:35:53 finally... inches away from being able to launch Linux/Java/.NET apps from a normal Android desktop Jan 21 06:35:55 you are talking about harvard vs von neumann architecture Jan 21 06:35:57 kremlin, hmm..ok, thx. One moment. Jan 21 06:35:59 yes assembly Jan 21 06:36:13 PRU - Programmable Realtime Unit Jan 21 06:36:19 pipelines really screw up timing Jan 21 06:36:32 yeah, branch prediction being heuristic and all Jan 21 06:36:41 caches do to Jan 21 06:36:48 MIPS wasn't designed for realtime so it has pipelines, etc Jan 21 06:36:52 yep. caches bad Jan 21 06:36:54 even without pipelining the PRU does exactly 1 instr/cycle Jan 21 06:36:57 crazy! i love it Jan 21 06:37:27 well, all the instrs. that aren't load/stores Jan 21 06:37:52 just wish there were more PRUSS blocks on the 335x Jan 21 06:38:16 would be happy to trade a McASP for another PRUSS Jan 21 06:39:22 having even two is very nice Jan 21 06:39:49 i am glad they had the sense to give them their own "EGPIO" pins or whatever Jan 21 06:39:51 2? there is only 1 Jan 21 06:39:56 so you really can get everything you can out of the 200MHz Jan 21 06:40:03 on the am3358 there are two PRU cores Jan 21 06:40:17 that share a data space Jan 21 06:40:25 I didn't say PRU, I said PRUSS :D Jan 21 06:40:29 aha! Jan 21 06:40:31 need more memory Jan 21 06:40:32 what is the difference? Jan 21 06:40:47 PRUSS is the entire block; PRU are the execution units Jan 21 06:41:55 ah, ok Jan 21 06:41:59 so CPU : cores Jan 21 06:42:04 yes Jan 21 06:42:05 (sort of) Jan 21 06:42:13 PRUSS includes the PRU, memory, MAC, etc Jan 21 06:42:15 you want MORE of them? Jan 21 06:42:21 yep Jan 21 06:42:26 i'd be happy with just one at like, i dunno, maybe 500MHz Jan 21 06:42:28 used up my 2 already :D Jan 21 06:50:52 kremlin, also i must use "modprobe uio_pruss" every time, when i want to run any code for the PRU? Jan 21 06:54:07 snowstaff: no, the echo command i sent earlier will do that for you Jan 21 06:54:27 you can verify that it does by running `lsmod` (lists the modules loaded) Jan 21 06:54:40 $ lsmod Jan 21 06:54:43 Module Size Used by Jan 21 06:54:45 uio_pruss 4066 0 Jan 21 06:54:59 uio_pruss is the PRU module Jan 21 06:56:13 k, i will check it now Jan 21 06:59:35 kremlin, yeah, it work!) Jan 21 06:59:41 cool Jan 21 06:59:52 now, have you installed the assembler/PRU libraries? Jan 21 07:00:16 actually, i just wrote up a checklist for doing all of this i can send you Jan 21 07:00:17 one second Jan 21 07:01:05 Only those who were "am335x_pru_package" Jan 21 07:01:20 that is it Jan 21 07:01:53 so you copied files to /usr/lib/, /usr/include/pruss? Jan 21 07:02:58 and also build the assembler (file name 'pasm') and put it in /usr/bin? Jan 21 07:03:57 Yes, and i tested the code "PRU_memAccessPRUDataRam". It work fine. I'll check again. Jan 21 07:08:54 Yes, i have all it. Jan 21 07:12:08 And the pasm runs successfully Jan 21 07:14:20 excellent Jan 21 07:14:38 snowstaff: in the future you can look at this: http://kremlin.cc/pru-setup.txt Jan 21 07:15:05 now you just need to write an assembly program that runs on the chip (assembled with pasm) Jan 21 07:15:16 and the a C program that loads it onto the PRU and tells it to start executing Jan 21 07:16:54 i can send you an example i wrote that does this Jan 21 07:17:02 if you'd like Jan 21 07:17:55 kremlin, it's great. Now, something becomes clear. Really thanks. Jan 21 07:18:12 Yes, it would be useful Jan 21 07:18:15 snowstaff: no problem, happy to help Jan 21 07:24:35 snowstaff: hmm, my files are not working right. they are based off these, however: http://mythopoeic.org/source-download/pru-helloworld.tar.gz Jan 21 07:24:51 in that archive, there is a C source file and an assembly source file Jan 21 07:25:17 compile the C program, assemble the PRU program, and then run the C program as root Jan 21 07:25:31 it should sit for 5 seconds and then exit with a success message Jan 21 07:25:53 the author puts in a lot of comments that describe what every line of C/asm is doing, too Jan 21 07:30:45 kremlin, thanks a lot. One question: where you take additional information and you use "eclipce" or something like this? Jan 21 07:32:13 snowstaff: im sorry, can you rephrase that? Jan 21 07:32:16 i dont know what you mean Jan 21 07:32:32 oh you mean, like, a fancy program to write code in? Jan 21 07:32:48 yes Jan 21 07:33:15 oh, i don't know, the instruction set is not a common one & won't be recongized by most programs Jan 21 07:33:21 i just use vim Jan 21 07:33:46 anyways, i'm going to bed, good night & good luck! Jan 21 07:33:46 hm, i understand Jan 21 07:34:01 Good night ) Jan 21 08:32:45 cheerio! Jan 21 08:34:22 Problem: BB black, new debian, kernel 4.1.12 Debian Image 2015-11-12 : something keeps overwriting my edits to /etnetwork/interfaces. Jan 21 08:34:32 any hints? Jan 21 08:43:07 Hi Everybody! Jan 21 08:43:22 Who can help to know the price for BeagleBone Black? Jan 21 08:46:27 fang4_, difference price for each region Jan 21 08:47:02 ef: network manager? connman? don't know what's in use on that image, but usually you should edit network parameters using the program that manages connections, if present. or disable it at all if you want to stick manually with interfaces(5) Jan 21 08:47:26 Fang4_: find a local distributor Jan 21 08:50:56 samael: no monitor attached, i work via serial console. connman is the culprit wrecking /etc/resolv.conf. guess i should apt-get remove a lot of that sh*t. i need to have the thing working immediately on reboot. Jan 21 08:53:57 OT, but maybe some electronics hacker can help with bright ideas: i'd like to build a sim card extender myself (e.g. http://www.bplus.com.tw/jpg/B1637B_V1.1_2.jpg ). finding a sim slot is easy, and in place of a flexible dupont cable i guess i can use a chunk of ethernet cable (or the like). the problem comes with the other end: i need to solder the cable to something shaped as (and as thin as) a sim card, but have no idea on how/what to use. any hin Jan 21 08:56:28 ef: doesn't matter if you have graphical gui or not. check if the image comes with some of that network management daemons, and stick with it (or just disable/remove it). also, check for comments in interfaces(5), usually such programs leave some hints there if they edit it Jan 21 09:11:20 samael: Jan 21 09:13:49 samael: apt-get remove connman did the trick. It has to be said though, this sucks. unfortunately, no hint in interfaces. only rc.conf. wiping connman proper wiped that too, but. Jan 21 09:14:54 i know, it's frustrating sometimes, but now you know the trick. :) Jan 21 09:15:00 tnx for the hint, there's a lot of such nuisances that combine to make linux unworkable for the unwashed at the moment. Jan 21 09:16:07 ah, i meant resolv.conf gets wiped. Jan 21 09:17:02 let's say using linux via console on an embedded device requires a good amount of efforts at first :) Jan 21 09:18:03 yeah, personally i *hate* whoever edit resolv.conf, except dhcpd. i always wipe them as i want to be in control Jan 21 09:21:55 samael: aye.let's not forget about editing /etc.gai.conf should you opt to run ipv6. things get hairy with religious v6 preference and non-resolving package servers.... Jan 21 10:20:04 cheers,tnx! Jan 21 13:57:38 Any tricks out there for making a file appear bigger? g_mass_storage is complaining about one of the files I'm trying to serve up being too small. The file is a sysfs binattr, so I can't easily make it bigger. Jan 21 13:58:25 Today's amazing unit, 1/1000th pulse per litre. According to documentation. . Jan 21 15:11:43 To anyone interested here is a kernel driver I wrote for hd44780 compatible LCD screens. It exports both memory blobs as sysfs binattrs, and exposes all of the command functions. The README needs work, but everything is tested and works well for me. https://github.com/abferm/hd44780-kernel Jan 21 15:12:27 abferm++ good work Jan 21 15:12:47 does it work via parallel - 4/8bit and/or i2c ? Jan 21 15:13:27 abferm: I got a couple of semi-compatible displays .. but they need a subtle tweak to their 'init' sequence .. hope thats somethign you can override? Jan 21 15:42:33 kremlin: no, a GP device does not reference the GPMC peripheral, it means a mass-market "General Purpose" SoC as opposed to a restricted High Security one which requires signed binaries Jan 21 16:35:09 zmatt: oops Jan 21 17:55:40 Hello, I am looking for advice regarding the PRUSS on kernel 4.1-ti. Is anyone using the remoteproc stuff yet? Jan 21 17:56:33 Zot: like http://processors.wiki.ti.com/index.php/PRU_Training:_Hands-on_Labs ? Jan 21 17:57:59 This is one of the zillion pages I am looking at yes. Is it worth it? I have never done any PRU stuff before and all my references point to the "old" uio_pruss model. Jan 21 17:59:03 yeah lots keeps changing Jan 21 17:59:25 someone here has probably done pru with newer kernels .. Jan 21 17:59:43 but at least the TI article ref's the SDK .. which they themselves have managed to update to 4.1 .. so .. you stand a good chance Jan 21 18:01:20 I guess I'm just lazy and want to learn this stuff only once and not have to migrate to remoteprc later on. Jan 21 18:02:56 ah you usually end up going round the block once .. like it or not .. its all interesting stuff .. Jan 21 18:02:57 lol Jan 21 18:03:35 Sometimes there's just too much interesting stuff, and so little time! Jan 21 18:04:17 yip yip Jan 21 18:31:44 veremit: I don't have any way to over-ride the init function, what is different about your displays' sequence? Is it timing related, or something else? I use 4/8-bit on gpio. My testing has only been with 3.3v screens from here -> http://www.newhavendisplay.com/lcd-character-c-2.html Jan 21 18:32:15 abferm: had some issues with the arduino library .. think the command sequence is subtley different . Jan 21 18:34:07 veremit: ah, I had some timing issues with one of the libraries I was trying to use. Jan 21 18:34:17 but you sorted it for this one? Jan 21 18:34:24 yeah Jan 21 18:35:02 Also I have read mode capability, which help when you are trying to figure out if you got initialized correctly. Jan 21 18:35:34 I'll have to give it a roll :) Jan 21 18:35:54 I bought some i2c converters cos the one I have that's active is on half a bus of a Arduino mega lol Jan 21 18:35:56 No backlight or power control at the moment. Jan 21 18:36:07 naa, that's ok . smd resistor on the pins XD Jan 21 18:37:49 veremit: let me know how things come out. I'd love input for improvement. Jan 21 18:38:13 wll so Jan 21 20:24:41 Hello Jan 21 20:29:57 http://www.catb.org/esr/faqs/smart-questions.html Jan 21 21:38:21 Someone with experience in mcasp device tree config for audio? Jan 21 21:40:08 PF: yes. my experience resulted in a strong urge to inflict violence onto whomever was responsible for ASoC and I'm currently working on using McASP directly from userspace (bypassing ALSA altogether) Jan 21 21:40:14 :P Jan 21 21:42:51 I'm having a problem... if i need 4 channes on each serializer... should i use tdm-slots=<4>? Cause i use that but arecord does not let me record more than 4 channels even though i configured 2 serializers as input Jan 21 21:43:06 Ah Jan 21 21:43:30 Jeje.. so you dont use alsa Jan 21 21:44:09 congrats on getting any stream working at all, I never managed got get that far Jan 21 21:45:12 thanks... anyway although it says it records and play... i get no sound yet Jan 21 21:46:47 I always got an unspecified "parse error" on attempting to reference the second serializer though <&mcasp0 1> which I presumed to be the syntax to do so (since no other way is apparent) Jan 21 21:47:52 and do you now if i must somehow specify the serializer i want to use to record? Jan 21 21:48:10 i never had that parse error Jan 21 21:54:20 to be honest, since the docs were wrong and the source code nearly inpenetrable I kinda ended up just trying random things until I ran out of patience Jan 21 21:57:51 yes... im in the same road Jan 21 21:58:08 but i really need it for university Jan 21 21:58:25 you have my sympathy Jan 21 22:27:39 PF as far as i understand from the datasheet you every serializer hase its own pin, the chip on the beagle bone has 4 pins (AXR0 - AXR1) connected to the serializers, so you configure num-serializer=<4> (nothing to do with TDM channels) then you configure serial-dir=< 2 0 1 0> (AXR0 is RX, AXR2 is TX), and then you should set tdm-slots=<4>, not you should be able to receive 4 channels on AXR0 and transmit 4 channels on AXR2 Jan 21 22:27:47 thats the devicetree side Jan 21 22:29:02 also make sure that in sound/soc/davinci/davinci-mcasp.c channels_max is set to 4 in the snd_soc_dai_driver struct, it seems on older kernels it was set to 2 Jan 21 22:29:47 also make sure all the codec/platform drivers used also specify channels_max to 4 so alsa will accept it Jan 21 22:30:10 i've personally never done anything with tdm and more than two channels, but that would be my approach Jan 21 22:30:39 *small correction the pins on the BBB chip are AXR0 - AXR3 Jan 21 22:34:25 filt3r: except he wants multiple serializers configured for input Jan 21 22:34:51 that probably should work as well Jan 21 22:35:04 he can configure multiple serializers as input Jan 21 22:35:12 but i dont know how alsa would handle this tho Jan 21 22:38:10 of course McASP can handle it just fine, ALSA is what's being a headache Jan 21 22:39:26 having to pull a codec out of my ass just to get the port working is annoying too (I used the dit/dir codecs which seemed sufficiently generic to hopefully work, never got anything to work myself though) Jan 21 22:39:36 crap, gotto run for train Jan 21 22:39:47 bbl Jan 21 22:45:07 so it seems in the current mcasp version that it reports (number of serializers for the direction * tdm_slots) see sound/soc/davinci/davinci-mcasp line 1250 Jan 21 22:50:24 zmatt: ye, the thing about the codec is really annoying, there should by a generic codec which just accepts everything, because some times you don't need any drivers for the codec, but ye in the current project at the company we are using the spdif dir codec as well :) Jan 21 23:46:36 Anyone know how to force half duplex on a beaglebone black? Jan 21 23:46:49 mii-tool and ethtool are useless Jan 21 23:47:32 I'm running debian image Jan 21 23:58:14 I got disconnected... Jan 21 23:58:19 where were we? Jan 22 00:04:36 PF: http://pastebin.com/DEAznuS1 Jan 22 00:15:22 zmatt: actually after some investigating there seems to be a dummy codec defined in the kernel http://lxr.free-electrons.com/source/sound/soc/soc-utils.c#L104 Jan 22 00:22:47 filt3r: I guess documenting it or putting it in sound/soc/codecs where one can easily find it was too much effort... Jan 22 00:24:34 the comment above it is right though, but I want to be able to specify those via DT... these codecs which do nothing more than declare some datastructures are starting to suspiciously look like small versions of board files :P Jan 22 00:25:14 actually, in our case the constraints could also change at runtime... Jan 22 00:26:17 DT blows. enuff said. Jan 22 00:27:03 ds2: well a board file would be worse... at least I can change DT at runtime with overlays (if the kernel doesn't panic), not so much with board files Jan 22 00:27:27 board files are infinitely more flexible Jan 22 00:27:53 you can have board files check various inputs at runtime Jan 22 00:28:10 DT just adds unneeded complications and rigidity Jan 22 00:28:25 it is a lot like the whole disaster with the pinmux Jan 22 00:28:57 actually thaths what we have in the company, we have written a platform driver to link a codec with the mcasp using the devicetree, im kinda surprised there is nothing upstream yet for this kind of thing Jan 22 00:33:06 or maybe there is something: http://lxr.free-electrons.com/source/Documentation/devicetree/bindings/sound/simple-card.txt Jan 22 00:33:21 filt3r: I tried using simple-audio-card but never got it to work Jan 22 00:33:34 I might be doing something wrong, but with the crappy docs it's hard to say Jan 22 00:34:35 hmm i think i should give this a try on the weekend Jan 22 00:34:44 just out of curiosity Jan 22 00:34:51 especially I still I assumed I had to reference the serializer somehow (since I had a separate dir and dit instance and it seemed to be I'd need to link them to the correct serializer) Jan 22 00:34:59 *to me Jan 22 00:35:21 maybe using dummy would work Jan 22 00:35:24 the whole ASoC subsystem is already convoluted Jan 22 00:35:32 ASoC is insanely convoluted Jan 22 00:35:43 I just want to enable the fucking McASP, GIMME MY STREAMS Jan 22 00:36:47 "good luck" Jan 22 00:36:55 maybe I'll give it another try too, though I think I'd prefer to get the userland implementation working anyway since it gives extra flexibility and less overhead without any downside Jan 22 00:37:12 faught that very battle on x86 last month Jan 22 00:39:16 zmatt: what are you using the McASP for? Jan 22 00:39:54 audio :P Jan 22 00:40:19 specifically audio connectivity to a DSP Jan 22 00:40:32 so you need the quality Jan 22 00:40:43 24-bit yes Jan 22 00:48:01 time to make tea! Jan 22 00:49:20 zmatt: good plan! Jan 22 00:53:47 tea is good... which reminds me ... tea for me Jan 22 00:58:00 * zmatt clearly has excellent ideas Jan 22 00:59:50 hm, and McASP isn't actually I²S compatible in slave mode Jan 22 01:01:21 naughty McASP :P Jan 22 01:03:56 why? Jan 22 01:06:00 I²S requires that the slave accepts any slot size (without preconfiguration) and simply zero-pads or truncates as necessary for its word size Jan 22 01:06:50 McASP requires a preconfigured slot size and uses only one of the two lrck edges Jan 22 01:08:19 ok, makes sense Jan 22 01:08:45 also McASP specifies much tighter clock timings than I²S permits Jan 22 02:03:42 spareribs hath arrived \o/ Jan 22 02:12:00 zmatt trumps the tea stakes Jan 22 02:12:09 leftover pizza here (reheated) Jan 22 02:12:27 veremit: I'm sure your reheated leftover pizza is fine too Jan 22 02:12:36 ty ^^ Jan 22 02:12:58 hope so - getting quite good at the reheating bit lol Jan 22 02:13:09 ooh, these spareribs are lookin' good and copious Jan 22 02:13:56 lol shhh Jan 22 02:15:01 the baked chips survived the delivery quite well also Jan 22 02:15:19 O:) Jan 22 02:17:34 s/chips/potato slices/ (not a huge difference really other than form-factor) **** ENDING LOGGING AT Fri Jan 22 02:59:58 2016