IRC Logs for #circuits Thursday, 2014-03-27

*** koobs has quit IRC01:12
*** robert_ has joined #circuits02:05
prologicmoo indeed02:06
prologichi robert :)02:06
robert_Circuits doesn't work with Py3k :p02:07
*** koobs has joined #circuits02:08
robert_oh, wait02:08 does, nevermind. pip was giving me 2.1.0, lol02:09
prologicyes it does actually02:09
prologicpip shoudln’t give you 2.1.0 anymore02:09
prologicnot since we pushed a dev release up02:10
prologicwe have to because an older user of ours wanted a 1.5 patched release pushed up02:10
prologicto fix some packaging issues02:10
prologicso we had to release 1.5.102:10
prologicand push so users didn’t accidently get 1.5.1 :/02:10
prologicwhich is like ~4 years old or so02:10
prologicor more02:10
robert_Downloading circuits-2.1.0.tar.bz2 (1.1MB): 1.1MB downloaded02:10
robert_I think because it's "dev" that it's giving me 2.1.002:11
prologicyou’re right too02:12
prologicwonder why isn’t getting picked up as the new default release02:12
prologicoh well02:13
prologicpip install circuits==3.0.0.dev02:13
prologicwe’re not ready for a proper 3.0 yet02:13
prologicstill working on some issues02:13
prologicpyconau slides02:13
prologicthen we’ll push up a 3.0 proper02:13
prologicanyway how can we help you?02:13
robert_I'm looking at writing a cli system management app; I wanted to be able to be able to do something like COM, only not so... eww... to where I could say, "Okay, this a thing here, create that there." so I could pretty much parsel out this project into a bunch of components02:15
robert_similar to something like
robert_or like
robert_and it looks like vanilla circuits "assumes" that I already know what objects I'm going to be using, when I won't really know until I get into it.. Like, I'm a HUGE fan of loose coupling.02:21
prologicnot sure I agree with your last statement02:23
prologicwhy do you think this anyway?02:24
prologicI mean circuits as a framework is highly dynamic02:24
prologicit was designed to be02:24
prologicin any case this sounds like an interesting project :)02:24
robert_all of the Foo().register() calls02:24
prologicgo on...02:25
prologicFoo() could be any component02:25
prologiceven one loaded dynmically at runtime02:25
robert_Hey, I could be looking at this wrong. So bare with me. :D02:25
prologicno no, all good :)02:25
prologicjust trying to help you help me help you02:25
prologicetc :)02:26
prologicI might go grab some lunch shortly though02:27
robert_it seem to me like they promote tight coupling, since I'd have to know the explicit name of whatever it was that I was using. For instance, a Window component; basic enough, but what if I wanted something like an X11Window or a CursesWindow? (Crappy names, but they demonstrate what I see.); as long as they both "behave" like a Window, shouldn't it be irrelevant which one I'm using?02:28
prologicso forget component names as such02:29
prologicwhat’s important in any circuits application02:29
prologicare the events02:29
prologicor the messages02:29
prologicthey define your interfaces between components02:29
prologicthey are what bind two or more components together in a cooperative system02:29
prologicand loose coupling comes from both the component architecutre02:29
robert_Oh, okay. So the "API" essentially are the messages02:30
prologicthe fact you can register/unregister any arbitrary complex component graphs02:30
robert_API interfaces*02:30
prologicand the powerful message passing event-driven system02:30
robert_whatever :p02:30
prologicwhere you can override any part of the system02:30
prologicin any place02:30
prologicwithout having to know much about it at all02:30
prologicThe API is quite simply this:02:30
robert_OH, okay.02:31
prologicthere are also addHandler() and removeHandler()02:31
prologicbut we don’t really promote these02:31
prologicbecause their internal-ish02:31
prologicand used for advanced dynamic event handler ceation02:31
robert_So actually your "Window" does nothing but "sends" and "recieves" messages between the actual thing doing the heavy lifting.02:31
prologicall of circuits component libraries02:32
prologicand circuits.web are all built this way02:32
prologicthe general idea is to build more complex components form simpler ones02:32
prologictying them together via regisration02:32
robert_Oh, and it's okay to throw in those, because you're figuring out what you can load.02:33
prologicHave you seen for examole this component graph of sahriswiki ( ?02:33
robert_(my C++ bleeding through, lol)02:33
prologicyou can do whatever you want :)02:33
prologiccircuits tries very hard not to get in the way :)02:33
prologicbut otoh _it is_ an event-driven component application framework02:33
robert_Oh, nice.02:33
prologicso if you don’t use it’s event-drivne adn component apis you’re not really benefiting02:34
robert_I see. :D02:36
robert_So I would just go __import__ everything from where I have it all in my Application class, then.02:37
robert_(crude auto-registration ftw, lmao)02:37
prologicyou should check out circuits.core.loader03:27
prologicour crude auto regisration and initialization plugin functionality03:27
*** Workster has quit IRC03:50
prologicrobert_: let mw know if you need anything else03:51
prologicor want to know something more03:51
*** Workster has joined #circuits03:53
*** Workster has quit IRC03:53
*** Workster has joined #circuits03:53
robert_of course. :D04:03
robert_I'm working on my core right now and wiring together two frameworks.04:04
robert_fun, huh?04:04
prologicwhich other framework?04:14
c45yNice asset number you have there04:24
prologicyeah :)04:36
robert_prologic: www.urwid.org04:36
prologichave you seen examples/
prologica console irc client using urwid04:37
prologicintegrating the urwid event system into circuits04:37
c45yI'm actually interested in passweb atm04:38
robert_I'm trying to abstract the UI so I can create windows and widgets and such without having to worry about Urwid or X11 or whatever internals. :D04:39
robert_meh, there has to be a better way to generate a skeleton python project than manually creating files, lol04:43
robert_I don't care about magic code, but I just mean like, a way to generate empty files based on like, best practives or something.04:44
prologicc45y: yeah I’ve gotta keep working on that04:45
prologicI just threw togetehr a few bootstrap templates with circuits.web behind it04:46
prologicand I haven’t gone back to it yet04:46
c45yIt is actually something my team would love04:46
prologicI did at least document what the goals are04:46
c45ythey are using eWallet atm...and it's ass04:46
prologicand what it’s featureset should be04:46
prologicwhy don’t you and I work on it? :)04:46
prologicwe can whip the initial functionality together quite quickly I think04:46
c45ybecause bruce wants his projects delivered :P04:46
prologicclient-side encypriton04:46
prologicserver-side storaged with end-to-end encyrption04:47
c45youtside work maybe I'll take a stab at it04:47
prologicand easy to use ui and apis04:47
prologicwell I sort of meant outside of work :)04:47
c45yah good plan04:47
prologicthe powers that be always want things in untimely manners :)04:47
prologicWhich are you better at btw?04:47
c45yMore I got held up for 4 months with legal04:47
prologicUI or Backend?04:47
prologicI’m better at tha later :)04:47
c45yumm im not really sure anymore04:47
prologicrobert_: there is, I forget what it’s called04:48
prologicI had a quick look at it though04:48
c45yyou tell me04:48
prologicit didn’t have any templates that I would have liekd though :/04:48
prologicif I remember what it’s called I’ll paste the link here04:49
prologicoh crud04:49
robert_you know what'd be interesting? A secure communication/networking protocol that initializes over http and then switches to a different port number. Possibly utilizing upnp or something.04:49
prologicI don’t have much of a search path04:49
prologicprivmsg me the fqdn?04:49
prologicrobert_: you mean HTTPS + Websockets over HTTPS?04:50
c45ythats basically where things are heading04:50
robert_Sort of, but it'd be its own protocol.04:50
prologicc45y: yeap you rock at UI04:50
c45ythere isn't really a need for one04:50
prologicbetter than me :)04:50
prologiccheck out
prologicuggh :)04:50
c45yI'm bad at populating blogs04:51
prologicI agree04:51
prologicIRC over WebSockets04:51
prologiceasy as :)04:51
c45ynever irc04:51
c45yfor anything but irc04:51
prologicI love IRC04:51
prologiccan’t you tell :)04:51
prologicwell sure04:51
prologicbut yeah04:51
c45yit's total ass to do anything but use as intended04:51
robert_IRC would be weird over websockets. :P04:51
prologicthere’s hardly a need for another protocol04:51
c45yrobert_: there was a project to wrap it some time ago04:52
c45yI think04:52
prologicanyway we should defaintely flesh out passweb04:52
robert_Oh god.04:52
prologicI have some awesome ideas for it in the future04:52
robert_that's awful.04:52
c45yhaha yea04:52
prologice.g: Keychain integration for OS X04:53
prologicand the equivilent on LInux (forget wht it’s called?)04:53
c45yI was planning to just do a bunch of encrypted flat files with attached metadata, with decrypt on the client side04:53
prologicthat’s pretty much what we want04:53
prologicbut web based :)04:53
prologicwell I’ll likely build a CLI app for it too04:54
prologicthat just uses the REST API(s)04:54
c45ysounds nice to me04:54
prologicmake it nice and estensible04:54
c45yhas client side js encryption got any better of late?04:55
c45yit was really rubbish last time I took a stab at this04:55
prologicwe could integrate this into passweb too04:55
prologicas an optional backend04:55
prologicor another way to create and store passwords04:55
prologicthe idea behind pwm is that the passwords are never actually stored anywhere04:55
prologicit uses random data + your salt04:55
c45yjust store the index for the password string in pi, provide user with index04:55
prologicso the random data by itself is not the password04:56
c45ymake them compute their password04:56
prologicpretty much how pwm works04:56
prologicthe password db/file is useless by itself04:56
prologicwithout the salt04:56
prologicwhich from talking to the author04:56
prologiccan be different per password string04:56
prologici.e: it doesn’t have to be a single master salt/password04:56
prologicoh re js client-side encryption04:57
prologicyes it has gotten  better laterly04:57
prologicthere is quite nice/good libraries for string AES encryption clide-side04:57
prologicMIT researchesrs have used this to create (recently) what they call a secure web application platform taht doesn’t leak data04:57
c45ybut they all require beta browsers or lock the damn thing on older machines04:57
c45yprologic: a 'lie' ?04:58
prologic-but- I call bullshit on their “research” aspect of it because anyone could have though of compelte end-to-end encypriton04:58
prologicand that’s all they’ve really done04:58
prologicjust packaged it up in a nice-ish way04:58
c45yit doesn't quite do what they say it does either04:58
prologicno not really04:58
prologicI hate seeing that kind of IT “research”s04:58
prologicso-called research04:58
prologicit’s just an engineering problem really04:58
c45ycomments nailed it:
prologicnow that I think about it a bit more05:00
prologicand just reading some SO Q&A(s)05:00
prologicwe should not do client-side encyrption at all05:00
prologicjust use SSL for teh web app side of things05:00
prologicand the REST apis05:00
prologicwe should just use the same idea behind pwm05:00
prologicor integrate it as a lirbary/backend05:00
prologicthat way passwords are never actually stored05:00
prologicthe comms is secured05:00
prologicand we’re golden05:00
c45ysecured as long as they key is good05:01
prologicof course05:01
c45ywhich people aren't so sure about these days with the seed prediction stuff05:01
prologicany password database is only as good as your key05:01
c45yerr, random prediciton05:01
prologicbut in the case of pwm05:01
prologicyou could use different salts/keys for groups of passwords05:01
prologicand a different one for other passwords05:02
prologicyeah there are growing concerns over ssl05:02
prologicre nsa bs, etc05:02
prologicbut it’s not like there’s any better alternatives05:02
c45ythere are05:02
prologicthe only thing you can do in this situation is use your own cert05:02
c45ybut not everything supports them yet05:02
prologicand self sign it05:02
prologicsuch as?05:02
c45ydifferent elliptic curve seeds05:03
c45yI've decided my circuits project is going to be a new irc bouncer05:04
prologicoh yes05:04
c45yfking znc keeps dropping me05:04
prologicso you’re really talking about PRNG here right?05:04
c45yyea thats the word for it05:04
c45yhad forgotten the term05:05
c45ythe implementation in tls / ssl is believed weak05:05
prologicactually I’d be in on that too05:05
prologicI use znc myself as well05:05
prologicand I find it a little horrible at times05:05
c45ynearly everyone does05:05
prologicplus I want better push features05:05
c45yonly know a few who use bnc05:05
c45ygod yes05:05
prologicso I’d defiantely be in on that :)05:05
prologicso yeah we could definately write one05:05
prologicin fact it wouldn’t be too hard at all right now05:05
c45ydoes circuits web do websockets?05:06
prologiccould even integrate a web client into it as well05:06
prologicyes it moset ceratinly does05:06
c45ymy idea is a web client, not client attached 'proxy'05:06
prologicat the end on the circuits side05:06
prologicit’s as-if you’re delaing with a normal socket05:06
c45yim tired of phone/ipad/3 different os trying to all hook up05:06
c45yeverything does webpages05:06
prologicI’m just tired of ZNC droppoing out05:07
prologicand not reconnecting quick ly enough05:07
prologicI want distributed bouncer05:07
c45yyou can set that all05:07
c45ykick me and I'll be back in under a second05:07
prologicinstantaneously switch the session to another active client05:07
c45yworks the same for network d/c05:07
prologicwell yeah05:07
prologicexcept when the network is under DDOS05:07
prologicthen ZNC fails quite badly05:07
prologicbut asidre from that05:08
c45ymine has stayed up while I was getting attacked ages ago lol, surprised me05:08
prologicthe Push stuff kinda sucka a bit05:08
prologicI think it only works with COlloquey on the iPad/iPhone05:08
prologicwhich his just well dumb05:08
prologicI want it on my Android phone/tablet too05:08
c45yplus its all C, and nobody drunkenly extends their bouncer when it's in C05:08
prologicI know I don’t :)05:08
prologicthe only C I’m writing these days is for TinyDuino05:08
prologicbefore that umm05:09
prologic15 years ago or so? :)05:09
c45yI've written a lot of languages while drinking, and C was the only one I had no idea what I had done the day after05:09
prologicyou mean implementied working toy programming langauges?05:10
prologicor writte in a lot of languages?05:10
c45ywritten >IN< a lot of languages05:10
c45yterrible writing today05:10
prologicahh :)05:10
prologicI was gonna say :)05:10
c45ywhere do I put all the keywords!05:11
prologicSee: and
c45yio-lang is the only thing I have considered embedding in an app05:11
prologicIo is nice :)05:11
prologicmio-lang is inspired by it a little05:11
prologicbut also heavily influcned by Python05:11
c45yah ok05:11
prologicit’s fully functional :)05:12
prologicas in it works, etc and you can write pretty complex programs in it already05:12
prologicmio that is05:12
c45yshould present it to brisbane functional programming group05:12
prologicI just need to keep working on porting it to RPython05:12
prologicmaybe :)05:12
c45yanyway im leaving soon, better finish up what I should be doing atm05:12
prologiceriknw (who seems to be idle for months) was going to help me port it to RPython05:12
prologicbut I haven’t heard form him in a long while05:12
prologicyeah I’m leavin soon too05:13
eriknwaw, make me feel guilty...05:18
eriknwhey prologic!05:18
prologichi eriknw  :)05:19
prologicnah wasn’t trying to05:19
prologicjust tried to raise you a couple of times05:19
prologicand well you didn’t respond :)05:19
prologicI started thinking your client/connection was a PC in a coner somewhere that had been orgotten :)05:19
eriknwsorry for my prolonged absence.  I've been oddly busy, although functional programming and other languages have still been in my focus05:19
prologicno no taht’s all good :)05:21
prologicwell at least something got your attenion today05:21
prologicwhat you been busy with btw?05:21
prologicgot yourself a new job, etc?05:21
eriknwaye, I think you tend to ping me when I'm far away (or asleep) and my internet flakes out.  things are still pretty much up in the air for me, so my coding priorities tend to jump around a bit ;)05:21
eriknwnope, no job yet... haven't really looked in earnest yet05:22
prologicwhat TZ are you in again?05:22
prologicmaybe that was the problem all along :)05:22
prologicnon-coinciding times :)05:22
eriknweastern  USA05:22
prologicso US east coast05:22
prologicwhat’s that, 15hrs behind AEST?05:22
prologicI’m 15hrs in front of you05:23
eriknwyeah, that's quite a bit difference.  it tends to be really late for me  when we chat, so my brain isn't fully functional05:24
eriknwbtw, I may help give a tutorial about functional programming at SciPy this year05:24
prologicnice :)05:24
prologicerr Colloquy is retarted05:25
eriknwhmm, how rude of me: where do things stand with mio-lang?05:25
eriknwdid you try to send a file?05:25
prologicmy god05:26
prologicit’s 1am over there now?05:26
eriknw*yawn* yup!05:26
prologicyeah well as I’m a bit of a night owl05:26
prologicthe 15hr difference isn’t too bad for me05:26
prologicI haven’t worked on mio-lang in a while actually05:26
prologicnot for months really05:26
prologicI really think it’s at a point where it needs to be reimplemented in RPython05:27
prologicor similar05:27
prologicI’ve learned al I can for now I think in it’s high-level implemenation05:27
eriknwah, k.  have you considered Cython?05:27
prologicNo not really05:28
eriknwI'm just not that familiar with PyPy and RPython yet, and I don't really know where it's used05:28
prologiconly RPython naturally because it’s more designed/geared for writing dynamic intepretered langauges05:29
prologice.g: PyPy :)05:29
prologicRPython itself is quite cool/nice05:29
prologicmio-lang’s codebase has nice Fabric-style tasks for making the whole compilation and seutp easy05:29
prologicand a couple of “stubs” that do compile correctly05:29
prologicbut yeah05:29
prologicRPython is basically C with a Pythonic syntax05:29
prologicyou just have to remember that RPython != Python05:30
prologicnot allowed to do anything dynamic basically05:30
eriknwhmm, so it is possible to build C extension modules for CPython using RPython?  (sorry for the tangent question)05:30
prologicusing cffi05:31
prologicwhich IIRC is compatible with RPython05:31
prologicanyway I’m outta here05:33
prologichome time05:33
eriknwcool, catch you later05:33
eriknwI'm off to bed!05:33
eriknwtoo hard to gather thoughts :)05:33
prologicnight :)05:33
eriknwactually, do you have 30 seconds?05:33
eriknwI asked about Cython because I've been playing with it (for reasons I won't explain now)05:34
eriknwsince one needs a project to properly learn something, I just started implementing `toolz` in Cython05:35
eriknwit's been interesting.  I'm thinking about using the name `coolz`.  An RPython implementation would probably be straightforward to do too.  `roolz`?05:35
eriknwwell, cya!05:35
*** Ossoleil_ has joined #circuits06:08
*** Ossoleil__ has joined #circuits06:10
*** Ossoleil has quit IRC06:11
*** Ossoleil_ has quit IRC06:13
*** Workster has quit IRC06:31
prologiceriknw, hmmm that does sound interesting07:45
prologic(for when you awaken)07:46
prologicsorry I had already dashed to catch my bus07:46
prologictalk to you when you're about again07:46
Romsterand home08:19
*** Workster has joined #circuits08:28
*** Workster has quit IRC08:28
*** Workster has joined #circuits08:28
*** lhonda__ has joined #circuits12:59
*** space has joined #circuits17:33
*** Ossoleil__ has quit IRC17:46
prologichi lhonda__20:25
prologicmron’n all23:14

Generated by 2.11.0 by Marius Gedminas - find it at!