dirac

Dirac v1.7.2 is out: https://github.com/binaryage/dirac/releases/tag/v1.7.2
2017-03-29T06:58:01.651305Z

@baptiste-from-paris O

2017-03-29T06:59:02.662409Z

Feel free to ask. I will get back to it.

baptiste-from-paris 2017-03-29T09:08:42.637636Z

I was wondering what prerequisites are necessary to generate chromex from js API

baptiste-from-paris 2017-03-29T12:13:38.470482Z

my question is pretty simple, do you think generation process that you apply on chrome extension api would be portable in some way to google charts https://www.google.com/uds/modules/gviz/gviz-api.js

baptiste-from-paris 2017-03-29T12:13:58.475473Z

https://developers.google.com/chart/interactive/docs/reference

2017-03-29T13:42:39.344102Z

absolutely not portable, chromium devs described their api via JSON, this data structure is used mainly for generating their documentation site[1], I simply abused the fact and generate clojure code from that JSON: https://github.com/binaryage/chromex/tree/master/tools [1] https://developer.chrome.com/extensions/api_index

baptiste-from-paris 2017-03-29T13:42:57.352241Z

ok

2017-03-29T13:43:24.363870Z

gviz people most likely have nothing to do with chromium and I doubt they would have some similar data describing their apis

baptiste-from-paris 2017-03-29T13:43:51.375753Z

ok ok

baptiste-from-paris 2017-03-29T13:43:55.377269Z

thx 🙂

baptiste-from-paris 2017-03-29T13:45:08.409428Z

so I should 1 - use directly js or 2 - wrap native js api into cljs functions

2017-03-29T13:45:48.427284Z

not sure, I’m not familiar with those apis

2017-03-29T13:46:37.448833Z

but in general yes, either use js interop directly or hide it behind a wrapper library

baptiste-from-paris 2017-03-29T13:47:35.474270Z

Ok, thanks @darwin ! And the chromex lib is impressive ! 👏👏👏

2017-03-29T13:47:41.477005Z

thanks 🙂

2017-03-29T13:48:08.488643Z

btw. when getting your hands dirty with js interop, check out https://github.com/binaryage/cljs-oops

2017-03-29T13:48:29.498233Z

chromex uses it internally

baptiste-from-paris 2017-03-29T13:48:33.500050Z

I've seen it but never tried

2017-03-29T13:48:51.508010Z

ah, wait, maybe not

2017-03-29T13:49:38.529088Z

actually yes: https://github.com/binaryage/chromex/releases/tag/v0.5.0

2017-03-29T13:50:01.539348Z

I forgot already...

baptiste-from-paris 2017-03-29T13:50:31.553445Z

I started to read what you can do with a chrome extension

baptiste-from-paris 2017-03-29T13:50:55.564544Z

And you can do quite a lot... #bigbrother

2017-03-29T13:51:23.576985Z

yep, I consider chrome as a very attractive application platform

baptiste-from-paris 2017-03-29T13:52:26.604835Z

I use chrome extension, but I never paid for one (and I buy a lot of apps/saas/softwares)

baptiste-from-paris 2017-03-29T13:53:26.631631Z

I am not sure people are ready to buy chrome extension

2017-03-29T13:54:35.662795Z

right, monetization is an open question

baptiste-from-paris 2017-03-29T13:55:08.677937Z

Should be possible as a support for a standalone product

baptiste-from-paris 2017-03-29T13:55:45.695429Z

"Chrome extension adds some magic to my super product "

sineer 2017-03-29T22:12:53.778975Z

Wow, I never realized chromex could do so much stuff! It makes me wonders how hard it can be to install and hide an evil chrome app...

2017-03-29T22:14:53.812198Z

pretty hard

2017-03-29T22:15:25.821179Z

btw. Google can black-list/uninstall extensions installed from the chrome web store.

2017-03-29T22:15:55.829314Z

and in general they take security/privacy very seriously

sineer 2017-03-29T22:16:20.835319Z

well forget hiding as most people wouldn't even notice something wrong with browser until nothing works... All you need to do is get them to install your app right?

2017-03-29T22:16:24.836760Z

so you as a user would have to give strong permissions to an evil extensions

sineer 2017-03-29T22:16:44.842259Z

again most people would never even read about your permissiong just click next.

sineer 2017-03-29T22:17:17.851094Z

the only barrier is that chrome web store is the only place I can get extensions from or not evne?

2017-03-29T22:17:34.856074Z

you can install them by hand, from a “zip” file

sineer 2017-03-29T22:18:02.863583Z

heh yeah I guess at that point you might as well install an exe and get them to give you admin rights..

2017-03-29T22:18:40.873939Z

right, the same applies to any platform if you assume that users are stupid 🙂

sineer 2017-03-29T22:18:58.878798Z

but still that might have to deal with AVs and on mac little snitch whitelisting chrome is so common that is a nice vector...

2017-03-29T22:19:17.883737Z

as I said, they have a mechanism how to remove malware/rogue code if it turns out to be an issue

sineer 2017-03-29T22:19:48.892254Z

I just think it would be easy to trick even someone like me into installing a seamingly friendly chrome extension (ie dirac ?! 🙂 ) that would call home and screencapture and shit

2017-03-29T22:20:54.910248Z

not easy, the apis are pretty limited

2017-03-29T22:21:26.919179Z

and again you would have to give it really strong permissions, which is not something you would want to do for a usual extension

2017-03-29T22:22:18.932980Z

but there could be some attack vectors, but we yet have to see some real incidents in the wild

sineer 2017-03-29T22:22:34.937034Z

ok I'll take your words for it 😉 at first glance it does look quite worrying but you are correct that at least there is such permission mechanish... I'm just getting a little more worried about browsers everyday I think

2017-03-29T22:23:26.950693Z

chrome people are quite capable, I trust them that they find a good balance - features vs. security/privacy

sineer 2017-03-29T22:29:31.046041Z

Yeah you may be right 🙂 Still I never realized chromium could do all that stuff, I thought sure maybe chrome with their bunch of exts but plain chromium doing all that wow.. I guess you do need all that to be a true platform so yeah I'm not sure why I'm surprised.