teleren/devto huggingface dataset:
That hard times while learning to code in college and how I was advised by a senior
Published: 2017-10-29 21:18:59

---
title: "That hard times while learning to code in college and how I was advised by a senior"
published:  true
description: 
tags: 
---
Before university, I rarely used computers so I was struggling with the Computer Science education. I nearly switched from Computer Science to other program. I heard about one senior who was doing well in school so I went to him for advice. And this is how he advised me.

1. Go to campus
2. Spend 30% of your time on school work and 70% of other resources that will build your skills up.

Spend the majority of your time out of the classroom. Visit the tech hubs around.  Attend tech forums and meetups. Take an online course for Free on platforms such as the Microsoft Virtual Academy... Cybrary... Lynda.com..., if you have money pay for courses on plurasight, udacity. Start working on an individual project and post this on your Github Repo. (Oh first learn and find out what Github is)....Look for a mentor in the field... Learn from them... Find some friends and collaborate on small projects and finally don't forget to go to class once in a while.(Just to find out how things are going and if they're done teaching your fellow classmates about the WaterFall Model of 1960s)
When all this is done graduate with a Second Upper/lower or First Class... Never even have to think twice about your degree because if you do the above there will be no need to look for a job... Your skills will make jobs look for you earnestly.

Though I won't graduate with first class and neither am I on Dean's List but I am very happy with what I have learned outside the classroom. Now, I have the skills to program any applications for various platforms such as mobile, web, desktop, virtual reality, etc.

Advice from readers is welcomed to help me excel as I journey into Software Craftmanship and Development.
Deleting remote-pruned branches in Git with PowerShell
Tags: powershellmoments, powershell, git
Published: 2017-10-29 21:11:34

---
title: Deleting remote-pruned branches in Git with PowerShell
published: true
description: 
tags: powershell-moments, powershell, git
---

It's easy to wind up with a substantial collection of branches that aren't on the remote anymore that keep Git's gc from cleaning up as much as it should.  Let's get rid of them.


```PowerShell
git branch -vv | sls gone `
  |% { $_.ToString().Trim() -split '\s+' | select -first 1 } `
  |% { git branch -D $_ }
```
How to convince my colleagues about the importance of automated testing
Tags: testing, discuss
Published: 2017-10-29 14:58:28

---
title: How to convince my colleagues about the importance of automated testing
published: true
description: How could I convince my colleagues about testing being important in a Microservices architecture
tags: testing, discuss
---

Hey everyone! 
First of all, thanks Dev.to! This is an amazing community and I'm glad to contribute a bit with my first article.

Recently in my company we are migrating our monolithic Meteor application into a Microservices architecture. Our services are mostly express apps and I'm trying to encourage testing since the beginning, with a focus now on integration testing. My approach is to use `supertest` to test the API surface of our services and `nock` to mock requests to external services (first party or third party). In my opinion, this makes developing a service in isolation just by assuming the contract between the service under development and those forming the environment is right. It allows you to execute your code without requiring other services to be running, which I'm my opinion is a must in such architecture.

I have to convince them. Do you think those arguments are enough? Any tip? 

Thanks in advance!
In Love with Gitlab <3
Tags: gitlab, cicd, devops, code
Published: 2017-10-29 13:24:29

---
title: In Love with Gitlab <3
published: true
description: This article about the Gitlab and why I'm using it.
tags: #gitlab #ci/cd #devops #code 
---

When I was doing my college i "studied" about the SVC ( software version control ) but I was not sure what the heck I can do with SVC in my life. After I joined for the internship I got to know about the GitHub which will help you us to keep our code in remote and we can share with anyone your code will be open source all time if you don't have money, But I want to start a project and don't want to make it opensource, so I google for "best free alternative for GitHub". I found few google links interested but unfortunately, the Gitlab was not listed in that result at that time, so I go for bitbucket and I can share my code with 5 co-developers but my friends want to see my codes but I was not able to share that more than 5 people. a few days later I read a news about remote working in Gitlab. I googled for what is Gitlab and Github vs Gitlab I found interested in Gitlab free unlimited private repository unlimited peers, CI/CD integrations, todos and all tools for developers. I found easy to use and don't have to create accounts in different tools such as Trello. Altasian everything comes under one roof moreover CI/CD is awesome feature from Gitlab.
Installing elm on arch linux
Tags: elm, archlinux, setup, installation
Published: 2017-10-29 13:08:51

---
title: Installing elm on arch linux
published: true
description: Steps to get elm installed on arch linux and derivatives
tags: elm, arch-linux, setup, installation
---

Install elm through `npm` as a global as instructed in [Official Guides](https://guide.elm-lang.org/install.html) 
```bash
$ npm i -g elm
```

At this point if you try invoke the `elm-repl` you are probably going to get the error as shown below
```bash
○ → elm-repl
/home/sigu/.nvm/versions/node/v8.6.0/lib/node_modules/elm/Elm-Platform/0.18.0/.cabal-sandbox/bin/elm-repl: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory
```

To work around this in arch Linux you need to link the `libncurses` library to the required library as shown below.

```bash
$ cd /usr/lib
$ sudo ln -s libncurses++w.so.6.0 libtinfo.so.5
```

Now doing `elm-repl` will work as expected
Using Rspec from irb
Tags: irb, ruby, rspec, testing
Published: 2017-10-29 09:27:10

---
title: Using Rspec from irb
published: true
description: a quick guide showing you necessary steps you should take to make rspec to work on irb
tags: irb, ruby, rspec, testing
---

This is a quick guide showing you necessary steps you should take to make rspec to work on irb

Lets start by loading rspec core and expectations

```ruby
require 'rspec/core'         #this is what really runs your tests
require 'rspec/expectations' #readable syntax for checking properties of your code
``` 


We then include the matchers modules
```ruby
include RSpec::Matchers
```
rspec will NOT automatically include this for you if you are using irb
With this we can now test out our expectations:

```ruby
>> expect(1).to eq(1)
=> true
```

Whooohoo! You are good to go.. Not really, try this out
```ruby
2.3.0 :003 > array_hashes = [{lol: nil}]
 => [{:lol=>nil}] 
2.3.0 :005 > include RSpec::Matchers
 => Object 
2.3.0 :006 > expect(array_hashes).to include(have_key(:lol))

```

Rspec error while using rspec include onÂ irb
You will encounter an error as shown below:
```
TypeError: wrong argument type RSpec::Matchers::BuiltIn::Has (expected Module)
 from (irb):6:in `include’
 from (irb):6
 from /usr/local/rvm/rubies/ruby-2.3.0/bin/irb:11:in `<main>’
```

If you read closely into the error it expects a Module as an argument, this is because when using irb we are running in the main ruby object. This main ruby object has another method called include that has presidence over rspec’s include method
To work around this we can prepend RSpec::Matcher onto main’s singleton class:
```ruby
$ irb
irb(main):001:0> require â€˜rspec/expectations’
=> true
irb(main):002:0> singleton_class.prepend RSpec::Matchers
=> #<Class:#<Object:0x007ff08a8d6620>>
irb(main):003:0> array_hashes = [{lol: nil}]
=> [{:lol=>nil}]
irb(main):004:0> expect(array_hashes).to include(have_key(:lol))
=> true
```


We encountered this problem while doing a mob session at [Agile Ventures](http://agileventures.org/) 

This is where we raised the issue https://github.com/rspec/rspec-expectations/issues/1018 on the rspec expectations github page and we got this hack
The Terminal for Beginners
Tags: webdev, setup, terminal
Published: 2017-10-28 21:18:56

---
title: The Terminal for Beginners
published: true
description: The article I wished I read before opening a Terminal
tags: webdev,setup,terminal
---

Getting into Software Development seem overwhelming (actually it is) these days. One has to go through the hassle of getting familiar with different languages, to organizing codebases, to libraries, frameworks, the list goes on. Every Job description (at least the sane ones), requires additional skills to get the job. Example of such, Version Control (Git or Mecurial), tasks runners, build tools, package managers, etc.

In this article on my [Blog](https://hakaselabs.github.io/2017-10-28/terminal-for-beginers) I introduced the terminal for anyone who's trying to wrap their heads around the terminal.

Aricle -> [https://hakaselabs.github.io/2017-10-28/terminal-for-beginers](https://hakaselabs.github.io/2017-10-28/terminal-for-beginers)
Thought experiment - Create your own degree 
Tags: discuss, education, thoughtexperiment, softwaredevelopment
Published: 2017-10-28 21:12:00

---
title: Thought experiment - Create your own degree 
published: true
description: What would you have a complete layman learn that wanted to become a software developer? 
tags: #discuss,#education,#thought-experiment,#software-development
---

If you had to make a syllabus for a degree, what would you deem essential for an aspiring software developer to learn and why?

What has been your experience with developers that do vs. don't have a computer related degree?
Ellie Weekly Update 2017-10-28
Tags: ellie
Published: 2017-10-28 15:26:53

---
title: Ellie Weekly Update 2017-10-28
published: true
description: What's new with Ellie this week
tags: Ellie
cover_image: https://thepracticaldev.s3.amazonaws.com/i/h690tlbqsklrkpclvfyl.png
---

Hi friends! Not a ton of stuff happening right now since I've been traveling and attending to personal things. Here's this week's brief update:

### New Features
- Added a section in the bottom right to view calls to `Debug.log`.
  ![screenshot of new debug dot log section](https://thepracticaldev.s3.amazonaws.com/i/7rfpzy1ll4qrsgyaaf3r.png)

### Community
- Deleted Ellie's Twitter account. If enough people are interested I can write
  about why I chose to do this.

### In Progress and Experiments
- Started rewriting the build manager in PureScript.
- Began reworking the way Ellie determines if a revision is yours in order to
  prepare for GitHub auth, Gist import, and a whole bunch of other stuff.
Programming as a form of expression...
Tags: programming, expression
Published: 2017-10-28 12:36:38

---
title: Programming as a form of expression...
published: true
description: 
tags: programming, expression
---

Writing is a form of expression and I guess we all had that one classmate that was lauded as one of the best writers in school. We ask ourselves; is it not the same words that both of us see in the dictionary? Or were we not in the same grammar classes? However, we try as much as possible to measure up with our pairs but we never seem to catch up. Why? It is because, writing is a form of expression whereby we tell our stories and put them out for others to see based on our experiences. Note the word: experiences. Our experiences are the people we meet, the places we go to, the books we read and the things we do.

Hey! Cut the crap. How does this concern programming? Programming is not any different from writing. Yes! It is not. In programming, we tell our stories through code. We solve our problems based on our own experiences. Programming lingo is just like the words we use to express ourselves. Knowing words don't make us good writers. No! It is our ability to express ourselves in our own unique way with words that gives us our unique identity. It is our ability to make use of a certain paradigm or style to code and our unique method to solve problems that differentiates some of us.

As programmers, we should endeavor to find our unique style bearing in mind the need to learn from people ahead of us and leveraging the knowledge we get from them to build our own unique identity. When we start viewing programming as a means of expressing our inner selves with code, we would grow as even better coders and make a mark in our own field (no matter how small it might be).

Go into your dark room and find your creative self of expression with code...
Async and Sync JavaScript in Layman's Terms
Tags: beginners, javascript, learning
Published: 2017-10-28 10:12:12

---
title: Async and Sync JavaScript in Layman's Terms
published: true
description: A simple description of a basic JavaScript Concept.
tags: beginner, javascript,  learning 
---

#####  Real world analogy of Sync and Async JavaScript I finally got to understand.


![Shock](https://media.giphy.com/media/3o8dFjEPJaQd9Ifkyc/giphy.gif)


Synchronous Javascript: Imagine you are at Burger King and want to order a delight pack for $5. The waiter starts getting your order ready and then a colleague asked you to order an extra pack meanwhile you already left the queue you have to join in from the back to get another order you don't just walk up front when other customers are waiting for their orders. you wait for your turn. That's Synchronous JavaScript there it waits for a specific request to execute before, moving on to another request.


Asynchronous Javascript: Here it's a different game. Using same analogy. When the customer request for an extra takeout, He doesn't have to wait for other customers orders to be to processed before receiving his. The order is automatically received and he waits for it to be delivered.  


So in conclusion, a synchronous code is executed in sequence each request waits for the previous request to finish before executing. Asynchronous code doesn’t have to wait, your request can continue to run in the background while another active request is going on. 


I'll also like to get a more in-depth explanation of these concepts as I'm here to learn from everyone.
Get Free Additional 3 Months Support for All Products at AppJetty
Published: 2017-10-28 06:53:35

---
title:  Get Free Additional 3 Months Support for All Products at AppJetty
published: true
description: 
tags: 
---

To make your Halloween even more special this year, AppJetty is running a limited period offer and giving away 3 months Free support for all products upto 6th November. Just use the coupon code HLWN3M while you are shopping for your favourite Magento extension, Odoo Apps/Themes,  SugarCRM/SuiteCRM plugin, Dynamics CRM Plugin and WordPress Plugins at https://www.appjetty.com/?utm_source=3months_support_coupon_code. Hurry! There never has been a better time to buy stuff from AppJetty!
Implementation of full text search on Android 
Tags: lucene, fulltextsearch, android, sqlitefts3
Published: 2017-10-28 06:18:23

---
title: "Implementation of full text search on Android "
published: true
description: Introduce two popular implementations of full text search on Android, Lucene based , and SQlite FTS based.  
tags: Lucene, full text search, Android, SQLite FTS3
---

## Plan A: Use Lucene

* Lucene http://lucene.apache.org/

The recommended version is 4.7 with Java 6 .



## Plan B: Use SQLite FTS3/FTS4 

* SQLite FTS3 and FTS4 Extensions http://www.sqlite.org/fts3.html 


```
1. Introduction to FTS3 and FTS4
1.1. Differences between FTS3 and FTS4
1.2. Creating and Destroying FTS Tables
1.3. Populating FTS Tables
1.4. Simple FTS Queries
1.5. Summary
2. Compiling and Enabling FTS3 and FTS4
3. Full-text Index Queries
3.1. Set Operations Using The Enhanced Query Syntax
3.2. Set Operations Using The Standard Query Syntax
4. Auxiliary Functions - Snippet, Offsets and Matchinfo
4.1. The Offsets Function
4.2. The Snippet Function
4.3. The Matchinfo Function
5. Fts4aux - Direct Access to the Full-Text Index
6. FTS4 Options
6.1. The compress= and uncompress= options
6.2. The content= option
6.2.1. Contentless FTS4 Tables
6.2.2. External Content FTS4 Tables
6.3. The languageid= option
6.4. The matchinfo= option
6.5. The notindexed= option
6.6. The prefix= option
7. Special Commands For FTS3 and FTS4
7.1. The "optimize" command
7.2. The "rebuild" command
7.3. The "integrity-check" command
7.4. The "merge=X,Y" command
7.5. The "automerge=N" command
8. Tokenizers
8.1. Custom (Application Defined) Tokenizers
8.2. Querying Tokenizers
9. Data Structures
9.1. Shadow Tables
9.2. Variable Length Integer (varint) Format
9.3. Segment B-Tree Format
9.3.1. Segment B-Tree Leaf Nodes
9.3.2. Segment B-Tree Interior Nodes
9.4. Doclist Format
Appendix A: Search Application Tips
```

* Adding Search Functionality https://developer.android.com/training/search/index.html

> 2.1 Setting Up the Search Interface
Learn how to add a search interface to your app and how to configure an activity to handle search queries.

> 2.2 Storing and Searching for Data
Learn a simple way to store and search for data in a SQLite virtual database table.

> 2.3 Remaining Backward Compatible
Learn how to keep search features backward compatible with older devices.



* Full text search example in Android https://stackoverflow.com/questions/29815248/full-text-search-example-in-android
Scrum - the hard parts
Tags: scrum, agile, humor
Published: 2017-10-27 21:51:26

---
title: Scrum - the hard parts
published: true
description: A not entirely serious look at real life Scrum.
tags: scrum,agile,humor
---

The hard parts of Scrum and how to work around them. Further inspiration can be found here: [ScrumBut](https://www.scrum.org/ScrumBut).

## Only the developers estimate

According to the Scrum Guide, only members of the development team are allowed to estimate development effort. Neither Scrum Master, nor Product Owner.

As a Product Owner, you should therefore *subtly* influence the estimates in your favor by asking questions like: "You can do that in two weeks, right?" Or: "I can't imagine that this is a lot of effort. Does anyone else see that?"

That way, you stay in control even when the going gets tough!

##Done

Scrum calls for a *potentially shippable product increment* at the end of a Sprint: executable, tested and integrated software. Because this is one of the hardest parts of Scrum, there are several workarounds to make life a little easier.

First, learn to appreciate other artifacts as Sprint results as well. How about a completed analysis or architectural document? For this to work, you only need to adjust the Definition of Done.

Second, most importantly: do not forget the phases before Scrum and after Scrum.

Before Scrum, a planning phase of several months should take place, in which the project is approved and its scope is fixed.

After Scrum, you should have a test phase of at least several weeks until the product can finally be delivered. This workaround is particularly useful if you do not use any form of automated testing, integration or deployment.

## The product owner sets priorities

According to the Scrum Guide, the Product Owner has the final say when prioritizing the Product Backlog.

This is uncomfortable. It would give the lower level management folks huge decision-making power. Real managers keep away from developers, in order to be able to make unpleasant decisions and enforce them.

Fortunately, there are now established roles such as the "Proxy Product Owner". Rightly applied, that role has no decision-making authority. PPOs merely pass on the announcements from the top to the developers and "take the responsibility" if something goes wrong.

So - these are my "recommendations" for you today.
What are your favorite Scrum hacks?

*This article originally appeared in German in the [HOOD blog](http://blog.hood-group.com/blog/2015/09/22/scrum-the-hard-parts/)*
What are your UNIX pipeline commands that saved you from lot of coding/time?
Tags: linux, opensource, discuss, tips
Published: 2017-10-27 20:07:46

---
title: What are your UNIX pipeline commands that saved you from lot of coding/time?
published: true
description: 
tags: Linux, opensource, discuss, tips
---

This question came to my mind last day when I wanted to free up some space on my HDDs and when it comes to what to delete (feel the pain), I wanted to know without lot of right-clicks which folders are the fattiest. As a good Windows user, I installed Total Commander, because some random Google result told me to do so.

Then I realised, heck, I have an entire UNIX environment on my PC (MSYS2), so maybe there is an utterly simple one liner command for achieve this. And guess what, it has: :)

```sh
$ du -sh * | sort -h
```

Life hack, place this in your `.bashrc` file:

```sh
# Within the current directory, list all folders and files
# and print their size, then sort it from smallest to largest:
alias du='du -sh * | sort -h'
```

What are your UNIX pipeline commands, where you can combine some program's standard output and creating something wicked simple time saver?
🐣 Go Funcs — Baby-Gopher’s Visual Guide
Tags: go, programming, tutorial
Published: 2017-10-27 17:52:57

---
title: ðŸ£ Go Funcsâ€Šâ€”â€ŠBaby-Gopherâ€™s Visual Guide
published: true
description: Learn Go Functions with visuals and runnable code examples.
tags: go, golang, programming, tutorial
---

[![](https://thepracticaldev.s3.amazonaws.com/i/31eq1x16okmwieyoivue.png)](https://blog.learngoprogramming.com/golang-funcs-params-named-result-values-types-pass-by-value-67f4374d9c0a)

## What is inside?

* **How to declare a Go function?**
  * Parameters
  * Signature
  * Body
  * Return keyword
  * Block
* **Func Parameters and Result Types Examples**
  * Niladic Funcs
  * Singular Funcs
  * Multiple input params and result types
  * Example with an error value
  * Discarding the result values
  * Named result param and the naked return
  * The shadowing problem
  * Pass-by-value
  * Pass-by-value and the pointers
* **Naming Funcs**
  * Be a Minimalist
  * Name in MixedCaps
  * Descriptive param names
  * Use verbs
  * Use is / are
  * Omit types in the name
  * Getters and Setters
* **Some things Go funcs donâ€™t support**

---

## â˜… [Click here to read the guide](https://blog.learngoprogramming.com/golang-funcs-params-named-result-values-types-pass-by-value-67f4374d9c0a).

See you next Friday!