teleren/devto huggingface dataset:
Food Delivery App Design - User App - Part 1
Tags: ionic, firebase, food
Published: 2020-04-11 06:43:09

Hello Everyone!

I have created my food delivery app with Ionic and Firebase. I'm sharing my app designs here. please share your feedback

Credits: https://mythemebox.com/template/ionic-food-delivery-single/

---

- User App: https://dev.to/mythemebox/food-delivery-app-design-user-app-part-1-4cnf
- Driver App: https://dev.to/mythemebox/food-delivery-boy-app-design-part-2-2-18go

---


## User App Design

![](https://github.com/codesundar/ionic-firebase-food-delivery/raw/master/screenshots/user-app-1.png)

![](https://github.com/codesundar/ionic-firebase-food-delivery/raw/master/screenshots/user-app-2.png)

![](https://github.com/codesundar/ionic-firebase-food-delivery/raw/master/screenshots/user-app-3.png)
Endless Ruby
Tags: ruby, news, newfeature, endless
Published: 2020-04-11 06:20:35

A very interesting feature was proposed to be added to Ruby. If you can imagine from the title - Yes! endless Ruby. But in what context? Let's see in this blog post. 

Method definition in Ruby is done this way :

```ruby
def some_method
# one-line method body
end 
```
The proposal is to allow the below syntax for method definitions

```ruby
def value(args) = expression
```

You see, there is no end keyword hence endless. 
This just applies to method definitions.

With this in place, the below examples can be considered

```ruby
def hello(name) = 
  puts "Hello #{name}!"

hello('endless Ruby') #=> Hello endless Ruby!
```
and

```ruby
def square(x) = x * x

p square(4) #=> 16
```
and 

```ruby
x = Object.new
def x.foo = "FOO"

p x.foo #=> "FOO"
```

I felt it would a nice thing to add, as we often write one-line methods.

Discussions on this proposal are happening [here](https://bugs.ruby-lang.org/issues/16746). Feel free to visit and express your thoughts.
Notes: How to Write Usefully
Published: 2020-04-11 06:20:30

#[How to Write Usefully](http://www.paulgraham.com/useful.html)
* For writing to be useful, claims have to be as strong as they can be without being becoming false.
* Useful writing tells people something they didn't already, or at least that they knew subconsciously but have not put into words.
* Lose then tight: write your draft fast, try all kinds of ideas. Then spend a lot of time rewriting it, Paul Graham spends days.
* When you are rewriting, reread many times fixing any clumsy sentences.
Meu primeiro código em Haskell
Tags: haskell, functional
Published: 2020-04-11 06:18:52

Seguindo o plano de estudar uma nova linguagem por ano, em 2020 decidi voltar as atenções para [Haskell](https://www.haskell.org), apesar da falta de tempo.

Os motivos pelos quais tomei essa decisão talvez fiquem para um próximo post, pois a razão de eu estar escrevendo este em particular é para compartilhar (com muita felicidade) meu primeiro código utilizando essa linguagem e o paradigma funcional. O que foi uma experiência e tanto pra mim.

{% twitter 1244474675486511107 %}

Escolhi como primeiro projeto algo simples: um "validador" de CPFs. E mesmo assim, devo dizer que não foi fácil.

Não que Haskell em si seja tão complicado como dizem por aí. É que estando tão habituado a resolver problemas utilizando linguagens imperativas, tentar algo pela primeira vez em uma linguagem funcional acabou me fazendo quebrar a cabeça mais do que queria aceitar.

Em diversos momentos ficava pensando como eu já teria resolvido algo se pudesse utilizar um `for` ou um `if`. Mas a ideia era exatamente essa: me forçar a pensar de maneiras diferentes sobre como resolver um problema - tentar novas abordagens.

Com uma linguagem que, de certa forma, te obriga a pensar diferente não há  outra alternativa senão queimar alguns neurônios.

E, já que queria algo mais básico para testar os conhecimentos, escolhi um vídeo no YouTube explicando o procedimento e desenvolvi o programa em cima do que estava sendo mostrado. O vídeo em questão é do canal [Toda a Matemática](https://www.youtube.com/channel/UCwnv0WmFneTIW76wULgFlcQ) e segue abaixo pra quem quiser dar uma olhada:

{% youtube sIR9c4Qx53U %}

Indo agora ao objeto deste post, segue o Gist de onde cheguei até o momento:

{% gist https://gist.github.com/mrioqueiroz/0eb3c53a459b49cc9800107b4e5362ed %}

Ainda tem muita coisa que quero implementar e melhorar. Tenho certeza que o código não está idiomático como poderia. Desse modo, já aproveito pra pedir críticas e orientações a outros programadores mais experientes.

E vou por aqui seguindo com os estudos. Espero em breve poder compartilhar mais sobre o que tenho aprendido e quem sabe ajudar outros que estão nessa mesma caminhada.

Até breve!
Playing More Hooky with React
Tags: react, beginners
Published: 2020-04-11 06:12:34

A few posts ago, I wrote [Playing Hooky with React](https://dev.to/katkelly/playing-hooky-with-react-56e8) that touched on `useState` and `useEffect` and how my mind was blown away about the ability to use state and lifecycle methods without the need to write a class component. Though my mind is no longer blown, I still find exploring Hooks to be as fun as it was that first time I learned it. Since then, I have been exclusively building React and React Native projects using only function components and Hooks and don't see myself stopping anytime soon for the following reasons.

###No More Class (Components)
Going off of my hooky theme, no more classes is as fitting as you can get. You can skip initializing a constructor, making sure you add `this` wherever appropriate, remembering to bind the event handlers, and using `render()` to return HTML.

All of your components need only be function components now. If you need to utilize local component state and/or lifecycle features, you can just "hook into" it through Hooks. Your components can stay more reusable and composable, and oftentimes will be less verbose than classes. 

Hooks cover a lot of existing use cases for classes. The React docs do indicate there may be more Hooks coming out in the future that will be usable out of the box, such as a way to get previous props or state (like a `usePrevious` Hook). Currently in a function component, the only way to get previous props or state is manually with a ref, or you can extract the ref out into a custom Hook to be reused in other components.

###Easy to Reuse Stateful Logic
If you need to reuse and share stateful logic between components, you can build your own custom Hook to save the day.  

In the past, the most common ways to share stateful logic between components was with render props and higher-order components. Now with custom Hooks, it solves this problem without adding more components to your tree. Good stuff. 

Perhaps my next post will dive deeper into the whys and hows of custom Hooks. See you next time!
How to send SMS in 5 seconds right from your Terminal?
Tags: tutorial, beginners, showdev, productivity
Published: 2020-04-11 06:10:50

# 📨Shell-SMS-Shender

A Simple command line tool to send SMS from the command line using the Twilio API.

#### Send SMSes Swiftly right from your Shell
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/flh9p0qlkg14noqhdbbu.png)

{% github CT83/Shell-SMS-Shender no-readme %}


### Getting Started

1. Clone the repo. `git clone https://github.com/CT83/Shell-SMS-Shender.git`, cd into it
2. `chmod 775 sss-client `
3. Head to the Twilio console. Either log-in or sign up for a free account, and look for the Account Summary, make sure you have already [bought a Twilio Phone Number](https://support.twilio.com/hc/en-us/articles/223135247-How-to-Search-for-and-Buy-a-Twilio-Phone-Number-from-Console).
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/hhmqlyw50xc70755mbff.png)
4. Copy the credentials and your phone number in a new file `.config`, and add it to the root of the repo, like so.```bash
   ACCOUNTSID=XXXXXXXXXXXXXXXXXXXXXXXX
   AUTHTOKEN=XXXXXXXXXXXXXXXXXXXXXXXXXX
   CALLERID=507-697-0XXX
   ```
5. Done! Type `./sss-client` 

### License

MIT License. You are free to do anything. 🙃

### References

I found [this](https://www.twilio.com/labs/bash/sms) too by Twilio while researching, I modified it to suit my needs.
Streamed another SwiftUI live coding session
Tags: swift, twitch, livestream
Published: 2020-04-11 04:50:02

Because life and coding are not terrifying enough, I have gone ahead and streamed another SwiftUI development session, mistakes and me learning included.

I do these because I want people to know that even those of us who code every day don't have all the answers to hand and even we have to look up and learn things as we use them.

This time around I am learning how to share state between views and the magic of SwiftUI that tells views to update when that data changes.

You can find a reply of the stream here

[https://www.twitch.tv/videos/588886298](https://www.twitch.tv/videos/588886298)
Scalable Open Source Tech Stack...
Tags: opensource, startup, devrel
Published: 2020-04-11 04:35:30

The software engineering world is changing at a rapid pace.

The idea is simple - Bring customers, giving them space to explore & finally call to action.

**Why technology matters?**
Battle in the technology space is on who can do this at scale, at scale means, something like handling "Cyber Monday" without warning/readiness.

Always remember, great things are done by great people

**Building Developers Ecosystem:**
To build a great technology base, we should spend a lot of time in culture & communication. And with the growing powers of open source community, the technologists are penetrating almost every available space possible to automate. We really invest a lot of time in this area, and yes we are hiring.
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/gggr9i2xc9ixxjjsmbvd.png)


```Take a break here if you are not at all familiar with Software Development. In the next self explanatory section, am introducing the open-source tools/tech for building modern web.```

**Frontend:**
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/ayonmep23q0d05x0vsfp.png)

**Backend:**
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/x5zht0pvu4qf6e5q0ilw.png)

**DevOps:**
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/88jldg86rlqu68mz8z7r.png)

**Automation Testing:**
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/8dhizjtd6fd5ppjotrr9.png)

**Data Processing:**
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/nyoflau74hyrz63c84d3.png)

PS: Most of tools/tech are based on my hands-on experience. The three dots on the title is self explanatory that this will continue to advance rapidly. Feel free to DM me or write in comment if any addition/modification can help community.
Docker for all #1: Introduction
Tags: docker, introduction, devops, kubernetes
Published: 2020-04-11 03:56:33

Hi Everyone!

I wrote an introduction about how does use with docker (is very simple), I hope you like :)!!

## What is Docker?

**"Docker is an open platform for developing, shipping, and running applications"** -- Docker docs

Is technology for encapsulating application. All applications when running with docker have the own environment and isolate another app running over the same operating system.

## How's use docker?

You can develop an application, they create Dockerfile with all dependencies and step for the run, then you should test docker in localhost and validate for deploy.

List of validations before deploy:

* The behavior of the app is correct?
* Request and Response it's fine (maybe unit testing)?
* The image is secure for production (validate with the author or check with your own skills)?
* Just have only necessary dependencies (production mode)?

When all validations pass, you must push all code to Git repository and run the Pipeline for deploy.

## How to deploy Docker?

Actually have many options for deploy Docker, but principally, we can split this into two categories:

* Pipeline CI/CD
* Docker Cluster

If you want to make the build, test and deploy with your own hands... but I don't recommend this method (Shell Scripting)

### Pipeline

It is a toolchain of jobs for build, test, upload to docker registry and deploy to cluster.

The main options are:
* [Gitlab CI/CD](https://docs.gitlab.com/ee/ci/)
* [TravisCI](https://travis-ci.org/)
* [CircleCI](https://circleci.com/)
* [Azure Pipeline](https://azure.microsoft.com/en-us/services/devops/pipelines/)
* [GCP Pipeline](https://cloud.google.com/docs/ci-cd)

I prefer the Gitlab.

### Docker Cluster

The cluster is a manager of Docker applications and its responsible for stay running, deploy all services, and more.

Actually existing many clusters for manage applications with Docker, the more famous is [Kubernetes](https://kubernetes.io/), also for the Internet of. Things (IoT) exists [k3s](https://k3s.io/) (is the best option for IoT) and finally [Swarm](https://docs.docker.com/engine/swarm/).

Kubernetes have many implementations on the cloud [GKE](https://cloud.google.com/kubernetes-engine), [AKS](https://azure.microsoft.com/en-us/services/kubernetes-service/), [EKS](https://aws.amazon.com/eks/)

The main docker cluster for developing (non-production) is [Minikube](https://kubernetes.io/docs/setup/learning-environment/minikube/)

With that, you know de main concepts and stages for work with docker.

Remember:

* Develop
* Make Dockerfile
* Validate
* Push to Git (never forget)
* Run Pipeline
* Deploy to docker cluster

Perfect :)! your app is running in high availability, with the best practices for deploy. **Don't forget to do implement the 'Rollback' stage** useful when implementation fails (but surely it doesn't happen to you, however, implement the stage).

Thanks for your time and I waiting for your feedback :)!
function to check if all records are equal in array | javascript
Tags: javascript, 100daysofcode, codenewbie, codequality
Published: 2020-04-11 03:49:56

Hey folks, welcome again in a new episode of series called **Javascript Useful Snippets**. Well, Javascript is one of the popular languages you can learn ( easily ). So, I’m going to share some shortcodes and useful javascript methods. These snippets can help you to make your development more efficient and faster. So, stay tuned till the end to learn something new…

#### Javascript Useful Snippets — allEqual() ####

In order to check whether every value of your records/array is equal to each other or not, you can use this function. allEqual() function returns true if the all records of a collection are equal and false otherwise. let’s look at the syntax…

```
const allEqual = arr => arr.every(val => val === arr[0]);
```

here, this function will get an array from parameter and in return, it’s using every ( method of the array ) to get individual records to compare it with the 0th index record. it’ll return true if all records are the same as the 0th index record or else false. Now, let’s look at the results…

#### Result 1: ####
```
const result = allEqual([ 3, 4, 5, 5, 5]) // output: false
```
#### Result 2: ####
```
const result = allEqual([ 5, 5, 5, 5, 5]) // output: true
```
As the first result shows, on 0th index record (3) won’t match to the first index record and it’ll return false from then only. while in case of the second result it’ll compare every record with 0th index record (5) where it’s equal to all record so the output is given as true.

{% youtube lv3Zkp6beuY %}

Here one thing is notable is if we get a very first wrong match from that point further execution will be terminate and the result will be returned with a false value.

Thank you for watching/reading folks, if you found this informative and wanted to make me more content like this please support me on [Patreon](https://www.patreon.com/tutorialspot).

Now, Guys on the next episode I’m going to share a function to convert any string to capitalized in few seconds so you won’t need to do the manual process every time. so follow/subscribe to get notification…

Subscribe on youtube https://www.youtube.com/channel/UCvNjso_gPQIPacA6EraoZmg
Facebook: https://www.facebook.com/KatharotiyaRajnish/
Twitter: https://twitter.com/tutorial_spot
Hi I'm Francisco
Tags: introduction, personal, software, enginner
Published: 2020-04-11 02:48:46

Hi Everyone!

My name is Francisco Sánchez, I living and work in Santiago of Chile.

I have been coding for 5 years professionally for companies.

I'm a Software Engineer with a specialist in Backend. The main interesting topics are Architecture, Design, and improve performance of Software, also check the cost of operations for IaaS, PaaS, and SaaS in AWS and GCP.

I mostly program in theses languages: Javascript and Python.

You can find me on Github as [fransafu](https://github.com/fransafu)

I hope to be a contribution to this community.

Nice to meet you :)
React Simple Boilerplate For Beginners
Tags: react, travis, webpack, reacttestinglibrary
Published: 2020-04-11 01:51:07

A simple react boilerplate for beginners who want to quickly get started with react. Built with webpack(4), react (16.13), react testing library and CI/CD integrations are done with Travis CI. A lint and test shields are added in every PR through travis. Its wasy to set up and a production ready boilerplate. More enhancements will be added. It supports webpack HMR and you can try hooks and Suspense API as well.

Link: https://github.com/udaypydi/react-simple-boilerplate

Please do raise an issue if you face any with the boilerplate and a PR is always welcome. Please do hit a star if you find it really useful.
Clean your data
Tags: datascience
Published: 2020-04-11 01:29:03

Before you can tell any data stories, you need data. If you are working in an organisation, a class assignment, or a Kaggle dataset; you have the data. You have to figure out what is the story you want to tell.

If you don’t have data yet, you have to define your hypothesis before collecting data. Your hypothesis should be measurable and clear. This will guide you to find or collect suitable dataset for analysis. Try searching for an open-source dataset that might answer your key question. However, if your question is niche, you have to build your data collection system.

Before you can extract any insights from your data, you have to ensure that the data is correct. This process is defined as [**data cleaning**](https://jinglescode.github.io/datascience/2020/02/18/data-scientist-dirtiest-job-century/). Typically you want to clean data that are incomplete, inaccurate, inconsistent and duplicated; to have accurate results.

## Identify bad data

Imagine if someone spotted an error during your presentation, that will make your work less credible. For example, if you have a dataset that contains human age, it wouldn’t make sense if someone is 5,000 years old. You might have to remove them first.

## Identify missing values

Missing values can be represented as empty values or values that are out of range, like “-1” or “-99" for human age. Your job is to identify and handle these missing values. You may have to get rid of columns or rows that have too many missing values.

## Look for outliers

These are data points that contain values that are outside the normal range. Unlike _bad data_, outliers’ values are valid. For example, in the [Seattle Airbnb dataset](https://jinglescode.github.io/datascience/2019/07/13/airbnb-in-seattle-data-analysis/), there is 1 host who set the minimum rental nights to 1,000. It may offer interesting stories and insights, but they may also skew your results. You have to identify and decide how to deal with these kinds of data.
Is Telegram the Best in Class for Privacy? (TL;DR: Nope)
Tags: telegram, signal, openwhisper, privacy
Published: 2020-04-11 00:45:58

---
title: Is Telegram the Best in Class for Privacy? (TL;DR: Nope)
published: true
description: Why I Do Not Usually Recommend Telegram for Private Messaging
tags: telegram, signal, openwhisper, privacy
---

I do not typically recommend the Telegram application for private messaging, neither to technical neophytes nor to those of us more advanced in the ways of InfoSec.  

Especially because any people who would be willing to get a more secure messaging application might as well get an app backed by more solid encryption & a UX with more secure defaults. Which Telegram is, well, not. 

I have come across some reviews of Telegram's implementation. The Telegram creators "rolled their own" custom built encryption algorithm, and made some questionable choices in the process. 

Chats are not encrypted by default. 

Telegram developers can in overwhelming majority of cases read peoples' messages. And I have heard rumors, though I cannot confirm them, that some Telegram server operators have begun to exercise some minimal editorial prerogatives by monitoring and removal of content they deem objectionable. Perhaps there's a rationale for that, but "we find your message content objectionable" doesn't reassure me that my message content is private.

TLDR: Telegram's private chats are more secure than SMS, [and have, by dint of hard work, earn the coveted "banned in Russia/](https://www.schneier.com/blog/archives/2018/04/russia_is_banni.html)[Iran](https://www.schneier.com/blog/archives/2018/06/the_effects_of_4.html)[" stamp of approval](https://www.schneier.com/blog/archives/2018/04/russia_is_banni.html). But Telegram's relatively good UI hides a relatively questionable underlying implementation.

It's not just me. Others are skeptical of Telegram's underlying security as well, especially in comparison to applications designed for the purpose of keeping message content private by default, like Signal Private Messenger or Keybase.

Source: 
[On the CCA (in)security of MTProto]
(https://eprint.iacr.org/2015/1177.pdf)

Links that at least good for showing "I'm not the only grumpy troll out there who's skeptical of this BS.": 
https://news.ycombinator.com/item?id=16795219
https://news.ycombinator.com/item?id=6913632 
https://www.schneier.com/blog/archives/2016/06/comparing_messa.html