teleren/devto huggingface dataset:
If you call a tail a leg
Tags: noestimates, storyestimation, agile
Published: 2022-09-23 21:58:17

---
title: If you call a tail a leg
published: true
date: 2022-03-30 00:00:00 UTC
tags: noestimates,storyestimation,agile
canonical_url: https://jhall.io/archive/2022/03/30/if-you-call-a-tail-a-leg/
---

It’s riddle time.

**Q.** If you call a tail a leg, how many legs does a dog have?

**A.** Four. Because calling a tail a leg doesn’t make it a leg.

Now here’s another one. I’ll leave the answer as an exercise for the reader.

**Q.** If you estimate a new feature will take 10 hours to complete, how long will it take to complete?

* * *
_If you enjoyed this message, [subscribe](https://jhall.io/daily) to <u>The Daily Commit</u> to get future messages to your inbox._
console.log
Published: 2022-03-29 23:35:53

~~This post is in response to [this article](https://javascript.plainenglish.io/its-2022-don-t-use-the-console-log-ff2c2482a997)~~

Instead of the code in the article, I suggest using this one because it allows multiple arguments:

{% embed https://gist.github.com/humanfriend22/f05fc604800a95bb10838364749daf9d %}

This was more of a tip than a post which is why there is no explanation. Hope this helped!
Minimize the sum of the length of the edges in a graph with movable vertices
Tags: math, algorithms, python
Published: 2022-03-29 23:34:56

Hi! I wrote this article about optimization in a undirected graph:
https://medium.com/@lorenzotinfena/minimize-the-sum-of-the-length-of-the-edges-in-a-graph-with-movable-vertices-7fb333c8fc0b
There is also a pyhton implementation here:
https://colab.research.google.com/github/LorenzoTinfena/BestSpiderWeb/blob/master/BestSpiderWeb.ipynb#scrollTo=21TDvVciKqsT
Sharing our open-source Engineering Effectiveness Handbook
Tags: productivity, management, devops, datascience
Published: 2022-03-29 22:59:38

Hi 👋 !

tldr: we wrote a [handbook](https://www.okayhq.com/handbook) on how to make engineering teams more effective

We're former engineering leaders at Box, Google and Checkr and co-founders of a startup in the engineering effectiveness / productivity domain.

Engineering effectiveness is about building metrics to detect common blockers like:
* having too many meetings
* interruptions to your flow (pages, incidents, Slack)
* very long code reviews 
* slow tooling / slow feedback loops

After talking to and working with hundreds of engineers, we realized that while many team leaders want to build efficient teams, it's hard to know where to start.

It's also important to avoid building any sort of surveillance tool in the process - metrics should focus on the developer experience.  

We wrote an open-source handbook to answer all those questions, with a focus on **practical, actionable advice** on how to build highly effective engineering teams. 

This first version covers topics such as how to manage your team's time, how to remove blockers in the software development life cycle, and how to get ahead of burn-out signals like on-call pages.

We are welcoming contributions and feedback!

* [Go to the hosted version of the handbook](https://www.okayhq.com/handbook)
* [Browse the Github repo](https://github.com/OkayHQ/ee-handbook)
100 Days of Swift - Day 1
Tags: swift
Published: 2022-03-29 22:47:03

Today I started the journey on becoming an iOS native developer. Coming from 4+ years of .Net and Xamarin experience, mobile has been my passion for a while now.

After some side gigs, I've finally managed to get a Mac. Therefore starting today I'll do my best to keep on a streak and follow [Hacking With Swift](https://www.hackingwithswift.com/) [100 Days of Swift](https://www.hackingwithswift.com/100) which has been suggested by a friend to start learning the language.


Summary:

Day 1 - Variables, Simple data types and string interpolation

The first day as to be expected is a run down on how the language works. Declaring strings, integers, doubles and booleans.

Coming from .Net the moment you see a _var_ you may immediately understand that it refers to a variable, what's a little bit shocking for JavaScript enthusiasms is the fact that _let_ is used for constants.

The variable types don't have to be specified at the time you declare them, since swift is smart enough to assume the data type given the value assigned. But in case you want to add a type right after it is done like this: `let myVariable: Int = 42;`. Semicolons are optionals unless you want to write multiple sentences in the same line (am sure I'll use them just like always).

For the always useful _String Interpolation_ in swift you only need `"This is a string with some value: \(variable)"` for it to work, nice to remember and will try not to confuse it with `"string and ${variable}"`.

So far so good but this are just the basics, might try to do Day 2 later too.
Ubuntu
Tags: beginners, linux, ubuntu
Published: 2022-03-29 22:40:04

Dual-booting your pc isn't an easy task but it's definitely not impossible. I recently dual-booted Windows with Linux on my pc and here are some tips:

- **BACK UP YOUR DATA**. Dual booting might end up erasing your existing operating system so it's necessary that you always carry a back-up.
- Get to know about the details of your pc and find a suitable tutorial. 
- Google and Youtube are your best friends in case you get stuck anywhere :)
- Believe in yourself!
Road Trip, Sorta?
Tags: beginners, codenewbie, 100daysofcode
Published: 2022-03-29 22:16:45

## Feels like I'm on an extended road trip
And if you know me. I hate riding in the car. I just want to get there. Do I appreciate the scenery along the way? Yes. Do I always get to my destination and think, "that wasn't so bad." Yep. Well this is how I've been feeling about my coding journey. It's a long and I MEAN LONG road trip. Stopping to see (ahem..learn) new things along the way. Just constantly checking my GPS on when I'll get there. 

## Where's There? 
Yeah my GPS is on explore right now. And honestly, that's alright. I know I'm right where I'm supposed to be. Would you believe I'm on [Codewars] (https://www.codewars.com)? Solving problems and all? Do I look up things when I have a question? Absolutely. My go to is looking at other people's solutions after I submit my own. It is so interesting to see how others think. I find myself saying ooh, ahh that's smart. If I can talk through their code, I know I can talk through my own. 

## Still excited 
I know I'll look back on this blog and and see how far I've come. I've made a portfolio site and even a little webpage as a project for said portfolio. This time last year, I was up to my eyeballs in texts, emails and phone calls for work. I didn't have time to breathe, let alone learn to code. But I'm in such a better headspace and job that I DO have time. I will be sure to make the absolute best of it.
A tip for debugging Octopus Deploy variables
Tags: devops, octopus, debugging, variables
Published: 2022-03-29 21:49:21

---
title: A tip for debugging Octopus Deploy variables
published: true
description: A tip for easily debugging Octopus Deploy variable values during deployments.
tags: devops, octopus, debugging, variables
canonical_url: https://blog.rousseau.dev/posts/debugging-octopus-variables
cover_image: https://firebasestorage.googleapis.com/v0/b/blog.rousseau.dev/o/images%2Fbackgrounds%2Fdebug.png?alt=media
---

I sometimes need to debug issues related to incorrect variable substitutions or filters in my deployments.

The Octopus docs have some tips on [debugging problems with variables](https://octopus.com/docs/support/debug-problems-with-octopus-variables).

The third option, writing variables to the deployment log, is the one I use the most.

## Writing variables to the deployment log

Octopus provides two system variables, `OctopusPrintVariables` and `OctopusPrintEvaluatedVariables.` Setting these variables to `True` will write all variable values to the deployment log.

`OctopusPrintVariables` will write the unevaluated variable values to the log. `OctopusPrintEvaluatedVariables` will write the fully evaluated variable values to the log.

I find these useful enough to keep them in the project. Before, I have left the values set to `False` when not using them. I change them to `True` when I need to debug other variables. The doc page mentions that you can update the variable snapshot on a release instead of creating a new release when adding or updating these variables.

I added a little extra to my configuration to avoid switching the values back and forth - prompted variables.

## Conditionally writing debug logs with Prompted Variables

I configure `OctopusPrintEvaluatedVariables` to also prompt with the label `Print Evaluated Variables?`.

![Image of prompted variable definition](https://firebasestorage.googleapis.com/v0/b/blog.rousseau.dev/o/images%2Fa-tip-for-debugging-octopus-deploy-variables%2Fvariable-definition.png?alt=media)

The values will default to `False`. I can check the boxes during a deployment to turn on the debug logging only for that deployment.

![Image of the create deployment screen showing prompted variables](https://firebasestorage.googleapis.com/v0/b/blog.rousseau.dev/o/images%2Fa-tip-for-debugging-octopus-deploy-variables%2Fdeploy-screen.png?alt=media)

## Wrap-up

Combining prompted variables with `OctopusPrintVariables` and `OctopusPrintEvaluatedVariables` provides an easy way to debug your deployments' variable values.

_This post was originally published at [blog.rousseau.dev](https://blog.rousseau.dev/posts/debugging-octopus-variables). Cover photo by [Timothy Dykes](https://unsplash.com/@timothycdykes) on [Unsplash](https://unsplash.com/)._
Choosing Technologies, APIs and Languages
Tags: javascript, webdev, react
Published: 2022-03-29 21:47:56

---
title: Choosing Technologies, APIs and Languages
published: true
description: 
tags: #javascript #webdev #react
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tuxcu89xl54vvz0xrlo6.png
---
There is a vast difference between choosing a technology or a language for one person or a small team, choosing for a large engineering organization, and choosing for a platform with potentially tens of thousands of users. 

Choosing a technology for yourself or a small team is usually about personal taste, whether or not you are interested in learning something new, available tools, integration into an existing project, and perhaps performance/scale considerations. 

When you choose a technology for a larger engineering organization, perhaps an entire company, it's a different story. In that case, you need to think about hiring, training, use-cases, testing, all the other parts of the CI/CD pipelines, and try to imagine three years into the future - is this technology growing or dying?

Choosing a technology for a platform should be about the people who will use it. What will they find natural? What will make their life easier? What will create the best experience? It is very tempting to build something for yourself and hope that others will like it, but I think we can do better. We can connect to our potential users and try to emphasize, listen to them and see things from their perspective so you can build a fantastic experience for them. 

This isn't easy, especially if you hope that front-end engineers will use your product and you only know two. 

Can you help me out by sharing your thoughts in a quick survey? https://0sri4j4i8ze.typeform.com/to/IWI56Zkk I ask about your favorite languages and APIs as I make decisions about the platform I'm building. I really appreciate all the help! Feel free to comment below with more feedback, I'll appreciate this even more.

P.S
Chris Ricominni has a great blog post on [how to introduce new technologies to an organization](https://cnr.sh/essays/preventing-technology-turf-wars) - for the more practical aspects.
développeur web
Published: 2022-03-29 21:38:36

Bonjour à tous, je m'appelle greg et je suis débutant sur sur ce forum ainsi que pour le métier de développeur web , je suis actuellement en formation. j'espère  que je pourrais compter sur votre aide au besoin de plus précision suivant mes différent projet. bon courage à tous et merci d'avance
Best SEO Resources for SaaS Companies
Tags: saas, seo, services, more
Published: 2022-03-29 21:29:16

---
title: Best SEO Resources for SaaS Companies
published: True
description: Best SEO Resources of SaaS Software Companies
tags: SaaS, SEO, Services, More
//cover_image: https://direct_url_to_image.jpg
---

An on-going collection of the best resources for SaaS companies. SEO can be confusing. These resources have made it far less confusing.

Resources:
[https://ahrefs.com/blog/link-building/](https://ahrefs.com/blog/link-building/)
[https://surferseo.com/blog/statistics-on-content-marketing/](https://surferseo.com/blog/statistics-on-content-marketing/)
[https://surferseo.com/blog/why-is-content-marketing-important/](https://surferseo.com/blog/why-is-content-marketing-important/)
[https://contentdistribution.com/seo-case-study/](https://contentdistribution.com/seo-case-study/)
[https://www.before.io/](https://www.before.io/)
Destructuring Object Keys
Tags: firstproject, objectkey, destructuringassignment
Published: 2022-03-29 20:59:10

![Cover Image](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wq1biuwpnih57hyo0p4s.jpeg)

After rigorous days of coding for my first project, I created a simple vanilla javascript project called "**HR Manager**" (_short for Human Resource_) where you can **search** employees by their unique ID and **update** employee's information (_Edit & Update of CRUD functions_). Thanks to [JSON-server](https://www.npmjs.com/package/json-server), I was able to mock a prototype database for this project.

---

> _**A Screenshot of my Project Interface**_
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kbfhdaal6rvawp7fzvk9.png)

> _**Note**: All of displaying data is obtained from [Random Data Generator](https://random-data-api.com/). Sensitive information is hidden as a security feature (becomes visible on mouse hover)._

---

> _**Application Structure**_:
>`Fetch API` -> `Database` -> `.then(dataDisplayerFunction)` -> `Update` -> `Fetch method: "PATCH"` -> `Database`

The main purpose of the application is to get the employee's data from a server and then updates data if necessary, then send the updated data back to the server. Because of its simplicity and a sole purpose, the application was built in a plain structure.

---

After planning the structure of my project, I spent a good time observing the randomly generated data I obtained from [Random Data Generator](https://random-data-api.com/) then I decided to "refine" the data structure in order to make it suitable for my project.

> _**Original Data Structure**_
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/feyzuj305nyfbsu22itj.png)_Too many keys!_

---

After researching about restructuring data (data is an object), I finally came up with a perfect solution. The [destructuring assignment](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment) syntax is "The" method for working with object, especially for modifying keys and values.

> _**Destructuring Assignment in my code**_
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bwt9svsqkvwpgdhhh5tx.png)_I was able to rename the keys and assign values in different formats by using destructuring assignment syntax with `String Interpolation`_

---

> _**After Destructuring Assignment**_
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/i0mzwpeasvg21pmh1jpi.png) _Refined Object_

---

**References**
- Cover Image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wq1biuwpnih57hyo0p4s.jpeg

- [JSON-server](https://www.npmjs.com/package/json-server)

- [Random Data Generator](https://random-data-api.com/)

- Project code: [https://github.com/jmjkim/fisphase1-project]()
What The Next 20 Million Devs Want w/ Tiff in Tech & Stereotype Breakers' Masha Zvereva
Tags: devops, podcast, techtalks, leadership
Published: 2022-03-29 20:57:53

The world is shortly going to need another 20 million developers, and with over 1,000 engineering leaders joining us for INTERACT on April 7th, there’s no better time to talk to two people who have captured the minds of millions of developers - and will be featured at INTERACT - Tiffany Janzen and Masha Zvereva.

In addition to their own tech careers, both women have become prominent voices in the dev community, Tiffany is most well-known for her [Tiff in Tech YouTube channel](https://www.youtube.com/c/TiffInTech/featured) and Masha for her company [Stereotype Breakers](https://www.stereotypebreakers.com/).

Tiff and Masha spend their time connecting, communicating and inspiring the next generation of devs. They’re the ideal experts to dive deep on how Gen Z devs think and what they want.

That’s why we were so happy they took time to sit down for an episode of [Dev Interrupted](https://devinterrupted.com/podcasts/) to give us some incredible insights on what it’s going to take to recruit, hire and retain the millions of new developers who are joining the workforce. 

If you want to join Tiffany and Masha at INTERACT on April 7th, it’s easy: Just register at [devinterrupted.com/interact
](https://devinterrupted.com/event/interact/)
See you there!

{% spotify spotify:episode:6h6R5IOVYzSchIVgxGPzcI %}

## Episode Highlights Include:
* (2:29) How Tiff transitioned into tech from the fashion industry
* (8:18) Mistakes companies make in the recruitment process 
* (14:59) Are technical interviews still necessary?
* (18:26) The traits engineering leaders have that devs respect
* (21:21) How to get your start as a content creator
* (24:47) Founding of Stereotype Breakers
* (26:18) The questions devs want answered
* (29:22) Reasons devs turn down jobs
* (33:01) Keeping devs motivated & happy once they join your team
* (38:23) Knowing your worth as a dev & fighting for it

## [You're Invited to INTERACT on April 7th](https://devinterrupted.com/event/interact/)

Join engineering leaders from Netflix, Slack, Stack Overflow, American Express & more at LinearB's virtual engineering leadership conference, [**INTERACT**](https://devinterrupted.com/event/interact/) on **April 7th, 2022.**

**1 day, 20 speakers, 1,000s of engineering leaders - all driven by the Dev Interrupted community.** If you are a team lead, engineering manager, VP or CTO looking to improve your team, this is the conference for you!

[**Learn more here**](https://devinterrupted.com/event/interact/)


![Join INTERACT at https://devinterrupted.com/event/interact/](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2xhtonct1vkpjhrtzfl3.png)
4 Ways to Strengthen Identity Authentication for Technical Roles
Tags: security, productivity, computerscience
Published: 2022-03-29 20:35:22

### Advanced facial biometrics can enhance Auth0 MFA workflows to provide secure authentication experiences that simplify common challenges for technical roles.

### <br>

On a daily basis, CIAM professionals battle data breaches, account compromise, ransomware, and fraud. In 2021, digital fraud rates increased 22%, ransomware rates increased 62%, data breach rates increased 17%, — and cybercriminals shifted to softer targets with more valuable data and motivation for ransom payout. Huge shifts in remote work, distance learning, telemedicine, and BYOD trends also added layers of complexity as organizations struggled to protect systems and data.

These trends illustrate the complex CIAM challenges facing technical roles in B2B, B2C, and B2E environments. Developers, engineers, systems architects who are responsible for CIAM and fraud prevention will find this post most valuable, as we will discuss how facial biometric authentication can strengthen identity assurance while simplifying challenges in implementation, operations costs, security needs, and CX expectations.

[Read more...](https://auth0.com/blog/4-ways-to-strengthen-identity-authentication-for-technical-roles/?utm_source=content_synd&utm_medium=sc&utm_campaign=authentication)
JavaScript Array Methods - Mapping
Tags: javascript, beginners, webdev
Published: 2022-03-29 20:15:55

## Array.prototype.map()


When you start learning JavasScript (JS) pretty soon you will run into an array. An array is a data type in JS which allow you to store information/values as a list. To create an array you can simply write your list of values inside of a pair of square brackets, with a comma separating the values.


Example:

```javascript
let teamSeven = ["Naruto", "Sasuke", "Sakura", "Kakashi"];
```
Once you have an array, it is very likely that you will want to do something with it later. At the beginning of your JS journey, you will come across `for` loops which you can use to iterate through something and it gives you the power to run a block of code a certain number of times. If you know that you want to loop through your array, one of the methods you can use is `.map()`.


### How to use `.map()`


One important concept to remember when working with `.map()` is that it _creates a new array_ and leave the original array unchanged. This is important because not all methods behave this way and can cause bugs in your program. 

Imagine you want to change all the values in your array (above) by adding some extra information about each of the *teamSeven* members. All you have to do is call `.map()` on the array and pass in a *callback function** as an argument. Observe.


*_When you pass a function as an argument of another function, that function is called a callback._


Example:

```javascript
function addVillage(str) {
   return str + " of Konoha";
}
let revampedTeamSeven = teamSeven.map(addVillage);

console.log(teamSeven, revampedTeamSeven);
/* ["Naruto","Sasuke","Sakura","Kakashi"] , 
["Naruto of Konoha","Sasuke of Konoha","Sakura of Konoha","Kakashi of Konoha"] */
```
In the above example, `.map()` passes each value as a an argument to our `addVillage(str)` function, which runs and the returned value is stored into the new array.


### Summary


Array.prototype.map():
- Creates a new array by calling the provided callback function on each of the value in your array.
- It does not change the original array.
- It runs the callback function once on each value of the array.
- The newly created array will have the same length as the original array.

For more detailed information about this method checkout the official documentation on [MDN - Mozilla](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map).

I hope that was easy to read, any feedback please let me know, I am trying to strengthen my knowledge through teaching. 

> Dattebayo
![Naruto Approves](https://i.ytimg.com/vi/nQdYnn9tv4Y/hqdefault.jpg)