teleren/devto huggingface dataset:
Build a WhatsApp clone with Meteor and Ionic — Meteor Platform version
Published: 2020-03-18 19:26:13

![](https://github.com/the-guild-org/oneblog/blob/master/img/704/0*IOU-i2x6jqoD6aZD.?raw=true)

> For the newer, Angular 2 version post, [click here](https://blog.meteor.com/build-a-whatsapp-clone-with-ionic-2-angular-2-and-meteor-17aa24433cd8#.2synviq0s)…
>

Now that Angular is a [first class citizen in Meteor](https://blog.meteor.com/official-angular-support-with-angular-meteor-1-0-0-784f0cd7094a#.smxto0ghf), you can use all of its vast libraries, giving you full access to the Angular ecosystem.


Also, [Ionic recently added official support for Meteor’s packaging system](https://github.com/driftyco/ionic/pull/3133), and now their package is available on [Atmosphere](https://atmospherejs.com/driftyco/ionic).


In this tutorial, we will build a WhatsApp clone using Meteor, Angular, and the Ionic Framework for CSS and mobile components. I’ve also released a [clone of this tutorial on the Ionic Blog](http://blog.ionic.io/ionic-and-meteor) that uses the Ionic CLI instead of the Meteor build system.


It’s a good resource for people who wants to use Meteor for their backend and Meteor’s client side libraries in a separate front end application, also a good migration strategy.

If you are using Blaze, you can still use Ionic’s CSS libraries or the [Meteoric package](https://atmospherejs.com/meteoric/ionic).


Contents:

1.  **Installing the platform and creating a base app**

1.  **WhatsApp views with static data**

1.  **Create the server and share data with the client**

1.  **Chat view and send messages**

1.  **Users and (SMS) authentication**

1.  **Create and remove chats**

1.  **Privacy and publish/subscribe**

1.  **Step 8 — User profile picture**

1.  **Send image messages**


## [Start here](https://angular-meteor.com/tutorials/whatsapp2-tutorial).
Every “Angular 2 vs. React” article out there
Published: 2020-03-18 19:26:13

Something about Apples and Oranges.

Some content that is being “borrowed” from the frameworks websites about Typescript vs Javascript, JSX vs HTML, native support for both and performance that is great on both.

Lots of outdated information about old versions of the frameworks.

## Conclusion

A generic, saying nothing sentence like “the choice between Angular 2 and React comes down to a style preference.”

By the way, just by chance we are also mentioning our “clickbait.js” product that let’s you work with Angular/React in the best possible way if you’ll pay us tons of money.

Comment about our amazing article so that our SEO score will be higher!

End.

P.S. Update

It’s amazing how serious are the comments on Hacker News! <https://news.ycombinator.com/item?id=11674669>
Meteor hot code push — with great power comes great responsibility
Published: 2020-03-18 19:26:12

Out of the box, Meteor comes with an amazing ability called ‘hot code push’. Hot code push lets you update all of your connected clients, browsers and mobile apps when the server is updated, without going through any app reviews. It’s the dream of every mobile developer who has waited 14 days to update their iOS app through Apple’s app store. But with this awesome power comes great responsibility. If handled incorrectly, hot code push can cause user experience issues in your app, like a reload of the app when the user doesn’t expect it.

Here are some best practices and tips for working with Meteor’s hot code push:

1.  Release to the App Store **as** often as possible. When a Meteor PhoneGap application starts, it first runs the code shipped through the App Store or Play Store and then checks for an update from the server. If there is an updated version, it is being downloaded to application’s internal storage and then the app reloads. If the initial code shipped by the App Stores is up to date, we can prevent that process from our users.

1.  If you need to push new code fast, you can **control when the app reloads** with the help of the `mdg:reload-on-resume` package. The package will apply the update **only when the user closes the app and reopens it again**, without interrupting the user in the middle of his work.

1.  To avoid slowing down your local development process with the reload on resume package, you can use the `arsnebula:appupdate` community package so you can still use the regular **instant hot code push while developing** your app locally.

1.  Remember, you still need to handle breaking changes very carefully. Even after you have pushed a new update, there might be users who are running **older versions of your code** with different routes or schemas. So when introducing breaking changes to your schema, routes, and methods, keep in mind that you might need to support both versions of the frontend code until all users migrate.

1.  Remember, **Cordova plugins are not updated by hot code push** so you will need to update your store listings in order to use the new cordova plugins. You will need to be aware of this when writing your code, and add conditionals to detect if the user has the new plugins installed.

1.  To make mobile hot code push faster, try to **limit the size of files in your project**. Meteor pushes all files in the app’s client folder to the mobile device, so if you have a web app, landing page, or admin dashboard on the same meteor app, you should try to separate those into different packages where can control whether the files are built for the web browser, Cordova, or both.

1.  Last but not least, you should know about `nucleuside:live-update`, which lets you hot code push specific files without reloading the whole app.


Now you are ready to master the Hot Code Push magic! Meteor 1.2 will introduce a lot of improvements to the Cordova integration, so this workflow is going to get even better soon.
CODEVID-19: A Pandemic Hackathon
Tags: hackathon, software, design
Published: 2020-03-18 19:24:10

With the COVID-19 pandemic in full swing, many people are looking at a lot of free time stuck indoors. Avoid cabin fever and use that time to make a difference in your community and the fight against COVID-19 by joining CODEVID-19, the world’s first pandemic hackathon.

https://findcollabs.com/hackathon/codevid-19-isp21fkqtjupchx7kjed
A medical company wants to sue Italian volunteers over 3D printing of valves to fight against coronavirus
Tags: news
Published: 2020-03-18 19:10:28

A medical device manufacturer threatened to sue a group of volunteers from Italy, who printed on a 3D printer a valve used to treat coronavirus. Such a valve from the manufacturer costs about $ 11,000 , but volunteers were able to print copies for about $ 1.

A hospital in Italy needed breathing tubes for an intensive care machine after a provider said it could not produce them on time. She turned to the editor of the local newspaper Giornale di Brescia for help with disseminating information about her situation and involved technical expert Massimo Temporelli in finding a suitable 3D printer. Christian Fracassi and Alessandro Ramaioli, who work in the Italian Isinnova startup, responded to the call. Thanks to the timely delivery of the tubes, at least 10 lives were saved. 

The manufacturer refused to provide print drawings to the volunteers. However, Fracassi and Ramaioli independently measured the valves and 3D-printed three different versions. After that, the company began to threaten to sue for patent infringement.

“The patients were in danger, and we acted,” Frackassi said on his Facebook. He also said that the startup “has no intention of benefiting from this situation, we are not going to use the design or product beyond the strict need, and we are not going to distribute the drawing.” The company is currently preparing to print another 100 valves for the needs of the hospital.


The actions of startups were endorsed by Italian Technology Minister Paola Pisano on Twitter.

To date, more than 31,500 confirmed cases of COVID-19 and more than 2,500 deaths from coronavirus have been reported in Italy. These figures are second only to China.

Help to stop desease outbreaks in future with OSINT.

Can you donate some time on this OPEN SOURCE PROJECT:
https://github.com/Manishfoodtechs/OSINTHRH/wiki
Kotlin programming language - First impression 
Tags: kotlin
Published: 2020-03-18 19:04:33

# Introduction

Kotlin is a language with multiple domain support like Mobile-Cross-platform, Native, Data Science, Server-side, Web-development and Android (As per their website). 

# Some personal rant
And I was told, it has got a set wonderful language features (I'm only aware avoidance of null pointer exceptions. But I'm not even sure about the seriousness of null pointer exception, even though, I had more than 3 years of production experience with C# - which is having null, so null pointer exception. Anyone really interested, do comment below).

# Installation

Since, I'm a Linux user. SDK is the tool to install kotlin. I think. Even, I had done this before :-) . Again, I had multiple options here, I was using brew already (Yeah, brew works well with Linux for most of apps). Also, I'm using snapd (https://snapcraft.io/snapd).

`curl -s https://get.sdkman.io | bash`

Install kotlin
`sdk install kotlin`

# Hello World :-)

```kotlin
fun main(args: Array<String>) {
    println("Hello, World!")
}
```
Let's build this. Yeah, we build a `.jar`, which can be run through `java`

`kotlinc hello.kt -include-runtime -d hello.jar`

Simple build for class is, which produces `HelloKt.class` and a `META-INF/` folder.
`kotlinc hello.kt`

# Run it
Since, we did include the runtime. It just need a java installation. I tested by removing kotlin from env (If you are interested in it, in short it's a simple `~/.bashrc` trick to avoid loading `sdk` path into `.env`).
`java -jar hello.jar`

This prints a hello world message as per source code above. Since, I was checking Neutralinojs, together, I was interested in size of `.jar` file. It's around `1MB` only.

# Reference
https://kotlinlang.org/docs/tutorials/command-line.html
300 free MIT-licensed SVG icons based on 2px stroke
Tags: svg, icons, mit, opensource
Published: 2020-03-18 19:02:48

---
title: 300 free MIT-licensed SVG icons based on 2px stroke
published: true
description: I've made a set of over 300 Open Source, MIT-licensed icons. Any suggestions are welcome.
tags: svg, icons, mit, open source
---
Laravel developers during Covid-19 quarentine be like...
Tags: laravel, covid19, trolling, php
Published: 2020-03-18 18:52:26

Yesterday, [Andrés Santibáñez](https://twitter.com/asantibanez) shared this tweet mentioning something new that he learned in Laravel.

{% twitter 1239982928089821189 %}

So... I've replied that with 🙃

{% twitter 1240055582431891456 %}

And got his response 🤪

{% twitter 1240055836984119296 %}

## Oh boy! It was on... 😈

Then, **35 minutes** later; with **31 tweets** posted between us two; reaching the character limit; **and worse**, my wife poking me to get to bed; we reached this point:

{% twitter 1240064626496278537 %}

Decided to end the thread I replied with a sneaky `dd()`

{% twitter 1240064795916763139 %}

Then a wild [Liam Hammett](https://twitter.com/LiamHammett) appeared and throw a new tweet:
*(pun intended)*

{% twitter 1240065213283565569 %}

But the one who ended the whole conversation was Andrés with: 🏆

{% twitter 1240065794039578629 %}

---

Well, some of you can say that this was stupid – **and you're probably** right. But screw it… during this #StayAtHome period during the current **Coronavirus** crisis, this was fun.

And the Laravel community liked it. I guess… at least Ivan (@jesseleite85) said that this was very ***Helpful***.

{% twitter 1240067479050825728 %}

---

#### PS: During all that time, Andrés was rope jumping! He's ***loco***!
Made CoronaVirus Tracker App using Angular on weekend
Tags: angular, showdev, webdev, coronavirus
Published: 2020-03-18 18:51:06

---
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/45whefxfzq57aqnc93r1.png
title:  Made CoronaVirus Tracker App using Angular on weekend
published: true
description:  Simple Coronavirus Tracker and News App using angular
tags: #angular #showdev #webdev #coronavirus
---

 I was looking for some project to practice Angular which doesn't get too complicated for a beginner and at the same time, we were getting bombarded with coronavirus news and numbers from everywhere, which gave me an idea why not create tracker and news app regarding Coronavirus. 

Started with figuring out API to use for Data Source(https://www.who.int/data/gho/info/athena-api & https://thevirustracker.com/api) and map that data in a way that app wants to represent. Using Google Map API to show map and circles. New API to pull news regarding Coronavirus on the Important News section.

https://thevirustracker.now.sh/

Please share your thoughts to make it better, still adding new features and working on performance.
The future of user interfaces
Tags: ui, future
Published: 2020-03-18 18:45:32

How do we really want to interact with computers? I don’t actually want to tap on a screen, I actually want to...

- write a blog post
- record music
- write some code
- watch a video
- listen to a podcast

So how do I do these things today? I figure out an app to do the thing and then I remember the icon and the name and tap it. Then I navigate to the function I want in that app across a multitude of different user interfaces.

Is this what I want? Not really. I want to tell the computer what information I need or what I need to accomplish and the move on with my life. I want something like a command line but with bits of UI mixed in along with a myriad of APIs. I don’t think the diversity of applications should happen at the UI layer, I think it should happen at the data layer. Of course, who would willingly give up the ability to control what a user sees when they interact with their data? No one. So we live with proliferation of complex, confusing interfaces.

There may be a way to have this command line GUI but it’s going to have to be open source and cross platform, similar to http/web browsers themselves or google search but better and by cross platform I mean voice activated as well.

Here’s a very simple concrete example that google already does well:

Just typing “di” probably brings up dictionary or “def” -> definition or you can type in any word and get the definition right there. Simple examples like that don’t really cost money and no one cares about multiple choices of dictionary. The vast majority of google searches are limited to information retrieval, what I'm talking about is something like command execution.

Take sending an email newsletter for example:

Given our magic command line GUI, you type "send email" and a few things may happen next

1. You may see a form with common email fields (to, from, subject, body) and possibly be able to upload or type in a list of people you’d like to send to
2. You’d get a list of choices of email newsletter providers with prices per # of emails to send
3. Finally you can opt to save your preference for next time

This future isn't impossible, and I can easily imagine the a "SaaS google" looking something like this and pushing the innovation to the data/API layer where quite a few data people will offer API integration at lower and lower price points as competition heats up.

The command line GUI is definitely something that seems way more plausible than it did even 5 years ago with the rise of native apps and js-heavy frontend applications in the browser backed by REST and graphql APIs.

Inspired by:

[https://blog.repl.it/clui](https://blog.repl.it/clui)
Neutralinojs: Get started with cli
Tags: cli
Published: 2020-03-18 18:44:32

# Introduction
In this article, you will learn the basics of using cli for creating a Neutralinojs.

# Installation

Assuming Node.js, npm installed (I suggest, https://github.com/creationix/nvm, if you didn't install it already.).

`npm i -g @neutralinojs/neu`

# The commands

The Scaffolding command (js templates)
`neu create myapp --template js`

Where myapp is folder will be created.

Build command
`cd my app && neu build`

After running, various executable will be available in the folder.

Other scaffold templates
* ts
* kotlin
* angularjs

I tried all the scaffold. And `neu build` worked like a charm. 

To be frank, I was surprised, since I don't have ts/kotlin installed. Still `new build` succeeded.

How does it work ? If any one know why, please comment below.

# Summary

Neutralinojs got a simple to use cli. Even though it's quite limited. We can expect a more flexible and feature-rich one in future.

# Reference
https://neutralino.js.org/docs/#/tools/cli
Effect of COVID-19 on Economy Hit Me Today
Tags: career, webdev, programming
Published: 2020-03-18 18:24:46

---
title: Effect of COVID-19 on Economy Hit Me Today
published: true
description: The hit to the economy is effecting most of us.
tags: career, webdev, programming
---

The company I work for announced that we had to take a temporary 25% pay cut. Sucks. Anybody else have similar experience? Also, anybody need some extra dev work?
How you manage your time when you work remote?
Tags: discuss, remote, freelaning, coding
Published: 2020-03-18 17:56:43

So now the whole world is busy on corona virus (covid-19) and most of the devs are working from home (qurantine).

We as freelancers could have amazing experience that should share to the community and help each other to keep procrstinating in a correct life-style.

**My 5 important tips about remote work **

1. Plan your time daily before you go to bed.
2. List your priorities from year to weeks and days.
3. Communicate with your teammates on specific time, do not let them disturb you by over contacting!
4. Seperate your work environment and rest place, try to dress differently when you start to work (makes you so productive)
5. Get some rest during work hours, the best way is to work for 45 mintues and then take a quick rest (do sth else) for 5 to 15 minutes.

So what are your tips for the best productivity guys?
BaseCS: Graph Theory Part 1
Tags: computerscience, basecs, codenewbie
Published: 2020-03-18 17:46:13

---
title: BaseCS: Graph Theory Part 1 
published: true
description: Jump right into the building blocks of graph theory, and discover how we can identify a graph by its different kinds of edges.
tags: computerscience, basecs, codenewbie
series: BaseCS Season 2
cover_image: https://dw71fyauz7yz9.cloudfront.net/video-upload__52a1045e7b0d92184d87ff72e8fc6c6a/thumbs-video-upload__52a1045e7b0d92184d87ff72e8fc6c6a-00001.png
---

Today's episode of BaseCS dives into the origins and basics of graph theory!

We’ll learn a little bit about Leonard Euler, a mathematician who attempted to solve the seven bridge problem. From there, we’ll jump right into the building blocks of graph theory, and discover how we can identify a graph by its different kinds of edges. We’ll investigate the different ways to classify a graph, from the degrees of its nodes, to the different kinds of paths and cycles that we can find within it.

This whole series is sponsored by Heroku. A special thank you to Heroku for their ongoing support!

{% organization heroku %}

_PS - To learn more about the history of graph theory and Leonard Euler, check out this quick and fun lesson of [Byte Sized](https://dev.to/bytesized)._ 

{% link https://dev.to/bytesized/byte-sized-episode-2-the-creation-of-graph-theory-34g1 %}

Happy coding!
Kubernetes CI/CD with Helm and Jenkins
Tags: javascript, kubernetes
Published: 2020-03-18 17:35:06

Before I set out to learning Kubernetes some years ago, we had just deployed a government enterprise, monolithic application to Amazon Elastic Container Service. We needed a more flexible, non-provider specific container orchestration tool. Kubernetes looked like the perfect choice. 

Some months into learning Kubernetes, we were ready to move our workload from AWS ECS to Kubernetes.

One of my biggest challenges was setting up a reliable CI/CD pipeline. 

I decided to write a simplified method we used to achieve that in a blog post. If you are new to Kubernetes and have been wondering how to set up a scalable pipeline to enable seamless integration and deployment of your apps to the Cluster, you will find this useful. 

Here's the [blog post](https://awsofthings.com/kubernetes-ci-cd-pipeline-with-helm-and-jenkins/)

#AWS # #devops #cloud #kubernetes #cloudnative #devsecops #cicd
Experience with Ruby
Published: 2020-03-18 17:33:19

I have never heard of ruby until late 2019. As a community college student I have been focused on Java and C++. Hearing about ruby as a great introduction language got me curious. Joining my bootcamp, the first module we learned were the basics of ruby. While working on my assignments with ruby, there were many similarities with java and C++. However Ruby has its own unique twist to them, more so, simplified. 

Example making a method

For Ruby it is much simpler making a method compared to Java

def methodname

end

You only have to type 3 words. Defining the method name and ending that code block.

Such as Java, it'll take you a little longer to write a method. Since you would have to call the datatype of the method and wether the method is public or private.

public static string methodname {

}

Even then it's the small things that makes you appreciate Ruby. Such as not using { } for if statements or loops. Even having more built in methods was a huge plus. 

Example, need to know the min-max of an array? There's a method for that literally called 'min-max'! Need to remove duplicates in an array? Theres another easy method for that called '.uniq'.

Not only that, you do not need to set a type for your variable. No longer needing to say 'int var' or 'string var', you can just type 'var = nil' 
and var could be any datatype. It could hold a float, double, integer, string, and more without needing to specify. 

Whats even crazy is that you can use macros in order to write most of your setters and getters. Instead of typing out every method for your getters and setters. You can use "attr_accessor, attr_writer, and attr_reader" for your setters and getters. No more writing set and get. Everything can be stored in one whole line!

Which is why I say Ruby is such a good introduction language. It super simplified which in terms helps remove common errors like using the wrong datatype for a variable. ("Using integer when you need it as a double")
Ruby 2.7 adds Enumerator::Lazy#eager
Tags: ruby, rails
Published: 2020-03-18 17:33:01

Ruby 2.0 introduced [`Enumerator::Lazy`](https://ruby-doc.org/core-2.7.0/Enumerator/Lazy.html), a special type of enumerator which helps us in processing chains of operations on a collection without actually executing it instantly.

By applying [`Enumerable#lazy`](https://ruby-doc.org/core 2.7.0/Enumerable.html#method-i-lazy) method on any enumerable object, we can convert that object into `Enumerator::Lazy` object. The chains of actions on this lazy enumerator will be evaluated only when it is needed. It helps us in processing operations on large collections, files and infinite sequences seamlessly.

The [`Enumerable#eager`](https://ruby-doc.org/core 2.7.0/Enumerator/Lazy.html#method-i-eager) method returns a normal enumerator from a lazy enumerator, so that lazy enumerator object can be passed to any methods which expects a normal enumerable object as an argument. Also, we can call other usual array methods on the collection to get desired results.

Full article: https://blog.bigbinary.com/2020/03/18/ruby-2-7-adds-enumerator-lazy-eager.html