« first day (403 days earlier)      last day (3151 days later) » 

12:00 AM
@SirPython Rehi!
 
RELOAD!
[Cardshifter/Cardshifter] 9 commits. 2 opened issues. 1 closed issue. 1 issue comment. 219 additions. 157 deletions.
[Hosch250/VSDiagnostics] 2 commits. 235 additions. 20 deletions.
[retailcoder/Rubberduck] 2 commits. 76 additions. 20 deletions.
[rubberduck-vba/Rubberduck] 10 commits. 1 issue comment. 3830 additions. 879 deletions.
[Vannevelj/RoslynTester] 3 issue comments.
[Vannevelj/VSDiagnostics] 1 closed issue.
[Zomis/Duga] 14 commits. 1 opened issue. 1 closed issue. 2 issue comments. 797 additions. 44 deletions.
[Zomis/test] 1 opened issue.
[Cardshifter/Cardshifter] build for commit c4d7f5ce on develop: The Travis CI build passed
 
@SirPython ^^
 
Hooray! Thanks @SimonForsberg!
 
Night
 
Good night @SimonForsberg!
 
12:08 AM
[Zomis/Duga] build for commit f2d5b57e on develop: The Travis CI build passed
[Zomis/Duga] build for commit 65c3802b on develop: The Travis CI build passed
 
Later Simon!
 
[Cardshifter/HTML-Client] SirPython pushed commit a03738f2 to server-stats: fixed naming
[Cardshifter/HTML-Client] SirPython pushed commit e676e997 to server-stats: added "Refreshing..." message so user is not confused by delay
[Cardshifter/HTML-Client] SirPython pushed commit 1626fddc to server-stats: added documentation
[Cardshifter/HTML-Client] SirPython pushed commit a9bd7893 to server-stats: now grabs user count
 
Alright, just a tiny bit more Python
 
corrected checking for a blank eventTypes array

Apparently, [] in javascript is a truth value, so just checking if(eventTypes) will always be true as long as eventTypes is an array.
 
^^ Finally, correct (and working) server stats.
 
12:20 AM
Wow, big achievement I take it? :)
You've been hammering at this thing for several days it seems
 
Yes, it has taken a while.
 
[Zomis/Duga] build for commit 83f57a06 on develop: The Travis CI build passed
 
But I think it only took a while because I was distracted often. Also, that server error threw me off.
 
And a bug has returned.
 
uh oh
 
12:44 AM
@Phrancis Just out of curiosity, are you doing any programming "exercises" or writing certain programs to get you used to Python? The reason why I ask is because I'm trying to learn a new language, too, and I seem to have forgotten good methods for getting used to a language.
 
No exercises. I start with a task in mind, and just figure it out one LOC at a time
 
[Cardshifter/Cardshifter] build for commit c4d7f5ce on develop: The Travis CI build passed
 
At least, that's how it's been with Python so far. Been a while since I tried a new language before that.
 
Ah, thanks. I guess the main problem for me is getting a reasonable task in mind.
Perhaps I'll look through my Github and try to find something.
 
What language do you have in mind?
(don't say )
 
1:01 AM
C and embedded assembly
But mostly C, since I feel least comfortable with that.
But that's for a different day. I'm going to turn in now. Have a two @Phrancis!
 
Later @SirPython
 
2:02 AM
> Duga seems to link to every single edit to any answered question.

She needs to be pickier than that if she wants to claim *possible answer invalidation* - otherwise the message could be a notch less alarming if changed to *post-answer edit*.

But I like the idea of picking up *possible answer invalidation* edits. The tool just needs a little fine-tuning, to ignore edits where no code is involved.
 
 
2 hours later…
4:25 AM
0
Q: Get Wikimedia attributions for images

PhrancisWe are using images from Wikimedia commons for some of Cardshifter's game artwork. I selected some art for each card to make a .jpg file to use in the game clients, and added a URL to the original file as a comment for reference. This is what one card looks like: // https://en.wikipedia.org/wiki...

 
 
1 hour later…
5:35 AM
 
 
4 hours later…
9:32 AM
hey
 
10:01 AM
> There are two problems here that I can see:

- Simple `backtick code stuff` is included in the check for whether or not code was changed, see revision 6 at http://codereview.stackexchange.com/posts/17758/revisions
- Intendation changes, see revision 10 at http://codereview.stackexchange.com/posts/3668/revisions
 
10:54 AM
Monking
 
hey @Phrancis
 
hi!
 
yo
 
What's the good word today?
 
what is the bug you encountered, @SirPython?
@Phrancis I'm trying to improve on @Duga's answer invalidation check
 
11:03 AM
@Phrancis Future
 
wow that deck of cards thing is awesome
 
 
1 hour later…
12:06 PM
[Zomis/Duga] Zomis pushed commit 16676086 to develop: Improve AnswerInvalidationCheck by having it ignore question rollbacks
[Zomis/Duga] Zomis pushed commit 48c034ba to develop: Improve AnswerInvalidationCheck by ignoring code in backticks
[Zomis/Duga] Zomis pushed commit 09bfb4bd to develop: Improve AnswerInvalidationCheck by ignoring code indentation changes
[Zomis/Duga] build for commit 09bfb4bd on develop: The Travis CI build passed
 
Hey everyone!
 
hey @Marc-Andre
i just got beat by a truly awesome warlock deck
i thought i had him beat until he played kel thuzad with only 3 cards left
 
> This looks a bit odd, because "Exoskeleton" fits on one line, while the others doesn't.

![2015-09-07 16_24_31-cardshifter](https://cloud.githubusercontent.com/assets/1405379/9762511/44ee9d10-5704-11e5-9df4-ea416389a2a0.png)

Any suggestions for what we should do about it?
 
1:16 PM
0
A: Get Wikimedia attributions for images

jacwahPython I know you're used to Java, which is probably why you've put everything in classes in separate files. @SuperBiasedMan commented on this, but I want to stress this. Python is not a strictly object oriented language like Java, you can mix different approaches as you see fit. ListOfFilesInD...

@Phrancis ^
 
@jacwah Cool thanks :)
 
No problem!
 
Hopefully I get better at thinking in functions, you'd think I would have learned from JavaScript lol.
 
1:32 PM
You should be glad it's not the other way around! Classes and objects are much more complicated.
 
Yeah I have noticed OOP seems a good bit more difficult than functional
 
1:47 PM
> Using new infrastructure since merging of #395.
[Cardshifter/Cardshifter] jacwah deleted branch issue-383
[Cardshifter/Cardshifter] jacwah deleted branch invites
 
2:25 PM
WTF
SELECT wkr_Id FROM WORKERS WHERE wkr_lastname = 'INTERFACE' AND wkr_firstname = 'PHARMACY MEDICATION'
 
SELECT wtf FROM OMFG;
3
 
3:19 PM
@Simon I was talking to some people about MongoDB / NoSQL DB next door. Looks like Mongo stores everything as JSON, perhaps that would be something we could look into? For storing things like replays and such, I think it would make sense
Just pass in whatever additional information we want there from client(s) (like name of players, time started, time ended, winner, etc.)
(or from server, whatever)
Maybe we could throw in stuff like players' decks and other interesting data like that
Looks like MongoDB plays well with Groovy & Java (and probably JavaScript I would guess with Node.js)
 
If you store replays and decks and everything server-side you need to keep in mind the space it took! maybe this could be for a local client... wait no there is no local client atm :P
 
Meh, it's all just text, it's not like that takes up a lot of storage ;p
 
You could be surprise. Right now it would be nothing since we don't have a lot of players and games to save... but after some time it can be something not cheap to store. (I could be wrong but I just want to have that talk now)
 
@Phrancis I think there are a lot of different database options for us
 
3:34 PM
hey again
@Phrancis u wat
 
@skiwi Not my idea ;)
{
    "Player" : "Phrancis",
    "Creation Date" : "2015-09-09",
    "Active" : True,
    "PasswordHash" : "0x02987234098750293847509873412987162348975"
    "Mods" :
    [
        "Mod" : "Mythos",
        "Decks":
        [
            "MyDeck1" : []
            "MyDeck2" : []
        ]
    ]
}

{
    "GameUUID":"0x98761239487612348957615234",
    "Date Started":"2015-09-09",
    "Time Started":"11:35:30.584",
    "Time Ended":"11.48:15:952",
    "Host Player":"Phrancis",
    "Opponent Player":"Zomis",
 
@Phrancis You are their savior
 
@Simon @Marc-Andre I think right now we're just saving replays in the server's file system, is that correct?
 
@Phrancis whether we use JSON and MongoDB or a good old RDBMS doesn't really matter much I think. Looks like Hibernate has support for MongoDB and other NoSQL solutions: hibernate.org/ogm
@Phrancis that is correct.
 
Yeah, I just feel that anything "relational"/table based wouldn't make much sense for this kind of data :)
 
3:45 PM
Conceptually, everything you have in a JSON file can also be mapped to a table structure.
 
Sure, but it can feel like shoehorned depending on the nature of the data
 
Depends on how searchable you want the data to be
 
that is an important aspect ^^
 
I think it's more a matter of how normalized you want the data to be, no?
 
depends on what you mean by "normalized"
 
3:51 PM
Actually, I have no experience running searches/aggregations on JSON data, I have done a small amount with XML which I assume is not that dissimilar from JSON
 
Databases uses indexes to be able to retrieve data quickly. Does MongoDB support indexes?
 
MongoDB would be better for "searchable" data
MongoDB uses map/reduce
 
@ARedHerring That tells me exactly nothing :P
 
3:52 PM
damnit, ninja'd
 
@ARedHerring better how?
Would MongoDB outperform PostgreSQL when finding data on a table with 1 000 000 records?
 
Stores in JSON = no ORM layer (if you're using Javascript)
 
RDBMS are not easily "searchable" because the data is normalized into so many tables
 
performance, no idea, it has horizontal scaling and shardable which is nice
free (some sql installations require licences, postgre doesn't AFAIK)
 
@ARedHerring this would go into the server-side, which would be Java/Groovy.
 
3:54 PM
I can't speak for the support of Groovy for MongoDB
 
@Phrancis using the right database query, I'd say it's definitely searchable.
 
Groovy supports MongoDB either via Grails or Hibernate
 
I usually 'default' to MongoDB these days unless I know my data is relational
 
@ARedHerring With Hibernate everything should be possible.
 
(rather than the other way around)
so I might be bias
 
3:55 PM
@Phrancis Well, you're either goign to put a lot of stress on the database if you store it perfectly normalized, or you are putting a lot of stress on some program to look into each relevant dataset
 
@Phrancis I hope Grails will stay out of this.
 
but I think a bunch of 'data' which isn't very related at all is very suited for document orientated database (MongoDB) and not relational databases (~SQL)
 
@SimonForsberg GORM might still work independently of Grails, but if Hibernate is being used everywhere already it probably doens't pay off to switch
 
@ARedHerring what do you mean by horizontal / relational?
 
My view is probably way too simple... But don't NoSQL databases store everything as key-value pairs?
 
3:56 PM
@skiwi Cardshifter uses neither yet, but from my experience I would still go with Hibernate probably. I'm not a big fan of GORM.
 
@SimonForsberg s/relational/vertical
in terms of scaling horizontal scaling is obviously cheaper than vertical, and mongo is built to support horizontal scaling
sql (At least, mssql/mysql - not sure about postgre) support horizontal but that was added as a retrofit
so if scaling is a concern, you have that
 
4:09 PM
If we went relational, it would probably look something like that^
vs. NoSQL probably more like that:
34 mins ago, by Phrancis
{
    "Player" : "Phrancis",
    "Creation Date" : "2015-09-09",
    "Active" : True,
    "PasswordHash" : "0x02987234098750293847509873412987162348975"
    "Mods" :
    [
        "Mod" : "Mythos",
        "Decks":
        [
            "MyDeck1" : []
            "MyDeck2" : []
        ]
    ]
}

{
    "GameUUID":"0x98761239487612348957615234",
    "Date Started":"2015-09-09",
    "Time Started":"11:35:30.584",
    "Time Ended":"11.48:15:952",
    "Host Player":"Phrancis",
    "Opponent Player":"Zomis",
 
@ARedHerring horizontal scaling = scales over many columns, right? and vertical = scales well over the number of rows?
 
@SimonForsberg no. horizontal scaling is scaling over many servers
vertical over one server with more specs
 
In a relational model, either the replay would be stored in the file system along with a link to it in the DB, or could be directly stored in the DB as JSON (but only if we used Postgres, AFAIK)
Decks would also be saved as JSON, in the Deck table
NoSQL we could probably limit it to having pretty much everything in 3 collections, with documents for Users, Decks and Games
Or maybe even just two, if we tie Users and Decks together in one place
 
4:27 PM
Alternatively...
Or nevermind ;)
 
@ARedHerring more specs?
I think we should make a github issue for incorporating a DB in the server if there isn't one already (I think it should be optional though, server should work without a DB as well)
 
As in, link the server to a central DB, or distribute a DB with the server?
 
@SimonForsberg more cores/ram
basically, vertical = throw more money at one server
horizontal = throw money at many
 
I think I'll tinker around with PyMongo and see how I like using it (as a DB)
TFL
 
5:11 PM
diagonal = throw money at everything?
 
@skiwi lol
 
 
1 hour later…
6:26 PM
hey @SimonForsberg have you ever converted terrain data to integers based on the color
 
lol, this one made me honestly laugh :D
> I know that my boss doesn't stay late at work like his wife and everyone else thinks. I saw him leave work two or three times before me and decided to follow him. He's been... I don't know that I can even type this without feeling terrible...

He's been playing MtG at the game shop until 10PM 3 nights a week.
 
Some people would be more sad if their SO would play MtG than being infidel. (I can't make that phrase sounds good sorry )
 
Well, not an SO fit for me then :P
 
And I agree, but people are weird some times. And a lot of people are not "trying" hard enough with their SO if you ask me.
 
Trying hard what?
To accept the other?
 
6:37 PM
Yeah something to accept someone. And some people just stop trying to be in a relationship at the first sight of problem.
 
I see, yeah
Just got this link from a friend...
It's funny :D
 
6:57 PM
[Cardshifter/Cardshifter] jacwah pushed commit ff745ba7 to travis: Parallelize build and tests
 
I'm playing around with build parallelization
Can someone help me by timing this ^ against develop?
 
Don't you have the build time on travis
 
I'm trying to improve the time for local builds as well
git checkout develop
./gradlew clean test
git checkout travis
./gradlew clean test
And compare the time taken (output at the bottom)
(Don't forget to pull first!)
 
[Cardshifter/Cardshifter] build for commit ff745ba7 on travis: The Travis CI build passed
[Cardshifter/Cardshifter] build for commit c4d7f5ce on develop: The Travis CI build could not complete due to an error
BUILD FAILURE!
[Cardshifter/Cardshifter] build for commit c4d7f5ce on develop: The Travis CI build could not complete due to an error
BUILD FAILURE!
 
7:14 PM
@Duga 5 mins is ridiculous
 
[Cardshifter/Cardshifter] build for commit 6e04c869 on release-0.6.1: The Travis CI build passed
 
Hmm everything on Travis seems to be slower today
 
7:31 PM
@jacwah Travis is not that fast
 
I'm just comparing to previous build times
They seem to be about half of that
Though that doesn't take time before starting the build into consideration
 
You mean the actual time it takes to get a build done, or the time before a build gets started?
 
@jacwah local builds don't take the travis.yml file into consideration.
 
Travis just lists the time it takes from build start to finish, which is what I talked about above. What really matters is the time from push to build finish, which might or might not have improved (they claim the container based architecture starts builds faster)
 
@jacwah AFAIK, with the new infrastructure the build should "start in seconds"
 
7:41 PM
@SimonForsberg I know, the branch name is a little misleading right now
 
@Duga Remote branch issue-383 not found in upstream origin? Maybe because it has been removed? And why are you trying to build now anyway?
@bazola terrain data to integers? color? how do you mean?
 
the end goal is to end up with integers between say 0 and 12, starting with this image
 
@jacwah oh, you changed build.gradle as well. didn't notice.
 
@SimonForsberg Trying to benchmark the new build against the old one
 
7:43 PM
@bazola one integer per pixel?
 
yeah
i did manage to get some results, but I had to index the colors in Gimp in order to reduce the number to 12, and then I had to manually code up this little wonder:
private static int getHeightIntForColorInt(int colorInt) {
    switch (colorInt) {
    case -15013741:
        return 0;
    case -16593894:
        return 1;
    case -13700551:
        return 2;
    case -16472138:
        return 3;
    case -16727444:
        return 4;
    case -16269148:
        return 5;
    case -16553524:
        return 6;
    case -16610109:
        return 7;
    case -16766782:
        return 8;
    case -15464809:
        return 9;
    case -13882008:
        return 10;
 
@bazola That looks pretty awful :P
 
one alternative would be to detect the amount of r g b in the pixel, i suppose
 
These changes enable project level and test level parallelization to the build and test process. I'd like to see benchmarks of these changes from at least one other person. Below is the timing on my MacBook. bash # This commit $ git checkout ff745ba7cf1beb949b05e63c9b4c5dc176e839c9 $ ./gradlew clean test ... Total time: 1 mins 35.234 secs # Previous commit $ git checkout develop $ ./gradlew clean test ... Total time: 1 mins 17.313 secs The times vary a bit each time, but the old one...
is consistently faster. I'd like to see if this is just my machine acting up or if you see a similar pattern.
 
@skiwi That is pretty awful.
@bazola Bingo. And then add a bit of maths to that.
 
7:46 PM
it still seems like you would need to make assumptions about which colors/color intensities are higher than others
 
@Marc-Andre I thought for a few minutes that by SO you meant Stack Overflow... lol
 
@bazola of course.
 
@bazola I've seen this before but I don't really understand why? An image doesn't feel like the right storage method...
If you want to visualize it you can always generate an image from the raw data
 
thats true, but i'm not quite sure how to generate noise that peaks in the center reliably
or for example, noise that resembles a volcano
i might be able to get actual terrain data for a volcano to save myself time
 
@Phrancis Yeah it took me some time to understand that it was significant other :P Imagine me on reddit reading SO everywhere and thinking about Stack Overflow
 
7:50 PM
@bazola Sounds easier than messing around with maths or images
 
[Cardshifter/Cardshifter] build for commit ff745ba7 on travis: The Travis CI build passed
 
well that sample image above is the actual mount rainier here in america
 
Oh I thought you had created it yourself
 
i could probably draw a mountain, but i don't think it would look very good :)
 
> develop:
Total time: 1 mins 39.297 secs
Total time: 1 mins 28.747 secs

travis:
Total time: 1 mins 29.158 secs
Total time: 1 mins 24.598 secs

Looks like travis branch is slightly faster for me.
 
7:59 PM
@bazola are you taking feature requests for VoxelCity?
 
@Phrancis definitely
 
@Duga Anyone else have a couple of minutes?
 
This one's probably pretty simple (maybe) but I was listening to music on my phone and wanted to play the game (with the game music off) but when the game app started, my music stopped playing
 
cool i will make a note of that, i believe i know how to fix it but its not yet on my todo list
 
Awesome
 
8:16 PM
@jacwah I could get the machine @Duga's running on to try it
 
If you have the time
I'm currently looking to add caching of dependencies for Travis
 
[Cardshifter/Cardshifter] jacwah pushed commit 51081483 to develop: Add dependency caching for Travis builds
[Cardshifter/Cardshifter] build for commit 51081483 on develop: The Travis CI build passed
 
@jacwah oh, that's possible?
 
8:31 PM
[Cardshifter/Cardshifter] jacwah pushed commit c968a10b to develop: Fix .travis.yml caching
 
Ugh I pushed these to the wrong branch
 
[Cardshifter/Cardshifter] build for commit 51081483 on develop: The Travis CI build passed
 
Should be OK though
 
[Cardshifter/Cardshifter] build for commit c968a10b on develop: The Travis CI build passed
 
^ Caching now live on develop
 
8:43 PM
very cool
 
Ugh, that feeling when you feel a nerve snapping in your eye
@jacwah doing some real nice Travis work there!
 
I just hope it's actually going to be faster...
I haven't seen any results yet
 
Well, it sounds promising at least :)
 
9:03 PM
> On the server Duga is running on: (Ubuntu, dual core)

develop:
Total time: 1 mins 28.428 secs
Total time: 1 mins 28.385 secs

travis:
Total time: 1 mins 39.103 secs
Total time: 1 mins 39.823 secs

Ironically, it looks like develop is slightly slower there. Quite small differences though.
> This is a dual core machine as well. I guess the parallel builds scale better with more cores.
 
@Duga s/slower/faster/
@jacwah what do you think, should we merge it?
 
I had an idea, let me push it
 
9:30 PM
tasks.withType(Test) {
    // Parallelization doesn't seem to be worth it for dual-core machines
    // See github.com/Cardshifter/Cardshifter/pull/396
    def cores = Runtime.runtime.availableProcessors()
    if (cores > 2) {
        maxParallelForks = cores
    }
}
Tried this but took even longer
 
Remove test parallelization

Didn't seem to work very well.
 
I think this is what seems to make most sense
Got to turn in now, see y'all
 
[Cardshifter/Cardshifter] build for commit 2d5ad2ed on travis: The Travis CI build passed
[Cardshifter/Cardshifter] build for commit 2d5ad2ed on travis: The Travis CI build passed
 
I'll let you decide whether or not to merge that #396, @jacwah
 
10:27 PM
[Zomis/Brainduck] Zomis pushed commit a5c5587a to master: improved FizzBuzz by creating the values on the tape easier
 
10:53 PM
Monk*.
@SimonForsberg Just another client error. The issue with the blank users returned.
 
oh? that's strange. I don't think the server should send those anymore.
 
I think it's a client issue, but I am completely unsure.
After all, it wasn't creating those blank users before I added the ability to see users online. However, this was also before the new snapshot.
Did the new snapshot make any changes with these blank users?
 
11:18 PM
Remonkernevening
 
Hey @Phrancis!
 
I'm home alone tonight, I could either fool around with PyMongo, or do some gaming... tough choice
 
PyMongo is for interacting with MongoDB, which is something to do with databases, right?
 
Correct
Haven't figured out how to start a MongoDB instance, besides that I've got everything installed
However, I have no idea where it got installed lol
 
@SirPython I think it made the change so that the blank users are no longer sent to the client. But I might be wrong.
@Phrancis I think there's about a billion other things you can do as well.
(How's those image attributions going btw?)
 
11:34 PM
import pymongo

try:
    conn = pymongo.MongoClient()
    print "success"
except:
    print "failure"
print ("Database names: {}").format(str(conn.database_names()))
# success
# Database names: [u'local']
@SimonForsberg Oh yeah those. I just need to copy the output files into my repo, clean up a bit and commit. Then we're all set.
 
11:45 PM
Loki Astari vs. Simon Forsberg: 3045 diff. Year: -2731. Quarter: -1135. Month: +122. Week: -96. Day: +10.
Mat's Mug vs. Simon Forsberg: 1600 diff. Year: +2490. Quarter: +986. Month: +485. Week: +196. Day: +5.
200_success vs. rolfl: 3356 diff. Year: +2609. Quarter: +2943. Month: +26. Week: +71. Day: -35.
200_success vs. janos: 15209 diff. Year: -4391. Quarter: -1470. Month: +305. Week: +258. Day: +55.
 

« first day (403 days earlier)      last day (3151 days later) »