Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 69 Next »

[02:50:31 CDT(-0500)] <amilchev> Justin_o: any chance you're here now? (smile)

[09:23:58 CDT(-0500)] <jessm> cindyli: ping

[09:24:06 CDT(-0500)] <cindyli> jessm: pong

[09:24:18 CDT(-0500)] <jessm> cindyli: are you subscribed to the GPII ux list?

[09:24:49 CDT(-0500)] <cindyli> jessm: i did yesterday

[09:24:53 CDT(-0500)] <jessm> ah

[09:25:02 CDT(-0500)] <cindyli> perhaps still waiting for kasper's approval

[09:25:22 CDT(-0500)] <jessm> cindyli: you should have been able to just subscribe on mailman i think

[09:25:37 CDT(-0500)] <jessm> http://lists.gpii.net/cgi-bin/mailman/listinfo/ux

[09:26:32 CDT(-0500)] <cindyli> after subscribing on this page, i got "your subscription request may have to be first confirmed by you via email, or approved by the list moderator."

[09:27:06 CDT(-0500)] <cindyli> jessm: since I didn't receive any confirmation email, i guess my request might be pending for an approval

[09:28:09 CDT(-0500)] <jessm> weird

[09:30:13 CDT(-0500)] <cindyli> jessm: just recieved an confirmation email after re-subscribing. i might accidently deleted the one for yesterday's request. I should be on the list now.

[09:30:25 CDT(-0500)] <jessm> yay!

[10:15:13 CDT(-0500)] <Justin_o> michelled, yzen: cindyli and I finished our first round of comments on the code review for https://github.com/GPII/prefsEditors/pull/6

[11:51:40 CDT(-0500)] <jhernandez> clown: ping

[11:52:56 CDT(-0500)] <clown> jhernandez: pong

[11:53:48 CDT(-0500)] <jhernandez> after trying the module ...

[11:54:02 CDT(-0500)] <jhernandez> do you think it fits our needs?

[11:54:16 CDT(-0500)] <jhernandez> are you missing something?

[11:54:21 CDT(-0500)] <jhernandez> do you have any ideas?

[11:55:17 CDT(-0500)] <jhernandez> right now I have a branch in Android where I am going to do the same, but for Android

[11:55:27 CDT(-0500)] <clown> "do you think it fits our needs?" yes, but I'm trying to think of things we might want to do in addition to this basic functionality.

[11:55:59 CDT(-0500)] <clown> "are you missing something"? I don't think so. I see how it works. I've been looking at the pkit glib documentation to see how it might be extended.

[11:56:45 CDT(-0500)] <clown> "do you have any ideas?" Yes, I wrote an email about using filters to finesse the search. I'm looking into how to use them here.

[11:57:00 CDT(-0500)] <clown> It will mean changes to your code, but I'm not sure how yet.

[11:57:17 CDT(-0500)] <clown> oh, and btw.

[11:57:36 CDT(-0500)] <clown> again with the synchronous calls. Can we get away with that?

[11:58:35 CDT(-0500)] <clown> another btw: thanks for solving this problem.

[11:58:40 CDT(-0500)] <clown> with your code, jhernandez.

[11:58:52 CDT(-0500)] <jhernandez> we can change it to be async easily

[11:59:09 CDT(-0500)] <jhernandez> heh, clown yw, I love writing c++ :]

[11:59:22 CDT(-0500)] <clown> you do? why??? (wink)

[11:59:29 CDT(-0500)] <jhernandez> dunno

[11:59:39 CDT(-0500)] <jhernandez> don't ask (tongue)

[11:59:57 CDT(-0500)] <jhernandez> ok

[11:59:58 CDT(-0500)] <jhernandez> so

[12:00:01 CDT(-0500)] <clown> actually, you have written this strange mixture of C++ and GOBject.

[12:00:07 CDT(-0500)] <jhernandez> heh

[12:00:14 CDT(-0500)] <clown> (not that you had a choice..._

[12:00:18 CDT(-0500)] <jhernandez> yes, it's strange

[12:01:01 CDT(-0500)] <jhernandez> but GObject simplifies a lot of stuff

[12:01:10 CDT(-0500)] <clown> shall I try to change it to async? Just to get some experience with this stuff?

[12:01:13 CDT(-0500)] <jhernandez> and C++/v8 stuff too

[12:01:32 CDT(-0500)] <jhernandez> I'm ok with it

[12:02:08 CDT(-0500)] <jhernandez> anyway, I'd like to keep working on the "cross-platform" solution

[12:02:21 CDT(-0500)] <clown> makes sense.

[12:02:57 CDT(-0500)] <jhernandez> so I'd re-read our thoughts about device reporting stuff, and will compose a mail

[12:03:16 CDT(-0500)] <jhernandez> I'd like to hear from Steve and others

[12:03:44 CDT(-0500)] <clown> by "re-read out thoughts", do you mean this: http://piratepad.net/aIQKUWQFJJ

[12:03:46 CDT(-0500)] <clown> ?

[12:03:50 CDT(-0500)] <jhernandez> others == yzen colin kasper Bosmon ...

[12:04:02 CDT(-0500)] <clown> "everyone" in other words...

[12:04:04 CDT(-0500)] <clown> (smile)

[12:04:05 CDT(-0500)] <jhernandez> clown: basically, yes (that piratepad) plus some mails

[12:04:09 CDT(-0500)] * jhernandez nods

[12:05:21 CDT(-0500)] * clown notes that the filtering stuff I posted to the architecture mailing list is do-able using jhernandez's pkit node add-on.

[12:05:49 CDT(-0500)] <clown> the filters are given in the pkit glib interface. Alas, they are enums there...

[12:06:21 CDT(-0500)] * jhernandez nods

[12:06:43 CDT(-0500)] <jhernandez> in fact, you can see there that I am looking for INSTALLED and AVAILABLE packages

[12:07:32 CDT(-0500)] <jhernandez> but we can change the add-on to be filter-dynamic

[12:07:51 CDT(-0500)] <clown> btw, looking that pirate pad, line 44, where it declares "OS"? If I do packagekit.searchPackage("OS"), I get every possible package output. Every one of them.

[12:08:05 CDT(-0500)] <jhernandez> well

[12:08:24 CDT(-0500)] <jhernandez> OS comes from node.js

[12:08:34 CDT(-0500)] <clown> regarding "filter-dynamic": right, that's what i was thinking. The javascript could call the search function with filters.

[12:09:03 CDT(-0500)] <jhernandez> not from the device reporter, but this object can be extended

[12:09:26 CDT(-0500)] <clown> what do you mean "from the device reporter"?

[12:09:59 CDT(-0500)] <jhernandez> you can get the OS details directly from node.js

[12:10:33 CDT(-0500)] <jhernandez> var os = require('os');

[12:10:49 CDT(-0500)] <jhernandez> os.platform()

[12:10:51 CDT(-0500)] <jhernandez> 'linux'

[12:11:04 CDT(-0500)] <clown> oh, I see. So, there is no need to even use pkit in this case (If you want the os you are running on).

[12:11:05 CDT(-0500)] <jhernandez> os.release()

[12:11:06 CDT(-0500)] <jhernandez> '3.7.10-1.1-default'

[12:11:12 CDT(-0500)] <jhernandez> yup

[12:11:17 CDT(-0500)] <clown> gotcha.

[12:11:30 CDT(-0500)] <jhernandez> our add-on is just to deal with packages

[12:11:47 CDT(-0500)] <clown> but, am I crazy to suggest using filters to narrow the serach for software packages?

[12:11:53 CDT(-0500)] <jhernandez> aka: what we called "DR Plugin"

[12:11:55 CDT(-0500)] <clown> or just loony?

[12:13:08 CDT(-0500)] <jhernandez> not loony

[12:13:57 CDT(-0500)] <jhernandez> ie: if we run this module into a pure-free distribution, we would like to use the FREE filter

[12:14:52 CDT(-0500)] <jhernandez> so it's not a crazy idea at all

[12:16:15 CDT(-0500)] <clown> yes, that's one application.

[12:16:41 CDT(-0500)] <clown> another is: "don't give me any "devel" packages". I assume that most GPII users just want the apps.

[12:16:55 CDT(-0500)] * jhernandez nods

[12:17:27 CDT(-0500)] <clown> so: PK_FILTER_ENUM_NOT_DEVELOPMENT

[12:17:40 CDT(-0500)] <jhernandez> yup

[12:17:58 CDT(-0500)] <jhernandez> in fact, I think that this should be mandatory

[12:18:39 CDT(-0500)] <jhernandez> now, it could be a good idea if we provide some tests

[12:19:03 CDT(-0500)] <jhernandez> at this moment we're only testing the "searchPackage" functionality

[12:19:26 CDT(-0500)] * clown looks

[12:20:23 CDT(-0500)] * jhernandez looks for a shared-name (and not usually installed by users) package both for suse and fedora

[12:23:01 CDT(-0500)] * clown talking with wife...

[12:30:03 CDT(-0500)] <clown> jhernandez: my attention is back here now. You were saying that "we're only testing the searchPackage" functionality.

[12:31:33 CDT(-0500)] <clown> actually, shouldn't the test compare an expected result with an actual result?

[12:32:08 CDT(-0500)] <clown> for example, you pass a package name to the search fucntion and compare what you get with what you should get?

[12:32:47 CDT(-0500)] <clown> and that's why you are looking for a shared name that works for both suse and fedora.

[12:32:55 CDT(-0500)] * clown is slow.

[12:33:07 CDT(-0500)] <clown> dbus?

[12:33:18 CDT(-0500)] * clown looks at what packages dbus will give you.

[12:34:48 CDT(-0500)] <jhernandez> heh, I was looking for a tiny utility such as 'tac'

[12:34:49 CDT(-0500)] <clown> jhernandez: yum info dbus ==> 'dbus;1.6.12;x86_64;installed,fedora'.

[12:35:21 CDT(-0500)] <clown> although, I'm not sure about the 'installed,fedora' part. Yum's output is not the same as pkit.

[12:35:26 CDT(-0500)] <jhernandez> clown: what we want is a package for installing, check the new id, uninstall it, and then check the new id again

[12:35:58 CDT(-0500)] <clown> jhernandez: I did that yesterday — specifically looking for a package that had no dependencies (self-contained). Let me go find it again.

[12:36:26 CDT(-0500)] <clown> jhernandez: 'dtach'

[12:36:30 CDT(-0500)] <jhernandez> clown: nice! I'm partially giving some support to the android guys

[12:36:38 CDT(-0500)] * jhernandez looks in his openSUSE

[12:36:48 CDT(-0500)] * clown has no idea what dtach is for...

[12:37:36 CDT(-0500)] <jhernandez> No packages found. (sad)

[12:37:46 CDT(-0500)] <clown> shoot!

[12:38:25 CDT(-0500)] <clown> emacs?

[12:39:31 CDT(-0500)] <clown> no, not emacs. Matches 'xemacs' as well. And a bunch of other stuff.

[12:39:38 CDT(-0500)] <jhernandez> xDDDD

[12:39:45 CDT(-0500)] * clown checks 'tac'

[12:39:56 CDT(-0500)] <jhernandez> tac is not available for openSUSE (sad)

[12:41:06 CDT(-0500)] <clown> oh, never mind then. But packagekit.searchPackages('tac'), gave me a whole bunch of stuff, including some youtube packages.

[12:41:38 CDT(-0500)] <jhernandez> yup, but we can just filter out them from the .js side

[12:41:57 CDT(-0500)] <jhernandez> a bunch of results won't be a problem

[12:42:18 CDT(-0500)] <clown> btw, I also tried passing no argument to searchpackage and got "[]" returned. Strikes me as another test case that worked.

[12:42:19 CDT(-0500)] <jhernandez> what about pico?

[12:42:25 CDT(-0500)] * clown looks at pico.

[12:42:56 CDT(-0500)] <jhernandez> it's not installed by default (at least for openSUSE)

[12:42:57 CDT(-0500)] <clown> pico returns six packages.

[12:43:28 CDT(-0500)] <clown> two of the six are devel packages — want to change the filter now to avoid those?

[12:43:37 CDT(-0500)] <clown> in the c++ code?

[12:44:00 CDT(-0500)] <clown> or pass that as an argument to searchPackages()?

[12:44:49 CDT(-0500)] <jhernandez> I was thinking about filtering the devel packages out by default

[12:45:21 CDT(-0500)] <Justin_o> Bosmon: yzen and I are trying to use the model tranformations for the produceTree rebasing. We are running into an issue with children

[12:45:29 CDT(-0500)] <Justin_o> well recursion in general

[12:45:55 CDT(-0500)] <jhernandez> by adding the NOT_DEVELOPMENT enum

[12:46:05 CDT(-0500)] <clown> so, jhernandez, just put PK_FILTER_ENUM_NOT_DEVELOPMENT right in the C++? Fine with me.

[12:46:33 CDT(-0500)] <Bosmon> Justin_o - didn't we decide yesterday not to use that approach?

[12:46:35 CDT(-0500)] <jhernandez> and when installing (from js side), just pick the exact name (in this case: pico)

[12:46:39 CDT(-0500)] <Bosmon> Can you describe in detail what you're doing?

[12:46:55 CDT(-0500)] <Justin_o> well it's not the prototree anymore (smile)

[12:47:10 CDT(-0500)] <Justin_o> basically we are using the model transformation to change ID and valuebinding

[12:47:19 CDT(-0500)] <clown> jhernandez: well, are taking "testing" or "using"?

[12:47:42 CDT(-0500)] <clown> from a test point of view, with limited filtering, one expects a lot of packages to come out, no?

[12:47:47 CDT(-0500)] <Bosmon> Justin_o - sounds dangerous : P

[12:47:53 CDT(-0500)] <clown> Unless the package is self-contained.

[12:48:16 CDT(-0500)] <jhernandez> clown: yup (and both for using)

[12:48:29 CDT(-0500)] <jhernandez> getting a lot of results is not a problem

[12:48:31 CDT(-0500)] <clown> whoops, I meant "are we talking 'testing' or 'using'?

[12:48:57 CDT(-0500)] <Justin_o> other than the recursive part, it seems to have simplified the changes

[12:49:49 CDT(-0500)] <jhernandez> a "if (pkg.name === "pico")" clause will get the specific package we want

[12:50:23 CDT(-0500)] <jhernandez> so, does pico pull from additional dependencies on fedora?

[12:50:37 CDT(-0500)] <Bosmon> What do you mean by "the recursive part"?

[12:51:44 CDT(-0500)] <Justin_o> well the tree's can have multiple levels.. so we need to be able to change the ID and valuebinding at each level

[12:52:15 CDT(-0500)] <Bosmon> Justin_o - I see

[12:52:22 CDT(-0500)] <Bosmon> I really wouldn't try using model transformations for this

[12:52:26 CDT(-0500)] <clown> jherenandez, re: "does pico pull from additional dependencies on fedora?" yes — let me do a pastebin.

[12:52:32 CDT(-0500)] <Bosmon> You are, as an old employer would put it, "making a rod for your own back"

[12:53:09 CDT(-0500)] <clown> jhernandez: http://pastebin.ca/2460844

[12:53:58 CDT(-0500)] * clown wonders what picosat is.

[12:54:34 CDT(-0500)] <jhernandez> ooops

[12:54:45 CDT(-0500)] <jhernandez> I see

[12:54:53 CDT(-0500)] <jhernandez> 'pico' is a text editor

[12:55:24 CDT(-0500)] <jhernandez> seems that is not available for fedora ¬¬

[12:55:26 CDT(-0500)] <jhernandez> grr

[12:55:49 CDT(-0500)] <clown> oh, right, there is no "pico" in there...

[12:57:30 CDT(-0500)] <clown> what about "orca"?

[12:57:33 CDT(-0500)] <jhernandez> I'm looking for a tiny app, no deps

[12:57:37 CDT(-0500)] <jhernandez> is already installed

[12:58:05 CDT(-0500)] <clown> oh, you don't want to remove it.

[12:58:08 CDT(-0500)] <clown> gedit?

[12:58:22 CDT(-0500)] <jhernandez> the same with orca

[12:58:25 CDT(-0500)] <Justin_o> so Bosmon (it's me yzen), as a concrete example in case we have a nested array/object structure with a certain key of interest repeating on different levels, is there a way to express that interest in the transformation rules

[12:58:28 CDT(-0500)] <clown> no, not gedit. Way too many dependencies.

[12:58:31 CDT(-0500)] <jhernandez> gedit cames with gnome

[12:58:35 CDT(-0500)] <jhernandez> *comes

[12:58:41 CDT(-0500)] <Bosmon> Justin_o - not a way that works very well, no

[12:58:51 CDT(-0500)] <Bosmon> You may consider that wildcard support is "not really working" in MT now

[12:59:01 CDT(-0500)] <Bosmon> And so for this, as well as other reasons, I suggest that you use code : P

[12:59:06 CDT(-0500)] <Justin_o> Bosmon: but how would it looks

[12:59:13 CDT(-0500)] <clown> I might have one, jhernandez: 'accerciser'. (smile)

[12:59:14 CDT(-0500)] <Justin_o> Bosmon: out of curioucity

[12:59:17 CDT(-0500)] <Bosmon> We have support for matching path segments as "*"

[12:59:31 CDT(-0500)] <jhernandez> clown: heh, yes!

[12:59:34 CDT(-0500)] <Justin_o> Bosmon: but do we need to know the depth for that ?

[12:59:35 CDT(-0500)] <clown> [ { id: 'accerciser;3.8.2-1.fc19;noarch;fedora',

[12:59:35 CDT(-0500)] <clown> name: 'accerciser',

[12:59:35 CDT(-0500)] <clown> version: '3.8.2-1.fc19',

[12:59:35 CDT(-0500)] <clown> data: 'fedora' } ]

[12:59:44 CDT(-0500)] <Bosmon> Justin_o - yes, you need to know the depth

[12:59:51 CDT(-0500)] <clown> of course I have it installed...

[12:59:55 CDT(-0500)] <Bosmon> So in general there is no facility for "recursive pattern matching"

[12:59:57 CDT(-0500)] <jhernandez> it'll pull from some deps, but it's not a problem

[13:00:05 CDT(-0500)] <jhernandez> ok

[13:00:08 CDT(-0500)] <Bosmon> And I am not in a hurry to implement any : P

[13:00:14 CDT(-0500)] <clown> does it pull in python?

[13:00:20 CDT(-0500)] <jhernandez> ipython

[13:00:26 CDT(-0500)] <Justin_o> Bosmon: thanks

[13:00:27 CDT(-0500)] <jhernandez> and ipython pulls qt-stuff

[13:00:44 CDT(-0500)] <jhernandez> (sad)

[13:00:53 CDT(-0500)] <clown> ah, yes. That never gets pulled in for me. I always get the "missing iptyhon* error message on launch.

[13:01:05 CDT(-0500)] <clown> or ipython even

[13:03:24 CDT(-0500)] <jhernandez> really? installing from repos?

[13:03:41 CDT(-0500)] <jhernandez> AFAIK, accerciser pulls ipython

[13:04:01 CDT(-0500)] <jhernandez> under both Fedora and openSUSE

[13:04:19 CDT(-0500)] <jhernandez> clown: search for 'retext'

[13:04:39 CDT(-0500)] <clown> actually, no. I get the source for git.gnome, and then build it myself. I have a custom viewer for the "Interface Viewer" tab

[13:04:57 CDT(-0500)] <clown> *I get the source for accerciser from git.gnome

[13:04:59 CDT(-0500)] <jhernandez> it pulls from some python deps, but not too many (2 or 3)

[13:05:12 CDT(-0500)] * clown searching for retext

[13:05:24 CDT(-0500)] <jhernandez> clown: ok, so if you install it from the repos it'll pulls ipython and co

[13:08:11 CDT(-0500)] <clown> jhernandez: sigh. there is no 'retext' for fedora.

[13:08:16 CDT(-0500)] <jhernandez> crap!!

[13:09:20 CDT(-0500)] <jhernandez> ok

[13:09:41 CDT(-0500)] <jhernandez> what about sl

[13:09:51 CDT(-0500)] <jhernandez> ?

[13:10:28 CDT(-0500)] <colinclark> how's your dog, jhernandez?

[13:10:45 CDT(-0500)] <jhernandez> can't believe my eyes, sl not available for openSUSE!

[13:10:57 CDT(-0500)] <jhernandez> colinclark: she's well

[13:11:10 CDT(-0500)] <colinclark> good!

[13:11:10 CDT(-0500)] <jhernandez> she brought 8 puppies!

[13:11:14 CDT(-0500)] <colinclark> wow

[13:11:16 CDT(-0500)] <colinclark> congratulations!

[13:11:22 CDT(-0500)] <jhernandez> :S

[13:11:25 CDT(-0500)] <colinclark> avtar, puppies! ^

[13:11:30 CDT(-0500)] <jhernandez> too many puppies!

[13:12:26 CDT(-0500)] <jhernandez> https://www.facebook.com/javiube/posts/10200770127357397

[13:12:35 CDT(-0500)] <clown> jhernandez: how about 'goudy'?

[13:12:45 CDT(-0500)] <jhernandez> avtar: puppies! I'll send them to you wherever you are! (tongue)

[13:12:58 CDT(-0500)] * jhernandez looks for goudy

[13:13:09 CDT(-0500)] * clown wonders if jhernandez is handing out cigars.

[13:13:32 CDT(-0500)] <avtar> jhernandez: toronto. but please also send someone who can tend to them

[13:13:50 CDT(-0500)] <avtar> i'll tackle the playing-with-them task

[13:14:12 CDT(-0500)] <jhernandez> clown: xDDD

[13:14:21 CDT(-0500)] <jhernandez> avtar: xDD

[13:14:57 CDT(-0500)] <jhernandez> clown: not goudy

[13:15:04 CDT(-0500)] <jhernandez> what about tuxguitar? (wink)

[13:15:05 CDT(-0500)] <clown> phooey.

[13:15:18 CDT(-0500)] <clown> I'll try anything, jhernandez

[13:15:24 CDT(-0500)] <jhernandez> xDDD

[13:16:25 CDT(-0500)] <clown> jhernandez: we have a winner (question) Both yum and searchPackages return only the one package.

[13:16:40 CDT(-0500)] <anastasiac> Justin_o, michelled, I've created a JIRA for the task of moving and re-namespacing the prefs framework: http://issues.fluidproject.org/browse/FLUID-5161

[13:16:43 CDT(-0500)] <jhernandez> I'm looking for its deps

[13:16:54 CDT(-0500)] <anastasiac> it makes me wonder if we'll want to create a JIRA component for the prefs framework

[13:17:17 CDT(-0500)] <jhernandez> just 8 deps here

[13:17:58 CDT(-0500)] <clown> jhernandez: according to the pkit GUI, it has no dependencies.

[13:18:16 CDT(-0500)] <clown> I clicked the "Dependent packages" button, and nothing came up.

[13:18:22 CDT(-0500)] <jhernandez> ok

[13:18:23 CDT(-0500)] <jhernandez> no prob

[13:18:56 CDT(-0500)] <Justin_o> anastasiac: thank you

[13:19:28 CDT(-0500)] <clown> jhernandez: your add-on returns:

[13:19:29 CDT(-0500)] <clown> [ { id: 'tuxguitar;1.2-12.fc19;x86_64;fedora',

[13:19:29 CDT(-0500)] <clown> name: 'tuxguitar',

[13:19:29 CDT(-0500)] <clown> version: '1.2-12.fc19',

[13:19:29 CDT(-0500)] <clown> data: 'fedora' } ]

[13:19:34 CDT(-0500)] <jhernandez> so, next step: to check both 'install' and 'remove' methods and using the tuxguitar package (sounds funny)

[13:20:03 CDT(-0500)] * jhernandez looks for the output here ..

[13:20:22 CDT(-0500)] <clown> okay.

[13:21:06 CDT(-0500)] <jhernandez> {

[13:21:06 CDT(-0500)] <jhernandez> "id": "tuxguitar;1.2-10.1.1;i586;repo-12.3-oss",

[13:21:06 CDT(-0500)] <jhernandez> "name": "tuxguitar",

[13:21:06 CDT(-0500)] <jhernandez> "version": "1.2-10.1.1",

[13:21:06 CDT(-0500)] <jhernandez> "data": "repo-12.3-oss"

[13:21:09 CDT(-0500)] <jhernandez> }

[13:21:20 CDT(-0500)] <jhernandez> sweet!

[13:23:47 CDT(-0500)] <jhernandez> clown: do you want me to go for it? or you want to?

[13:25:53 CDT(-0500)] <anastasiac> Justin_o and cindyli, I'm working on docs for the prefs framework Builder. I notice that it "is an" aux builder, but "has a" primary builder. Is there a particular reason why the two were implemented differently? e.g. why is the aux builder not a subcomponent, or why is the primary builder not a grade?

[13:25:54 CDT(-0500)] <clown> Let me, jhernandez.

  • No labels