| kristianpaul | hmm, how FN take advantage of rtems_event_send/receive for the rss wall send dends to render mode? | 02:57 |
|---|---|---|
| kristianpaul | i mean what's they keyword that allow share this events... or is something else hmm | 03:01 |
| kristianpaul | ah, events do no hold or transport data | 03:03 |
| kristianpaul | xiangfu: Hi ! | 03:03 |
| kristianpaul | xiangfu: how i do transport data between tasks in rtems | 03:04 |
| kristianpaul | ? | 03:04 |
| wpwrak | you use message queues | 03:29 |
| kristianpaul | i see, and then use the event manager just for syncing right? | 03:35 |
| wpwrak | i don't even know what event manager you mean :) | 03:40 |
| wpwrak | and messages do provide synchronization | 03:40 |
| kristianpaul | hmm but rsswall dont have rtems_message keyword, so it is using something else.. | 03:42 |
| wpwrak | there doesn't seem to be any synchronization on access to the OSD drawable | 03:49 |
| wpwrak | no sure if the OSD-writing tasks are synchronized against each other by scheduling priority, though | 03:50 |
| xiangfu | kristianpaul, there is no data transfered under FN rss. | 04:28 |
| xiangfu | the rss task is like a while(1) wait for stop event. if there is no stop event. get the rss, display the rss | 04:29 |
| xiangfu | osd_event don't have any synchronized from my understanding. | 04:31 |
| qi-bot | The firmware build was successful, see images here: http://fidelio.qi-hardware.com/~xiangfu/build-milkymist/milkymist-firmware-20120718-1006/ | 09:51 |
| GitHub43 | [milkymist-mmu-simulation] fallen pushed 2 new commits to master: http://git.io/-rqSKQ | 20:30 |
| GitHub43 | [milkymist-mmu-simulation/master] Add RESET debug msgs and NULL pointer access catcher - Yann Sionneau | 20:30 |
| GitHub43 | [milkymist-mmu-simulation/master] Add support for new PSW CSR register - Yann Sionneau | 20:30 |
| Fallenou | mwalle: here it comes :) | 20:35 |
| Fallenou | ITLB still needs a lot of changes | 20:35 |
| Fallenou | I have not started to work seriously on those needed changes yet | 20:35 |
| Fallenou | lekernel: hey ! | 22:23 |
| Fallenou | I spent the week-end doing/learning Python (participating in ICFP programming contest) | 22:23 |
| Fallenou | so now I can understand migen code ;) | 22:24 |
| wpwrak | what did you win ? | 22:24 |
| lekernel | ;) | 22:25 |
| lekernel | sorry, got to run | 22:25 |
| lekernel | good news :) | 22:25 |
| Action: lekernel is in Prague at the moment | 22:25 | |
| lekernel | ttyl | 22:25 |
| Fallenou | hehe have fun ! | 22:26 |
| Fallenou | wpwrak: I won't win anything :p | 22:26 |
| Fallenou | our submission was not really awesome | 22:26 |
| Fallenou | but it was fun to participate anyway | 22:26 |
| Fallenou | I learnt python and I find it fun/easy/powerful :) | 22:26 |
| Fallenou | the subject of the contest was fun as well ! a robot mining to dig out lambdas | 22:27 |
| Fallenou | http://icfpcontest2012.wordpress.com/ | 22:27 |
| wpwrak | i think it lacks the "dirty old man" feeling of perl | 22:28 |
| Fallenou | the ranking is not published yet | 22:28 |
| Fallenou | they have to run all submissions manually etc :) | 22:28 |
| Fallenou | we submitted on monday 12h | 22:28 |
| wpwrak | lambdas ? the subatomic particles ? or the craniometric point at the junction of the sagittal and lamboid sutures of the skull ? | 22:29 |
| wpwrak | (man, you can sounds really educated with a bit of "dict" :) | 22:29 |
| Fallenou | ahah | 22:32 |
| Fallenou | lambdas, as the greek letter, as in lambda calculus :p | 22:32 |
| Fallenou | http://icfpcontest2012.wordpress.com/task/ the subject is explained there :p | 22:33 |
| Fallenou | going to sleep, gn8 ! | 22:40 |
| wpwrak | hmm, python sounds like a non-optimal choice for this kind of problem | 22:44 |
| wpwrak | C should give you a lot more work done per CPU cycle | 22:45 |
| Fallenou | sure | 22:47 |
| Fallenou | we started with the idea "ok let's do it in python to develop fast, then optimize with python methods written in C" | 22:48 |
| Fallenou | but we ended up with not enough time | 22:48 |
| Fallenou | and did everything in python | 22:48 |
| Fallenou | you have only 3 days :) | 22:48 |
| Fallenou | python is not that sub-optimized | 22:48 |
| Fallenou | python compiles the script into .pyc and then runs it | 22:49 |
| Fallenou | it's not interpreted :) | 22:49 |
| Fallenou | if you write your python code in an intelligent way, it should behave nicely | 22:49 |
| Fallenou | for example using interators instead of instanciating big lists to iterate over it etc | 22:50 |
| Fallenou | not calculate len() or lists/arrays over and over again | 22:50 |
| Fallenou | basic things :) | 22:50 |
| Fallenou | there is a nice profiler in python : cProfile | 22:50 |
| wpwrak | 3 days ! | 22:50 |
| Fallenou | dead easy to use, and it gives you stats about number of time a function is called | 22:50 |
| Fallenou | time per call | 22:50 |
| Fallenou | cumulative call | 22:51 |
| Fallenou | etc | 22:51 |
| Fallenou | to see where you spend cpu cycles | 22:51 |
| Fallenou | wpwrak: and at first they give you only the basic rules, and then each 12h they add a few extension :) | 22:51 |
| wpwrak | gprof does that for you (in C) :) | 22:51 |
| wpwrak | ah, that's a bit nasty | 22:51 |
| Fallenou | "now, there is flood in the mines, you have to deal with water level" | 22:51 |
| Fallenou | "now you have rocks containing lambdas, break rocks and you get the lambdas" | 22:52 |
| Fallenou | "now you have beard which grows in the mines, you need razors to cut it" | 22:52 |
| Fallenou | "now you have trampolines to teleporte yourself inside the mines" | 22:52 |
| Fallenou | etc :) | 22:52 |
| Fallenou | and you have to add support for those extensions | 22:52 |
| wpwrak | sounds as if the best strategy is a very generic state exploration algorithm, with only very light optimization. well, 150 seconds is a long time. | 22:55 |
| Fallenou | hehehe | 22:55 |
| Fallenou | 150 sec is not that long | 22:55 |
| Fallenou | with our best python robot we don't finish all provided maps | 22:55 |
| Fallenou | we finish only very few | 22:56 |
| Fallenou | honestly I don't think you have the time to explore all the map in 150 secs | 22:56 |
| Fallenou | and they don't give you the map size :) | 22:57 |
| Fallenou | they only provide map samples | 22:57 |
| Fallenou | so you have to assume map is too big for global exploration | 22:57 |
| Fallenou | so you add random + intelligence + whatever | 22:57 |
| wpwrak | you can compress state by running a hash on the map. that way, you can avoid going around in circles. | 22:57 |
| Fallenou | that's what we did | 22:57 |
| Fallenou | we hashed the "game state" and keep a dictionary of hash => game state | 22:58 |
| wpwrak | sounds good | 22:58 |
| Fallenou | https://github.com/fallen/ICFP-2012-Parrot_Miners | 22:58 |
| wpwrak | what hash algorithm did you use ? | 22:58 |
| Fallenou | if you want to look at the code | 22:59 |
| Fallenou | wpwrak: sha1 | 22:59 |
| wpwrak | urgh. that must be expensive. | 22:59 |
| Fallenou | src/mapupdater.py is basically the implementation of "how to play", how to follow game rules | 23:00 |
| wpwrak | try some crc. chances are, it's close to sha1 in terms of correctness but a lot faster | 23:00 |
| Fallenou | src/controler.py is the actual algorithm to try to find a nice path with max points | 23:00 |
| Fallenou | kcontroler is a keyboard controler, allows you to play with your keyboard | 23:00 |
| Fallenou | botcontroler is the automated controler, trying to search for the best path | 23:00 |
| Fallenou | try ./lifter kcontroler maps/contest1.map | 23:01 |
| Fallenou | to play with your keyboard | 23:01 |
| Fallenou | try ./lifter botcontroler maps/contest1.map to let it try to find a nice path for 150 secs, and then it shows you the movements | 23:02 |
| Fallenou | wpwrak: will try that :) | 23:02 |
| wpwrak | and of course, i'd do it in C. if you bring it down to a few simple bit and byte operations, you should see a nice speedup | 23:04 |
| Fallenou | http://code.google.com/p/pyfasthash/ :) | 23:05 |
| Fallenou | going to sleep, se you ! | 23:05 |
| wpwrak | yeah, but you still have the general python overhead :) | 23:05 |
| Fallenou | C is slow | 23:06 |
| Fallenou | I would do it with a FPGA ;) | 23:06 |
| Fallenou | *zZzZ* | 23:07 |
| wpwrak | now there's an interesting approach :) | 23:07 |
| azonenberg | Lol of course fpgas are fun | 23:49 |
| --- Thu Jul 19 2012 | 00:00 | |
Generated by irclog2html.py 2.9.2 by Marius Gedminas - find it at mg.pov.lt!