teleren/devto huggingface dataset:
I Joined DEV 🎉
Tags: meta, career, opensource
Published: 2020-09-16 22:26:02

I've spent the last few months figuring out *"What do I want to do in tech now?"* 

I have been a developer, educator, technical writer, community coordinator and more. (If you want to learn more about my interview process the last few months you can check out this [post](https://dev.to/coffeecraftcode/to-all-the-companies-i-ve-interviewed-with-before-jf3))

A couple of months ago I applied for a role at DEV. At the time I created a draft post titled **"Christina at DEV"** and told them at the end that "Hopefully in the future I can turn this into an "I joined DEV" post instead 😀"

I didn't get that role but... Now I do get to create a post for my role as the new Open Source Community Manager for DEV.🎉

## Why I joined DEV

As a developer I spent way too much time trying to figure out where to blog or "revamping" my own website. I always knew I wanted to blog but didn't really get started until I found DEV. 

DEV has been an amazing and encouraging community for me. A lot of opportunities I have had the last 2 years have been because of my posts on DEV and engagement with the community. DEV and now Forem, are products I use and love and I couldn't be more excited to join this team. 

Open-source and community are essential to DEV and I hope my skills and varied background will be valuable to the DEV team and the DEV community. I look forward to continue building up the Open Source community here and helping contributors have a wonderful experience.

## More About Me

I started out in tech as a Front-end developer. I love creative coding and have a lot of fun creating crazy animations and art with code over on [CodePen](https://codepen.io/cgorton). On the side, I teach courses for platforms like [Egghead.io](https://egghead.io/instructors/christina-gorton) and LinkedIn Learning. 

I am a mom of 4 and my life is always a little wild. 🙃
My family and I currently live in Costa Rica. I like to share pictures of our goats and the sloths that hang around our property.  
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/lmdxzl9xwr38qb5zjrvs.jpeg)

We also have a giant Mastiff named Appa who thinks she is tiny.
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/oxcaufid471n49zqufex.jpeg)

If you ever have any questions, comments, or just want to chat, feel free to reach out!

### Where you can find me

You can follow me here on DEV, as well as on other social media:

- [Twitter](https://twitter.com/coffeecraftcode)
- [LinkedIn](https://www.linkedin.com/in/christinagorton/)
A Tiny Network Boot (PXE) Server in JavaScript
Tags: showdev, node, javascript
Published: 2020-09-16 22:22:46

# Overview
I've built a simple PXE (network boot) server with node.js. I suspect it may be the first JavaScript PXE server ever - probably because JS isn't really seen as suitable for this stuff (whether justified or not). I'm still working on making it nicer but the core functionality is working great.

PXE is a protocol for booting clients PCs over a network. It's basically a DHCP and a TFTP server smashed together. Clients get a IP from the DHCP server, the DHCP server points to the TFTP server and the client downloads the boot files from it. My implementation is built on the preexisting dhcp and tftp npm modules, both of which are completeish implementations of their protocols and work great.

# Motivation
I wanted to make something a bit different and a little bit harder than my usual fare of light web dev and AWS Lambda functions. It's not particularly glamorous but it's been an interesting project, and I've got a much better understanding of DHCP, PXE, and TFTP. I'm also hoping to make this a component of a bigger project I'm working on.

I think it's definitely worth trying weird stuff like this - it gets you out of your comfort zone and you pick up new stuff. There's also a real sense of acheivement from it.

# Project

{% github https://github.com/Ara225/node-js-pxe-server no-readme %}

# It works!
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/29jcr9xf15hv95ir4kvc.PNG)
Day 218: Overdrive
Tags: hiphop, code, coding, lifelongdev
Published: 2020-09-16 22:22:41

_liner notes_:
- Professional : Got up early again to take part in the talk prep session. It was on Git and I'm always up for learning more about Git. Had a couple meetings and then worked on extending the Web Component I've been working on for a new use case for my next blog post.

- Personal : Ordered some food and other things that should be at my folks place in a couple of days. Last night, I think I may have worked out the structured data for the event page that will be customized for each event. I'm hoping that it will help with SEO. Once I have it deployed, I'll be able to make sure the structured data works with a testing tool from Google. Also, got it working so that depending on different criteria only certain buttons will display and when clicking on those, you can switch views. So, if there is video, the video button shows up, same with the map. The details section will always show up. Came out pretty cool.

![A lighthouse on the coast of Lladdwyn Island, Wales with mountains in the distance](https://dev-to-uploads.s3.amazonaws.com/i/5nvanjwci4kym1xxduuw.png)

Going to edit the recording from the last week's radio show and get it submitted to the station. I want to finish up the different sections of the event page and format the data to fill out event page. Also want to get the meta data so that there is a preview/card when a link is posted to social media. Really need to kick things in overdrive if I want to have meetup organizers to use my side project. Going to be a full night.

Have a great night!

peace piece
Dwane / conshus
https://dwane.io / https://HIPHOPandCODE.com
{% youtube zgo-Kb3QDGc %}
The simplest solution is usually the best
Tags: architecture, design, softwareengineering, designpatterns
Published: 2020-09-16 22:03:53

>The greatest ideas are the simplest.
― William Golding, Lord of the Flies

## Design for today's requirements

Any product or application solution should be designed and built to meet *today's* business requirements. Do not try to predict the future.

Product owners/solution architects/developers sometimes have a habit to over-design the architecture and implement "useful" features. I've been guilty of this on a number of occasions. It is very enticing on take on an extra challenge! However, these features do not add any value *today*. With the pace of business changes in today's world, priorities may shift at any time. Thus, the anticipated future value of these features *may never be realized*. These extra features only increase development/testing effort and time, and risk reducing quality of the code. Worse, they can also increase operational and maintenance costs.

As architects and engineers, we shouldn't complicate our work without clear and specific need to do so.  However, on the flip side, if our experience or gut feeling convinces us that something is missing and should be part of the solution, then the issue should be raised and addressed. Part of our job is to draw attention to any ambiguities and concerns so that the requirements can be revisited for confirmation with business/customer/end-user stakeholders. A too-common example of this are non-functional requirements around things like instrumentation/observability or backup and data retention. These aspects are often initially overlooked until they are crucially needed later.

## Anticipate future change

Designing for today's requirements is critical.  However, we need to acknowledge and be cognizant of the fact that things are *going to change in future*. 

This means that we need to apply "best-practices" when designing and building our solutions (and save ourselves pains and headaches in the future). In order to facilitate future evolution of our software and systems, we need to ensure that it is designed in a decoupled and extensible way. We should ask ourselves: "Am I going to understand this twelve months from now?"

Consequently, if we implement an extensible solution, then when the inevitable changes come, incorporating the new requirements into our system will not be as a complex and gargantuan task as it could have been.

>Everything should be made as simple as possible, but not simpler.
― Albert Einstein

## Too simple is as bad as too complex

Implementing the simplest solution is not the same as implementing the solution as quickly as possible. Oversimplification or implementing a solution haphazardly can result in a something that doesn't fully realize the business requirement or can lead to poor end-user experience. To bring long-term value, we have to be mindful of concerns like maintainability, scalability, operability, performance, cost optimization, etc. and ensure we incorporate those requirements into our solutions as appropriate.
Micromanaging Genuine Personal Interactions
Tags: sideprojects, webdev, idea, networking
Published: 2020-09-16 21:30:29

It wasn't until quarantine that I started paying attention to the gap between where I should spend time vs where I actually spend time.

I've cut off screen time on various social media, and have started spending most time on LinkedIn because of job search. As a new grad, my resources are quite limited. I have to rely on networking with my connections' contacts, whom I've only met virtually. I'd like to think that one day I would give back to them, but my only connection to them is probably a name I could hardly recognize in a few years, and several emails that will likely get lost in the pile. It became hard to form a memorable perception of those who've helped me. The same applies to a lot of people I wish I could've valued.

My point of view is that LinkedIn is purely commercial. In fact, I don't recognize half of my connections and neither do they. What would it be like if I could remember a person by the way they made me feel, and by our actual interactions? Wouldn't that be a better idea than to remember a whole feed worth of bluffing and self-promotion everyday?

With that said, I came up with an idea (https://github.com/winnie9197/Tablet) - a personal CRM that micromanages personal interactions, and provides a workflow to quickly record people and your impression of them. The link is a proof of concept of what I thought would be interesting to make. Would love to see what the community thinks!
Git Stash - A Personal Reminder
Tags: git, todayisearched, personalreminder, quicklook
Published: 2020-09-16 21:40:13

I got Déjà vu again - I was searching on a popular search engine for a command to help me stash my changes in a certain way, I felt like I had been here before. Google confirmed this by displaying a familiar purple text colour showing me I had indeed visited this page before.


So I decided to make a quick note to myself (and for any others who may stumble upon this post), at least I'll be giving myself post views when I inevitably forgot these commands and need to look them up again.


This is not meant to be an in-depth analysis or rundown of the full git stash CLI, you can find that [here](https://git-scm.com/docs/git-stash).


This is simply to serve as a reminder of those commands I find myself needing from time to time.


Simple and classic - Stash your changes
```bash
git stash
```


Add a message to your stash
```bash
git stash --save "Super descriptive message goes here"
```


You can include untracked files
```bash
git stash --include-untracked

# Or a bit shorter
git stash -u
```


When you want to stash everything apart from staged changes
```bash
git stash --keep-index

# Save those keys

git stash -k
```


Have a look at your stashes
```bash
git stash list
```

Apply the last stashed change and remove it from your stash list

```bash
git stash pop
```


Apply the last stash change but keep it in the list as a stash (for some reason)
```bash
git stash apply
```


Clear up after yourself and remove all stashes
```bash
git stash clear
```
Defining Fargate containers with the AWS CDK
Tags: aws, cdk, containers
Published: 2020-09-16 21:24:36

# Overview
This is an attempt to break down the steps needed to define Fargate containers with the CDK.

Code examples are in Python, but should be easy enough to translate if needed. Fargate containers can be slightly more difficult to work with than most things in the CDK, as they require you to create an IAM policy separately. You also need to create a dockerfile separately. You can visit my GitHub project https://github.com/Ara225/serverless-audiobook-maker to see this code in situ

1.Import modules
```python
from aws_cdk import (core
                     aws_ecs, 
                     aws_ecs_patterns,
                     aws_iam,
                     aws_ec2
                    )
```

2.Create an IAM execution role.
```python
role = aws_iam.Role(self, "FargateContainerRole", assumed_by=aws_iam.ServicePrincipal("ecs-tasks.amazonaws.com"))
```

3.Add policies granting the permissions you need
```python
role.add_to_policy(aws_iam.PolicyStatement(actions=["s3:PutObject"], resources=[VideoUploadBucket.bucket_arn+"/*"]))
```

4.Create a VPC for your container to run in
```python
vpc = aws_ec2.Vpc(self, "CdkFargateVpc", max_azs=2)
```
5.Create a cluster
```python
cluster = aws_ecs.Cluster(self, 'FargateCluster', vpc=vpc)
```
6.Add a container image 
```python
image = aws_ecs.ContainerImage.from_asset(PATH_TO_FOLDER_CONTAINING_DOCKER_FILE)
```

7.Create a task definition
```python
task_definition = aws_ecs.FargateTaskDefinition(
    self, "FargateContainerTaskDefinition", execution_role=role, task_role=role, cpu=1024, memory_limit_mib=3072
)
```

8.Add container to the task definition. Don't think logging is necessary but is useful
```python
container = task_definition.add_container(
    "Container", image=image,
    logging=aws_ecs.AwsLogDriver(stream_prefix="videoProcessingContainer")
)
```

9.Optional - Add a port mapping
```python
port_mapping = aws_ecs.PortMapping(container_port=80, host_port=80)
container.add_port_mappings(port_mapping)
```
Why VS Code? (Setup)
Tags: vscode, react, node, javascript
Published: 2020-09-16 21:15:03

## Why VS Code?

VS Code is one *of* if not **the** most poplular free text editor on the market. In a survey done in 2019, over 4.9 million developers use VS Code.

In the past, when I was just introduced to web development I quickly learned about Sublime Text 2. Sublime was ok, it was my go to text editor for a long time, *but* it lacked a community. Sure there was something called the **[Sublime Package Control](https://packagecontrol.io/)** but it was quite limited and still is. And often you'd find a package you like only to find out that the package has not been updated for the paste 2-3 years.

About a half year ago I learned about VS Code. I've heard about it before that but for some reason I refused to look at it. I am a macOS user and hearing about a Microsoft product did not resonate with me.

I enjoy using VS Code for 3 simple reasons.

1. VS Code is Free.
2. VS Code offers integrations with GitHub.
3. VS Code has an enormous library of community create packages, themes, etc.


## My VS Code Setup

My theme for choice for a while now has been [CodeSandbox Black](https://marketplace.visualstudio.com/items?itemName=siddharthkp.codesandbox-black) this theme tries to replicate the default theme for [CodeSandbox](http://codesandbox.io/). I'm a sucker for dark themes! 😜

![Alt Text](https://user-images.githubusercontent.com/1863771/89527703-10a83680-d7ea-11ea-920a-402e8005df92.png)


As Many of you, I use over 10 - 15 VS Code extensions on a daily basis. Here are a few of them.


#### [Auto Close Tag](https://marketplace.visualstudio.com/items?itemName=formulahendry.auto-close-tag)
By default VS Code doesn't close your HTML/XML tags for you, which quickly became frustrating. This extension closes your tags for you.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/2d7zqngqrd9p1dbfde0n.gif)


#### [Auto Rename Tag](https://marketplace.visualstudio.com/items?itemName=formulahendry.auto-rename-tag)
Brought to you by the same Developer of Auto Close Tag. This extension changes the name of the closing tag for you.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/xlyql3matteleyil612k.gif)


#### [Bracket Pair Colorizer 2](https://marketplace.visualstudio.com/items?itemName=CoenraadS.bracket-pair-colorizer-2)
When working with large files containing large amounts of code, it becomes **very** easy to get lost. Bracket Pair Colorizer 2 creates a clear colored line before a start of a code block and the end.

![Alt Text](https://puu.sh/GtnAw/c4f0d31759.png)


#### [GitLens - Git supercharged](https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens)
If you're not familiar with GitLens, go and add it to your extensions now!

![Alt Text](https://puu.sh/GtnMn/2c3740cf1d.png)

This extension allows you to see line by line, who the owner is, when it was committed, and what the commit message was.


## Conclusion
While there are many other worthy mentions, I'll keep this list short. If you'd like a full list of my extensions, feel free to ask.
GitHub Users
Tags: actionshackathon, github, opensource
Published: 2020-09-16 21:11:43

---
title: GitHub Users
published: true
description: My submission to the GitHub Actions x DEV Hackathon!
tags: actionshackathon, github, opensource
---

[Instructions]: # (To submit to the GitHub Actions x DEV Hackathon, please fill out all sections.)


### My Workflow

an automatic search system to get GitHub users by location


### Submission Category: 

data analytics and statistics  


### Yaml File or Link to Code

GitHub Repo {% github https://github.com/Aissaoui-Ahmed/github-users %}
Using Drone.io to Enforce Repository Standards
Tags: systemadministration, automation, github, continuousintegratio
Published: 2020-09-23 08:50:37

---
title: Using Drone.io to Enforce Repository Standards
published: true
date: 2020-09-16 20:37:59 UTC
tags: systemadministration,automation,github,continuousintegratio
canonical_url: https://medium.com/@jmarhee/using-drone-io-to-enforce-repository-standards-58eb88a1831e
---

[![](https://cdn-images-1.medium.com/max/640/0*668286hrJ2hSoRvp.jpg)](https://medium.com/@jmarhee/using-drone-io-to-enforce-repository-standards-58eb88a1831e?source=rss-d532e3e97d0f------2)

Last year, my team took on an effort to standardize our community and proof-of-concept repos to ensure they all had certain baseline…

[Continue reading on Medium »](https://medium.com/@jmarhee/using-drone-io-to-enforce-repository-standards-58eb88a1831e?source=rss-d532e3e97d0f------2)
The Mirror of the Mind
Tags: career, advice, meditation, mindfulness
Published: 2020-09-16 20:22:45

---
title: The Mirror of the Mind
published: true
description: How experience is a mirror of the mind
tags: career, advice, meditation, mindfulness
cover_image: https://images.unsplash.com/photo-1498543963509-a9c181fed309?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=3261&q=80
---

# Awareness of the self

I've been a big advocate of meditation and regularly practice for a few years now. This has made me keenly aware of when I don't feel good about something. Recently I was writing up notes for my upcoming one-to-one with my manager and I had a particularly scathing review of interactions I've had with a co-worker.

I know from experience how these conversations feel from both sides. It's out of the wheelhouse of most managers to efficiently address these situations and usually best if they just listen (unless it's something obviously against the company code of conduct). And from the side of the one complaining, it's just not satisfying or productive. 

There must be a better way to look at the situation. I turned to meditation and began to sort through my feelings and the objective raw data with a focus on what's best for the company and my team.

## Experience is a mirror of the mind

Meditation and science teaches us that the world and the self are one and all of experience is constructed by the brain. Not that there isn't a real world out there, but we experience the world with human senses and human brains which construct our reality the best it can. I can't under emphasize that this is true for everything. You're looking at a screen right now. What you're really seeing is part physics of the natural world and part reflection of your mind. Even the meaning and context you draw from the lines and dots making up this text are fully created by your subconscious. 

While we can't pick what emotions are tied to which experiences, by understanding that negative feelings are constructed and not necessarily inherent to the outside world, we can start to reflect and double check our subconscious assumptions. Once you become aware of the game you're able to remove yourself from it. Over the long term, this can help fine-tune our reactions to certain situations or remove the reactionary reflex altogether. 

## Keep Calm and Reflect

After separating the emotion and deconstructing my recollection of the experience with my coworker, I was able to see a larger strategic team issue that could be addressed. I validated my thoughts with others on the team and by the time I got to my 1:1 with my manager he was already addressing the issue.

This may not be the best strategy for every situation, but I've rarely found a time when slowing down, reflecting, and gaining perspective and clarity didn't vastly accelerate a satisfying solution.