Skip to content

Latest commit

 

History

History
393 lines (272 loc) · 19.7 KB

2020-08-11.md

File metadata and controls

393 lines (272 loc) · 19.7 KB

< 2020-08-11 >

2,466,437 events, 1,237,239 push events, 1,967,044 commit messages, 150,652,735 characters

Tuesday 2020-08-11 06:13:50 by Brosilio

Merge branch 'master' of https://github.com/brosilio/coral fuck you git you piece of shit cock choker


Tuesday 2020-08-11 06:53:00 by Brosilio

fuck git its garbage piece of shit. linux is trash and can eat huge shit and cocks


Tuesday 2020-08-11 07:48:36 by Aeva PaleceK

WebGL - Hacky Uniform Uploading

This adds basic support for uniform uploading. This only supports plain glsl types... and possibly more than WebGL might support (eg ivec). Arrays and structs are possible with this approach, but I don't really have cause to bother yet.

WebGL 1 doesn't support uniform buffer objects, which makes implementing uniforms a bit problematic for how I want Dream Machine to work. I expect this will take a few iterations to get right.

The approach I took in this implementation is that for each pipeline that would be relevant to the uniform upload, the upload function makes that pipeline's shader the current program, and then calls all of the gl.Upload* etc functions to upload the data. This should Just Work, since uniforms are meant to persist as part of the shader program. This of course comes at the cost of requiring to upload the data once per pipeline that uses it.

Also this implementation doesn't actually take account for the dream machine buffer handles for determining which pipelines are relevant. This could be a problem if there were support for uploading buffers with custom data, and two buffers with the same struct were uploaded with different data.

A final note, uniform block instance names should be pretty easy to make work here in terms of shader interface, since you just have the struct and one uniform declaration for that struct.

So, problems for another night:

  1. Maybe generate an uploader per buffer instead of per struct? And pass in the shader handle as an arg, and make the event handler generate the needed upload invocations.
  2. Array and struct members aren't implemented yet.
  3. ElapsedTime has the wrong scale.
  4. WindowScale.
  5. Uniform block instance names? Requires new syntax.
  6. Perf.

Tuesday 2020-08-11 07:56:21 by hardinjohn166@gmail.com

FUCK YOU INHERITENCE! AND YOU TOO, CLASSES, FUCK YOU!

sorted some stuff out, dialing in scope, still have an issue with player holding values that I don't know where from, so probably a scope issue, but idk...


Tuesday 2020-08-11 08:12:02 by Marko Grdinić

"9:20am. I am dead tired right now.

Damn it, I am so close!

I pretty much understand the whole of unification at this moment. The only bit I am really lacking is constraints for recursive functions!

And it is not like I can do those either, I just do not want to run the infer over and over!

I am wracking my brain how I can simplify things and am coming up with nothing.

Yesterday I said, I would not do constraints, but after making this much progress, I absolutely am going to put them in.

I know how to do pretty much everything - I just need this one last bit and I will have the completed design for doing type inference even with arbitrary constraints.

9:30am. I go to bed dead tired at close to 1am yesterday (because I've been enjoying crap too much recently) and then spend like what feels like hours obsessing about the constraints issue. As a result I am exhausted.

9:40am. What I really should be focusing on is finishing infer. Right now I am just spinning my wheels on recursive function constraints without making any real progress. What I need to do is deal with the rest and then it will become easier for me to figure out what to do with the very last bit. Seriously, I should be able to do this just by repeat running infer in the worst case.

9:45am. Insight comes to those who get the trash out of the way. The motion of the hand does the office of the mind.

I've been way to cocky thinking that I could leave constraints for later. The typechecker really might take me a whole month at this rate.

Let me talk about the syntax for constraints a little.

inl add forall t {number}. (a : t) (b : t) = a + b
inl (@) forall head rest head_x {record_apply head x}. (a : tensor (head,rest)) (b : x) = ... : tensor (head_x, rest)

This is going to be the new constraint syntax. I am going to use sets for them internally, and their last argument is implicitly the variable they are attached to.

Rather than parsing forall x [a x] [b x] [c x]. I will instead do forall x {a;b;c}.. This is an improvement in every way possible.

10am. Ok, how about I take a break today?

10:05am. I'll take some time off, and spend it in bed, not to think about how to solve some difficult problem, but just to make up my mind to do infer again. I am going to go back to the parser and add the constraints to it. Just number and record_apply to start things off. I am not even going to bother putting nominal prototype constraints into the language. They are not going to be a priority. If I can have number and record_apply, the rest will be much easier.

10:10am. Though I said I would spend it in bed, I really feel like getting Devil's Evolution Catalogue out of my system first.

Actually, forget the parser right now. The important thing is that I've decided. I should just put in the two constraints and move from there.

This is such an immense amount of work. There are so many details to keep track of that it feels overwhelmning. I am still not that good at this type inference thing and it is really straining my abilities to the limit.

...I think I'll try to get some programming done today. But first let me chill."


Tuesday 2020-08-11 09:23:16 by muqadasurooj17

MUQADAS UROOJ

ABOUT ME I am Muqadas Urooj, 2nd year student of Software Engineering from MUET SZAB campus. I am having proficiency in web languages and completed numerous projects. I am always motivated and searching for the opportunities which enhance my technical skills.I always wanted to be a change maker in my society always motivated to learn and seek the best for myself.

PROMISING QUOTE I FOLLOW `` WITHOUT A SENSE OF CARING THERE CAN BE NO SENSE OF COMMUNITY"

SKILLS 1)Having blog writing skills 2)Leadership skills 3)Presentation skill 4)Web Development skills 5)Entrepreneurship

LANGUAGES C++ JAVA HTML CSS BOOTSTRAP 4 PHP PYTHON JAVA SCRIPT J QUERY Framework

ONLINE COURSES Having strong cloud computing concepts AI and Machine learning concepts Completed 9 UDEMY and COURSERA courses related SEO. Completed Courses on AZURE FUNDAMENTALS and Automate your workflow with GitHub Actions ORGANIZATIONS MEMBERSHIP

Member of Women Tech Makers MSP Lahore community Member of Women In Tech Jamshoro Community Volunteer At Hyderabad DSC Shortlisted For GLOBAL UGRAD interview EXPERIENCESS 1)Currently enrolled in 4th semester Topper of class with 3.91 CJPA. 2)Have been participated in Essay competitions 3)Article published in newspaper 4)Worked Under MOVE(Motivated Volunteer and empowerment Program) 5)Participated in Sports week of campus

YOU CAN CONNECT ME 1)EMAIL muqadasurooj123@gmail.com 2)LINKEDLN https://www.linkedin.com/in/muqadas-urooj-37769b175 3)FACEBOOK https://www.facebook.com/muqadas.urooj.92 4)BLOGS https://www.blogger.com/blog/posts/8388194229841011781 5)TWITTER https://twitter.com/urooj_muqadas?s=09


Tuesday 2020-08-11 11:13:12 by flatline-84

fucking bullshit kivy auto registering devices go fuck yourself


Tuesday 2020-08-11 14:12:12 by Marko Grdinić

"3:40pm. I am still thinking. I guess today will pass like that.

I've realized something.

inl f forall a b c. ....
        | RawForall(r,(_,(name,k)),b) ->
            let rec typevar = function
                | RawKindWildcard -> fresh_kind()
                | RawKindStar -> KindStar
                | RawKindFun(a,b) -> KindFun(typevar a, typevar b)
            let k = typevar k
            let i,v = fresh_var'' k
            forall_scopes.Add(name,i)
            let body = fresh_var()
            unify r s (TyForall((name,k),body))
            term {env with ty = Map.add name v env.ty} body b

Consider what the scopes in this would be.

Each nested forall would have its own scope.

Since I am propagating info forward in Spiral, that means I will end up unifying '0 (0) => forall a. '1 (1). Given my current rules, that would end up unfying '1 (1) with something that has scope of 0.

The solution is for each statements to take stock of the foralls at the outset and start inference at a more sensible place.

3:50pm. So it is not that I can just put forall whenever I want. For both ordinary and recursive statements I already need some special behavior because infering foralls is ill behaved normally.

For mutually recursive statements...yeah, in the presence of a single forall they have to be fully annotated. Otherwise they do not.

Now that I am thinking about scopes, the interesting thing about unifying a metavariable with an expression body is that it should always have scope that is at most the current scope.

Oh yeah, when it comes to dependent constraints, the metavariable's scope will have to have a minimum scope of the variables in its constraints.

...No that is the wrong way to put it. No actually, what I need to say is that the constraint's variables need have at most the scope of the metavariable itself.

When unifying metavariables, I need to unify the scope of its constraints as well.

4pm. At any rate, what makes this whole thing possible is that foralls have explicitly stated constraints. If my intention was to fully infer those as well, what I have in mind would not work and I would require multiple passes in order to converge to all the constraints.

4:10pm. Thunder. Let me run here."


Tuesday 2020-08-11 16:13:32 by rajanshul98

Create CardGame.java

You get the question here :- https://www.codechef.com/AUG20B/problems/CRDGAME3

Chef is playing a card game with his friend Rick Sanchez. He recently won against Rick's grandson Morty; however, Rick is not as easy to beat. The rules of this game are as follows:

The power of a positive integer is the sum of digits of that integer. For example, the power of 13 is 1+3=4. Chef and Rick receive randomly generated positive integers. For each player, let's call the integer he received final power. The goal of each player is to generate a positive integer such that its power (defined above) is equal to his final power. The player who generated the integer with fewer digits wins the game. If both have the same number of digits, then Rick cheats and wins the game. You are given the final power of Chef PC and the final power of Rick PR. Assuming that both players play optimally, find the winner of the game and the number of digits of the integer he generates.

Input The first line of the input contains a single integer T denoting the number of test cases. The description of T test cases follows. The first and only line of each test case contains two space-separated integers PC and PR. Output For each test case, print a single line containing two space-separated integers. The first of these integers should be either 0 if Chef wins or 1 if Rick wins. The second integer should be the number of digits of the integer generated by the winner.

Constraints 1≤T≤105 1≤PC,PR≤106 Subtasks Subtask #1 (100 points): original constraints

Example Input 3 3 5 28 18 14 24 Example Output 1 1 1 2 0 2 Explanation Example case 1: Chef and Rick generate the optimal integers 3 and 5 respectively. Each of them has 1 digit, so Rick cheats and wins the game.

Example case 2: Chef and Rick could generate e.g. 6877 and 99 respectively. Since Rick's integer has 2 digits and Chef cannot generate an integer with less than 4 digits, Rick wins.

Example case 3: Chef and Rick could generate e.g. 86 and 888 respectively. Chef's integer has 2 digits and Rick cannot generate an integer with less than 3 digits, so Chef wins.


Tuesday 2020-08-11 16:28:39 by Marko Grdinić

"5:45pm. I am back. One thing that is causing me a significant headache is how to actually typecheck type annotations of all things.

Let me make a design decision.

    | TyInl of (string * TT) * T
    | TyVar of string * TT // Staged type vars. Should only appear in TyInl's and TyForall's bodies.
    | TyForall of (string * TT) * Constraint Set * T
    | TyMetavar of id: int * link: T option ref * scope: int * Constraint Set * TT
    | TyForallMetavar of id: int * scope: int * Constraint Set * TT

Right now I might have id: int * scope: int * Constraint Set * TT, but I also have those string tyvars and they are a significant pain in the ass.

In order to simplify all of this, I am going to assume I have access to a store of unique ids. That I am going to get rid of all those strings...

type Constraint =
    | CNumber
    | CRecordApply of T * T

/// id * scope * constraints * kind * name
and Var = int * int * Constraint Set * TT * string

and T =
    | TyB
    | TyPrim of PrimitiveType
    | TySymbol of string
    | TyPair of T * T
    | TyRecord of Map<string, T>
    | TyFun of T * T
    | TyArray of T
    | TyHigherOrder of int * TT
    | TyApply of T * T * TT // Regular type functions (TyInl) get reduced, while this represents the staged reduction of nominals.
    | TyInl of Var * T
    | TyForall of Var * T
    | TyMetavar of Var * link: T option ref
    | TyVar of Var

Now everything is much easier.

let id () = failwith "TODO"

For the time being I won't worry about passing in ids and will just use this as a placeholder.

Now thanks to this, I can do implicit substitution to my heart's content.

5:50pm. I have a really annoying problem, in that I definitely need TyVars to have an id and a scope and a constraint set. But the way foralls were, just what was the inferencer supposed to do with them when getting a recursive case from the environment? Also right now I am doing explicit substitution rather than defering it through the environment.

How annoying. I need unique ids.

6pm. Right now I am thinking about the exact steps for TCing mutually recursive statements. I still need some more time to digest all of this.

6:10pm. I haven't digested this, and I am still obsessed, but my reason is telling me that I have enough. This time I really will complete the typechecker. And it will be thorough, I will have the constraints that I want, and I will not have to return the typechecker in the future ever again. Well, almost. I will want to have more constraints than number and record_apply, but what I want have to do is make an entire new phase of typechecking or add new mechanisms to it.

Any extensions I will make from this point on will be relatively simple.

6:20pm. There is just no rushing through this. Amazing how much effort it takes just to understand the basics.

Let me force myself to unwind here. I need to calm my frenzy and after that is done, just get to work hammering things out.

Out of the things that I've so far, I think it is in pretty decent shape architecturally.

6:25pm. Given how this month started, I thought I would be done in a flash, but now that I've run into difficulties, I think that maybe allocating an extra week or two might be something that I need. I guess my off the cuff estimate of the typechecking taking a month should be on the mark. On the bright side, that much time should be enough to get the entirety of the type system in order including macros plus testing plus editor support. I can do this if I apply myself to it. And that I definitely will.

I can't wait for next month. At that time, typecheker will be done, and I will have surmounted the biggest hurdle to making v0.2 operational.

For now let me call it a day here. It is time for some rest that does not involve thinking about typechecking."


Tuesday 2020-08-11 17:32:25 by Radoslaw Kujawa

Update this fucking bullshit crap.

Go die in a fire, Ruby.


Tuesday 2020-08-11 20:57:19 by Joshua Peisach

Add exit/quit command

Exit will not do anything as it just kills the shell but perl stays so, exit perl as well after killing the shell (In case some shell processes get left behind)

"Quit" is also added to make it a little more friendly and easier to not worry about it being annoying w/ invalid commands-basically just to make life easier if people wish. Use what you want.


Tuesday 2020-08-11 21:09:30 by ASystemsArchitect

Least Squares Implemented

I didn't say it, but it was a shit... However, it is worthy of suffering the morning. It is more due to problems with types and inferences which aren't well specified, and me having to read the console errors (becuase I compile at hand [even though I don't want]).

I think I finally will move this to CLion?


Tuesday 2020-08-11 23:32:37 by Fredrik Ljungdahl

Implement Scroll of Recall. Can warp monsters across levels depending on BUC

Cursed: Works like a magic whistle, except it warps hostiles, not pets Uncursed: Exactly like an uncursed magic whistle Blessed: Warps all pets owned by you in the whole dungeon next to you

If confused, the warping is reversed -- it warps the reader to the 1st matching hostile (cursed), pet (uncursed) or inter-level pet (blessed).

Base price: 200zm


< 2020-08-11 >