teleren/devto huggingface dataset:
Learning in public isn't so easy when you're buried by layers of engineering
Tags: blogging
Published: 2023-01-30 11:00:51

---
title: Learning in public isn't so easy when you're buried by layers of engineering
published: true
date: 2023-01-18 20:15:00 UTC
tags: blogging
canonical_url: https://rachsmith.com/learning-in-public-is-complicated/
---

I've come to appreciate that unless you're a full-time content creator who can devote hours to polishing, the only way to publish regularly is by embracing the approach of "[working with the garage door up](https://notes.andymatuschak.org/Work_with_the_garage_door_up)" or "[learning in public](https://www.swyx.io/learn-in-public/)". [Show Your Work!](/thoughts-on-show-your-work-by-austin-kleon/) as [Austin Kleon](http://austinkleon.com/) says.

[TIL](https://dictionary.cambridge.org/dictionary/english/til)-style posts about what you've been working on are a great type of content for your developer blog. And if your work is straightforward enough, the writing is straightforward enough too. A CSS developer could share how they use a new language feature. A UI developer could share their opinions on a React component pattern.

But as the scope and complexity of your role grows, the harder it is to write something about your day. At least this is how I've experienced it.

Take one of my work days recently. I was struggling with something and thought writing a note about it might help. The problem was that the "something" was generating [TypeScript](https://www.typescriptlang.org) types from [GraphQL](https://graphql.org) files using [GraphQL Code Generator](https://the-guild.dev/graphql/codegen) in a [Next.js](https://nextjs.org) project using a custom [webpack](https://webpack.js.org/) config, that lives in a [monorepo](https://en.wikipedia.org/wiki/Monorepo) powered by [Lerna](http://www.lerna.com.au/). There were ...seven tools or technologies in that sentence. My potential note is niched down so hard, it feels like there is maybe one other person in the world who can relate. His name is Geoff and chances are he's not reading this site[^1].

A way to rise to this challenge is to work on the skill of abstracting something more generic/simple from your complex work situation. A "minimal, reproducible example" via blog post if you will. [Chris Coyier](https://chriscoyier.net/) is good at this, turning what is _layered_ work at [CodePen](https://codepen.io) into simpler hypothetical scenarios.

> [Say you have some JSON data like this....](https://chriscoyier.net/2022/11/12/personal-coding-challenge-data-validation-correction-and-default-handling/)

Or, you could turn complaining about this challenge into post content instead, as I have here.

[^1]: Geoff, if you're reading, we should talk.
Advent of Code 2022 Day 2 Part 1 - Solution Only
Tags: javascript, programming, algorithms, adventofcode
Published: 2023-01-18 20:07:26

```javascript
// EXAMPLE input (encrypted strategy guide) converted to a multiline string
const strategyGuide =
`A Y
B X
C Z`

// opponent is first column and this is opponent winning
const oppWinning = {
    A: 'Z',
    B: 'X',
    C: 'Y'    
}
  
// I am second column and this is me winning
const meWinning = {
    A: 'Y',
    B: 'Z',
    C: 'X'
}

// points granted for use of tool
const toolPoints = {
    X: 1,
    Y: 2,
    Z: 3
}

const getMyTotalScore = (input) => {
    const inputAsArr = input.split('\n').map(str => str.split(' ')) // the reason 'input' is converted to an array of arrays instead of an object of key-value pairs is because the ACTUAL input (i.e., not the EXAMPLE input we're working with here) would, if set up as an object, have duplicate keys, and of course duplicate keys are not allowed in JavaScript objects (iterating through the keys of a JavaScript object that has duplicate keys doesn't work)
    
    let myTotalScore = 0

    for (let i = 0; i < inputAsArr.length; i++) {
        myTotalScore += toolPoints[inputAsArr[i][1]]

        if (inputAsArr[i][1] === meWinning[inputAsArr[i][0]]) {
            myTotalScore += 6
        } else if (inputAsArr[i][1] === oppWinning[inputAsArr[i][0]]) {
            myTotalScore
        } else {
            myTotalScore += 3
        }
    }
    
    return myTotalScore
}

console.log(getMyTotalScore(strategyGuide)) // 15
```
Lyra: Seguridad y recurrencia, un nuevo salto en pagos digitales
Published: 2023-01-18 19:54:45

Llevar la digitalización a todas las empresas y emplearla en pos de mejores experiencias con los clientes - tanto empresas como consumidores finales - es parte de la acelerada consolidación de las Fintech en Chile y en el resto de Latinoamérica. Se trata de una mejor y mayor inversión en empleo y calidad de vida de las personas.

Hoy en día los pagos digitales se encuentran en constante crecimiento y evolución, cuyo ritmo de madurez está marcado por las necesidades de las empresas y los nuevos hábitos de consumo. Según un informe desarrollado por Statista Mobile Payments II: The business models behind mobile payments, en donde se muestra el ranking de procesadores de pago más relevantes del mundo, se puede ver esta tendencia y como los pagos digitales alcanzan a los gigantes de las tarjetas de crédito.

Chile se sitúa además por encima de México (40%) y Ecuador (31,5%) en el uso de tarjetas de débito, crédito y prepago físicas como principal medio de pago alcanzando en el último año el 62,3%. Asimismo, los principales medios de pago tuvieron el siguiente registro en Chile entre la población bancarizada: el 97,8% hace uso de tarjetas físicas débito, crédito (71,8%), prepago (37,3%), el 50,6% aumento de multitendencia de tarjetas débito y el 83,5% usa tarjetas contactless. 

Hablar de pagos digitales es un universo muy grande, que debe ser adaptado además a todo el tema de "seguridad" compatible con  PCI-DSS, cifrado TLS, 3D Secure, arquitectura redundante, entre otros.  Es por eso que Lyra, compañía que ofrece soluciones tecnológicas para el mercado financiero, está pensando siempre con miras a la evolución de este sector y a la necesidad del mercado. "Lanzamos una herramienta que permite la automatización de cobros, desarrollada para facilitar la vida de las empresas que desean brindar servicios y/o productos con facturación recurrente. Permitiéndoles atender a los clientes, gestionar su base de suscriptores y las ventas que genera cada cobro", sostiene Fernando Luna Guzman, Co-Founder & CEO de Lyra Network para Chile, Argentina y Perú.

https://www.elitesaopaulo.com
https://www.empreendedordigitalbrasil.com
https://www.puebladiario.mx
Welcome Thread - v209
Tags: welcome
Published: 2023-01-18 19:32:09

---
title: Welcome Thread - v209
published: true
description: Welcome to DEV! A thread of hellos and intros.
tags: welcome
canonical_url: 
---

![Rodney Dangerfield climbing up on top of a mountain in lederhosen and calling out "Yodel-hey"](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mdzknnsbn24ovrhfx3fn.gif)

### Welcome to DEV!

1. Leave a comment below to introduce yourself! You can talk about what brought you here, what you're learning, or just a fun fact about yourself.

2. Reply to someone's comment, either with a question or just a hello. 👋 

**Great to have you in the community!**
Creating Stunning Presentations with ExpertSlides: A Review
Published: 2023-01-18 19:23:56

[](url)Are you tired of creating presentations that look generic and uninteresting? Are you looking for a tool that can help you create professional and engaging presentations quickly and easily? Look no further than ExpertSlides. In this blog post, we'll take a closer look at what ExpertSlides has to offer and why it's the perfect tool for creating presentations that stand out.


**ExpertSlides** is a certified Microsoft 365 partner and offers a presentation template Add-In exclusively for PowerPoint. It makes easy for anyone to create professional and engaging presentations. It comes with a wide range of templates, design options, and interactive features that allow you to create presentations that are tailored to your needs.

One of the best things about ExpertSlides is the wide range of templates that it offers for Microsoft Office. . Whether you're creating a presentation for a business meeting, a school project, or a personal presentation, you'll be able to find a template that suits your needs. These templates are not only visually appealing but also fully customizable. You can change the colors, fonts, and layouts, to make the presentation truly unique.

ExpertSlides also offers a wide range of design options and interactive features that can help make your presentations stand out. You can add images, videos, charts, and other multimedia elements to your presentations, and use animations and transition effects to make them more engaging. Additionally, you can use the built-in analytics to track the performance of your presentations and make data-driven decisions.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1fqusisocm69lg1lesra.jpg)

Overall, ExpertSlides is a powerful and user-friendly presentation tool that makes it easy for anyone to create professional and engaging presentations. Its wide range of templates, design options, and interactive features make it the perfect tool for creating presentations that stand out.

I am an affiliate for ExpertSlides and if you decide to purchase ExpertSlides using my [affiliate link](shorturl.at/dlox3) you will get a special discount. Not only that, but you'll also be supporting my website and allowing me to continue to create helpful content like this. So, give it a try and see the difference it can make in your presentations.

**Purchase Now!!** [Click Here](shorturl.at/dlox3)
**Purchase Now!!** [Click Here](shorturl.at/dlox3)
Speeding up Stream-Browserify
Published: 2023-01-18 19:13:37

Recently, I tried using a stream-based CSV formatter in a browser-based (actually ElectronJS) application. It was ridiculously slow, processing less than 100 records per second. These rows weren’t crazy long or anything, either. The problem can be traced back to the usage of Streams in the browser, though there are a couple methods that can be used to speed the process up. I suspect that this affects other applications as well.

The root of the issue can be traced back to nextTick(), a method which should wait just long enough for other code to run in NodeJS. When ported to the browser, this becomes `setTimeout()`, which must wait for the next animation frame. 

So when is `nextTick()` fired? **After every single chunk is read**. This really grinds things to a halt when `nextTick()` only fires after 1/60th of a second. The simplest solution is to run the transform directly and synchronously, bypassing the streams entirely. If you’re dependent on some upstream library that uses streams, I’d recommend patching it to expose the transform function directly.

In my case, simply re-writing the transform was sufficient, and sped up the procedure from multiple minutes to less than a second.
FreeYond revoluciona el mercado latinoamericano de Smartphones con el F9 y el M5
Published: 2023-01-18 18:59:32

Ambos teléfonos inteligentes brindan el valor inigualable, con especificaciones competitivas y diseño de calidad en comparación con la competencia al mismo precio.

América Latina es el cuarto mercado más grande del mundo para teléfonos móviles. En una región dominada por empresas como Samsung, MOTO y Xiaomi, FreeYond espera establecerse como un líder de facultad en el precio barato y el diseño de moda. La empresa nueva ha lanzado sus productos en México, Colombia, Chile y Perú en las principales plataformas del comercio electrónico Mercado Libre y Linio. También se ha lanzado globalmente en AliExpress, Shopee y Jumia.

"Hemos entrado en la siguiente etapa de la tecnología inteligente, donde estamos incorporando la Tecnología 4.0 en los teléfonos inteligentes y el hardware inteligente. En esta etapa, tener acceso a un teléfono inteligente de alta calidad ya no debería ser tan costoso", dijo el Dr. Lei Yu, director ejecutivo de FreeYond. "Con el F9 y el próximo lanzamiento del M5, nuestro objetivo es brindarles a los latinoamericanos un mayor valor por su dinero, con dos dispositivos de alta calidad que superan su peso en sus respectivos puntos de precio".

Yu continuó: "Estos dos modelos son solo el comienzo para nosotros. Continuaremos trayendo productos asequibles y de alta calidad al mercado latinoamericano en nuestra búsqueda por convertirnos en la marca de tecnología de hardware inteligente y móvil de alto valor favorita de la región".

Yu compartió que FreeYond actualmente está reclutando agencias de ventas globales para ayudar a hacer crecer su negocio.

"El sistema de ventas en el extranjero fuera de línea de FreeYond se encuentra actualmente en construcción rápida. Adoptará un método de cooperación completamente diferente al de Huawei, Xiaomi, OPPO, VIVO y otros sistemas internos para seleccionar socios en el extranjero. Basado en la simbiosis a largo plazo y la prosperidad mutua con los socios, nuestro sistema ha sido adoptado internacionalmente por agentes y distribuidores en los sectores de productos electrónicos de consumo locales en el extranjero. Ya ganando terreno, muchas agencias nacionales ya están estableciendo canales de distribución y sistemas de soporte de post-venta en ciertas regiones".

https://www.elitesaopaulo.com
https://www.empreendedordigitalbrasil.com
https://www.puebladiario.mx
Bienestar financiero de las personas con la app de Vest
Published: 2023-01-18 18:54:29

Para las personas en México y en Latinoamérica, el dinero siempre  ha impactado directamente en su estado de ánimo, y es que, de acuerdo a la plataforma de asesorías financieras Coru, 87%  de las personas mexicanas dicen que sus finanzas personales son fuente de ansiedad y estrés

Las finanzas siempre han sido un tema complicado, pero todos necesitan entenderlas. Por eso nació Vest, una herramienta  con la que podrás invertir en acciones, Fondos de inversión (ETFs), criptomonedas y portafolios asesorados; desde una sola aplicación, cuyo objetivo es que tengas la posibilidad de diversificar los ingresos y acercarte al mundo de las inversiones. Además, el dinero se guarda en dólares desde la primer transferencia que se haga en la cuenta,  ya que se trata de un broker-dealer regulado en Estados Unidos, por lo que los fondos e inversiones siempre serán en dólares, sin importar la moneda local. 

Memo Ochoa, además de haberse convertido en uno de los mejores jugadores de fútbol de su generación, en los últimos años se ha dedicado a invertir en empresas innovadoras, y al iniciar su camino como inversionista se ha  encontrado con las mismas preguntas que tienen muchas de las personas que quieren comenzar a invertir : ¿cómo empiezo? ¿es seguro invertir? y ¿en qué debería invertir?  Por esto, hoy Memo  ha decidido contribuir con la misión de Vest de mejorar el bienestar y prácticas financieras de las personas de México y América Latina, convirtiéndose en uno de los inversionistas, además de ser cliente y embajador de Vest.  

"En el equipo de Vest, estamos encantados de tener la oportunidad de cumplir nuestra misión junto a una persona como Memo,  tenemos un producto cada vez más completo, seguro, simple y accesible" declaró Aaron Polhamus, CEO & Co-Founder de Vest. 

https://www.elitesaopaulo.com
https://www.empreendedordigitalbrasil.com
https://www.puebladiario.mx
C++ da cout buyrug'i
Tags: programming, cpp, beginners, tutorial
Published: 2023-01-18 18:38:39

 Ushbu maqola orqali siz C++ dasturlash tilidagi eng muhum buyruqlardan biri bo'lgan **cout** buyrug'i haqida bilib olasiz.

`cout <<` ushbu maxsus buyruq ekranga(console)ga chiqarish vazifasin bajaradi.

**Misol uchun:** `cout << 222222 << endl;`. Ushbu kodda console'ga 6 ta 2 raqami chiqadi.
CodePen Designs - 22 : Auto Rotate Slider
Tags: codepen, css, webdev, design
Published: 2023-01-18 17:51:55

### We are excited to introduce our new series that will explore the best design ideas from the Codepen community. 

We will be publishing these each day and hope you find them insightful and inspiring as we showcase some of the most talented designers in this space.

---


#### Codepen Design - 22

<p>hello coders, please check the auto-rotate slider for the frontend purpose, this pen contains the image slider with the jquery logic to loop them in every 4 second. Have a look and share the pen</p>

{% codepen https://codepen.io/PedalsUp/pen/ZErypwK %}


---
## For more information

1. Check my GitHub profile
[https://github.com/amitSharma7741](https://github.com/amitSharma7741)

2. Check out my Fiver profile if you need any freelancing work
[https://www.fiverr.com/amit_sharma77](https://www.fiverr.com/amit_sharma77)

3. Check out my Instagram
[https://www.instagram.com/fromgoodthings/](https://www.instagram.com/fromgoodthings/)

4. Linktree
[https://linktr.ee/jonSnow77](https://linktr.ee/jonSnow77)

5. Check my project

- EVSTART: Electric Vehicle is the Future
[https://evstart.netlify.app/](https://evstart.netlify.app/)
-  News Website in react
 [https://newsmon.netlify.app/](https://newsmon.netlify.app/)
-  Hindi jokes API
 [https://hindi-jokes-api.onrender.com/](https://hindi-jokes-api.onrender.com/)


---
---
What Do Web Developers Do?
Published: 2023-01-18 17:45:33



I asked myself this same question before joining a Developer's
Bootcamp. I did not know what I was getting myself into; web
development is intimidating for someone with no IT background.

 Although I did some research online,  the information on the internet
and Youtube was still vague and very difficult to understand. I still
did not know exactly what a developer did.

Questioned Answered:



 During the 1st week of the Web Developers Bootcamp, I learned that
web developers work in teams to create and maintain web applications.
Some of the products they would work on would allow users to get
information, socialize and make purchases. These teams solve
real-world problems through a specific process.

This process involves:

1. Identifying the problem
2. Finding a solution
3. Testing the product until its release to the end user
Hacky New Year 2023 Jan 28 - Hackathon
Published: 2023-01-18 17:44:42

Want to hear about more hackathons? 

I work on an open source project, [EnCiv](https://www.democracylab.org/events/65/projects/281) - making online democratic discourse productive.  We're one of the projects at DemocryacLab's Hacky New Year Hackathon on Jan 28th.  It's online and in person. in Tokyo, Seattle, and Lagos. Sign up or learn more at [DemocracyLab](https://democracylab.org/events/hackynewyear2023)

It’s a chance to get inspired, imagine a better future, and contribute your talents to projects that need your help. We believe that this will be the world's first public multi-location hybrid tech-for-good hackathon. The event will last 22 hours, beginning online and in Tokyo, Japan, moving to Lagos, Nigeria, then concluding in Seattle, USA.  

Projects will need coders, designers, researchers, project managers, marketers, subject matter experts, test users, and just ordinary people. Bring your creativity, your collaborative spirit, and a smile to share.  See the participating projects at [https://democracylab.org/events/hackynewyear2023](https://democracylab.org/events/hackynewyear2023)

This event is a collaboration between [Code for Japan](https://www.code4japan.org/en), [Code for Africa](https://codeforafrica.org/), [Code for America](https://codeforamerica.org/), [Code for All](https://codeforall.org/), and [DemocracyLab](https://democracylab.org).
JavaScript In Nutshell: Comma Operator, Strict Equal and Optional Chaining
Published: 2023-10-18 08:14:26

---
title: JavaScript In Nutshell: Comma Operator, Strict Equal and Optional Chaining
published: true
date: 2023-01-18 17:30:00 UTC
tags: 
canonical_url: 
---

JavaScript မှာ Underrated ဖြစ်တဲ့ Language Feature ရှိပါတယ်။ သူက Comma Operator လေးပါ။ သူ့ကို Sequentially Execute ချင်တဲ့အခါသုံးလို့ရပါတယ်။ ကျွန်တော်လည်းအရင်ကသတိမထားမိပါဘူး။ ခုမှမိုက်တယ်ဆိုတာသိရတာပါ။ Usage ကဒီလိုလေးပါ။

```
const a = () => 'a'
const b = () => 'b'
const c = true ? (a(), b()) : false //'b'

```

သူ့က Language Semantics အရ Left to Right Execute ပါတယ်။ ဒါ့ကြောင့် a() Call ပြီးတာနဲ့ b() ကိုအစဉ်လိုက် Call ပါတယ်။ ဒါ့ကြောင့် c ရဲ့ result က b() ရဲ့ Return Value ကိုပြန်ရမှာပါ။ ဒီ Example ကိုကြည့်ပါ။

```
const count = 10;
const updateCount = () => count += 1
console.log(
updateCount(),
updateCount()
) // 11, 12

```

`updateCount()` နဲ့ count ရဲ့ value ကို update ချင်တာပါ။ Final Result ကိုလိုချင်တယ်ဆိုရင် Comma Operator သုံးပြီးတော့ယူလို့ရပါတယ်။

# Strict Equal

JavaScript မှာ Equality စစ်ဖို့အတွက် Operator နှစ်ခုရှိတယ်။ Double and Triple Equal ပေါ့။ Double Equal က Value ကိုပဲစစ်ပေမဲ့ Strict Equal ဖြစ်တဲ့ Triple Equal ကတော့ Explicit ဖြစ်အောင်လုပ်ပြီးတော့စစ်တယ်။ Strict Equal က သူ့ရဲ့ Left and Right Operands တွေရဲ့ Value တွေကို Boolean အဖြစ် Coerce ပစ်တယ်။ Coerce တယ်ဆိုတာက Type Conversions ကိုပြောတာ။ Empty String နဲ့ False နဲ့ ညီမညီစစ်ကြည့်တဲ့အခါ Strict Equal နဲ့တိုက်စစ်တာမို့လို့ Language ကမြင်တဲ့အခါမှာ Boolean အနေနဲ့ပြောင်းပစ်တယ်။

```
console.log("" === false)

```

ဒီလိုမျိုးပေါ့။

```
console.log( Boolean ("") === false) // true

```

Empty String ကဘာဖြစ်တယ်ညာဖြစ်တယ်ဆိုတာ Language Semantics အတိုင်းသွားပြီးတော့စစ်လိမ့်မယ်။ ဒါ့‌ ကြောင့် Safe ဖြစ်ချင်တဲ့ကိစ္စတွေမှန်သမျှကို Strict Equal သုံးမှအဆင်ပြေမှာပါ။ Optional Changing JavaScript မှာ **Cannot read properties of undefined** ဆိုတဲ့ Error ရှိတယ်။ မြင်ပါများလို့အလွတ်တောင်ရတဲ့ Error Type ထဲပါတယ်။ ဒီလိုပြဿနာမျိုးက NULL or Undefined ဖြစ်တဲ့အခါမှာဖြစ်လေ့ရှိပါတယ်။ Unsafe ဖြစ်တာမျိုးပါ။

```
const user = {
name : "Mg Mg"
}
console.log(user.age) // error

```

user Object မှာဆိုရင် age property ကမရှိဘူး။ ဒီတော့ Property မရှိတဲ့ပြဿနာတက်မယ်။ ဒီကောင်ကို Cover ဖြစ်ဖို့ဆိုရင် **Optional Chaining** ကိုသုံးလို့ရတယ်။

```
const user = {
name : "Mg Mg"
}
console.log(user?.age) // undefined

```

**Optional Chaining** နဲ့စစ်တဲ့အခါကြရင် ခုနက Error မဖြစ်တော့ဘဲနဲ့ Expression တစ်ခုလုံးက Undefined ဖြစ်သွားမှာ။ ဒီတော့ ကိုယ့်ဘာသာ Error Handling ရတာပိုလွယ်သွားတာပေါ့။
Vite ssr
Tags: react, vite, ssr, webdev
Published: 2023-01-18 17:22:14

Hello everyone. I have implemented end deploy succefuylly my website in reactjs and vite to manage the webpack. I would like to ask you to help me to implement the ssr. I would render the page from the server in the html page.

This is the [website](https://www.federicocalo.dev)
This is the [repo ](https://github.com/fedcal/portfolio-personale-reactjs)on github, where you can find the code