#qi-hardware IRC log for Thursday, 2012-01-12

AylaDocScrutinizer, who's bashing uBoot?00:19
kristianpaulDocScrutinizer: first cpu was pentium II 133Mhz wih MMX ;)02:16
kristianpauland i still have it, other board that compaq box died by 2004 :/02:16
kristianpaulvisual basic and turbo c first compiler..02:18
Action: kristianpaul feel bad about visual basic02:18
kristianpaulbut there was not internet and i got the book for near free 02:18
kristianpauloh really http://www.freesoftwaremagazine.com/articles/allwinner_a10_gplcompliant_computer_15 ?..02:44
kristianpaullet see02:44
kristianpaulha !!02:46
kristianpauluses kicad and fed plus a makefile !!02:47
wpwrak(fped) kewl ;-)03:09
DocScrutinizerCONFIDENTIAL! ;-P  ttp://maemo.cloud-7.de/hidden/20120111_001.jpg06:40
DocScrutinizer(in case you wonder: I intentionally crippled the URL, so it doesn't get spidered)06:41
kyakoh, what a huge leak :)06:41
wpwrakkyak: all this is code. when you visit STE the next time, innocently ask about project Laura :)06:44
DocScrutinizerYou might cause eyebrows rising - we got EVB Jenny-v1 and Jenny-v206:46
kyakLaura is deprecated now that they've got a dish washine machine (or DWM) :)06:46
DocScrutinizerthere's no *Project* Jenny though - it's just the baseband CPU core iirc, on Thorium06:49
DocScrutinizerI should check if the other core is actually codename Laura06:51
kyakwe already know too much06:55
DocScrutinizerindeed :-D06:55
DocScrutinizerbeter look there: http://www.google.de/search?q=novathor+mali400 http://www.google.de/search?q=novathor+snowball06:57
whitequarkDocScrutinizer: what's wrong with uboot bashing?07:20
DocScrutinizerwell, on #maemo I had a discussion with a guy who claimed meego uBoot was buggy and SHR uboot useless, so he "implemented" ext3 support07:22
DocScrutinizerhe didn't get the point why meego had to remove ext3 support due to size limitations07:22
DocScrutinizerI OTOH don't get the point why you *need* any of that, as it's not particularly hurting to have a small dedicated fat partition for kernel07:24
DocScrutinizeror a plain unformated raw partition07:24
Action: whitequark prefers raw ones07:26
DocScrutinizeralso the term "uboot booting into ext3" made me frown, as it's the kernel that boots into a FS, uboot just loads kernel *from* some location07:26
DocScrutinizeron GTA02 I had a 16GB uSD with a ~14GB VFAT with kernel and all my MP3, and it was very convenient to use this card in a USB stick cardreader with any PC07:30
wpwrakwhen u-boot was young, it laid awake at night, dreaming of being an operating system07:34
wpwraknow it's old, fat, and thinks it's an operating system07:34
wpwrakbtw, for booting from strange file systems, there's always the option of establishing your own mapping. almost 20 years of booting with lilo say it works ;-)07:36
whitequarkit's a variation of jwz's law08:02
whitequark"every bootloader expands until it becomes a horribly incomplete operating system implementation"08:02
whitequark"those who do not are repalced with those who do" (grub1/grub2)08:03
mthhmm, why is JFFS2 enabled in the nanonote kernel defconfig?11:16
kristianpaulopenwrt legacy?11:17
mthif there is no reason to keep it enabled, we can save some ram by disabling it11:18
whitequarkoh, stupid me12:22
wolfsprauljust got my ColorHug! :-) http://www.hughski.com/12:29
blogicwhitequark: looking for see mips run linux12:31
blogicand G points me at whitequark.org12:31
blogiccould that be you ?! :D12:32
whitequarkblogic: oops12:36
whitequarkthat's a symlink to /var/to... no you haven't seen that.12:36
blogicwhat ?12:37
blogicwho are you12:37
blogicanyhow G lists you as hit nr112:37
whitequark(what) a symlink to /var/torrents.12:37
whitequarkI'm the only seeder for that book on tpb.12:37
blogicseed and copy12:38
whitequarkbecause I've had a hard time finding it and I wanted to make it easier.12:38
whitequarkbut hit no1 is funny12:38
whitequarkfor me, that's amazon12:38
blogic "see mips run linux" filetype:pdf12:38
whitequarkand wq.org is 4th12:38
whitequarkyes, that.12:38
whitequarkI don't care actually12:39
whitequarkI'll let it stay this way.12:39
blogici just wanted to say "thank you" :D12:39
whitequarkthanks:D the world is smaller than it looks like12:40
whitequarkmaybe I'll go to Germany next year and meet DocScrutinizer accidentally...12:40
blogicthat did happen to me once12:41
blogicwell not with DocScrutinizer12:41
blogicas a 10 year old child i was on vacation in denmark with my parents12:41
blogicthe house next to us was a spanish family and i spent the holidays playing in the garden with their 10 year old son12:41
blogicat age 23-24 i was in london and on a random street a guy taps on my shoulder and says ... "you are john"12:42
blogicand it was that exact same spanish dude that recognized me12:42
blogicvery bizarre12:42
blogicspecially as i have been in londond for a total of 5 days in my life12:42
Aylacool story :)12:43
zrafawolfspra1l: ColorHug : cool ! :)13:00
wolfspra1lyes, a very nice open hardware project13:01
whitequarkwanna something funny?13:35
whitequarkI've just written a decompiler for AS3 flash bytecode13:35
whitequarkjust look at this miracle of a compiler they have13:35
whitequark317, 318, 32513:36
whitequark318 is never reached13:36
whitequarkand 325 is invalid opcode13:36
whitequarkI repeat: their compiler emits invalid unreachable code, and their verifier eats that >_<13:36
whitequarkso fucking incredibly braindead13:36
blogicAS3 is what soc ?13:37
blogicthe apple thing ?13:37
whitequarkFlash ActionScript 3.13:37
whitequarkthat banner thingy.13:37
whitequarkI am continously amazed by its stupidity.13:37
wpwrak325 looks valid in thelisting14:12
wpwrakanyway, if318 is never reached, then neither is 325 -> no problem ;-)14:12
whitequarkwpwrak: 325 jumps past the end of function14:34
whitequarkthere's no L1014:34
whitequarkand why the hell a sane compiler would emit something like this, ever?14:34
larscdebug information14:35
whitequarklarsc: can you provide an example?14:38
wpwrakmoore's law :)14:39
larscwhitequark: i have no idea what i'm talking about ;)14:43
larscand i have no idea how action script works, but my first guess would be that this simply aren't instructions, but data14:44
whitequarklarsc: nope, there's a LOT of metadata accompanying these methods15:00
whitequarkreally a lot15:00
whitequarkand the debugging info has another format15:00
whitequarkit's also stupid enough to do things like:15:01
whitequark negate15:01
whitequark  iffalse15:01
whitequarkwant to see a piece of modern art?15:44
whitequarka CFG of a big method in bytecode.15:44
whitequarkoh, nevermind. I think I've just DoSed imgur.15:44
whitequarksent a 6MiB png which expands to ~1 gig bitmap.15:45
larscwhitequark: you do strange things today16:11
whitequarklarsc: well16:16
whitequarka friend of mine asked to deobfuscate him a Flash file16:17
whitequark... and I know Ruby, in which it takes one day to implement entire Flash binary format (compared to a week in C++)...16:17
whitequarkand I have been working on a static analyzer for OOP languages recently16:18
whitequarkso I've had a ready to use dead code elimination pass16:18
qi-bot[commit] Werner Almesberger: m1nor: lock the read-only portions of the flash after flashing (master) http://qi-hw.com/p/wernermisc/2e4638417:04
viricoh, I saw uboot picked the nanonote support on october19:17
viricdo you run the latest uboot?19:17
whitequarkI've reduced the code size by 100k19:23
whitequarkwithout impairing any functionality19:23
whitequarkthat 10% were dead code.19:23
whitequarkare Adobe developers too stupid to read, maybe, LLVM tutorial? or a 40-year-old book on compilers?19:24
whitequarkI assume they are.19:24
whitequarkwhat did I do? I ran a single DCE pass. In, maybe, 100 lines of code.19:25
viricwhat do you talk about?19:26
whitequarka friend asked me to make a deobfuscator for a certain Flash file19:27
whitequarkthe obfuscation consisted of a jmp and 9 bytes of random invalid opcodes19:28
whitequarkI made a simple dead code elimination pass19:28
whitequarkit eliminated all of the obfuscation and also a whole lot of dead code which was emitted by Flash compiler19:28
whitequarkcirca 10%.19:28
whitequarkno wonder it's so slow and cpu-hungry19:36
whitequarkI guess the VM is written in similar style.19:36
qi-bot[commit] Paul Cercueil: fbcon: continue parsing parameters after an error. (jz-3.2) http://qi-hw.com/p/qi-kernel/a836fb419:40
qi-bot[commit] Paul Cercueil: fbcon: optimize parameters parsing loop. (jz-3.2) http://qi-hw.com/p/qi-kernel/b4105ec19:40
wpwrakwhitequark: you probably care more about that pile of junk than anyone at adobe ;-)19:47
whitequarkwpwrak: probably19:57
whitequarkat least my code is way more complex than theirs19:57
whitequarkI doubt they ever heard about DCE or CFG19:57
whitequark... or that their lookupswitch opcode and jump 0; returnvoid is a psi node remnants19:58
Aylacan anybody enlight me about the __setup() macro?20:01
Aylait takes a callback as a parameter,20:04
Aylabut I can't find a documentation about what means the return value20:04
Aylaon some drivers, the callback returns 1 all the time, even when everything went right (e.g. on drivers/video/console/fbcon.c)20:04
viricAyla: I'd also like to know20:05
viricAyla: how people learn about those macros? __init, ...20:05
Aylaon other drivers, like drivers/iommu/intel-iommu.c the callback returns 020:06
Aylaviric: I guess experience :)20:06
whitequarklxr? 20:06
viricwhitequark: you mean reverse engineering? :)20:07
whitequarkviric: I mean "the code is the best documentation"20:08
whitequarkafaik no other docs exist on these macros20:08
viricsometimes there is not a big difference between source and binary20:08
whitequark(except for developer's brains)20:08
viricalso some people use to name the electronic schematics 'source'20:09
viricwhile for me it's still some sort of binary20:09
Artyomkristianpaul hello :)20:09
viricusually with zero information about why those components and no others20:09
whitequarkyou have to accept that ;)20:10
viricpeople go through a process for the design20:10
viricif that isn't document, it's like no source for me20:10
larscviric: ldd3.pdf is a good start i think20:18
Aylalarsc: is that a problem if one variable has the same name as a structure?20:32
Aylashould I name it differently?20:32
larscvariables and structs live in different namespaces20:34
larsci actually quite often write 'struct foo *foo' in drivers20:34
Aylaok, thanks20:34
viricah ok20:36
viriclarsc: I always wanted to read that... good reminder :)20:36
virica program I wrote (and in openwrt by xiangfu) had an article in linux-magazin.21:30
viricI'll take a cup of 'Cichorium' to celebrate21:31
larscgot a link? or is it offline media?21:36
wolfspra1lviric: congratulations, that's a nice recognition21:39
wolfspra1lwhat is Cichorium? (searching...) :-)21:39
wolfspra1lthis? http://en.wikipedia.org/wiki/Cichorium21:41
viricyes, very nice. the only cite known by google of that software :)21:46
viricI thought I was alone in the world using it. and maybe there is someone else21:47
viricalso long ago they published about "Task Spooler" http://www.linux-magazin.de/Heft-Abo/Ausgaben/2008/05/Tooltipps21:48
viricso, I can only flatter their good taste, even never having read that magazine :)21:49
wolfspra1lviric: sorry I still don't understand. is the new article online or not?21:50
viricunder payment21:50
wolfspra1lviric: aha. reading 'other varieties [of Cichorium] are grown for their roots, which are used as a coffee substitute'21:58
wolfspra1lthat sounds more familiar :-)21:58
viricI didn't imagine you would engage in an investigation ;)22:00
wolfspra1loh you can imagine me strawling over the winter meadows tomorrow, color wikipedia photo in my hands, searching for that Cichorium22:10
wolfspra1lor maybe not, ok. have to try usb-midi :-)22:10
DocScrutinizerwhitequark: how comes you think meeting me might be a desirable event? ;-D22:15
whitequarkDocScrutinizer: because I've seen your work and it's awesome. Even if we'd have radically different opinions on some- (or every)thing, an event which I'd not disregard as entirely impossible, I'd say that it would be the time for me to shut up and listen.22:31
frdmincAnyone around who could help me / point me to doc on how to get a DMX light working with M1/Flickernoise?22:32
whitequarkfrdminc: try #milkymist22:32
frdmincwhitequark: thanks, will do22:32
wpwrakDocScrutinizer: maybe he thinks it's generally desirable for you to be well fed ? :)22:36
wolfspra1lfrdminc: welcome to Qi Hardware btw. You have a Milkymist One?22:45
wolfspra1lif so - what are your plans with it?22:45
frdmincwolfspra1l: trying to get it set up in time for a small college party tomorrow night. we have a projector and 3 LED DMX lights an alum donated a while back23:01
whitequarkwpwrak: how many innocent people has he consumed already?23:01
wolfspra1lfrdminc: oh wow, nice!23:02
wolfspra1lok by all means, if you run into trouble holler here or in #milkymist23:03
wpwrakwhitequark: dunno. i've heard he's kinda skinny. but i'm not sure if this means that he doesn't eat much or just that he's hungry23:09
whitequarkmaybe both23:16
whitequarkit's or and not xor ;)23:17
pabs3whitequark: will you release that flash decoder thing? sounds useful for web hackers23:51
whitequarkpabs3: hm23:51
whitequarkon one hand, it has already generated an enormous (for 2500 lines of code done in three days) amount of profit for me23:52
Action: pabs3 is the Debian maintainer of flasm, a flash disassembler (only works with old flash)23:52
whitequarkon the other hand, anyone clever enough to understand how that works could possibly write the same23:52
whitequarkso, I think I will23:52
pabs3poke me if you do23:53
whitequarka colleague plans on writing an IDA-like IDE23:53
whitequarkbut that'll stay out of my reach, and I think it has some changes to stay closed-source23:53
whitequarkmy library will be packaged as a Ruby gem23:53
whitequarkso I think there's nothing you can do23:53
pabs3there is something like that here: http://bokken.inguma.eu23:54
whitequarkis that in python?23:54
whitequarkalso, very ambituous. that's sad.23:55
pabs3why sad?23:55
whitequarkambituous software projects in python are almost always written by novice developers, and tend to have quite bad code quality.23:56
whitequarkI'll look into it anyway23:56
whitequarkpabs3: http://inguma.eu/projects/bokken/repository/entry/ui/opcodes.py23:59
whitequarkx86 is hardcoded everywhere23:59
whitequarkthat's what I was talking about23:59
--- Fri Jan 13 201200:00

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