teleren/devto huggingface dataset:
How My Coffee Maker Taught Me to Love Types
Tags: types, javascript, typescript
Published: 2019-07-17 20:11:59

---
title: How My Coffee Maker Taught Me to Love Types
published: true
description: A lesson in how types can help you avoid mistakes
tags: types, javascript, typescript
cover_image: https://images.unsplash.com/photo-1447933601403-0c6688de566e?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=500&q=60
---

TypeScript.

That one word had hung around the edges of my consciousness for months. VS Code would suggest the `.ts` extension for every new file I created, and every time my answer would be, "Not today." Looking up the implementations of JavaScript functions would bring me to TypeScript type definition files, which always looked a tad too intimidating to parse. I'd read quotes about the growing inevitability of typed JavaScript and think that that inevitability didn't apply to me. When had I ever run into a problem that typing would solve?

Little did I know that the evangelist that would convert me to the typed way would be my own coffee maker.

Like many work-inclined people I know, coffee fuels a large part of my working day. And like many developers I know, I follow my creative inspirations wherever they might take me -- often into the small hours of the night. At the end of my working hours, I typically set a pot of coffee on autobrew for the following morning so I can start my next day without missing a beat.

One day a couple weeks ago, I woke up to a calamity: coffee grounds everywhere. Coffee grounds in my coffee, coffee grounds on the counter, coffee grounds trailing down my cabinet doors and pooling on the kitchen floor below.

As it turns out, in my early-morning code-addled stupor, I had forgotten to put the filter back into my coffee after cleaning it. It was in that moment of cleaning coffee grounds that I realized why I had to start typing my JavaScript immediately.

Effectively, I realized that my coffee maker was like vanilla JavaScript. It was happy to let my delirious, inattentive self set my coffee up however I wanted. There were no checks to make sure that I had put in a new filter, no checks that I had put in new coffee grounds, no checks that I had put in water, no checks whatsoever to ensure that I would actually have coffee in the morning and not a waterfall of wasted grounds. Any problems that resulted from my coffee setup would have to be handled when it was time to brew, not while setting up and actually had the time and (some of) the attention span to fix things.

If my coffee machine had been strictly typed? Sure, maybe I would have been annoyed that my machine was bleeping at me to fix my improper setup when the only thing I wanted to do was go to sleep. But I would have fixed things all the same, and my diligence would have been rewarded with morning coffee.

There are few things more important to me than coffee, and properly-working code is one of them. So, while the jury's still out on when we'll see strong typing make its way into home appliances, I decided right then and there that I would start my journey into TypeScript.
Recursion recall, because it's necessary
Tags: computerscience, beginners, algorithmsanddatastructures, interviewprep
Published: 2019-07-17 20:10:48

Continuing on since my last post on Big O, which involves time and space complexity of programs, I'm adding a quick recall of an often used, if not completely understood concept. RECURSION!


What it do?

Recursion, in the most basic terms ,is a function that has the ability to call itself.It is used all the time in in programming and is seen as a cleaner alternative to iteration.

With recursion, you use a different input each time until you reach your base case.

For example, you have an array of numbers and you want to find out which of the elements are odd. So knowing that even numbers are anything divisible by two with no remainder, I can say my base case is
N%2 where N is an element in the array divided by two with no remainder.

I could put this in a helper function that uses this as the base case when no matter what my inputs. We need a base case and different inputs to ensure that program returns the base case when conditions are met.

So this was my quick recall of recursion. I will come back and post an updated version as I learn more. Constructive criticism is greatly appreciated and hopefully this helps you too.


Thanks for reading.....k bye :)
Youtube Video: Static Web Page Live Reload with Live Server 
Tags: html, webdev, javascript, vscode
Published: 2019-07-17 19:55:53

---
title:  Youtube Video: Static Web Page Live Reload with Live Server 
published: true
description: Youtube Video: Static Web Page Live Reload with Live Server extension in VSCode
tags: HTML, WebDev, JavaScript, VSCode
---

In this video, I have talked about a great extension for VSCode called live server by Rickwick Day. 

It's a great productivity boost for your frontend development for static web pages. It provides a virtual HTTP server and does hot reloading whenever you make changes to your files like HTML, CSS, and Javascript. So you don't need to reload manually. It' saves you lots of time. Hope you like this video.


{% youtube TRs0r5-nAqI%}

You can install this extension from VSCode directly or you can download it from below link and install

https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer

If you like this video and wanted to see a similar kind of video then, please subscribe to my youtube channel at - http://bit.ly/codewithjv
How to implement IndieWeb's POSSE for Twitter?
Tags: indieweb, posse, twitter, discuss
Published: 2019-07-17 18:30:36

I'm a big fan of the [IndieWeb](https://indieweb.org/) movement, and I love their idea of [owning your content](https://indieweb.org/own_your_data). In this sense, their [POSSE](https://indieweb.org/POSSE) content publishing model is absolutely valuable. But I'm facing problems in how to implement it on my personal website. Do you use the POSSE model?
Is C# Hard to Learn?
Tags: programming, microsoft, net
Published: 2019-07-17 18:29:09

---
title: Is C# Hard to Learn?
published: true
description: Aspiring developers like the job demand for C# but want to know if the learning curve is too steep for a newcomer to the industry
tags: c#, programming, microsoft, .net, 
---

{% youtube 6LvQyQvaVZs %}

Highlights:

1. All programming languages are "hard" to learn

2. So... choose a coding language like C# that is in demand with employers

3. Why [Bobby Davis](https://www.youtube.com/channel/UCTGgxc_jIz2z9mpfInuPHWQ) reluntantly learned C#

4. How to learn C#, fast
Books I've Read Or Listened To
Published: 2019-07-17 17:50:30

---
title: Books I've Read Or Listened To
published: true
description: 
tags: 
---

Decided to create a living document of all the books I have read or listened to that help me become a better programmer and person. Updating this weekly, so don't hesitate to check in often or ask me about any of them for feedback before you read it.


[Rework](https://www.amazon.com/Rework-Jason-Fried/dp/0307463745)
[Atomic Habits](https://www.amazon.com/Atomic-Habits-Proven-Build-Break/dp/0735211299/ref=sr_1_3?keywords=atomic+habits&qid=1563385329&s=books&sr=1-3)
[Discipline Equals Freedom](https://www.amazon.com/Discipline-Equals-Freedom-Field-Manual/dp/1250156947/ref=sr_1_1_sspa?crid=2H82C35Q4W448&keywords=discipline+equals+freedom+field+manual&qid=1563385743&s=books&sprefix=discipline+equals+freedom%2Cstripbooks%2C135&sr=1-1-spons&psc=1)
[Design How People Learn](https://www.amazon.com/Design-People-Learn-Voices-Matter/dp/0134211286/ref=sr_1_2?keywords=Design+HOw+People+Learn&qid=1563392661&s=gateway&sr=8-2)
[Getting Things Done: The Art of Stress-Free Productivity ](https://www.amazon.com/dp/B07VGJQ86Y/ref=sr_1_2?keywords=%E2%80%9CGetting+Things+Done%E2%80%9D+by+David+Allen&qid=1563392709&s=gateway&sr=8-2)
[Lean UX: Applying Lean Principles to Improve User Experience](https://www.amazon.com/Lean-UX-Applying-Principles-Experience/dp/1449311652)
[The Design of Everyday Things](https://www.amazon.com/Design-Everyday-Things-Revised-Expanded/dp/0465050654/ref=pd_lpo_sbs_14_t_0?_encoding=UTF8&psc=1&refRID=2J7QAYTWKZW9HRBGHSVH)
[Don't Make Me Think, Revisited](https://www.amazon.com/Dont-Make-Think-Revisited-Usability/dp/0321965515)
[Deep Work](https://www.amazon.com/Deep-Work-Focused-Success-Distracted/dp/1455586692)
[How To Make People Like you in 90 Seconds Or Less]()
[Seven Habits Of Highly Effective People]()
[You Are A Bad Ass]()
[Public Beta] Stripe Command Line Interface needs your help!
Tags: stripe
Published: 2019-07-17 17:41:50

We’re testing a new command line interface (CLI) to help with Stripe integrations. The main feature in this beta is the ability to receive Stripe webhook events and forward them to your local development server without relying on third-party tunneling software. Please try it out and send us feedback. Check it out! https://github.com/stripe/stripe-cli
Google India — Phone Call Interview Question (Software Developer)
Tags: interview, career, webdev, beginners
Published: 2019-07-17 17:39:03

---
title: Google India — Phone Call Interview Question (Software Developer)
published: true
description: 
tags: #interview #career #webdev #beginners
canonical_url: https://medium.com/@ideepak.jsd/google-india-phone-call-interview-question-software-developer-5a164e97ddeb
cover_image: https://miro.medium.com/max/1400/0*v-ST6aVYx6x5FbW3
---

Before I tell the question, for which you are here, this interview was for a software developer position and mostly working around javascript.

*Note: I am still in the process of interviews so not sure if I will able to make it to a face to face interview 🤞, Wish me luck.*

The interview lasts for 25 min on a phone call out of which 2–3 min were taken by the interview to explain the responsibilities of the role and later she asked around 12 questions which were a mix of my resume, basic data structure, algorithm, and analytics.

*Note: I write articles around javascript concept, Nodejs, React, React-native, GraphQl, System Architecture — @ http://overflowjs.com
Feel free to check out and improve on your skills or comment to cover any topic of your choice.*

So, let’s start 👇

1. Tell me about yourself?
2. What technologies you have worked on?
3. Why I switched so frequently in the past 3 years?
4. Have you done any system design from scratch?
5. Worst case scenario of quicksort and when will worst case occurs?
6. Worst case scenario of merge sort and when it will occur?
7. Which is faster quicksort or merge sort, when and why?
8. What are Hash tables and how is it different from a dictionary?
9. What is a balanced binary search tree? Why they are called balanced?
10. In javascript, the resolution is done by value or by reference and why?
11. How will you solve or approach to problem 2 raise to power 24?
12. Any question for me?

*Note: Comment down below if you want to me write the answer to these question👇*

At last, she told me to wait for a week as she will pass on the answer to the team and will revert back with the feedback.

Hope the above question help someone looking out for some idea around the Google phone call interview question.

Happy Coding ❤️
Hello dev.to! Breaking the ice :)
Tags: noob
Published: 2019-07-17 16:24:23

In the beginning...

Googling around about Atom vs VSC after finding out VSC has official ethereum support found out this article by Ben Halpern:

https://dev.to/ben/why-i-switched-from-atom-to-visual-studio-code

And just like that decided to open an account here.

Cheers!
how to make ESP8266/ESP32 AVRISP (micropython)
Tags: micropython, esp8266, esp32, avr
Published: 2019-07-17 16:18:25

I have some esp8266 chips, but there is no built-in usb writer like FTDI. Without the USB writer, it is difficult to download the new esp8266 firmware. With MicroPython, it is easy to reprogram the operation of esp8266. MicroPython is very nice.

And esp8266 can be AVRISP with [ESP8266AVRISP](https://github.com/esp8266/Arduino/tree/master/libraries/ESP8266AVRISP) library.
But the library is for arduino only.

I would like to use the ESP8266AVRISP library with MicroPython on esp8266.
So I ported the library to MicroPython.

https://github.com/tab4moji/ESPAVRISP

```
$ avrdude -v -p t13 -c arduino -P net:192.168.0.2:328 -U flash:w:FIRMWARE_FOR_AVR.hex:i
```
Continuous Deployment on Hostinger
Tags: webdev, devops, git
Published: 2019-07-17 16:05:14

---
title: Continuous Deployment on Hostinger
published: true
tags: Web Development, Dev Ops, Git
canonical_url: https://lautarolobo.xyz/blog/continuous-deployment-on-hostinger/
Description: Wondered how to get Continuous Deployment on Hostinger? Me too! That's why I wrote this post.
---

I couldn’t find any good guide about this topic, so I wrote it my self!

First things first, what is Continuous Deployment? Really broad: you change the file, test it, build it and gets deployed (gets live) automatically.

Sounds good, isn’t it?

Let’s see how we can make this happen!

> _This tutorial assumes that you have your site on a repository at GitHub, if that’s not your case, [submit it to GitHub](https://github.com/new) and you’ll be ready to go._

## On Hostinger

* Go to your cPanel > Advanced > Git.

* Add your repository address, where you have all your site’s files (Images, Stylesheets, everything must be in this repo). Copy and paste the address that shows up when your click on the “Clone or download” button founded at your GitHub repository. Leave everything else as it is, unless you [know](https://help.github.com/en/articles/about-branches) what you’re doing.

* You may have read somewhere that your public\_html folder must be empty. Absolutelly right, on your left bar, go to Files > File Manager.

* There, click the green button.

* Now delete all what is there (be sure to have a backup, just in case).

* Now go back to Git on cPanel, and click the Manage button at the side of the repo you just added, and then click on Auto Deployment.

* A Webhook is an HTTP callback (HTTP POST), that occurs when an specific event happens. In this case, when a commit takes place on your repo. There’s also [that GitHub guide](https://developer.github.com/webhooks/creating/) about setting up Webhooks, but I found my explanation more straight to the point. After you copied the Webhook URL let’s go to the second easy-peazy part.

## On GitHub

* Get into your site’s GitHub repository, and go to Settings > Webhooks > Add webhook.

* There, paste the URL that you copied from Hostinger into the _Payload URL_ field. At _Content type_ select the _application/json_ option, and everything else as it is. Change things on your own risk! (actually nothing bad can happen, just, it may be won’t work as expected). After that, click the green button.

## That’s it!

Now you have Continuous Deployment on Hostinger, through Git.

Use the comments to say thanks if this was worth your time, and share to someone who may be interested. On the unlikely case where things didn’t work to you, tell me in the comments below and I’ll give you a hand, see you next time!

PS: originally posted on my personal blog site.
My first iOS Framework 🎉
Tags: swift, framework, first
Published: 2019-07-17 15:42:40

---
title: My first iOS Framework 🎉
published: true
description: 
tags: Swift, Framework, First
---

Big day for me today.
### I just released my first public iOS framework !

Called [UIDrawer](https://github.com/Que20/UIDrawer).
It's custom UIPresentationController that display modals like a bottom drawer, a component you may have seen in several system iOS apps (like maps) and on multiple Android apps.

For a recent project, I needed this component. It wasn't the first time I encountered that kind of product request and I decided to make a distributed framework out of it.

![](https://github.com/Que20/UIDrawer/raw/master/demo.gif)

I am very proud of it. I feel like there is a gap between writing your lines of code for projects and exposing publicly those lines, as a framework anyone could use.

What about you?
When did your write your first Open Source framework ?
How to handle 401 unauthorized error in a Redux React application
Tags: react, javascript, redux, reactnative
Published: 2019-07-17 15:39:03

In response to a client request, the server may return a 401 Unauthorized error. You must correctly catch it, for example, clear the state and redirect to the authorization page. To solve this problem, we wrote a custom Middleware which, in our opinion, is the best solution.
```js
import * as actions from 'actions';

const authInterceptor = ({ dispatch }) => (next) => (action) => {
  if (action.status === 401) {
    dispatch(actions.removeJwt());
  } else {
    next(action);
  }
};
```
¿Is using Jquery a bad practice nowadays?
Tags: javascript, jquery, discuss
Published: 2019-07-17 15:08:05

I have seen this library in the recent courses I've taken. Playing around with vanilla JS I really found it useful!
However, I've seen lots and lots of posts dismissing the use of Jquery, probably in favour of the use of a fancy new framework as React or VUE.
But I found these opinions very drastic and non-newbie friendly. Starting with a framework is medium-advanced stuff that maybe not everybody is ready for.

What do you think?
What software projects made you "wow" 🤯
Tags: discuss
Published: 2019-07-17 14:58:14

Be it a historical project, a brilliantly built npm package, an application, etc. What has struck you as an incredible feat of software development?

It doesn't have to be massive in scope, it could just be one awesomely thought out class, but if you've ever been incredibly impressed, let's hear about it.
How to render HUGE lists in React?
Tags: react
Published: 2019-07-17 14:52:13

---
title: How to render HUGE lists in React?
published: true
description: Rendering small lists in React is simple if not trivial. In this tutorial i'm showing how to render HUGE lists with thousands of items. We'll take a look at react-window package and also react-window-infinite-loader.
tags: react
---

Rendering small lists in React is simple if not trivial. In this tutorial i'm showing how to render HUGE lists with thousands of items.

We'll take a look at react-window package and also react-window-infinite-loader.

[Talk by Brian Vaughn](https://bvaughn.github.io/forward-js-2017/#/12/5)

[My Youtube Channel](https://www.youtube.com/channel/UC5hby9iDkwOTQM7PIjyjbgw)

[Example repository](https://github.com/satansdeer/react-window)
Building the future, in the open.
Tags: discuss, opensource
Published: 2019-07-17 14:50:14

> I believe that in the future, major advancements in technology will be made by regular people, pushing code to a public repository.

## The power of open-source software

As the world of OSS continues to expand, it is imperative developers come together to build software that solves everyday problems. A lot of companies are already jumping on this train. Startups like [Comma](https://comma.ai), [Rainbow](https://rainbow.me) and [Keybase](https://keybase.io) are developing their user-facing software in the open, and the results are mind-blowing. For example, Comma supports more cars than any other self-driving software due to community support. Even [the software used in the imaging of the black hole](https://github.com/achael/eht-imaging) is on GitHub. Incredible, right?

## OSS and Developer Tools

Looking at most open-source software that exists today, a minute percentage of them are consumer-facing. Most of them are developer tools. As important as developer tools are, they only scratch the surface of the potential of the open-source community. Imagine if the number of contributors on [React](https://facebook.github.io/react), worked on a solution to detect natural disasters before they occur.<sup>[1]</sup>

## Hindrances and Workarounds

What then are the hindrances to this movement that can catalyse the evolution of technology? Fear that the competition will steal your source code.

Well, here's where licenses come in. For example, under the GNU GPL V3 license, the "competition" has a right to clone and use your software, on the condition that they make their version open-source as well. (Meaning you can benefit from the improvements they make ;)). This may not be a perfect solution, but most of the time, the contributions gained outweighs the code copied (read stolen).

#### Shameless Plug: [Overt](https://overt.dev)

To play my modest part in building this future, I've begun working on [Overt](https://overt.dev), a project that aims to create software that solves many of the problems humans face everyday. To begin with, I'm working on [Auxilium](https://github.com/overthq/Auxilium), an app that helps people report accidents and emergencies around them, and inform others in their vicinity.

<small>1 - This should not be taken as an attack on the React developer community, or the developer-tools community at all. In fact, I use React everyday at work.</small>

###### About Me

> I'm a 16 year-old Nigerian software developer currently working as an intern at [G2i](https://g2i.co). I believe in the power of open-source and collaboration.

P.S.: This is my first article here. I'd appreciate any form of (constructive) criticism on it. Thanks for reading.
Inspector live on Product Hunt
Tags: php, saas
Published: 2019-07-17 14:48:43

Hi, I'm Valerio, software engineer based in Italy and creator of Inspector, a developers tool published now on Product Hunt: [https://www.producthunt.com/posts/inspector](https://www.producthunt.com/posts/inspector)

As product owner I learned on my skin how an application issue isn't just a technical stuff. For software-driven companies it could create a negative impact on the users experience during on-boarding process or affect engagement.

I publish new code changes almost every day and unfortunately it's quite impossible to anticipate all the problems that could happen after every release. Furthermore users don't spend their time to report bugs, they eventually stop using our application, looking for another one that fits their needs better.

In most of the projects I've worked on the 50% of the drawbacks for users were caused by simple code mistakes, often in the code executed in background where it’s even more tricky to know if all is working fine or something is broken, and the more the application grows the more difficult it is to avoid incidents.

Thanks to Inspector I no longer need to spend a lot of time to search errors inside logs manually, trying to anticipate users complaints, because an autonomous tool is doing this job for me, bubbling up anything that could create a problem for users.

I can trust Inspector to debug my applications for me, 24/7, and alert me to any issue or performance degradation in real-time so I can address them immediately. In the meantime I can spend my time in more productive tasks instead of being worried that a user comes to me because the application doesn't work as expected.

I built inspector with one concept in mind: "Easy and clear". In its first months of life I received a lot of positive feedback from my users (also paying users) and now I would share this solution with a more larger audience.

Inspector ships as composer package that you can install in your app in seconds like any other dependency.

The product journey is publicly available on IndieHackers: https://www.indiehackers.com/pro...

There's a free forever plan with limited capability to give you the best opportunity to try it without deadline chasing you, if you want adopt Inspector as your application monitoring system I created a special promotional code that cuts the cost of a subscription by 20% for lifetime: 

yrERJDHD => It expires Friday 24 July

Thank you for your interest, I hope in your feedback.
Valerio