Skip to content

Latest commit

 

History

History
688 lines (446 loc) · 33.7 KB

2021-02-17.md

File metadata and controls

688 lines (446 loc) · 33.7 KB

< 2021-02-17 >

2,791,753 events, 1,390,641 push events, 2,222,740 commit messages, 175,170,957 characters

Wednesday 2021-02-17 00:26:30 by bors[bot]

Merge #13

13: fuck you opensuse tumbleweed r=duckinator a=duckinator

if you would like me to include info on opensuse tumbleweed open an issue and re-add it.

for now, it isn't working right and i've run out of fucks with it, so it's being removed from the list.

Co-authored-by: Ellen Marie Dash [email protected]


Wednesday 2021-02-17 00:45:48 by Gordon Norman Squash

Automatic STLWRT-ization of source files applied... finally (sorry MSVC users -- READ DETAILS!)

Using a really long Bash "one-liner" (yeah, right), I added function calls to every remaining use (well, not quite -- see next commit) of the struct pointer-dereferencing operator `->' on a variable-size type. Now the code compiles more. Hurrah!

One little problem: I declared the aforementioned functions with a Glib macro which, if the code is compiled with GCC or Clang, will expand to a special function attribute which tells the compiler "this function will return the same output every time you call it on the same input". Alas, GLib does not seem to have a macro which expnads to something similar when compiled using Microsoft Visual C, so I can only expect the performance there to be downright lousy right now. Oh well, at least GCC has the capability to produce native Windows binaries now (I think...), we'll clean up the code a little someday, and I removed the Windows support anyway, so there's not much of a reason to worry just yet I think. Still, sorry MSVC users. That's all the solace I can give you as of yet.


Wednesday 2021-02-17 02:32:42 by Jean-Paul R. Soucy

New data: 2021-02-16: See data notes.

Revise historical data: cases (BC, MB, ON, SK); recovered (ON); testing (NT, ON).

Some provinces/health units are reporting multiple days of data due to the holiday (Family Day) on Monday. Toronto is reporting deaths from multiple days due to issues with their new reporting system.

Note regarding deaths added in QC today: “16 new deaths, but the total of deaths amounts to 10,229 due to the withdrawal of 1 death not attributable to COVID-19: 5 deaths in the last 24 hours, 8 deaths between February 8 and February 13, 3 deaths before February 8.” We report deaths such that our cumulative regional totals match today’s values. This sometimes results in extra deaths with today’s date when older deaths are removed.

Recent changes:

2021-01-27: Due to the limit on file sizes in GitHub, we implemented some changes to the datasets today, mostly impacting individual-level data (cases and mortality). Changes below:

  1. Individual-level data (cases.csv and mortality.csv) have been moved to a new directory in the root directory entitled “individual_level”. These files have been split by calendar year and named as follows: cases_2020.csv, cases_2021.csv, mortality_2020.csv, mortality_2021.csv. The directories “other/cases_extra” and “other/mortality_extra” have been moved into the “individual_level” directory.
  2. Redundant datasets have been removed from the root directory. These files include: recovered_cumulative.csv, testing_cumulative.csv, vaccine_administration_cumulative.csv, vaccine_distribution_cumulative.csv, vaccine_completion_cumulative.csv. All of these datasets are currently available as time series in the directory “timeseries_prov”.
  3. The file codebook.csv has been moved to the directory “other”.

We appreciate your patience and hope these changes cause minimal disruption. We do not anticipate making any other breaking changes to the datasets in the near future. If you have any further questions, please open an issue on GitHub or reach out to us by email at ccodwg [at] gmail [dot] com. Thank you for using the COVID-19 Canada Open Data Working Group datasets.

  • 2021-01-24: The columns "additional_info" and "additional_source" in cases.csv and mortality.csv have been abbreviated similar to "case_source" and "death_source". See note in README.md from 2021-11-27 and 2021-01-08.

Vaccine datasets:

  • 2021-01-19: Fully vaccinated data have been added (vaccine_completion_cumulative.csv, timeseries_prov/vaccine_completion_timeseries_prov.csv, timeseries_canada/vaccine_completion_timeseries_canada.csv). Note that this value is not currently reported by all provinces (some provinces have all 0s).
  • 2021-01-11: Our Ontario vaccine dataset has changed. Previously, we used two datasets: the MoH Daily Situation Report (https://www.oha.com/news/updates-on-the-novel-coronavirus), which is released weekdays in the evenings, and the “COVID-19 Vaccine Data in Ontario” dataset (https://data.ontario.ca/dataset/covid-19-vaccine-data-in-ontario), which is released every day in the mornings. Because the Daily Situation Report is released later in the day, it has more up-to-date numbers. However, since it is not available on weekends, this leads to an artificial “dip” in numbers on Saturday and “jump” on Monday due to the transition between data sources. We will now exclusively use the daily “COVID-19 Vaccine Data in Ontario” dataset. Although our numbers will be slightly less timely, the daily values will be consistent. We have replaced our historical dataset with “COVID-19 Vaccine Data in Ontario” as far back as they are available.
  • 2020-12-17: Vaccination data have been added as time series in timeseries_prov and timeseries_hr.
  • 2020-12-15: We have added two vaccine datasets to the repository, vaccine_administration_cumulative.csv and vaccine_distribution_cumulative.csv. These data should be considered preliminary and are subject to change and revision. The format of these new datasets may also change at any time as the data situation evolves.

https://www.quebec.ca/en/health/health-issues/a-z/2019-coronavirus/situation-coronavirus-in-quebec/#c47900

Note about SK data: As of 2020-12-14, we are providing a daily version of the official SK dataset that is compatible with the rest of our dataset in the folder official_datasets/sk. See below for information about our regular updates.

SK transitioned to reporting according to a new, expanded set of health regions on 2020-09-14. Unfortunately, the new health regions do not correspond exactly to the old health regions. Additionally, the provided case time series using the new boundaries do not exist for dates earlier than August 4, making providing a time series using the new boundaries impossible.

For now, we are adding new cases according to the list of new cases given in the “highlights” section of the SK government website (https://dashboard.saskatchewan.ca/health-wellness/covid-19/cases). These new cases are roughly grouped according to the old boundaries. However, health region totals were redistributed when the new boundaries were instituted on 2020-09-14, so while our daily case numbers match the numbers given in this section, our cumulative totals do not. We have reached out to the SK government to determine how this issue can be resolved. We will rectify our SK health region time series as soon it becomes possible to do so.


Wednesday 2021-02-17 02:51:41 by NewsTools

Created Text For URL [www.premiumtimesng.com/news/top-news/443209-final-year-student-commits-suicide-over-cheating-girlfriend.html]


Wednesday 2021-02-17 03:53:22 by ezio84

base: Fix visual glitches when switching states

hacky way but it works (TODO: find a proper fix in the new year, i don't have motivation to dig into navbar/keyguard code fuckery now lol)

setting the height to 1px keeps the navbar almost invisible but fixes the annoying visual glitches when going from screen off to ambient pulsing or lockscreen (more noticeable on some devices like bonito) to replicate the issue without this commit:

  • screen ON, then screen off, then double tap to go to ambient, then double tap to go to lockscreen, then double tap to switch screen off, then switch screen on again
  • or just switch screen off/on a few times with the power button

Also sync the hide pill code with Pulse hide pill feature

Change-Id: Ib1cc83492f8a091be5cac4563d844010cef69dbc Signed-off-by: Aston-Martinn [email protected]


Wednesday 2021-02-17 06:57:24 by Sabenator

Fucking redemption mod

I was using the wrong mod object itemtype. i hate my life, and i hate you.


Wednesday 2021-02-17 13:14:45 by slink

'Cuz everytime we touch, I get this feeling, & Everytime we kiss, I swea

fuck you


Wednesday 2021-02-17 13:59:38 by Adam W. Willis

drm/msm/dsi-staging: Suppress HBM logging

For the love of god, shut up.

Signed-off-by: Adam W. Willis [email protected] Signed-off-by: baalajimaestro [email protected]


Wednesday 2021-02-17 14:40:15 by Alex Cruz

Launcher3: Restart with change only on exit

This change allow the user to change everything they have to inside the homescreen activity and only restart on exit. Previously this was a pain in the fucking ass because you had to go in and set each option one by one with a restart inbetween. At least now is not that big of a pain.

  • Restart on destroy (hitting the back button, actionbar arrow)
  • Restart when a chance is made and the home button is pressed

** Thanks "Jack" for code to detect home button https://stackoverflow.com/a/27956263

  • Cleaned up restart code

eyosen adapted to 10

Change-Id: I4962916ae0bd59d08247b59de585a97a2b9da3a1


Wednesday 2021-02-17 15:34:30 by Kyle Coop

ok, done. finally holy shit fuck ah shit fuck shit fsodfasldkhfa;sldkf


Wednesday 2021-02-17 16:38:31 by alellouc

Correcting my cheating -> not really cheating just a silly girl who has forgotten to delete her debug library and debug functions.... silly girl


Wednesday 2021-02-17 16:46:00 by Natalie P

Fix v15.40, AGAIN.

fuck you epic, stop reverting shit.


Wednesday 2021-02-17 17:02:23 by Reinazhard

fucking disable werror

fuck you

Signed-off-by: Reinazhard [email protected]


Wednesday 2021-02-17 17:14:48 by Jens T. Hinrichs

Recognizing the social fabric (*.readme)

Social networks already existed back then, only that people met in the arena. As they did so, they lowered their thumbs to acknowledge mercy and held up the same thumb when they asked for more. Today it is the same and the associated raging applause has become more silent, while the protest is quietly drowned in this noise. Unlike the majority, I don't think we can rule the fiery Internet. As long as it has a breeding ground, it cannot be extinguished. On the other hand, everyone is fighting against containment and restrictions of any kind. We cannot have both, neither a kindled fire that cannot be controlled, nor an Internet that should be extinguished. We can cool a fire if we are willing to live with the smoldering fire. But is it right to tame the fiery Internet in this way? Reaching a common consensus can take forever. And so mankind has again conquered a productive breeding ground. No one has yet succeeded in separating the spark from the fire. Even if mankind has managed to split the atom in a controlled manner, the divided material cannot be controlled or even disposed of permanently. It is the same with the half-life (tH) of individual content or the acceptance factor (qH) of content from the Internet. Both are merely to be shared in virtual places on the Internet. Such a sparkle jumps over to everyone and all places. Accept it, but don't respect it. Neither is mere copying, not to be equated with thinking! You, the mankind came into contact with it and saw unlimited possibilities in it. And so, the mankind take responsibility for it. But you should only win over it when you made yourselves scarce. In order to be able to hold on to it, I give mankind a confession to start with. It is not to be understood as an Internet Evangelium, because this cannot be agreed globally. But very well, it is an attack of common sense on the real-time of the captured world by placarding 100 and more propositions.


Wednesday 2021-02-17 17:53:39 by Marko Grdinić

"2:10pm. Done with breakfast and chores. Let me chill just a bit and then I will resume.

2:30pm. Let me resume. After the day is done, now that I am done with Kumo, I think I'll pick up Higurashi Gou.

2:35pm. Focus me. What is on the agenda for today?

2:40pm. Those server errors, especially the exception really bother me, but I need to leave it out of mind. I should focus on the game today.

Let's see...I have the way to serialize inputs. And I have the way to deserialize outputs. Now I have everything I need to take advantage of the net.

Let me check the email...nothing. Ok.

2:45pm. Let me turn off the damn router. Instead of programming, I've started browsing /pol/. There is never anything good there. As expected, the American civil war was a dud.

2:50pm. Let me take some time to gather my thoughts. Yesterday after my rant, I really fell into it. If ranting is what it takes to build up motivation so be it.

...This loneliness...I'll miss the journal being online after I go into the shadows.

I regret not being able to go straight to interviews. It seems I cannot do anything I mean to do straight away. I always do things through a telescope.

2:55pm. I am absolutely must do it. My skills are good enough to make these players and to make the UIs and the ML pipeline for them. What I can't do are reverse UIs. I absolutely must level that up.

Anything else, the only way to be a programmer and get paid would be to get a job. I could do games, but I am not into that even though I like playing them.

I absolutely must break into my chosen profession!

I simply must. A path is different from a job. A path is a great plan that tells you how to get all the way from a mortal to the level of the Transcendi. It allows you to continually improve without limit.

The reason why I was a weakling in school is because I did not have a path. The vast, vast majority of humans do not. Right now I have a deep foundation in programming, but I need just one - just one more skill in order to get tangible benefits off this!

I need to master UI automation.

I've gone beyond languages with Spiral. But what I need to do next is to go beyond the OS. I need to virtualize it and serve it to my agents on a platter. I need to grant them freedom within a cage of my own design.

After that, I will be a fully fledged rank 5.

Yeah, it is absurd. I cannot call myself the appex of humanity when I do not have the ability to make even single cent. A true programmer should be able to make money whenever he needs it. It should come to him as a consequence of his own self development.

3pm. So focus on this me. Let me get the random agent to work on Leduc poker. Then I'll make the UI for that so that I can play against it. Then comes the agent training. Then comes the same for HU NL Holdem.

After I have that, I am good to go.

3:05pm. I'll feel better after I am at the point where I am training agents on HU NL Holdem.

I'll have DREAM, the UI for the game, and the training pipeline done.

I think all of this should be doable by the end of next month at most. It should not take more that a few weeks. I can do it, if I apply myself. I can get all the pieces (except the reverse UI) done in the next few weeks.

At that point I will have strong agents at the game of my choosing.

It is at that point that I can let myself feel freedom again. I can track down those language bugs, I can work on the reverse UI, I can do the faux job applications, I can write articles for the ML sub.

3:15pm. I'll have time. While the agents are doing their own thing, the last thing I'd want is distrupt them.

I need to graduate from constantly programming myself. No more of running the agent for 5m and then trying something else. I'll make a proper ensemble and the winner of that. I'll do that thing Hinton suggested with in the Dark Knowledge video which is have the ensemble generate the labels. I'll train an ensemble on the side, but the actual player will be a singleton. Maybe I'll even run it on the CPU.

I always feel the fatigue, lethargy and inertia. Let me try to get something done today in order to overcome it.

Let me make an abstract agent first.

3:40pm. I am having some ideas. Let me roll them in my mind.

Now that I have the sparse serializer, how would I go about making the perfect hash function for Dudo'd game tree?

3:45pm. Forget the perfect hash function. It would take too much effort. Game trees are too complex for the sparse serializer to deal with. Though if it is just Leduc or Dudo, I could do it. That would enable me to sidestep the difficulty of making dictionaries. And I would get excellent tabular performance.

I'll keep the idea in mind, but nevermind it for now.

For very complex games I could always codegen it. But very complex games would have too much to fit into memory anyway.

3:50pm. Ok, let me write down what my thoughts are lingering on.

I've been thinking about policy gradient training, and then started wondering what I should do if instead of sampling like in MC training I instead enumerated the game tree like in CFR. I realized that I would not need the value network in that case. I would be able to get perfect reward distribution in that case, wouldn't I?

For some reaosn despite having that small poker game last time, something like this never occured to me. But this is the logical first step. Before sampling, I should be able to do an PG agent that enumerates. Then I can use that as the basis to implement proper CFR and compare it with PG training.

I could control for network parameters and get an unbiased comparison of the benefits of different kinds of training.

3:55pm. But if I want to play against the random agent, I need sampling. Definitely.

These are two different ways of traversing the game tree. I am going to need different code for both.

For taking samples from Numpy arrays for example, I think I will just convert them into PyTorch tensors and then into a categorical distribution.

This way will be easier than doing my own sampling function.

Though, doing it on my own would be faster. So why don't I import it?

...Ah, but then I need the random number generator. And that would slow things again.

No, forget it. I'll do it as PyTorch wills it.

...Let me turn on the router. Let me take a short break and I will see if Cython has anything for RNG.

Actually, I remember something being in the Numpy docs about that.

4:30pm. I just wanted some time to think. Let me take a look at Cython random numbers.

The Cuda sampling function that I once did for old Spiral took a lot of effort to make so I do not want to repeat that effort.

https://scicomp.stackexchange.com/questions/3206/random-number-generation-from-cython

https://stackoverflow.com/questions/16138090/correct-way-to-generate-random-numbers-in-cython

Oh, apparently msvc's is 2**15-1. That's awful.

http://hplgit.github.io/teamods/MC_cython/main_MC_cython.html

https://groups.google.com/forum/#!topic/cython-users/9UGMi_b3tVo

The topic of random number generation seems to come up pretty frequently. The usual responses mainly seem to suggest using GSL or Numpy's Cython code.

https://github.com/twiecki/CythonGSL

Ah, this is not the same as the C standard library.

I'll go with the Numpy stuff.

cdef np.ndarray[np.int_t,
                ndim=2,
                negative_indices=False,
                mode='c'] eyes = \
                np.random.random_integers(1, 6, (N, ndice))

Ah, see what they are doing here. But I am doing all my indexing with unsigned ints so that should not matter.

https://github.com/Noctem/cyrandom

Here is a fast random package. Enough of this.

This won't be an overhead. I just wanted to make a tour.

https://numpy.org/doc/stable/reference/random/generated/numpy.random.choice.html

>> np.random.choice(5, 3, replace=False)
array([3,1,0]) # random
>> #This is equivalent to np.random.permutation(np.arange(5))[:3]

The stuff here is pretty powerful.

Let me play with it a bit.

import numpy as np
q = np.array([1,2,3,4,5])
np.random.shuffle(q)
q

Ok, I have the shuffle down.

np.random.randint(1,3,3)

Here is how to generate random ints. What about floats?

np.random.rand()

This creates number in the [0,1) range.

It can also create arrays of the specified shape.

How do I copy an array?

q = np.array([1,2,3,4,5])
q2 = np.copy(q)
np.random.shuffle(q2)
print(q,q2)

I should make use of these functions. Since Cython supports Numpy I might as well take advantage of it.

There is no need to trouble myself too much over this.

5pm. Ok...a part of programming simply getting use to basic tools. Here I am getting used to numpy. Some things are rare, but other things are always used.

Forget how I implemented the sampling function last time. Forget the Cuda stuff. That should not even be a minute concern. I do not need to think about making things generic. If I want to port this code to the C backend, I will take care of that then. I do not need to think about adding SML modules to the language in order to make things better.

Let me make a sampling traversal through the first game.

inl game {sample_all draw action terminal} = join

Focus me. Implement these 3.

Ok, sample all.

array card -> (card -> 'a) -> 'a

Its type is this. Focus me.

inl sample_all forall k. (dist : array k) next =
    inl x = $"numpy.random.choice(!dist)" : k
    next x

This first one is easy enough. I won't bother keeping track of observations just yet.

inl sample_all forall k. (dist : array k) next = next ($"numpy.random.choice(!dist)" : k)

Even like so, things are still fairly abstract. I can wrap around the next and do my magic that way.

Let me do the next. I am starting to get into it now.

Next is draw.

u8 -> array card -> (card * array card -> 'a) -> 'a

So it takes in a player and then samples with replacement.

For the abstract version, I won't bother with the player id.

np.array([1,2,3,4])[1:]

No, this is not good. Shuffling it, taking the first one, and then taking the tail is just spew.

https://stackoverflow.com/questions/19286657/index-all-except-one-item-in-python

a = np.arange(9, -1, -1)     # a = array([9, 8, 7, 6, 5, 4, 3, 2, 1, 0])
b = a[np.arange(len(a))!=3]  # b = array([9, 8, 7, 5, 4, 3, 2, 1, 0])

No wait. This is not good. This would create a range and then filter it. What the hell.

inl draw forall k. (dist : array k) next =
    inl len = a64.length dist
    inl i = $"np.random.randint(0,!len)" : u64
    inl x = a64.index dist i
    inl dist = a64.init (len-1) (fun i' => a64.index dist (if i <= i' then i'+1 else i'))
    next (x, dist)

This should suffice for draw.

Now what is next?

u8 -> array action -> (action -> 'a) -> 'a

This one is action.

This one will be a straight up sample.

Focus me. What is next?

u8 * u32 -> 'a

The terminal. This one I will skip in sampling traversal.

Now let me do an enumerating traversal.

5:30pm. Ah, no. Enumeration I might not necessarily want to abstract away. There isn't much useful work to be done.

inl sample_all forall k. (dist : array k) = $"numpy.random.choice(!dist)" : k
inl draw forall k. (dist : array k) =
    inl len = a64.length dist
    inl i = $"np.random.randint(0,!len)" : u64
    inl x = a64.index dist i
    inl dist = a64.init (len-1) (fun i' => a64.index dist (if i <= i' then i'+1 else i'))
    x, dist
inl action forall k. (dist : array k) =
    inl len = a64.length dist
    inl i = $"np.random.randint(0,!len)" : u64
    a64.index dist i

inl main () = ()

Let me modify the stuff here. I do not need the next.

inl action forall k. (dist : array k) =
    inl len = a64.length dist
    inl i = $"np.random.randint(0,!len)" : u64
    a64.index dist i

Ah, what am I doing. The action is the same as the sample here.

Let me take a look at the other game.

It seems the server crashed.

inl game forall r. {sample action_response action_init terminal} : r = join

This one also has sample and action. Since I am not keeping track of histories, that is a given.

5:40pm. I am thinking of doing some functions that I do not need. Focus me.

5:45pm. I have this abstract agent as a goal, but nothing is coming to me.

Forget abstract. Focus on the concrete. I'll abstract when I notice the patterns.

Random player, random player...think about the random player.

...I am thinking about the binary search. Think about the player.

I have sample and draw right now. I have everything I need to implement the random player. Let me start a module that is Leduc test.

inl main() = ()

First, let me create the net.

inl main() =
    !!!!Import("torch")
    !!!!Import("torch.nn")
    !!!!Import("torch.distributions")
    !!!!Import("nets")
    inl nets_small (c,b,a : u64 * u64 * u64) : net = $"nets.small(!c,!b,!a)"
    inl dims = {
        intro = serialization.dense.array.size PlayerView
        mid = 32
        out = serialization.sparse.int.size Action
    }
    inl input =
        {stack_self=(MaxStack-1)/2; stack_opp=(MaxStack-1)/2; pot=MaxStack-1; hand=(0,1),(12,3)}
        |> serialization.dense.array.serialize PlayerView
    inl net = nets_small (dims.intro, dims.mid, dims.out)
    inl dist = forward net (fromSerialized input) |> categorical
    inl x = sample dist
    open serialization.sparse.int
    match deserialize Action (serialized $"!x.item()") with
    | Raise: x => $"f\"Raise: {!x}\""
    | Call => $"f\"Call\""
    | Fold => $"f\"Fold\"" : string

I already did that thing here. Let me take this apart.

Now, I need to think about the inputs. The actual inputs to the net.

I have actions and cards.

6pm. Now I am obsessed with how to do masking when doing PG training. I just can't seem to do anything in proper order.

6:05pm. Think about it, how do I readjust the index. I had this problem and its solution while thinking about how to generalize draw.

But for that I need the masked out values.

Can I project out the value backwards.

f[x] = 0
f[y] = 1
f[z] = 2

Therefore...

f[0] = x
f[1] = y
f[2] = z

It is actually super easy!

I just have to index back into original permuations array.

For an array of actions, all I will do is serialize them to ints.

;[Call;Fold] would be ;[3;4]. I'll use that as indices into the output of the final layer and project that to a new tensor that has 2d. I'll turn that intro a distro, sample from it, and index back into the permuation array and recover the original index. Then I can deserialize it.

This is great!

6:10pm. Ok. I see how to do training. In my own game, the one in the old Spiral I mean, I did not need to apply a mask.

6:40pm. Had to take a break.

I am still thinking about it. Right now I am thinking how to process inputs. Let me stop here as I am hungry.

I really meant to get the random agent done today, but given the hour, that is not going to be happening. Now that I've planned it out, I should do it at my own leisure tomorrow.

I've thought about how to do the game, and various aspects of it.

I'll separate that from what should come in and out of the network itself.

First I will take care of the net. Then I will take care of integrating it with the game itself.

By take care of the net, I want to make a function that takes in a net and returns a function that takes in a tensor and returns the output action. I also want to make a function that takes in the input, processes it and maps it to a tensor.

So what I need to do is make a function that takes in a net, takes in a trace of observation and produces the output action. That is what is truly important. Let me stop here."


Wednesday 2021-02-17 18:33:47 by Greg Kroah-Hartman

tty: mark Siemens R3964 line discipline as BROKEN

commit c7084edc3f6d67750f50d4183134c4fb5712a5c8 upstream.

The n_r3964 line discipline driver was written in a different time, when SMP machines were rare, and users were trusted to do the right thing. Since then, the world has moved on but not this code, it has stayed rooted in the past with its lovely hand-crafted list structures and loads of "interesting" race conditions all over the place.

After attempting to clean up most of the issues, I just gave up and am now marking the driver as BROKEN so that hopefully someone who has this hardware will show up out of the woodwork (I know you are out there!) and will help with debugging a raft of changes that I had laying around for the code, but was too afraid to commit as odds are they would break things.

Many thanks to Jann and Linus for pointing out the initial problems in this codebase, as well as many reviews of my attempts to fix the issues. It was a case of whack-a-mole, and as you can see, the mole won.

Reported-by: Jann Horn [email protected] Signed-off-by: Greg Kroah-Hartman [email protected] Signed-off-by: Linus Torvalds [email protected]


Wednesday 2021-02-17 19:24:38 by JanPurchase

completed review #1

==section comment 3.3 are impairment Insight obsession\Compulsive potential labels? They seem largely malformed. What non-null values exist here? Hana added these (start of labeling) 3.4 your indexing step is superfluous as this dataset has no index column (and you have not reset the index anyway) - remember we index for traceability, so we can refer to anomalies with respect to the original dataset 3.5 added gender process for NaN genders and cleaned up gender data 3.6 you detect but don't actually remove or investigate duplicate values (minor) 3.7 I see you removed Profile URL do you not think we might scrap from here ultimately? 3.7 concerned by the 4.1 preprocessing includes punctuation by default - why? no lemmization or stemming? 4.1 your punctuation handling does not allow extraction of contractions (i'm) 4.1 your tokenizer only processes the first line (hence the small result size) 4.2 n-gram analysis; missing frequencies 4.3-4.4 word frequency analysis seems too small because it only includes the first line 5 observation length distribution seems smaller (char and number of words) than my toy dataset 5 what is a lexical dispersion plot - looks interesting! 5 got dispersion plot working 6 TTR distribution more useful as histogram or KDE


Wednesday 2021-02-17 21:12:51 by James Lillicrap

+Fuck you Mike

menu is now effectively a pause menu


Wednesday 2021-02-17 23:38:15 by Rakeela

update 2021-2-17-Thirty-Second.md

I actually love the chaos that I've been through, and I find it hilarious that I managed to have such an adventure while mostly refusing to leave home. I once got assaulted right outside my house!


< 2021-02-17 >