teleren/devto huggingface dataset:
Programming is more than just programming.
Tags: firstpost, startingout, newprogrammers, programming
Published: 2018-11-10 08:59:52

---
title: Programming is more than just programming.
published: true
description: 
tags: #firstPost #StartingOut #newProgrammers #programming
---
I grew up smart because I started programming when I was just merely 9 and quickly grasped it. I considered myself to be a full fledged programmer after about 4 years of hard programming when I was about 13-14 years old. I had mastered JAVA, Visual Basic .net, PHP, Javascript and could smoothly navigate LINUX. 
But I only got my first job after another 3 years of hard trying. I don't know if it was my age that restricted the companies to hire me or whether it was my skill that did not meet the criteria. Nevertheless, I was in no doubt of my programming skills, so there must be another reason behind me not getting a job for so long. 

I had two things in mind.
1. Maybe it was my age that restricted me.
2. (I'll be explaining this is more detail.)

I had no control over my age so let's just forget it was even there.
The second thing I think that was opaque to me getting a job were a list of things more than "just programming". I was good at programming but I was missing something.

I'll list those things below. Also, I believe these are the things that are not/very less taught in universities while getting a bachelor's degree and the new grads have to learn it after they graduate and go through a lot of unnecessary trouble of learning.

1. Testing the code. 
    Yes, I did not test my code. Nothing. 0. All I did was a lot of print statements to know where my code fails. That's it. Testing the code and mainly nowadays Test Driven Development(TDD). Just do it even when you're only playing around with your own piece of code. 

2. Learn your way through the debugger.
    The debugger will be your best friend after you're tired with all the writing and commenting of your print statements in a lot of places. If you prefer NodeJS, there's node inspect, for C there's GDB. There always is a way to debug. Utilize it.

3. Design Patterns is more important than algorithms.
    Yes, Universities and interviews tend to focus more on your knowledge on algorithms, logic and data structures but trust me, design patterns is all that's gonna count later. Unless you're working for big companies like Google and Facebook as an engineer; there's very less chance you'll actually implement your own algorithms or even code an already discovered algo. But you'll be making a lot of classes and modules. You'll need to manage them, create and manage new objects and also the directories you place your files in. Having a solid foundation for your directories and any new classes you create is a must.

Well, that's all. Hope it helps any new programmer. These are just my opinions on what set me back. 
Thanks.
P.S This is my first post.
Almond Automation | Codeless Web Automation Tool
Tags: selenium, automation, codeless, scriptless
Published: 2018-11-12 17:35:40

---
title: Almond Automation | Codeless Web Automation Tool
published: true
tags: selenium, automation, codeless, scriptless
---
Almond Automation is codeless web functional testing tool based on selenium grid.

It is free and open source. It provides UI to create testcase and run those testcases on selenium grid.

You can then view status and screenshot of each step of testcase.

Almond Automation provides following feature

1. UI to create and run testcase.
2. You can manage multiple projects from single UI.
3. You can run testcase on any environment.
4. Create TestSuite.
5. Support for modular testcase. No need to change many testcases because of change in one field etc.
6. Verify execution of testcase easily in UI. View screenshot of each step of testcase.
7. It is created keeping maintenance of testcase at most priority.
8. QA and Dev both can create testcase easily. Dev can run complete testsuite on his/her machine before pushing build to QA environment.

Support for macros to run same testcase with different values.
Please visit [Almond Automation](http://almond-automation.blogspot.com/p/home.html) for complete documentation.
Module Monday 20: Scrollmagic gallery, Reveal card, Fixed nav & more
Tags: showdev, opensource, webdev, javascript
Published: 2018-11-12 17:19:54

---
title: Module Monday 20: Scrollmagic gallery, Reveal card, Fixed nav & more
published: true
description: Module Monday 20
tags: showdev, opensource, webdev, javascript
cover_image: https://res.cloudinary.com/component/image/upload/c_fill,h_350,w_880/v1541811185/scroll-gallery_50_v0s5ei.gif
canonical_url: https://guide.anymod.com/module-monday/20.html
---

## Open source web modules

Everything below is open source and free to use on any website, web app, or anywhere else. [Anymod](https://anymod.com) has hundreds more like these.

Click a mod to see it along with its source code.

## Scroll magic gallery
Customize images, content, and scroll directions for the perfect look.

<a class="btn btn-sm" href="https://anymod.com/mod/dkarrd?v=20">View mod</a>

<a href="https://anymod.com/mod/dkarrd?v=20">
  <img src="https://res.cloudinary.com/component/image/upload/v1541811185/scroll-gallery_50_v0s5ei.gif"/>
</a>

## Fixed navbar
Add a responsive, fixed navigation bar to any page.

<a class="btn btn-sm" href="https://anymod.com/mod/kdklla?h1=55&h2=56&v=40">View mod</a>

<a href="https://anymod.com/mod/kdklla?h1=55&h2=56&v=40">
  <img src="https://res.cloudinary.com/component/image/upload/bo_1px_solid_rgb:dfdfdf,c_pad,g_north,h_200,w_1198/v1541813567/fixed-nav_vdtsts.png"/>
</a>

## Reveal card
Click to show your content.

<a class="btn btn-sm" href="https://anymod.com/mod/nbmba?v=30&h1=62&h2=82">View mod</a>

<a href="https://anymod.com/mod/nbmba?v=30&h1=62&h2=82">
  <img src="https://res.cloudinary.com/component/image/upload/v1541529136/card-reveal_rluqjd.gif"/>
</a>

## Dark cards
Because dark mode is all the rage.

<a class="btn btn-sm" href="https://anymod.com/mod/ranmon?h1=49&h2=100&v=20">View mod</a>

<a href="https://anymod.com/mod/ranmon?h1=49&h2=100&v=20">
  <img src="https://res.cloudinary.com/component/image/upload/v1541816814/dark-cards_d9lpwo.png"/>
</a>

## Pinterest board embed
Add an interactive Pinboard anywhere.

<a class="btn btn-sm" href="https://anymod.com/mod/llbnl?v=20">View mod</a>

<a href="https://anymod.com/mod/llbnl?v=20">
  <img src="https://res.cloudinary.com/component/image/upload/v1495119494/xvnaca8uhhszfqx2hdqc.png"/>
</a>

<hr>

I post new mods [here](https://dev.to/tyrw) every (Module) Monday -- I hope you find them useful!

Happy coding ✌️
Software is like gardening
Tags: career, tips
Published: 2018-11-12 17:14:32

---
title: Software is like gardening
published: true
description: Changing the viewpoint on building software.
tags: career, tips
cover_image: https://thepracticaldev.s3.amazonaws.com/i/fclabkhona6zwju88p18.jpeg
---

Recently I've been reading _The Pragmatic Programmer_ (for the second time 😁), and I came to one analogy that struck me hard, and changed my whole thinking about software development.

In the chapter 6, called _While you are coding_, page 184, the author says:
> Unfortunately, the most common metaphor for software development is building construction. [...] Rather than construction, software is more like gardening--it is more organic than concrete.[...] You constantly monitor the health of the garden, and make adjustments (to the soil, the plants, the layout) as needed.

This just made me realize the contradictions I've been living with and the need to come to terms with software development and its real lifecycle. More often than not, software is not just written and that's it. It evolves over time as needs arise. The code you wrote 6 months ago might be rewritten, and that's fine. Dependencies update, your software changes due to it. Et cetera.

This may not be news to you as a software developer, but an unpleasant quantity of non-technical people who works with developers, may not understand this and think this is like building construction (as I did before). This is your pitch for them:

**Software is not static. Software is alive.**

Thanks for reading.

###### Credits: Photo by [Markus Spiske](https://unsplash.com/photos/vrbZVyX2k4I?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText) on [Unsplash](https://unsplash.com/search/photos/gardening?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText)
streaming on twitch
Tags: discuss
Published: 2018-11-12 16:53:27

---
title: streaming on twitch
published: true
description: to stream or not to stream?
tags: discuss
---

Lately I have been thinking about streaming most of the development I do on twitch. The issue is I throw out projects a lot, and don’t really have anything particularly cool that I’m working on right now... so I guess I’m asking you all about it. Have any of you ever done it before? What did you make? Was it fun? If I do it what should I build?
Var or Let?
Published: 2018-11-10 05:51:17

---
title: Var or Let?
published: true
description: 
tags: 
---
Let is very similar to var but there are some key differences between the two. For those of you who are still struggling understanding var and let then this article will provide a quick summary of the differences between the two.

Var uses a function scope and has what’s called hoisting. Hoisting allows variable to be available on a broader scope beyond where they are declared but this increases the chance of having an error in your code. If you have another variable with the same name then things can be confusing which is why using less and having a smaller scope is a nice solution to this. 

![Alt text of image](https://thepracticaldev.s3.amazonaws.com/i/rlfdimtudgfub65yvcay.png)

In this example you can see the hoisting process where the declaration at the top and the variable are being called throughout the whole scope. Problem with this is that i is declared twice which messes up the code.

Let has what’s called a block scope which is only declared inside of the curly braces. This means the declared variable are limited in the scope unlike var where the variable is defined globally regardless of block scope. This is good for limiting any errors that might occur if you declared it outside the block scope.

![Alt text of image](https://thepracticaldev.s3.amazonaws.com/i/4y48pc8xde7gs3fh97u1.png)
![Alt text of image](https://thepracticaldev.s3.amazonaws.com/i/np3c0uf4dx608dg5ht2d.png)

 As you can see in this example we try to console log the variable i it gives an error message because it's outside the block scope. 

![Alt text of image](https://thepracticaldev.s3.amazonaws.com/i/8dhs9hg598u8vkfo04ot.png)
![Alt text of image](https://thepracticaldev.s3.amazonaws.com/i/gty871cjz7la5kyxnij3.png)

Now when we do the same thing but replace let with var we get a number for i which is 100. Now even though this works it can get confusing if someone else was editing the code and used the variable i later down the line.

Remember even though you can access variables on a global scale using var, it's best to limit the scope using let to reduce the number of errors you could face.
Follow Up Video: On Dealing with Anxiety and Depression as a Developer
Tags: discuss, career, health, life
Published: 2018-11-12 16:43:16

---
title: Follow Up Video: On Dealing with Anxiety and Depression as a Developer
published: true
description: A little over a month ago I wrote an article about dealing with depression and anxiety as a developer. After being admitted to a partial hospitalization program and not touching my computer for a whole month, here's a video follow-up to an article that I felt I needed to write.
tags: discuss, career, health, life
---

A bit over a month ago, I wrote an article called [On Dealing with Anxiety and Depression as a Developer](https://dev.to/moimikey/on-dealing-with-anxiety-and-depression-as-a-developer-2ac4). Within that time period, 3 ER visits, and needing to take medical leave from my company as a software engineer, I admitted myself into a PHP (Partial Hospitalization Program) to take care of my mental health.
How do you manage your web application configurations?
Tags: discuss, webdev, devops, deployment
Published: 2018-11-12 16:40:43

---
title: How do you manage your web application configurations?
published: true
description: 
tags: 
- discuss
- webdev
- devops
- deployment
---

In order to better understand current practices, I'm doing a survey about configuration management and deployment of web applications.

If you are, like me, willing to learn how the community thrive or struggle with their configurations or just curious about deployment, I propose you to:

- [Fill the small survey](https://kvinmaschtaler.typeform.com/to/KMXdh2) (less than 5min)
- [See the results live](https://kvinmaschtaler.typeform.com/report/KMXdh2/A4g9saoaIc2vFfbl)
- Debate how and why you are using technics and not another

At the end, I'll write a blog post about the conclusions and what I've learn about that, trying to be neutral.

So, environment variables or YAML?
How do you share configurations between coworkers?
10 rules (part 2) for happier self
Tags: blog, concepts, life, product
Published: 2019-01-02 13:32:32

---
title: 10 rules (part 2) for happier self
published: true
tags: blog,concepts,life,product
canonical_url: https://itscoderslife.wordpress.com/2018/11/12/10-rules-part-2-for-happier-self/
---

Having your self a part time hobby or goal enriches your self and increases productivity both in your regular day job as well as personal life. Here are the 10 tips to achieve it.

-= **Tim Ferriss’s 10 rules** =- (as I understand)  
_1. Have other interests_ – apart from day job do something different of your interest  
_2. Scratch your own itch_ – continued from point 1, add your creativity in hobby projects  
_3. Learn the art of the pitch _– I think this a develop art of storytelling  
_4. Focus on your strengths _– strengthen what you are best at along with improving weakness  
_5. Be able to sell_ – similar to point 3, work on your communications  
_6. Ideas are worth nothing_ – try to realise your thoughts plans into actions  
_7. Pick the right things to do_ – prioritise and work on what is needed now  
_8. Be pragmatically pessimistic_ – don’t be overly optimistic/pessimistic (hope for the best, prepare for the worst)  
_9. Have a focused metric_ – evaluate and re-evaluate your goals vs accomplishments  
_10. Use failure to help you_ – learn from your mistakes

I think these are simple things easier said than done. Takes persistence to put this into practice and make it into your inevitable part of life.

This is another post on same lines of my [previous post](https://dev.to/itscoderslife/10-rules-part-1-for-success-in-anything-bg-temp-slug-61793). Just jolting it down for future me and for anyone reading this. Got this one from [another video](https://www.youtube.com/watch?v=bZm3ZDrRT7I).
Creating objects using the "class" keyword
Tags: es6, javascript, programming, objects
Published: 2018-11-10 03:34:16

---
title: Creating objects using the "class" keyword
published: true
description: 
tags: ES6, JavaScript, Programming, Objects
---

This past week in my coding bootcamp, I learned how to make objects using the "class" and "constructor" keywords. Using this method, creating new objects becomes simpler and makes our code much cleaner. To demonstrate, here is what creating objects would look like if we did not have the "class" and "constructor" keywords. 

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

In my demonstration, I have created all of the objects within the students array manually by copying the previous object and replacing the values. I hope you can understand that this can become tedious, especially if I was creating an object for every student in the school. Here is the same output using the aforementioned "class" and "constructor" keywords:

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

Initially, we can see that the lines of code have been reduced. I don't have to copy and paste the same object over and over. As long as I know how I constructed my class object, I can use the "new" keyword to create a new object easily and quickly. Another thing to note is that class declarations are not hoisted. If I tried to create a new student before the "class Student" is declared, then it would throw an error. 

Another cool thing about JavaScript classes is that we can attach methods specific to each object. 

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

Now each student has a method called "enroll()", which will change the value of active to true if it is currently false. If active is already true, then nothing changes. Classes are particularly useful to avoid redundancies and for easily editing object values. Thanks for reading!
Am I able to pull it off as a freelance web developer?
Tags: career, beginners, learning, discuss
Published: 2018-11-12 16:11:08

---
title: Am I able to pull it off as a freelance web developer?
published: true
description: 
tags: career, beginners, learning, discuss
cover_image: https://thepracticaldev.s3.amazonaws.com/i/ve45ouv4kno2w3242fmn.jpg
---

Hello everyone,
I don't know if sharing my story here is suitable or not but I really need to talk to someone.

I'm a self-taught programmer from Vietnam. As you all know, being a self-taught programmer isn't that easy, especially from where I'm living.
I'm starting out as a banker, after 5 years working fulltime there, I've left my job 5 months ago to pursue my dream to become a freelance web developer.

![Web Developer](https://thepracticaldev.s3.amazonaws.com/i/6czgu1r1bh6ldahpjrgg.jpg)

To tell the truth, I don't think very much at first and just want to code and work with my computer. At that time I followed The Odin Project curriculum and freeCodeCamp, alongside with courses on Udemy and some programming books. Now, I've finished the Odin Project and got 4 certifications at FreeCodeCamp. Now, I am able to code my [personal site](https://uybinh.com) to share my [portfolio](https://uybinh.com/porfolio), write some tools for my own need with Ruby and JavaScript with Node.js.

But recently, I usually have a feeling like I don't have the motivation, and I'm feeling lost. I feel lonely because I don't have any friend working in tech, also don't have a network of local developers, also because I'm an introvert. I doubt my ability and afraid whether or not I can pull it off, can I have a life I want as a developer. I don't know what I should do next?

![I'm feeling lost](https://thepracticaldev.s3.amazonaws.com/i/6kq0l3oog1sfnjdy2nah.jpg)

It would be great if you could share with me some tips, your own experiences/stories, cohorts, groups, or anything would help.

Thanks so much!
Sphinx extension to generate Reveal.js presentation from plain reST
Tags: python, sphinx, revealjs
Published: 2018-11-12 07:41:24

I create Sphinx extension to convert Reveal.js presentation from **plain** reStructuredText. please try it, if you match want to write Reveal.js by Sphinx(reStructuredText)

{% github attakei/sphinx-revealjs %}

If you want to see source and output, click these links. These are pair of simple reST source and generated presentation.

* Source from
  * https://raw.githubusercontent.com/attakei/sphinx-revealjs/master/demo/index.rst
* Output to
  * https://attakei.github.io/sphinx-revealjs/index.html

# Installation and usage

## Installation

```
$ pip install git+https://github.com/attakei/sphinx-revealjs
```

## Usage

1. Add extension to your sphinx `conf.py`

```
extensions = [
    'sphinx_revealjs',
]
```

2. Write your presentation source by reST, and build

```
$ make revealjs
```


# Concepts

* Use default nodes and directives as more as possible
* Manage multiple presentations in one Sphinx documentation
  * and, can switch themes per documents

## Supporting features in reST

* Section (convert reveal.js section)
* Comment (use for speaker note)
* Code block (convert reveal.js style code block)
* And other directives (inherit Sphinx HTML5 builder)

# Short examples for convert

Your write source like this..

```rst
=====
Title
=====

Section 1
=========

content 1

Section 2
=========

content 2
```

It can convert this

```html
<section>
  <h1>Title</h1>
</section>
<section>
  <h2>Section 1</h2>
  <div>content 1</div>
</section>
<section>
  <h2>Section 2</h2>
  <div>content 2</div>
</section>
```

Of course, support nested section.

from

```rst
=====
Title
=====

Section 1
=========

content 1.1
-----------

content body

content 1.2
-----------

content body

```

to

```html
<section>
  <h1>Title</h1>
</section>
<section>
  <section>
    <h2>Section 1</h2>
  </section>
  <section>
    <h3>content 1.1</h3>
    <div>content body</div>
  </section>
  <section>
    <h3>content 1.2</h3>
    <div>content body</div>
  </section>
</section>
```
The 7 Most Popular DEV Posts from the Past Week
Tags: top7, bestofdev
Published: 2018-11-12 14:56:08

---
title: The 7 Most Popular DEV Posts from the Past Week
published: true
description: A round up of the most-read and most-loved contributions from the community this past week.
tags: icymi, bestofdev
cover_image: https://thepracticaldev.s3.amazonaws.com/i/sfwcvweirpf2qka2lg2b.png
---

#1. "Beginner" ➡️ "Hazard" ➡️ "Expert"

Jan drops some wisdom and perspective about the different "stages" of being a developer.  The phrase "I know enough to know I don't know enough" comes to mind.

{% link https://dev.to/stealthmusic/the-three-stages-of-a-developer-hp4 %}

#2. Teaching Functional Programming 💡🌎

Ed describes two big-picture approaches to teaching functional programming: using History, and using Philosophy.

{% link https://dev.to/eddroid/teaching-functional-programming-two-big-picture-approaches-3nli %}

#3. 🙈 Things no one told me 🙈

There's a big difference between "programming" and being a professional software engineer.  Ana kicks off a discussion with 20 observations.

{% link https://dev.to/anaulin/things-nobody-told-me-about-being-a-software-engineer-3pa5 %}

#4. 🚀 Gitote is live! 🚀

A very cool [#showdev](/t/showdev), announcing the launch of Gitote — an open-source alternative to GitHub, GitLab, Bitbucket, and others.


{% link https://dev.to/gitote/gitote-has-been-launched-m35 %}

#5. 📜 The Unix Way 📜

Amidst all of the great Vim tutorials, David shares some great context about Unix.  Vim is powerful because it's already tightly integrated with Unix tooling.


{% link https://dev.to/gypsydave5/the-unix-way-or-why-you-actually-want-to-use-vim-3n8p %}

#6. 🔬 Exploring Vim 🔬

Speaking of great Vim tutorials and introductions, don't miss this article which provides some great background and offers a taste of Vim.


{% link https://dev.to/vintharas/exploring-vim-4k1i %}

#7. PHP Resources on DEV 🏗✅🚥🔒🛠

Spanning tooling, security, bootstrapping, quality, clean code, testing, and DEV members to follow, this is a great PHP-focused roundup.


{% link https://dev.to/biros/awesome-php-resources-on-dev----3a18 %}

_That's it for our weekly wrap up! Keep an eye on dev.to this week for daily content and discussions...and if you miss anything, we'll be sure to recap it next Monday!_