<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://159.203.101.162/w/index.php?action=history&amp;feed=atom&amp;title=Meeting_2014_12_19</id>
	<title>Meeting 2014 12 19 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://159.203.101.162/w/index.php?action=history&amp;feed=atom&amp;title=Meeting_2014_12_19"/>
	<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=Meeting_2014_12_19&amp;action=history"/>
	<updated>2026-04-25T20:55:38Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.31.1</generator>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=Meeting_2014_12_19&amp;diff=3825&amp;oldid=prev</id>
		<title>LegacyKing: Created page with &quot; =Board Meeting= Last meeting of 2014.   ==Attendance== * Andrew * Tom * James * Doug * Stefan  ==Summary== * 6.04.1 will be released on the 22nd of December - no further dela...&quot;</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=Meeting_2014_12_19&amp;diff=3825&amp;oldid=prev"/>
		<updated>2014-12-20T01:42:03Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot; =Board Meeting= Last meeting of 2014.   ==Attendance== * Andrew * Tom * James * Doug * Stefan  ==Summary== * 6.04.1 will be released on the 22nd of December - no further dela...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
=Board Meeting=&lt;br /&gt;
Last meeting of 2014.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Attendance==&lt;br /&gt;
* Andrew&lt;br /&gt;
* Tom&lt;br /&gt;
* James&lt;br /&gt;
* Doug&lt;br /&gt;
* Stefan&lt;br /&gt;
&lt;br /&gt;
==Summary==&lt;br /&gt;
* 6.04.1 will be released on the 22nd of December - no further delays allowed. PCGen works... we'll release!&lt;br /&gt;
* 6.05.0 will be released on the 23rd of December.&lt;br /&gt;
* SVN will be frozen for migration to GITHUB. Timeline is anticipated to be 2-3 days for SVN to GITHUB after changes have been made. Skylar's model looked great, and James said it was exactly what he was looking to accomplish.&lt;br /&gt;
* ANT Support will be dropped effective immediately for 6.5.0+, all should use Gradle to build at this point. &lt;br /&gt;
* James will update the WIKI build instructions for using the Gradle wrapper in your build environment.&lt;br /&gt;
* Tom laid out the impact of the Formula Parser system, and what items have been discovered as part of the mock subset Andrew worked on. He mentioned a few areas where optimization would be implemented once he worked it out.&lt;br /&gt;
* Involving the community was mentioned&lt;br /&gt;
* Conversion was discussed, a smaller system was suggested to get the team used to the new syntax.&lt;br /&gt;
** FantasyCraft was pushed as the best fantasy d20 system to convert&lt;br /&gt;
** Killshot was also recommended, but discarded as the OS is not complete to have full testing.&lt;br /&gt;
** Deadlands was also recommended.&lt;br /&gt;
* Of those, Fantasy Craft has the smallest data footprint and would be the best.&lt;br /&gt;
* OS conversion was mentioned and Tom will come up with the proper method&lt;br /&gt;
* FACT/FACTSET is easier to plug in and was recommended to get in; Tom deferred that since another system needs to be built to allow two-way communication first.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Meeting Log=&lt;br /&gt;
* [15:04] &amp;lt;@AndrewAAM[Chair]&amp;gt; Welcome everyone to the PCGen Board of Director's meeting.&lt;br /&gt;
* [15:04] &amp;lt;@AndrewAAM[Chair]&amp;gt; This is scheduled as a Deep Dive Meeting with a release component: (3pm PST, 6pm EST)&lt;br /&gt;
* [15:04] &amp;lt;@AndrewAAM[Chair]&amp;gt; Agenda: 1 hour meeting allotted. &lt;br /&gt;
* [15:04] &amp;lt;@AndrewAAM[Chair]&amp;gt; (1) Release Status of 6.4.1 &amp;amp; 6.5.0 (James - 5 minutes) &lt;br /&gt;
* [15:04] &amp;lt;@AndrewAAM[Chair]&amp;gt; (2) Migration plans (James - 5 to 10 minutes) &lt;br /&gt;
* [15:04] &amp;lt;@AndrewAAM[Chair]&amp;gt; (3) Assessment &amp;amp; Discussion of Formula Parser and public input (Tom - 45 minutes)&lt;br /&gt;
* [15:05] &amp;lt;Tom[Arch_SB]&amp;gt; Are we expecting James?&lt;br /&gt;
* [15:06] &amp;lt;@AndrewAAM[Chair]&amp;gt; Yes, I haven't heard from him otherwise&lt;br /&gt;
* [15:06] &amp;lt;Tom[Arch_SB]&amp;gt; k&lt;br /&gt;
* [15:06] &amp;lt;@AndrewAAM[Chair]&amp;gt; Since James is currently not present, we can skip his segments til he shows up. I'll send him a quick note.&lt;br /&gt;
* [15:06] *** James[Code_SB] has joined #pcgen&lt;br /&gt;
* [15:06] &amp;lt;@AndrewAAM[Chair]&amp;gt; Hi James!&lt;br /&gt;
* [15:06] &amp;lt;James[Code_SB]&amp;gt; Morning all&lt;br /&gt;
* [15:06] &amp;lt;Tom[Arch_SB]&amp;gt; Hi James&lt;br /&gt;
* [15:06] &amp;lt;@Zaister&amp;gt; That was some quick note!&lt;br /&gt;
* [15:07] &amp;lt;Tom[Arch_SB]&amp;gt; no kidding!&lt;br /&gt;
* [15:07] &amp;lt;@AndrewAAM[Chair]&amp;gt; Mental note... speed of thought!&lt;br /&gt;
* [15:07] &amp;lt;James[Code_SB]&amp;gt; Bit delayed this morning - so where are we up to?&lt;br /&gt;
* [15:07] &amp;lt;@AndrewAAM[Chair]&amp;gt; Welcome James, agenda items (1) is ready if you don't mind taking the floor.&lt;br /&gt;
* [15:07] &amp;lt;@AndrewAAM[Chair]&amp;gt; (1) Release Status of 6.4.1 &amp;amp; 6.5.0 (James - 5 minutes)&lt;br /&gt;
* [15:08] &amp;lt;James[Code_SB]&amp;gt; OK, we have had three release candidates, one really due to the rush to get things out quickly&lt;br /&gt;
* [15:09] &amp;lt;James[Code_SB]&amp;gt; We won;t do a forth unless the program doesn't start (it does) :)&lt;br /&gt;
* [15:09] &amp;lt;James[Code_SB]&amp;gt; So I'll release 6.4.1 on Monday (22 Dec)&lt;br /&gt;
* [15:09] &amp;lt;James[Code_SB]&amp;gt; Then I'll do 6.5.0 the following day&lt;br /&gt;
* [15:10] &amp;lt;James[Code_SB]&amp;gt; That will be the last release from svn&lt;br /&gt;
* [15:10] &amp;lt;James[Code_SB]&amp;gt; Any questions or concerns?&lt;br /&gt;
* [15:10] &amp;lt;Tom[Arch_SB]&amp;gt; ok, so the git conversion schedule also slips to freeze 22 and ready for input like 25?&lt;br /&gt;
* [15:10] &amp;lt;@AndrewAAM[Chair]&amp;gt; Sounds good to me. No questions here.&lt;br /&gt;
* [15:10] &amp;lt;James[Code_SB]&amp;gt; well, 25th has other significance&lt;br /&gt;
* [15:11] &amp;lt;@AndrewAAM[Chair]&amp;gt; That would be agenda item (2)&lt;br /&gt;
* [15:11] &amp;lt;@AndrewAAM[Chair]&amp;gt; :)&lt;br /&gt;
* [15:11] &amp;lt;@AndrewAAM[Chair]&amp;gt; (2) Migration plans (James - 5 to 10 minutes)&lt;br /&gt;
* [15:11] &amp;lt;@AndrewAAM[Chair]&amp;gt; Go ahead James...&lt;br /&gt;
* [15:11] &amp;lt;James[Code_SB]&amp;gt; Thanks Andrew&lt;br /&gt;
* [15:12] &amp;lt;James[Code_SB]&amp;gt; so with the slip of schedule, I don;t expect we will be moving to git until a few days after Christmas&lt;br /&gt;
* [15:12] &amp;lt;Tom[Arch_SB]&amp;gt; so freeze over the weekend after and ready for use 29?&lt;br /&gt;
* [15:13] &amp;lt;James[Code_SB]&amp;gt; Sounds reasonable, depending on Henk's time&lt;br /&gt;
* [15:13] &amp;lt;Tom[Arch_SB]&amp;gt; ok, or should we freeze from the 6.5.0 release&lt;br /&gt;
* [15:13] &amp;lt;@AndrewAAM[Chair]&amp;gt; I'd recommend a freeze on svn after 6.5.0 goes out.&lt;br /&gt;
* [15:13] &amp;lt;@Zaister&amp;gt; sounds reasonable to me&lt;br /&gt;
* [15:13] &amp;lt;James[Code_SB]&amp;gt; Well, I don;t think the freeze synced to 6.5.0 is so important, but it is a convenient marker&lt;br /&gt;
* [15:14] &amp;lt;Tom[Arch_SB]&amp;gt; my current work is in a series of sandboxes anyway, so no impact to me&lt;br /&gt;
* [15:14] &amp;lt;James[Code_SB]&amp;gt; It is a quiet time anyway&lt;br /&gt;
* [15:14] &amp;lt;@AndrewAAM[Chair]&amp;gt; There shouldn't be any work in the trunk after 6.5. Only thing left to manage would be utility updates - which I can push before 6.5&lt;br /&gt;
* [15:15] &amp;lt;James[Code_SB]&amp;gt; Agreed&lt;br /&gt;
* [15:15] &amp;lt;Tom[Arch_SB]&amp;gt; ok, then freeze 22nd as you approach 6.5.0 then restart 29 in git&lt;br /&gt;
* [15:16] &amp;lt;James[Code_SB]&amp;gt; Yep, noting that it is indicative pending availability during a time when many people are busy, away etc&lt;br /&gt;
* [15:16] &amp;lt;Tom[Arch_SB]&amp;gt; y&lt;br /&gt;
* [15:16] &amp;lt;@AndrewAAM[Chair]&amp;gt; Oh, we had a volunteer do a migration for us, not sure if you saw. Might save some work if the work looks good.&lt;br /&gt;
* [15:17] &amp;lt;James[Code_SB]&amp;gt; Yep, Skylar did a test migration which can be seen at https://github.com/pcgen-reorg/&lt;br /&gt;
* [15:17] &amp;lt;James[Code_SB]&amp;gt; It looks quite good&lt;br /&gt;
* [15:17] &amp;lt;James[Code_SB]&amp;gt; but removes the lib folder, which means the ant build will no longer work&lt;br /&gt;
* [15:17] &amp;lt;@Zaister&amp;gt; as long as gradle still work I guess I can live with that&lt;br /&gt;
* [15:17] &amp;lt;James[Code_SB]&amp;gt; With the gradle build now stable I think that is fine, but is everyone happy with that?&lt;br /&gt;
* [15:18] &amp;lt;Tom[Arch_SB]&amp;gt; well, we were moving to gradle anyway...&lt;br /&gt;
* [15:18] &amp;lt;@AndrewAAM[Chair]&amp;gt; I've been using gradle since you put it in.&lt;br /&gt;
* [15:18] &amp;lt;James[Code_SB]&amp;gt; Indeed, and that folder was 25% of the entire repo!&lt;br /&gt;
* [15:18] &amp;lt;@Zaister&amp;gt; in that context, is it safe to update gradle to 2.2.1 or might that break the build?&lt;br /&gt;
* [15:18] &amp;lt;Tom[Arch_SB]&amp;gt; and the lib being big enough and storing binaries not really in the spirit of git... it's probably better without lib&lt;br /&gt;
* [15:19] &amp;lt;@Zaister&amp;gt; indeed&lt;br /&gt;
* [15:19] &amp;lt;James[Code_SB]&amp;gt; I'd recommend using the wrapper as that means you don;t need to install gradle at all - it grabs it for you and ensures the version is correct&lt;br /&gt;
* [15:19] &amp;lt;@Zaister&amp;gt; oh ok&lt;br /&gt;
* [15:19] &amp;lt;@Zaister&amp;gt; where does it put it?&lt;br /&gt;
* [15:20] &amp;lt;@AndrewAAM[Chair]&amp;gt; @James - do we have those instructions?&lt;br /&gt;
* [15:20] &amp;lt;James[Code_SB]&amp;gt; Gradle wrapper is at gradle v2.2 currently&lt;br /&gt;
* [15:20] &amp;lt;@AndrewAAM[Chair]&amp;gt; If not, having them on our wiki would be great. :)&lt;br /&gt;
* [15:21] &amp;lt;James[Code_SB]&amp;gt; I don't know for sure but I expect it puts the gradle download in the .gradle folder&lt;br /&gt;
* [15:21] &amp;lt;James[Code_SB]&amp;gt; The docs in the wiki need to be updated - I'll get those done&lt;br /&gt;
* [15:21] &amp;lt;James[Code_SB]&amp;gt; but it is pretty simple now&lt;br /&gt;
* [15:21] &amp;lt;@AndrewAAM[Chair]&amp;gt; Excellent. Simple is good.&lt;br /&gt;
* [15:21] &amp;lt;James[Code_SB]&amp;gt; gradlew&lt;br /&gt;
* [15:21] &amp;lt;James[Code_SB]&amp;gt; from the pcgen checkout folder&lt;br /&gt;
* [15:21] &amp;lt;@Zaister&amp;gt; ah ok, so I don't actually need a gradle install from my distro&lt;br /&gt;
* [15:22] &amp;lt;James[Code_SB]&amp;gt; will give you a build&lt;br /&gt;
* [15:22] &amp;lt;James[Code_SB]&amp;gt; not with the wrapper, no&lt;br /&gt;
* [15:22] &amp;lt;@Zaister&amp;gt; OK&lt;br /&gt;
* [15:22] &amp;lt;James[Code_SB]&amp;gt; eclipse and intellij should also be able to use the wrapper, but I haven't played with them too much&lt;br /&gt;
* [15:23] &amp;lt;James[Code_SB]&amp;gt; Jenkins has already been switched to the wrapper and does not have gradle 2.2 installed at all&lt;br /&gt;
* [15:23] &amp;lt;@AndrewAAM[Chair]&amp;gt; Nice. Sounds like the migration will be easy then with the work Skylar did for us.&lt;br /&gt;
* [15:23] &amp;lt;James[Code_SB]&amp;gt; So I'll add a trunk task to remove the old ant build and the lib folder. That will be included in 6.5.0&lt;br /&gt;
* [15:24] &amp;lt;James[Code_SB]&amp;gt; Yeah I think so - his split looks good&lt;br /&gt;
* [15:24] &amp;lt;James[Code_SB]&amp;gt; We would of course retain our current NewSource repo but otherwise the repos would be as in his demo&lt;br /&gt;
* [15:25] &amp;lt;James[Code_SB]&amp;gt; The migration I understand takes around 2-3 days due to the traffic between sf's svn server and the machine where the git repo is being built&lt;br /&gt;
* [15:26] &amp;lt;@AndrewAAM[Chair]&amp;gt; Any further comments or questions before we move on to the deep dive discussion segment?&lt;br /&gt;
* [15:26] &amp;lt;James[Code_SB]&amp;gt; @cantsin that sound about right to you?&lt;br /&gt;
* [15:27] &amp;lt;@AndrewAAM[Chair]&amp;gt; Oh sorry, cantsin isn't skylar&lt;br /&gt;
* [15:27] &amp;lt;@AndrewAAM[Chair]&amp;gt; candavespin is skylar&lt;br /&gt;
* [15:27] &amp;lt;James[Code_SB]&amp;gt; Ah ok&lt;br /&gt;
* [15:28] &amp;lt;Tom[Arch_SB]&amp;gt; I'd actually like to know what the sandbox plan is, since I'm not sure I followed all the discussion&lt;br /&gt;
* [15:28] &amp;lt;James[Code_SB]&amp;gt; Well, the sandbox can just be a branch in git&lt;br /&gt;
* [15:28] &amp;lt;Tom[Arch_SB]&amp;gt; should they be in forks, or are we actively putting them into the master repository (with the assiciated size)&lt;br /&gt;
* [15:28] *** Distant_Scholar has joined #pcgen&lt;br /&gt;
* [15:29] &amp;lt;@Zaister&amp;gt; I think for a sandbox like you're using it makes sense to use a fork under your user path&lt;br /&gt;
* [15:29] &amp;lt;James[Code_SB]&amp;gt; Yes that is true - easy to be in personal forks then&lt;br /&gt;
* [15:30] &amp;lt;@AndrewAAM[Chair]&amp;gt; and those interested in helping or testing can pull your work into their own forks&lt;br /&gt;
* [15:30] &amp;lt;James[Code_SB]&amp;gt; However I would still use a branch in your fork to hold the sandbox&lt;br /&gt;
* [15:30] &amp;lt;@Zaister&amp;gt; yes&lt;br /&gt;
* [15:30] &amp;lt;James[Code_SB]&amp;gt; That way you can keep the fork/master up to date with pcgen master&lt;br /&gt;
* [15:30] &amp;lt;Tom[Arch_SB]&amp;gt; right&lt;br /&gt;
* [15:30] &amp;lt;James[Code_SB]&amp;gt; and sync the latest code with your branch easily&lt;br /&gt;
* [15:31] &amp;lt;@AndrewAAM[Chair]&amp;gt; That seems to be a natural lead in to our next agenda item.&lt;br /&gt;
* [15:31] &amp;lt;@AndrewAAM[Chair]&amp;gt; (3) Assessment &amp;amp; Discussion of Formula Parser and public input (Tom - 45 minutes)&lt;br /&gt;
* [15:32] &amp;lt;James[Code_SB]&amp;gt; One sec&lt;br /&gt;
* [15:32] &amp;lt;James[Code_SB]&amp;gt; Did everyone see the github advisory on a git client vulnerability?&lt;br /&gt;
* [15:32] &amp;lt;@AndrewAAM[Chair]&amp;gt; Zaister mentioned it premeeting&lt;br /&gt;
* [15:32] &amp;lt;James[Code_SB]&amp;gt; Make sure you update your git clients, particularly if you use windows&lt;br /&gt;
* [15:32] &amp;lt;James[Code_SB]&amp;gt; cool&lt;br /&gt;
* [15:33] &amp;lt;@AndrewAAM[Chair]&amp;gt; about the git exploit: http://arstechnica.com/security/2014/12/critical-git-bug-allows-malicious-code-execution-on-client-machines/&lt;br /&gt;
* [15:33] &amp;lt;@AndrewAAM[Chair]&amp;gt; Thanks James! :)&lt;br /&gt;
* [15:34] &amp;lt;@AndrewAAM[Chair]&amp;gt; Before I turn the floor to Tom, I want to mention we had a successful content meeting&lt;br /&gt;
* [15:34] &amp;lt;@AndrewAAM[Chair]&amp;gt; Our major discussion was the formula parser, FACT/FACTSET and the git migration. Everyone had a positive outlook and just a few technical issues.&lt;br /&gt;
* [15:35] &amp;lt;@Zaister&amp;gt; I can say that I have now understood FACT/FACTSET :)&lt;br /&gt;
* [15:35] &amp;lt;Tom[Arch_SB]&amp;gt; woot!&lt;br /&gt;
* [15:35] &amp;lt;Tom[Arch_SB]&amp;gt; so what do you think?&lt;br /&gt;
* [15:36] &amp;lt;@AndrewAAM[Chair]&amp;gt; Which is exactly the point of those meetings and discussions. :)&lt;br /&gt;
* [15:36] &amp;lt;@Zaister&amp;gt; Tom[Arch_SB]: looks like a good idea to me&lt;br /&gt;
* [15:36] &amp;lt;Tom[Arch_SB]&amp;gt; cool&lt;br /&gt;
&lt;br /&gt;
==Deep Dive Discussion==&lt;br /&gt;
* [15:37] &amp;lt;@AndrewAAM[Chair]&amp;gt; Okay Tom, floor is yours. :)&lt;br /&gt;
* [15:37] &amp;lt;Tom[Arch_SB]&amp;gt; So about this formula parser... :)&lt;br /&gt;
* [15:37] &amp;lt;Tom[Arch_SB]&amp;gt; Andrew has been working through a small subset of data to get some experience at what it might look like&lt;br /&gt;
* [15:38] &amp;lt;Tom[Arch_SB]&amp;gt; I've also been testing things in the sandbox (some uncommitted code at the moment while I work things out)&lt;br /&gt;
* [15:38] &amp;lt;Tom[Arch_SB]&amp;gt; We've discovered a few things:&lt;br /&gt;
* [15:38] &amp;lt;Tom[Arch_SB]&amp;gt; (1) The Equipment Variable demo just has local vars in Equipment and &amp;quot;Parts&amp;quot; (Equipment Heads in the current code)...&lt;br /&gt;
* [15:39] &amp;lt;Tom[Arch_SB]&amp;gt; ...this will quickly need to include other things like Skills, Classes, Spells in order to convert all the BONUS objects&lt;br /&gt;
* [15:39] &amp;lt;Tom[Arch_SB]&amp;gt; This is not unexpected, and really with something like 100 ish lines to support a new scope (of those objects anyway - and not counting testing) it's not a huge burden&lt;br /&gt;
* [15:40] &amp;lt;Tom[Arch_SB]&amp;gt; (2) The current aggressive solver can be put into an infinite loop.  One of the earlier ones would catch loops when modifiers were added, but the current one does not.&lt;br /&gt;
* [15:40] &amp;lt;Tom[Arch_SB]&amp;gt; This will need to be  resolved... and there are a number of methods to do that, just need to decide which one is best&lt;br /&gt;
* [15:41] &amp;lt;Tom[Arch_SB]&amp;gt; It's possible that we prohibit loops altogether (even ones  that would not be infinite)...&lt;br /&gt;
* [15:41] &amp;lt;Tom[Arch_SB]&amp;gt; I may go that path just to see if we prove that oversimplification fails in the real world, as it is easier to implement and will require less code at runtime&lt;br /&gt;
* [15:42] &amp;lt;Tom[Arch_SB]&amp;gt; (3) There is some confusion coming from VAR= being the default value for a variable (whereas something like an AREA (Face) needing to use AREA=Face&lt;br /&gt;
* [15:43] &amp;lt;Tom[Arch_SB]&amp;gt; This was a simplification to avoid the extra 4 characters constantly (under the assumption that folks are familiar with vars and thus would think that way unless prompted by something else)&lt;br /&gt;
* [15:43] &amp;lt;Tom[Arch_SB]&amp;gt; This should probably go back to the data team to see if they like the optimization or whether it would be easier to just be consistent and add a few characters on every use&lt;br /&gt;
* [15:44] &amp;lt;Tom[Arch_SB]&amp;gt; (It also keeps VAR from being special in the code, which wouldn't be bad)&lt;br /&gt;
* [15:44] &amp;lt;Tom[Arch_SB]&amp;gt; (4) There are a number of patterns that have already emerged from what Andrew has done.  Some of these probably deserve optimization&lt;br /&gt;
* [15:44] &amp;lt;Tom[Arch_SB]&amp;gt; One thing we've seen is a lot of SOLVE|value()+...&lt;br /&gt;
* [15:45] &amp;lt;Tom[Arch_SB]&amp;gt; another is SOLVE|if(value() compare number,new,value())&lt;br /&gt;
* [15:45] &amp;lt;Tom[Arch_SB]&amp;gt; those are the two most frequent so far&lt;br /&gt;
* [15:46] &amp;lt;Tom[Arch_SB]&amp;gt; So we may redo how some things work in order to reduce those down&lt;br /&gt;
* [15:46] &amp;lt;Tom[Arch_SB]&amp;gt; I'll be looking into what code changes those would require and the impact it would have&lt;br /&gt;
* [15:47] *** aap_ has joined #pcgen&lt;br /&gt;
* [15:48] &amp;lt;Tom[Arch_SB]&amp;gt; ( 5 ) I think the magnitude of the change is sinking in :D&lt;br /&gt;
* [15:48] &amp;lt;Tom[Arch_SB]&amp;gt; Not sure what more to say about that since it's really an impact on the data team.  Any comments Andrew?&lt;br /&gt;
* [15:48] &amp;lt;@AndrewAAM[Chair]&amp;gt; JEP is very pervasive.&lt;br /&gt;
* [15:49] &amp;lt;@AndrewAAM[Chair]&amp;gt; My stance on this project, it's a huge undertaking&lt;br /&gt;
* [15:49] &amp;lt;@Zaister&amp;gt; It certainly is&lt;br /&gt;
* [15:50] &amp;lt;@AndrewAAM[Chair]&amp;gt; I'd rather we dive in and do it in one fell swoop, then attempt to piecemeal it over time. I say this for the fact that JEP is pervasive and is in every aspect of the program&lt;br /&gt;
* [15:50] &amp;lt;@Zaister&amp;gt; Once we've done that, we have replaced both the blade and the handle of grandfather's axe.&lt;br /&gt;
* [15:50] &amp;lt;@AndrewAAM[Chair]&amp;gt; The issue is really of so much inter-dependency.&lt;br /&gt;
* [15:51] &amp;lt;@AndrewAAM[Chair]&amp;gt; You can't touch one part without affecting another part.&lt;br /&gt;
* [15:51] &amp;lt;@Zaister&amp;gt; I'm not sure if piecemeal is even possible&lt;br /&gt;
* [15:51] &amp;lt;Tom[Arch_SB]&amp;gt; So this is the balancing act I've been struggling with for a long while&lt;br /&gt;
* [15:51] *** aap_ has quit IRC: Ping timeout: 246 seconds&lt;br /&gt;
* [15:51] &amp;lt;@AndrewAAM[Chair]&amp;gt; I believe we should involve our community in this decision&lt;br /&gt;
* [15:52] &amp;lt;Tom[Arch_SB]&amp;gt; if you do it one token at a time, you end up with a risk of the two systems being permanently present&lt;br /&gt;
* [15:52] &amp;lt;Tom[Arch_SB]&amp;gt; if you do it all at once, you end up with a risk of a long time between releases&lt;br /&gt;
* [15:52] &amp;lt;Tom[Arch_SB]&amp;gt; there are other risks too, but those are two clear examples at the bookends, so to speak&lt;br /&gt;
* [15:53] &amp;lt;Tom[Arch_SB]&amp;gt; @Andrew: Absolutely, this can't be the decision of the folks on IRC right now&lt;br /&gt;
* [15:53] &amp;lt;Tom[Arch_SB]&amp;gt; or even the BoD&lt;br /&gt;
* [15:53] &amp;lt;@AndrewAAM[Chair]&amp;gt; Yes, I think from a data approach, we should go system by system (Pathfinder, 35e, Killshot, etc.) if we do choose to implement it.&lt;br /&gt;
* [15:54] &amp;lt;Tom[Arch_SB]&amp;gt; Any thoughts James?&lt;br /&gt;
* [15:55] &amp;lt;James[Code_SB]&amp;gt; Well, I would start with a smaller system than pathfinder first :)&lt;br /&gt;
* [15:55] &amp;lt;@Zaister&amp;gt; maybe we should do a new survey about which game mode are actually being used, and by how many&lt;br /&gt;
* [15:55] &amp;lt;Tom[Arch_SB]&amp;gt; That's part of why I encouraged Andrew to start with only a handful of classes on Pathfinder as he discovered what it would be like :)&lt;br /&gt;
* [15:55] &amp;lt;James[Code_SB]&amp;gt; Maybe take killshot or gaslight?&lt;br /&gt;
* [15:56] &amp;lt;@AndrewAAM[Chair]&amp;gt; PF, 35e, 3e, Modern and Darwin's World 2 have been discussed recently by users, so I know those have gotten used.&lt;br /&gt;
* [15:56] &amp;lt;@Zaister&amp;gt; Pathfinder is probably the most complex system by now&lt;br /&gt;
* [15:56] &amp;lt;@AndrewAAM[Chair]&amp;gt; @Zaister - YES!&lt;br /&gt;
* [15:56] &amp;lt;@AndrewAAM[Chair]&amp;gt; If we can conquer Pathfinder, then all the other systems will fall before our blades, erm, bananas!!&lt;br /&gt;
* [15:57] &amp;lt;@AndrewAAM[Chair]&amp;gt; Killshot would be the easiest to convert&lt;br /&gt;
* [15:57] &amp;lt;@AndrewAAM[Chair]&amp;gt; Also the hardest to test...&lt;br /&gt;
* [15:57] &amp;lt;@AndrewAAM[Chair]&amp;gt; since we lack a working OS sheet for it.&lt;br /&gt;
* [15:57] &amp;lt;@Zaister&amp;gt; Ah I remember&lt;br /&gt;
* [15:57] &amp;lt;@Zaister&amp;gt; I must admit I know nothing about that game&lt;br /&gt;
* [15:58] &amp;lt;@AndrewAAM[Chair]&amp;gt; It's various dice pools. I can send you a free pdf.&lt;br /&gt;
* [15:58] &amp;lt;Tom[Arch_SB]&amp;gt; I think starting with a smaller game mode is preferable&lt;br /&gt;
* [15:58] &amp;lt;@AndrewAAM[Chair]&amp;gt; Agreed, but we have to choose carefully, many are subsystems of a major system&lt;br /&gt;
* [15:59] &amp;lt;@AndrewAAM[Chair]&amp;gt; Darwin's World is Modern&lt;br /&gt;
* [15:59] &amp;lt;@Zaister&amp;gt; maybe implement a new one as test bed&lt;br /&gt;
* [15:59] &amp;lt;@AndrewAAM[Chair]&amp;gt; Gaslight is also based on Modern, but I've isolated it to be self-contained&lt;br /&gt;
* [15:59] &amp;lt;@Zaister&amp;gt; D&amp;amp;D 5E is still small :)&lt;br /&gt;
* [16:00] &amp;lt;@AndrewAAM[Chair]&amp;gt; Yeah, but no license, but if you want to ask BD to convert his set, I don't think he'd object&lt;br /&gt;
* [16:00] &amp;lt;@Zaister&amp;gt; yes the licence thing would be a problem for publication&lt;br /&gt;
* [16:02] &amp;lt;@AndrewAAM[Chair]&amp;gt; Deadlands might be a safe test bed&lt;br /&gt;
* [16:02] &amp;lt;Tom[Arch_SB]&amp;gt; I think we should do something with an OS&lt;br /&gt;
* [16:02] &amp;lt;@Zaister&amp;gt; yes&lt;br /&gt;
* [16:02] &amp;lt;@AndrewAAM[Chair]&amp;gt; What would you recommend Tom?&lt;br /&gt;
* [16:03] &amp;lt;Tom[Arch_SB]&amp;gt; I'm not sure I know all of what we ship Andrew&lt;br /&gt;
* [16:03] &amp;lt;Tom[Arch_SB]&amp;gt; so just nudging and letting you guys choose&lt;br /&gt;
* [16:03] &amp;lt;@AndrewAAM[Chair]&amp;gt; (Spycraft is also a safe test)  and our demo of fantasy craft is likely the smallest set that would strain our capabilities and be safe as well.&lt;br /&gt;
* [16:04] &amp;lt;[OGL]Nylanfs&amp;gt; Shadowrun could be used as a testbed, and released via their forums. :)&lt;br /&gt;
* [16:04] &amp;lt;[OGL]Nylanfs&amp;gt; FantasyCraft would probably test the best with the smallest footprint for the data&lt;br /&gt;
* [16:04] &amp;lt;[OGL]Nylanfs&amp;gt; Erm what Andrew said.&lt;br /&gt;
* [16:04] &amp;lt;@Zaister&amp;gt; It might make sense to use a d20 system as test bed&lt;br /&gt;
* [16:05] &amp;lt;@AndrewAAM[Chair]&amp;gt; Fantasycraft is d20-flavored, and smallest footprint we have&lt;br /&gt;
* [16:07] &amp;lt;@AndrewAAM[Chair]&amp;gt; Any further thoughts?&lt;br /&gt;
* [16:07] &amp;lt;Tom[Arch_SB]&amp;gt; not from me&lt;br /&gt;
* [16:08] &amp;lt;James[Code_SB]&amp;gt; none here&lt;br /&gt;
* [16:08] &amp;lt;[OGL]Nylanfs&amp;gt; None from me&lt;br /&gt;
* [16:08] &amp;lt;@Zaister&amp;gt; no&lt;br /&gt;
* [16:08] &amp;lt;Distant_Scholar&amp;gt; When we get to changing Pathfinder, would we have to put a freeze on all other data changes, or is there a way to do them in parallel?  I'm concerned about user wait times for bug fixes.&lt;br /&gt;
* [16:08] &amp;lt;@AndrewAAM[Chair]&amp;gt; Branches are a wonderful thing. No impact on release materials or hotfixes :)&lt;br /&gt;
* [16:09] &amp;lt;Tom[Arch_SB]&amp;gt; Not to mention if PF is done last, there will be a lot of experience in how things convert... and who knows, someone may have built tools to help by then too&lt;br /&gt;
* [16:09] &amp;lt;@AndrewAAM[Chair]&amp;gt; We'll be able to work on any system without impacting the official data till a conversion is completed.&lt;br /&gt;
* [16:09] &amp;lt;@Zaister&amp;gt; Yes but if you do fixes in the trunk, you have to port them to the dev branch&lt;br /&gt;
* [16:10] &amp;lt;@AndrewAAM[Chair]&amp;gt; Yes, that is true... I'll stick around after the meeting to discuss logistics. Thanks for coming everyone! *Bangs gavel*&lt;br /&gt;
* [16:10] &amp;lt;James[Code_SB]&amp;gt; Yes I'd expect impacts but presumably the payoff is such that we will get faster updates afterwards&lt;br /&gt;
* [16:10] &amp;lt;@Zaister&amp;gt; yes&lt;br /&gt;
&lt;br /&gt;
== After meeting logistics discussion ==&lt;br /&gt;
* [16:11] &amp;lt;@AndrewAAM[Chair]&amp;gt; Logistics: Porting data is going to be interesting&lt;br /&gt;
* [16:12] &amp;lt;James[Code_SB]&amp;gt; As Tom pointed out we'll have to have a UI that can pick info from both backends too&lt;br /&gt;
* [16:13] &amp;lt;James[Code_SB]&amp;gt; Output would also be affected&lt;br /&gt;
* [16:13] &amp;lt;@AndrewAAM[Chair]&amp;gt; Looking for ideas and suggestions - Core set has to be converted first to set the ground work and what variables we're using .&lt;br /&gt;
* [16:14] &amp;lt;@AndrewAAM[Chair]&amp;gt; James - Would making a new OS folder for the converter sets be easier?&lt;br /&gt;
* [16:15] &amp;lt;@AndrewAAM[Chair]&amp;gt; I know the base.xml.ftl can be placed in each gamemode to keep changes for affecting other sets, so we can leverage that, and a different folder to prevent breaking things&lt;br /&gt;
* [16:15] &amp;lt;@AndrewAAM[Chair]&amp;gt; by different folder I mean the path we set in the miscinfo.lst file - so it points to the files that are updated.&lt;br /&gt;
* [16:16] &amp;lt;James[Code_SB]&amp;gt; Minor detail really&lt;br /&gt;
* [16:16] &amp;lt;@AndrewAAM[Chair]&amp;gt; For OS updates, we need to know how to access the new vartypes&lt;br /&gt;
* [16:17] &amp;lt;James[Code_SB]&amp;gt; I expect something like that will be necessary as Tom has proposed a new output model to pick up the character info and make it fit better into FreeMarker's object model&lt;br /&gt;
* [16:17] &amp;lt;@AndrewAAM[Chair]&amp;gt; I know the FACT/FACTSET has a system built in, but I haven't seen any proposals for OS regarding the Formula Parser yet.&lt;br /&gt;
* [16:18] &amp;lt;Tom[Arch_SB]&amp;gt; There are at least two ways to do it&lt;br /&gt;
* [16:19] &amp;lt;Tom[Arch_SB]&amp;gt; Global vars will probably just be something like ${var.xyz}&lt;br /&gt;
* [16:19] &amp;lt;Tom[Arch_SB]&amp;gt; local may end up with a VISIBLE in the variable file like FACT and FACTSET&lt;br /&gt;
* [16:20] &amp;lt;Tom[Arch_SB]&amp;gt; or we could do something like ${ability.var.localvarsuchandsuch}&lt;br /&gt;
* [16:20] &amp;lt;Tom[Arch_SB]&amp;gt; (I may be mangling FreeMarker's syntax a bit here, but you get the idea)&lt;br /&gt;
* [16:21] &amp;lt;@AndrewAAM[Chair]&amp;gt; Okay, let's go with a big item - Skills&lt;br /&gt;
* [16:21] &amp;lt;Tom[Arch_SB]&amp;gt; Actually will require some thinking to ensure namespaces work out ok too&lt;br /&gt;
* [16:21] &amp;lt;Tom[Arch_SB]&amp;gt; p.s. 10 minute warning for my departure&lt;br /&gt;
* [16:21] &amp;lt;@AndrewAAM[Chair]&amp;gt; Okay&lt;br /&gt;
* [16:22] &amp;lt;@AndrewAAM[Chair]&amp;gt; So, we want to output skills, total, rank, stat and bonustotal.&lt;br /&gt;
* [16:22] &amp;lt;@AndrewAAM[Chair]&amp;gt; We need a method to loop through the skill objects and grab that value.&lt;br /&gt;
* [16:23] &amp;lt;Tom[Arch_SB]&amp;gt; The looping is in FreeMarker&lt;br /&gt;
* [16:23] &amp;lt;Tom[Arch_SB]&amp;gt; &amp;lt;#list ${skills} as skill&amp;gt;&lt;br /&gt;
* [16:23] &amp;lt;Tom[Arch_SB]&amp;gt; etc&lt;br /&gt;
* [16:23] &amp;lt;Tom[Arch_SB]&amp;gt; ends with &amp;lt;/#list&amp;gt;&lt;br /&gt;
* [16:24] &amp;lt;Tom[Arch_SB]&amp;gt; inside of that, you do:&lt;br /&gt;
* [16:24] &amp;lt;Tom[Arch_SB]&amp;gt; ${skill.xyz}&lt;br /&gt;
* [16:24] &amp;lt;Tom[Arch_SB]&amp;gt; where xyz might just be the var (e..g. total)&lt;br /&gt;
* [16:24] &amp;lt;Tom[Arch_SB]&amp;gt; or it might be var.total&lt;br /&gt;
* [16:24] &amp;lt;Tom[Arch_SB]&amp;gt; or something else to be determined&lt;br /&gt;
* [16:24] &amp;lt;Tom[Arch_SB]&amp;gt; but it's not a hard problem, given what else we are facing :)&lt;br /&gt;
* [16:25] &amp;lt;James[Code_SB]&amp;gt; and we have sensible standard tools to leverage which makes it easier&lt;br /&gt;
* [16:25] &amp;lt;Tom[Arch_SB]&amp;gt; I'm just trying to figure out how to work with like 3 parallel branches :)&lt;br /&gt;
* [16:25] &amp;lt;James[Code_SB]&amp;gt; :)&lt;br /&gt;
* [16:25] &amp;lt;Tom[Arch_SB]&amp;gt; the output shims, FACT/FACTSET, and the formula system&lt;br /&gt;
* [16:26] &amp;lt;@AndrewAAM[Chair]&amp;gt; FACT/FACTSET seems like a fairly simple system to install&lt;br /&gt;
* [16:26] &amp;lt;Tom[Arch_SB]&amp;gt; requires the shims, actually&lt;br /&gt;
* [16:27] &amp;lt;Tom[Arch_SB]&amp;gt; otherwise you can put data in but cant' get it out :)&lt;br /&gt;
* [16:27] &amp;lt;Tom[Arch_SB]&amp;gt; so I should probably go focus on the shims first&lt;br /&gt;
* [16:27] &amp;lt;@AndrewAAM[Chair]&amp;gt; shims, new terms. :)&lt;br /&gt;
* [16:28] &amp;lt;Tom[Arch_SB]&amp;gt; you can ignore it really&lt;br /&gt;
* [16:28] &amp;lt;Tom[Arch_SB]&amp;gt; programming slang&lt;br /&gt;
* [16:28] &amp;lt;@AndrewAAM[Chair]&amp;gt; yeah, fair enough, already cramming a ton of new information.&lt;br /&gt;
* [16:28] &amp;lt;@Zaister&amp;gt; I've looked it up, I hadn't heard it before either&lt;br /&gt;
* [16:28] &amp;lt;Tom[Arch_SB]&amp;gt; I'd call it a facade, but facade is like bracket.  Depending on who you are talking to, it has a different meaning&lt;br /&gt;
* [16:28] &amp;lt;Tom[Arch_SB]&amp;gt; it's slang from construction, the things used to make sure windows and doors are square :)&lt;br /&gt;
* [16:29] &amp;lt;@Zaister&amp;gt; It's basically a wrapper around an interface of some kind, right?&lt;br /&gt;
* [16:29] &amp;lt;Tom[Arch_SB]&amp;gt; tend to be small, thin pieces of wood&lt;br /&gt;
* [16:29] &amp;lt;@AndrewAAM[Chair]&amp;gt; Yup, worked construction.&lt;br /&gt;
* [16:29] &amp;lt;Tom[Arch_SB]&amp;gt; so it's a thin layer of code between two things that &amp;quot;speak differently&amp;quot;&lt;br /&gt;
* [16:29] &amp;lt;Tom[Arch_SB]&amp;gt; to do the translation&lt;br /&gt;
* [16:29] &amp;lt;@AndrewAAM[Chair]&amp;gt; isn't that normally called an interface?&lt;br /&gt;
* [16:29] &amp;lt;Tom[Arch_SB]&amp;gt; adapter can be another term but that has other meanings too&lt;br /&gt;
* [16:30] &amp;lt;Tom[Arch_SB]&amp;gt; interface is what an object exposes to the world, so it has a specific meaning in programming&lt;br /&gt;
* [16:30] &amp;lt;Tom[Arch_SB]&amp;gt; that isn't this&lt;br /&gt;
* [16:30] &amp;lt;@Zaister&amp;gt; Yes, adapter is what came to mind, besides that fact that that term is also used for a design pattern that's not quite the same, I think&lt;br /&gt;
* [16:30] &amp;lt;Tom[Arch_SB]&amp;gt; ok, I'm turning into a pumpkin&lt;br /&gt;
* [16:30] &amp;lt;Tom[Arch_SB]&amp;gt; catch folks later&lt;br /&gt;
* [16:30] &amp;lt;@AndrewAAM[Chair]&amp;gt; okay. Night Tom&lt;br /&gt;
* [16:30] &amp;lt;@Zaister&amp;gt; bye Tom&lt;br /&gt;
* [16:31] &amp;lt;@AndrewAAM[Chair]&amp;gt; Zaister, were you going to be able to set up an OS for killshot? I can send you a link to grab the free sourcebook&lt;br /&gt;
* [16:32] &amp;lt;@Zaister&amp;gt; yes that would be nice&lt;br /&gt;
* [16:32] &amp;lt;@Zaister&amp;gt; I'm off work until Jan 5th, so I have time available&lt;br /&gt;
* [16:34] &amp;lt;@Zaister&amp;gt; &amp;quot;turn into a pumpkin&amp;quot;, never heard that before :)&lt;br /&gt;
* [16:34] &amp;lt;@AndrewAAM[Chair]&amp;gt; Cinderella term&lt;br /&gt;
* [16:34] &amp;lt;@Zaister&amp;gt; Ah&lt;br /&gt;
* [16:34] &amp;lt;@AndrewAAM[Chair]&amp;gt; after midnight the items turn back... the carriage turns into a pumpkin&lt;br /&gt;
* [16:35] &amp;lt;@Zaister&amp;gt; I remember, yes&lt;br /&gt;
* [16:36] &amp;lt;James[Code_SB]&amp;gt; time for me to go also - have a good evening guys&lt;br /&gt;
* [16:36] &amp;lt;@AndrewAAM[Chair]&amp;gt; Night James&lt;br /&gt;
* [16:36] &amp;lt;@Zaister&amp;gt; bye James&lt;br /&gt;
* [16:37] *** James[Code_SB] has left #pcgen&lt;br /&gt;
* [16:42] &amp;lt;Distant_Scholar&amp;gt; ... I got nothin' left to say.  Talk to y'all later.&lt;br /&gt;
* [16:43] &amp;lt;@Zaister&amp;gt; I should get to bed too&lt;br /&gt;
* [16:43] &amp;lt;@Zaister&amp;gt; good night!&lt;br /&gt;
* [16:44] *** Distant_Scholar has left #pcgen&lt;/div&gt;</summary>
		<author><name>LegacyKing</name></author>
		
	</entry>
</feed>