teleren/devto huggingface dataset:
Long term growth
Tags: goals, longtermgrowth, beginners, productivity
Published: 2019-05-24 11:45:57

As a Makers Academy student you are expected to be able to be in control of your own learning, this means that you have to leave any expectations of hand holding at the door. You are provided with broad goals that are meant to help you progress at Makers and beyond:
* I am equipped for long term growth
* I can make anything
* I help my teams succeed

I've spent a bit of time thinking about what it means to be equipped for long term growth and I think that this involves being able to diagnose your own learning needs and making sure that you are using your time effectively - this is especially important at Makers where the amount you need to learn drastically exceeds the time you have during the course. The coaches explain pretty early on that we are in charge of what content we decide to use to help us reach our learning goals - this is both empowering and slightly terrifying.

Each week we have set learning objectives that we need to cover and are provided with resources that we can go through, there are also optional workshops throughout the week which go over some of the core concepts we are expected to understand. 

### Weekly Process

I usually start the week by having a look at the learning objectives and plan to attend any workshops that are scheduled as I find these more useful than reading through docs. Any topics that are not covered will be added to my to do list for the week.

### Daily Process

I'll usually set myself 2-3 daily goals which should be measurable e.g:
* I will take 6 breaks throughout the day
* I will spend an hour at the end of the day consolidating notes taken during the day or making notes related to a learning objective
You should be able to easily answer yes or no to whether the goal has been met - goals should be ambigious e.g I will start a project as you won't have a clear idea of what that actually means

I usually use [work cycles](https://www.ultraworking.com/cycles) to plan my day which works nicely with the [Pomodoro](https://francescocirillo.com/pages/pomodoro-technique) as you can have short bursts of uninterrupted periods of work followed by short breaks.

![](https://thepracticaldev.s3.amazonaws.com/i/0b0lfr8vvu39yvhdwgjc.png)

This is something that has helped me plan and track and measure my daily learning as well as manage my own wellbeing - my initial approach of trying to force my way through a problem wasn't getting me very far and working for long periods of time meant I would burn out by the end of the day.
Choices in a developer career, What would you do?
Tags: discuss, javascript, career, webdev
Published: 2019-05-24 11:43:22

---
title: Choices in a developer career, What would you do?
published: true
description: 
tags: discuss, javaScript, career, webdev
---

_disclaimer: this is my first attempt of ever creating something in a Dev community_

I have just one question for you guys

# What's better for you?
1. Start up with a lot of future, excellent team, great work environment but not the lastest tools (website build with Handlebars + SammyJS + jQuery + Gulp)
2. Any other projects with the lastest tools, and up to date frameworks

I'm not planning on quitting my current job in the start up, having so much fun and my carreer is barely starting (2 years frontend and 1 year backend).

Was just wondering what other devs would think about this situation.
Print a Random Phrase With Shell Script
Tags: english, bash, awk, linux
Published: 2019-05-24 11:35:25

---
title: Print a Random Phrase With Shell Script
published: true
description: Study a phrase a day with shell script
tags: english, bash, awk, linux
---

Some days ago I came with an idea of getting a random phrase from a file were I am used to save phrases with new English words I am learning. The first draft is this:

```bash
#!/usr/bin/env bash
#     Filename: getphrase.sh
#      Created: 2019-05-24 07:33
#  Last Change: May 24 2019 08:23
#       Author: Sérgio Araújo - voyeg3r at gmail

# PRINT A RANDOM PARAGRAPH FROM A GIVEN FILE
# I have a file called phrases were I collect phrases in English
# that I am learning and I had the crazy idea of getting on random phrase

# This script will get a random phrase (the criteria is: paragraphs separated by blank lines)

# target file
file=~/.dotfiles/nvim/wiki/phrases.md

# count registers (number of phrases)
# RS -> Register Separator == "" (which means blank lines)
# FS -> Field Separator == "\n" (which means line breaks)
# NR -> prints the register number for all registers
# once we want the number of registers we are getting the last one
COUNT=$(awk 'BEGIN {RS="";FS="\n"} {print NR}' $file | tail -1)


# print a random number: shuf -i 1-10 -n 1
# from the third phrase (the first two are explanatory of the file)
# the last line contains tags, nor a real phrase so I have to get
# from the third paragraph to the end minus one
# var=10 ; echo $((var - 2)) 
RANDPHRASE=$(shuf -i 3-$((COUNT -1)) -n 1)

clear
echo "phrase number: $RANDPHRASE"
echo

# if the NR (number of register) is equal to "number" 
awk -v number=$RANDPHRASE 'BEGIN {RS="";FS="\n"} NR==number' $file
echo
```
I RxJS video-course author (https://bit.ly/2ZZhh0r)! Ask me anything regarding RxJS.
Tags: ama
Published: 2019-05-24 11:35:15

---
title: I RxJS video-course author (https://bit.ly/2ZZhh0r)! Ask me anything regarding RxJS.
published: true
tags: ama
---
Overview of PHP Platform
Published: 2019-05-24 11:22:10


PHP is an intuitive, server side scripting language. Like any other scripting language it allows developers to build logic into the creation of web page content and handle data returned from a web browser. PHP also contains a number of extensions that make it easy to interact with databases, extracting data to be displayed on a web page and storing information entered by a web site visitor back into the database.
PHP consists of a scripting language and an interpreter. Like other scripting languages, PHP enables web developers to define the behavior and logic they need in a web page. These scripts are embedded into the HTML documents that are served by the web server. The interpreter takes the form of a module that integrates into the web server, converting the scripts into commands the computer then executes to achieve the results defined in the script by the web developer.
Some of the strengths of PHP
Published: 2019-05-24 11:13:13

Supports database connectivity. PHP can access over 20 different databases including MySql, Oracle, and MS Access. 
Supports sessions. PHP can generate unique session IDs. The ID follows the user during a single session on a web site. This simplifies creating shopping cart applications and tracking user's behaviors. 
Eliminates client configuration problems. With PHP there is no need to worry if the client has the appropriate software installed, since the application is executed on the server. 
Reduces development time. Even a newcomer can begin developing PHP applications in hours. Yet PHP contains many advanced features for professional programmers. 
Maintains source code security. The user does not see your source code as they do with JavaScript.
Origin of PHP in the open Source Community
Published: 2019-05-24 11:04:17

PHP was developed by Rasmus Lerdorf. It was first developed in 1994 as Personal Home Page. It was released in 1995 as Personal Home Page Tools. This was a parser which interpreted files written in the simplified programming language of PHP. The programming language of PHP was developed long after other scripting language had been in use so Lerdorf was able to incorporate the lessons of programmers experience with those other languages.

The experience with the initial offering of PHP was positive enough to prompt Lerdorf to create an improved version of the parser, called PHP/FI (form interpreter). This version could interpret HTML code as well as the PHP programming code. PHP/FI also made some provision for database capabilities by supporting some elements of mSQL.

By mid-1997 there were about fifty thousand websites created using PHP. At that time the programming for PHP was recreated with a team of programmers helping Lerdorf in this effort. This revised version was called PHP 3. PHP 3 provided support for MySQL, the database query language, among a collection of other database systems.

The next version, PHP 4, increased the features of PHP but the subsequent version PHP 5 was more devoted to increasing the efficiency of the system than expanding its features. Now PHP can be included within an HTML file.
Website architecture
Published: 2019-05-24 10:58:35

Website architecture is the planning and design of the technical, functional and visual components of a website - before it is designed, developed and deployed. It is used by website designers and developers as a means to design and develop a website.


Website architecture is used in creating a logical layout of a website in line with the user and/or business requirements. It defines the different components that will make up a website and the services each component or the website will provide in whole. 
Some of the factors that are part of website architecture are:

Technical constraints such as server, storage. memory and communication interfaces.

Functional aspects such as the type of services or processes the website will provide.

Visual appearance, i.e. the user interface, colors, buttons and other visual design elements. 
Security parameters i.e. how the website will ensure secure access control and transactions.
Find vej i kabeljunglen
Published: 2019-05-24 10:56:51

Find vej i kabeljunglen

Alle der har med teknologi at gøre, kender helt sikkert problematikken. Kabler er noget af det mest forvirrende og frustrerende, når man har mange af dem. Desuden kan man ikke bruge dem man i forvejen har til nye formål, da alle producenterne laver forskellige kabler til deres enheder. Hvad værre er når kablerne går i stykker, og det koster i dyre domme at få et nyt, der passer til det specifikke formål.
Et typisk eksempel på problemet er et iPhone kabel og en Macbook oplader. Apple er kendt for at have lavet deres egne ladere og kabler, så man ikke går ud og køber en mini-USB lader af en anden forhandler. Dog har mange kinesiske producenter for længst knækket koden, og man kan efterhånden få kastet kopivarer af dårlig kvalitet i nakken for en 20’er på en hurtig Google søgning. Hvad man dog ikke er klar over er, at kopierne ofte er af så dårlig kvalitet, at de er direkte brandfarlige.

Hvad gør man så for at undgå dette?
I Apple-produkternes tilfælde er det meget simpelt. Apple har et licensprogram ved navn MFi, som de bruger som et kvalitetsstempel. Det kan andre leverandører modtage af Apple, hvis deres kvalitet lever op til Apples standard. I andre tilfælde, såsom med USB, HDMI, lydkabler eller andet, er det straks sværere. Der handler det hovedsageligt om tillid til forhandleren, da dårlig kvalitet af kabler er blevet så udbredt. Man kan se efter E-mærket på en webshop hvis man handler online, da det er den danske certificerings-ordning for tillidsfuld e-handel.  Man kan dog også gardere sig imod det meste ved at bruge sin fornuft, når det kommer til prisen. Hvis prisen er alt for lav, er kablet højest sandsynligt ikke produceret til kvalitet.
Der ser dog ud til at være en revolution på vej inden for kabelkrigen. Det nye USB C kabel er blevet taget i brug af alle de største producenter inden for pc- og gadget-verdenen. Det vil derfor blive langt nemmere i fremtiden at få kompatible kabler til sine enheder. Af samme årsag vil de tidligere versioner af Apples opladere gå af markedet inden længe. De nyere Apple produkter gør i stedet brug af en USB C oplader.
Why should we use PHP?
Published: 2019-05-24 10:54:47

Why should we use PHP?

PHP can actually do anything related to server-side scripting or more popularly known as the backend of a website. For example, PHP can receive data from forms, generate dynamic page content, can work with databases, create sessions, send and receive cookies, send emails etc. There are also many hash functions available in PHP to encrypt user’s data that makes PHP secure and reliable to be used as a server-side scripting language. So these are some of the abilities of PHP that makes it suitable to be used as server-side scripting language. You will get to know more of these abilities in further tutorials.

Even if you are not convinced by the above abilities of PHP, there are some more features of PHP. PHP can run on all major operating systems like Windows, Linux, Unix, Mac OS X etc. Almost all of the major servers available today like Apache supports PHP. PHP allows using wide range of databases. And the most important factor is that it is free to use and download and anyone can download PHP from its official source : www.php.net.
Why we acquired a SaaS learning platform and how we set it up for success by rebranding it.
Published: 2019-05-24 10:38:37

You can easily learn about pretty much anything these days, online.

Internet and search engines give us so much knowledge, that the challenge today is no longer how to find more information about something.

The real challenge now is to pick the source which delivers the information in the best way for you to learn as fast as possible.

We believe the most efficient learning resources are the ones that engage and enable you to practice what you are learning as early and as much as possible, so called “learning by doing”.

The world is moving faster every day, and the people that are ahead of the curve and getting the most results are the ones eager to “just do it”, and actively searching for tools to get more things done.

No-Code tools are a perfect example of providing a way for everyone to share their passion and knowledge by giving people a way to create applications and platforms without knowing how to code or having any substantial technical background.

We truly believe this is changing the world for the good, and we are on a constant mission to empower more people to learn to use these tools and make the best of it, immediately!

TL;DR
We are changing the world by giving more people the skills and tools to build beautiful apps without code. To help spread the knowledge — we acquired a successful learning SaaS platform. Now we work hard to make it the absolute best place to learn how to do amazing things without code.

Learn more about why we do it, and how exactly we planned and executed every step from just thinking about it, all the way to launching on Product Hunt.

Lots of practical advice and explanations for you to see what it took us and what we learned while doing it. [Read more...](https://blog.zeroqode.com/why-we-acquired-a-saas-learning-platform-and-how-we-set-it-up-for-success-by-rebranding-it-159438357ea2)
🦥 React.lazy without a default export
Tags: react, lazy, esm
Published: 2019-05-24 10:21:20

---
title: 🦥 React.lazy without a default export
published: true
description: 
tags: react, lazy, esm
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mm8dzkce4g3dctdrw5ni.jpg
---

React v16.6.0 introduced `React.lazy` that allows to code split without any external libraries.

https://reactjs.org/blog/2018/10/23/react-v-16-6.html

> The React.lazy function lets you render a dynamic import as a regular component.
> 
> Before:
> 
> ```jsx
> import OtherComponent from './OtherComponent';
> 
> function MyComponent() {
>   return (
>     <div>
>       <OtherComponent />
>     </div>
>   );
> }
> ```
> 
> After:
> 
> ```jsx
> const OtherComponent = React.lazy(() => import('./OtherComponent'));
> 
> function MyComponent() {
>   return (
>     <div>
>       <OtherComponent />
>     </div>
>   );
> }
> ```
>
> https://reactjs.org/docs/code-splitting.html#reactlazy

Althought bellow there is a message

> `React.lazy` takes a function that must call a dynamic `import()`. This must return a `Promise` which resolves to a module with a `default` export containing a React component.

Which means that your `OtherComponent` should be exported this way

```jsx
export default function OtherComponent() {
  return (
    <div>OtherComponent</div>
  );
}
```

But what if you have it exported not as default?

```jsx
export function OtherComponent() {
  return (
    <div>OtherComponent</div>
  );
}
```

In this case you have to change a bit the `import()` code when importing this component

```jsx
const OtherComponent = React.lazy(
  () => import('./OtherComponent').then(module => ({ default: module.OtherComponent }))
);
```

What are we doing here, is just chaining the `Promise` returned by `import()` and adding that default export.

Please keep in mind that component imported with `React.lazy` should be rendered inside a `React.Suspense`

https://reactjs.org/docs/code-splitting.html#suspense

Cover Photo by <a href="https://unsplash.com/@scottkelley?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Scott Kelley</a> on <a href="https://unsplash.com/s/photos/sloth?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a>
Explain Headless CMS Like I'm Five
Tags: explainlikeimfive, headlesscms
Published: 2019-05-24 10:00:12

---
title: Explain Headless CMS Like I'm Five
published: true
tags: explainlikeimfive, headless cms
---

Keep seeing headless cms thrown around and just can't wrap my head around it, thanks for help. :)
Requirements are bull crap
Tags: softwareengineering
Published: 2019-05-24 09:54:23

---
title: Requirements are bull crap
published: true
description: Requirements are bull crap ...sometimes at least
tags: software engineering
---

...sometimes at least.

I worked as a frontend engineer for a company that sold a service to end customers via a multitude of partners. We sold our concept in different formats - we could either integrate with the partners' website, or we could setup a custom "white label" website to where the partner would redirect its customers.

According to our "partner managers", we had to customize the white label website to seamlessly match the partner's own website. We did this with a feature that let us choose 1 logo, a couple key colors, and apply a few lines of CSS on top of the white label. This way we could easily change logos, colors, fonts, and sizes.

Naturally, this feature was more than abused. Each new partner allegedly required more and more complex customization, brushing the limits of what we could even do with just CSS. Instead of a few lines of CSS, we now had pages of extra CSS. And with weeks of CSS'ing came weeks of testing and debugging. One particular project lasted 2 months __for a web app that technically already worked fine before__.

One time, after about 1 month of back-and-forth pixel-perfect crap-edits, we deployed our white label and redirected the partner's provided domain to us. But the engineering team made a mistake - we started accidentally serving the bare-bones white label with no customization, only the correct product names and company name. It had our logo, our corporate colors.

The partner managers were pissed. The product managers were pissed. The engineering team was quickly trying to figure out the mistake before the partners even noticed. Shortly after, the partner sent an e-mail saying:

> I love it. Just change it so it uses our logo.
My struggles designing a personal website
Tags: design, discuss, help, feedback
Published: 2019-05-24 09:36:24

Hi, everybody. I have been making my website and have been struggling with the general design of it. As a developer/software engineer, my design skills are limited. I try a few things, but I can't get a design I'm happy. 

My biggest issue seems to be picking a good color scheme. I wanted a dark theme, but I'm not sure if it works. Another problem is if I should have a header image or not. What should I have for my hero image(I can be camera shy)?

I wonder if anyone else has/had similar issues when designing their website and if there are any tips, they could give me. Also, if there are any other issues, people had, please share them below as well.

Here is the like to my current personal website if your interested in looking and leaving some constructive feedback 😃. [nathantamez.me](https://nathantamez.me/).

Enjoy the rest of your day. 😊
Go Gologger
Tags: go
Published: 2019-05-24 09:31:22

---
title: Go Gologger
published: true
description: aaaaa
tags: #go
---

Now I am developing gologger as logger for golang.
Github repository is here.
https://github.com/suganoo/gologger

## Sample code
Here is sample code of how to use gologger.
```
go get -u github.com/suganoo/gologger

```
gologgerSample.go
```
package main

import (
	"github.com/suganoo/gologger"
)

var glog *gologger.Gologger

func hogeFunc() {
	glog.Debug("this is debug hogeFunc")
	glog.Info("call hogeFunc")
}

func main() {
	glog = gologger.NewGologger(gologger.Configuration{Logfile : "./testlog.log"})
	defer glog.CloseFile()

	msg := "hogehoge"
	glog.Debug("this is debug")   // default debug is muted
	glog.Info("this is info")
	glog.Info("msg : " + msg)
	glog.Warning("this is warning")
	glog.Error("this is Error")

	glog.UnmuteDebug()
	hogeFunc()

	glog.Debug("this is debug xxx")
	glog.MuteDebug()
	glog.Debug("this is debug yyy")  // this debug message is muted
}
```
```
go run gologgerSample.go

cat testlog.log
2018-02-21T10:07:44.277+09:00	INFO	hoge.sever	3892	gid:1	fuga-user	1.0.0	this is info	main	[gologgerSample.go:18]
2018-02-21T10:07:44.277+09:00	INFO	hoge.sever	3892	gid:1	fuga-user	1.0.0	msg : hogehoge	main	[gologgerSample.go:19]
2018-02-21T10:07:44.277+09:00	WARNING	hoge.sever	3892	gid:1	fuga-user	1.0.0	this is warning	main	[gologgerSample.go:20]
2018-02-21T10:07:44.277+09:00	ERROR	hoge.sever	3892	gid:1	fuga-user	1.0.0	this is Error	main	[gologgerSample.go:21]
2018-02-21T10:07:44.277+09:00	DEBUG	hoge.sever	3892	gid:1	fuga-user	1.0.0	this is debug hogeFunc	hogeFunc	[gologgerSample.go:8]
2018-02-21T10:07:44.277+09:00	INFO	hoge.sever	3892	gid:1	fuga-user	1.0.0	call hogeFunc	hogeFunc	[gologgerSample.go:9]
2018-02-21T10:07:44.277+09:00	DEBUG	hoge.sever	3892	gid:1	fuga-user	1.0.0	this is debug xxx	main	[gologgerSample.go:26]
```

## Features
- You can get variety of log items, such as line number of file, goroutine number and so on.
- You can write any types of log messages, such as int, string, or struct, in gologger function (Info(), Warning()...).


If you have any interest on gologger, it would be great to try it.
You can find more information in gologger repository.

Thank you.