#qi-hardware IRC log for Wednesday, 2013-10-09

whitequarkhttp://www.youtube.com/watch?v=pqOaWM85J0s#t=15803:59
whitequarker, http://www.youtube.com/watch?v=pqOaWM85J0s03:59
ysionneauwhitequark: ahah :)06:23
larscwhitequark: here's a sandwich for you http://www.phoronix.com/scan.php?page=news_item&px=MTQ4MDU10:11
whitequarkI would actually back that10:12
whitequarknot because I expect something in return, but more like, I could pour $500 into netflix or $500 into gpl-gpu10:13
whitequarkand both may provide me with some entertainment value.10:13
rohhrhr10:14
kyakhehe10:20
wpwrakhmm, i wonder how difficult a 2D gpu can be ... measured in sebastien-minutes12:01
larscthe problem with sebastien-minutes are that you can parallelize them12:04
larscso even if your algorithem as a low total running time you can speed it up, by distributing it in the cloud12:05
larscalgorithm12:06
rjeffriesReality of current password/passphrase cracking is, uh, depressing. see: http://arstechnica.com/security/2013/10/how-the-bible-and-youtube-are-fueling-the-next-frontier-of-password-cracking/12:07
wpwrakyeah, a bare password is very unsafe. you really need to rate-limit decryption attempts.12:10
wpwrakthen use the password to unlock a long string of random bits12:10
whitequarklarsc: what12:10
whitequarkwpwrak: so, bcrypt with salt is all you need12:11
whitequark(bcrypt is a hash algo specifically designed to be slow when implemented on FPGA)12:11
kyakso.. don't use dictionary words and do use long passwords?12:12
larsckyak: and use something a human wouldn't think of12:13
whitequarkkyak: well, try to remember 30 symbols of alphanumeric garbage and tell me how well it works12:13
whitequarkit's fine if you have a password safe, but you have to unlock *that* with something.12:13
kyakwhitequark: remember it once, probably use some mnemonics, and then use variations of that12:13
larscif they steal your safe from you computer all is probably lost anyway12:15
wpwrakkeep the master secret in an MCU. it12:15
whitequarkkyak: still too hard. especially if you want to rotate it, which is a Good Idea.12:15
wpwrak's not so easy to get things out of these12:15
whitequarkI cannot reliably type in even a mixed-case passphrase12:15
kyakwhitequark: no argue with that12:16
whitequarklarsc: if they can decrypt it.12:16
whitequarkbcrypt with a good passphrase will give you at least enough time to change every password you have there.12:16
larscwhitequark: I meant if they have access to your machine they can probably just sniff when you enter the passphrase to unlock the safe12:17
kyakwhat if your password safe is encrypted twice, just for fun? :) I imagine those guys spending resources on decrypting the first wrapper, only to find the second one.. And they don't really know if there's going to be another one12:17
whitequarklarsc: if they have access to your machine, all is lost anyway12:18
whitequarkI was thinking along the lines of "stolen notebook"12:18
whitequarkwhich you can actually defend against.12:18
whitequarkkyak: security through obscurity. known to not work12:18
larscit helps against driver by attacks12:19
kyakwhitequark: that's not obscurity12:19
rjeffrieskyak did you read the damn article? very (!) long passphrases that have been partially onfusicated and are way way off teh beaten path are vulnerable.12:20
larscdrive12:20
whitequarkkyak: oh, so you mean to make them spend more resources?12:20
whitequarkbcrypt already includes that, with a factor you can adjust12:20
kyakrjeffries: these were dictionary words, that's the root cause if i read correct12:21
whitequarkwpwrak: last time I checked, you could erase the lock bits with a bit of acid and black electric tape :p12:21
whitequark(on some PICs)12:21
rjeffriesagree that totally random longish passwords are good. also impossible to memorize12:21
kyakwhitequark: yeah, for spending more resources and making it unclear how much more resources they would need12:22
kyakdemotivate them :)12:22
rjeffrieswpwrak will anelok generate passwords? I forget the specs. ;)12:22
wpwrakwhitequark: yes, at some point in time, you want to make your own crypto chip, with a few extra layers12:22
wpwrakrjeffries: yup. it the idea is that it can propose passwords12:23
whitequarkkyak: how would you know when to stop if you yourself mistyped your password?12:23
whitequarkwith the scheme you're proposing, it seems that the process will never end12:24
rjeffrieswpwrak: cool. useful.12:24
wpwrak(based on an alphabet the user selects and a suitable string of random bits the device generates)12:24
whitequarkthough, that actually can play in your advantage12:24
whitequarkwpwrak: shut up and take my money already12:24
kyakwhitequark: you know how many layers this onion has12:24
wpwrak:)12:25
rjeffrieswpwrak: there *is* a market for your gadget.  lol12:25
rjeffriesyou already sold qty = 212:25
kyakthis article was written by wpwrak's marketing department! the truth is reveled!12:25
rjeffriesby the way you current industrial design is rather nice. You've tapped your inner Jonny Ives.12:26
wpwrak;-)12:27
rjeffriess/you/your/12:27
rjeffriesI see one needs to include a trailing space to avoid expanding embedded substring12:28
wpwrakmaybe i should snap another picture. i now also have the display working "standalone". gave a bit of trouble. first i had one pin shorted, which caused the device to burn up to about 500 mA if it let it, then i had inverted one signal in the schematics (when going from the display-only prototype to the full device prototype) and faithfully copied that into the firmware, making communication with the display fail.12:29
wpwraki then though that maybe i had fried the display and replaced it. only then did i find the bug. so now i have a working display, plus one that's a bit tattered of unknown state12:30
wpwrakah, and the wheel is working, too12:41
rjeffriesround and round it goes. where it stops, nobody knows. Indiegogo?12:49
wpwraki'd hope it doesn't stop there :)12:51
rjeffriesyou have something against crowdfunding?12:54
wpwraknot at all. but it it _stops_ there, that would mean failure, wouldn't it ?12:54
rjeffrieswpwrak: agreed.13:41
rjeffrieswpwrak is it fair to assume that anelok is independent of OS on the target PC that interacts with the internet? in other words it is simply a USB device that presents a (I think?) HID USB to teh host, be that Linux or Windows or (of interest to me) Chromeos?13:52
wpwrakat that level, yes. there would be more advanced functions that would create additional dependencies, though. e.g., pre-selecting a password entry, pc-based password management, and such14:02
eintopfhi :-)15:09
FrankBluesHowdy!15:09
wpwrakhmm, does anyone know vflib ? it seems that it should be able to convert fonts into bitmaps. alas, while it lists a great many fonts, it then don't find them15:09
viricfreetype also converts fonts into bitmaps :)15:11
wpwrakare there command-line tools to do that ?15:12
wpwrak(i want bitmaps i can use in my program. not bitmaps on the screen :)15:13
larscmake photograph of your screen and then scan the result ;)15:16
wpwrakyeah, there's half a dozen programs to visualize fonts. then xwd, ... ;-)15:17
viricwpwrak: imagemagick can render text I think15:18
viricmaybe you can use 'conjure' or soemthing like that to render whatever you want15:19
wpwrakah, should have thought of that. imagemagick can do kinda everything :) let's see ...15:20
larscI think there are dozens of programs out there that generate you for example a 16x16 glyphs bitmap15:21
viricif you want small fonts, you better get a bitmap font of that size, instead of rendering a vector one.15:22
wpwrakyes, i suppose there are. the issue is finding them ;-)15:22
wpwrakhmm, and imagemagick.org doesn't load :-(15:23
wpwrak-draw <something> seems to be the magic word15:25
wpwraknice. if you use it with "convert", it works. if you use it with "display", it fails silently.15:29
viricmagick.15:31
wpwrakhmm, not too great results, though. alpha-blends then dithers them :-(15:31
wpwrakguess i need a more specialized tool ...15:32
viricit's a hell to get monochrome from vector fonts15:32
viricWhen I want monochrome fonts, I use bitmap fonts, not vector15:32
viriceven vector rendering to grayscale is full of tricks; antialiasing, subpixel rendering, hinting, ...15:34
wpwrakmaybe i should just decode the X .pcf files ...15:34
rjeffrieswpwrak: I still hope when you refine user interface you consider displaying a larger image of the currently selected character something like 2x or 3x magnification of current character would so totally rock.  15:36
wpwrakbloody complex, though. where's version v1.0 of all this ? :(15:37
wpwrakrjeffries: naw, i'd try to avoid such weird magnifying tricks. just use a readable font ;)15:38
viricX pcf files are bitmap fonts. Das ist gut15:40
viricI guess imagemagick can only render fontconfig fonts, thus, vector.15:46
wpwrakhmm .. -misc-fixed-bold-r-normal-*-15 ? about 10x8 pixels for "normal" characters ...15:52
wpwraklet's use the power of xwd and bitmap15:53
wpwrak... and, say, xmessage15:53
viricthe lazy fox ...15:54
wpwrakor maybe just a nice xterm ...15:58
mthwpwrak: python imaging library can handle converted bdf fonts, according to its docs16:00
wpwrakthanks ! i'll try the ultra-traditional approach first ... let's see how it goes :)16:13
wpwrakworks amazingly well :)16:23
larscand here is the kickstarter page http://www.kickstarter.com/projects/725991125/open-source-graphics-processor-gpu16:28
larscdoes not sound that great, imho, but well who knows16:32
mtha fixed function pipeline for 3D is getting less useful every day17:41
larscfor 200k it is only fixed function 2d17:42
wpwrakthe big font comes from X: http://downloads.qi-hardware.com/people/werner/anelok/tmp/brd0-fnt.jpg17:42
wpwrak(it's the 10x20 font)17:42
mthyes, but everything between $200K and $1M is fixed function 3D if I remember correctly17:42
wpwrakand this is the script to do it :) https://gitorious.org/anelok/anelok/source/fw/fontify17:43
mthand now many 2D functions do you really need nowadays? alpha blended blits is probably what is needed most17:44
larscyea, solid rect fill isn't that widely used anymore ;)17:45
wpwrakblock copy ? for text ...17:46
mththat's a blit with the alpha test disabled17:46
larscoverlays are quite handy17:48
mthrect fill isn't hard to implement in case you need it: you just specify a source that is a single color17:48
mthoverlays don't play that well with compositing window managers afaik17:48
larscneither does no 3d accleration17:49
mthyou could to a compositing WM with just fast alpha blends, I think17:49
mths/to/do/17:49
rohmth: true. but most drivers dont expose any alpha-surface 2d ops anymore17:50
mthyes, you might have to do both the software and hardware then17:50
rohso in the end one uses the 3d units for that... simply because thats the only ones left.17:50
mthbut only at the system level; you could use the same interfaces towards the applications17:50
rohthey even removed the video-units on most hw... old radeons had a blitter optimized for video overlays.... nowadays one needs to use a texture on the 3d unit.. a shader17:51
rohmth: what interface? x11 doesnt support alpha surfaces17:51
rohclassic x11 apps which do alpha do it in-app and fetch the back of the window and the rerender and draw transparency in sw while the expose event comes through17:52
mthit doesn't? how does KDE make rounded window corners then?17:52
rohsw rendering17:53
rohthe new stuff is compositing with alpha and apis which arent anymore network transparent afaik17:53
mththat's how it worked before compositing, I think they use an extension now to push buffers with an alpha component17:53
mthalthough I haven't read the code in question, so it's just an impression from blog posts etc17:53
larscyou can provide a shape for your window17:53
larscsee e.g. xclock17:54
rohits not 'straightforward' or 'nice'17:54
rohlarsc: yep. but thats only hard corners. no alpha17:54
rohbasically a mask17:54
mthnetwork transparency and pretty windows seem to be mutually exclusive under X1117:54
rohforget x11...17:54
rohwayland/whatever comes beyond....17:55
mthafaik the reference implementation of Wayland uses EGL, but the protocol doesn't rely on any 3D functionality17:55
mthso if you're design your own 2D GPU, you could run Wayland on it just fine17:55
rohnothing on a 3d unit forces you to use more that 2 dimenstions17:56
mths/you're/you'd/17:56
rohafter all its just doing triangles ;)17:56
mthyes, if you have a 3D engine, then by all means use it17:56
mthI was just thinking of what the minimum functionality would be for a GPU to be useful for 2D apps17:57
rohnot more than a matrox G200/G450 could do. just faster and with alpha surfaces  and i'm happy17:57
mthsince a lot is handled by client side rendering nowadays, composing the final frame is really where the hardware acceleration can still make a difference17:57
larscbut most clientside rendering is done with libs like cairo, which can have acceleration backends18:43
apeleteHi there20:27
apeletelarsc mth: I built the nop transceiver driver into the kernel and got rid of the "unable to find transceiver of type USB2 PHY" error message during boot -> http://paste.debian.net/54548/20:28
apeletebut I found it strange to have these two messages before the probe is finished (before glue layer is registered):20:30
apelete[    1.230000] musb-jz4740: hello world!20:30
apelete[    1.240000] musb-jz4740: goodbye cruel world20:30
apeletethese are from init and exit respectively20:30
apeletecode is here: http://seketeli.fr/git/~apelete/qi-kernel.git/tree/drivers/usb/musb/jz4740.c?h=jz4740-udc&id=e7519cf2143a5f1dd525230d2b3cc03e111848d720:31
apeleteah, I see, it's because musb_core seems to be calling musb_platform_init() during the probe. from musb_core.c:20:36
apelete/* The musb_platform_init() call:20:36
apelete *   - adjusts musb->mregs20:36
apelete *   - sets the musb->isr20:36
apelete *   - may initialize an integrated tranceiver20:36
apelete *   - initializes musb->xceiv, usually by otg_get_phy()20:36
apelete *   - stops powering VBUS20:36
apelete *20:36
apelete * There are various transceiver configurations.  Blackfin,20:36
apelete * DaVinci, TUSB60x0, and others integrate them.  OMAP3 uses20:36
apelete * external/discrete ones in various flavors (twl4030 family,20:36
apelete * isp1504, non-OTG, etc) mostly hooking up through ULPI.20:37
apelete */20:37
apeleteso I guess I need to complete the init function now20:37
apeletelarsc mth: don't really know what should go into init though.20:41
apelete I think: clock setting is a sure bet, mregs is not needed according to what we discuss last night, don't know what to do about isr, transceiver should be ok now since I settled for nop transceiver, and don't know about vbus20:43
apeletes/discuss/discussed/20:44
apeletelarsc mth: any advice about all those ?20:44
mthapelete: the isr is set in the jz4770 glue, but I don't really know what it does there; I left that code as it was21:25
apeletemth: do you think I could reuse that isr code it for jz4740 ?21:28
mthI have no idea21:29
mthit's probably worth reading it, but copy-paste may or may not work21:29
mthit would be useful to compare it to the interrupt handler of the old UDC driver21:29
apeleteokay. I'm rebasing my work on top of jz-3.11 first (was on jz-3.9), will take a look at it then21:34
apeleterunning musb work in progress glue layer on kernel 3.11 now -> http://paste.debian.net/54687/23:40
apeleteand also rebased the changes on top of jz-3.11 -> http://seketeli.fr/git/~apelete/qi-kernel.git/log/?h=jz4740-musb23:41
--- Thu Oct 10 201300:00

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