Cervator's work thread

Cervator

Org Co-Founder & Project Lead
Contributor
Design
Logistics
SpecOps
Edit: Will probably move items from here not worthy of moving to the issue tracker or an Incubator thread into a public Remember The Milk list

So I'm going to try something new! Been thinking about this for a while. Rather than keep a hopeless amount of stray text files, wiki notes, and browser tabs as reminders of all my todo tasks I'm going to keep a sort of scatterbrained todo thread here to potentially spread the wealth. It'll likely end up duplicating some items from the issue tracker, incubator/suggestions forum, etc, but I'll work on getting better at tracking it all and putting things in the right places :)

In concert with that I'm going to do personal twitter updates for the first time ever. That's right, I just sent my first ever tweet, not counting the Terasology account. In it exists a clue to what I'm going to tweet about, on a daily basis. Maybe it'll work as a motivator. Maybe it'll just be goofy.

Not sure yet how I'll keep this thread updated, but I found a Firefox addon that shows my tab count, although it is like three years old and doesn't refresh properly ... anyway, that inspired me to do something silly. So there it is! Will start adding more items here soon, getting late tonight, got work tomorrow :derp:

  • Harrison hit the gradlew script newline issue on Linux again, thought that was long gone. Unsure if file needs a fix in the repo
  • Updated contributor into form with a "Social" field (replaces "Nicks") so people can put their Twitter/FB/G+ stuff somewhere and if they do we can try to tag them if relevant
  • Oculus reminder. Shhh. Not the droids you're looking for.
  • Youtube channnel setup
  • Get 3000Lane's downloader/splash site front-end thing up already on GitHub
  • Play with setting up a Minecraft server for the birthday event and in general (can has new mega mod pack yet?)
  • Few possible blocks / fixes: Halite (rock salt, ocean affinity?), Galena, Cassiterite; fix Jet + Sylvite (missing), Magnetite (solid black)
  • Sort out exactly how we want to deal with left/right mouse button so they both make sense and feel right
  • Finish migrating old wiki to GitHub
  • Review Xenforo wiki, make it internal-only for collaboration on pending items (rather than documentation)
  • Use automation to parse some stuff out of the game and add to the GH wiki (commands, shortcuts, general help, etc)
    • Develop branch matches with wiki doc; Master branch matches with README?
  • Hunter team setup
 

glasz

Active Member
Contributor
Art
I created my own tweeter account : @albhertglasz, will try to do that tweet thing that seem so hype these days among the youngsters
 

Cervator

Org Co-Founder & Project Lead
Contributor
Design
Logistics
SpecOps
BWAHAHAHA! It works! http://jenkins.movingblocks.net/job/GroovyCheckstyler/ :omg:

Long and arbitrarily goofy process:

  1. A local Jenkins instance on my desktop PC runs a "GroovifiedFirefox" job that copies in my Firefox session data file to its workspace, which incidentally is the Git-home of TeraMisc's util/nerdy on my PC
  2. A groovy script runs and parses that into a big text file holding all the URLs in my Firefox tabs (it also knows up to 50 history entries per tab, but I don't need those for metrics)
  3. The urls.txt is copied onwards to my Jenkins instance's userContent directory (as I need a relative path to survive the transfer from my Windows filesystem to our Linuxy public Jenkins
  4. A second local Jenkins job "GroovyCheckstyler" runs another Groovy script that fakes a Checkstyle generation on the urls file (as in, generates a Checkstyle output file with data from my URLs) - this includes priorities based on URL patterns for stuff that's more important for me to get done (movingblocks / github stuff)
  5. Same job uses the Jenkins Checkstyle plugin to then generate a pretty graph and the same tabular setup our develop branch-based Terasology job does (although it is missing some tabs like Category - maybe because there's currently only one, Firefox browser tabs, more to come!)
  6. New plugin installed both on my local Jenkins and our public Jenkins allows build data to be published from one to the other, so my local GroovyCheckstyler gets published to our public Jenkins - including the metrics ;)
And incidentally, yes, that means the URLs in all 350+ tabs in my Firefox are public now. I figured I'd take it a step further for the absolute insane award as it goes well with my personal philosophy on transparency. I'm sure I'll goof up and leave something silly in there one day, but going through every single active URL I found exactly one to take out and that was a spreadsheet form for an EVE Uni Google Doc where input isn't restricted - very compromising and embarrassing, I know. More likely I'll end up leaving a Xenforo convo window up one day where the title is shown in the URL and gives a clue to something super secret!

Future additions: Items on my desktop categorized by type (.txt is usually todo so high priority, shortcuts probably actually make sense so they'd be ignored, etc), unprocessed emails in my inbox (will need to get through 9,265 unread emails first as my local email client wasn't set up right ...), and issues assigned to me on GitHub. And why not. Craziest part: it is actually working for generating motivation to finish some of my todo items. After I finish wasting time preparing metrics on my todo items ...

Rainbow ratings kthxplz as I embark on my journey for new depths of brilliantly insane geekiness! :rainbowdetermined:

(I'll polish up the scripts and commit them to TeraMisc soon, but this took me half the day to finish and I somewhat doubt anybody would want to join me in this silly quest anyway!)

Fun stat: I appear to have 48 tabs open to old board.movingblocks (phpbb3) threads that don't even exist anymore. Going back in the tabs is like going on an archaeological dig.
 

Cervator

Org Co-Founder & Project Lead
Contributor
Design
Logistics
SpecOps
Been updating my metrics dutifully once a day since I started and the graph is looking like a good and proper graph now. It sure isn't taking a downwards tumble as much as I had hoped though ;)

Added a few more items to my top post, but still having trouble finding the time to even do that. Badly in need of a time dilation device!
 

Cervator

Org Co-Founder & Project Lead
Contributor
Design
Logistics
SpecOps
Nice to see that being worked on. Any progress so far?
Alas, no, just trying to sort through some of the assorted reminders I've got floating all over the place :cowbell:
 

Cervator

Org Co-Founder & Project Lead
Contributor
Design
Logistics
SpecOps
Got the metrics working again - bit of a bump on the graph shows how well my week off went :p

It wasn't so much that it was unproductive as it was the wrong stuff I had to work on. At least it got some big RL items out of the way (ceiling drywall, cabling an office, big Thanksgiving event, E-UNI wiki contest). Taking off Fri-Tues in this upcoming weekend to try making a dent in the other direction for Terasology specific stuff.

I'm playing with Evernote to better organize todos, as recommended by AbraCadaver (coworker). Looking good so far, probably worth going to an annual subscription eventually and with the option to share lists maybe a decent "level one" collaborative tool. Works on my still-planless Galaxy Nexus, which has now remained without a plan long enough for the next generation of Nexus to come out, hah.

I'm hoping to get a modding guide out late Friday with a post then Android focus Sunday and who knows Mon-Tues. Would like to get a stable build out with encouragement for modders to go for a round, but it would be neat to have the setup in IntelliJ working better first - really itching to play with that, but :cowbell:
 

metouto

Active Member
Contributor
Art
Go get'em Cervator .... wish there was a badge for work a hallics (sp)
 

Immortius

Lead Software Architect
Contributor
Architecture
GUI
I find with IntelliJ, as long as you do an explicit build before running, the mods are built.
 

Cervator

Org Co-Founder & Project Lead
Contributor
Design
Logistics
SpecOps
I find with IntelliJ, as long as you do an explicit build before running, the mods are built.
Cool - just tested that. Had previously tried individually compiling the mods in just the right order vs. the main project. Weird that having "Make" checked as a before run option in run config doesn't seem to be enough.
 

Immortius

Lead Software Architect
Contributor
Architecture
GUI
The problem with running, regardless of any options, is that the mods are not dependencies of the game, so running the game doesn't trigger their build.

What we could do is create a final project that just launches the game, with everything as a dependency. Running through that would trigger all the builds.
 

Cervator

Org Co-Founder & Project Lead
Contributor
Design
Logistics
SpecOps
Okay, it is past 2 am on a work evening and I've spent most of it on Terasology for once - after using an entire hour getting my durn CPU heatsink reseated with some freshly purchased Arctic Silver 5. It isn't melting anymore! :)

Got the stable build out there despite Git trying its best to get me in trouble :p

Jenkins had gone funny with Git polling on the Stable build, worked again after a restart. Tweaked the jobs a bit to poll less, depend on jobs firing off the next step on completion instead. Should be able to just do a hook on GitHub sometime instead if we hook it up right.

Had to fight with the applet a bit too, tweaked the index.html slightly for a classpath fix but the Play tab's Applet page here actually loads the index.html out of the blog through an iframe which was refusing to refresh in my browser until I force refreshed it a couple times. Also got it working with all the mods and tested portals.

Some misc things I ran into to poke at sometime:
  • Neat updates to loading bar are neat. Caching step could use progress updates :)
  • We could use some more/updated doc in the Commands.java and related classes (I did a bit)
  • I still need to do the big news post with all the things
  • Need to still chew through the changelog and see if the GitHub readme / wiki doc needs updates. Got a few wiki tweaks pending in my local IntelliJ workspace
 

Immortius

Lead Software Architect
Contributor
Architecture
GUI
Thing with Commands.java is it isn't so important in of itself. Any class in any mod can introduce new commands now, by implementing CommandProvider and using the annotations. We could also split it into a few different files grouping commands with similar functionality together.
 

Cervator

Org Co-Founder & Project Lead
Contributor
Design
Logistics
SpecOps
Thing with Commands.java is it isn't so important in of itself. Any class in any mod can introduce new commands now, by implementing CommandProvider and using the annotations. We could also split it into a few different files grouping commands with similar functionality together.
Spiffy. I suppose I should rephrase then to document that elsewhere, like in the modding api wiki page I still haven't pushed :oops:
 

Cervator

Org Co-Founder & Project Lead
Contributor
Design
Logistics
SpecOps
FYI - I'll be hopping on a plane tomorrow going to visit wifey family in NYC (Queens). Staying there over Xmas and flying back the 26th. I'll be bringing a laptop along with noble plans to work through this "vacation" that will surely fail, so I might not be very active for the next few days :)

After that I'm off from work till Jan 3rd or so, more noble plans then likely along with more dream-shattering RL issues to eat my time! Such is life :cowbell:
 

Cervator

Org Co-Founder & Project Lead
Contributor
Design
Logistics
SpecOps
Been playing with Remember the Milk to organize myself better task-wise along with Evernote for, well, taking notes. While Evernote has checkboxes and you can search for notes with specific tags, presence of unchecked checkboxes, etc, it isn't really an ideal light-weight task tracker. With RTM you can just highlight text in a browser and hit a bookmark link to bring up a popup to quickly add a task with tags, due dates, and what not, some intelligently pre-filled, similar to how Evernote can "clip" whole webpages. Handy and they go together well. Wish they could be integrated together.

I'll likely publish a list on RTM later for those super light tasks related to Terasology rather than use this thread (some stuff should go in the issue tracker, other stuff into incubator threads). In Evernote the main thing is becoming tracking when I badger contributors - one "note" page per person, with scribbles about when I last pestered them about what :D

That should help keep on target a bit, we often get contributors that show up but don't have a lot of direction on exactly what to do and/or have a hard time staying motivated solo yet aren't social butterflies likely to hop on IRC or post in the forum all day. Got 42 contributors listed so far and I haven't nearly finished making notes just for active posters here and elsewhere :)

Now I'm going to eventually have to sort through the RTM api to include metrics from there ;)
 

Cervator

Org Co-Founder & Project Lead
Contributor
Design
Logistics
SpecOps
So I thought I'd update here with what I've been tinkering with for a little while now - or rather what I would like to recommend for us to work on over the next couple months or so. Would of course love to push all of it myself but historic trends argue against me getting much of anything done beyond keeping up with emails, forum, IRC discussions, occasional code merges etc :)

Copying it out of Evernote where I've got it in a nice checklist format - added some clarification for those not reviewing the list from inside my head:

[ ] Post restructuring thread (sort of this, but could be a libgdx incubator thread or this thread)
[ ] IntelliJ multi-root git setup (pull several repos into one project
[ ] IRC bot refresh (get Gooey up and running again) - wonder if AlbireoX is still around?
[ ] Bot and GitHub automation (create new repo by asking Gooey)
[ ] Bot and Jenkins automation (create new module build job by asking Gooey)
[ ] Master to multiplayer once? (depends on how much work it is - more of an organizational wish item)
[ ] Multiplayer branch module extraction (simply take modules out of multiplayer branch and put into own repos - not necessarily functional)
[ ] Gradle add/remove module task (for IntelliJ project config) - maybe mkalb would be interested to help there?
[ ] Gradle git mapping (same - to pull in extracted modules)
[ ] IntelliJ dependency cleanup (if still needed)
[ ] Jenkins module builds (build modules per commit separately from engine)
[ ] Libgdx structure (something like this) - begla interested some
[ ] GUI / modding framework stuff (get set better up for modules / alternative system front-ends)
[ ] Server dir? Server flavors on system? (unsure if needed - server side as a pluggable thing in case it may differ?)
[ ] Versioning (if we need more than Jenkins build numbers to base dependency management for)
[ ] GitHub wiki automation (docs, develop/master)
[ ] Applet front in directory structure
[ ] Android UI/input placeholder
[ ] OUYA same
[ ] Oculus Rift same
[x] Leap Motion
[ ] Jenkins auto-publish to terasologymods.net (site by Philaxx) perhaps
[ ] Module overhaul / multi compatibility check (bring the modules up to speed with multiplayer and clean up)
[ ] License type review (art)
[ ] License type review (code)
[ ] License update (2013)
[ ] Module metadata (apply author/license/versioning)
[ ] Checkstyle fixes (collaborative spring cleaning during major changes)
[ ] Combat branch review somewhere (possibly a good test for multiplayer mechanics)

I wanted to get descriptions of this out in more detail but the checklist alone has gotten pretty huge / far into rainbow territory :eek:

Multiplayer is the main thing to adjust all this after - what would be best to place when/where. I know we don't have a dedicated server setup yet and am wondering if local single-player would just use the trick to connect to a local server. In that case maybe it would make sense to have server stuff in its own sub-project that can be run separately and if needed tweaked for other platforms (like split-screen multiplayer on the OUYA) yet included normally in the standard client. Immortius - that's your expertise so I'd be happy to hear your take on it :)
 

Skaldarnar

Development Lead
Contributor
Art
World
SpecOps
You might want to add a general code cleanup to the list, bringing a common structure into all files (with consistent naming) and a strict outsourcing to modules (all blocks to core module?).
 
Top