« first day (2578 days earlier)      last day (2562 days later) » 

00:08
yay uni is back
00:19
probably means i should restart working on charcoal again lol
00:34
>>> a = 'goat' 'sheep'
>>> a
'goatsheep'
u wot python
who thought this would be a good idea
@Downgoat the people who wrote C
@Downgoat That's actually something a lot of langugaes do. I think C and Ruby also do that.
also it's for nicer multiline strings in certain situations
let foo = 'this\n'
          'is\n'
          'a\n'
          'multiline\n'
          'string'
or something like that
@ASCII-only yeah but that's not a good part of C
take the good parts of existing languages not the bad parts
@Downgoat hardly any parts of c are good parts
00:42
ಠ_ಠ
the brace part is good part
@ASCII-only The best part is function pointer syntax
Anonymous
@Potato44 s/best/worst
@Mego That is what i was trying to imply, but sometimes text doesn't convey that.
@Potato44 chat has markdown. that might help you convey that
akward moment when JS file is bigger than images, CSS, and html combined >_<
00:48
@ASCII-only hey, do you want me to push my brotli bugfix to your clone?
> bugfix
yes definitely
also how is it a clone if it wasn't cloned from anything (well, apart from my laptop)
dunno what else to call it
@ASCII-only done
you can let Dennis know so that he can go back to tracking your clone
01:30
So, Ubuntu is logging me out intermediately after logging in. Nothing I've found has helped me. I'm currently logged in as guest user. Any advice?
@H.PWiz Happened to me on windows when I installed uxtheme patcher :P
also, this. obviously.
0
A: I am logged out immediately after logging in

user279443I had this problem with 14.04 upgrading from 12.04. I fixed it by Alt+Ctrl+F1 then using sudo useradd <username> -m -s /bin/bash then sudo passwd <username> to give them a password. Restart and login as that new user. Give them admin. role. Copy files from old home admin user directory to new one...

I looked at that. Also apt search uxtheme gives nothing
@H.PWiz >_> i guess i should have made it clearer that it's not relevant (uxtheme is a windows-only program)
also gnome? unity? kde?
well, does it work if you switch DE (assuming your Ubuntu can switch DE before login)
gnome, I think
also what happens when you try with a virtual console
01:35
What does that mean
the commandline way to login
I can login in a tty
That's from where I'm trying to fix it
oh then probably something to do with gnome or a startup program, do you have other DEs installed (well, firstly is there a ubuntu logo next to your name on the login screen)
Yes
try with another DE, I guess? ubuntu logo -> see if there's anything you can switch to
01:40
No, sorry, no other DEs.
oh yeah also have you checked dmesg (hmm, no other DEs? I guess you could install xfce if you want, it's probably the most lightweight one)
Just did now. A lot came out
then you should probably scroll/less through if you can to find any relevant messages, i guess
apparmor="DENIED"?
maybe. depends what's using (?) apparmor
01:48
I think I've lost some permissions as well. I can't write/delete files without sudo
xfce didn't help
hmm, idk then. maybe it's a problem with X? e.g. config or dotfiles
02:10
@H.PWiz maybe ~/.xsession-errors says something?
There are a few Unity errors in there
I don't even know what unity is
it's ubuntu's default desktop environment
I'm gonna go to bed now, and try to sort something out tomorrow.
02:47
Wow Mego really jumping the gun on those edits :P
wait wat
Anonymous
Magic penguin
Clearly
Anonymous
What post is that?
Uhh one sec I lost it
34
Q: Angle between the hands on a clock

Dan McGrathGiven the time in 24 hour format (2359 = 11:59pm) return the angle between the minute and hour hands on a standard clock (on the face plane, so don't just output 0). Angles are to be returned in the unit of your choice, should be the smallest possible, and should be a positive number (negative a...

02:52
Does your browser really show '11?
...
i doubt it
@Dennis no I was just messing around
Stupid dyslexia, for five minutes I read that as "Jan 11 '11"
I just edited the HTML to mess around with people here
@Dennis Is github.com/TryItOnline/alphabeta the corrected version?
Yes. All fixes are in the commit history.
02:56
OK, adding to esolang page now.
@ETHproductions is your username in any way related to Ethereum?
theBar = Exception()
raise theBar
@Dennis Can you edit the Further details out of this since it's locked and they're all irrelevant?
Or at least the first two points
I don't see a good reason to do that. They're still true, and it will make copy-pasting the post for the Best Of 2018 a bit easier.
03:11
I sort of want to use the rubber duck room but it got frozen because noone used it
anyway, i discovered bugs in my 3d rendery thing and i think i figured out a way to reprogram it to work
(sorry for multiple pings but you're the only mod active atm)
@Dennis is it considered annoying to ask for an unfreeze if you know its going to get frozen in a day + freezing period
I feel like maybe its more annoying to post a bunch of unclear messages about my programs in TNB anyway
Wait why was I posting permalinks instead of the room's link

 Rubber Duck Debugging

For people who find rubber duck debugging to be a very effecti...
03:20
@DestructibleLemon As far as annoying things go, this is pretty far down the list.
Unless I'm on mobile. Unfreezing rooms from mobile is a pain.
@Dennis What do you have to do on mobile?
Switch to the desktop version, which is barely usable on such a small screen.
03:46
What happens if you edit /etc/sudoers with something other than sudo visudo?
The visudo command opens a text editor like normal, but it validates the syntax of the file upon saving. This prevents configuration errors from blocking sudo operations, which may be your only way of obtaining root privileges.
You could mess up and bork super-user privileges on your computer
@Pavel If you don't make any mistakes, nothing. I'd personally use sudo EDITOR=nano visudo though, as I'd be far more likely to mess something up if I use vim.
(TL;DR ^)
@Dennis Wouldn't it be easier to export EDITOR in your .bashrc instead.
In root's .bashrc.
03:54
Does export not export environmental variables to sudo?
You could also mark EDITOR as safe in the sudoers file, but that requires visudo.
@Dennis Or sudo -E visudo
@Pavel Not by default, unless they're defined as safe. sudo -E preserves the environment, but that's not the cleanest way if you need only one variable.
04:09
according to wikipedia, blue is the most popular colour
04:21
alias vim visudo
mission failed, we'll get 'em next time.
alias vim=visudo
I mean, who would want to edit other files.
yeah i was thinking that
04:50
I'm having an interesting problem caused by lazy evaluation and recursive optimizations. When a program doesn't terminate, it also produces no output.
ReRegex does that, and I don't regret it.
It's funny because I can still produce infinite output, but I have to terminate for it to start evaluating
05:16
Question: What should be the type of y in this situation:
func abs(x: Int) -> Int { ... }
func abs(x: Double) -> Double { ... }

let x = abs(1)
let y = abs(x)
Anonymous
Int
Anonymous
Use the strictest possible type
func swapType(x: Int) -> String { ... }
func swapType(x: Double) -> Int { ... }

let x = swapType(1)
let y = swapType(x)
What about what should happen in this situation?
Anonymous
Error
Anonymous
Well, either error or resolve it, depending on how concrete your types are
05:23
it's resolvable but makes type resolution algo O(n^2)
@Downgoat either error, or some kind of defaulting rule that applies across the whole language
Right now emits warning about implicit int literal conversion to floating point
Anonymous
@Downgoat Yes, but only if you consider multiple statements. If you want to do context-free statement evaluation, it should error
Anonymous
The type of 1 (and therefore x) should be determined when that statement is evaluated
In that case, what about:

func swapType(x: Int) -> String { ... }
func swapType(x: Double) -> Int { ... }

let x = swapType(swapType(1))
Would this make sense to be String or error
05:27
@Downgoat can double literals be written without the decimal?
It should be String, in that case.
@Downgoat It depends on what other features the language has, does the language have something like interfaces, or rust's traits?
@Potato44 It's a language heavily swift-inspired. It does have both interfaces and rust's traits
@Downgoat you can get around a lot of problems by making literals unambiguous.
05:30
@Downgoat Rather than having arbitrary overloading, I think overloaded methods should have to be part of a trait.
@Οurous literals are unambiguous e.g. let x = 1 is Int because Int will take precedence over other types
Anonymous
IMO literals should be explicit and unambiguous. let x = 1 should always be an Int, no matter what.
even python does that :P
Anonymous
@totallyhuman Python is duck-typed, so it's a bit different
@Mego No way. Haskell's system is great it never leads to problems
05:36
@totallyhuman python doesn't even have strict typing so not comparable here
>>> isinstance(1, int)
True
>>> isinstance(1, float)
False
>>> x = 1
>>> isinstance(x, int)
True
>>> isinstance(x, float)
doesn't matter 1 is always int
>>> isinstance(1**.5, float)
True
@Downgoat Python does have strict typing
just not strong typing
@WheatWizard I wouldn't consider duck-typing strict typing
but ok
@Downgoat right, exponentiation always returns a float. explicitly saying 1 results in an int
05:42
@Downgoat I was confused. There is no such thing a strictly typed.
apologies
@totallyhuman according to python docs it is not interpreted as an 'int' but interpreted a 'number'
@WheatWizard It does have its problems, but it very much has it's uses as well, like I was using 0 at the type Integral a => a in my brainfuck interpreter
Yeah. Fair enough. The problem is that NegativeLiterals is off by default.
06:02
Oh I can just invoke the IO functions without noting the sideeffects. I'm going to call it "fake-tional programming"
@Οurous what do you mean by not noting the side effects?
06:19
0
Q: At what point does the get command (Befunge, ><>, etc) count as reading your own source code?

Jo KingRelated The get command, shared by Befunge and ><>, is a command that pops two values x and y retrieves a value stored at that cell (its counterpart is the put command, which stores a value at a certain cell). The problem is that the 2D surface is the same surface the source code is running off,...

TIL: On the OpenVMS OS, creating a file and giving a file a name are two separate operations. You can create a file and never assign a name, and it will only be accessible by pointing to the physical location on the disk.
@Potato44 I'll show you an example when I get it working, it's hard to explain accurately without a reference.
07:22
Transform Error: Annotation `_mockType` expected exactly 1 args; you provided 1 arguments. (/Users/vihan/Documents/Code/VSL/libraries/libvsl-x/src/Int32.vsl:2:14)
:|
08:15
@Potato44 something like appUnsafe (execIO (putStrLn "Side-Effect")) arg -> this is basically an identity function on arg, which executes an arbitrary unique-state dependent function as a side-effect
@Οurous Probably not a good idea, if it behaves anything like Haskell does, there is a good chance it only gets evaluated once, so will only print once.
assuming that you are doing something like unsafePerformIO
@Potato44 It didn't end up mattering, the compiler outsmarted me and I had to cycle with *World anyway
It optimizes the side-effects out of anything that doesn't tangentially involve it, as I'm seeing now.
But hey, I have non-periodic infinite output from a non-halting program now, which was the last roadblock in the core of the interpreter flow.
@Οurous Are you making a functional language?
With laziness and side effects?
@Zgarb github.com/Ourous/dirty - a lazy 2D recreational language
Implemented in Clean, which, as far as I know, is unique in the way it handles side-effects.
@ASCII-only so today major progress on compilation. Only arrays, dictionaries, lambdas, STL, and memory management left :D
08:32
Looks interesting. What are your semantics? If you produce two infinite lists with side-effectful computations and, say, add them element-wise, what happens? Or can you even do this in your language?
@Zgarb My language or Downgoat's language?
Dirty.
Ah. Dirty doesn't have a notion of side-effects. If you output something, it vanishes from its respective stack and goes "somewhere else". If you ask for input, it is semantically identical from assigning a literal, where the value of the literal is decided every time it is accessed.
So aside from the side-effects, you can indeed produce and add two infinite lists. Nothing happens until you need the result.
Even in Clean, if you do something that alters uniqueness, the state doesn't change until you need the new state instead of the old one.
And as it's interpreted by Clean, the same thing would apply, if it had the notion of side-effects.
(I'm a huge fan of uniqueness typing)
Okay, but suppose you then try to print the first 10 items of the resulting list. Then you need to run the side effects that are used to produce the original lists. Are they run in some consistent order?
@Zgarb Answering in respect to Clean: Yes. In the order you print them, left argument of the addition before the right argument. eg: left0, right0, left1, right1, left2, ...
Unless you made your own custom, and stupid, addition operator
where you take the right argument first.
Arguments, when they are required, are always evaluated in the order the appear.
... inside the same compilation run
08:45
@Οurous Are you saying that the printing order is based on when the arguments get forced?
@Potato44 Yes, it is.
Which is why, generally, you want to chain a unique state instead of multiple ones, or stateless sideeffects.
08:57
@Potato44 @Zgarb if you really want to see some (IMO awesome) uniqueness juggling, look at codegolf.stackexchange.com/questions/153366/…
09:08
So, as far as I understand, in a uniqueness type approach to IO, you have a special datatype representing the "outside world" whose value you modify every time you preform IO, and the type system somehow prevents you copying or destroying it. Is this what you mean by "chaining a unique state"?
@Zgarb Yes, you can't copy it. You can destroy it. And uniqueness isn't specific to World. The only thing special about World is that it has to be unique. I can have a unique Int, or a String, etc.
From a performance and optimization standpoint, it means you can mark memory regions as always destructively updatable, and it makes tail calling trivial if you use them right.
Operations on, say, *{#Char} (eq: *String) compile similarly to writing the same thing in C. Which has incredible performance impacts.
I guess it is more or less like the RealWorld# token in GHC, but is actually visible because uniqueness prevents copying.
@Mego Least-squares (Moore–Penrose).
@Οurous I can understand how uniqueness allows destructive update, but how does that make tail calling trivial?
0
A: Sandbox for Proposed Challenges

Dom HastingsBuild a half cardinal cyclic quine A half cardinal cyclic quine is a cyclic quine with two states, one perpendicular to the other. Rules You can decide which rotation you want to implement, clockwise or counter-clockwise. Your program must satisfy the community definition of a quine. This is...

0
A: Sandbox for Proposed Challenges

Dom HastingsBuild a cardinal cyclic quine A cardinal cyclic quine is a cyclic quine with four states, one for each orientation of the cardinal directions. Rules You can decide which rotation you want to implement, clockwise or counter-clockwise. Your program must satisfy the community definition of a qui...

09:23
@Potato44 If a function takes unique arguments, and calls itself with them (or a modified version), no other copy of the arguments needs to be kept, and so you just jump back to the top of the function because the same memory was re-used.
In fact, no other copy of the arguments can be kept.
I don't normally accept answers on code-golf challenges, since answers mainly compete against other answers using the same language (comparing Java to Pyth doesn't make sense). However, in this case, you found a very clever approach that is shorter than all other approaches in almost all languages, so I'm accepting this as the shortest answer, independent of language. Well done :) — Stewie Griffin 1 min ago
You can't even have multiple references to the same unique state.
It even extends to a potentially non-periodic infinite set of lambda functions, calling more lambda functions with no heap or stack overhead.
I don't know if you could write such a thing. But it's a cool idea.
non-periodic infinte set of lambdas?
like a container of lamndas, or do you mean something else?
@Potato44 Not a container, just... "set" as in "a bunch of". Lambda-calling-lambda-calling-lambdas, ad nauseum.
I think you may end up with an infinitely large executable if you were to make all of their arguments unique though.
@Οurous The lines that start with #. What do they mean?
I believe the ones starting with | are guards.
09:34
@Potato44 # name = expression is kinda like a let, except it specifically adds a node to the pre-reduction graph, allowing it to work better with unique types.'
| is a guard. You can structure and use them like a c-style if else, but they are guards.
basically, you can't do let (a, world) = something world; (b, world) = something world in ...
but you can do #(a, world) = something world<newline>#(b, world) = something world
Which is closer to let (a, world) = something world in let (b, world) = something world in ...
but less ugly
Is that because lets are unordered?
@Potato44 Yep, let .. in .., and where .. are unordered.
they just start a new scope, and in the same way files are unordered, they are as well
You can pattern-match in order inside them, but not manipulate state. Because pattern matching is order-of-preference, not order-of-operation.
@Οurous Does clean let you tie the knot like how ones = 1 : ones is an infinite list of 1s in Haskell?
@Potato44 ones = [1 : ones]
almost identically
The only real difference is that [ ... : ... ] isn't using a (:) operator. There's a lot of stuff that's a function in Haskell which is sugar for a low-level instruction in Clean's ABC machine.
Ah, I was about to ask why it had special syntax
09:51
@Potato44 I'm going to head off for the night now, it's been fun talking. If you ever want to chat / ask more questions, hit me up in chat.stackexchange.com/rooms/70344/cleaning-up !
0
Q: Quartic Summation

AmorrisGuidelines Task Given two positive integers, find the sum of both numbers... to the power of 4. Examples 2, 3 -> 97 (2^4 + 3^4 = 97) 14, 6 -> 39712 (14^4 + 6^4 = 39712) 0, 25 -> 390625 (0^4 + 25^4 = 390625) Rules You will only ever receive two positive integers as input (bonus points...

@Adám someone should make a golfing language which maps each key value from that specific keyboard to a command. Call it legalese.
10:52
@Adám less real than devnull-as-a-service.com
11:33
0
Q: Find the interval

AmorrisGuidelines Introduction In music, there are steps in between notes. We call these intervals. The intervals can be seen below (For now, just look at the numbers below the notes, and disregard the classifications to the left of them): As you can see, to calculate the interval from one note to t...

12:33
1
Q: Take a stand against long quine lines

Dom Hastingsor: Build a vertical quine Inspired by Take a stand against long lines. Your task is to build a vertical quine with as short a line length as possible. Scoring Shortest line length (excluding newlines) wins, with code-golf criteria as a tie-breaker. Line length is determined as the longest l...

 
1 hour later…
13:53
@NewMainPosts so, now that line length 1 has been done to death, I wonder if there is any way to do line length 0...
@EriktheOutgolfer sure, write a Lenguage quine
>_> that's boring though
hm...maybe not so boring
In Retina 0.8.3 a program with a single linefeed prints a single linefeed, but I wouldn't consider that a proper quine.
well, of course the single linefeed doesn't identify itself so no :P
CMP: Should I main or CMC: Split on first unique. E.g. "mississippi"["m","i","ssissi","ppi"] ?
13:59
hm, I'd say main (sandbox first), although you can say the Jelly solution is already ready :D
@Adám main imo
> This election is currently in the election phase. Voting ends tomorrow.
may I suggest using "voting" instead? :P
I can't wait for the election to end
Looking forward to see the results
14:15
@Adám Related
@Zgarb Thanks.
@EriktheOutgolfer I doubt sandbox is necessary for such a simple challenge.
@Adám that's exactly why I recommend sandboxing it for multiple reasons
@EriktheOutgolfer Huh, what?
1) catch dupes 2) let the community vote on it before posting to main
@Adám I don't really understand the challenge. Can you clarify? What do you mean by first unique?
14:19
@Mr.Xcoder same here
@Mr.Xcoder I'll sandbox it and ping you.
Basically you should split everytime you find a chararcter that has never appeared earlier in the string
Though I probably won't be around in the next few hours.
@Adám Is ["","m","i","ssissi","ppi"] a valid output? There's a split before the first occurrence of m too.
14:21
but I agree that can most probably only be inferred from the test case
I got it now
Not necessarily. It's not too hard to define such a substring, at least the way I understand it.
@Zgarb No, the first substring doesn't begin with a not-previously-seen character.
@Zgarb me too, although I could not see why that output would be valid
Also I have a feeling that Husk's could be used in some way.
Actually U
14:24
I have a solution ready hopes Adám posts it when I'm online :p
@Mr.Xcoder How many bytes?
Wait I realised it's not valid yet.
I assume that me, Adám and Zgarb have solutions ready :P
Actually U doesn't work like that :(
@Adám Okay, that's actually a good unambiguous spec for the challenge. Split into as many substrings as possible, each of which begins with a character that does not occur in previous substrings.
14:26
@Zgarb Yeah that was already my formulation for the actual challenge text.
Hm, I realised Husk's S=<function> works exactly like Pyth's <function>I...
0
A: Sandbox for Proposed Challenges

AdámSplit on first unique Given a printable ASCII string, split it into a list of (at most 95) strings with a new sub-string beginning every time a character occurs which has not previously been seen. Examples "mississippi" → ["m","i","ssissi","ppi"] 'P P & C G' → ["P"," P ","& ","C ","G"] "AAA"...

> split it into a list of (at most 95) strings
@Adám what?
Looks good to me, but it needs the standard boilerplate :P
you definitely don't need that part lol
14:31
@EriktheOutgolfer Since there are only 95 unique printable ascii chars, there cannot be more than 95 substrings. The 95th will necessarily continue until the end because no character can cause a new substring to begin.
but that's implied
@Zgarb How can one use as Longest prefix where function gives truthy result? This errors for me
And switching the order of arguments doesn’t seem to help either
@Mr.Xcoder The docs are not very clear there, it takes the longest prefix where function gives truthy value on each element.
Ugh.... Ok. thanks
maybe (span) is of any help then...
14:35
2
A: Sandbox for Proposed Challenges

AdámSplit on first unique Given a printable ASCII string, split it into a list of (at most 95) strings with a new sub-string beginning every time a character occurs which has not previously been seen. Examples "mississippi" → ["m","i","ssissi","ppi"] 'P P & C G' → ["P"," P ","& ","C ","G"] "AAA"...

0
A: Take a stand against long quine lines

xfixRust, vertical length: 5, bytes: 301 Note, the first line is empty. Vertical length of 5 was chosen to be able to use print. fn main (){ let t=( r#" fn main (){ let t=("# ,r#") ; print !( r#"{} r#"{ }"{} ,r#"{ }"{}, r#"{ }"{} {}{}{ }{ }""#, r#" ,t.0, t.0, '#', t.1, '#', t.2, '#', t.1, '#', t....

I'm not sure if I got what this challenge asks for quite correctly
looks like you did
thanks for confirming :)
14:53
0
A: Sandbox for Proposed Challenges

NathanielDesign a language and golf its interpreter Your task is to design a language and write an interpreter for it. Your language must have the following properties: Its source code will consist of strings of two characters. I will write them as ( and ) and refer to them as parentheses, but you can ...

CMP: How do you open the language bar page?
(Google for "language bars" doesn't work)
@user202729 That should rarely be needed. Anyone who uses those language bars will have bookmarked them directly and doesn't need to access the info page often.
15:21
CMP: In your opinion, is it appropriate to post challenges that are completely unfinished to the sandbox?
yes, and it's been done a lot of times
@MDXF No actually, I've been using ETH since 2012
0
A: Sandbox for Proposed Challenges

NathanielEscape from the tarpit cops-and-robbers popularity-contest Cops You will prepare two things: A formal specification of a programming language, or other computational system. (Computational systems are defined below.) A proof that your system is Turing complete, according to the somewhat str...

I guess I don't really see it that way because it doesn't seem useful to me to post a completely unfinished challenge to the sandbox. Usually where challenges go wrong are in the little details, so you'll never get feedback on details that aren't there
15:37
I mean, you can keep updating the challenge and ask for feedback when it's ready
15:59
Is Rust macro system an allowed programming language (it is Turing complete)?
It's turing
It can implement a Bitwise Cyclic Tag system
yeah, i know it's Turing complete, i wrote Brainfuck interpreter in it
can i use it for code golfing?
Uh, dunno. I'm pretty sure code for it is just 'rust'
fair enough
if it's a single macro, then maybe it could be classified as something else? Dunno. Ask in meta
also, why
16:02
i guess it will be fine if it returns a result as an error message
What sane person would make a bf interpreter in rust macros?
I mean, it's not as insane as the BF interpreter made in Opus Magnum, but still.
"What sane person would make a bf interpreter in rust macros?"
me, although i'm hardly sane
the Rust macro language itself is a pretty neat functional language
True
You could make an entire mini language out of it, strip out all the rust, just the macros
this is a brainfuck interpreter i made
You are insane
So if i'm reading this right, this unrolls the program into loopless code?
16:07
everything is evaluated by Rust macros
which are recursively called to obtain the result
note this
const OUTPUT: &str = bf!(
    ++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++.
);
i write to const variable, and const in Rust is very limited in terms of what it can do
essentially the macro returns a string literal, nothing more
You are truely insane
@all does golden codegolf badge hammers on every close/reopen vote or just dupes?
next support input lul
@Uriel Only dupes
But mod votes hammer on every type of CV
3
Q: Print "Hey Jude" from The Beatles

arminbYour task is to write a program which prints following four verses extracted from the lyrics from The Beatles' song "Hey Jude" (© Sony/ATV Music Publishing LLC): Hey Jude, don't make it bad\n Take a sad song and make it better\n Remember to let her into your heart\n Then you can start to make it...

16:19
github.com/betseg/minestest/commit/… it prints the typed tile's number after 2 typings, and doesnt print the mines or the flags at all. halp?
@DJMcMayhem I got downvoted when I did that, so I'd say just stick to a markdown editor
@DJMcMayhem thanks
@betseg how are you supposed to play this?
what is it asking me to enter?
@betseg how do you differentiate MINE (9) from FLAG (also 9)?
what happens when the player flags a square that isn't a mine?
16:38
@NieDzejkob [x coord] [y coord] [optional 0/1 1=flag]
@NieDzejkob theyre the same, but the former is for **grid, and the latter is for **mask
@NieDzejkob it just stays there
why is mask defined in both play_game and globally?
(this is your bug, btw)
(at least I believe that's it...)
THANK YOU
i knew i forgot to take something out
when you step, explore_neighbors does the modifications, so they go to the global
@NieDzejkob also, :P
should put a readme in there
yeah, I noticed
16:58
I'm making a KoTH framework for an idea i want to prototype. I'm trying to integrate support for compiled programs using dlopen to load in a resulting library. How would I sanely send data to the dlopen'd library for a 'tick'?

« first day (2578 days earlier)      last day (2562 days later) »