#milkymist IRC log for Wednesday, 2012-07-18

kristianpaulhmm, how FN take advantage of rtems_event_send/receive for the rss wall send dends to render mode?02:57
kristianpauli mean what's they keyword  that allow share this events... or is something else hmm03:01
kristianpaulah, events do no hold or transport data03:03
kristianpaulxiangfu: Hi !03:03
kristianpaulxiangfu: how i do transport data between tasks in rtems03:04
kristianpaul?03:04
wpwrakyou use message queues03:29
kristianpauli see, and then use the event manager just for syncing right?03:35
wpwraki don't even know what event manager you mean :)03:40
wpwrakand messages do provide synchronization03:40
kristianpaulhmm but rsswall dont have rtems_message keyword, so it is using something else..03:42
wpwrakthere doesn't seem to be any synchronization on access to the OSD drawable03:49
wpwrakno sure if the OSD-writing tasks are synchronized against each other by scheduling priority, though03:50
xiangfukristianpaul, there is no data transfered under FN rss.04:28
xiangfuthe rss task is like a while(1) wait for stop event. if there is no stop event. get the rss, display the rss04:29
xiangfuosd_event don't have any synchronized from my understanding.04:31
qi-botThe 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/-rqSKQ20:30
GitHub43[milkymist-mmu-simulation/master] Add RESET debug msgs and NULL pointer access catcher - Yann Sionneau20:30
GitHub43[milkymist-mmu-simulation/master] Add support for new PSW CSR register - Yann Sionneau20:30
Fallenoumwalle: here it comes :)20:35
FallenouITLB still needs a lot of changes20:35
FallenouI have not started to work seriously on those needed changes yet20:35
Fallenoulekernel: hey !22:23
FallenouI spent the week-end doing/learning Python (participating in ICFP programming contest)22:23
Fallenouso now I can understand migen code ;)22:24
wpwrakwhat did you win ?22:24
lekernel;)22:25
lekernelsorry, got to run22:25
lekernelgood news :)22:25
Action: lekernel is in Prague at the moment22:25
lekernelttyl22:25
Fallenouhehe have fun !22:26
Fallenouwpwrak: I won't win anything :p22:26
Fallenouour submission was not really awesome22:26
Fallenoubut it was fun to participate anyway22:26
FallenouI learnt python and I find it fun/easy/powerful :)22:26
Fallenouthe subject of the contest was fun as well ! a robot mining to dig out lambdas22:27
Fallenouhttp://icfpcontest2012.wordpress.com/22:27
wpwraki think it lacks the "dirty old man" feeling of perl22:28
Fallenouthe ranking is not published yet22:28
Fallenouthey have to run all submissions manually etc :)22:28
Fallenouwe submitted on monday 12h22:28
wpwraklambdas ? 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
Fallenouahah22:32
Fallenoulambdas, as the greek letter, as in lambda calculus :p22:32
Fallenouhttp://icfpcontest2012.wordpress.com/task/ the subject is explained there :p22:33
Fallenougoing to sleep, gn8 !22:40
wpwrakhmm, python sounds like a non-optimal choice for this kind of problem22:44
wpwrakC should give you a lot more work done per CPU cycle22:45
Fallenousure22:47
Fallenouwe started with the idea "ok let's do it in python to develop fast, then optimize with python methods written in C"22:48
Fallenoubut we ended up with not enough time22:48
Fallenouand did everything in python22:48
Fallenouyou have only 3 days :)22:48
Fallenoupython is not that sub-optimized22:48
Fallenoupython compiles the script into .pyc and then runs it22:49
Fallenouit's not interpreted :)22:49
Fallenouif you write your python code in an intelligent way, it should behave nicely22:49
Fallenoufor example using interators instead of instanciating big lists to iterate over it etc22:50
Fallenounot calculate len() or lists/arrays over and over again22:50
Fallenoubasic things :)22:50
Fallenouthere is a nice profiler in python : cProfile22:50
wpwrak3 days !22:50
Fallenoudead easy to use, and it gives you stats about number of time a function is called22:50
Fallenoutime per call22:50
Fallenoucumulative call22:51
Fallenouetc22:51
Fallenouto see where you spend cpu cycles22:51
Fallenouwpwrak: and at first they give you only the basic rules, and then each 12h they add a few extension :)22:51
wpwrakgprof does that for you (in C) :)22:51
wpwrakah, that's a bit nasty22: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
Fallenouetc :)22:52
Fallenouand you have to add support for those extensions22:52
wpwraksounds 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
Fallenouhehehe22:55
Fallenou150 sec is not that long22:55
Fallenouwith our best python robot we don't finish all provided maps22:55
Fallenouwe finish only very few22:56
Fallenouhonestly I don't think you have the time to explore all the map in 150 secs22:56
Fallenouand they don't give you the map size :)22:57
Fallenouthey only provide map samples22:57
Fallenouso you have to assume map is too big for global exploration22:57
Fallenouso you add random + intelligence + whatever22:57
wpwrakyou can compress state by running a hash on the map. that way, you can avoid going around in circles.22:57
Fallenouthat's what we did22:57
Fallenouwe hashed the "game state" and keep a dictionary of hash => game state22:58
wpwraksounds good22:58
Fallenouhttps://github.com/fallen/ICFP-2012-Parrot_Miners22:58
wpwrakwhat hash algorithm did you use ?22:58
Fallenouif you want to look at the code22:59
Fallenouwpwrak: sha122:59
wpwrakurgh. that must be expensive.22:59
Fallenousrc/mapupdater.py is basically the implementation of "how to play", how to follow game rules23:00
wpwraktry some crc. chances are, it's close to sha1 in terms of correctness but a lot faster23:00
Fallenousrc/controler.py is the actual algorithm to try to find a nice path with max points23:00
Fallenoukcontroler is a keyboard controler, allows you to play with your keyboard23:00
Fallenoubotcontroler is the automated controler, trying to search for the best path23:00
Fallenoutry ./lifter kcontroler maps/contest1.map23:01
Fallenouto play with your keyboard23:01
Fallenoutry ./lifter botcontroler maps/contest1.map to let it try to find a nice path for 150 secs, and then it shows you the movements23:02
Fallenouwpwrak: will try that :)23:02
wpwrakand 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 speedup23:04
Fallenouhttp://code.google.com/p/pyfasthash/ :)23:05
Fallenougoing to sleep, se you !23:05
wpwrakyeah, but you still have the general python overhead :)23:05
FallenouC is slow23:06
FallenouI would do it with a FPGA ;)23:06
Fallenou*zZzZ*23:07
wpwraknow there's an interesting approach :)23:07
azonenbergLol of course fpgas are fun23:49
--- Thu Jul 19 201200:00

Generated by irclog2html.py 2.9.2 by Marius Gedminas - find it at mg.pov.lt!