« first day (1938 days earlier)      last day (3201 days later) » 

04:00
I use strictly typed in Adynata
that will be so hard to parse
@Downgoat platypi*
along with an optional constant modifier
nope sorry, thought you were talking about my Ady file
@Cyoce no I'm right, platypuses seem to valid in the dictionary
@Quill Does it compile to JS?
04:00
@Quill yeah it is
the grammar for that will take many more steps to parse
@phase It doesn't transpile to normal JS, it's written and runs in normal js
@phase should I do it like this?
@Downgoat := should imply a dynamically typed variable.
ok. I'll change equality to == then, is that good?
@Downgoat Yes!
== should always be equality
04:02
ok, brb making variables
@Cyoce Dynamically typed is wrong, the type is just inferred.
Make static typing optional! I want to be able to use Cheddar!
@Quill So it's an interpreter?
Theoretically it could transpile to JS, but I'm very bad at writing tokenizers
@Cyoce ok, I'll make it optional but I'll reccomend using it in the docs
04:03
I have not written scopes yet and my existing tokenizer is horrible
@phase No, it's right. You want := to be inferred. I want it to specify a variable that is dynamically typed.
@Quill rty using jison, I've heard it's good
@Downgoat So := is dynamically typed then?
@Cyoce yeah
@Downgoat Nice!
04:04
it is not dynamic, only implicit
@Cyoce oh yeah kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
so foo := 123 will implicitly specify the typed
@Downgoat I don't understand the first half of that message
@Quill try using jison, I've heard it's good
you can just enter a BNF and it parses it
and it supports left recursion
@Downgoat so would foo := 123; foo = "bar" be valid? Cuz that's what I'm suggesting. However, foo : Int = 123; foo = "bar" would be the invalid one.
04:05
I want to write my own Tokenizer
@Quill why?
because I do
if you really want to I recommend making a simple grammar function which takes a CFG and a string, it'll significantly make your code easier to read and be easier for you to code
CFG?
@Cyoce do you want foo := 123; foo = "bar" to be valid? I guess I could do it that way but I don't know if it's a good idea
@Quill context free grammar
04:09
@Downgoat That's what "dynamically typed" implies, so yes. If you want it a variable to be restricted by one type, you specify that type with foo : Int = 123
then again CFG parser ≈ Regex
@Cyoce ok, sounds good, I'll do it that way
@Downgoat Excellent!
@QPaysTaxes with fancy regex it can actually be very nice
lemme make an example:
@QPaysTaxes because it's more likely to get attention, as someone who cannot help you out, starring it helps somebody who can to find your request and thus you are more likely to attain help
that's alright. I doubt anything's gonna get me riled up today... I've already "dealt" with two meta rants
Latest XKCD
@Quill hahaha
04:18
where can I host my images file for my website?
It won't work with github pages.
I tried google drive and dropbox but the images wouldn't show up.
it should work with github pages
if not you can always use imgur
oh github pages*
LOL
ill spare you.
ok let me try both
ty you can have 5 <3 points
imgur won't work
its blocked.
on my school wifi
oh
04:20
its not tho
here u can see for urself
try the page "science"
its the only one thats complete.
y aint it working?
no idea....
it only works on my local file system when I leave it on my file system.
=/
@AshwinGupta unmatching protocols
04:23
no I mean't when I host the images on my file system.
When I use the drive links it doesn't work even on my file system.
It can't find files at those locations
y tho, its all there
follow the path for urself
mkay here is the thing.
I got it to work. But I don't like it.
I used the "raw" link in the repo.
I know why it doesnt work
see how those files in the picture use .jpg, the actual files use .JPG
04:27
really?
oh.
seriously .JPG and .jpg (<-- they're links)
wait whats the corrct extension?
wow..... =/ sorry about that. Wasted so much of ur time
they're both correct, it's just that the ones you have in your github pages repo use .JPG
interesting, the ones on my file system are .jpg
@AshwinGupta It's okay :)
04:28
.jpg on my file system.
alright gonna fix it now.
0
Q: Find words that rhyme with

JoshKChallenge Joe the rapper is struggling with rhyming words in his lyrics. He needs your help. When Joe inputs a word, the program will read a list of words from a file and output those that rhyme with Joe's word. To show that the program works, we will only need to use a small list. txt File: ...

@Downgoat Php? Ewwww, no, it's Flask.
good catch quill
working now
no worries :)
3 hours ago, by Maltysen
@Quill nah I'm gonna allow that, and just let the guys friends deal with him being an asshole. This philosophy and a bot being so easy to code has the additional benefit that I don't have to follow good security in terms of writing things client side.
04:39
@QPaysTaxes I wrote the entire tokenizer for Cheddar in regex: regex101.com/r/bK2xB1/3
Basically, it doesn't matter if there hack it, because writing a bot is so easy.
@CᴏɴᴏʀO'Bʀɪᴇɴ ^
@Maltysen as long as the game wins don't have repercussions over the entire network it will be fine
@Downgoat thats pretty neat.
I should make a regex golf for shortest expression matching regex
I need to find a code layout style that supports a tokenizer that doesn't work off a regex
04:44
@Quill what is wrong with regex
that regex is beautiful
and it is a proper regex
any CFG can be written in regex
it's just not how I'm doing Adynata, which is why I need to find a code layout
what do you mean by code layout
patterns, perhaps, more like I have a tokenizer that does everything
here, read over the tokenizer code and weep
@Quill so like a grammar() function like I have for cheddar?
yeah, perhaps. I still don't know how the concept of scopes is gonna work
04:48
@Quill Scopes don't need to be too complicated, though if you're wondering on how to implement them you can see how cheddar did it
I first thought I'd need to sandbox everything but simply have an internal hashmap along with accessor and setter properties and that's all you really need
my tokenizer is really naive. it has a stage variable that defines each stage in the tokenizer...
like "Modifier declared, expecting a type after this, expecting a name after that, expecting an assignment character after that, expecting a valid value as to the type after that and then reset the stage
@Quill this mess is exactly what a regular expression does. Regular expressions are essentially a code form of CFGs, you should really use them
I don't know that I want to write a massive regular expression to parse out the file
surely there's a non-regex way to tokenize languages
@Quill a (properly written) massive regular expression is much nicer and readable than a giant lump of code changing states to tokenize though
I know... I'm just avoiding doing that ;-;
TIL: Chrome has a dark theme for dev tools :D
04:59
this has given me an inspiration to write a node library to take a regex file and parse it as pcre regex which will be sooooo good for tokenizing things
imagine how neat your code will be
Anonymous
> node ... neat ... code
Anonymous
Does not compute :P
> node ... library ... regex ... parse
sounds dangerous
Anonymous
Add HTML in there and you're set
but it's not
05:01
those are four of my least favourite words
regex has just gotten a bad rap for being bad for production-use due noobs using it to parse HTML
Anonymous
I like libraries. They smell like books.
Anonymous
Regex is like most things - great in theory :P
I like barns, they smell of hay
@Mego What's wrong with regex?
Anonymous
In theory, it is great and does all things. In practice, it's usually not the best solution.
05:03
@Mego why not?
In the case when you're writing CFG parsers, it is the perfect solution.
Anonymous
Have you ever heard the phrase "rabbit hunting with an elephant gun"?
Anonymous
Sure, if you're doing one of those things that regex is particularly well-suited for, like writing CFG parsers, then it's great. But in the real world, 90% of the time regex is used, a much simpler parsing solution would work just as well.
Anonymous
Rabbit hunting with an elephant gun means that you picked a tool that is severely overkill for the goal
05:17
always important to have more makefile than actual code :|
Anonymous
What are you using the Makefile for?
to make tests
Anonymous
Ahh
Anonymous
Yeah having more tests than code is probably a good idea :P
./node_modules/.bin/mocha --reporter spec
that can go in your package.json file
05:21
@Quill do you think its important to jsdoc your code
important in some sense
good code documents itself
nah
it makes me sad when people still use var when node supports let and const :(
O_o why does emscripten need openssl
Anonymous
So it can upload your code to a server where people can mock it/you
Anonymous
Obviously
brb compiling pcre to js with emscripten
wat is pcre2
pcre source is more comment that source ._.
@Quill do you know emscripten?
05:33
nope
D:
halp, how llvm pcre, i emscripten fo thritee minut an no js file
halp, how get work doen, i tri for entier dae and no werk deon
tri levng teh nientent bite an mayb u git werk dun
$ cmake
Usage

  cmake [options] <path-to-source>
  cmake [options] <path-to-existing-build>

Specify a source directory to (re-)generate a build system for it in the
current working directory.  Specify an existing build directory to
re-generate its build system.
dammit, now how do I know what do to
$ ./install-sh
./install-sh: no input file specified.
wtf
Anonymous
It's cmake .
INFO:root:(Emscripten: Running sanity checks)
Anonymous
05:47
The . is important
huh, me and emscripten are doing the same thing right now
Anonymous
> ERROR 404: Sanity not found.
@Mego yeah, figured that out :P got pcre installed, now to figure out how to compile it
Anonymous
I'd be very surprised if just naively compiling pcre with emscripten will work
regex101 did it and it worked for them
/Users/vihan/Downloads/pcre-8.38/pcregrep.c:161:23: error: use of undeclared identifier 'PCREGREP_BUFSIZE'
static int bufthird = PCREGREP_BUFSIZE;
                      ^
/Users/vihan/Downloads/pcre-8.38/pcregrep.c:162:24: error: use of undeclared identifier 'PCREGREP_BUFSIZE'
static int bufsize = 3*PCREGREP_BUFSIZE;
                       ^
warning: format specifies type 'int' but the argument has type '<dependent type>' [-Wformat]
/Users/vihan/Downloads/pcre-8.38/pcregrep.c:925:56: error: use of undeclared identifier 'PCREGREP_BUFSIZE'
;_;
screw it, asking on the irc channel
06:14
Can't you directly emscripten it?
Hi
@Downgoat BTW, you can connect and existing domain name to a wordpress.com blog, I did it multiple times. The only thing, that costs $70 is to register it.
@Bálint The domain?
@MarsUltor Hm?
$70 to register what?
Oh, yes, if you register it through wordpress.com
06:22
@Doorknob Just split the file?
Anonymous
Trying to compute all primes < 2**31 is probably a bad idea
Anonymous
Trying to do that and then compute all Fibonacci numbers < 2**31 is probably a worse idea
What could possibly go wrong?
Anonymous
Well I'm pickling the lists... Good thing I have a 1 TB HDD
07:33
You know what's a worse idea? Computing all primes >= 2**31.
Anonymous
No worries man, I have a 1 TB HDD and a very tough hamster
Anonymous
He'll find all of them eventually :P
@flawr ∞?
woah
such gif
much wow
stop xkcd spamming pls. thank
@mınxomaτ many sor
i am doing a large read
Hello
, it's me
I was wondering if after all these years you'd like to meet...
The Very Done Golfer!
08:06
Is it okay, if in a game, I have 1 object with multiple smaller objects with multiple smaller objects in them, and etc?
Depends how big it is
In my game i have loads of those
Example: I have a world object, wich contains the player object, wich contains the camera and the model, and the model contains the model information
Yeah
I have it like that
but with a game object and a screen object and a subscriber object...
I don't think the camera should be part of the player though
And also, I make everything private, except if it's at least 90% neccesary to be private or protected
I never did get the point of stuff being private but Im a python guy
08:10
They can't get changed
I know that but I never saw the point
'We're all consenting adults here' - Python
So getting to the vertex count is a pain
Like world.getPlayer().getModel().getVertexArray().getVertexCount()
Im probably not the gut to be talking to about private stuff though...
Oh
I had a object that contained stuff like that
Anonymous
Games are pretty much the only software where it's acceptable to have a god object
@Mego Do you mean a factory or a container?
Anonymous
08:12
I mean a single global-scope object that does everything and provides access to everything else
Anonymous
In object-oriented programming, a god object is an object that knows too much or does too much. The god object is an example of an anti-pattern. A common programming technique is to separate a large problem into several smaller problems (a divide and conquer strategy) and create solutions for each of them. Once the smaller problems are solved, the big problem as a whole has been solved. Therefore a given object for a small problem need only know about itself. Likewise, there is only one set of problems an object needs to solve: its own problems. In contrast, a program that employs a god object...
^
5
Q: How Godly does an object need to be before it becomes unholy?

muddyfishI've been told that using God objects at all is a Bad Thing™ In object oriented languages, God objects know all, they control too much. I'm trying to build a game (or for the scope of this question a generic app with a GUI) and I'm using a Main object that holds all the other objects needed to m...

I just don't want to pass 5 things to the renderer's constructor
Halp how do I create hover css in pure JS?
-1 not enough JQuery
08:15
What do you mean by hover css?
Not all websites have/want jQuery
I don't like JQuery
@Bálint selector:hover {/*css here*/}
I know but thats what stackoverflow would say
@muddyfish Definitely
08:15
Ohh
Maybe create a class for this, and if you want to enable it, add that class to the element
wait
brb, testing something
And also, should a 2.5d, top down game with a completely flat terrain have a separate class for it?
I did
\o/ just used mouseenter/mouseleave
slow clap
08:18
Well done!
Yay
Luckily there are hardly any style changes on hover/unhover
Just finished writing a server for
64
A: Sandbox for Proposed Challenges

Wander NautaEDIT: This challenge is looking for someone to either writefinish and run an arena server, or someone that wants to rephrase the challenge so that an arena server is not needed and who is also prepared to run entries manually. Both options turned out to be more complicated for me than I originall...

(The game of life one)
Would anyone be able to test it?
And know how I can go about inheriting it?
08:35
Wait
is that 30 cells per turn?
Also, I think Elo rating may be better than KD spread for this
Im changing it up a bit
^My repo
(Adding a readme with challenge spec now)
08:59
Added readme
Anyone want to give feedback?
Firefox becomes dumb forever.
My browser has put a "death lock" on all of my Firefox profiles, so I couldn't delete them.
@zyabin101 death lock?
Help make StackExchange work on lesser known browsers ;_____;
@MarsUltor I'm unable to fully delete my profiles.
09:02
But FF is the second most well known browser
@zyabin101 Force delete?
Or else kill FF and force delete
@MarsUltor The rm -rf tool doesn't work.
@zyabin101 You're on windows, right?
@MarsUltor Yes.
I have the git shell.
What happens when you try to delete it?
@MarsUltor A few files fail to be deleted, and rm fails with "Directory not empty".
09:05
Can't you delete from Windows Explorer?
Also, sudo doesn't work?
Can't.
@MarsUltor The git shell has no sudo.
Delete the stuff in the directory with explorer
What happens when you try to delete on Windows Explorer?
and then delete the directory when empty
recurse
@muddyfish No
Just delete the directory in Windows Explorer
09:06
That worked for me
@MarsUltor The Explorer says, "No permission to delete directory."
So, no way to delete it.
@zyabin101 Right click -> Properties -> Security -> Advanced
0
Q: Randomly Assign People to Tasks

leumas95The challenge is to assign people to tasks randomly~. From stdin you get 2 lines. Line one is a comma-separated list of names. Line 2 is a comma-separated list of jobs. The output required is one line per task person combo. The line should be formatted as Name:task. If there are not enough people...

@MarsUltor Trying to set up the file owner fails.
@zyabin101 ???
09:07
"Permission denied."
Are you an administrator?
That doesn't work?
I have Vista.
So no.
@zyabin101 Pretty sure Vista has it
It's not the permissions screen
09:10
Just use the command and takeown + icacls.
@zyabin101 If you're here, click Advanced
@MarsUltor I tried to.
Just do takeown /F somedir /A /R & icacls somedir /grant:r User:F /T, where somedir is the thing you try to own.
From admin CMD.
could be some hypervisor getting in the way?
@muddyfish I have no hypervisor.
Also, I'm wasting time already because I have to go to school soon.
09:35
Lol, is it said that I read this like house music? Print, now wait 1. Print, now wait 1. — VTCAKAVSMoACE 15 secs ago
09:57
hello all
hello
how are the fiendishly hard puzzles doing today?
I have a fiendish polyglot puzzle in mind.. but I worry it may have been done
0
A: Sandbox for Proposed Challenges

nobe4Toggle a string string The challenge involve simply toggling a string within another string. It should take two parameters: the container string and the string to toggle. For example: toggle('this string has 6 words ', 'now') => 'this string has 6 words now' toggle('this string has 5 words ...

@QPaysTaxes Cool, do you also have some documentation?=)
10:14
0
Q: RegEx-golf: match all contents in a string

Kenny LauYour task is to write a RegEx that matches everything inside strings. A string is defined as everything surrounded by (but not including) two unescaped ". A " can be escaped by \, which can also be escaped again. Testcases string: abc"defg\\\"hi"jkl"mn\\\\" matches: ^^^^^^^^^^ ^^^^^^...

10:39
what did you do
You can't do it on multiline
Multiline assumes raw text
the only thing that works on multiline is having everything as code (using indentation) or as a block quote
How would I modify this regex to make it match multiples of 9: (?<!x)(\S)+(?<-1>){9}(?(1)(?!))(?!x)
what's wrong with (?<!x)((\S){9})+(?!x)?
Well, I would like to use balancing groups
(\s|([x]{9}(?(1))))
10:44
I don't think there's an easy way to do that in your case.
I tried ((?<-1>){9})+ to no avail. Could you explain why it fails?
i cant do much lookahead/behind
@KennyLau yes, because the engine will not attempt more repetitions of an empty match than it has to
(this is a necessary optimisation to avoid infinite repetition)
so (...)+ where ... is an empty match will use the group at most once. there is no way to make it try an arbitrary amount.
oh ok, thanks
(in fact, this optimisation is also the only thing that prevents .NET regex from being Turing-complete on its own)
10:48
it can be shorter ((\S{9}(?(1))))
(?(1)) doesn't do anything.
"i cant do much lookahead/behind" it isn't even one
i dont know that depends on multiple of 9 of what ?
@Agawa001 sorry, I don't understand the question. could you rephrase it?
@KennyLau Btw, if you know a finite upper limit N of multiples, you can do ((?<-1>){9}|){N} I think.
what does the | do?
10:58
makes it optional
the same as (((?<-1>){9})?){N}
I understand regex, but what is its function?
why is it necessary?
oh, I think I get it

« first day (1938 days earlier)      last day (3201 days later) »