« first day (1314 days earlier)      last day (3533 days later) » 
00:00 - 18:0018:00 - 23:00

6:00 PM
Well, that's one potential strategy
ah, C refers to the condition
 
you said there was a much better way to do block
 
you cannot use values for truthy
yes, that is a better way than blocking
 
it requires duplicate lines :(
using duplicate lines for self repair was the least effective defense in CB1, iirc.
 
@MartinBüttner does my edit help?
 
and it requires a lot more logic to protect multiple lines than blocking multiple lines required
 
6:02 PM
@user2179021 still need to check it out
 
except, that now, it can be instantaneous
depending on how you implement it
 
say I want to protect all of my lines. in CB1, I ran a loop, did 24 blocks, and I'm done.
 
wait, if remaining lines are implicitly Flag, doesn't that mean that Copy(-1,C) jumps to the last implicit line?
 
@MartinBüttner OK thanks
 
yes, and then C increments to 0
 
6:04 PM
ah, that makes sense
is D initialised to 0?
 
no, it is random
 
is that in the spec?
 
now it is
 
@NathanMerrill I actually can't immediately come up with a way to protect all of my lines in CB2, since there's no way to save the results of Modified
 
@Sparr the goal here is not to protect all of your lines
especially considered that insta-attacks are not possible
 
6:07 PM
it was a useful strategy in CB1 :(
 
well, depending on the bot, they aren't possible
yes. This is a different competition. These bots are fundamentally different, so you need different strategies
 
a bot can only escape instant attacks if there's no bot in front of it, right?
 
@NathanMerrill are there literals for line and condition types? or can I just compare them with each other?
 
when I detect a neighbor, I want to move, but if I can't move then I need to turn first, and I'll get attacked between the turn and the move
 
There are no literals Martin
 
6:08 PM
so all I can do is keep them around in my own code to check against, if I need a specific type?
 
@Sparr correct, but you can detect if C gets changed
or if a line gets changed
correct Martin
 
can I detect if C was changed by someone else? if that triggers on my own changes, it's not very useful for defense
 
@NathanMerrill sounds good!
 
and detecting line changes is only useful if I have something to do about it
 
You shouldn't be using C very much
 
6:10 PM
also, conditional lines are executed even if the condition isn't met, in case C points at them?
 
@NathanMerrill what are you using to compile/run the controller?
 
can you be more specific?
 
IntelliJ on Java 8
 
6:12 PM
There's no way to determine the owner of a flag, is there?
 
Sparr, its fairly easy to jump to a line. Just set up an Equals(A,15), and set A to 15
nope
and that doesn't trigger the modified C event
 
@NathanMerrill huh? I have no idea how what you just said about A/15 is relevant
 
Using C to jump to a line may not be your best option
using an event is a much better usage
you can trigger that event by changing a variable to a specific value, and then having a line's condition tied to that value
 
I'd totally join on in on the fun if I could be bothered to set up the Java controller on my machine
 
would giving you a jar help?
or do you not have java installed at all?
 
6:22 PM
I do have Java
if you push a jar to the repo I might give it a try
 
Ok...give me a second
 
some documentation on how to run it with all the bots would be nice, too, I guess
 
@NathanMerrill what's the "main" class in codebots2java?
I'm trying to run it without installing intellij
 
its in CodeBots.java
 
have I mentioned that I hate java?
5
not the language, just the environment
I got all the classes compiled, I think
now I'm stuck on how to get the damn thing to run
 
6:27 PM
heh
this is why I use an IDE
 
if you hadn't used an IDE, I'd just do whatever you did
 
true.
 
you just offloaded the effort from yourself to every other person who ever needs to run the code
 
well, everybody has to go through that effort, even if I did it myself
I just need to create a .jar
 
Can't IntelliJ create a makefile that would help out here?
 
6:29 PM
@Geobits yes, or a maven project, or a bunch of other build scripts
 
There seems to be a lot of negative energy channelled towards Java in this chat room.
I like that.
 
I don't use intellij, but I assumed it could.
@MartinBüttner I use Java more than anything else on a daily basis, and even I starred that one :D
 
Java is fast. Much, much faster than Python.
 
no
 
Just because you use it doesn't mean you don't hate it. :D
 
6:31 PM
Java is not much much faster than Python
 
@NathanMerrill And not as fast as C(++). :P
 
...when I converted CodeBots1, it ran in under a minute
 
I don't exactly hate it, but there are definitely some things...
 
and that's including the GUI
@MartinBüttner I'm not very good at C++
and I've never even used C
 
my reason for hating Java is that it's the reason that C# arrays are broken (and definitely not the language designers)
 
6:32 PM
@Sparr In my experience it is definitely faster than python for most things.
 
@Geobits I think Sparr's focus was on the "much much"
(or at least one of them)
sick, I've got the trilinear coordinates working now... that should allow me to implement isogonal and isotomic conjugates, so I can finally move on to adding the next centre definitions
 
It really depends on what you're doing, but most math-heavy benchmarks I've seen show python getting killed.
Even most of the ardent python fans I know will say something like "sure it's slow to run, but it's fast to code".
 
do those use NumPy or plain python?
I've seen x200 speedups within python by vectorising stuff with numpy. so if those benchmarks don't use, they don't use python right for maths
 
I don't know, but I'd imagine they're using plain Java either way.
(it looks like they're not using numpy, based on the source of a few randomly chosen ones)
 
Ok. I got the .jar working
 
6:40 PM
Any interpreted language is bound to be slow. But you can run it outside of an IDE without ever compiling it, so it's kind of lightweight in that sense.
 
CodeBots2Java/src# java -cp . codebots.CodeBots
Exception in thread "main" java.lang.NullPointerException
	at codebots.CodeBots.initBots(CodeBots.java:74)
	at codebots.CodeBotsGUI.StartGUI.<init>(StartGUI.java:8)
	at codebots.CodeBots.main(CodeBots.java:67)
progress!
 
@Geobits In that case, I can agree that python is much much slower. But if you want fast code, there are ways to get much (much?) faster within python.
 
Sparr, you need one more modification
 
I'm guessing it wants me to have some bots :)
 
add a src/codebots/bots folder
 
6:41 PM
I have that
 
then add bots
 
I have three bots, from the repo
 
however, I'm about to upload a jar that does that
 
Mmmm Freebirds.
Do they have Freebirds in London?
 
I don't think so.
 
6:43 PM
@NathanMerrill figured it out. your code wants me to be above the src folder when I run it
 
yes
I need to change it
I think that that is bad design
 
@MartinBüttner I don't know. I haven't played much with specialized Java math libraries (such as JScience), but they claim some substantial speedups. Unless you benchmark languages with every combination of available libraries, it seems fairest to judge them based on what they do out of the box.
 
anyway, I got it working
first, I used find to make a list of the .java files
then javac @thatlistfile.txt
then I moved up two levels and did java -cp src codebots.CodeBots
 
crap... isogonal and isotomic conjugates aren't as simple as I thought, because I the values I need to modify are right in the middle of my function calls...
 
@Sparr @MartinBüttner .jar is added
 
6:48 PM
thanks
 
@NathanMerrill comments in CB2?
 
Yes. They work
 
requiring a Start line is annoying
 
7:02 PM
Any(Not(BotAt(0),BotAt(1),BotAt(2),BotAt(3)),All(Any(Equals(E,0),BotAt(Add(D,1))‌​,BotAt(Add(D,2)),BotAt(Add(D,3))),Not(BotAt(D)))):Move
I'm going to have to turn off word wrap in my editor...
make that... Any(Not(Any(BotAt(0),BotAt(1),BotAt(2),BotAt(3))),All(Any(Equals(E,0),BotAt(Add(‌​D,1)),BotAt(Add(D,2)),BotAt(Add(D,3))),Not(BotAt(D)))):Move
ok, well, I've got a bot that performs about as well as Attacker, in more lines :(
will work on a good bot later :)
 
So I just realized that the computer on which our interviews are done on is NOT remotely monitored nor is the user's web history tracked in any special way
The guy who just came in to do an interview could easily have posted the problem online and gotten feedback
One of them was something like "Speed this query up by 30% or more."
(We don't have a database guy or girl, so we ask database question in a very unscientific fashion)
 
If he did, good on him. Knowing where to find answers is basically as good as knowing them.
Not quite as good, but better than being stumped.
 
My reputation is somewhat evil
 
at my linkedin interview they encouraged me to use every resource at my disposal, including a live internet connection
I got on IRC to ask a question at one point
 
If I were at an interview where that was encouraged, the first thing I would do is dump them onto Stack Exchange verbatim.
Assuming the goal is to answer the question I mean. If the goal was to know the answer to the question, then that's a different story.
 
7:18 PM
At a good interview, how you figure it out is pretty important (the answer isn't the only goal). If your immediate reaction was to text-dump it on SE, I doubt that would look good.
 
That was my original point. Our interviewees aren't monitored.
 
Found another quite nice cycle of centres: {circumcentre, incentre, nine-point-centre}
 
As in, sit in this dark room with a computer?
 
That feels like some sort of all-seeing-eye symbol to me.
 
7:20 PM
@Geobits They have a few little tests, then a face to face interview, and then a task that they have 3-4 hours to get as much done as they can, with generally no hope of completing it.
 
@Geobits maybe I should have removed the triangle :D
 
But with the help of Code Review, I think you could actually optimize the crap out of some SQL in 3-4 hours and blow away the interviewers.
You could even start with "I was given this question in an interview" and ironically NOT be lying.
 
Maybe. But if you generally have no hope of completing it, what would you do? Paste snippets here and there on CR and paste them all together? If you can't code the basic thing in 3-4 hours, I'm not sure how you'd get something working to put on CR in the first place.
 
The query is already written. It's massive. The task is to speed it up by 30%
 
Oh. Well yea, that seems odd.
 
7:24 PM
My task was different. I had to build a form that visualized a treeview with rectangles that were colored with blue, red, and green gradiants. You should be able to add things to the tree, validate the new additions, and remove things from the tree.
I thought it was a fun exercise, but I spent way too long learning validation in ASP.net in the middle of the interview.
 
That sounds better than "Here's a massive query. Make it faster."
 
Haha like I said, it takes a database guy to ask a smart database guy question, and we don't have one.
 
hi @Geobits
 
We know we need stuff to be faster
 
0
A: Sandbox for Proposed Challenges

professorfishBalda AI in under 2048 bytes [WIP] king-of-the-hill game word-puzzle Balda is a Russian word game which bears some similarities to Scrabble. Your task is to write an AI for an English version of it. However, because you can place any letters, the game would be easy if you knew all the words in t...

 
7:28 PM
I think I'll use my interview question as a challenge
 
@Rainbolt It shouldn't just be faster, it should also be more innovative and forward thinking :D
 
If innovation can be written in terms of Speed, Security, Availability, etc., then sure
I could innovate your head into a brick wall and it would really decrease the value.
 
@user2179021 patience! ;)
Last week I posted a challenge, that didn't get any attention for 36 hours, and then I got 5 answers within 60 minutes. And that was "just" a code-golf. (a rather lengthy one though)
 
My latest one got a single answer
 
@MartinBüttner :) I hope so!
 
7:33 PM
@Rainbolt oh yeah that's how it works for me when I mention dominoes :D
 
Your dominoes falling was pretty popular
The circuits one was complicated
 
Pretty popular? ^^ ... it's my only question for which I didn't get a badge :D
oh, it had two answers though
totally forgot about the second one
 
Should have one now
 
I could have sworn I upvoted that
 
7:35 PM
thanks
 
Nobody has spotted the easter egg I planted in my challenge
Perhaps I'll start leaving a trail, and then make one huge riddle that requires users to follow backwards.
 
the irritating notation using r-hat? :P
 
After all, what is programming puzzles and code golf without puzzles?
I can't give hints except that the Adam's constant is not the easter egg.
That one is too obvious :P
 
@MartinBüttner Welcome to the 100% Nice Question club :D
 
just passed the 500 rep limit ^^
now I can cast those close votes
 
7:37 PM
Cast early, cast often.
 
Pixel Forces may make it there one day. Council Majority is probably just doomed because Peter Taylor answered it in 6 minutes.
Who likes terrible jokes?
 
@Rainbolt that got 17 answers, that's pretty good!
 
Got a vote for every three answers lol
 
Note to self: markdown doesn't work in email.
or random text fields on the internet, for that matter
 
@Rainbolt Peter's solution is amazing though
 
7:45 PM
I originally thought the problem was more difficult because I hadn't thought of using sorting to make the problem easier.
So in that sense, yea it's a nice answer
I hate when challenges use rules like "No built in libraries that solve the task I gave you."
 
@Sparr also, I made CodeBots 2 case-insensitive
 
7:58 PM
Anyone here intimately familiar with agile software development practices?
 
like stretching and reflexes? (so... no)
 
Still applicable after your edit
 
Geobits I'm going to innovate you very soon.
 
I was taught the theory of agile quite a few times at a company I used to work for
 
8:00 PM
We recently started practicing "Bug Previews", but I can't find anything about it online
Basically, when we start on a bug, we ask someone else to preview it with us and make recommendations for how to tackle it
 
I've read about it a little, but it just seemed to me like another buzzword-filled term for "things you should probably already be doing anyway".
 
@NathanMerrill I just tried your suggestion for Popeye's submission:
Exception in thread "main" codebots.exceptions.BadFormatException: Could not parse line 0 in Popey.
        at codebots.Bot.<init>(Bot.java:49)
        at codebots.CodeBots.initBots(CodeBots.java:83)
        at codebots.CodeBotsGUI.StartGUI.<init>(StartGUI.java:8)
        at codebots.CodeBots.main(CodeBots.java:67)
Caused by: codebots.exceptions.BadFormatException: First argument on If must be a line
        at codebots.actions.IfAction.<init>(IfAction.java:19)
        at codebots.actions.Action.createAction(Action.java:70)
 
We aren't sure exactly when we are supposed to call people over for a preview. Some of these bugs are super vague, and the preview sounds like "I think you should investigate."
 
oooh...there's a bug in my code
thanks for that
 
how do comments work?
#?
 
8:02 PM
So we tried investigating, and now we're almost to the point where by the time we call people over for a preview, we're basically already done fixing the bug
 
Martin, //
 
/*
*/
 
Obviously you aren't doing Agile right, or you'd have no bugs :p
 
@NathanMerrill using Move //something gives me
Exception in thread "main" codebots.exceptions.BadFormatException: Could not parse line 0 in Popey.
        at codebots.Bot.<init>(Bot.java:49)
        at codebots.CodeBots.initBots(CodeBots.java:83)
        at codebots.CodeBotsGUI.StartGUI.<init>(StartGUI.java:8)
        at codebots.CodeBots.main(CodeBots.java:67)
Caused by: codebots.exceptions.BadFormatException: move is not a valid condition
        at codebots.conditions.Condition.createCondition(Condition.java:88)
        at codebots.conditions.Condition.parseCondition(Condition.java:25)
 
When the Javadoc is generated for Java classes, comments with /* */ are treated differently.
 
8:03 PM
let me see, @MartinBüttner
 
So like /* @author Rainbolt*/ would tell the parser that I created the class. // @author Rainbolt would do nothing
 
we're talking about the CodeBots koth ^^
 
You were also talking about comments in Java no?
 
@MartinBüttner comments work just fine for me
 
<!-- -->
 
8:04 PM
odd
[------[ ]------]
 
@Geobits Whoever created that crap needs to be shot. Typing <!-- --> is simply frustrating.
2
 
Agreed
 
8:20 PM
@NathanMerrill events are haaaard
 
how so?
 
it's hard to get away from them. I know you have that trick with using A and B as guard variables in Defender, but that means you only get a useful action every 3rd turn. in the meantime Attacker just spams you with flags
 
There's a better way to do it than my defender
I intentionally made it bad
 
Rather than copying C
always use events to jump to a location
that will not trigger the modification of C event
 
8:25 PM
not sure what you mean by that... what I mean is I'd like to execute a 2- or 3-action sequence when I see an opponent
 
executing 2 actions at once won't happen
it still isn't possible
 
well not at once
in two consecutive turns
but I can't figure out a way to do it without adding two more actions just in order not to always execute the first of the two actions
 
well, if an event is triggered, then the line after the event line will be executed the next line
 
unless that event is always fired because everyone stops moving after a handful of turns ^^
 
Very true. An If statement would be useful at that point then
that way, if you delay a single turn, you can do whatever you want with
 
8:30 PM
yeah, I thought about that
but I haven't found a better If condition than Equal(Mod(E,2),1)
 
well, if you accept a delay, then the first turn, you set a variable. the next couple of turns, you then have some peace...but that's still a similar solution
also, if your first action is to copy a line to your opponent
you could also do an if to see if that line has been copied
and base it off of that
 
ah that's nifty!
actually no
I'm copying to a random line
 
lol
then you are out of luck :P
you could set A initially to a random variable, and then perform your actions on A
 
that doesn't sound too bad
but I just remembered that I wanted to port my chain-divisibility answer to Ruby, which just became much more urgent, now that I'm beaten :D
 
stuff happened
:P
 
Lol
Stuff happens a lot on this site :-/
 
okay, now brace yourselves for lots of feed posts...
 
Hey guys I'm a bot and I need enough reputation to become a trusted user.
help plx
I'll basically be an automated user who does and says everything Rainbolt would say or do.
 
9:34 PM
So this is an interesting situation:
 
1
Q: Sandbox for Proposed Challenges

SandboxHow does the sandbox work, and how do I use it? The sandbox works best if you sort the posts by "active". See the sandbox FAQ for more information on how to use this sandbox. Submission Directory This is a community-maintained list of the most active submissions in the Sandbox. If you add a ...

 
... huh, it didn't dump all the things from the last hour into chat? Okay, that's nice
@professorfish Done ^
 
Joan Rivers died :-(
 
9:58 PM
@Doorknob interesting... favourites were merged, but upvotes weren't
 
10:33 PM
Can someone confirm this does what I want? I want to move forward if I have no neighbors, or move forward if I have a neighbor but no one in front of me, or move forward 1/24 of the time that there's no one in front of me.

Any(Not(Any(BotAt(0),BotAt(1),BotAt(2),BotAt(3))),All(Any(Equals(E,0),BotAt(Add(D,1)),BotAt(Add(D,2)),BotAt(Add(D,3))),Not(BotAt(D)))):Move
@NathanMerrill what do the colors in the bot inspector mean? green seems to be all the conditions that are currently true. what's cyan?
grey is overwritten lines?
 
10:54 PM
I have no idea, but I starred your question
 
@NathanMerrill C doesn't seem to be changing to the conditional that's being run on a given turn
 
Lol look at the first ruling on this card: gatherer.wizards.com/Pages/Card/Details.aspx?multiverseid=1117
 
oh
 
"There is currently no way to prove that it was the card you drew"
 
I never got into Magic; I played a lot of bridge, though
which is similarly nerdy, I guess
 
00:00 - 18:0018:00 - 23:00

« first day (1314 days earlier)      last day (3533 days later) »