teleren/devto huggingface dataset:
What should I use for native app development?
Tags: mobile, app, webdev, javascript
Published: 2020-01-13 04:38:41

I really would love to start getting more into some mobile app development. Currently, I am a web developer and have experience with using Vue, but it seems that even with something like React Native I would need to have multiple codebases. I just learned about Cordova and so I am looking into that a bit more also. 

My main goal would be to have an application that can be run on a browser as well as a mobile application so that it can benefit from things like push notifications.

I would prefer to use existing languages I already know, but I am open to learning new ones if it is just all-around better that way. So don't hesitate to tell me what works best for you even if it isn't a web technology :)

So, what do you use for this kind of development? 

Thanks in advance!
Learning React
Tags: vetswhocode, react
Published: 2020-01-13 04:37:09

As I continue learning JavaScript and web development, learning to apply the fundamentals of HTML, JavaScript, and CSS within a framework/library is the next step. This post I describes the benefit of using a framework or library such as React to build a user interface and how React accomplishes it.

## Advantage of using a framework/library over Vanilla JS

The simple answer to why frameworks and libraries for front-end development are used are the same as using a library, it saves time by building on the work contributed by others, it abstracts away a lot of technical work that some my find to be minutia, and having a documented/standardized means of doing something can make coordinating a team much easier. However, the popular front end tool such as React, Vue, Angular, and Riot have an additional benefit in that they are component based.  Component based frameworks allow for greater, more concise code re-usability throughout an application.  Any programmer is comfortable with using functions, and the concept of passing an input and getting a predictable output.  Component apply the same pattern to visual elements, which the developer can build, then pass in data to get a predictable, yet flexible, visual output and maintain consistency across the application.

## How does React use the Virtual DOM

React and Vue both use a concept called the virtual DOM to track what the actual DOM should look like based on the code, and render that to the browser's DOM.  React maintains this link with the `ReactDOM.render()` method, passes a single, top-level component to a single `div` in the DOM.  The top level component can contain other components, which contain other components, all which terminate with JSX.  JSX is an HTML like syntax which the React library, `ReactDOM.render()` specifically, translates to HTML and inserts into the DOM.

Now that our DOM is virtually represented in JavaScript, we can make determinations on how to change the representation using programming logic, and `ReactDOM.render()` will continue to translate and update (or reconcile, which is the term used in the React documentation) the browsers DOM.

## Conclusion

This post is intended to be a very high level look at what React is, how it accomplishes its task, and what some benefits are.  All the benefits discussed can be, and are, debated at length.  However, the prevalence of component frameworks is undeniable, and hopefully this serves to share why/how they are used.
React query list , inspired by Dan Abramov
Tags: react, concent
Published: 2020-01-13 04:32:10

Here is an online demo come from ` Dan Abramov`

{% codesandbox jvvkoo8pq3 %}

Here is an online demo which rewrite with `Concent`, attention that I use `setup` feature to share logic between class component and function component.

{% codesandbox query-react-list-00mkd %}

The last online demo is totally the same with second one except that all the component ins share one common state.
{% codesandbox query-react-list-shared-state-l3fhb %}

For the purpose, I only change a little code
- in function component, change the hook `useConcent`'s options param
```js
const ctx = useConcent({ state:iState, setup });
// ---> change to
const ctx = useConcent({ module:'queryList', setup });
```

- in class component, change the decorator `register`'s options param
```js
@register({ setup })
// ---> change to
@register({ module:'queryList', setup })
```

## end
Star [Concent](https://github.com/concentjs/concent) if you are interested in it, I will be so thankful! 

More details see Concent [git repo](https://github.com/concentjs/concent)
or see Concent[ official doc](https://concentjs.github.io/concent-doc/)

![](https://res.cloudinary.com/practicaldev/image/fetch/s--R8LGkF3o--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://raw.githubusercontent.com/fantasticsoul/assets/master/img/cc/dd8.png)
The Creative Process
Tags: creativity, process, design
Published: 2020-01-13 03:59:54

---
title: The Creative Process
published: true
description: Your strengths and weaknesses are beautiful and unique to you. Don't get stuck seeking perfection
tags: creativity, process, design
---

“Why is this so hard!?!”

My gaze drifted back to my blank computer screen. Well, it wasn’t entirely blank. My eyes wandered down to the icons sitting at the bottom of my screen – browsers, design programs, and other tools I was using to work on the designs for our new website. Glancing to the far-right, I noticed the digital clock read 3:51. 

Two hours. 

Two hours of searching for inspiration, having ideas, sketching them, being disappointed, and starting over. I leaned back and took a deep breath. I remembered something I read a while ago about the creative process.

In his book Steal Like an Artist, Austin Kleon writes, “Humans are incapable of making a perfect copy.”

As he goes on to express throughout his book, that’s a good thing. He later writes, “It is our failure to become our perceived ideal that ultimately defines us and makes us unique.”

Woah. Often, we get this idea in our head or a feeling in our hearts about the way something should be, look, or feel. It can be easy to get stuck trying to reach some seemingly perfect point in our work where we’ll finally be satisfied. The truth is, that point is never reached. It’s not until you accept your inability to produce something perfect that you realize perfection isn’t the point. Your lack of perfection is God-given.

Your strengths and weaknesses are beautiful and unique to you. When you put them to use without an unrealistic expectation of perfection and learn to embrace them, what you end up creating is something truly original.

Staring back at my screen again, I noticed something I hadn’t before. The background image of my laptop. I had been having fun with a 3d modeling program the other day and created an interesting image as a result. Looking at this time, I suddenly had the idea to use the same things I had created previously in the new design I was building for the website.

I went straight to work with this new streak of inspiration. Finally! After just a few more minutes playing around with a few different things, I finally had something I was happy with – not because it was perfect, but because it was something unique, something that was a product of this entire experience, even the stuck parts.

Thanks for reading! I'll share more about our design process as well as more on what my team and I are working on in the near future!
Angular 8 Material Datepicker Example
Published: 2020-01-13 04:37:03

---
title: Angular 8 Material Datepicker Example
published: true
date: 2020-01-13 03:54:28 UTC
tags: 
canonical_url: https://www.itsolutionstuff.com/post/how-to-use-datepicker-in-angular-8example.html
---

In this example i will explain you angular 8 material datepicker example you can see how to use material datepicker in angular 8 you can easily add datepicker in angular 8 applicationDatepicker is a primary requirement of project we almost require to use datepicker in angular 8 app angular 8
Learn Dart Programming from Scratch
Tags: dart, tutorial, beginners
Published: 2020-01-13 03:50:19

Learn Dart Programming from scratch by Google. Prepare yourself for Flutter apps for Android and iOS and developing Web apps using Dart programming language. 

Dart is an object-oriented language which can optionally trans compile into JavaScript. It supports a varied range of programming aids like interfaces, classes, collections, generics, and optional typing. 

Dart can be extensively used to create single-page web apps, Android and iOS apps. Single-page applications enable navigation between different screens of the website without loading a different webpage in the browser.

In this course you'll learn:
* Dart Setup and required software Installation
* Exploring the first Dart application
* Built-in Data Types and variable declarations
* Conditional Statements
* Loops or Iterators
* Functions and Methods
* Exception Handling
* Object Oriented concepts
* Inheritance, Abstract Class, Interface and Polymorphism
* Functional Programming: Lambdas and Higher-Order Functions
* Dart Collection: List, Set and Map
* Callable classes
* Summary 

What you'll learn
* Programming logic foundation, read and write Kotlin with condition and control.
* Concept of OOPS in Dart, as other languages like Java, Kotlin, C++, PHP, C#, Scala, or Swift
* Use INTELLIJ IDE.
* Create basic as well as professional Flutter apps using Dart, the new Java-based programming language developed by Google

{% youtube DdkHQ8D6JTY %}
I completed my first take home tech challenge!
Published: 2020-01-13 03:28:17

This week I completed my first take home tech challenge of my job hunt. This post will likely just be some rambling as I process having done that - hopefully it is semi-coherent.

I applied for a position and got turned down - only for them to pretty quickly turn around and ask me to apply for a different position. Gotta say that felt pretty good! They indicated the next step was for me to complete a take home tech project.

I was asked to complete a simple Node.js/Express API with yup validation and some Jest tests to go along with. None of these are things I had worked with before! So I definitely had some learning to do. Obviously I know Javascript well, so thankfully I wasn't really learning an entirely new programming language. Still, I had only built API's with Ruby before.

I spent a lot of time reading tutorials and watching videos. No one tutorial used the exact set up I had, which seems to be the case very often, so I had to search around for all the puzzle pieces I needed. For the most part, learning syntax was the biggest thing. The concepts themselves were almost all pretty familiar.

I don't know that I have a particular opinion on Node.js yet - I would have to work with it on a larger project I think, but I like it well enough. I can see that it would be nice to be working with the same language in my front and backend - unlike the projects I've worked with before where I have to keep JS and Ruby both in my brain.

Jest had me stymied for a while, getting frustrated because I could tell that I was so dang close! I knew that I had the basic syntax of the tests themselves correct, partly because I'd read the documentation 10 times, and partly because I'd run some sample tests to ensure I knew how it worked. In the end, there was some stuff about exporting things from the main file that I hadn't accounted for. It was one of those moments where you could absolutely smack yourself on the forehead, but once you see it, everything else just falls neatly into place. The fact that these were new systems for me of course added to that.

I also liked Yup quite a lot - the documentation is very clear and the syntax is so simple and clear. 

Diving into this with systems I didn't know was a little intimidating, but also exciting. I enjoy puzzling things out, seeing how they fit together, and that moment of clarity when I figure out how something works in the new system I'm learning, or how a new feature connects to another.

I think in the end I did pretty well. We'll see what happens, obviously. But I'm proud of the learning I did, at the least!
Easy Category Theory Part II: Isomorphism
Published: 2020-01-13 03:23:37

---
title: 'Easy Category Theory Part II: Isomorphism'
description: Category Theory concepts explained using simple metaphors and illustrations.
published: true
cover_image: https://cdn-images-1.medium.com/max/800/0*X1BAXzgzlwa5kFgW
series: Easy Category Theory
---

Let's start this topic with a metaphor.  If you are not familiar with the game of billiards, take a look here to get a basic idea. [https://en.wikipedia.org/wiki/Cue_sports](https://en.wikipedia.org/wiki/Cue_sports)

Sometimes in life, there are many details layered on top of something that make it seem as if things are different when they are really the same.  Let's take the game of 8-ball.  In this game, we have an underlying game of physics: hit balls in the holes.  However, we have layered rules on top which make it seem as if there are differences in a billiard ball painted with stripes, and one painted a solid color.  When we remove the rules of 8-ball (the extra details), we see that billiard balls are very much the same regardless of how they are painted.  That is to say, if our only goal is to hit balls in holes (no extra details), all the balls are the same for these intents and purposes.  Once we have removed all the extra details, the billiard balls are all isomorphic.

Isomorphism of objects in category theory is about "sameness".  In the previous article we saw that categories are simply property-less objects with arrows between them.  Two objects in a category are isomorphic if they are the "same" for all intents and purposes.  Strictly speaking, two objects are isomorphic if there exists in the category an arrow from object a to object b, and an arrow from object b to object a that is the inverse of the first arrow.

In the previous article we talked about the idea of "identity".  To recap, the identity morphism is the morphism that starts from object a and points back to object a.  In terms of isomorphism of objects, if you were to compose the two arrows mentioned in the paragraph above, you would have the identity morphism.  That is to say, if an arrow goes from object a to object b and another arrow goes from object b to object a that is the inverse of the first arrow and you compose these two arrows together, you have an arrow from object a to object a, the identity morphism!

Isomorphism is important in category theory because it allows us to disregard extra details that make categories seem different and look at them as the same.  This allows us to focus on the properties of categories and not the nuances of their application.

Remember, we talk a lot about objects and arrows and this is not a metaphor.  This is because category theory is EXACTLY about objects and arrows.  It is so abstract because these primitive objects have no inherent properties.  This is also why category theory describes the mechanics of so many things.  All the information is encoded in the morphisms.
Wolff - Ridiculously small PHP framework for building web apps
Tags: php, framework, opensource, webdev
Published: 2020-01-13 03:10:15

Wolff is a ridiculously small and lightweight PHP framework.

It is intended for those who want to build lightweight websites without starting from scratch or dealing with large frameworks. 

Wolff is small, fast, scalable and easy. The perfect solution for building small and medium-sized web applications.

### [getwolff.com](https://getwolff.com)

### [Github repo](https://github.com/usbac/wolff)


## Features

* **Clean**: The routes system allows you to have clean and friendly URLs, and the template system makes the php code cleaner while separating the logic from the view.

* **Dynamic**: You can work however you want without strictly following the Wolff design or patterns like the MVC.

* **Extensible**: Take advantage of the custom middlewares, functions and templates you can make in Wolff to expand your page.

* **Fast**: Due to its small size and simplicity, you don’t have to worry about loading times or resource usage.

* **Simple**: It’s not only small, but simple as well; with a clean documentation and an easy way to use.



## What's included

* **Database abstraction layer**: Which simplifies the process of running queries and includes useful functions.

* **DI Container**: For managing class dependencies and performing DI.

* **Language system**: For managing multiple languages easily and quickly.

* **Middleware system**: Which gives you more control over your requests/responses.

* **Routing system**: Have clean URLs, make redirections and block certain pages recursively.

* **Standard library**: With numerous incredible functions related to strings, numbers, debugging and arrays.

* **Template engine**: Which you can use to write cleaner and safer code in your views while avoiding things like the php tags.

* **Multiple utilities**: Including a paginate, validate and uploader utility.

And more...


## Contributing

Any contribution or support to this project in the form of a pull request or message will be highly appreciated.

Don't be shy :)
Installing FiraCode on Windows and Ubuntu
Tags: firacode, fonts, windows, ubuntu
Published: 2020-01-13 02:59:36

Hello again, JD here. Today I'm writing about how to install FiraCode on Windows and Ubuntu. This post is copying and pasting some commands on the console (at least that's the way I do it). So let's get to it.
#About FiraCode
FiraCode is a monospaced font with programming ligatures developed by Nikita Prokopov (tonsky on GitHub). {%github https://github.com/tonsky/FiraCode %}
By the time I discovered FiraCode I was working on some JavaScript projects and that's the main reason I became so attracted to the font. FiraCode gives the arrow functions, the "===" and many other things an amazing look.
![FiraCode example](https://thepracticaldev.s3.amazonaws.com/i/r120ko3wg0b6g2gs4hov.png)
#Installing on Windows
To install FiraCode on Windows we are going to use **Chocolatey**.
***Note:*** If you have Python installed on Windows, I suggest you run the following command to verify if you have Chocolatey installed. Python installs Chocolatey to fetch some dependencies.
```
choco -v
```
If it returns the version number, then you're all set and you can jump directly to *FiraCode command*. If it doesn't, then run one of the following commands with administrative permissions to install Chocolatey.
##Run this command on the CMD
```
@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
```
##Or run this command on PowerShell
```
Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
```
##FiraCode command
Finally, run this command to install FiraCode:
```
choco install firacode
```
And voilà! We've got FiraCode installed on Windows!
#Installing on Ubuntu
To install FiraCode on Ubuntu you have to enable the *universe repository*. To do this we have to run the following commands on the terminal:
```
sudo add-apt-repository universe
sudo apt update
```
If that command doesn't work, try this one instead:
```
sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) universe"
sudo apt update
```
And finally, run the command:
```
sudo apt install fonts-firacode
```
Ta-da! FiraCode is now on Ubuntu!
#Conclusion
That's it! We've successfully installed FiraCode on both Windows and Ubuntu! Let me know in the comments if this was helpful, or if there's something I should improve! 😁
🚀 Extendiendo el PATRÓN DE DISEÑO BUILDER (LARAVEL)
Tags: laravel, php, design
Published: 2020-01-13 02:42:31

{% youtube vhLIwuGkxBM %}

{% youtube dPdPTzipgQg %}

En este video continuamos el ejemplo de refactorización usando el patrón de diseño builder para simplificar nuestro código ahora extendiendo el patrón para poder reutilizarlo.

El patrón de diseño Builder se caracteriza por presentar siempre 4 componentes:

- Clase Producto

- Abstract Builder (clase abstracta)

- Concrete Builders (clases concretas, pueden ser varias)

- Director (clase que se encarga de gestionar la creación de objetos de la clase Producto)

En este ejemplo se hace uso del patrón builder para simplificar llamadas de paquete Datatables en los controladores.

Además recuerda dar like y compartir el vídeo.
nn
Published: 2020-01-13 02:42:28

<p class="codepen" data-height="351" data-theme-id="dark" data-default-tab="html,result" data-user="Shorina" data-slug-hash="egJmeY" style="height: 351px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;" data-pen-title="VHS text">
  <span>See the Pen <a href="https://codepen.io/Shorina/pen/egJmeY">
  VHS text</a> by Maria (<a href="https://codepen.io/Shorina">@Shorina</a>)
  on <a href="https://codepen.io">CodePen</a>.</span>
</p>
<script async src="https://static.codepen.io/assets/embed/ei.js"></script>
Adventures in learning x86 Assembly part 1
Tags: asm, beginners, assemblylanguage, baremetalprogramming
Published: 2020-01-13 01:53:13

I have decided to teach myself Assembly language programming. To help myself ingrain what I am learning (and to hopefully benefit anyone who may be interested), I am going to blog about my experience. Let's begin.

A. What is assembly language?:

   Assembly language is the lowest level programming language there is. Every other language utilizes built-in layers of abstraction to simplify the process of programming in order to make it easier for the developer to interact with the machine.

Conversely, when programming in Assembly, there is no layer of abstraction between the machine and the programmer. A programmer coding in assembly is working directly with ram and cpu, with no buffer. This can make the process of writing code much more tedious, but the reward is much deeper insight into how the cpu and ram interact. Taken to its logical extreme, an expert assembly language programmer can be considered a true master of computing, one who thoroughly understands computing processes at the deepest level. 

The basic idea here is that what programmers write as code (Java, Python, C, Lisp, etc...) is transformed into something known as machine code, and this machine code is what the computer uses to run programs. What machine code is in essence is a string of electrical patterns.

B. These patterns of electrical currents are represented to our human minds as binary

When a program is running on a pc, program code is placed into ram and then moved to the cpu, the cpu reads these instructions and this causes the computer to perform some action. The instructions are presented to the cpu as patterns of electrical currents. 

This is the reason for the 'memory' part of ram- memory modules contained in a stick of ram are basically sets of containers for electrical currents.

Because the instructions the cpu reads are patterns of electrical currents, the patterns will display various arrangements of on and off currents within the memory cells in ram. Because of this fact, the counting system known as binary has been utilized to help us (human programmers) work with these patterns of electrical currents. Essentially, a 1 is used to represent that particular memory address as being charged (current is on) while a 0 represents a memory address as being off (no charge is present at that particular memory address).

Assembly language is a type of shorthand notation that simplifies the way binary is represented, using another counting system known as hexadecimal. 


Next article: binary, octal, and hexadecimal.