teleren/devto huggingface dataset:
The .NET Docs Show: Informal Discussion on Formal Education 📜
Tags: dotnet, engineering, dotnetdocsshow
Published: 2020-08-20 20:14:56

---
title: The .NET Docs Show: Informal Discussion on Formal Education 📜
published: true
description:  The .NET Docs Show is joined by Developer Advocate 🥑 at JetBrains, Rachel Appel for a conversation about software product line engineering, Rachel's thesis on the subject, and formal education in software engineering careers.
tags: dotnet, engineering, dotnetdocsshow
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/hzf0jp6k866whfx7jr7c.png
---

In this episode of [The .NET Docs Show](https://dotnetdocs.dev), Rachel Appel (<a href="https://twitter.com/RachelAppel" target="_blank">@RachelAppel</a>, <a href="https://mvp.microsoft.com/en-us/PublicProfile/4015696" target="_blank">Microsoft MVP</a> and Developer Advocate 🥑 at JetBrains) informally discusses formal education. As part of this week's #CheckUp, we highlighted [the tour of C#](https://aka.ms/tour-of-csharp) as it relates to starting a career in .NET.

The #HallwayTrack was filled to the brim with conversations about "🍻 over the years", discussions about Rachel's talk "works on machine", antipatterns with SQL tables having a single column - yeah imagine that?!

We continued the conversation working through the differentiation between being a software developer and a software engineer, and how it relates to getting a computer science degree. We talk about mentorship and formal industry experience as an additional opportunity to skill-up. Other topics included: [LINQPad](https://www.linqpad.net), CMMI, UML, academic literature versus real-world product line engineering, living in other parts of the world, bubble sorts, aspect oriented programming, functional and object oriented programming, and even "Ask Jeeves". Yes, this episode was jam-packed!

## Quote

> In the 90's it was "hot" to be a **Web Master**!

{% youtube d7wtGgaNeS4 %}

If you liked this video and would like to see some more of our .NET content, please subscribe to our [The .NET Docs Show YouTube Channel](https://www.youtube.com/channel/UCIy_nKrwrd-naf_MPWtXdLA) and [follow us on Twitter](https://twitter.com/dotnetdocsshow).

# #CheckUp

- [Tour of C#](https://aka.ms/tour-of-csharp?WT.mc_id=devto-thedotnetdocs-dapine)

# Useful links

- [Rachel's URL list](https://www.theurlist.com/the-dot-net-docs-show-engineering-rachel-appel)
- [The .NET Docs Show](https://dotnetdocs.dev)
Functional programming and pure functions 
Tags: javascript, functional
Published: 2020-08-20 20:12:15

I have had interviewers ask me what functional programming is. I have heard of the term but never known what it really was until recently. 

Functional programming is characterized by pure, higher order functions and immutable data. It is a programming paradigm, meaning it is a way of thinking of software construction based on higher level principles. Imperative programming is focused on creating statements that instruct your program every step it needs to take or how to do something whereas declarative programming tells the program what to do.

Pure functions are functions that, given the same input, produces the same output and does not have observable side effects. They are predictable, independent (do not use values in surrounding environment), easy to reuse, simplify state management, and are easy to test. 

The map method is a pure function. 

A side effect manipulates the state of the program or has observable effects on the program. These include reassigning a new value to a variable, mutating an object. A function has side effects if it changes the external state. 

This is an example of a side effect in a function:
```
let _id = 1
function uniqueId() {
id++;
}
```

Higher order functions are functions that return a function. First class functions are functions that are treated like a value and can be returned from a function, passed as an argument to a function, assigned as a variable method or stored in an array.
Accidental Complexity - Video Notes and Review
Tags: javascript, architecture, performance, testing
Published: 2020-08-20 20:12:11


## The video:
{% youtube WSes_PexXcA %}
7 minutes, 26 seconds, and the Fundamental Theorem of Agile Software Development
by Joe Rainsberger, from the Agile Lightning Talks (2013-11-07)


## Tags:
accidental complexity
complect
technical debt
spaghetti code
ravioli code
big soupy codebase
plasma ball effect
software rot
BBoM (Big Ball of Mud)
antipatterns
bloatware
slowware
brittleware
overarchitecture


## The Notes (with my own added):

essential complication
accidental complication
total complication
TC = EC + AC

AC:
Accidental Complication, or
Accidental Complexity

causes...
cut corners
feel pressure
have to get it out the door

solutions...
reduce AC
squeeze out AC

TDD
- think
- write a test
- ask, how much does this test suck?

write just enough code to make it pass

clean the kitchen
- refactor a bit now
- because if we don't clean the kitchen, then we have to clean the garage

refactoring
- is how you reduce AC

To estimate, you have to refactor.
SCRUM cannot work without XP.


## My personal review:
vague, no specifics, no examples
mostly platitudes and generalizations
no formulas, no metrics, no measurement strategies
selling his TDD course indirectly
aimed at the beginner to intermediate programmer


## Summary and Takeaways:
ABR (Always Be Refactoring) and testing your code


## P.S. - Best advice ever for Software Arcitecture :)

Stop building car boats.
We want to feature your voice on DevDiscuss! This week's topic: serverless and the cloud.
Tags: podcast, discuss
Published: 2020-08-20 20:09:10

---
title: We want to feature your voice on DevDiscuss! This week's topic: serverless and the cloud.
published: true
description: Share your thoughts on this topic with us for the chance to be heard on DevDiscuss
tags: podcast, discuss
---

The [DevDiscuss Podcast](https://dev.to/devdiscuss) begins with an interview and ends with commentary from listeners — and we like to feature the actual _voices_ from our community!
  
For your chance to appear on an upcoming episode:

- Call our Google Voice at +1 (929)500-1513 and leave a message 📞

- Send a voice memo to pod@dev.to 🎙

- Or, leave a comment here and we'll read your response aloud for you 🗣

_Please send in your recordings by August 26 at 5 PM PT (8 PM ET, 12 AM UTC)_

### This week's prompt: "What do you wish you knew about serverless and the cloud?" 

---

Don't forget to check out the [latest episode](https://dev.to/devdiscuss/s2-e2-you-can-do-that-with-css), released on Wednesday!
Difference between Shallow Copy and Deep Copy
Tags: javascript
Published: 2020-08-20 19:58:47

“Tell me, what is the difference between a shallow copy and a deep copy? And how can you make a deep copy of an object?”

This was a question I got in an interview for a full stack web developer position. I have never heard of the terms “shallow copy” and “deep copy” back then. But it’s absolutely essential that web developers and software engineers understand the difference between a shallow copy and a deep copy. Interviewers will mostly definitely ask you how you can make a deep copy. Here is what you need to know.

First, you need to understand that primitive values are passed by value, while objects and arrays are passed by reference. What do I mean by that? When you pass by value, you create a copy of the original value. When you pass by reference, you make an alias to the original. Objects are stored in memory using a reference value. The reference value is an address in memory where the object is located. When you make a shallow copy of an object, you copy the reference, not the object itself. The actual object isn’t copied.

So a shallow copy copies the reference, and a deep copy copies the actual value of the object. Here are four ways you can make a shallow copy:

1. Object assign() method. You can use Object.assign() to copy over all enumerable properties of an object to a new object. For example:
```
const obj = {firstName: "John", lastName:"Smith"};
const newObj = Object.assign({}, obj);
```
In this example, the newObj will contain the same properties and values as the original obj.
2. Spread operator. You can duplicate an array or an object by using the spread operator.
```
const arr = [1, 2, 3, 4];
const newArr = [...arr];
// newArr = [1, 2, 3, 4]
```
3. Slice method. You can clone an array by slicing it.
```
const arr = ["a", "b", "c"];
const newArr = arr.slice();
// newArr = ["a", "b", "c"]
```
4. Array.from() method.
```
const arr = [1, 2, 3];
const newArr = Array.from(arr);
```
Here are ways to make a deep copy:

1. Lodash. After importing Lodash, you can use their cloneDeep() method to make a deep copy.
```
import _ from "lodash"
const obj = {firstName:"John", lastName:"Smith"};
const newObj = _.cloneDeep(obj);
```
2. Ramda.
```
import R from "ramda"
const obj = {firstName:"John", lastName:"Smith"};
const newObj = R.clone(obj);
```
3. JSON.parse(JSON.stringify())
```
const obj = {firstName:"John", lastName:"Smith"};
const newObj = JSON.parse(JSON.stringify(obj));
```
neix - a news reader for your terminal.
Tags: showdev, cpp, cli, tools
Published: 2020-08-20 19:32:03

Today I launched the first version of my new project **neix**.

It is a **work in progress** terminal feed reader for all common RSS/Atom feeds on the web out there. It is free/libre software which protects your freedom. You got the full control of your news you want to read!

For more informations take a look on the [repository](https://github.com/tomschwarz/neix).
Picking the right Open Source License
Tags: actionshackathon
Published: 2020-08-20 19:23:52

One of the requirements for [GitHub Actions Hackathon](https://dev.to/devteam/announcing-the-github-actions-hackathon-on-dev-3ljn) is to have an Open Source license. 

Truth be told, I don't often Open Source projects. I normally keep them closed, just because I prefer the extra privacy it offers.

If I do open source something, I'd throw up the MIT license & forget about it. However for my [GitHub Action](https://github.com/TypoCI/spellcheck-action) I'd quite like to be able to charge for usage, while remaining open source so picking  the right license is somewhat important.

Off the bat, I have zero knowledge of what kind license would work. Ideally I want something where I can share the code, but if people are making mad money they give me a slice of pie. So I went in search of what other projects do!

## Flickity

[Flickity](https://github.com/metafizzy/flickity) is made by [Metafizzy](https://metafizzy.co), they're pretty inspirational. I heard them a few years ago on the [Indie Hackers Podcasts](https://pca.st/t307) discussing selling open source software. It definitely gave me the thought of "If they can do it, so can I".

Their approach was is to have Commercial license & Open source license (GPL-3.0), then tell using the library on commercial products they must buy a license.

I really like the way the communicated the requirements to users & used Gumroad to handle the selling of license keys, though it's a little unclear how the license is enforced.

## Heya

[Heya](https://github.com/honeybadger-io/heya) is a Ruby gem for managing campaign emails in Rails. It's pretty handy!

They have used a Prosperity Public License, which is similar to what Flickity has done but only requires a single license, which is pretty neat!

Like Flickity, they've also used Gumroad for handling the licensing, though it looks like they've added some extra magic to make sure licenses are validated.

## Sidekiq Pro

[Sidekiq](https://github.com/mperham/sidekiq/) is a background worker manager popular in the Rails world, it's is AWESOME! They offer a Pro & Enterprise version, which offer some extra features along with a more commercial friendly license.

Interesting Sidekiq appear to handle billing themselves (and ask almost $1000 a year for a license 🤯), but from what I gather after purchasing a license users are given a special URL to pull down a unique version of the gem.

## Which one seems best?

I'm going to use the Prosperity Public License for my GitHub Action & request commercial products buy a license after 30 days. 

I'm also going to experiment with Gumroad as it seems the popular choice managing sales. I think also I'm not going to mess about with setting up subscriptions, instead I'm going to just ask for a few dollars in a one time payment & see if anyone purchases.
Hello, World!
Tags: career, code
Published: 2020-08-20 19:22:54

---
title: Hello, World!
published: true
description: My first blog post!
tags: career, code, 
--- 
Hi everyone my name is Cesar.

I will be creating my blog and just writing about my development journey, tips and tricks, hacks. Anything that interests me in the development world.

### About Me

I got my Computer Science degree from California State University Long Beach 2017. I started coding my first year of college. I was surprised to learn that many of my peers had some type of coding class in high school and have had coding experience already. I felt behind. I felt like I had put in the hours to finish my difficult projects and to understand the complexity of some of the assignments. It was all new to me. I did not know what errors meant and did not know what to Google aside from copying the error. It was a challenge, but I had fun with the challenges. If a challenge is to easy then I just move and decide to do something else, but coding was not that. 

My favorite project that I did for school was developing a clone chess game from scratch in C#(WPF). It has basically a clone from the board in [chess.com](http://chess.com) (move restrictions, available square, undo moves). We also had to use the Minmax algorithm to develop a computer opponent. We had to pass over 500 test that the class had created. Definitely, one of the most challenging projects I had ever done up to that point, but one of the most fun. 

During my senior year, I got an internship and later went on to get hired full time. I have been there for 3 years and have collaborated with the team to build 2 internal applications for our operations team to use.
Video: Build a no-code contact form that notifies you instantly when someone submits the form
Tags: nocode, tutorial, video
Published: 2020-08-24 16:29:36

---
title: Video: Build a no-code contact form that notifies you instantly when someone submits the form
published: true
date: 2020-08-20 19:13:15 UTC
tags: NoCode,Tutorial,Video,tutorial
canonical_url: https://maxkatz.org/2020/08/20/video-build-a-no-code-contact-form-that-notifies-you-instantly-when-someone-submits-the-form/
---

This video shows how to build a contact form and get notified via email when a form is submitted using no-code tools. The form is built with [Typeform](http://typeform.com). The flow to send the email is built with [Parabola](http://parabola.io).

{% youtube I7wIIevk3MM %}

Looking for other applications built with no-code? Check out videos from my [no-code YouTube playlist](https://www.youtube.com/playlist?list=PLSAWywyhniCOpvlFSfUWVNAbclc2-1Kne).
Mechanical Keyboards
Published: 2020-08-20 19:10:54

I can't believe how loud this thing is. I have only used mac or microsoft keyboards but bluetooth had me at wits end. Plus, what is the point of a mac keyboard is the black trackpad isn't available on its own?

I instantly acclimated to typing in Vi.

I am thankful Machine Learning doesn't require hours of typing. Also, did I mention I finally got a model trained and some plots to plot. That's why I decided to plug in my DUROGOD. Feeling like mid-film Neo.

... perhaps no keyboard is good. 

I had gotten used to the butterfly keyboard on the macbook pro but why not spice things up with a completely different feeling and experience? The MacBook keyboard is for typing on in bed, next to a sleeping cat or human.

I can't wait to learn all this training and model architecture foundations so I can make GANs. It will be Neo time for real.
Day 81 - #100DaysofCode - My Rails Project Demo Video
Tags: 100daysofcode
Published: 2020-08-20 19:08:57

As promised, today I recorded another video of me using my rails project. I will share both videos below:

<h1> The first video - excludes categories </h1>

{% youtube l1rQYSUjRu8 %}

<h1> Second video - categories included </h1>

{% youtube qgqXc8YAB4Y %}

Thank you for watching! 

Sincerely,
Brittany

Song of the day:

{% soundcloud https://soundcloud.com/gracecarterofficial/silence %}
Confluence Is Where Documentation Goes To Die
Tags: documentation, productivity, writing
Published: 2020-08-20 18:03:21

The majority of companies I've worked at have used Confluence. And the one thing you can be sure of is that any documentation you have written there will be hopelessly out of date.

### Lack of trust

The moment your documentation starts to be out of date, it starts to lose its value. Once developers stop being able to trust that the docs reflect the true state of the world, they'll stop relying on it, and therefore, stop improving it.

And so the destructive cycle begins.

Out of date documentation can sometimes be even worse than no documentation, leading developers on confusing multi-day expeditions as they try to understand a new codebase.

![The New
Developer](https://dev-to-uploads.s3.amazonaws.com/i/vyyzkoh0np57z8fj7wg1.jpeg)

_Source: [Geek and Poke](http://geek-and-poke.com/geekandpoke/2012/4/25/the-new-developer.html)_

### Is there a fix?

The main reason that Confluence ends up being a graveyard for docs is that it is **outside the normal software development workflow**. Only _after_ the code is merged, do you (if you remember) go to this separate WYSIWYG thing, and decide how to document what you released. This is all backwards.

With that in mind, here are some steps you can take to mitigate the problem:

1. Put your documentation in source control, next to the code it is describing
2. Start asking for documentation updates in pull requests when appropriate, just like you expect
   tests for new code
3. Create a documentation style guide for your team that sets expectations
  * _"Every repo must have a README with x, y, z sections"_
  * _"Every big architectural decision must be recorded in an
    [ARD](https://github.blog/2020-08-13-why-write-adrs/)"_
  * _"Every repo needs a high level architecture diagram describing the main data structures and processes"_

You don't write documentation for your present self. You write it for yourself 6-months from now, the new team member joining next week, for your replacement when you move to a new job. Do them all a solid and make their lives easier: write some decent docs _**and keep them alive**_.

---

While you're here, if this resonated with you, you might be interested in what I'm working on. Head on over to [my personal site](www.begley.me/about) if you want to reach out or hear more.
MacBook Screen Repair & Replacement in Nehru Place
Tags: macbook, screen, macbookair, nehruplace
Published: 2020-08-20 19:08:33

MacBook Screen Repair & Replacement : Your laptop screen is flickering or cracked? You do not have to be anxious, our engineers are there to take care of your MacBook Screen. Mostly screens of MacBook can be damaged due to water damage or by dropping. We are the most reliable, professional and fast in [Apple MacBook Screen Repair and Replacement service in Delhi](https://laptoprepairexperts.in/apple-macbook-screen-repair/).
AzureFunBytes Episode 11 - Combos! @Azure and @datadoghq with @ryan_maclean
Tags: azure, kubernetes, observability, beginners
Published: 2020-08-20 19:06:26

This time, we start our first AzureFunBytes series: Combos! Discover products from that help you get more from your Azure experience. To help me, [@ryan_maclean](https://twitter.com/ryan_maclean) from [@datadoghq](https://twitter.com/datadoghq)!  Just in time for [#KubeConEu](https://twitter.com/hashtag/KubeConEu?src=hashtag_click) we’ll see how Azure Kubernetes Service and Datadog combo!

{% youtube XN0qiOnFPM4  %}

We'll work on creating an AKS cluster and then discuss how we can monitor, find pain points and alert our team about a microserviced web application.

AzureFunBytes! - Byte-sized content with a live Twitch show!

Learn about Azure fundamentals with me!

Live stream is available on Twitch at 2 pm EDT Thursday. You can also find the recordings there as well.

https://twitch.tv/azurefunbytes
https://twitter.com/azurefunbytes

Join me, ask questions, and learn about Azure!

Useful Docs:
Azure Kubernetes Service (AKS) - https://cda.ms/1vq
App Service documentation - https://cda.ms/1vr
Azure Container Registry documentation - https://cda.ms/1vs
Microsoft Learn: Azure Fundamentals - https://cda.ms/1jV
Microsoft Azure: $200 Free Credit https://cda.ms/1tj
Easier Way To Make An Electron App...
Tags: electron, tutorial, html, github
Published: 2020-08-20 18:54:35

so. you must have git installed. second... run the command "git clone https://github.com/electron/electron-quick-starter" without the quotes, in a terminal of your choice. second, customize index.html or leave it as it is. third, (you must have nodeJS and NPM installed) run "npm install" without the quotes. last, run "npm start" (without quotes) and... you're done!
Does anyone like VSCode new Source Control Menu?
Tags: vscode, productivity, git
Published: 2020-08-20 18:51:12

I liked having Pull and Push outside.

Now I'm searching whole menu to carefully go inside "Pull, Push" and choose. It's making me crazy.

I'm forcing myself to form habit to use Ctrl + Shift + P and select "Git:Push" now. 😂

Anybody know if there is a setting to get the old Git menu back?