--- Log opened Fri Jul 08 00:00:19 2016 |
00:01 | < Vornotron> | ...still doing something wrong here, blah, hang on |
00:04 | <@Reiv> | It's an interesting little headache. |
00:06 | < Vornotron> | -- oh, because I read stars & bars wrong wrong. for m digits and n glyphs it's (m+n) choose (m) = (m+n)!/(m!n!) |
00:06 | <@Reiv> | I *think* it goes 1, 2, 3, 4, 5, 11, 12, 13, 14, 15, 22, 23, 24, 25, 33, 34, 35, 44, 45, 55, 111, 112, 113, 114, 115, 122, 123, 124, 125, 133... |
00:06 | <@Reiv> | I typed that out of my head, so I may have stuffed it up |
00:07 | < Vornotron> | Looks fine to me |
00:08 | < Vornotron> | So for 5 glyphs and 2 digits you get 7!/(5!2!) = 7*6 / 2 = 21, but this includes the all-null value, so subtract one for 20. |
00:08 | <@Reiv> | That many exponents and divisors feels like it should really throw fractions on occasion |
00:08 | <@Reiv> | er, factorials |
00:09 | < Vornotron> | Never |
00:09 | < Vornotron> | Note that the inputs to the factorials add up to the same thing on both top and bottom? |
00:10 | <@Reiv> | ... oh right, yeah, ok |
00:10 | <@Reiv> | factorials are fun like that |
00:22 | | Derakon [chriswei@Nightstar-5mvs4e.ca.comcast.net] has quit [[NS] Quit: leaving] |
00:22 | | Derakon[AFK] is now known as Derakon |
00:57 | | Shady is now known as shady-afk-ish |
01:32 | | shady-afk-ish is now known as Shad|brbbel20mins |
01:43 | | Shad|brbbel20mins is now known as Shady |
02:00 | < catalyst> | I should sleep |
02:03 | < catalyst> | But! |
02:03 | < catalyst> | I wrote some macros |
02:04 | < catalyst> | The java-y way of doing it: http://paste.ofcode.org/jQTKHBkP842aj5v9hTgx66 |
02:04 | < catalyst> | versus my macros: http://paste.ofcode.org/gvXiYPhcfiTFUymF5GQY5p |
02:05 | < catalyst> | (I still need to wrap the event handler on the button) |
02:05 | < catalyst> | (But I'm enjoying myself, even if there's probably neater ways to do UIs) |
02:07 | < catalyst> | Also, the macros themselves - please don't judge too harshly, I only actually wrote my first working macro yesterday x) - http://paste.ofcode.org/8PSmfPiDZHpSNBGrBBZxbk |
02:07 | < catalyst> | I also feel like I ought to be able to reduce the redundancy in them somehow |
02:08 | < catalyst> | BUT |
02:08 | < catalyst> | I should sleep |
02:08 | | catalyst [catalyst@Nightstar-bt5k4h.81.in-addr.arpa] has quit [[NS] Quit: Leaving] |
02:13 | < catadroid`> | It also needs some documentation but eh |
02:14 | | catadroid` is now known as catadroid |
02:15 | < catadroid> | I've determined that I rather like writing clojure |
02:15 | < catadroid> | It's fun :3 |
02:15 | < catadroid> | Coding hasn't been this exciting for a long time |
02:15 | < ToxicFrog> | Yay \o/ |
02:15 | | * ToxicFrog bounces |
02:17 | < catadroid> | Also, I'm pretty pleased with the way the property maps work |
02:18 | <&McMartin> | :3 |
02:18 | < catadroid> | {:Width 10} will generate something like (.setWidth thing 10) |
02:18 | < catadroid> | So they'll work with any properties the thing had |
02:19 | < catadroid> | Has* |
02:19 | < catadroid> | I've not yet figured out how to abstract that behaviour |
02:20 | < catadroid> | Macros that generate macros are currently beyond me |
02:20 | <&McMartin> | Heh |
02:20 | <&McMartin> | But yeah, the whole :wacky thing is from LISP Keywords |
02:20 | <&McMartin> | A bit I didn't use in Scheme |
02:20 | < catadroid> | I like them |
02:20 | < catadroid> | They're similar to a concept we use at work to reduce string identifiers to integers |
02:21 | <&McMartin> | Yep |
02:21 | <&McMartin> | They're like symbols but they always evaluate to themselves |
02:21 | < catadroid> | And they map quite well to how XAML works so the format in the second thing I posted feels like that |
02:22 | < catadroid> | I am having fun ^^ |
02:22 | < catadroid> | In a way that Rust is not |
02:23 | <&McMartin> | Yeah |
02:23 | <&McMartin> | I actually have a silly Scheme program over here that I'm hoping to recast as Rust and it's super-unappealing |
02:23 | | * catadroid nods |
02:24 | <&McMartin> | But some of that is that it's a dumb project too >.> |
02:24 | < catadroid> | I've actually been really pissed off at C# today because it's not clojure |
02:24 | <&McMartin> | The Scheme program hit a level of complexity where trying to keep going would choke under its core lack of abstraction |
02:24 | < catadroid> | I suspect I'm becoming one of Those People |
02:25 | <&McMartin> | Lisp is a Hell of a drug <.< |
02:25 | < catadroid> | It's natural |
02:25 | < catadroid> | It's the logical conclusion of all of the things I've been feeling about C++ largely |
02:25 | < catadroid> | Lately* |
02:25 | | * McMartin nods |
02:26 | < catadroid> | And I realised that I've been using c# named keywords in a way that matches my property macros to express intent |
02:26 | < catadroid> | Function arguments as data |
02:27 | < catadroid> | ...so LISP, then >.> |
02:27 | < catadroid> | the ultimate declarative power |
02:30 | < catadroid> | Incidentally, if you ever see any of my C++ code you'll probably be struck by how much it looks like let expressions... |
02:31 | < catadroid> | That's because I took a scheme course at uni ;) |
02:31 | <&McMartin> | I too have a functional accent |
02:43 | | * ToxicFrog tries to come up with 10-11 different item colours |
02:45 | < Vornotron> | These are against black background? |
02:46 | < Vornotron> | DkGrey LtGrey White Red Yellow Green Cyan SkyBlue Magenta DkGreen Violet |
02:53 | < ToxicFrog> | I worry about, e.g., Cyan and SkyBlue not being dufficiently distinct. |
02:53 | < ToxicFrog> | Also, on examination, I actually need at least 13-14 distinct colours |
02:53 | < ToxicFrog> | Possibly more! |
02:53 | < ToxicFrog> | I may end up bucketing different ranks together. |
02:53 | < ToxicFrog> | Like, 1-2, 3-4, 5-6, 7-8, 9-10, 11+, artifact |
02:53 | | * Vornotron spins up a browser to try colors |
02:53 | < Vornotron> | what's your font like |
02:54 | < ToxicFrog> | Like this: http://imgur.com/a/wTLBE |
02:56 | < Vornotron> | console regular. check, one moment whilst I play |
03:06 | < ToxicFrog> | I think I have it sorted. I'm just going to use buckets. |
03:06 | < ToxicFrog> | Not sure whether artifacts should be their own colour or a style modifier applied to the normal colour for their rank, though |
03:09 | <&Derakon> | TF: if you're willing to do display updates in-between turns, you can shimmer letters. |
03:09 | <&Derakon> | Some vertical gradients can also work well, though that may not be tty-friendly. |
03:10 | < ToxicFrog> | Gradients of any kind are right out, yeah. |
03:10 | < Vornotron> | horizontal gradients are possible but annoying |
03:11 | < ToxicFrog> | Shimmering is a possibility but getting out-of-turn display updates to work in tty mode may be aggravating. |
03:11 | < ToxicFrog> | Vornotron: no they aren't |
03:11 | < Vornotron> | Wait, artifact is actually varying by rank? |
03:11 | < Vornotron> | in that case just use bold |
03:12 | < ToxicFrog> | "artifact" is a separate modifier analogous to Diablo 2's "rare"; some items are always generated artifacts (the Cybercone), and there are certain things you can do (Kronging) that will upgrade a non-artifact item. |
03:12 | < ToxicFrog> | So you can have an artifact of any rank. |
03:12 | < Vornotron> | huh. |
03:12 | <&Derakon> | Artifact basically just imparts a few bonus abilities on top of the regular abilities of the item, right? |
03:13 | < ToxicFrog> | Yeah. |
03:13 | < Vornotron> | like you'd have to set the color for each letter, kind of terrible |
03:13 | < Vornotron> | http://duznanski.github.io/item-colors.html |
03:14 | < ToxicFrog> | To be clear, this is for use on the item icon. One character. |
03:14 | < Vornotron> | ah |
03:14 | < ToxicFrog> | Also, "rank" doesn't correspond to rarity a la WoW/D2; it's more akin to iLvl. |
03:14 | < Vornotron> | aha |
03:14 | < ToxicFrog> | Lower-rank items are more likely to spawn on earlier dungeon levels, and vice versa. |
03:14 | | crystalclaw|AFK is now known as crystalclaw |
03:15 | < ToxicFrog> | (Dredmor doesn't have a rarity system, just item rank and the artifact bit) |
03:15 | < ToxicFrog> | Bold was actually the first thing I tried, but at least on this terminal the difference between â and â is basically indistinguishable. |
03:16 | <&Derakon> | Yeah, there's literally no different there. |
03:16 | < ToxicFrog> | Although anything is an improvement on the status quo, which is "there is no visual distinction between artifact and non-artifact forms of the same item at all until you mouse over them and look at the item description" |
03:17 | < ToxicFrog> | Anyways, I can tinker with this more on the morrow. |
03:17 | < ToxicFrog> | Now is sleep time. |
03:17 | <&Derakon> | Night. |
03:17 | | * ToxicFrog cuddles catadroid into bed with him and goes to sleep |
03:20 | | * Vornotron got grumpy at d2 'cause he couldn't tell ilvl from item color |
03:21 | <&Derakon> | I got grumpy at D2 because it locked all the good items behind preposterously bad drop rates. |
03:24 | < Vornotron> | so like i'd be wandering around hell and "ooh, legendary armor, that'll make a mint" and it's some shitty leather armor drop worht like 300 and then the mundane plate that floats around in there is in the thousands |
03:24 | < Vornotron> | ...not that money is all that useful. |
03:24 | <&Derakon> | Unless you like gambling. |
03:24 | <&Derakon> | But still you'd go for rings and amulets instead, for compactness, unless you like returning to town every two minutes. |
03:44 | < Vornotron> | Reverse video? |
03:45 | <&Derakon> | Tends to look bad and/or get confused with walls, depending. |
03:46 | | VirusJTG [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has quit [Connection closed] |
03:48 | < Vornotron> | point |
04:08 | | Shady [ShadyGuru@Nightstar-qfckjl.tv13.ptd.net] has left #code ["Yay, he's gone"] |
04:11 | | Vornotron is now known as Vornicus |
04:11 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
04:41 | | catadroid` [catadroid@Nightstar-qjnf90.dab.02.net] has joined #code |
04:43 | | catadroid [catadroid@Nightstar-6jt8cj.dab.02.net] has quit [Ping timeout: 121 seconds] |
04:52 | | gizmore [kvirc@Nightstar-dbcruk.dip0.t-ipconnect.de] has quit [[NS] Quit: KVIrc 4.9.2 Aria http://www.kvirc.net/] |
05:09 | | Derakon is now known as Derakon[AFK] |
06:12 | | Reiv [NSwebIRC@Nightstar-q8avec.kinect.net.nz] has quit [Ping timeout: 121 seconds] |
06:32 | | crystalclaw is now known as crystalclaw|AFK |
06:52 | | celticminstrel [celticminst@Nightstar-nhhr58.dsl.bell.ca] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!] |
07:52 | <@emmy> | [R]: in power&sleep settings -> additional settings -> Choose what the power buttons do (system settings) |
07:53 | <@emmy> | press 'change currently unavailable settings' |
07:54 | <@emmy> | and you should have the ability to check/uncheck whether to show hibernation in the power menu. |
08:01 | | emmy is now known as Emmmy-Werk |
08:34 | | Emmy [NSkiwiirc@Nightstar-41pbej.static.chello.nl] has joined #code |
08:34 | | mode/#code [+o Emmy] by ChanServ |
08:40 | | jeroud [sid10043@Nightstar-h2b233.irccloud.com] has quit [Connection closed] |
08:40 | | jeroud [sid10043@Nightstar-ks9.9ff.184.192.IP] has joined #code |
08:40 | | mode/#code [+ao jeroud jeroud] by ChanServ |
08:41 | | pjdelport [sid25146@Nightstar-7he56f.irccloud.com] has quit [Connection closed] |
08:41 | | pjdelport [sid25146@Nightstar-7he56f.irccloud.com] has joined #code |
08:41 | | mode/#code [+o pjdelport] by ChanServ |
09:18 | <@Emmy> | ...How in the everloving name of fuck |
09:19 | <~Vornicus> | ? |
09:19 | <@Emmy> | in Access, i've got a combobox displaying a list with to columns. |
09:20 | <@Emmy> | When i click it and get the dropdown, it gives me two columns - as it should |
09:20 | <@Emmy> | (or rather, as it ought to for the purpose of testing) |
09:20 | <@Emmy> | Yet, when not in the dropdown, it only gives me one column. |
09:20 | <~Vornicus> | interesting. |
09:21 | <~Vornicus> | which version |
09:23 | <@Emmy> | 2007. |
09:25 | <@Emmy> | though i doubt it'll be different in newer versions. |
09:27 | | macdjord [macdjord@Nightstar-r9vt2h.mc.videotron.ca] has quit [Ping timeout: 121 seconds] |
09:31 | <~Vornicus> | Oh, that. Okay, that's what it's up to, now how do I fix it. |
09:32 | <@Emmy> | it's really odd. i can hide the id column, so it only displays the user-readable values in the dropdown, but then it displays nothing at all when not selected. :S |
09:33 | <~Vornicus> | when you say "hide the id column" how are you doing it |
09:35 | <@Emmy> | displaying both and making the id column 0 wide. |
09:37 | <@Emmy> | Odd thing is, too, that i can discern no visible differences between this version and a previous, working one, in the subfrm and the control's own details and data details windows, either. |
09:43 | | Tamber [tamber@furryhelix.co.uk] has quit [The TLS connection was non-properly terminated.] |
09:43 | | Tamber [tamber@furryhelix.co.uk] has joined #code |
09:43 | | mode/#code [+o Tamber] by ChanServ |
09:48 | <~Vornicus> | hrng. I don't know how to change that. |
09:53 | | macdjord [macdjord@Nightstar-r9vt2h.mc.videotron.ca] has joined #code |
09:53 | | mode/#code [+o macdjord] by ChanServ |
10:19 | <~Vornicus> | https://github.com/chrislgarry/Apollo-11/blob/master/LUNAR_LANDING_GUIDANCE_EQUA TIONS.s#L179 |
10:19 | <~Vornicus> | Next time you worry about stopgap measures in your code, remember this line. |
10:23 | <@abudhabi> | What does that line do? |
10:28 | <~Vornicus> | I have no idea |
10:50 | <@Emmy> | From what i understand, engage autocontrol over the vehicle's bank controls. which might not be that function's job as intended. |
10:55 | <@Emmy> | OK, fuck it. |
10:55 | <@Emmy> | imported the same subform from an older, working version of the project. |
10:55 | <@Emmy> | it works. |
10:55 | <@Emmy> | absolutely no discernible differences, but it works. |
10:55 | <@Emmy> | what. the. fuck. |
11:03 | <@gnolam> | So. Help file generation systems. Any recommendations? |
11:11 | | catadroid [catadroid@Nightstar-a0grgl.dab.02.net] has joined #code |
11:11 | <@Emmy> | Make 'em actually useful. |
11:12 | <@Emmy> | Nothing worse than looking at the help files only to realize they do not teach you anything you need to know. |
11:13 | | catadroid` [catadroid@Nightstar-qjnf90.dab.02.net] has quit [Ping timeout: 121 seconds] |
11:14 | | VirusJTG [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has joined #code |
11:14 | | mode/#code [+ao VirusJTG VirusJTG] by ChanServ |
11:14 | <&[R]> | gtgggggg |
11:20 | < catadroid> | Yay |
11:21 | < catadroid> | I might soon be able to tell you all the cool thing I worked on a couple years ago x) |
11:22 | <&[R]> | \o/ |
11:25 | <~Vornicus> | YAY |
11:25 | < catadroid> | (it was so cool) |
11:35 | <@Emmy> | oh yay. |
11:35 | <@Emmy> | why, classified? |
11:35 | <@abudhabi> | NDA? |
11:35 | < catadroid> | You'll see why if I get to tell you |
11:37 | <@Emmy> | time to go home |
11:39 | | Emmy [NSkiwiirc@Nightstar-41pbej.static.chello.nl] has quit [[NS] Quit: http://www.kiwiirc.com/ - A hand crafted IRC client] |
11:40 | <@abudhabi> | I will be disappointed if you weren't involved in killing Bin Laden. :V |
11:45 | <@simon_> | the insertion of Reptilian Barack Obama as president will never be disclosed. |
11:47 | <@abudhabi> | So it can't be that. |
11:50 | < catadroid> | I can neither confirm nor deny |
11:50 | < catadroid> | Quiz - what should stringVar + " (All)" render as? |
11:52 | <@TheWatcher> | assuming stringVar = "Foo"; output should be: Foo (All) |
11:52 | <@simon_> | catadroid, was it empty? |
11:52 | <@TheWatcher> | Would be my assumption, anyway |
11:52 | <@simon_> | catadroid, not sure what language this is, but assuming there's a trick, I guess a null value triggers a void context for +? :P |
11:55 | <@abudhabi> | catadroid: Is this some JS? |
11:55 | <@abudhabi> | Because if it's JS, then it's anybody's guess, depending on factors. |
12:26 | < catadroid> | That's right, it's "(stringVar (All" |
12:27 | < catadroid> | Because WPF is buggy |
12:27 | < catadroid> | (the string construction is correct) |
12:28 | < catadroid> | Aha, I can tell you! |
12:29 | < catadroid> | We did work on early Hololens stuff :) |
12:31 | < catadroid> | Sadly I can't go into any more detail than that, but it was awesome. |
12:35 | <~Vornicus> | holy shit, awesome |
12:36 | <~Vornicus> | Saw that on the e3 (I think it was) stream and was like "Shit I don't care about the whole rest of the show anymore" which is to say the whole entire show, 'cause ms went first. |
12:39 | < catadroid> | Mhm |
12:39 | | * catadroid was also intimately involved with those things |
12:40 | < catadroid> | I was thinking about leaving the company at the point we got the work |
12:40 | < catadroid> | After seeing what it was we were doing next I decided against x) |
12:51 | | Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has quit [Connection reset by peer] |
12:52 | | Emmmy-Werk is now known as Emmy |
13:40 | <@TheWatcher> | Okay, now I'm curious! |
14:14 | <@simon_> | I'm thinking about generating music. what's a good way to generate sound files from composing sine functions? |
14:23 | <@simon_> | I thought: take an mp3, split it into time boxes of some fixed set of sinusoid parameters, then feed these parameters to a neural network. |
14:23 | <@pjdelport> | simon_: That's basically https://en.wikipedia.org/wiki/Additive_synthesis |
14:24 | <@simon_> | pjdelport, ok. |
14:24 | | * simon_ knows really little about sound. |
14:25 | <@pjdelport> | Are you familiar with Fourier / time-frequency domain transforms? |
14:25 | <@simon_> | yes |
14:25 | <@simon_> | a little. I took a course some time ago. |
14:26 | <@pjdelport> | Cool; that's fundamental to a lot of stuff in this area. |
14:28 | <@simon_> | hmmm |
14:31 | <@simon_> | I think what I'm trying to accomplish as a first step is actually MIDI-fication of WAV-files, but where the MIDI table has a very high quality. are there any sound formats that represent music as sums of sinusoids over slightly larger intervals than 1/44100 of a second? maybe this mostly makes sense for repetitive, synthetic music (which is what I want to generate)... |
14:32 | <@pjdelport> | That's basically all music compression algorithms. |
14:32 | <@simon_> | ok! |
14:32 | <@simon_> | ah. |
14:33 | <@simon_> | so really I could just take a bunch of MP3s and deserialize them into a bunch of sinusoids per time unit |
14:34 | <@pjdelport> | Your typical audio compression format (MP3, Vorbis, AAC, ...) works by putting the audio signal through a frequency transform such as DCT, and then selectively discarding entropy from that based on various factors, and then compressing the rest. |
14:34 | <@simon_> | right. |
14:34 | <@simon_> | ok. |
14:34 | <@pjdelport> | The transformed windowed frequency representation is essentially sum of sinusoids over time. |
14:35 | <@pjdelport> | Playback decompresses the frames and transforms the frequency components back to a signal. |
14:36 | < catadroid> | SEND HELP EVERYTHING IS LOOKING LIKE AN INFERIOR SUBSET OF LISP |
14:36 | <@simon_> | haha |
14:37 | <@simon_> | but... syntax! |
14:39 | <@pjdelport> | s/LISP/Haskell/ |
14:40 | | * pjdelport ducks |
14:43 | < ToxicFrog> | catadroid: CLOSED WONTFIX (working as intended) |
14:44 | <@simon_> | s/Haskell/duck/ |
14:44 | < ToxicFrog> | Also, the more you burble about clojure the more I want to do more things in it, but the only project I actually feel like working on right now is ttymor :( |
14:44 | | * simon_ lisps |
14:47 | < catadroid> | Haskell is inferior to clojure for my purposes |
14:48 | < catadroid> | Where my purposes include things like interacting with users |
14:48 | < catadroid> | lithps* |
14:48 | < catadroid> | Wait |
14:48 | < catadroid> | No |
14:48 | < catadroid> | lithptg |
14:48 | < catadroid> | Er |
14:48 | < catadroid> | Lithpth |
14:48 | < catadroid> | Thanks fingers |
14:49 | <@simon_> | https://scontent.cdninstagram.com/hphotos-xaf1/t51.2885-15/s320x320/e15/11193128 _446113245564887_31704612_n.jpg |
14:59 | <@TheWatcher> | Uh-oh, catadroid is turnign into an Igor~ |
15:00 | < catadroid> | Not even thlightly! That's prepothterouth. |
16:19 | | Shady [ShadyGuru@Nightstar-qfckjl.tv13.ptd.net] has joined #code |
16:20 | <@abudhabi> | http://www.space.com/33367-new-planet-triple-star-system.html |
17:03 | | celticminstrel [celticminst@Nightstar-nhhr58.dsl.bell.ca] has joined #code |
17:03 | | mode/#code [+o celticminstrel] by ChanServ |
17:13 | | catalyst [catalyst@Nightstar-bt5k4h.81.in-addr.arpa] has joined #code |
17:13 | | crystalclaw|AFK is now known as crystalclaw |
17:41 | | catadroid` [catadroid@Nightstar-thk0lt.dab.02.net] has joined #code |
17:43 | | catadroid [catadroid@Nightstar-a0grgl.dab.02.net] has quit [Ping timeout: 121 seconds] |
18:00 | | Shady [ShadyGuru@Nightstar-qfckjl.tv13.ptd.net] has quit [[NS] Quit: Yay, he's gone] |
18:05 | | Shady [ShadyGuru@Nightstar-qfckjl.tv13.ptd.net] has joined #code |
18:08 | | crystalclaw is now known as crystalclaw|AFK |
19:35 | < catalyst> | I've written a macro that generates macros. |
19:36 | < catalyst> | MWAHAHAHAHAHA |
19:36 | | crystalclaw|AFK is now known as crystalclaw |
19:38 | <@abudhabi> | Welcome to Turing completeness. |
19:43 | < ToxicFrog> | abudhabi: these are clojure macros, so they're just normal code that runs at compile time. The turing-completeness is baked in. |
19:51 | | catadroid` [catadroid@Nightstar-thk0lt.dab.02.net] has quit [Ping timeout: 121 seconds] |
20:31 | | Derakon [chriswei@Nightstar-5mvs4e.ca.comcast.net] has joined #code |
20:31 | | mode/#code [+ao Derakon Derakon] by ChanServ |
20:32 | <&Derakon> | Would appreciate some advice on an issue -- so, <context> |
20:32 | <&Derakon> | Our program, µManager, runs as a plugin for ImageJ, a larger program. |
20:32 | <&Derakon> | ImageJ "loads" plugins by just dumping them all into its classpath (it's all Java) and letting them do whatever. |
20:32 | <&Derakon> | So they're not really plugins so much as they are program modifications. |
20:33 | <&Derakon> | µManager itself has plugins, and in the previous version we did a slightly more structured version of the same thing -- add the plugin jars to our classpath and instantiate them as needed. |
20:33 | <&Derakon> | (When they were selected from a menu, generally) |
20:33 | <&Derakon> | In the current version, we've set up a more structured approach, where we find plugin jar files, and create a custom class loader for each, which then loads the plugin. |
20:33 | <&Derakon> | This isolates each plugin -- they aren't in the main program classpath, and they can't see each other. |
20:34 | <&Derakon> | Structurally I find this vastly more elegant and it feels safer for hard-to-articulate reasons. |
20:34 | <&Derakon> | However, we now have someone complaining that they cannot programmatically access plugin A from plugin B. |
20:34 | <&Derakon> | Since A's jar is not in B's classpath. |
20:35 | <&Derakon> | Longer-term, we also have a specific plugin that itself will have plugins (so ImageJ has µManager as a plugin, µManager has this as a plugin, and it has plugins itself). |
20:35 | <&Derakon> | Which means that that specific plugin needs a way to expose its API for others to consume. |
20:35 | <&Derakon> | So we need to figure out some way to allow plugins to see each other, but preferably without also polluting the main program's classpath with them. |
20:36 | <&Derakon> | </context> |
20:36 | <&Derakon> | One potential solution I just thought of would be to use a single class loader for all plugins, so they'd be able to see each other but they still wouldn't modify the main program's classpath. |
20:36 | <&Derakon> | To the extent that plugins are in a sandbox (i.e. not really) this would mean all plugins sharing the same sandbox instead of each one having one individually. |
20:36 | <&Derakon> | Any other suggestions? |
20:38 | <&[R]> | Provide a messaging system. |
20:48 | | Kindamoody|afk is now known as Kindamoody |
21:01 | | Shady is now known as Shady|afk |
21:08 | | crystalclaw is now known as crystalclaw|AFK |
21:15 | < catalyst> | ...I don't think I know how to learn something slowly - http://paste.ofcode.org/EekMJAe64Ac77mS6M65a7n |
21:15 | < catalyst> | (I love clojure rather a lot xD) |
21:18 | < catalyst> | (For reference, day 2 produced http://paste.ofcode.org/jQTKHBkP842aj5v9hTgx66, and I'm on day 4 of writing actual clojure after reading and listening to a lot of tutorials, docs and presentations, and vaguely remembering the Scheme course I did a decade ago) |
21:26 | | Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has joined #code |
21:27 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
21:34 | < catalyst> | Vornicus! |
21:35 | < catalyst> | look at my macro macros and weep :P http://paste.ofcode.org/EekMJAe64Ac77mS6M65a7n |
21:35 | | * catalyst shuts up now |
21:35 | <~Vornicus> | what about your micro macros |
22:18 | | mac [macdjord@Nightstar-r9vt2h.mc.videotron.ca] has joined #code |
22:18 | | mode/#code [+o mac] by ChanServ |
22:21 | | macdjord [macdjord@Nightstar-r9vt2h.mc.videotron.ca] has quit [Ping timeout: 121 seconds] |
22:24 | | Derakon [chriswei@Nightstar-5mvs4e.ca.comcast.net] has quit [[NS] Quit: leaving] |
22:45 | | crystalclaw|AFK is now known as crystalclaw |
22:48 | | Shady|afk is now known as Shady |
23:38 | | Emmy [M@Nightstar-9p7hb1.direct-adsl.nl] has quit [Ping timeout: 121 seconds] |
23:46 | | gizmore [kvirc@Nightstar-dnf252.dip0.t-ipconnect.de] has joined #code |
--- Log closed Sat Jul 09 00:00:35 2016 |