teleren/devto huggingface dataset:
Readable Code:  Stacking Tokens
Tags: readability, programming, discuss
Published: 2019-05-18 16:58:47

---
title: Readable Code:  Stacking Tokens
published: true
description: 
tags: readability, programming, discuss
---

If a collection of tokens *serves* as a list, consider making it *look* like a list.

As an example I'll use Ruby's class method <code>attr_accessor</code>, which accepts any number of arguments.

Unstacked:

```ruby
  attr_accessor :arity, :name, :original_name, :owner, :parameters, :receiver, :source_location, :super_method
```

Stacked:

```ruby
  attr_accessor \
    :arity,
    :name,
    :original_name,
    :owner,
    :parameters,
    :receiver,
    :source_location,
    :super_method
```

Much more readable, no?

Note:  For a user-defined method that accept many arguments, stacking may not be the best option.  Consider instead whether such a method should accept an object.

Nevertheless:

```ruby
  def initialize(
    name:,
    address:,
    phone:,
    date_of_birth:,
    debit_card_number:,
    debit_card_pin:,
  )
  end
```

Another stack-worthy notation:

```ruby
  %w/
    apple
    banana
    orange
    peach
    persimmon
    pineapple
    scuppernong
    tomato
  /
```

And of course pretty much everyone already does this:

```ruby
  {
      :cabbages => 0,
      :cucumbers => 2,
      :peas => 200,
      :potatoes => 4,
      :radishes => 8,
      :sweet_potatoes => 0,
  }

```

Others?  In Ruby?  Or in another language?
VIM the beginning...
Tags: vim, vi, programming, betatesting
Published: 2019-05-05 12:55:37

---
title: VIM the beginning...
published: true
description: How I started out using vim part-I
tags: #vim #vi #programming #betatesting
---

I started with vi on noisy phone lines for the BBS systems of our university.

I was a student then, who had the task to punch holes in the system for the URC(*) director so he could fix them.

That was in the 1990's a century ago ;)

My vim use back then was as follows:

- `vim filename.extension`
- `:i`
- enter & correct data while:
- Regularly getting in & out of interactive mode the moment the line goes bad (**)
- do a `:u` in combo with `^L` when bad stuff came on the screen
- `:w` in between (I had to do this **very often** since `ATH0` was often send to the Telebit 9600bps modems when the lines went beserk)
- `:wq` at the end when all looked good on the screen.


The power of _insert mode_ saved my sanity on the copper wires from the **POTS** phone system, where I had to edit files over. THe analog POTS centrals of our phonecompany were run on wires, which were way too old, which means with rain, a lot of moisure creeps in the cable, forcing a lot of noise over the lines.

For a while this was the only way I used vi. I did not bother with learning others since this was all I needed.

After a while I wanted to see what I could do more with vi. However the man files for vi were not on the machines I used vi from. Then someone told me that **vim** by _Bram Molenaar_ had buildin help just like emacs, an editor I could not run due to the ram constraints my workstation had.

I downloaded vim on my m68k Amiga and loved the startup screen. It looked very similar to this one <https://imgur.com/QqMPp4Q>

The next screen is what made my decision final <https://imgur.com/POyJPHr>

THe fact that I could use vim with build-in help was an eyeopener. From then on I realized, I  can take my time and learn new stuff right in the editor.

### AMAZING

That is how this discovery felt. Esp in a time when multi monitor setups at home were non-existent, since I wanted to be in the editor while I learn new stuff I need, for the tasks at hand.


Note: I will use the terms **vim** and _vi_ interchangeably. When I talk about the bare version, I reference POSIX vi which you should find on all posix compliant OS'es


(*)
THe modems in that period had MNP5 & other protocols which were supposed to help against unstable phone lines. They were not prepared against the LQ lines we had in our country.

(**)
URC = Universitair Reken Centrum -> University Computer Lab


This document is a _w.i.p_ it's not finished yet. I publish it now since it's been in the pipeline for a while already

Direct link to the last synced version:
<https://github.com/AmigaGPU/fat-agnus/blob/master/2019-04-04-building-a-programming-env-in-2k19-3.md>
Hello guys
Published: 2018-10-03 10:44:39

---
title: Hello guys
published: true
description: Hello guys, from the posts dates, i guess its been a while since you guys where having discussions regarding finding a developer job abroad without a CS degree, but i would still like to share my small experience concerning the issue, cause  for while now it has been one of the things i think about allot. I am web developer with 1.5 years experience in web development, and recently i started applying for web developer jobs, and dew to the lack of web developer jobs in my country Cameroon, i had to apply for jobs abroad, and though i have a portfolio website and a github account with some few projects, i still find it so difficult getting call ups for interviews after i apply for jobs and some of the hiring offices are kind enough to tell me my skills are not bad or my skills are good enough for the position, but are also sorry they can't continue dew to my background or me not meeting other criteria. I am sure some of you guys here must have gone through such, please what do you advice me to do, cause for me i have been trying to build my skills to the level i can impress an employer enough for him to want to get me visa sponsorship, but i will still like to get your taught.
tags: 
---
Checking My Comments
Tags: programming, comments, documentation
Published: 2019-05-18 14:42:11

---
title: Checking My Comments
published: true
description: 
tags: programming, comments, documentation
---

This morning I was going to start on a post about doing this:

- Find a code passage that has an explanatory comment.
- Turn it into a well-named method that doesn't need a comment (because the method name does that work).

I wondered whether I could glean a good example from my own code (and thereby improve my code, too).

Well....

I looked into my code for [markdown_helper](https://github.com/BurdetteLamar/markdown_helper#markdown-helper), checking up on what I had commented.

Found several things:

- A code-inspection pragma from RubyMine that certainly does not belong in open-source code.  (What?  You mean some people don't use RubyMine?)
- Two nearly identical passages of code, both with nearly identical explanatory comments.  (Hey, I'm 76!  I forget things!)  That code should become a method not only to form the comment into the method name, but also just because -- refactoring.
- A wonderful commented passage that should be changed into a method.  What that code does is very necessary, but is presence at the beginning of the surrounding method impedes thought-flow if you're trying to read and understand that method.

These last two will eventually become part of the post I was considering.

Moral of the story (for me):  Review comments!
Tech fields that do not require coding
Tags: javascript, coding, tech, datascience
Published: 2019-05-18 14:26:42

---
title: Tech fields that do not require coding
published: true
description: You want to go into Tech? but coding isn't your thing? well, that's understandable, we have amazing fields that don't need you to write hello world.
tags: Javascript, coding, tech, datascience
---

N.B: You must be an amazing reader and a good thinker.
(Don't get scared, you can still be in the tech field without writing those codes you feel are boring)

1. UX/UI Designer: As amazing as front end/back end developers are, companies hire professionals to think from the users perspective, you'll be responsible for designing user interfaces, understand how the end user relate with features and product. This field is tasking and you will actually need a lot of design skills to be perfect. 

2. Software Quality Tester: Companies don’t launch apps or features without testing first; either automated or manually. As much as automated testing is good/faster, that end user feeling and experience is needed and amazing people fill this role. You get to give advice and recommend improvements💪

3. SEO analyzer/specialist: No matter how amazing a product(website/app) is, it’s useless if people don’t get to use it. Don’t confuse this field with marketing, although you’ll think like one, the difference is that you’ll think with the programmers also and make researches 👌

4. Data Analyst: An amazing level of mathematical computation, Statistics & analytical skill is required to fill this position, you’ll need to be the master of various Data processing apps. Trust me, your results at times could determine where the company is headed.  💪 Knowledge of Python of R is required for some core data analysis, but then, you can be good at making use of the softwares. The same way I won't actually call Matlab programming.

5. Project/Program Manager: This isn’t actually the same as Program is higher than Project.  You’ll need to tailor yourself to a particular field, you know you are not writing codes, but you should know why you want your developers to use GraphQL and not REST, why Angular not React. You’ll read a lot and understand tech terms, this role pays more than programming fields most times, although a lot of companies require you have a Degree in CS, you can take Nano degree courses and be perfect for the role.

This list could be updated later, here a link to the twitter thread.

{% twitter 1127469057169600512 %}
User-test an open source project [My tech writing process: part 1]
Tags: writing, opensource
Published: 2019-05-18 13:40:53

---
title: User-test an open source project [My tech writing process: part 1]
published: true
description: 
tags: writing, opensource
---

One of my [goals this month](https://dev.to/amrutaranade/tech-writing-goals-for-may-2019-2a60) was to open-source my technical writing process. To that end, I contributed docs to an open source project and recorded my writing process in (almost) real-time. 

My first step when starting to work on any new project is user-testing it. I need to know how the end-user will interact with the project, the things they might stumble over, and things that will delight them. Here's a video of me user-testing an open source project:

{% youtube meHs8ltVWhQ %}
What does the three reaction emojis on Dev.to really means?
Tags: emojis, devto, unicorn, beginners
Published: 2019-05-18 12:42:40

---
title: What does the three reaction emojis on Dev.to really means?
published: true
description: 3 emojis on Dev.to
tags: emojis, devto, unicorn, beginner
---
Hey anyone, who can describe about the emojis available in Dev.to App. A Heart, Unicorn and a Tag.?
Growth idea - Start sending Plain-Text emails 
Tags: growthhacking, emailmarketing
Published: 2019-05-18 12:04:52

---
title: Growth idea - Start sending Plain-Text emails 
published: true
description: Start sending Plain-Text emails
tags: growthhacking, emailmarketing, 
---

# Start sending Plain-Text emails
This article first appeared on my project [Growthhacklist](https://growthhacklist.com/methods).

Sending plain-text emails can increase the response rate of your newsletter. Karthik Suroju of [Newton](https://newtonhq.com/)  shared this little idea in an interview.  They increased their email response rate by +156% by just sending Plain-text email instead of HTML emails. 

![](https://thepracticaldev.s3.amazonaws.com/i/1orbz3y97x5tebixjfzn.png)
[Another Email Example](https://explore.reallygoodemails.com/stop-missing-user-feedback-use-plain-text-emails-to-boost-response-rates-6fccb4ad2157)

They are also following always three important rules with every email:

- They never send ‘No reply’ emails
- They encourage users to reply to all emails, newsletters included.
- They respond to all queries within a few minutes, even on holidays.

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

### What are other makers doing?

While writing this article, I started to ask other indiemakers in the [subreddit of Entrepreneurs](https://www.reddit.com/r/Entrepreneur) and on [Indiehackers](https://www.indiehackers.com/post/ddcba0fc4b)  what they think about plain text emails - here are some answers:

![](https://thepracticaldev.s3.amazonaws.com/i/hxqpnbgk4mx2qr1o4ase.png)
[Reddit Post](https://www.reddit.com/r/Entrepreneur/comments/bjmesn/are_plain_text_emails_increasing_response_rate/)

![](https://thepracticaldev.s3.amazonaws.com/i/53v1vwm0c00q7b0mumpl.png)
[Indiehackers post](https://www.indiehackers.com/post/ddcba0fc4b)

It's really interesting that all comments are in favour of plain text emails. If you want to see what other bigger companies are doing, you can also take a look at the website  [Good Email Copy](https://www.goodemailcopy.com/)  and copy the style of successful StartUps/Companies like Slack or Basecamp.

### Sources:
[Case Studies: 2019’s Top 10 Growth Hacks](https://medium.com/startup-grind/top-10-proven-growth-hacking-ideas-for-2016-bcd3c126de63)
[Lessons Learned: Why Newton Swears by Plain-Text Emails](https://explore.reallygoodemails.com/stop-missing-user-feedback-use-plain-text-emails-to-boost-response-rates-6fccb4ad2157)
An unified alternative to React Native Picker Component
Tags: reactnative, picker
Published: 2019-05-18 06:20:15

---
title: An unified alternative to React Native Picker Component
published: true
description: 
tags: React Native, Picker
cover_image: 
---

React Native ships with a Picker Component providing bindings to native implementations of this most basic UI element. It renders as an **UIPickerView** on iOS and as a **Spinner** on Android devices:

![](https://thepracticaldev.s3.amazonaws.com/i/plg0ojq69msy3sdaxmt2.gif)


As seen on the demos, the output is totally different on iOS and Android. If you want a consistent look & feel on both platforms, official React Picker component is definitely **not** the way to go.

Another issue with the stock component is platform-specific props, which causes you to add platform-specific code to your project to make it work on both platforms.

We took an alternative approach and developed a modal-view based list picker component. It renders consistently on both platforms and provides an unified API. 

Additionally, the component includes built-in support for text search and alphabetical index which makes it ideal for longer lists not suitable for "wheel pickers":

![](https://thepracticaldev.s3.amazonaws.com/i/mc7p450p2hrqj94s45jl.gif)


If you want it give a try, a live demo can be seen on [Expo](https://snack.expo.io/@pankod/github.com-pankod-react-native-picker-modal-view:example) and the full source code with complete API documentation is available on Github:

{% github pankod/react-native-picker-modal-view %}
Baby Animals Are Cute
Tags: babies, animals, puppies, kittens
Published: 2019-05-18 10:46:27

---
title: Baby Animals Are Cute
published: true
description: 
tags: babies, animals, puppies, kittens
---

Hello everyone!

I took a couple of days off work to celebrate another year safely around the sun with a nice, long weekend. I'm also taking the opportunity to take a week off content production as well, so instead, I'm putting out a call to the readers:

Show me a picture of your favorite animal, as a baby! It could be your own pet, or a giraffe, or whatever. Looking for a pile of cuteness and there's no wrong answer!

Thanks all and I look forward to being back next week!


Here's Apollo, my now four year old bearded dragon buddy
![Baby Apollo](https://thepracticaldev.s3.amazonaws.com/i/kh9rniw8w3bye4c010vc.JPG)
Googlebot now supports latest Javascript features
Tags: javascript, seo, webcomponents, io2019
Published: 2019-05-18 10:24:18

---
title: Googlebot now supports latest Javascript features
published: true
description: Google announced at Google IO 2019 that Googlebot now supports the latest Javascript features. This is an important improvement for Frontend Developers.
cover_image: https://thepracticaldev.s3.amazonaws.com/i/iksbl2o10j56pxb0jqpy.png
tags: javascript, seo, webcomponents, io2019
---

Google announced at Google IO 2019 that Googlebot now supports the latest Javascript features. This is an important improvement for Frontend Developers.

{% youtube Ey0N1Ry0BPM %}

This means that now we can develop Single Page Applications or use the latest browsers features like ES6, WebComponents, IntersectionObserver an so on.

{% twitter 1125923222417920000 %}

There are some limitations, for example if you are using babel for transpiling your Javascript code, you should evaluate if it's necessary. Major Browsers supports many ES6 features like fetch, promise, classes, async & await, arrow functions and many others.

## Google Index Javascript
To fix Javascript issues I leave you these links:

- [Fix JS Limitations](https://developers.google.com/search/docs/guides/fix-search-javascript).
- [Lazy Loading](https://developers.google.com/search/docs/guides/lazy-loading)
- [Implement Dynamic Rendering](https://developers.google.com/search/docs/guides/dynamic-rendering)

## Debugging
For debugging your pages there are two useful tools:

- [Mobile Friendly Test](https://search.google.com/test/mobile-friendly)
- [Url Inspection Tool](https://search.google.com/search-console/welcome)

## Javascript SEO
Javascript SEO is a [series of videos](https://www.youtube.com/watch?v=wSwzfEn5-6A&list=PLKoqnv2vTMUPOalM1zuWDP9OQl851WMM9&index=9) presented by Martin Splitt where you can find interesting advices.

{% youtube wSwzfEn5-6A %}

Keep calm and code!
I developed a tool for developers. What now?
Tags: help
Published: 2019-05-18 10:22:08

Hello folks,

Over the last 10 months I have been developing a tool to ease the life of other developers. I've realised the need for such a tool when I was adding server side functionality to the e-commerce we develop at work. 

The tool is called Stormkit and you can check it out from here: https://stormkit.io

In a few words, it allows hosting and developing modern web applications, with support for server side functionalities like rendering and logging. In other words, it's like Netlify but with focus on the server side support which makes hosting dynamic web applications possible.

Right now it's in an alpha stage and I am looking for people interested using the tool to test it out. 

This is where the #help is needed. I don't really know how to proceed to find users who'd like to test this out and give feedback so I could continue to iterate over the software. I am sure there are many entrepreneurs in the community who passed from this stage several times in their lives, and I would be super happy if you can share your experience and guide me. 

I would also appreciate honest feedback on the tool. For instance, would you use such a tool? If not perhaps would be very helpful to specify why so I could work on that point.

I appreciate your help, and looking forward for comments!
Keeping it Simple 
Tags: discuss, design, retro, productivity
Published: 2019-05-18 09:44:56

---
title: Keeping it Simple 
published: true
description: 
tags: #discuss #design #retro #productivity
---

The KISS (keep it simple stupid) principle dates all the way back to 1960. The idea is that systems work better when they are kept simple, rather than made unnecessarily complicated.

How important do you think this principle is for software?

How do you keep things simple when you create software? 

What things make you over-complicate products, designs or code?
Javascript The Jack of All Trade
Tags: node, beginners, webdev, javascript
Published: 2019-05-18 09:12:00

---
title: Javascript The Jack of All Trade
published: true
description: Why Javascript is the Jack of All Trade.
tags: nodejs, beginners, webdev, javascript
---
In 1995, Javascript was used to build dynamic interactive web pages. Animations and Interactive Components on the **client side** were build using Javascript.
Over the next whole decade, the use of javascript remained the same until 2009, when a software engineer named **Ryan Dahl** invented a new way to run javascript on Server Side. He introduced Node.js to the development world. At first, people didn’t realize the magic of running javascript on the server side, they started ignoring it but later in 2010, Isaac Z. Schlueter invented **npm (node package manager)** which was purely written in Javascript. People started moving towards Javascript.

![Javascript](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcSDdKklEzSDhTcanH55d_OBZs-Gri9nTlJ0oU3T7cJpiZxS9FNM)

Google launched AngularJS and **JAVASCRIPT WAS THE TALK OF THE HOUR.**
Everyone started using it and many other javascript frameworks were built like Node.js. After that, the community of javascript increased drastically and learning frameworks became a trend. With the introduction of Typescript, CoffeeScript in the web development, the area of javascript expanded from web browser to native mobile and desktop applications.
Top Front End Javascript Frameworks
* React – A JavaScript library for building user interfaces (https://reactjs.org/)
* Angular (https://angular.io/)
* Vue.js (https://vuejs.org/)

Server Side Javascript Framework
* Node.js (https://www.nodejs.org)
* Ember.js: A framework for ambitious web developers (https://www.emberjs.com)
Mobile Development
* React Native · A framework for building native apps using React (https://facebook.github.io/react-native/)
* Apache Cordova (https://cordova.apache.org/)
* Ionic - Cross-Platform Mobile App Development (https://ionicframework.com/)
Desktop Application
* Electron | Build cross-platform desktop apps with JavaScript, HTML, and CSS. (https://www.electronjs.org)
I have mentioned the important technologies that are dominating the field.
![Javscript](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcRlvvdNMhHmeaU1CbQnMCuzovP-TOv1dp7m6XSDaTuplW24vWaO)

With the fast evolution of the javascript world, it is becoming hard for developers to opt for the correct technology. But the one that I have mentioned are the ones that are not going anywhere, they are here at least for a decade.

**Fun fact:** *Javascript was written in 10 days in 1995.* ***Cheers!***
Decode Flutter Series
Published: 2019-06-29 15:59:54

---
title: Decode Flutter Series
published: true
tags: 
canonical_url: https://medium.com/@greg.perry/decode-flutter-b25ba61f23ed
---

A series of in-depth articles on Flutter

[![](https://cdn-images-1.medium.com/max/1024/1*a5xl4e4EnQtONUZyWJF_6w.png)](https://medium.com/p/b25ba61f23ed#02be)<figcaption><a href="https://medium.com/p/b25ba61f23ed#02be">Any Requests?</a></figcaption>

[![](https://cdn-images-1.medium.com/max/901/1*OpAHSdQ8KKyxW9twyPqY3Q.png)](https://dev.to/andrious/decode-futurebuilder-2746-temp-slug-9370901)

[![](https://cdn-images-1.medium.com/max/901/1*o6UWEkkgUDeXQ25wPzI74g.png)](https://dev.to/andrious/decode-streambuilder-46mk-temp-slug-4658918)

[![](https://cdn-images-1.medium.com/max/901/1*b3IlHEkKJi8zAibhYYNdRA.png)](https://dev.to/andrious/decode-listview-28o0-temp-slug-4675924)

### next article…

![](https://cdn-images-1.medium.com/max/912/1*zKgyZouQhLraMQhXEsFOpw.png)

![](https://cdn-images-1.medium.com/max/901/1*ritCuebVnWkyNq2PJKc4Bw.png)

[→ Other Stories by Greg Perry](https://medium.com/@greg.perry)

[![](https://cdn-images-1.medium.com/max/1024/1*iCGSGqp4gg8d4cDurZYLWQ.png)](https://dev.to/andrious/contact-info-52l4-temp-slug-3008268)<figcaption><a href="https://dev.to/andrious/contact-info-52l4-temp-slug-3008268">Questions?</a></figcaption>