| [01:27] | <crweb> | sourcerror: give him +2-3 hours to wak up from now |
| [01:29] | <sourcerror> | thanks |
| [01:30] | <sourcerror> | I saw his name on some source and was wondering. you probably know though ;) |
| [01:31] | <sourcerror> | I was looking at the kick dog stuff and I know what a watchdog is supposed to do but I can't see how the code in osdmain (actually from cooler) does anything useful |
| [01:31] | <sourcerror> | do you happen to know? |
| [01:31] | <crweb> | i believe it has been disabled |
| [01:32] | <crweb> | do you know what softdog is? |
| [01:32] | <sourcerror> | who looks at softdog? I couldn't find that |
| [01:32] | <crweb> | well, softdog is software bindings to watchdog for linux |
| [01:32] | <sourcerror> | ah, so the linux side is not enabled, right? |
| [01:32] | <crweb> | anyway, it used to be that if osdmain crashed, the osd would boot |
| [01:33] | <crweb> | but it has been turned off cause it was a nightmare |
| [01:33] | <crweb> | you couldn't kill osdmain to gain terminal access |
| [01:33] | <sourcerror> | ok that explains it. yea otherwise I wouldn't be able to stop osdmain at will like I do. |
| [01:33] | <sourcerror> | right. |
| [01:33] | <crweb> | thats actually a pretty new feature |
| [01:33] | <sourcerror> | s/./?/ |
| [01:34] | <crweb> | if you ctrl-c on the serial terminal before 0.34, the osd would reboot in 15 seconds |
| [01:34] | <sourcerror> | heh. yea that's before my time then. |
| [01:35] | <crweb> | many of us cust and spit at that problem |
| [01:35] | <crweb> | because we'd forget to apply the no-watchdog patch |
| [01:35] | <crweb> | and have to start over |
| [01:35] | <crweb> | cursed |
| [01:36] | <crweb> | for non-chicagoians |
| [01:36] | <sourcerror> | ah. well I was thinking about it anyway, as it was it seesm like OSD main could have still been hosed and the thread that was writing to softdog would continue to write. |
| [01:36] | <crweb> | theres only one thread of osdmain |
| [01:36] | <crweb> | if osdmain main() ended thats a definite crash |
| [01:36] | <sourcerror> | except in the watchdog code which spawned a thread for hte purpose of writing to softdog (that's how they have it now) |
| [01:37] | <sourcerror> | ok. so nothing fancy, just detect osdmain crash. |
| [01:38] | <crweb> | i believe so |
| [01:38] | <crweb> | they just wanted to make sure the gui was always on |
| [01:38] | <sourcerror> | yea, I got it now. |
| [01:38] | <crweb> | no plugging/unplugging to reset |
| [01:41] | <sourcerror> | I was writing some code this afternoon and ended up experimenting with some i18n code that might be more managable than what is currently in ncooler. |
| [01:43] | <sourcerror> | I was looking at what was there and realizing how painful it appears to add to the i18n list, so I'm trying a cleaner way I think |
| [01:44] | <crweb> | awesome |
| [01:45] | <sourcerror> | the current method is to lookup by an enumeration ID... |
| [01:46] | <sourcerror> | I'm allowing lookup by a string name which is fine for most usages, and as a fallback for performance I'm working in a way to do lookups once and then lookup by that ID if needed. |
| [01:47] | <sourcerror> | the problem I'm trying to solve is that it is painful to keep these enumerations because if you have multiple parts in OSDmain or other apps you have to have a unique enum ID. this eliminates worrying about that. |
| [01:50] | <crweb> | i'd love to talk |
| [01:50] | <crweb> | but i've been dancing and stuff all night and I'm about to pass out |
| [01:50] | <crweb> | salsa is tiring |
| [01:50] | <sourcerror> | hey no problem. I'm just talking |
| [01:51] | <sourcerror> | salsa is tasty too! |
| [02:42] | <nerochiaro> | sourcerror: sorry, what was the problem with these i18n enums ? |
| [02:42] | <sourcerror> | hey nerochiaro! |
| [02:43] | <sourcerror> | I have an idea for simplifying the i18n. I'm experimenting with a way to eliminate the global enum |
| [02:43] | <sourcerror> | does that sound good :) |
| [02:43] | <nerochiaro> | what's the problem with that enum ? |
| [02:44] | <sourcerror> | it is klunky and error prone to add more items to the list. or remove items. |
| [02:44] | <sourcerror> | that is the basic problem. |
| [02:46] | <sourcerror> | I'm leading up to a proposal to change how new components are added to osdmain, and the current i18n causes trouble because of this global enum |
| [02:48] | <sourcerror> | . |
| [02:49] | <nerochiaro> | you mean PHRASE_STRING_ID right ? |
| [02:49] | <sourcerror> | yea and there are currently multiple groups which I don't think is necessary (phrase, ? , ?) sorry the names not in front of me. |
| [02:52] | <sourcerror> | there is code in ncooler to load i18n plug-ins. I would preserve that idea. But I don't see that it is actually being used at the moment in the current osdmain. |
| [02:53] | <sourcerror> | do you know much about that? I did want to ask someone whether I truely understand how i18n plug-ins were intended to work. |
| [02:53] | <nerochiaro> | neither the enum, nor the three string groups seem the problem to me. what i don't think is good design is simply the fact that the strings are just hardcoded into the program. it is not any better than if they were hardcoded in the places where they are used. the important thing to do is to make these strings external, so people can work on translations even if they can't do C |
| [02:54] | <nerochiaro> | now, about the i18n plugin |
| [02:54] | <nerochiaro> | i don't know about it |
| [02:54] | <nerochiaro> | except in older builds |
| [02:54] | <nerochiaro> | it was "broken" and had to be manually excluded from the build since it would crash osdmain |
| [02:54] | <nerochiaro> | i guess it was stashed in a corner and forgotten |
| [02:55] | <sourcerror> | yea that's what it looked like. |
| [02:57] | <nerochiaro> | actually, it looks like another case of the NIH syndrome (also know as "reinventing the wheel" syndrome) |
| [02:57] | <nerochiaro> | what's wrong with GNU gettext ? |
| [02:57] | <sourcerror> | i was planning to make it load from files as you were talking about. just simple lines "key=the string" |
| [02:58] | <sourcerror> | where is gettext? |
| [02:58] | <nerochiaro> | www.gnu.org |
| [03:00] | <nerochiaro> | lot of software already use it |
| [03:01] | <sourcerror> | I'm looking at it now. not sure why it appears so complex. |
| [03:04] | <nerochiaro> | try this maybe: oriya.sarovar.org |
| [03:05] | <nerochiaro> | you basically say printf(gettext("string_id")) instead of saying printf("hsdahdjas"); |
| [03:05] | <nerochiaro> | so you have string based ids instead of enumerated |
| [03:05] | <nerochiaro> | like you wanted to do |
| [03:05] | <daurnimator> | hi nero |
| [03:05] | <nerochiaro> | hey |
| [03:07] | <sourcerror> | nerochiaro: yea that's what I'm doing string based ID. |
| [03:07] | <nerochiaro> | sourcerror: i can see why they used int based ids though |
| [03:08] | <nerochiaro> | less string lookups |
| [03:08] | <nerochiaro> | more efficient |
| [03:08] | <sourcerror> | I have a way to fix that too though ;) |
| [03:09] | <sourcerror> | In looking at that URL a lot of the tool is about taking existing sources and converting them and how to help that process. |
| [03:10] | <nerochiaro> | the first url or the last ? |
| [03:10] | <sourcerror> | the first. |
| [03:11] | <nerochiaro> | because the part to actually lookup strings and use them is actually as simple as a call to gettext(stringid) |
| [03:11] | <sourcerror> | yep. |
| [03:12] | <sourcerror> | I don't know that I care for their "catalogs" |
| [03:15] | <sourcerror> | nevermind. I found the file format it is simple, even if we don't use a tool to generate we can use that. |
| [03:17] | <nerochiaro> | the POT files you can also write by hand if you like. in our case since we use int ids, we need to somehow first put back string ids and then move these into the PO files |
| [03:17] | <nerochiaro> | er, POT |
| [03:22] | <sourcerror> | yea. I think we should follow a hierarchical naming convention or at least a prefix so something like: settings.network.type.static "Static" |
| [03:22] | <sourcerror> | simple things would have short prefixes: media.play "Play" |
| [03:27] | <nerochiaro> | hmm, wait. gettext doesn't work that way. basically the string id is the string itself in english. when there's no translation, the string itself is taken directly. when there's a translation, the translation is taken |
| [03:27] | <nerochiaro> | and yes, i think it's not very efficent too |
| [03:29] | <sourcerror> | oh, really. you don't create short msgid's. I believe, but I just didn't read that. |
| [03:29] | <nerochiaro> | you could do that if you want |
| [03:30] | <nerochiaro> | then provide a translation file for english, i think |
| [03:30] | <sourcerror> | yea, in the end it is just text to lookup. |
| [03:30] | <nerochiaro> | aye |
| [03:32] | <sourcerror> | one thing that I did see in the doc but didn't see how it is used is the lines like: msgid "some text around <%s> some other text" |
| [03:32] | <sourcerror> | it seems like a good idea to take care of that, but the current i18n in cooler doesn't seem to deal with it. |
| [03:33] | <nerochiaro> | they are left as they are in the string id |
| [03:33] | <nerochiaro> | i have to run |
| [03:33] | <sourcerror> | bye. |
| [03:33] | <nerochiaro> | i'm off to do some hiking and eat some good food |
| [03:33] | <nerochiaro> | bye |
| [03:50] | <anders_> | Where is "FormShow" defined? |
| [03:51] | <sourcerror> | anders_: Neuros-Cooler/include/widgets.h defined as WidgetsShow |
| [03:52] | <sourcerror> | s/WidgetsShow/WidgetShow/ |
| [03:52] | <anders_> | Thanks A LOT! |
| [03:53] | <sourcerror> | anders_: do you deal with i18n in XMMS2? |
| [04:04] | <anders_> | sourcerror: By pretending that it isn't needed in the server, and letting the clients do it in their own way :) |
| [04:04] | <sourcerror> | good plan. |
| [07:34] | <sgomes> | hi all |
| [08:06] | <suma> | hi yes |
| [09:07] | <JoeyBorn> | greetings! |
| [09:14] | <anders_> | Hi |
| [09:21] | <suma> | Happy Lunar Year to all in China ! |
| [10:13] | <JoeyBorn> | suma, I guess hellwolf didn't appreciate your wellwishing :) |
| [17:55] | <Improv> | Hey all |
| [18:00] | <JoeBorn> | hi Pat |
| [18:01] | <Improv> | Joe: Working on testing the videos right now :) |
| [18:02] | <Improv> | wiki.neurostechnology.com |
| [18:07] | <Improv> | It looks like patterns are beginning to emerge in what codecs the OSD can play well and what it has more trouble with |
| [18:28] | <gotan> | csn i send a firmware update via the Neuros serial connection? |
| [18:31] | <sourcerror> | gotan: I don't think that is possible. you can boot over ethernet or upgrade from a media card plugged into the OSD |
| [18:32] | <sourcerror> | (though booting over ethernet needs some special configuration on a "host" system) |
| [18:32] | <gotan> | it seems possible according to the uboot loader help |
| [18:32] | <gotan> | which btw i cannot find any info on in te wiki |
| [18:33] | <gotan> | loadb - load binary file over serial line (kermit mode) |
| [18:33] | <gotan> | loads - load S-Record file over serial line |
| [18:33] | <sourcerror> | gotan: well I didn't think it was possible, but you could be right then. I've never seen document on it. |
| [18:33] | <gotan> | from the bootloader |
| [18:36] | <sourcerror> | did you have a need for it or just to try it? |
| [18:36] | <sourcerror> | s/just to/just want to/ |
| [18:39] | <JoeBorn> | Improv, great chart, thanks. |
| [18:39] | <gotan> | need and try. i'm trying to upgrade my firmware from something awful that came with it that has problems readinf fat and connecting to my network. gama unit. |
| [18:41] | <JoeBorn> | Improv, you might want to isolate things by playing over NFS shares. |
| [18:41] | <Improv> | Joe: Isolate? |
| [18:41] | <JoeBorn> | AFAIK, that is the most efficient way to play the files, and will isolate codec issues from bandwidth issues. |
| [18:42] | <Improv> | JoeBorn: Ahh, as compared to things on a USB disk..? |
| [18:42] | <JoeBorn> | well, for example, there was an example of an 8mbps MPEG2 file that played ok off NFS, but right, USB was too slow to keep up |
| [18:42] | <JoeBorn> | and it's apparantly not just a bottleneck type issue, but one of overhead |
| [18:42] | <Improv> | JoeBorn: Weird. Does the OSD only do USB1? |
| [18:42] | <Improv> | Oh |
| [18:42] | <JoeBorn> | yeah, it's USB 1.1 |
| [18:43] | <Improv> | Hmm. That seems unfortunate. |
| [18:43] | <Improv> | I guess USB2 controller hardware might be more expensive? |
| [18:43] | <JoeBorn> | and it's not just, well it's capable of 7mbps and anything less than that would be fine |
| [18:44] | <Improv> | JoeBorn: Is the remote control very ... reliable for you? |
| [18:44] | <JoeBorn> | well, yeah, USB 1.1 host was built into the DM320 and the thinking was that it'd be fine for streaming any reasonable content. |
| [18:44] | <JoeBorn> | reliable as in responsive or reliable as in works? |
| [18:44] | <Improv> | I'm sitting about 7 feet away, and I usually have to press any given button a few times before it pays atttention |
| [18:45] | <JoeBorn> | I don't think the remote is that great, although it has seemed to have varied with the microcontroller updates. |
| [18:46] | <JoeBorn> | lately I haven't honestly tested it because with my setup, I'm sitting right next to the OSD |
| [18:46] | <Improv> | I'll set up NFS as soon as the null-modem and USB-Serial adapter show up from NewEgg |
| [18:46] | <JoeBorn> | now it works well enough for me to do text entry just fine with the unit. |
| [18:46] | <JoeBorn> | how much was the USB serial adapter? |
| [18:46] | <Improv> | Let me check |
| [18:46] | <Improv> | The null modem adapter was surprisingly cheap |
| [18:47] | <Improv> | The USB serial adapter was $11, the null modem $3.50, shipping $7.50 |
| [18:48] | <JoeBorn> | oh, that's pretty good. |
| [18:49] | <gotan> | is it ok to upload the upk file via loadb? |
| [18:50] | <Improv> | Newegg is a decent place to get computer stuff from |
| [18:50] | <gotan> | form the uboot menu? |
| [18:50] | <gotan> | or am gonna brick it? |
| [18:51] | <gotan> | what uboot docs i can google seemto say its safe enough.. but not sure how the image is constructed. |
| [18:52] | <JoeBorn> | sorry, gotan I'm not familiar with loadb |
| [18:53] | <JoeBorn> | why not just xi click on the upk and update the firmware the normal way? |
| [18:53] | <Improv> | It's a pity there's no easy way to give it more CPU/a better USB controller once it's in customer hands, but I guess that's life.. |
| [18:53] | <JoeBorn> | I've never heard of anyone updating the firmware with a upk from uboot |
| [18:53] | <JoeBorn> | well, you can overclock the CPU by 35% :) |
| [18:54] | <JoeBorn> | that's what I'm doing anyway :) |
| [18:54] | <gotan> | broken broken broken. Its an original gamma unit that i am starting to play with. cannot read any of my fat formated mms/sd and doesnt seem to respond well to network trafick |
| [18:54] | <JoeBorn> | can you do an emergency update? |
| [18:54] | <JoeBorn> | you know where you put the upk in the newpackage folder?. |
| [18:54] | <gotan> | nope. cannot read the file, says my fat filesystem is broken. |
| [18:55] | <gotan> | on a fresh formatted fom windows boxen tried FAT & FAT32 on mms and SD |
| [18:56] | <gotan> | serial interface says succinctly just |
| [18:56] | <gotan> | Capacity : 969 MB |
| [18:56] | <gotan> | card capacity: 1985024KB |
| [18:56] | <gotan> | Read CRC error |
| [18:56] | <gotan> | or |
| [18:56] | <gotan> | ** Unable to use ide 0:1 for finding package ** |
| [18:56] | <gotan> | rca=1 |
| [18:56] | <gotan> | card capacity: 62720KB |
| [18:56] | <gotan> | reading /newpackage/r3.upk |
| [18:56] | <gotan> | Read CRC error |
| [18:56] | <gotan> | Read CRC error |
| [18:56] | <gotan> | etcetera. |
| [18:56] | <Improv> | Ouch |
| [18:56] | <gotan> | tasty eh |
| [18:57] | <JoeBorn> | yeah, and that's a new one to me. |
| [18:57] | <JoeBorn> | I assume CRC could only be the op system check |
| [18:57] | <gotan> | had to dig into some old boxes for my old serial cable stuff and managed to get the comms working. my tv is not convenient so i cannot run the busybox console from the serial inerface, |
| [18:58] | <JoeBorn> | and you said ethernet's broken too? |
| [18:58] | <gotan> | might be a nice thing to add 'cut and paste this to enable busybox' and have a string of remote IO characters. |
| [18:58] | <gotan> | doesnt seem 'broken' but ping times are fsked |
| [18:59] | <gotan> | it does dhcp boot though which means its not broken. |
| [18:59] | <gotan> | router gives it a lease anyway. |
| [19:00] | <gotan> | the cut and paste to put into the wiki. |
| [19:00] | <gotan> | btw. |
| [19:02] | <gotan> | so i'll know in 30 min what a kermit loadb serial upload will do with a .upk file. serial i cannot belive i've had to resort so serial (visualise apocolypse now style inner narative) |
| [19:03] | <Improv> | It's really weird seeing what codecs work and what don't |
| [19:03] | <Improv> | I'm sometimes surprised at some of the formats that play ok |
| [19:04] | <Improv> | I'm tempted to get mplayer working on it, although that would of course not be commercially distributable |
| [19:04] | <gotan> | mplayer is, but the 'codec pack' IRC is x86 specific as they are binary dll's |
| [19:05] | <Improv> | Oh, right. This is ARM. |
| [19:05] | <Improv> | Well damn |
| [19:06] | <gotan> | unless you want to dig up/code an x86 to ARM converter.. you could try porting baccus, i have beenthinking about it. |
| [19:06] | <Improv> | gotan: That would be cute, but ... I suspect performance would be too poor |
| [19:06] | <gotan> | just because you can then run all the old dos games and applications.. back fro the days when 64k was cutting edge. |
| [19:07] | <gotan> | not sure. have not played with baccus in a bit. |
| [19:07] | <Improv> | It's a pity IP laws are such a PITA - |
| [19:07] | <gotan> | btw has anyone tried to get an IR keyboard working with the neuros? |
| [19:07] | <Improv> | Otherwise making a portable grand unified media player would be possible |
| [19:08] | <gotan> | JoeBorn whats the status on porting code from other GPL STB codebases? such as amino which is also linux? |
| [19:11] | <Improv> | I really hope that at some point we have firmware that, given a working network interface, will be able to automatically find and download updates to itself from the neuros website |
| [19:11] | <Improv> | That would rock |
| [19:12] | <gotan> | nice idea, pain in the rear for neuros, bandwidth would be prohibitative... but...... have you read the latest i cringley? i dont much care for him but the latest one is a doosy about apples new STB appleTV |
| [19:12] | <Improv> | Would it really be prohibitive? People are presumably downloading the updates anyhow |
| [19:12] | <Improv> | Nah - I don't read him |
| [19:12] | <gotan> | www.pbs.org |
| [19:13] | <gotan> | essentialy the implications of a bittorrent capable STB. something i want to port to the neuros. |
| [19:14] | <Improv> | Ahh. |
| [19:15] | <gotan> | well the costs would be born (no pun intended) by the neuros hosting. it depends on the install base, but if it checked automaticaly every x then you've got a point cost per unit per update for the lifetime of the unit. that may have ben factored into the base cost. |
| [19:15] | <gotan> | if it has or has not, uning bittorrent instead of direct download would make the unit more profitable, and probably make updates faster. |
| [19:16] | <Improv> | True. |
| [19:16] | <Improv> | Also, some privacy zealots would probably whine about units "phoning home" |
| [19:17] | <gotan> | security would be an issue, but if neuros hosted the crc/md5 that could be mitigated. |
| [19:17] | <gotan> | yeh i fsking hate that. |
| [19:20] | <gotan> | what makes a upk btw? |
| [19:20] | <gotan> | still setting up my build env, so cannot tell ATM |
| [19:21] | <Improv> | Where is the remote control receiving part of the OSD? |
| [19:21] | <Improv> | Right now the curvy-bit is aimed at me, and I aim right at it |
| [19:22] | <gotan> | physical ? |
| [19:22] | <Improv> | yup |
| [19:22] | <gotan> | on the gama you can see into the case |
| [19:23] | <Improv> | Ahh, looks like my OSD got confused and now won't play any videos well. Time to reboot it. |
| [19:23] | <gotan> | mpther fsker just moving the thing poped the power now i have to try again. |
| [19:23] | <gotan> | anyhoo IR seems to be to the right of the CF port. |
| [19:24] | <Improv> | So maybe I should rotate my OSD a bit |
| [19:24] | <Improv> | If I want it to be useful, I need to remove the urgent emotional drive I've had to throw the remote across the room and stomp on it. |
| [19:25] | <gotan> | that could be problematic. |
| [19:27] | <Improv> | OoOo... rotating it a bit helps a lot |
| [19:31] | <Improv> | I wish the OSD had unicode fonts on it |
| [19:31] | <gotan> | why? |
| [19:32] | <gotan> | btw anyone know anything about uboot? |
| [19:32] | <Improv> | gotan: I have a number of files with unicode filenames |
| [19:34] | <gotan> | X can handle unicode, you should be able to change the default X render font.. assuming the UI uses x font rendering. |
| [19:34] | <Improv> | gotan: IIRC, osdmain isn't running under X (yet) |
| [19:34] | <gotan> | hmm. is it nanox or microx or what? |
| [19:35] | <Improv> | I think it uses raw framebuffer |
| [19:35] | <gotan> | oh yeh. |
| [19:35] | <gotan> | well the font rendering is going to be off the shelf, so you might be able to screw with the font file. |
| [19:36] | <gotan> | check the bulld libraries and see what it uses for font rendering. if thats unicode capable then that should work i guess. |
| [19:36] | <Improv> | I hope all this stuff isn't just hardcoded DIY-style stuff |
| [19:36] | <Improv> | I'll start looking at code once I have the serial interface up |
| [19:36] | <Improv> | (still waiting for hardware I ordered to that purpose) |
| [19:37] | <Improv> | I'm amazed how much of a difference rotating the OSD a bit so the CF card comes closer to facing me helps |
| [19:38] | <gotan> | glad to be of service. |
| [19:38] | <gotan> | i bought the OSD gamma a while back and only now got to realy play with it. any idea if its hd capable? |
| [19:38] | <gotan> | AFAICT not. |
| [19:38] | <Improv> | HD? |
| [19:38] | <gotan> | high definition/ |
| [19:39] | <Improv> | Oh, given its output, I really doubt it |
| [19:40] | <gotan> | well its down to the composite rendering chipset i guess. |
| [19:41] | <Improv> | As interesting as it is to play video on it, it seems more designed to record than play |
| [19:41] | <Improv> | Especially as it has S-Video in but no S-Video out :) |
| [19:42] | <gotan> | true. i'm more interested with output, as to be perfectly honest therre is little on the TV worth watching, let alone watching where i am ATM |
| [19:42] | <gotan> | /?/let alone recording/ |
| [19:43] | <Improv> | I thought so as well, but it ignores copy-protect bits on video signal, |
| [19:43] | <Improv> | so I'm going to use it to convert my videocasette collection to files. |
| [19:43] | <Improv> | (after which they'll all go to long-term storage) |
| [19:44] | <gotan> | i have to by another VCR before i can do that. trying to minimise my kit, hence neuros. |
| [19:48] | <Improv> | Well, that's enough player testing for me tonight |
| [19:50] | <Improv> | Rehi gotan |
| [19:51] | <Improv> | Wilkommen zuruch :) |
| [19:51] | <gota1> | heh, swiched from wired to wireless so i can attempt tftp, and wire my neuros. |
| [19:52] | <Improv> | gota: Ahh, you don't have a spare hub/switch? |
| [19:55] | <gota1> | normally wireless for my machine, except when BTing. router is distance from laptop workspace, so dont need to actually wire in that often. |
| [19:56] | <gota1> | but when i do i have a very long cable. |
| [20:14] | <gota1> | test |
| [20:16] | <Improv> | you passed |
| [20:16] | <gota1> | thanks. |
| [20:19] | <gota1> | not used gaim for IRC in a while. |