Skip to content

Latest commit

 

History

History
321 lines (195 loc) · 23.2 KB

2020-12-29.md

File metadata and controls

321 lines (195 loc) · 23.2 KB

< 2020-12-29 >

2,285,885 events, 1,226,835 push events, 1,815,608 commit messages, 130,133,845 characters

Tuesday 2020-12-29 01:37:48 by oje-edu

only god knows how i hate this WSL shit ..switch back to linux


Tuesday 2020-12-29 05:33:05 by ko602

kosint kosint1234 kosint12345 123456 12345 123456789 password iloveyou princess 1234567 rockyou 12345678 abc123 nicole daniel babygirl monkey lovely jessica 654321 michael ashley qwerty 111111 iloveu 000000 michelle tigger sunshine chocolate password1 soccer anthony friends butterfly purple angel jordan liverpool justin loveme fuckyou 123123 football secret andrea carlos jennifer joshua bubbles 1234567890 superman hannah amanda loveyou pretty basketball andrew angels tweety flower playboy hello elizabeth hottie tinkerbell charlie samantha barbie chelsea lovers teamo jasmine brandon 666666 shadow melissa eminem matthew robert danielle forever family jonathan 987654321 computer whatever dragon vanessa cookie naruto summer sweety spongebob joseph junior softball taylor yellow daniela lauren mickey princesa alexandra alexis jesus estrella miguel william thomas beautiful mylove angela poohbear patrick iloveme sakura adrian alexander destiny christian 121212 sayang america dancer monica richard 112233 princess1 555555 diamond carolina steven rangers louise orange 789456 dancer monica richard 112233 princess1 555555 diamond carolina steven rangers louise orange 789456 999999 shorty 11111 nathan snoopy gabriel hunter cherry killer sandra alejandro buster george brittany alejandra patricia rachel tequiero 7777777 cheese 159753 arsenal dolphin antonio heather david ginger stephanie peanut blink182 sweetie 222222 beauty 987654 victoria honey 00000 fernando pokemon maggie corazon chicken pepper cristina rainbow kisses manuel myspace rebelde angel1 ricardo babygurl heaven 55555 baseball martin greenday november alyssa madison mother 123321 123abc mahalkita batman september december morgan mariposa maria gabriela iloveyou2 bailey jeremy courtney booboo kissme harley ronaldo iloveyou1 precious october inuyasha peaches veronica chris 888888 adriana cutie james banana prince friend jesus1 crystal celtic zxcvbnm edward oliver diana samsung freedom football fuckyou loveyou mylove america imdian indian indianarmy

githuh.com


Tuesday 2020-12-29 06:19:07 by ejsvifq_mabmip

fix compilation for clang + msvc stl

need to find out a way to strip dead code under clang. That is dumb. Fuck you llvm.


Tuesday 2020-12-29 09:36:25 by Hanno Schwalm

Introducing a tiled RCD demosaicer (#7337)

  • Introducing a tiled RCD demosaicer

The rcd demosaicer developed by Luis Sanz Rodríguez is publically available at https://github.com/LuisSR/RCD-Demosaicing and is licenced under the GNU GPL version 3.

I came across this via the rt issue tracker RawTherapee/RawTherapee#5908 and have personally been using it in dt for some months.

The results are very good, quality is at least en-par with Amaze, maybe depending on image content the results are slightly better or slightly worse.

The biggest pro argument is less color overshoot, the penalty is marginally increased blur. Having a demosaicer output with less overshoot makes this a better option for further processing.

I started developing the demosaicer by taking the algo from original github and adopted it to dt style. Over time i learned how @heckflosse had improved the code by tiling, less omp overhead and by adding sse2 code in the most time-critical internal loop as the compiler does not vectorize here as good.

Further on we discussed many details and worked on performance on different machines. Thanks a lot! Now it is really good, on darktable rcd is ~3x faster than amaze and 30% faster than the non-cl ppg code. On my machine (pretty similar to the well known 9900k) i am now at ~135ms for a 45Mpix image. This is ~3 times as good as the non-tiled version.

The border interpolation used the dcraw algorithm in the original code, there are minor issues so i chose the code used by rt as it has less artefacts. A border of 9 is always safe if tiling is used.

Unfortunately there is no paper describing the algorithm, we only have the README in the original git repo at https://github.com/LuisSR/RCD-Demosaicing/blob/master/README.md

Also there is no formal quality analysis, at rawtherapee we have https://rawpedia.rawtherapee.com/Demosaicing

But we have a lot of experience people made when using this demosaicer in rt.

Some notes for people testing the code

  1. in demosaic.c you find the bitmask #define DEMOSAIC_TIMING 0

    • 01 --> add timing info for the demosaicers while tuning avoiding the mass of -d perf info
    • 02 --> prohibit fall back to ppg
  2. You might want to tune the tiling size in rcd_demosaic.c, unfortunately this has to be selected at compile-time. Making this runtime specified reduces performance by ~50%

See former attempt #6738

  • Add proper #include for optional sse4.1 intrinsics

  • Work on the SSE specific code sections

  1. #ifdef the sse specific macros/inlines to avoid rcd being sse specif code.

  2. The indx>>1 trick had been used to lower cache-mem pressure but lead to bad compiler vectoring. All indexes to lpf now use an extra index to avoid the shifting.

(2) improves the non-sse performance by ~20% on my machine but still there is a significant gain of overall ~4% if using the hand-optimized code so i would prefer to keep this.

  • Fixing corner cases with border data

  • Using index/2 also for PQ_Dir

As in steps 2.1 and 3.1 we can use index/2 as we calculate data only for every second pixel in a row. Reduces cache mem pressure and thus increases performance.

  • allocate tiling memory by dt_alloc_align_float

As @ralfbrown suggests in #7419 comments and elsewhere we should always use dt_alloc_align_float instead of dt_alloc_align to get rid of the '64' magic.

  • Code maintaining keeping track of common/math.h

The CLIP macro is only in 3.6 branch so we define it in rcd demosaicing if undefined.

  • Fixing compiler issue after common/math.h work
  1. The CLIP macro is not necessary any more as defined in common.math.h
  2. float (*const rgb)[RCD_TILESIZE * RCD_TILESIZE] = (void *)dt_alloc_align_float needs a cast

Tuesday 2020-12-29 14:19:51 by Felix Dreißig

Web: Block changes during updates in (internal) Service History

Prevent multiple ongoing updates by making all fields read-only and showing a progress spinner during updates.

"progress_spinner.gif" is "Indicator Big 2" from http://www.ajaxload.info. As per the site's footer, "[g]enerated gifs can be used, modified and distributed under the terms of the Do What The Fuck You Want To Public License" (http://www.wtfpl.net).

Closes: fausecteam/ctf-gameserver#56


Tuesday 2020-12-29 14:31:12 by Marko Grdinić

"12:20pm. Let me resume. I took the opportunity to have breakfast and do the chores, and now I have plenty of time ahead of me.

Let me test the new feature out. I'll have to modify all the tests manually...

...And now I am hearing thunder in the distance again. Damn it.

It is in the distance so I am going to risk it unless it looks like it is starting up. It has been quiet for a while.

2:45pm. It suddenly intensified so I had to run. The weather today is really costing me. Let me slowly resume.

3pm. Let me finally start. I did my bit of chilling. Can I get back on track. I lost 2.5 hours in the day, but I should be able to accomplish something. Let me see if the parser works.

packages: |core-
modules: test

It is telling me that the package file does not exist.

            try let x =
                    if p.is_in_compiler_dir then DirectoryInfo(Path.Combine(AppDomain.CurrentDomain.BaseDirectory,"..",p.name)).FullName
                    else DirectoryInfo(Path.Combine(d,p.name)).FullName

Let me print out the package paths here.

package_path=C:\Users\Marko\Source\Repos\The Spiral Language\The Spiral Language 2\bin\Debug\core

Oh whops. I am doing it wrong.

3:10pm. VS Code has really good replace in files feature. I should not tried doing it by hand.

3:15pm. It works. Focus me, stop surfing /a/. Half the motivation I had is gone now, but I need to persevere.

Close that thing down and get moving. First off, let me publish the new version. Then the next step after that will be to get started on the review. I had time to think about it, but I had no inspiration.

vsce publish patch

Done. Now the review. I have two of them to deal with.

3:20pm. Actually, let me adjust the readme first.

3:30pm. Let me commit these changes. Now, I'll take some time to do the reviews."


Tuesday 2020-12-29 15:12:41 by mrbermell

fuck you pycharm - removing whitespace cleaner action


Tuesday 2020-12-29 17:22:19 by Lynn The Folf

Update information

My Telegram is not available due to somebody being smartass, so sorry if email is inconvenient for you, cant really do much about it.

Next message is for that smartass: I swear to god if you are gonna spam my email or find me on Telegram, you are a fucking horrible person, so piss off and let me live my life. (Really, what the fuck do you want from me?) Yes im fucking sick of you, because you are a fucking horrible person. You were right about you being asshole, you are indeed an asshole, and you know this. You stupid spying piece of a shit.


Tuesday 2020-12-29 18:46:08 by mrbermell

Revert "fuck you pycharm"

This reverts commit a8c620c7130e3117154d3e25ce978ec111cbfd22.


Tuesday 2020-12-29 19:03:52 by Marko Grdinić

"First the PL sub one.

///

Spiral v2 is out on the VS Code marketplace. Installing the language is as simple as installing the plugin from the extensions tab. It is still in testing phase, and it should have been for a few months more, but I decided to not be timid, and pushed forward the release. My plan right now is to keep fixing the bugs while I do the docs.

Even though I say that, the language is not in a poor shape at all so feel free to give it a try. By the time January is over both the documentation and the language should be in good shape.

It has been a long time getting to this point. I spent the entire year 2020 on making it happen. Every design mistake from v0.09 has been ammended, and the language has a cool, new top-down type system to take the edge off the partial evaluation magic that it does.

After January is done, I intend to finally put my plans into action. In 2018, I put in a lot of effort on making a GPU-based deep learning library using the original Spiral. In 2021 I will do the same thing except much better. I will make use of the language as wedge to get me through the door of various hardware companies. Getting them to sponsor me is one aspect of the plan, but the main purpose of the expedition will be to get a handle on these devices and make sure I am continually at bleeding edge of the hardware wave from here on out.

Though I could not accomplish my main goal 2018 which was making a good RL agent, the ML library itself was in my view fairly impressive - I manage to create an fully optimized RNN (similar the one in the Nvidia blog post) and used it as a model in a policy gradient training of a poker agent whose game implemented alongside it. I had to the automate serialization between language barriers, and the game's data types and something the NNs could process. In order to implement optimized GPU kernels such as the one in the blog post, I had to implement automatic differentiation on GPU itself. All of the technical achievements were not accomplished simply by gritting my teeth and dropping down the low level, but through innovative high level abstractions. For example, GEMM fusion from that blog post is made much easier by having tensors with named dimenions.

This is the usual habit in my programming - I solve a task, I generalize the solution and then reuse the abstractions elsewhere. The language one is using makes a vital difference - that library and all those optimizations would have been impossibly difficult to do in C for example.

I made some mistakes too. When it comes to making a GPU library, it turns out that .NET's GC is really a poor fit for managing GPU memory. I'd have been better off picking Python as a target platform. Towards the end of 2018 the old Spiral's poor design and implementation made the compile times go up drastically. And having to do type inference programmatically was really a anchor around my neck.

I can go on about my regrets, but even if it weren't for all of those, I do not think I could have accomplished my goal. Towards the end of 2018, I realized one thing - though GPUs are the workhorse of deep learning, they are actually a very poor fit of reinforcement learning. I spent a long time bashing my head how to improve the performance of RL algorithms. I blasted backpropagation. At some point understanding will dawn, but until then I've realized that what I should do is make do with poor algorithms.

Maybe backprop is a poor fit, but the reality is that the task of reinforcement learning is particularly difficult. In 2018 I've challenged myself to improve a single model and got nowhere. Instead of doing that, in 2021 I will take advantage of new hardware to master ensembles.

In 2018, I would train a model, and would get wildly different results depending on random seeds. It is an open secret that RL reseachers cherry pick their results. Instead of getting mad at that, what I have to do is formalize that insight. If training a single model is all up to luck, why not train a 100 of them in a single go?

GPUs are actually a very poor fit for that. They are good for quickly processing batches of data through a single model, but doing something like passing a single vector of data through numerous networks would be the worst case fit for them. It will be different for neurochips. The new language will allow me deal with the hardware, and the hardware will allow me to complete the agents that I could not a few years ago.

Well, that is the plan for when I am done with the docs. I plan on striking out and getting in contact with hardware companies themselves when I am ready. If somebody from the hardware side is reading this and is interested having a Spiral backend and a ML library for it please do get in touch.

///

5:25pm. The above should be good for the PL sub.

5:35pm. I am taking a short break right now. I am not really in full blast like when doing the docs.

6pm. Let me resume. I need something for the yearly review. I won't post this part on the PL sub.

///

(Continued from the PL monthly sub post.)

If this plan works, I will be able to solve my poverty woes in one fell swoop. The paper I linked to says there are 50 startups, so there are plenty of potential sponsors for my services. I plan to price the rental space in the Spiral ecosystem for these companies at 3k per month. Assuming the sponsor is interested in having a permanent backend and library to the point of paying for it, this is the price point that I think will make it rational for the companies to just cash out to me instead of hiring another programmer to fork Spiral and maintain that. Maybe I could go for more, but I will curb my greed and resist trying to squeeze the other parties. Maximizing money is not that important, I want to get through this next part peacefully.

Since the market is ripe, I am hoping to get a bunch of them and build up my monthly income that way.

In Croatia, the average salary is a bit over 1k per month. Local dev salaries are higher than the average, but it is not a rich region by any means. Even just getting single sponsor would put me way above average. And I've been without money for long enough so I am determined to make this work. I need to get access to chips anyway - instead of paying for them years down the road, isn't it better that I get others to pay me to program them today? I really do need to explore the offerings anyway, I don't have a view on which specific piece will be dominant yet. It would be a mistake to pick one and stick with it; at this point I do need variety.

Unlike v0.09 which was researchy kind of language, and whose libraries I've written in F# strings, v2 has way higher quality across the board, so I am confident on about the quality of my offering.

Still, it is not like my past schemes were sucessful. But to be fair they were pretty crazy.

This has a fairly rational chance of working out, but I don't have the experience nor the knowledge to tell how things will go. I should be able to convince the leads to take a look at Spiral, but whether the companies will be willing to pay depends on the level of the people working there. I expect them to be mostly using Python + C as their hardware stack. This should have a large amount of friction that Spiral could alleviate, but who knows, maybe the guys there will be the kind that likes C.

I have no idea what the general programmer level of the C crowd is, but there are plenty 'lol GC bad' kiddies there. They are not exactly innovative. If the guys I keep running into don't see a point to a language having first class functions, that will make any kind of negotiatons untenable. The ideal team would be the one that has positive experience with other functional programming languages. I can imagine those kind of people really being impressed with Spiral.

But even though functional programming is in ascendance, it is not mainstream by any means. So if I run into a team like that, it will more likely be an exception than the rule. I might end up being forced to take whatever opportunity I can get.

I can do a good job on Spiral, and I can try to tailor my message, but beyond that things are out of my hands. I'll do my best and let the dice land where they may.

If this were all about money, trying to make a poker agent, let alone a language would make zero sense.

It is not that crushing these guys would be satisfying monetarily. It is just I can't imagine a successful Singularity run that does not go through that path. Could there exist a programmer too weak to beat online gaming, but strong enough to conquer the universe? I doubt it. Gaming success is as much of a sanity check as it is an opportunity to make money along the way.

When I decided to make Spiral, I set on out on my own path. I really expected there would be more people than just me working on a language to make a ML library. Because I know back then that down the road new hardware will come out, and Theano, Tensorflow - whatever was popular at the time would be scrapped. The hardware companies would not have Google level resources to make those kinds of compilers. Even if they do take the effort to integrate with popular frameworks, what will happen if deep learning gets superseeded by new algoriths?

Furthermore deep learning is not so difficult as to necessitate such huge software investments that Google and Facebook are making. I could not make a GPU library in F#, but it was doable in Spiral v0.09 and it will be easy in v2.

I do feel a certain sense of loneliness, but in the software world the isolation I endure today will be competitive moat tomorrow.

It is difficult. In games you command the player character and the action gets executed. If only my own mind had the same kind of calm attitude and disposition that my proxies do. My own mind requires deep planning and elaborate beliefs to embark on a course of action. The action requires effort, but establishing motivation requires just as much effort. It is tiresome.

Do I have anything better to do than programming in this life? No. If I could go back in time 15 years ago, I'd command myself to do programming. If I could get an extra 15 years of work today for free, just how much further along would I be? It is unimaginable.

I can't change the past, so this time I'll be smarter and give this gift to the me of the future. For a person of a sinister character such as myself, programming is a fitting punishment.

Every day I gather inspiration, then I try to manifest it as code. I manifest it as writing. I gather inspiration, and let it loose, letting my hands act out the office of the mind after that. This inspiration is an invisible power that I have to contain in raw matter. Otherwise it would escape.

Yet even though I keep doing this exercise, I haven't attained even a bit of what I want yet. I have no intention of stopping.

I will find my dream again, at the end of the human era.

///

8pm. This is the way to end it. I'll proofread these later. Let me just close here, I am too tired to do that now. Tomorrow, I want to get started on the typecase redesign. That will take me a day or two. I'll have to change many parts of the compiler. I'll even have to get rid of the current pattern style compiler for typecase in the prepass."


Tuesday 2020-12-29 19:28:26 by NicolasCvdn

Added burst functionality to AM

if you read this fuck you :)


Tuesday 2020-12-29 21:06:31 by Misha

I just rewatched girl who leapt through time and holy shit i cried the shit out of myself


< 2020-12-29 >