#qi-hardware IRC log for Monday, 2012-12-24

kyaktest105:34
kyaktest205:34
kyakno live updates for me -\05:34
kyakbtw. what's the point of live updates for previous dates?05:35
kyakyeah, it updates.. takes around a minutes05:36
whitequarkkyak: yeah, irc can be quite slow sometimes12:53
whitequark(for the previous dates) oh, that's an UI bug :)12:54
whitequarkkyak: actually no, irc has nothing to do with it13:11
whitequarkfor some reason the stream is not flushed when it should. tcp buffers? I've no idea13:11
wpwrakwhitequark: could it be good old friend nagle ? http://en.wikipedia.org/wiki/Nagle's_algorithm13:18
whitequarkwpwrak: I think it's nginx13:21
whitequark.13:21
whitequarkerrrr13:23
whitequark*facepalm* no, it's me being completely stupid13:23
whitequarkI've installed a version of Redis, which I use for publish/subscribe communication, without a pub/sub system13:23
whitequarktoo old13:23
whitequarkbut then I wonder how it ever worked at all13:23
whitequarktest13:25
whitequarkyeah, works perfectly now.13:25
whitequarkprotip: don't deploy while being sleep deprived :D13:25
kyaktest313:39
kyaktest413:39
kyakah13:39
kyakso it is in live update mode when i _don't_ click "Live updates" :) 13:40
kyakok.. pretty neat, you are right!13:40
kyakbrowsers can do everything nowadays.. have no idea how it happens13:40
kyakit requires some kind of persistent connection, right?13:41
kyakis it what ajax does?13:41
kyak..and im out13:41
whitequarkkyak: server-sent events13:44
whitequarkit's basically a very simple protocol13:44
whitequarkdo `curl http://irclog.whitequark.org/qi-hardware/stream'13:44
larscwhitequark: hm, a nice to have would be if the script tried to reconnect if the connection was lost14:07
whitequarklarsc: it does14:07
whitequarkat least it should, as that's what SSE specification requires user agent to do14:07
larschm, or maybe it is simply not working at all for me14:08
larscwhen is live updates enabled, when it's gray or when it's white?14:08
whitequarkit should work if the Live Updates button is visible14:08
whitequarkwhen white14:08
larsci haven't seen a single update so fat14:09
larscfar14:09
whitequarkseeing them right now in this channel. strange. browser?14:09
larscChromium 6.0.472.63 (59945) Built on Debian 6.0.2, running on Debian 6.0.614:09
whitequarknot surprising. Chromium 9 is listed as the first version with SSE support for me14:10
whitequarkit might be that Chromium 6 announces it but does not implement correctly14:11
whitequarkSSE is quite a new specification14:11
whitequarkhttps://developer.mozilla.org/en-US/docs/Server-sent_events/EventSource14:11
larscin the javascript console i get "streamFailed to load resource" and nothing more14:11
whitequarkhmmm14:12
larscbut it does sent a request14:13
whitequarkI might figure out the problem if you'd send me a wireshark dump, but I doubt I can do anything about it, actually. 14:13
whitequarkthe "proper" way would be to add one of the huge, bloated libraries with tons of fallbacks14:14
whitequarkI don't see any 500's in my log, so the problem is probably with the UA14:15
larsctest14:16
larscchromium 20 works fine14:16
larscit's not that important anyway14:17
viricnever heard of SSE before14:18
whitequarkviric: it's a very neat alternative to websockets where you don't really need bidirectional communication with all of its complexity14:18
viricI see14:18
viricsounds well, yes.14:19
whitequarkbasically you send out "data: (bytes)\n" lines from the server, and that's it14:19
viricdoes firefox like it?14:19
virichow much does that irclog stream send? It doesn't stop :)14:19
viricouch, timestamp 2010. I ctrl-c :)14:19
whitequarkviric: ow, I should've placed some limit on that14:20
whitequarkviric: yeah, works with FF, as well as other major browsers14:20
viricmake it stream the daily log14:21
viricor last 24h14:21
whitequarkviric: by default it streams from the last message in the chat. that isn't a public interface technically14:22
whitequarkbut yeah, last 24h it is14:22
viricwhy do I see 2010?14:22
whitequarkbecause I've just implemented that :)14:22
viriccurl exits14:24
viric502 bad gateway now14:24
whitequarkyeah, was upgrading the frontend14:24
whitequarknow it works properly14:24
viricLet's see14:24
viriclooks fine.14:24
viricdoes it have keepalive? :)14:24
whitequarkviric: nay. the connection drops after 30s of inactivity14:25
whitequarknot sure of which reason exactly. there's ruby, nginx, and chromium in the stack14:25
viricbecasue it is your will, right?14:25
viricouch14:25
whitequarkI was too lazy to implement keepalive14:25
viricI write all web things in c or go.14:25
viricI can't stand all those piles.14:25
viricI want to attach a gdb and see all.14:26
viric:)14:26
viricOf course, I don't implement much web things.14:26
whitequarkthe only go program (3rd-party) I've ever used segfaulted like hell14:26
whitequarkand as a language it's a step backwards14:26
viricnever trust others code.14:26
whitequarkso I avoid go.14:26
whitequarkruby, especially as used in webdev, is a huge time-memory tradeoff14:27
viricluckily different preferences can coexist :)14:27
whitequarkprogrammer's time vs RAM14:27
viricwell, if the programmer is tuned to ruby, I guess so.14:28
whitequarkas it turns out, server RAM is really cheap14:28
whitequarkviric: you don't need much time to begin writing good ruby. you don't have to care about a lot of stuff.14:28
viricI've lots of prejudices14:29
viricI'm unable to learn it.14:29
whitequarkmanual memory management, buffer overflows, threading (because it's single-threaded. perfectly fine for webdev.)14:29
viricdue to / thanks to the prejudices14:29
whitequarkwell, too much handwaving. it's concurrent, albeit most basic operations are atomic, but not parallel. so on the one hand you need to care about synchronization and race conditions IF you write threaded code, but on the other one there isn't much sense in writing in in the first place.14:30
whitequarks,in in,it in,14:31
viricI have a sense of joy when the code I write can run fast and using little resources.14:31
viricAnd I feel dirty if don't.14:31
viricso it's a matter of religion14:31
whitequarkviric: for some people coding is a matter of solving a real problem14:31
whitequarkI guess you're not one of them :)14:32
viricthat's quite pretentious :)14:32
viricproblems can be chosen at will.14:32
larscit's an art ;)14:32
whitequarkI absolutely can't stand huge, bloated JavaScript "webapps". precisely because they waste MY resources for nothing14:32
viricyes. It's important to choose the right problems to solve14:32
whitequarkbut, in much the same way, I have nothing against using however huge frameworks with literally hundreds of dependencies on OUR servers if it means that we can ship a feature in a day instead of a month.14:33
whitequarkthe user doesn't see that anyway. for him, it's fast.14:33
whitequarkservers are meant to execute huge software, for that matter.14:34
viricit's not my style14:34
viricI'm still not out of the market, despite my preferences :)14:34
whitequarkwell, market has lots of people who can't program at all14:35
whitequarkso that's not a way to measure it :)14:35
viricI mean that I still know people who can pay for my work ;)14:36
whitequarkthe market for programmers is incredibly heterogenous14:36
DocScrutinizer51m. xmess!14:37
viricyes, that's what I meant at the beginning; that there is a place for all of us14:37
whitequarkI know people who write server management software in Haskell14:37
whitequarkpresumably as a way of intellectual property protection, as it's even more write-only than perl14:37
whitequarkwhich is itself quite an achievement.14:38
whitequarkDocScrutinizer51: sounds like an X11 applet name14:39
DocScrutinizer51hehe14:39
DocScrutinizer51been seasons greetings though14:39
whitequarkviric: you might especially enjoy http://whitequark.org/blog/2012/12/06/a-language-for-embedded-developers/ :D14:40
viricand there, by 'embedded' you mean what? :)14:42
whitequarkviric: 32-bit (possibly also 16-bit) micros with von Neumann architecture and however small amounts of RAM you'd like14:42
whitequark8K is perfectly fine.14:43
viricdo you run ruby in the nanonote?14:43
whitequarkviric: no, because I wasn't able to come up with a task which is best solved by using NN, and no, that's not a good idea14:43
viricwould you write a mp3 player for the nanonote with that?14:44
whitequarkviric: in fact mp3 player could work on a NN with current ruby as-is, but that's a different topic14:45
whitequarkwith my dialect, yes, and even more14:45
whitequarkI'd happily write an mp3 decoder14:45
viricok14:45
viricyou'll have to start the show first, before I join :)14:46
whitequarkindeed, that's what I'm working on right now14:46
viricah nice.14:47
whitequarkthe first target is Maple Leaf: 32-bit ARM Cortex-M3 w/ 8K RAM, 128K ROM  and amount of peripherals which would make atmegas envious14:47
viricaha14:47
whitequarkthe nice thing about that board is that it's swappable with Arduino, which means I'd instantly get access to an ecosystem (of toys, but even toy feedback can be valuable)14:48
whitequarkwell, almost swappable, sans 5V/3V3 levels14:48
whitequarkmost of the arduino peripherals are 3V3-safe nowadays14:48
whitequarkhttp://leaflabs.com/devices/maple/14:49
viricthere was a go rawmetal runtime some time ago...14:51
viricbut got deprecated due to lack of maintainer14:51
whitequarkI'm putting emphasis not on the language itself, but on board support packages14:51
viricmaybe someone will make another one.14:51
viricOk14:51
whitequarkit is really cool to be able to initialize an USB HID peripheral with a single line of code.14:52
viricall can be reduced to a single line. the magic of function calls :)14:52
whitequarkwith a single line of code _you_ need  to write14:53
whitequarkand with a sane, fast and debuggable framework to achieve such abstraction14:53
viricperl people also do all in a single line14:54
whitequark>sane14:54
viricthat's a matter of taste.14:54
viriconce a brain is tuned to something...14:54
whitequarkwhat my compiler does is basically constant propagation and inlining taken to the extreme14:54
whitequarkwhere it becomes more like Lisp's macro expansion, but with all of the benefits and none of the parentheses14:55
viricyou can make it control the muscles to play even a A:@8?0G14:55
whitequarkto play a violinist? :D14:55
whitequarkpoor guy14:55
virichm14:55
viricA:@8?:C :)14:55
whitequarkyeah:)14:55
rjeffrieskristianpaul are you (still?) working on GPS? http://hackaday.com/2012/12/24/update-roll-your-own-gps-can-now-track-twice-as-many-satellites/ wolfspraul was also interested in GPS open h/w, back in the day. 22:27
kristianpaulnot right now22:35
kristianpaulah interesting 22:35
kristianpaulthat receiver is nice you know because dont need to buy a IC but22:35
kristianpaulstill bit bigger tought..22:35
kristianpaulrjeffries: did you saw those guys at defconf? they are hacking its own gps receiver23:04
kristianpaultought is not a single chip solution (without mention RF IC)23:05
DocScrutinizer05completely insane: http://blog.parts-people.com/2012/12/20/mobile-raspberry-pi-computer-build-your-own-portable-rpi-to-go/23:17
DocScrutinizer05abusing random regulator in LCD as main PSU23:18
DocScrutinizer05for several Ampere @ 5V23:18
DocScrutinizer05haha suuuuure23:18
DocScrutinizer05I mean, that thing is as clumsy and ugly from the outside as it's on schematics ;-D23:19
kristianpaullet then be happy :-)23:34
wpwraklet me contribute a language rant as well: most of the supposedly "friendly" programming languages are implemented in C. by people who - when done - have learned C well enough that they realize that their effort was wasted. at that point, most will silently bury their work. only those who still don't get it, or who lack the moral strength to admit their mistakes push on. now, gives this background, does it make it a good idea to trust23:38
wpwrak those languages ? :-)23:38
--- Tue Dec 25 201200:00

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