text:
---
title: Prerequisites
subtitle: Getting your environment ready
nextstep: 2-newstack
nofeed: true
weight: 1
---

By following this hands-on lab, you will learn the basics of Pulumi and its Azure provider by deploying real cloud resources. Therefore, several tools are required to go forward.

#### Azure Subscription

You need an active Azure subscription to deploy the components of the application. The total cost of all resources that you are going to create should be very close to $0. You can use your developer subscription, or create a free Azure subscription [here](https://azure.microsoft.com/free/).

Be sure to clean up the resources after you complete the workshop, as described at the last step.

#### Azure CLI

We will use the command-line interface (CLI) tool to log in to an Azure subscription and run some queries. You can install the CLI tool, as [described here](https://docs.microsoft.com/en-us/cli/azure/install-azure-cli?view=azure-cli-latest).

The tool is cross-platform: it should work on Windows, macOS, or Linux (including WSL).

After you complete the installation, open a command prompt and type `az`. You should see the welcome message:

```
$ az
     /\
    /  \    _____   _ _  ___ _
   / /\ \  |_  / | | | \'__/ _\
  / ____ \  / /| |_| | | |  __/
 /_/    \_\/___|\__,_|_|  \___|

Welcome to the cool new Azure CLI!
```

Now, login to your Azure account by typing `az login` and providing your credentials in the browser window. When this is done, type `az account show`:

```
$ az account show
{
  "environmentName": "AzureCloud",
  "id": "12345678-9abc-def0-1234-56789abcdef0",
  "isDefault": true,
  "name": "My Subscription Name",
  "state": "Enabled",
  "tenantId": "eeeeeee-eeee-eeee-eeee-eeeeeeeeeeee",
  "user": {
    "name"<EMAIL_ADDRESS>    "type": "user"
  }
}
```

If you have multiple subscriptions and the wrong one is shown, [change the active subscription](https://docs.microsoft.com/en-us/cli/azure/manage-azure-subscriptions-azure-cli?view=azure-cli-latest#change-the-active-subscription).

#### Pulumi CLI

Pulumi provides a CLI tool that drives cloud deployments from the machine where it runs. It is a cross-platform executable that has to be accessible on the system's `PATH`.

Follow [this guide](https://www.pulumi.com/docs/get-started/install/) to install the Pulumi CLI.

Alternatively, you can [install Pulumi with Chocolatey](https://chocolatey.org/packages/pulumi/): `choco install pulumi`.

Run `pulumi version`, and you should get a response back:

```
$ pulumi version
v1.1.1
```

#### Node.js and TypeScript compiler

We will write Pulumi programs in TypeScript. They will be executed by Node.js behind the scenes.

It's quite likely you already have node installed. If not, navigate to [Download Page](https://nodejs.org/en/download/) and install Node.js with npm.

If you have npm installed, you can install TypeScript globally on your computer with `npm install -g typescript`.

#### Text editor

Any text editor will do, but I recommend one with TypeScript syntax highlighting. The most common choice is Visual Studio Code.

#### Note: Azure Cloud Shell

If you don't want to install any software on your workstation, you can complete the entire lab in [Azure Cloud Shell](https://azure.microsoft.com/en-us/features/cloud-shell/). It's a command-line tool available within your Azure portal, right in the browser.

Azure CLI and Visual Studio Code are pre-installed in Cloud Shell, just type `az` or `code .` to run them. The Pulumi CLI can be installed as described above.

Traditional out-of-browser tools are still likely to provide a better development experience.

## Checkpoint

You are good to go if

- You can type `az account show` and see the details of your target subscription.
- You can type `pulumi version` and see version number `1.x` or above.

repository: mikhailshilkov/mikhailio-hugo

repo_name: mikhailshilkov/mikhailio-hugo


text:
ZFS Prune Snapshots Changes
===========================

Not Yet Released
----------------

(nothing yet)

`v1.5.0`
--------

- Sanity check datasets existence before running
 - `-q` will hide warnings for datesets not existing
 - Based on ([#9](https://github.com/bahamas10/zfs-prune-snapshots/pull/9))

`v1.4.1`
--------

- Allow snapshot datasets to contain spaces
  ([#18](https://github.com/bahamas10/zfs-prune-snapshots/pull/18))

`v1.4.0`
--------

- Show snapshot size (used) and number of snapshots processed (6e3891ddd1)
- Add list only option (`-l`) to just list datasets that match (e4ba772f2c)

`v1.3.0`
--------

- Add recursive deletion option (`-R`) (482420faba)

`v1.2.0`
--------

- Add zfs binary check ([#8](https://github.com/bahamas10/zfs-prune-snapshots/pull/8))
- Support inverting of prefix/suffix match (`-i`)
  ([#17](https://github.com/bahamas10/zfs-prune-snapshots/pull/17))

`v1.1.0`
--------

- Support suffix matching (`-s`) (e7aa72160f8)

`v1.0.1`
--------

- Allow passing DESTDIR (6de152a168)

`v1.0.0`
--------

- Initial Release

license: MIT

branch_name: refs/heads/master

extension: md

gha_language: Shell

gha_license_id: MIT

license_type: permissive


text:
# cppnbstripout [![Build Status](https://travis-ci.com/paulgessinger/cppnbstripout.svg?branch=master)](https://travis-ci.com/paulgessinger/cppnbstripout)

## Building
This project uses a submodule for [`nlohmann::json`](https://github.com/nlohmann/json) and CMake for building.
You need to `git submodule init` and `git submodule update` or use `git clone --recurse-submodule`.

Then, you can run

```bash
mkdir build
cd build
cmake ..
make
```

to build.

## Installation as git filter
First of all you need to build the project as described above.
In any git repository, you can then configure it as a filter driver like

```bash
git config filter.cppnbstripout.clean '/path/to/cppnbstripout'
git config filter.cppnbstripout.smudge cat
git config filter.cppnbstripout.required true
git config diff.ipynb.textconv '/path/to/cppnpstripout'
```

Additionally you will have to create a `.gitattributes` file (or append to it) with these lines:
```
*.ipynb filter=cppnbstripout
*.ipynb diff=ipynb
```

repository: paulgessinger/cppnbstripout

repo_name: paulgessinger/cppnbstripout


text:
---
layout: post
title:  "A Summer at Riot Games"
author: grace
categories: [ women, career, riot, gaming ]
image: assets/images/posts/20191229/esportsdigital.jpg
featured: true
hidden: false
---
This post was originally titled "Goodbye, Riot" and I had written a draft after
returning back home from Santa Monica, CA and missing Riot. It had been the best summer of my life to date.
Let me tell you a bit
about why, what happened during my summer, and why I'm returning to Riot Games
full-time next year. I hope this post is useful particularly to anybody
considering work at the company.

Here's the outline I'm hoping to follow.

1. A bit about myself
2. How I became interested in Riot
3. The Kotaku article and what I experienced while I was there
4. The upsides and downsides
5. What I did
6. Why I'm coming back
7. My words of advice for a Rioter-wannabe
7. Some funsies

# Let me first tell you about myself and gaming.

I struggle with identifying as a gamer. My older brother was the one who planted the seeds
for many aspects of my personality -- my childhood music taste, television shows I watched, and anime I enjoyed
were hand-me-downs from him. We weren't particularly close, but were similar out of proximity.
Between the two of us, he was the gamer. He owned a few Gameboy consoles and when my parents
bought him a Gameboy SP, he'd sometimes loan me his Gameboy Advanced to play games like Golden Sun II and Spyro
(my parents had bought the game for him just based on pictures, so he had a thrift shop of a collection with nonconsecutive,
random jumps in series). But mostly, I enjoyed watching him play games. There's a picture of us as children that my parents took
of us two on a couch, me leaning over and watching over his shoulder as he plays on his Gameboy. Later,
when he moved on to playing PC games, since we only had one computer, I'd sit by him and watch. I especially loved it when he played
Red Alert: Yuri's Revenge as I could watch the minimap for Kirov Airships and warn my brother, or, when Cabin Fever was released
in Combat Arms, my brother would take the door next to the basement stairs that was and I would watch the minimap and warm him for
special zombies (there were dasher zombies that needed to be taken care of first) and also when zombies would come bursting in from
the basement (so he could just focus his attention on shooting and the main doorway).

It was a lot of fun. But I never played much myself. So I never thought of myself as a gamer. There's some classics
gamers cite and reminisce in among themselves, like Skyrim, Diablo, World of Warcraft, Runescape, etc.: games I've never touched.

It was only when I got into StarCraft II that this changed. I've talked a bit about it
[here](https://tl.net/blogs/410147-thanks-for-changing-my-life). To be honest,
I cringe a bit whenever I read this so I'd like to preface this by noting that I was
a sophomore (?) in high school at the time. But, it's a pretty thorough account (vs. my present-day account
which has suffered from a few visits by the eraser in my mind).

I played Zerg and first
started laddering by following Apollo's Bronze to Diamond series where he would take fresh accounts
and talk through how he'd scout, make build decisions, and general tips for all of the match-ups. I played on my father's old work computer,
a dinky Thinkpad with an unregistered copy of Windows (I couldn't even change the background
because it wasn't a registered copy of Windows, so it perpetually had a black background). I was welcomed
by my crush into his friend group, and I discovered a group of sure, tweens who were a bit edgy
and slightly misguided, but also incredibly genuine, determined, passionate, and loyal.
We called ourselves the "Gentlemen of the Revolution", and we would have LAN parties, discuss
philosophy, Watchmen characters, real-world events, our "dark and tragic" backstories, and sheepishly
come to school the next day sleepy from Skype calls that went on far too late. The best discussions,
the ones that were the most genuine and from the heart, always came after 2am, we'd always say.
We'd watch Day9 together, and so while it's pretty amusing for me to look back and remember that it was
a crush on a boy that got me started on StarCraft, it'd be a pretty fun story I think for the Day9 community.
My Felicity, in a way.

When we entered high school, we started a team to compete in the High School StarLeague (HSL).
My friend and I founded the club, and although it later on fell apart for various and rather
regrettable reasons (and I was thinking of discussing more about that and my experience in gaming and the HSL in
another post), we competed for two years. In that second year, Oakton High School took third place in the nation.

I loved StarCraft. It was a huge part of me. I wouldn't say I really identified as a gamer
or in the gamer community, but I identified as a StarCraft player and as a member of the
StarCraft community. It felt dignified, intelligent, funny, and smart. Day9's StarCraft manifesto
put it into words better than anything else I've ever seen, and I won't even attempt to
do any better (because I know that's probably impossible):

> We are more than stereotypes. We are adventurers and doctors, engineers and entrepreneurs, journalists and lawyers, scientists and students. We are smart, ambitious, and competitive. We are gamers.
>
>We believe society has forgotten how to play.
>
>Play keeps us sane in our daily lives. Play keeps us curious, imaginative and directed. It teaches us to learn from our mistakes, to constantly improve, and to stride forward – battling through failures on our road to success.
>
>Play develops relationships and communities. We have fond memories of growing up playing games with our friends and siblings. The gaming experience bonds us together now, as it bonded us then. We discover friends, partners, and spouses while gaming. We game with our children. We transcend international borders when we play.
>
>We believe that our game, StarCraft, is the chess of our generation. StarCraft requires the dexterity of a pianist, the mind of a chess grandmaster, and the discipline of an Olympic trainee. We believe that our game, StarCraft, is as dynamic and exciting a spectator sport as any other. We fill auditoriums to cheer on our favorite gamers. Most of all, we believe our game, StarCraft, is a beautiful platform for play. Whether you’re a veteran, a newbie, male, female, a parent, a student, or a total nongamer, you too can join in the fun.
>
>Our community is smart, supportive, funny, irreverent, international, insightful, and intolerant of bullsh*t.
>
>We think you should be one of us.

We fell apart from issues that had started to plague the entire StarCraft community --
fears of the game being "dead", Blizzard seeming to neither care nor listen to concerns about
broken late-game compositions meaning that competitive play was starting to be less exciting
(I play Zerg, and I admit that broodlord-infestor was ridiculous), and this sort of "superior"
attitude that the StarCraft community had versus other games. For example, League of Legends,
a game which had been taking off in popularity, was considered to be "easy", "mindless" --
it didn't require any of the grand and complicated builds that StarCraft had required, its APM and micro
demands were childish in comparison to bonjwas masterfully controlling both macro and massive armies, and people
were resentful during gaming events when the League of Legends crowds would cheer so loudly they'd bleed
into the StarCraft livestreams.

People had wanted our club to become a general "Esports Club", but my friend and co-founder had
disagreed. When people were playing other games that weren't StarCraft, there was constant pressure
and almost accusatory remarks of -- "You're playing League of Legends? Why aren't you practicing StarCraft?" --
in addition to unrelated and unnecessary personal comments such as insinuating they were "dumber" for not playing
StarCraft.

StarCraft had been wonderful when we had our entire little friend group built around the game. It was so much fun.
I one time played on Husky's Arcade w/ Subs games (I was the MVP zergling, but alas, Husky has since
removed all of his StarCraft videos which I'm honestly still a bit bitter about -- that's StarCraft history he just
essentially erased in one fell swoop). We did Funday Mondays. Linked TeamLiquid posts and Reddit posts about
funny clips or images (I remember one of my favorite images was one of Life during an interview where two microphones
were unfortunately placed right over his eyes). I dreamed (I know, silly) of possibly even being a professional StarCraft
player someday.

But StarCraft stopped being fun in our junior year of high school, and the club fell apart. I never looked back.
As an act of almost rebellion, I made a League of Legends account and started playing. So it's been ever since. It's what gaming always was supposed to
be at its core for me: fun.

# Why Riot?

I graduated high school as a pretty "OP" student. I had perfect grades, an essentially perfect SAT score,
and was a prolific debater and Science Olympiad competitor. I didn't do it for the applications though -- I really did just
do those activities because they were fun, I enjoyed school and genuinely looked forward
to every day.

I later on went to study computer science at Carnegie Mellon University. Why computer science?
Honestly a cheesy answer, but it's because I wanted to better the world and it felt like
computer science was a field that just held so much promise and open roads. I still want to
do some good in this world. But, increasingly, I'm feeling like a wide-eyed newborn deer
with awkward and unsure footing and wobbly knees. The more I learn, the more I realize I only know a modicum of what this world has to offer.
So for now, I'll focus on trying to be the best software engineer I can be. But I won't lose sight of this
goal of mine. Or, at least, I hope I don't.

At this point, I never took League of Legends seriously and never tried to get better at the game. I played
quite a bit (mostly normals and ARAMs), but mostly I just
watched professional games -- I started watching in Season 2, and remember the debut game WildTurtle had on
TSM with his famous Caitlyn pentakill, securing himself the spot and the final nail in Chaox's coffin. I loved
TSM. They were the embodiment of everything I had loved about gaming in the past -- just the _fun_ I had with
my old friend group, and watching their GameCrib videos wrought a sort of bittersweet nostalgia
in addition to the laughs.

![Meeting Turtle](https://github.com/gyyu/gyyu.github.io/raw/master/assets/images/posts/20191229/turtle.png "Hugging WildTurtle! Fun fact, I cried right after this.")

Gaming -- or rather, StarCraft -- was sort of like an origin story to me up to this point.
It didn't feel like my current self. I felt like it was an important part of my identity, but
it wasn't the front and center of my life. There were others I had met at CMU where gaming
did feel like the center part of their life, and they were studying to become game designers,
wrote game design critiques, and seemingly lived and breathed the craft. Me? I didn't have much to say
besides that I used to be well above-average at StarCraft II, but that's about it. Nothing to see here.

I was walking around during my freshman year when I saw a flyer for a Riot Games information session. I had
been looking for an internship, and seeing that Riot Games was coming intrigued me. I looked them up,
and what I saw hooked me in -- their front page immediately and almost obnoxiously broadcasted this "Riot Manifesto",
which was so similar to the Day9 StarCraft Manifesto I remember musing to myself about whether it had
just been straight up copied. But, as I learned more about the founders, I realized they were huge StarCraft fans.
It was a tribute to Day9.

They were like me. I didn't know anything else really about the company, but in that moment, I felt like I wanted to
work there. Whoever was there, they were must be people like me -- people cut from the same cloth. I'm
sure I would fit in and enjoy myself. I wanted to meet them.

I remember attending the information session and being totally in awe. The recruiter --
I still remember his name, G.C. -- was totally unabashed about how proud he was seemingly
to work at Riot and _belong_ to the company. He talked about the Manifesto, and I remember walking up to him afterwards and
introducing myself and having a conversation about Day9 and StarCraft with him. He left me his business card and contact information.

I emailed him excitedly after the session, but never got a response. I tried to connect on LinkedIn as well,
but the same response -- none at all.

Well, I was disappointed. But, I moved on and looking back at it in my junior year, it had become an
insignificant memory. I became the president of the CMU Debate Team, joined as a Teaching Assistant for
our functional programming class, and later on interned at Uber ATG doing software engineering on the
Scenario Engineering Team under the Simulation Department.

I remember being extremely stressed finding an internship for the summer after my sophomore year, but much to my surprise,
I had already started getting emails for junior year summer internships
beginning in July/August. I supposed that people were right -- searching for jobs would become easier once I got older.
I was scanning through my emails one day when a particular one caught my eye: it was from somebody named
M.H., inviting me to apply to Riot Games.

At that moment, everything had come flooding back into me. I was so excited. I replied back,
enthusiastic, ecstatic -- yes! I'd love to apply! I'm interested!

It turns out M.H. had also been involved with the HSL/CSL organization and TESPA, and
we bonded over this common connection. I started my interviews with Riot Games, and right after I had been informed
that I had passed the first round, the Kotaku article came out.

# The Kotaku Article

If you have never read the Kotaku article, you should. [Here's the link](https://kotaku.com/inside-the-culture-of-sexism-at-riot-games-1828165483). The article details
a culture of sexism that had manifested its ugly, rearing head at Riot Games; the article describes how "gamer bro culture" had contributed to a workplace at Riot Games that was falsely
called meritocratic (claims of meritocracy that had attracted me to want to work there) but in reality was toxic and unwelcoming to women.

It was heartbreaking, honestly. I felt incredibly disillusioned. Riot Games had been my dream place to work. I ended up calling M.H., and we had talked for a while about
what was actually going on at Riot Games. When I had made it to the on-campus interview round, I was upfront and asked each interviewer about their
experience (the panel of three interviewers included one woman). The responses I got acknowledged that what the article talked about was problematic,
and every person made sure to validate the accounts that were given in the article, and everybody was understanding of my hesitation and apprehension I had
felt about potentially working at Riot Games. My friends who, previously had been extremely excited and impressed,
were now wary of my potentially working there -- one of them, while we were duoing, had said to me: "Grace, if you have any respect for yourself
as a woman in this field, you shouldn't go there.

But somehow, I still felt unsure. I believed everything I had read. I could understand it. I thought back to my experience
as (to my knowledge) the only girl competing in that season of the HSL. They had put
our real names on the HSL website, and with my name being "Grace" (a generally female-identifying name),
I remember playing matches and having people message in-game: "Is there a girl on your team?", "Is she cute?", "Which one is she?", or
on occasion, "Is she a real girl?" (this during the time right after Scarlett had publicly transitioned, and the community and Twitch chat was
frequently disgustingly transphobic). I have many thoughts about women in gaming, and I'll likely write about that in
a separate post, but I was intimately familiar with the gatekeeping mentality of not being "gamer enough". In reality, very few gaming
communities are like Day9's utopia. Take a look at r/gaming and other game-specific subreddits, or jump into a Twitch chat for any
major gaming event. Whenever I met somebody who was a gamer, I was quick to pull out my sort of "gamer credentials ID": I had played StarCraft II
(a _real_ game, and it was a 1v1 game that nobody could boost me in) and I was highly ranked (I was actually _good at the game_), and not only that,
but I used to compete in a league for it (I'm a _serious_ gamer).

I remember actually talking about this in a 1:1 I had with one of my teammates,
about how I always feel a need to immediately validate myself whenever I'm around a group of gamers, like
preemptively showing a bartender my ID to verify I'm old enough for a swig. It's like I'm always anticipating that sense of
people believing I don't belong, and I always feel a need to assert my "gamer-ness". With playing League of Legends,
whenever I told people how at the time I was Silver, I'd preface it with how I didn't really play competitively (but, in the past, I did, and with a really
hard and legitimate game!) and although I enjoyed playing Support, I always put my primary role as ADC whenever I queued and told others
that's what my main was.

Not only that, but I also remember first coming to CMU and feeling such an overwhelming sense of intimidation, lack of confidence,
and sense of not belonging by witnesses the sheer capability of what felt like everybody surrounding me. I know what imposter syndrome is like.
I feel it all the time. In the gaming community at least, I had a
few cards I could play to assert that I did belong, and perhaps I could even argue how I belonged "more" than some others. I've had people meet me and
hit on me as this "dream gamer girl", or accuse me of putting on makeup just for attention (for this reason, I don't think I will ever stream). From my experiences in
the HSL, I've learned that the easiest way to cope (for me) was to just lie low and never identify as a girl online. But, I found myself
gatekeeping other girls from the field: I remember watching the Team Siren promotional video and condemning them as attention whores,
growing angry at girls who were streaming with visible cleavage and considering them to just be Kaceytron rip-offs who were just there to attract a few more viewers,
and girls who would correct people saying things like "glhf boys" with "actually, I'm a girl" got an immediate mute from me in-game. I even
victim-blamed a bit: for girls who had suffered harassment after joining voice communications, I would condemn them for even joining the chat in the first place.
If you're a girl gamer, you should just know that that's clearly something you shouldn't do, and I had no pity for somebody who had essentially brought it on themselves.
I had a difficult dual-consciousness I had to internally reconcile with, because I also understood and had experienced first-hand the shameful reality
of how women were treated in the gaming community. It's an omnipresent force, and from even just logging into the client and looking at champion portraits, it's clear to anybody
how oppressive and sexualized the space that women in gaming are forced to exist in is. I had refused to acknowledge the very issues I was a victim of, and as a result, failed to
even be an ally to myself. But, when what my trade was, when what I loved to do came face-to-face with what I enjoyed the most, when my career intersected with the
gaming community, I couldn't just ignore my position as a woman who was both a software engineer and a gamer. How could I want to work at a place
that had a history of denying people like me a space to be myself, to deny people like me an opportunity to grow, to deny people like me even a chance to thrive? To invalidate
women, discriminate against women, and invalidate good, honest work that was done by women for the gaming community is a monumental disservice of the highest degree to women who are fighting
the right fight to have credit be given where it is due, and to the gaming space as a whole. Because this gaming community needs us. This gaming community was built on the shoulders of
mostly men, but there were women among there too who were putting in more than their fair share of work even in the face of discrimination that was masked behind bro-culture gatekeeping,
and if this community wants to thrive, improve, and grow, it needs women. They need women. They need us. This is an unalienable truth that the gaming community cannot deny. It is a disservice to
the gaming community to treat women in this way. Gamers are doing a disservice to themselves by treating women in this way.

But at the same time, it was my dream place to work. I loved gaming. The person that I was had been shaped by my gaming experiences; the friends I surrounded myself with were
born out of my gaming experiences; so much of the happiness I had experienced so far in my life came from my gaming experiences.

So, I took a chance. I remember two summers ago, I had cut off all of my hair into a pixie cut. Why? Because I had always wanted one, but I was afraid of
whether it would be flattering. But, as long as I had never experienced it, I would constantly think to myself about the "what-if". What is the worst
that could happen? I'd have to grow my hair out, but afterwards, I'll never think about wanting a pixie cut again. And, I did it.

I decided I wanted to go, to at least owe it to my younger self to see first-hand and experience what it is like to work at Riot Games. Perhaps it'll be terrible,
and worst case, it's only a summer and then that'll be it. I'll know my end date when I walk in. And in the _really_ worst case, I could quit early. This was highly unlikely,
but it was possible.

And just like that, I became a part of the Class of 2019 Summer Interns.

# This is what I experienced.

When you first join Riot Games, you go through an orientation period known as Denewb (Riot is full of these sort of cute names and conventions).
I met other interns, and there were actually a few who had no experience playing League of Legends (but, the intern program leaders had reached out to them
to help them set up accounts and get started playing the game). As a person who played League of Legends, I loved it. I loved walking in and seeing a giant
Tibbers and Annie statue to immediately greet me; I found it cute that the program was called "Denewb". But, I also noticed how those running the program took
care to explain this gaming vernacular that I was already fluent in.

The intern program's Denewb lasted for a few days. The purpose of the program is, in my opinion, to find a vocabulary that everybody
knows and understands before we fully join Riot Games. This includes an understanding of the company's culture and a mutual understanding of
what to expect from others (and what others are expecting from us), and to align ideas about who Riot Games is. Of course, there was also quite a bit of fun
and simply getting to know each other: we played in-house games in the PC Bang on Howling Abyss, played ice-breakers and shared stories about each other,
and learned about
the history of Riot Games (they have an interesting section where they discuss all of the company's previous mistakes).

And, of course, we talked about the Kotaku article and the diversity and inclusion initiative at Riot Games.

One of the few things I noted about Riot Games was how openly people discussed the topic, and genuinely wanted to engage discourse. It wasn't just
mediated conversations with an overlooking D&I leader; even in quotidian conversations it was something that I and fellow interns had organically started talking about
beginning
at our Memorial Day BBQ right before our first day.

I definitely walked in as a cynic, and I perceived with a raised eyebrow the almost positivity that Riot discussed its culture of sexism with. Essentially, Riot acknowledged that they had
made mistakes but instead were focused on bettering the company and becoming a more diverse and inclusive space. They saw this as an opportunity to become a
leader in the space, and I remember even hearing once from a person in Denewb that it was a positive thing that the Kotaku article had been published, because now Riot's culture had changed
and it was now a chance to improve and grow. There had been a number of action items that had been completed since the article, including
a revision of the Riot Games Handbook (think of this as an employee handbook) which included new policies that helped combat some of the factors that contributed to the sexist swamp that had been
Riot's culture, such as guidelines about dating in the workplace, and mandatory Ally Training classes (which the interns also had to complete). The treatment that Riot gave to D&I issues during
Denewb excelled in successfully stressing its importance, having humility to acknowledge tremendous mistakes, and also portraying it as a current and salient issue, not just one from a "Riot of the past".

But, I remember first coming in and still feeling quite unsatisfied. The Chief Diversity Officer, Angela Roseboro, came in for a Q&A session with us in which some interns pressed back
hard about the fact that Scott Gelb was still hired at Riot Games. I remember Angela defending him and appealing to empathy, and how in fact Scott had spearheaded many of the D&I efforts at Riot
and was a strong ally for D&I at the company. But I felt let down about this response. I can acknowledge that people change (although I still have some reserved feelings about what feels like
a person turning over a new leaf only because he was exposed, and the outrage lit a fire underneath him to get his act together), and he can do good, and he is probably a human who isn't
fully deserving of the extent to which he is demonized, but all of this seemed tangential to what our dissatisfaction was. It's not about what kind of person Scott is. He could be a saint. It's
instead about accountability. It's about sending a message. How can somebody do such actions, and suffer only temporary consequences that will come and pass and remain in a position of power,
while victims will still suffer from the consequences of what they experienced for the rest of their lives? It's not about what he's like now. It's about holding those who acted in
detestable ways accountable. Your actions have consequences, no matter who you are.

That's problematic on an incredible number of levels. You are no longer at a place that's equitable and fair. There's at least one person among you who is a god.

I left Denewb appreciative of the honesty and openness that Riot had towards its problems, but not completely satisfied. It was only after I met my team and started having conversations with
individuals, one-on-one, that I started to feel more positively about the company.

To give some context, I was a software engineering intern on Esports Digital's Gateway team. I was the only woman engineer when I started (there were two other women, one who was a development
manager on my team, and another who was a product manager on Esports Digital's Rewards and Achievements team, but they later on switched internally to other teams that better fit
their career goals after our six-month milestone passed), and was the only woman in the entire initiative by the end. When I return, I will be the first female engineer the team has ever had.

My mentor was M.W., and he was four years older than me (and so was the same age as my older brother). He was an associate software engineer when I first started
(he was promoted while I was there), and was just incredibly kind, empathetic, and supportive. He was knowledgeable and always gave me actionable feedback, and
was constantly in communication with me about my progress, but also about how he could be doing better as a mentor. We had weekly 1:1s (we had a very similar walking pace, and so we'd have time
for two complete loops around our building taking almost exactly 30 minutes to the dot), and I remember one of my first experiences that made me see him in a different light was when I was
talking to him about my experience playing StarCraft II in the HSL. He had said to me, "I'm sorry you experienced that sort of sexual harassment". I told him later on how
that had taken me aback. I had literally never considered it to be harassment, because I was so ingrained in the gaming community I knew that, well, it seemed like just "boys being boys". It
was just how women in gaming were treated. It took me aback, because while we worked at a gaming company, M.W.'s standards for what was and wasn't acceptable behavior wasn't the standard
of the gaming community. It was the standard that somebody who was a decent human being had, and how I treated wasn't just "gamer bro culture" -- it was harassment. He identified and called
it exactly what it was, when even I had never done that.

M.W. continued to be an amazing mentor who was pretty involved with the Riot community and culture, and I had asked him what he had thought
when the Kotaku article had come out and also about the walk-out. I remember one time looking over and seeing him reading the
[one year follow-up](https://kotaku.com/riot-games-and-sexism-one-year-later-1837041215) Cecilia (the author of the first Kotaku article) had written about Riot's improvements.
I frequently saw this, and noted how he seemed very invested in Riot and its culture. It was a totally different experience from what I had seen at any other company. I asked him if he thought
about quitting. I asked this question to many people: I asked it to H.S., a senior software engineer on our team who mentored me quite a bit (and sends me very cute pictures of his cats),
and also to M.K., one of the university program members. Pretty much all of them had said yes: they had seriously considered it. It mattered to them. It had been heartbreaking. They didn't
blame those who did leave. But, they had chosen to stay because they believed that Riot could do better.

There was one thing H.S. said (there are many things H.S. says that makes me see things differently) that really struck me. This culture of sexism at Riot that was revealed by Cecilia in an
article she published on Kotaku could have just as easily been about any other gaming company. It's not just a Riot problem. To call it just a Riot problem, and not a gaming industry
problem (or tech industry problem) is dangerous. We have to acknowledge that uniquely good and bad actors don't exist: that because Riot was exposed as a "bad actor",
this didn't clear the name for other companies that didn't have an article published about them. It doesn't validate any other company in this space. This is a problem that every company
is complicit with. This isn't to dismiss what happened at Riot specifically as commonplace; this isn't to invalidate the very real and damning accounts that were detailed in the article.
That is what transpired, and it transpired at Riot. It was heartbreaking to acknowledge this about a place they had grown to love, and to also introspect and bear some of the implicit
responsibility that comes with contributing to such a space. But, they wanted to stay and fix that. Riot was a place they loved. Because they loved it, they wanted to see it do better.
If every good person who cared left Riot, there would be no hope for Riot. The company needs people like M.W., H.S., and M.K. to stay and be solid allies for the work ahead. They are people
who are unafraid to identify and call things out for what they are, and unapologetic in holding those around them accountable.

They really cared. I also had a 1:1 with Victor, a researcher on my team, who had been closely involved and supportive of D&I efforts at the company and had even introduced me to
another person who had helped organize the company walkout. They cared, this mattered to them, and they listened to me. Genuinely listened to me, validated my experiences and
thoughts, and connected me with others who would be strong figures to get to know.

While I was there, Riot published [this video on internship mentoring](https://youtu.be/uubRwv9b-_w) and at 0:38, you see two people, Y.C.T. and S.S., who appear on screen. Y.C.T. was S.S.'s mentor, who was an intern
on Esports Digital the summer before. S.S. had actually returned, and I knew both Y.C.T. and S.S. (and sat right next to them). Y.C.T. is a strange person, but he's genuinely kind, a hard worker,
and extremely funny. S.S. was just a year older than me (and so was the person on the team I most saw as a peer), and has a way with talking that's very warm (he always mentions your name in questions, like "Did you have fun today, Grace?") and has kept friendships from high school strong (including his girlfriend, who he started dating in high school, had been long-distance with
throughout undergrad with one person in southern California and the other in Georgia). I dyed my hair for the first time during the summer. I decided to dye it an ashy color, and I told S.S. about this. He then came to work the next day with temporary dye in his hair, and nonchalantly greeted me when I walked in. I laughed so hard that day. I've gone to that exact smoothie bar where
Y.C.T. and S.S. are chatting with my mentor for a 1:1. My team might be all men, but they are all allies. They've treated me with so much respect and kindness, and there hasn't been a day that's
gone by where I haven't laughed hard about something (apparently many people in the building know who I am because I laugh so loudly and frequently).

![YT Comments](https://github.com/gyyu/gyyu.github.io/raw/master/assets/images/posts/20191229/comments.png "The comments on the video")

These are the comments on the video I mentioned above. I remember feeling upset and frustrated, and talked with M.W. who felt similarly. I felt almost defensive of Riot, and it was the
first time I had this moment where I felt like I was a part of Riot, and everybody else was an outsider. It was the first time I felt like a Rioter.

I remember I had a 1:1 with M.K. at the end of the year, and we talked not only about the internship experience and feedback for the program, but also about my own personal thoughts
about the Kotaku article, the culture of sexism, my past in gaming, and the conversations and people I had met along the way. I remember it being a pretty emotional conversation,
and I remember tearing up and thanking him (and the rest of the team) for giving me the opportunity to come to Riot and spend my summer there. He had responded by instead emphasizing,
"No, thank _you_."

It wasn't just him that told me this. Several people told me this, about how I had contributed to Riot's culture in this meager three months I had been at the company -- it really
made me feel like I belonged and like I was wanted. I still had a lot to learn and prove for myself, but some of my last few moments at Riot Games were that of feeling completely and
wholesomely welcomed.

I came in wanting to see what it was truly like to work at Riot Games. I left knowing what it was like to be a Rioter.

![Riv and me](https://github.com/gyyu/gyyu.github.io/raw/master/assets/images/posts/20191229/riv.jpg "Riv and Me")

Since I worked in esports, I frequently ran into esports personalities and prominent figures, and every single time, I'd freak out (I got made fun of so much for this by my team). I
once ran into Riv when I got locked out of the building, and he let me in. I had (as usual) freaked out at talking to him, and he asked me if I wanted a picture, and I declined because
I didn't want to delay him. When I told my team later on, they laughed and asked me, "How could you turn Riv down?" I had panicked and realized wait, that's exactly what I had done. I was
just being courteous! Of course I wanted a picture. Right before I left, I asked Riv if I could get a photo with him (I was so nervous to ask). Here's the picture we took. We chatted a
little bit (he agreed to meet me backstage despite casting for an event, hence his get-up) and even he knew me from my laugh! Riv, I want you to know
you're my favorite caster.

Also, I owe many thanks to L.A. -- he helped me write the request to Riv to ask for a picture, and also came with me to go and get a picture with him. Thanks again!

# Pros and Cons

Here's my shortlist.

Pros:
* People are awesome. Both the full-timers and interns are amazing. I made some of my best friends here. I already talked a huge amount about the people here, so I won't go for too long, but it
really is Riot's highlight that probably no other company can quite beat (that together with the company culture).
* People genuinely care about Riot, and are invested in the company's culture. They genuinely always want to see Riot do better.
* The internship program is well-run. There is a lot of mentorship (and a lot of fun activities). You'll have so much fun you're going to feel a bit guilty about it because you're supposed to be
working. And how could working be this fun?
 I'm so happy the Riot Games 10 Year Anniversary reveal happened,
because now I can gush about just the awesome things that people are working about. I got to playtest some of the new games coming out, and all I can say is just, wow. We also saw a bit of
Arcane, which I am the most excited for out of the insane amount of new projects Riot is juggling. You get to be somebody who contributes to and works on the things you're a fan of -- is that not
every fan's dream?

Cons (for the ones with an exclamation mark, there's some other mixed thoughts about it though):
* There's a pretty severe gender ratio.
* (!) Riot Games still definitely has a long way to go. Take this as you will: I think this combined with the fact that people at Riot genuinely care and are working hard, and so I think there's
a lot of room for growth. But, while I was incredibly impressed by individuals I've met on Riot, there's certainly more that leadership can do to continue to steer the company in the right
direction and make longer strides.
* (!) For somebody who is a software engineer, Riot Games is no huge tech company. It's a gaming company. For example, for art, Riot is the top of the line for a career in the field. But,
when it comes to engineering, you probably cannot just ubiquitously say that Riot is the place to be. It depends on what you're looking for and what your goals are.

# What I learned

I'll probably make a separate post about the technical side of things (especially after I have a better idea of what I can and cannot talk about), but
some of the technologies I worked with are Preact, JSX, and GraphQL. I made a "Jump to Start" on VODs on the watch platform, a [new
home page for the site](https://watch.lolesports.com/home), learned about the watch platform backend, and also helped create a new article
format after migrating to a new CMS. So, I mostly worked on the front-end side -- I had autonomy though to pick what I wanted to work on or learn about, but
I chose to stay on front-end because that's what my mentor worked on (so I'd rather stay on the same tasks and learn as much as I could). Later on, I was able to
reach out to H.S. when I wanted to learn more about the back-end (and he also let me just stare at his screen as he walked through setting up a new
monitoring system). When I return to the team, that's what I'll be working on.

# I'm returning!

I've talked extensively above about the culture and people of Riot, and how I have never been happier anywhere else. But probably here are some other
reasons I also wanted to return besides that:

* There are some very talented engineers at Riot that are highly accessible. There isn't some insurmountable difference in quality of engineers between Riot and
another tech company; there are many people at Riot who have come from very well-known tech companies and have knowledge about what are "right" ways to approach
building different products and solving problems (and so it's knowledge specific to the individual, not necessarily the company). Not only that,
but these engineers are very accessible -- they are people you can ask to work with or be mentored by, and people at Riot are always super open to
feedback and having 1:1s (Riot's culture towards feedback was definitely something I found quite special).
* There's a pretty good work-life balance at Riot, and this is definitely in part to good dev processes and our team lead being on top of keeping track of the team's pulse and
what our progress so far for our goals are (and adjusting easily). There's daily stand-ups and the bi-weekly sprint pattern with a planning and retro meeting, all of which
I actually do find pretty useful for ensuring there's always plenty being tackled that we are interested in doing, but we're not being overworked (and engineers
have a lot of input into what is possible and what priorities are).
* General passion for the product. I remember when the 10 Year Anniversary announcements came out, I was so proud and was constantly telling my friends about
say how I personally knew a person who appeared on stream, or how awesome a project was sure to be. There's probably no other company whose products I'm more passionate about.
* The main thing I had heard people warn me about was that I'd be pigeon-holing myself by going into a gaming company as a software engineer, and it was better
to go to a technology company for better compensation overall (it's true that Riot can't really compete with say the giant stock options and signing bonuses that
tech giants boast). But, Riot still has pretty good engineering processes that they're improving by the day, and as H.S. put it, there's a lot at Riot
that is still left to be done: in some ways, by working at a smaller company, I'll be able to do more work and tackle more ambitious projects that a
larger company's bureaucracy wouldn't quite give me access to (or perhaps it's already been built and is mature at another place).
* Competitive compensation. Not too much more to say here.
* Santa Monica has beautiful weather. Also, it's not too far from my brother which is a nice perk.

![L33t jacket](https://github.com/gyyu/gyyu.github.io/raw/master/assets/images/posts/20191229/l33t_coat.jpg "An esports jacket I was given during my internship")

# Some thoughts for prospective Rioters (internships):

* If you are a fan of League of Legends or just somebody where gaming is something which is important to you, you will love working at
Riot. But, you don't have to be a "gamer" or be highly ranked in League of Legends or even play the game at all in some cases (a few interns
had never played the game before, but still 1) made huge contributions, 2) had a great time, and 3) got return offers) -- but I would say
(in my opinion) you should at least take gaming seriously and believe there is a really positive impact that the games and products we work on
can have on the world.
* There are some really awesome people at Riot. That's what really makes the experience, in my opinion. You're going to find good friends and good
mentors. Whether you're at Riot or not, I think that the feedback culture and growth mindset Riot encourages is a positive one to maintain whether
in your professional or personal life. I'd always recommend reaching out to people to ask them for their perspective or their two cents, and
people are always open to have a 1:1 dropped into their calendar.
* In terms of applying, Riot's internship program (this is from the perspective of a software engineering internship)
has quite a few hoops you have to jump through. There are _many_ technical rounds,
and while they are lengthy, there's nothing particularly special about them. I'd recommend any standard technical interview practice
(work through HackerRank, Leetcode, or read CTCI) and make sure you're communicating what you're doing (and often times, the interviewers
might chime in to help you a bit or give you feedback as you go). Perhaps the main thing Riot cares about is culture fit, and
at least from the internship program standpoint, it does seem like culture fit means people who embody what we'd love to call a Rioter:
somebody who is hard-working and excels at what they do, kind, friendly, growth-oriented, and believing of Riot's mission (and not just
a "gamer bro" stereotype). I definitely found that every intern was empathetic and thoughtful. It was an amazing cohort of interns. *You should
not gatekeep yourself out from applying to Riot Games because you don't think you're enough of a gamer.* If you fit the above but say, don't play a huge
amount of League of Legends, you should apply anyways --
weeding yourself out is doing a disservice to the company that would likely have loved to have somebody like you.
* Re: sexism. This is what I mostly wanted to write this post for, and I offer here just one perspective. Don't just take mine. Ask others.
I encourage you to do what I did, and find out for yourself what you believe the culture of Riot to be like and whether it's a good fit for you.
You don't owe Riot anything; you don't necessarily owe Riot a chance --  but if you're a bit like me, and perhaps your passions and interests
are a bit like me, I think you should give it a chance.
I had a very positive experience, and while I am not redeeming the company or clearing its name (I also acknowledge there is still
quite a bit of work to be done), I found a supportive environment where I could thrive. There's a [danger in the single story](https://youtu.be/D9Ihs241zeg)
and so I encourage you to find other narratives. But, I hope mine was helpful to you.

# Funsies

Here are some bonus images from my time there.

When I first joined, I got to test [Proview](https://watch.lolesports.com/pro-view/get) and so I played on the LCS stage while we made sure that the product worked as intended. Here's me
from the stage:

![Proview test](https://github.com/gyyu/gyyu.github.io/raw/master/assets/images/posts/20191229/proview_test.jpg "Look! I'm Bang!")

Here's the view from the balcony of my building:

![Sunset from my building](https://github.com/gyyu/gyyu.github.io/raw/master/assets/images/posts/20191229/balcony_view.jpg "Sunset in Santa Monica")

My mentor also made it to the finals of the Masters Rumble Tournament (Rumble is Riot's internal in-house tournament, and it's split into different leagues for Bronze, Silver, Gold, etc.).
Here's us cheering him on from the stage:

![Rumble](https://github.com/gyyu/gyyu.github.io/raw/master/assets/images/posts/20191229/rumble_finals.jpg "Go M.W.!")

I just casually ran into Kurt Hugo Schneider:

![KHS](https://github.com/gyyu/gyyu.github.io/raw/master/assets/images/posts/20191229/khs.jpg "I loved all of his Nerd Alert videos.")

My birthday passed, and then I also went to A-Frame (one of the [Worth It locations](https://youtu.be/yyv2gOHMGEc)) with my friends:

![Cake](https://github.com/gyyu/gyyu.github.io/raw/master/assets/images/posts/20191229/cake.jpg "Putting candles on the side of a cake creates an inferno, you've been warned")

![A-Frame](https://github.com/gyyu/gyyu.github.io/raw/master/assets/images/posts/20191229/aframe.jpg "AYCE Pancakes")

I also went to Anime Expo:

![AX](https://github.com/gyyu/gyyu.github.io/raw/master/assets/images/posts/20191229/anime_expo.jpg "I'm not a weeb")

![AX Badge](https://github.com/gyyu/gyyu.github.io/raw/master/assets/images/posts/20191229/anime_expo_badge.jpg "I'm really not a weeb")

And lastly, found an injured bird and took care of it on my apartment balcony:

![Bird](https://github.com/gyyu/gyyu.github.io/raw/master/assets/images/posts/20191229/birb.jpg "They grow up so fast. Goodbye, birb!")

GG Riot! Until next time!

gha_language: JavaScript


text:
# timekeeper
[![travis][travis-image]][travis-url]
[![npm][npm-image]][npm-url]

[travis-image]: https://travis-ci.org/vesln/timekeeper.svg?branch=master
[travis-url]: https://travis-ci.org/vesln/timekeeper

[npm-image]: https://img.shields.io/npm/v/timekeeper.svg?style=flat
[npm-url]: https://npmjs.org/package/timekeeper

This module mocks `Date` and `Date.now` in order to help you test time-dependent code.
Provides `travel` and `freeze` functionality for your Node.js tests.

## Features/problems

- Please note, that if you are using time freezing, `setTimeout` and
  `setInterval` won't work as expected, since they are using the `Date`
  class, but the time will not change until you call `timekeeper#reset`.

## Installation

- NPM: `npm install timekeeper --save-dev`
- Bower: `bower install timekeeper`

## Synopsis

### Freeze:

```js
var tk = require('timekeeper');
var time = new Date(1330688329321);

tk.freeze(time);

// The time hasn't changed at all.

var date = new Date;
var ms = Date.now();

tk.reset(); // Reset.

```

### Travel:

```js
var tk = require('timekeeper');
var time = new Date(1893448800000); // January 1, 2030 00:00:00

tk.travel(time); // Travel to that date.

setTimeout(function() {

	// `time` + ~500 ms.

	var date = new Date;
	var ms = Date.now();

	tk.reset(); // Reset.

}, 500);
```

Note: If traveling when time is frozen, the time will be frozen to the new traveled time.

### Reflection:

```js
var tk = require('timekeeper');
var time = new Date(1893448800000); // January 1, 2030 00:00:00

assertFalse(tk.isKeepingTime());
tk.travel(time);
assertTrue(tk.isKeepingTime());
```

## Requirements

- npm (http://npmjs.org/)
- Node.js (http://nodejs.org/)

## Tests

```
$ cd timekeeper
$ npm install
$ make test
```

## Releases
For maintainers only. `mversion` is used as a substitute for `npm version` to
simultaneously bump `package.json` and `bower.json`, create a new commit,
and a version tag at the new commit.
```
$ mversion <patch | minor | major>
$ git push --follow-tags
$ npm publish
```

## Credits

Inspired by the [timecop](https://github.com/travisjeffery/timecop) ruby gem.

## License

MIT License

Copyright (C) 2012 Veselin Todorov

Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do
so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

 IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

repository: johngeorgewright/timekeeper

repo_name: johngeorgewright/timekeeper


text:
# Server Setup

## Integration Server Setup

```shell
git clone https://github.com/jeffwmair/searchengine.git && cd searchengine/server-setup && ./integrationserver-setup.sh
```

## Simple Build/Test Server Setup

```shell
git clone https://github.com/jeffwmair/searchengine.git && cd searchengine/server-setup && ./simple-setup.sh
```
With the simple-setup script run, cd back to the searchengine root and run the following one-liner to build/test/install and run the web application:

```shell
cd searchservice/ && mvn install && cd ../indexer/ && mvn install && cd ../webapp/ && mvn tomcat7:run
```

repository: jeffwmair/searchengine

repo_name: jeffwmair/searchengine


text:
# Leetcode Swift
Leetcode swift for MacOS, arrange problems in a group fashion.

## Installation
This repository is migrated to use XCodeGen, which is to avoid merging of .pbxproj step, you need to install XCodeGen first:

```shell
git clone https://github.com/yonaskolb/XcodeGen.git
cd XcodeGen
make
```
Then, make sure that you've installed the latest version of XCode command line tool:
```shell
xcode-select --install
```
Having done all, before you can open the workspace, you have to call the following command:
```shell
xcodegen && pod install
```
And you should be able to run the project properly.
Contact @wlwallis30 if needed.


text:
# Blender-To-DayZ

Blender 2.9 addon (however, 2.8+ should be supported.) to allow development of DayZ Object builder compatible models.
Version 0.1
Save often and backup before exporting.

## Currently supports:
* Any number of visual lods. However, I have yet to test any other lod than lod1 (1.000)
* geometry
* view geometry
* memory
* other lod types are easy to add
* vertex groups for named selections
* per vertex texturing / mats / diffuse through custom material parameters. (rvtex -> string, rvmat -> string, use_diffuse -> bool)

## How it works:
Generates a .bitxt file that you can open, finalize and export in object builder.

## Usage:
Load up empty blender file. Open the misc toolbar (right side of viewport) and press Reset Scene. This will generate the proper collection hierarchy.
Pressing this again will delete all your objects and collections. You can now as many objects in each lod collection as you wish, multiple meshes in a single collection will be joined together behind the scenes on export.
Set any vertex groups which emulates named vertex selections. Set any material/texture paths and diffuse colors through the material menu. You will need to create custom properties for these. Whose names are types are described above.
A rvtex propery will override the use_diffuse property as they both share the same field in object builder. Use these fields to atleast generic assign textures materials and colors for mass renaming through object builder.
Once ready, open up the misc toolbar and press export to DayZ. This will produce a file in the current plugin directory for now. You can now create a new project in Object Builder and import the bitxt file that was generated by the plugin.

## Known Issues:
* Doesn't convert object vertices to world space. Should be an easy thing to add though.
* Unable to export key value pairs as DayZ Object Builder doesn't seem to want to export them or load them via .bitxt.
* First time writing a blender plugin, the code sucks, I know. I was just trying to get something to work.

repository: DayZNETWORk/Blender-To-DayZ

repo_name: DayZNETWORk/Blender-To-DayZ


text:
# Hints

## 3. Define emoji constants to represent instances of `Clock`

You can convert emoji to strings, and thus Symbols, programmatically by `using REPL.REPLCompletions: emoji_symbols`:

```julia-repl
julia> emoji_symbols["\\:clock12:"]
"🕛"
```

```julia-repl
julia> Symbol(emoji_symbols["\\:clock12:"])
:🕛
```

repository: exercism/julia

branch_name: refs/heads/main

gha_language: Julia

repo_name: exercism/julia


text:
# ibm-spectrum-scale-csi-operator
The [IBM Spectrum Scale Container Storage Interface](https://github.com/IBM/ibm-spectrum-scale-csi) (CSI) project enables container orchestrators, such as Kubernetes and OpenShift, to manage the life-cycle of persistent storage.

This project contains an ansible-based operator to run and manage the deployment of the IBM Spectrum Scale CSI Driver.

# Introduction
This operator installs IBM Spectrum Scale CSI in the cluster, consisting of Attacher and Provisioner StatefulSets, and Driver DaemonSet.

## Details
The standard deployment of this operator consists of one pod for the Attacher and Provisioner each, and a pod on each node the driver is to be used on.

### Configuration
Please refer to the [Knowledge Center Documentation](https://www.ibm.com/support/knowledgecenter/en/STXKQY_5.0.4/com.ibm.spectrum.scale.csi.v5r04.doc/bl1csi_configurations.html).

## Installing
Please refer to the [Knowledge Center Documentation](https://www.ibm.com/support/knowledgecenter/en/STXKQY_5.0.4/com.ibm.spectrum.scale.csi.v5r04.doc/bl1csi_instal_intro.html).

# Limitations
Please refer to the [Knowledge Center Documentation](https://www.ibm.com/support/knowledgecenter/en/STXKQY_5.0.4/com.ibm.spectrum.scale.csi.v5r04.doc/bl1csi_limitations.html).

## Prerequisites
Please refer to the [Knowledge Center Documentation](https://www.ibm.com/support/knowledgecenter/en/STXKQY_5.0.4/com.ibm.spectrum.scale.csi.v5r04.doc/bl1csi_instal_prereq.html).

### Resources Required
Please refer to the [Knowledge Center Documentation](https://www.ibm.com/support/knowledgecenter/en/STXKQY_5.0.4/com.ibm.spectrum.scale.csi.v5r04.doc/bl1csi_planning.html).

# PodSecurityPolicy Requirements
This operator does not require any pod  security requirements.

# SecurityContextConstraints Requirements
The operator maintains the Security Context Constraints, removing the required restraints when the operator is uninstalled.

The installed SCC is as follows, please note this is a jinja2 template applied by the operator:

``` YAML
  kind: SecurityContextConstraints
  apiVersion: security.openshift.io/v1
  metadata:
    annotations:
      kubernetes.io/description: allow hostpath and host network to be accessible
    generation: 1
    name: csiaccess
    selfLink: /apis/security.openshift.io/v1/securitycontextconstraints/csiaccess
  readOnlyRootFilesystem: false
  requiredDropCapabilities:
  - KILL
  - MKNOD
  - SETUID
  - SETGID
  runAsUser:
    type: RunAsAny
  seLinuxContext:
    type: RunAsAny
  supplementalGroups:
    type: RunAsAny
  volumes:
  - configMap
  - downwardAPI
  - emptyDir
  - hostPath
  - persistentVolumeClaim
  - projected
  - secret
  allowHostDirVolumePlugin: true
  allowHostIPC: false
  allowHostNetwork: true
  allowHostPID: false
  allowHostPorts: false
  allowPrivilegeEscalation: true
  allowPrivilegedContainer: true
  allowedCapabilities: []
  defaultAddCapabilities: null
  fsGroup:
    type: MustRunAs
  groups:
  - system:authenticated
  {% if csiaccess_users|length > 0 %}
  users:
  {% for user in csiaccess_users %}
    - "{{user}}"
  {% endfor %}
  {% endif %}

```

repository: benchip/ibm-spectrum-scale-csi

repo_name: benchip/ibm-spectrum-scale-csi


text:
[Home](./index.md) > [@digitalpersona/services](./services.md) > [PolicyTrigger](./services.policytrigger.md)

## PolicyTrigger interface

A policy step-up trigger.

Signature:

```typescript
export interface PolicyTrigger
```

## Properties

|  Property | Type | Description |
|  --- | --- | --- |
|  [trigger](./services.policytrigger.trigger.md) | TriggerNames |  |

repository: hidglobal/digitalpersona-services

gha_language: TypeScript

repo_name: hidglobal/digitalpersona-services


text:
# go-tun2socks-android

Demo for building and using `go-tun2socks` on Android.

## Including V2Ray features

Refer [here](https://github.com/eycorsican/go-tun2socks/tree/master/proxy/v2ray) for details, specifically, features to include are defining in these [two](https://github.com/eycorsican/go-tun2socks/blob/master/proxy/v2ray/features.go) [files](https://github.com/eycorsican/go-tun2socks/blob/master/proxy/v2ray/features_other.go).

## Integrating into your Android project

Checkout this repo for a demo: https://github.com/eycorsican/kitsunebi-android

## Prerequisites

- make
- Go >= 1.11
- A C compiler (e.g.: clang, gcc)
- gomobile (https://github.com/golang/go/wiki/Mobile)
- Other common utilities (e.g.: git)

## Build
```bash
go get -d ./...
make
```


text:
# MechanicMiner-Mod-Tool

[![Codacy Badge](https://api.codacy.com/project/badge/Grade/52246e25d0a0400da760148c50d22518)](https://app.codacy.com/manual/BitRapture/MechanicMiner-Mod-Tool?utm_source=github.com&utm_medium=referral&utm_content=BitRapture/MechanicMiner-Mod-Tool&utm_campaign=Badge_Grade_Dashboard)

A mod tool for the game, Mechanic Miner.

This tool currently allows for sprite asset dumping and asset repacking. That's right, this allows for texture packs!

## TO-DO

Create texture pack file (`texture_pack_example.mmmtp`), Dump & Repack WAVE files

repository: BitRapture/MechanicMiner-Mod-Tool

repo_name: BitRapture/MechanicMiner-Mod-Tool


text:
# Contributing
First of all, thanks! It's really awesome that you're interested in contributing to Rocket Chat. If this is the first Open Source project you will contribute to, it'd be cool if you read GitHub's excellent guide ["Contributing to Open Source"](https://guides.github.com/activities/contributing-to-open-source/).

## Getting Started
You can find Rocket.Chat repositories [here](https://github.com/RocketChat). If you see some issue you are willing to work on, just comment on it. We will add an [In Progress label](https://github.com/RocketChat/Rocket.Chat/labels/stat%3A%20in%20progress), and that's it! Want a simple task to get you started? [We maintain a list of those](https://github.com/RocketChat/Rocket.Chat/labels/contrib%3A%20easy)!

**You don't have to write code to contribute!**
We are always looking for help with creating or updating documentation, testing our apps (web, desktop and mobile) and reporting bugs.

**Submitting Pull Requests**
For contributions to code or documentation, you can fork the material, apply your contribution, and submit a [Pull Request](https://help.github.com/articles/using-pull-requests/).

**Submitting Bug Reports**
We appreciate any & all bug reports! Did you find a bug? Reporting is easy! Simply open an [Issue](https://github.com/RocketChat/Rocket.Chat/issues) in the applicable repository.

Here are some suggested things to include, when applicable, which may help us troubleshoot a problem:

* Operating System / Version / Architecture (64 bit?)
* Browser type & Version (if web app), any browser add-ons which may be involved (e.g. AdBlocker, NoScript, etc.)
* Desktop Environment (if desktop app) / Version
* Rocket.Chat edition / Version or [build number](/2. Getting%20Support)
* Expected behavior vs. Actual behavior (In other words, the "bug")
* Can it be reproduced? If yes, how?
* Relevant snippets from your error logs
* Screen shots if helpful to communicate the problem

## Rocket.Chat At-A-Glance
* [issues](https://github.com/RocketChat/Rocket.Chat/issues) categorize bug reports.
* [labels](https://github.com/RocketChat/Rocket.Chat/labels) organize what we're doing.
* [milestones](https://github.com/RocketChat/Rocket.Chat/milestones) control priority.

## Need Priority Features or Bug fixes?
You can place a bounty on an issue you care about: https://www.bountysource.com/teams/rocketchat

url: https://raw.githubusercontent.com/rhyspowell/Rocket.Chat.Docs/8caaf080a46e5363496caedb3b6cf4385df6f7d4/1. How can I help/Contributing.md

path: /1. How can I help/Contributing.md


text:
# Windows Store device app for camera sample
## Requires
- Visual Studio 2013
## License
- MS-LPL
## Technologies
- HTML5
## Topics
- Devices and sensors
- Windows Store device app
## Updated
- 04/02/2014
## Description

This sample demonstrates how to create a Windows Store device app for a camera. A Windows Store device app is provided by an IHV or OEM to differentiate the capture experience for a particular camera. It can be used to adjust camera settings or to provide
 additional functionality or effects.

The Windows Store device app in this sample provides custom UI for adjusting camera settings when a specific camera associated with the app is being used to capture a photo or video. Device metadata is used to associate the app with a camera.

If the user launches this sample from the app tile in Start, rather than when the camera is capturing video, this sample simply displays a message.

Note  This UI in this sample works together with the custom effect provided by the
Driver MFT Sample. Build and install the Driver MFT Sample before running this sample, so that you can use the UI implemented in this device app to control the custom effect provided in the Driver
 MFT Sample.

This sample shows that a device app for camera can be activated in two different contexts. The context can be determined by examining the activation parameters.

The app can be activated from an attempt to adjust settings. This happens when an app calls
Windows.Media.Capture.CameraOptionsUI.Show, or when the user taps the
Camera options control followed by More options in the Camera Capture UI (Windows.Media.Capture.CameraCaptureUI). In this case, the activation parameter's
kind property is Windows.ApplicationModel.Activation.ActivationKind.CameraSettings.

When this sample app is activated from the CameraSettings context, it provides a custom
More options UI that contains slider and button controls to adjust camera settings. The camera settings are accessed using the VideoDeviceController object obtained from the activation event's CameraSettingsActivatedEventArgs argument. A Windows Store
 device app for a camera can also provide other additional settings not shown in this sample. For more info, see
Windows Store device apps for cameras and the
Driver MFT Sample sample.

The app can also be activated because the user chose the app tile in Start. In this case, the
kind property is Windows.ApplicationModel.Activation.ActivationKind.Launched.

When a Windows Store device app for a camera is launched from the app tile in
Start, it should provide an interesting and engaging experience. This experience can be used to highlight related products, provide customer support and other services. This sample simply shows an informational message in place of this experience.

Note  The Camera Settings declaration must be included in package.appxmanifest. You can see how this is done by double-clicking on
package.appxmanifest in Solution Explorer and opening the Declarations tab.

To obtain an evaluation copy of Windows 8.1, go to
Windows 8.1.

To obtain an evaluation copy of Microsoft Visual Studio 2013, go to
Visual Studio 2013.

Related topics

Concepts

Windows Store device apps

Windows Store device apps for cameras

Samples

Driver MFT Sample

Camera Capture UI sample

Camera Options UI sample

Tutorials

Quickstart: Capturing a photo or video using the camera dialog

Reference

Windows.Media.Capture.CameraCaptureUI

Windows.Media.Capture.CameraOptionsUI

Operating system requirements

Client

Windows 8.1

Server

None supported

Build the sample

Prerequisites

The Windows Store device app that this sample demonstrates must be linked to your camera using device metadata.

You need a copy of the device metadata package for your camera, to add the device app info to it. If you don’t have device metadata, you can build it using the
Device Metadata Authoring Wizard as described in the topic
Step 2: Create device metadata for your Windows Store device app.

Note  To use the Device Metadata Authoring Wizard, you must install the
standalone SDK for Windows 8.1 before completing the steps in this topic. Installing Microsoft Visual Studio Express 2013 for Windows installs a version of the SDK that doesn't include the wizard.

If you have an internally embedded camera, rather than an externally connected one, follow the requirements that apply to your camera, described in “Appendix A: Requirements for identifying internal cameras” in the paper Developing Windows Store device
 apps for Cameras. For more info, see
Windows Store device apps for cameras.

Install the sample

The following steps build the sample and install device metadata.

Enable test signing.

Start the Device Metadata Authoring Wizard from %ProgramFiles(x86)%\Windows Kits\8.1\bin\x86, by double-clicking
DeviceMetadataWizard.exe

From the Tools menu, select Enable Test Signing.

Reboot the computer

Build the solution by opening the solution (.sln) file titled DeviceAppForWebcam.sln. Press F7 or go to
Build->Build Solution from the top menu after the sample has loaded.

Disconnect and uninstall the camera. This step is required so that Windows will read the updated device metadata the next time the device is detected.

If you have an externally connected camera, disconnect and uninstall your camera.

If you have an internal camera, use Device Manager to uninstall the camera.

Edit and save device metadata. To link the device app to your camera, you must associate the device app with your camera.

Note  If you haven't created your device metadata yet, see
Step 2: Create device metadata for your Windows Store device app.

If the Device Metadata Authoring Wizard is not open yet, start it from
%ProgramFiles(x86)%\Windows Kits\8.1\bin\x86, by double-clicking DeviceMetadataWizard.exe.

Click Edit Device Metadata. This will let you edit your existing device metadata package.

In the Open dialog box, locate the device metadata package associated with your Windows Store device app. (It has a
devicemetadata-ms file extension.)

On the Specify Windows Store device app information page, enter the Windows Store app info in the
Windows Store device app box. Click on Import Windows Store App manifest file to automatically enter the
Package name, Publisher name, and Windows Store App ID.

When you're done, click Next until you get to the Finish page.

On the Review the device metadata package page, make sure that all of the settings are correct and select the
Copy the device metadata package to the metadata store on the local computer check box. Then click
Save.

Reconnect your camera so that Windows reads the updated device metadata when the device is connected.

If you have an external camera, simply connect the camera.

If you have an internal camera, do one of the following:

Refresh the PC in the Devices and Printers folder.

Use Device Manager to scan for hardware changes. Windows should read the updated metadata when the device is detected.

Run the sample

To run the sample as if it were launched by the user choosing the app tile in Start, press F5 (run with debugging enabled) or Ctrl+F5 (run without debugging enabled), or select the corresponding options from the Debug menu.

To run the custom user interface for More options, do the following:

Build and install the
Driver MFT Sample, to install a custom effect that the More options flyout can control. You may skip this step, but then the
Effect On/Off and Effect controls in the custom flyout will not work.

Run an app that invokes the More options flyout. Here are two ways to do that:

Run an app that displays the Camera Capture UI using
Windows.Media.Capture.CameraCaptureUI. The
Camera Capture UI sample is an example of such an app.
Quickstart: Capturing a photo or video using the camera dialog provides a tutorial on using the Camera Capture UI.

When the Camera Capture UI is displayed, tap the options button and then choose
More options in the dialog box that appears.

Run an app that calls
CameraOptionsUI.Show. The
Camera Options UI sample is an example of such an app.

Check if the custom More options UI is correctly installed. It should contain
Effect On/Off and Effect controls. If you don't see these controls, check the troubleshooting steps.

If you installed the
Driver MFT Sample in step 1, the Effect On/Off control toggles an effect that covers the lower part of the video with a green box. The
Effect control adjusts the amount of the video that is covered.

Troubleshooting

If the More options flyout doesn't contain Effect On/Off and
Effect controls, check the following:

Make sure you enabled test signing before installing the sample. Enable test signing by running
bcdedit -set testsigning on in a command prompt.

Make sure Package Name, Publisher Name, and App ID in the device metadata match the fields defined in the package.appxmanifest file of this sample.

Use the Camera Capture UI sample to test.

If you have an internal camera (rather than an externally connected one), follow the requirements for your camera described in "Appendix A: Requirements for identifying internal cameras" in the Developing device apps for Cameras white paper. Note that you
 don’t have to provide the PLD information described in the paper, if your camera does not expose PLD info in its ACPI tables.

If you have an internal camera, after installing the sample, refresh the PC using the
Devices and Printers folder. Select the PC in the folder, and click the Refresh button as shown in the following image. The camera itself should not be visible in the
Devices and Printers folder. This is because internal cameras are enumerated as part of the PC device container.

If you have installed the
Driver MFT Sample but don't see the video effect that covers the lower part of the video with a green box, check the following:

Check that the Effect On/Off switch in the More Options flyout is set to
On.

Check that the SampleMFT0.DLL is registered and that you have entered the CLSID of the Driver MFT under the device registry key for the camera you are using to capture video, as described in
Building the sample.

Check that SampleMFT0.DLL is in a subdirectory of Program Files.

url: https://raw.githubusercontent.com/Violet26/msdn-code-gallery-microsoft/df0f5129fa839a6de8f0f7f7397a8b290c60ffbb/Official Windows Platform Sample/Windows Store device app for camera sample/README.md


text:
### [CVE-2019-10806](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-10806)
![](https://img.shields.io/static/v1?label=Product&message=vega-util&color=blue)
![](https://img.shields.io/static/v1?label=Version&message=n%2Fa&color=blue)
![](https://img.shields.io/static/v1?label=Vulnerability&message=Prototype%20Pollution&color=brighgreen)

### Description

vega-util prior to 1.13.1 allows manipulation of object prototype. The 'vega.mergeConfig' method within vega-util could be tricked into adding or modifying properties of the Object.prototype.

### POC

#### Reference
- https://snyk.io/vuln/SNYK-JS-VEGAUTIL-559223

#### Github
No PoCs found on GitHub currently.

repository: trickest/cve

gha_language: HTML

repo_name: trickest/cve


text:
---
layout: post
title:  "[Scala] Coursera - Lecture 1.7 - Tail Recursion"
date:   2016-04-10 23:00:00
categories: programming
author: Rachel Park
comments: true
tags: [programming]
permalink: programming/007
---

I will summerize the lectures (Functional Programming Principles in Scala of Coursera) to study Scala.

* The full video lectures : https://class.coursera.org/progfun-005/lecture

* The lecture of this posting : Lecture 1.7 - Tail Recursion

Summary

-
Tail Calls

	- if the last action of a function consists of calling a function (which may be the same), one stack frame would be sufficient for both functions

{% highlight text %}
gcd(14, 21)
→ if (21 == 0) 14 else gcd(21, 14 % 21)
→ if (false) 14 else gcd(21, 14 % 21)
→ gcd(21, 14 % 21)
→ gcd(21, 14)
→ if (14 == 0) 21 else gcd(14, 21 % 14)
→→ gcd(14, 7)
→→ gcd(7, 0)
→ if (0 == 0) 7 else gcd(0, 7 % 0)
→ 7
{% endhighlight %}

-
Tail Recursion

	- If a function calls itself as its last action, the function’s stack frame can be reused

{% highlight text %}
factorial(4)
→ if (4 == 0) 1 else 4 * factorial(4 - 1)
→→ 4 * factorial(3)
→→ 4 * (3 * factorial(2))
→→ 4 * (3 * (2 * factorial(1)))
→→ 4 * (3 * (2 * (1 * factorial(0)))
→→ 4 * (3 * (2 * (1 * 1)))
→→ 120
{% endhighlight %}

-
Tail Recursion in Scala

	- using a @tailrec annotation

	- If the annotation is given, and the implementation of gcd were not tail recursive, an error would be issued

{% highlight text %}
@tailrec
def gcd(a: Int, b: Int): Int = ...
{% endhighlight %}

extension: markdown


text:
# Description of the simple project

```

 ----------           -------------            ------------------------
 |        |---------->| Persisted |----------->|                      |
 |        |           |   actor   |            |      Cassandra       |
 |        |           -------------            |                      |
 |        |                V                   ------------------------
 |        |           -------------
 |        |           |    Log    |
 |  HTTP  |           |   actor   |
 |        |           -------------
 |        |                V                   ------------------------
 |        |           -------------            |                      |
 |        |           |   Event   |----------->|        Kafka         |
 |        |<----------|   actor   |            |                      |
 ----------           -------------            ------------------------

```

## Components:

### The message:
The circuit relies on one message with the case class Product.

### HTTP
The App receives a request and serializes the message using Google Protocol Buffer (protobuf),
the serialized message is submit to one Akka Streams flow that ensures is passes through the the following actors.

### Persisted actor
This actor receives the message with the Product and persists is into the Cassandra database

### Log actor
This actor receives the message with the Product write a log of the operation

### Event actor
This actor receives the message with the Product and propagate one event over Kafka

##Containerization
The application will be consisted of three containers:
* Cassandra container
    * library/cassandra:latest
    * https://hub.docker.com/_/cassandra/
* Kafka container
    * Wurstmeister
        * wurstmeister/kafka
        * https://hub.docker.com/r/wurstmeister/kafka/
        * http://wurstmeister.github.io/kafka-docker/
        * https://store.docker.com/community/images/wurstmeister/kafka
        * https://github.com/wurstmeister/kafka-docker
    * Spotify
        * https://github.com/spotify/docker-kafka

* akka-learning container
    * biosphere/akka-learning:0.0.1
    * https://github.com/fernandohackbart/akka-learning/blob/master/documentation/sbt-package-docker.md

repository: fernandohackbart/akka-learning

repo_name: fernandohackbart/akka-learning


text:
# Guidelines for contributing

Polly.Contrib hosts contributions around the Polly project by the community.  A Polly-Contrib repo is intended for you to own and manage your own contrib! - as such, the owners of each Contrib repository have rights on that repository, for example to merge PRs (no review from the Polly team expected or needed, though the team will be happy to take a look if you alert us).

For _process_, the Polly team recommend that Polly-Contrib projects use **Git-Workflow** ([1](https://guides.github.com/introduction/flow/index.html); [2](https://github.com/App-vNext/Polly/wiki/Git-Workflow)) to manage their content:

### Do

+ Keep the `master` branch containing only the latest-published release (as released to NuGet), or code imminently to be released.
  - Sensible exceptions to this may be eg to improve documentation by extending the `ReadMe` - the main point is that the `master` branch always represents releasable code and the latest-released code.
+ Carry out development work in feature branches, usually in your own [fork](https://help.github.com/en/github/getting-started-with-github/fork-a-repo) of the repo.
+ Integrate changes into the `Polly-Contrib` `master` branch using PRs.
  - Using PRs allows other developers who may be interested to comment before code is merged (though as mentioned above, it is not expected that the Polly team must do this).
  - Using PRs allows developers coming to the project later to see what was added when, and why.

### Avoid

+ Avoid contributing code without PRs.  Committing code without PRs makes it hard for others coming to the project later to review and understand what code was added when, and why.
+ Avoid committing directly to the `master` branch.  Committing interim contributions directly to the `master` branch:
  - means users cannot review the head of the `master` branch as a reference for the published nuget packages;
  - means the `master` branch is not always in an 'immediately releasable' state - this can be important if an urgent bug fix needs to be released, for example;
  - creates unnecessarily messy merge-commits and rebasing, when there are multiple contributors.

### Consider

+ Consider using [milestones](https://help.github.com/en/github/managing-your-work-on-github/about-milestones) matching release numbers, to label PRs included in and issues closed in a release; see the [core Polly project for example](https://github.com/App-vNext/Polly/milestones?state=closed).

gha_language: C#

gha_license_id: NOASSERTION


text:
---
title: "PascalCase"
date: 2020-10-29
part-of-speech: noun
synonyms: ["UpperCamelCase", "Pascal Case"]
---

PascalCase, also known as UpperCamelCase, is a type of naming convention in which the first letter of every word is capitalized.

## Example

> NintendoSwitch

> WaterBottle

> TypeOfAnimal

## Further Reading
- [PascalCase on TechTerms](https://techterms.com/definition/pascalcase)

repository: do-community/developer-glossary

repo_name: do-community/developer-glossary


text:
In addition, the [python](https://www.python.org/downloads/) and [ruamel.yaml](https://pypi.org/project/ruamel.yaml/) are also required.

## Configuration

Customize the variables in file `_config.yml` as needed.

## Atom Feed

The Atom feed url of your site will be:

```
<site_url>/feed.xml
```

The `site_url` was defined by variabel **url** in `_config.yml`.

## Install Jekyll Plugins

In the root direcoty of the project, run the following command:

```terminal
$ bundle install
```

`bundle` will install all dependent Jekyll Plugins declared in `Gemfile` that stored in the root automatically.

##  Run Locally

You may want to preview the site before publishing. Run the script in the root directory:

```terminal
$ bash run.sh
```

>**Note**: Because the *Recent Update* required the latest git-log date of posts, make sure the changes of `_posts` have been committed before running this command.

Open the brower and visit [http://<IP_ADDRESS>:4000](http://<IP_ADDRESS>:4000)

##  Deploying to GitHub Pages

For security reasons, GitHub Pages runs on `safe` mode, which means the third-party Jekyll plugins or custom scripts will not work, thus **we have to build locally rather than on GitHub Pages**.

There are two basic types of GitHub Pages sites, therefore you can choose one of them to finish the publishing.

###  User and Organization Pages sites

1) On GitHub website, create a new blank repository named `<username>.github.io`.

2) Build your site by:

```console
$ cd /path/to/jekyll-theme-chirpy/
$ bash build.sh -d /path/to/<username>.github.io/
```

The build results will be stored in the root directory of `<username>.github.io`. Do forget to push the changes of `<username>.github.io` to GitHub.

3) Go to GitHub website and enable GitHub Pages service for the new repository `<username>.github.io`.

4) Visit `https://<username>.github.io` and enjoy.

###  Project Pages sites

1) Suppose you create a new repository `myblog` (Do not name it `<username>.github.io`). Build the site with base url `/myblog`:

```console
$ cd /path/to/jekyll-theme-chirpy/
$ bash build.sh -d /path/to/myblog/ -b /myblog
```

> **Tips**: Setting the variable `baseurl` in `_config.yml` can revoke the parameter option `-b /myblog` above.

2) Push site files in repository `myblog` by Git to the remote `master` branch.

3) Go to GitHub website and enable GitHub Pages servies for repository `myblog`.

4) Now your site is published at `https://<username>.github.io/myblog/`

## See Also

* [Write a new post]({{ site.baseurl }}/posts/write-a-new-post/)
* [Text and Typography]({{ site.baseurl }}/posts/text-and-typography/)
* [Customize the Favicon]({{ site.baseurl }}/posts/customize-the-favicon/)


text:
### [CVE-2017-0089](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-0089)
![](https://img.shields.io/static/v1?label=Product&message=Windows%20Uniscribe&color=blue)
![](https://img.shields.io/static/v1?label=Version&message=n%2Fa&color=blue)
![](https://img.shields.io/static/v1?label=Vulnerability&message=Remote%20Code%20Execution&color=brighgreen)

### Description

Uniscribe in Microsoft Windows Vista SP2, Windows Server 2008 SP2 and R2 SP1, and Windows 7 SP1 allows remote attackers to execute arbitrary code via a crafted web site, aka "Uniscribe Remote Code Execution Vulnerability." This vulnerability is different from those described in CVE-2017-0072, CVE-2017-0083, CVE-2017-0084, CVE-2017-0086, CVE-2017-0087, CVE-2017-0088, and CVE-2017-0090.

### POC

#### Reference
- https://www.exploit-db.com/exploits/41652/

#### Github
No PoCs found on GitHub currently.


text:
---
title: Rockland County, NY
permalink: "/rockland-county"
name: Letter to County Executive, DA, and County Legislature
city: Rockland County
state: NY
layout: email
recipients:
-<EMAIL_ADDRESS>-<EMAIL_ADDRESS>-<EMAIL_ADDRESS>-<EMAIL_ADDRESS>-<EMAIL_ADDRESS>-<EMAIL_ADDRESS>-<EMAIL_ADDRESS>-<EMAIL_ADDRESS>-<EMAIL_ADDRESS>-<EMAIL_ADDRESS>-<EMAIL_ADDRESS>-<EMAIL_ADDRESS>-<EMAIL_ADDRESS>-<EMAIL_ADDRESS>-<EMAIL_ADDRESS>-<EMAIL_ADDRESS>-<EMAIL_ADDRESS>-<EMAIL_ADDRESS>-<EMAIL_ADDRESS>body: |-
  To County Executive Ed Day, DA Tom Walsh, and Rockland County legislature,

  My name is [YOUR NAME] and I am a resident of [YOUR TOWN/DISTRICT] in Rockland County. I am writing to demand that County Executive Day and the Rockland County legislature adopt a city budget that prioritizes community wellbeing, and redirects funding away from the police. This week, the country has been gripped by protests demanding reconsideration of the role of police in America and an end to racism and anti-Blackness. Moving funds away from the sheriff’s office and police department is a crucial way to combat these issues at the county level.

  The current 2020 budget passed by County Executive Ed Day appropriates 73 million dollars to the Sheriff, which is the second highest amount by department. I demand that the County Legislature and County Executive begin to meaningfully defund the Sheriff and redirect funds to community-based mental health services, substance abuse treatment services, affordable housing programs, and more. I demand a budget that supports community wellbeing, instead of one that empowers police forces to tear communities apart.

  Sincerely,

  [YOUR NAME]
  [YOUR ADDRESS]
  [YOUR EMAIL]
  [YOUR PHONE NUMBER]
---


text:
# Acoustic Mobile Messaging with Ionic
Use acoustic mobile messaging to build Ionic Mobile projects. The sample app demonstrates the integration of Acoustic cordova SDK with Ionic app.
The sample registers with MCE and provides sample code to access SDK API via Ionic interface

# Usage
- Download Mobile-push cordova SDK https://github.com/ibm-mobile-push/cordova
- Note the SDK plugins folder as ./path-to-mce-cordova-sdk/plugins/com.xtify.mce.sdk
- git clone https://github.com/giladm/ionic-mce
- cd ionic-mce
- npm install
- In config.xml file: replace id from 'com.replaceid' to the package used in android and to the bundleId used in iOS
- ionic cordova platform add ios
- ionic cordova platform add android
##### Add mce plugin to your app. Make sure you replace with your appKeys, server URL, etc. For  plugin settings check [MCE cordova SDK documentation](https://developer.ibm.com/customer-engagement/tutorials/creating-projects-with-apache-cordova-plugin/)
- ionic cordova plugin add ./path-to-mce-cordova-sdk/plugins/com.xtify.mce.sdk  --variable ANDROID\_APPKEY=gcXXXX  --variable IOS\_DEV\_APPKEY=apXXXXXX  --variable IOS\_PROD\_APPKEY=apXXXXX  --variable SERVER_URL=https://sdkX.ibm.xtify.com --variable LOGLEVEL=verbose  --variable AUTO_INITIALIZE_LOCATION=false --variable AUTO_REINITIALIZE=true  --variable INVALIDATE_EXISTING_USER=true --variable CHANNEL_NAME="mce_cordova_channel" --variable CHANNEL_DESCRIPTION="mce_channel-Description" --variable CHANNEL_ID="mce_channel1" --force

- ionic cordova plugin add ~/workspace/mce/sdk/cordova/ongoing-mce-cordova-sdk/plugins/com.xtify.mce.sdk.fcm
- copy google-service.json to your project root folder
- ionic cordova resources
- ionic cordova prepare

 Open project workspace in Xcode. Make sure bundle ID and team are set correctly. Enable Push Notification in Project > Targets > Capabilities.
- ionic cordova emulate ios  # test MCE registration on Simulator
- ionic cordova emulate android  # test MCE registration and notification on Emulator

# Expected results
App registers with IBM Watson Customer Engagement platform and receives userId and channel Id. When selecting MCE Registration Details from the menu, the registration information is displayed.

# Dependencies
The sample program was tested using the following platfroms/versions
- npm         # 6.9.0
- ionic      	# 5.2.3
- cordova     # 9.0.0<EMAIL_ADDRESS>- cordova-res # 0.6.0
- native-run	# 0.2.8
- ios-deploy	# 1.9.4

repository: giladm/ionic-mce

repo_name: giladm/ionic-mce


text:
---
title: Overview
---

# Liip Web Styleguide

A living documentation of the components used, essentially, on [liip.ch](https://www.liip.ch). The goal of this documentation is to illustrate all the elements available and therefor have an overview of the style and behavior of the interface of the website.

This project is based on Kanbasu 2 and reuse most of its components. For the sake of clarity, those components are not documented here. You can find a dedicated documentation at [kanbasu.liip.ch/2](http://kanbasu.liip.ch/2/).

[The code](https://github.com/liip/styleguide) is available on Github and licensed under the MIT license.

## Usage

Recommended way is to install with npm:

```bash
npm install @liip/styleguide
```

### With a module bundler such as Webpack

```js
// Load style
import<EMAIL_ADDRESS>
// Load Styleguide module
import Styleguide from '@liip/styleguide';

// Initialize a Contact Form
const form = document.querySelector('.my-contact-form');
new Styleguide.ContactForm(form);
```

### With a script tag

```html
<!-- Load style -->
<link rel="stylesheet"<EMAIL_ADDRESS>
<!-- Expose "Styleguide" globally -->
<script<EMAIL_ADDRESS>
<!-- Initialize a Contact Form -->
<script>
document.addEventListener('DOMContentLoaded', function() {
  const form = document.querySelector('.my-contact-form');
  new Styleguide.ContactForm(form);
});
</script>
```

## Contribute

### Issues

Use [Github issues](https://github.com/liip/styleguide/issues) to report anything, from bugs to feature requests.

### Code

To contribute to this project, [open a pull request](https://github.com/liip/styleguide/pulls) on GitHub. If you make changes in the JavaScript, setup [EsLint](https://eslint.org/) in your editor or run `npm run lint` to ensure consistency. Also check the [coding standards](https://github.com/team-rawbot/coding-standards) applied to this project before you start.

repository: liip/styleguide

gha_language: SCSS

repo_name: liip/styleguide


text:
---
layout: default
---

# 1995-09-20 - Re: "Hackers"-- brief review and anecdote...

## Header Data

From: Rich Salz<EMAIL_ADDRESS>To<EMAIL_ADDRESS>Message Hash: 52ccce2fa05784b0b24dde52a0fbe523a512dd2a4addd1cb5d87ece01542181a

Message ID<EMAIL_ADDRESS>Reply To: _N/A_

UTC Datetime: 1995-09-20 04:25:55 UTC

Raw Date: Tue, 19 Sep 95 21:25:55 PDT

## Raw message

```
{% raw  %}From: Rich Salz<EMAIL_ADDRESS>Date: Tue, 19 Sep 95 21:25:55 PDT
To<EMAIL_ADDRESS>Subject: Re: "Hackers"-- brief review and anecdote...
Message-ID<EMAIL_ADDRESS>MIME-Version: 1.0
Content-Type: text/plain

>The question was, essentially, what do you think should happen to a
>teenage hacker ...

Oops.  Sorry for the mistake.
	/r$

{% endraw %}
```

## Thread

+ Return to [September 1995](/archive/1995/09)

+ Return to "[Rich Salz <rsalz@osf.org>](/authors/rich_salz_rsalz_at_osf_org_)"

+ 1995-09-20 (Tue, 19 Sep 95 21:25:55 PDT) - Re: "Hackers"-- brief review and anecdote... - _Rich Salz<EMAIL_ADDRESS>


text:
# quick start
 To use pypeline to build data processing pipeline, the user needs:
1. python source code files that defines the functions for data processing.
function name should be same as file name
2. function configuration files, where extra arguments are loaded
3. data to be processed

once the user has all these ready, they can run script as below
to build the pipeline
```python
from pypeline import funcwrap, pipeline

# load and register the function for building pipeline
for py_file in files:
    funcwrap.func_fromfile('path to the function.py file',reg_name=None)

# the use can list all the registered functions
funcwrap.list_funcs()

# the user can build the pypeline:
p = Pipeline([list of functions])

# the user can run the pypeline
p.process(data_in)

# once finished, the pipeline auto closes it self
# user can also explicitly close pypeline by:
p.close()

```

license: ISC

repository: shelper/pypeline

repo_name: shelper/pypeline


text:
# Vue template syntax demo in Vue Js with the Vue CDN

> This project is just for the demo purpose to familier with vue js template syntax as well as how to use vue direct with cdn

## Project setup

##### Clone repository in your system
```
git clone https://github.com/aureatelabs/vue-template-syntax.git
```

##### Direct execute in browser no need to install packages

repository: aureatelabs/vue-template-syntax

repo_name: aureatelabs/vue-template-syntax