teleren/devto huggingface dataset:
How to install Ubuntu software (.deb) package from the command line.
Tags: opensource, howto, linux
Published: 2018-01-17 14:00:01

---
title: "How to install Ubuntu software (.deb) package from the command line."
published: true
tags: FOSS,HowTo,Linux,open source
canonical_url: https://fossnaija.com/install-ubuntu-deb-package-command-line/
---

[![software installation](https://i0.wp.com/fossnaija.com/wp-content/uploads/2017/01/how-to-install-software-in-linux.png?resize=665%2C499&ssl=1)](https://i0.wp.com/fossnaija.com/wp-content/uploads/2017/01/how-to-install-software-in-linux.png?ssl=1)

There are a couple of ways to get (install) software package(s) or applications (apps) installed in Ubuntu. The common way is through the Ubuntu software centre. This process is the easiest. It is basically point-and-click style. Many of the intricacies involve in the process are abstracted from the view of the Linux user.

But some software apps cannot be found (and installed) in the official Ubuntu software repository. Also some app distributors for the Ubuntu platform would rather choose to distribute their apps by [providing downloadable Ubuntu/Debian (.deb) package from their websites.

This deb package contains all the dependencies an application needs to be successfully installed, which can be done through the terminal using the following steps:

Open the terminal _(SHORTCUT:_ _ **Ctrl+Alt+T** __)_ and enter the command:

**`sudo dpkg –i `** _ **`/path/to/deb/file`** _

The “_dpkg_” utility is a low-level package tool use in Ubuntu (and other debian-based distriutions) for directly installing software packages (in this case, the .deb).

Then enter;

**`sudo apt-get install –f`**

There are a couple of ways to get (install) software applications (app) installed in Ubuntu. The common way is through the Ubuntu software centre. This process is the easiest. It is basically point-and-click style. Many of the intricacies involve in the process are abstracted from the view of the Linux user.

But some software apps cannot be found (and installed) in the official Ubuntu software repository. Also some app distributors for the Ubuntu platform would rather choose to distribute their apps by [providing downloadable Ubuntu/Debian (.deb) package from their websites.

This deb package contains all the dependencies an application needs to be successfully installed, which can be done through the terminal using the following steps:

Open the terminal _(SHORTCUT:_ _ **Ctrl+Alt+T** __)_ and enter the command:

**`sudo dpkg –i `** _ **`/path/to/deb/file`** _

The “_dpkg_” utility is a low-level package tool use in Ubuntu (and other debian-based distriutions) for directly installing software packages (in this case, the .deb).

Then finally enter on the command-line;

**`sudo apt-get install –f`**

Happy Linux’NG!

The post [How to install Ubuntu software (.deb) package from the command line.](https://fossnaija.com/install-ubuntu-deb-package-command-line/) appeared first on [Foss Naija](https://fossnaija.com).
Estimated Delivery Time Module
Tags: magento, deliverydate, ecommerce, product
Published: 2017-11-21 12:15:21

---
title: "Estimated Delivery Time Module"
published: true
description: 
tags: magento, deliverydate, ecommerce, product
---
Delivery Date Scheduler for Magento 2 enables your customers to provide with the date and time on which they want their orders to be delivered to a particular address. Magento 2 Delivery Date extension helps you to take uncertainty out of the entire order delivery process. With the help of **[Delivery Date extension for Magento 2](https://www.appjetty.com/magento2-delivery-date-scheduler.htm)**, the store admin can display dates based on shipping provision and availability of products. You can also send reminder emails related to product delivery and offer your customers with an option to track their dispatched products. If you are an ecommerce owner wanting to retain your customer base and boost sales, Magento 2 Delivery Schedule Extension is a perfect solution for you!

<img src="https://thepracticaldev.s3.amazonaws.com/i/igxp0qvspjtyg3a1s3a1.png"/>

**Why Makes Magento 2 Delivery Date Scheduler Useful?**

**Liberty to decide delivery time**

Magento 2 Estimated Delivery Date extension enables your customers to specify their preferred date and time for the order delivery before checking out.
 
**Specify delivery time intervals**

Store owners can define minimum and maximum delivery time intervals and also display the available delivery dates to the customers.
 
**User-friendly interface**

Make it extremely easy for your customers to navigate on your store and offer an unmatchable UI experience! It is extremely easy to install and configure Magento 2 Delivery Schedule extension.
What is the purpose of using gRPC and rabbitmq in microservices?
Tags: discuss, microservices, grpc, rabbitmq
Published: 2017-11-21 09:54:36

---
title: What is the purpose of using gRPC and rabbitmq in microservices?
published: true
tags: discuss,microservices,grpc,rabbitmq
---
I just don't get the purpose of using gRPC with rabbitmq in microservices. I know that gRPC basically calls some code remotely and rabbitmq (as any other message broker) is used for sending messages among microservices. But I just don't get the purpose of using those technologies together.
Automatically switch to insert mode when focusing on terminal window in Vim8
Tags: vim
Published: 2017-11-21 07:36:16

---
title: Automatically switch to insert mode when focusing on terminal window in Vim8
published: true
description: autocmd BufWinEnter,WinEnter * if &buftype == 'terminal' | silent! normal i | endif
tags: vim
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/g02och40l9mleayg8d6b.png
---

```vim
autocmd BufWinEnter,WinEnter * if &buftype == 'terminal' | silent! normal i | endif
```

According to `:help Terminal-mode`, `startinsert` doesn't work on terminal window.

> In Terminal-Normal mode you can move the cursor around with the usual Vim commands, Visually mark text, yank text, etc.  But you cannot change the contents of the buffer.  The commands that would start insert mode, such as 'i' and 'a', return to Terminal-Job mode.  The window will be updated to show the contents of the terminal. |:startinsert| is ineffective.
Kotpref: Easy SharedPreferences library for Kotlin android
Tags: kotlin, android
Published: 2017-11-21 07:32:43

---
title: "Kotpref: Easy SharedPreferences library for Kotlin android"
published: true
description: 
tags: 
    - kotlin
    - android
---

Using SharedPreferences needs some little boilerplate code. And if we store much more data or include/exclude specific data from auto backup, we should consider to split XML file.
[Kotpref](https://github.com/chibatching/Kotpref) is the library to make you realizing it simply and ease.

To install, just add app dependency in build.gradle.

```groovy
compile "com.chibatching.kotpref:kotpref:2.2.0"
```

And call `Kotpref.init(context)` function in `onCreate` at Application class.

```kotlin
fun onCreate() {
    super.onCreate()
    Kotpref.init(this)
    ....
}
```

Kotpref requires defining data model to save into SharedPreferences. Data model can be created by extending `KotprefModel` like below.

```kotlin
object Profile : KotprefModel() {
    var name: String by stringPref()
    var age: Int by intPref(defuault = 20)
}
```

You can now write and read by same way with normal property access!!

```kotlin
Profile.name = "chibatching" // write
println(Profile.name) // read -> chibatching

println(Profile.age) // read -> 20
Profile.age = 32 // write
println(Profile.age) // read -> 32
```

Saved SharedPreferences XML through Kotpref is separated by Class name. At the above example, file name is `Profile.xml` and content is below.

```xml
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
    <string name="name">chibatching</string>
    <int name="age" value="32" />
</map>
```

So, you can include/exclude each XML file (KotprefModel object) as [auto backup](https://developer.android.com/guide/topics/data/autobackup.html) target.

Kotpref core module only support basic SharedPreferences value type (String, Int, Long, Float, Boolean, String set). Although there are sub modules to support kotlin enum and gson serialized object.

Let's try if you develop Android application with kotlin!


Kotpref and I welcome to your contiribute! Please feel free to give your feedbacks!
https://github.com/chibatching/Kotpref
What is premium features in dev.to?
Tags: discuss, meta, devto
Published: 2017-11-21 06:23:36

---
title: What is premium features in dev.to?
published: true
description: 
tags: #discuss #meta #devto
---

What is premium features in dev.to? I can't found it...

<img src="https://thepracticaldev.s3.amazonaws.com/i/2ei08dzw3ri17ri5py08.png"/>
Top serverless development environment
Published: 2017-11-21 06:03:36

---
title: Top serverless development environment
published: true
description: 
tags: 
---
The top #serverless environments are
![test](https://thepracticaldev.s3.amazonaws.com/i/bb93cnbarneph98jn3lz.png)
1. AWS - Lambda service (Free tier applicable)
2. Google - Firebase / Functions (FREE)
The way to fix an endless loop
Tags: help
Published: 2017-11-21 02:05:37

---
title: The way to fix an endless loop
published: true
description: This program will allow the user to determine the cost of sending out coffee.
tags: help
---
Here is my code that creates endless loop, the line that has *.
Please let me know how to fix this.

    # Ask to choice coffee
    coffee_choice = input("Enter 1 for jonestown brew and 2 for plymouth jolt: ")
    *while coffee_choice != 1 and coffee_choice!= 2:
        print ("Please enter a valid option.\n\n")
        coffee_choice = input("Enter 1 for jonestown brew and 2 for plymouth jolt: ")

    # Ask pounds of coffee
    pounds = input("Enter the amount of coffee you want to order in pounds: ")
    *if type(pounds) != float and type(pounds) != int:
        print ("Please enter a valid option.\n\n")
        pounds = input("Enter the amount of coffee you want to order in pounds: ")

    # Ask for States
    state = input("Please enter your state: ")
Go's method is curried funtion
Tags: go
Published: 2017-11-21 00:42:24

---
title: Go's method is curried funtion
published: true
description: Go's function does not require instanciated receiver.
tags: Go
cover_image: https://thepracticaldev.s3.amazonaws.com/i/aq4mfrh8x84jegzt77ym.jpg
---

Go's method is not same in other languages. In C++, `this` should not be null.

```cpp
class Foo {
  public:
	void doSomething() {}
};

int
main() {
  Foo *foo = nullptr;
  foo->doSomething();
}
```

Go's method does not require that the receiver is instanciated.

```go
package main

import (
	"fmt"
)

type Foo struct {
}

func (f *Foo) doSomething() {
	fmt.Println(f)
}

func main() {
	var foo *Foo
	foo.doSomething()
}
```

And the method hold receiver value. This is called [Method Values](https://golang.org/ref/spec#Method_values).

```go
package main

import (
	"fmt"
)

type Foo struct {
	Value string
}

func (f *Foo) WhatsUp() {
	fmt.Println(f.Value)
}

func doSomething(f func()) {
	f()
}

func main() {
	foo := &Foo{Value: "Hello, World"}
	doSomething(foo.WhatsUp)
}
```

The `WhatsUp` is evaulated with the receiver.

```go
package main

import (
	"fmt"
)

type Foo int

func (f Foo) doSomething() {
	fmt.Println(f)
}

func main() {
	Foo.doSomething(123)
}
```
So this code is valid. `Foo.doSomething` is the function object. It can be called with let the function object to a variable. The function type should take an first argument which is type of the receiver.

```go
package main

import (
	"fmt"
)

type Foo int

func (f Foo) doSomething() {
	fmt.Println(f)
}

func main() {
	var fn func(Foo)

	fn = Foo.doSomething
	fn(123)
}
```

This idiom is useful to call `runtime.SetFinalizer` to `Close` something resource must be closed.

```go
package main

import (
	"log"
	"os"
	"runtime"
	"myresource"
)

func main() {
	f := myresource.OpenSomethingMustBeClosed()
	if err != nil {
		log.Fatal(err)
	}
	runtime.SetFinalizer(f, (*myresource.Writer).Close)
}
```
How do you deal with naming when you're bilingual?
Tags: discuss
Published: 2017-11-20 23:26:29

---
title: How do you deal with naming when you're bilingual?
published: true
description: 
tags: discuss
---

For those who are bilingual, how do you name your variables and functions? What about comments? Do you only use your mother tongue? Do you mix the languages?

**For example:** You're Portuguese and use English for all of your projects, but now you have a project that needs to be in Portuguese (only the frontend); what's your plan?
Some of the popular hamburger menu toggles
Tags: discuss, css
Published: 2017-11-20 22:05:29

---
title: Some of the popular hamburger menu toggles
published: true
description: Five menu toggles that you can copy and paste.
tags: discuss, css
cover_image: https://thepracticaldev.s3.amazonaws.com/i/v5p3w9rb31oaq6eoz4bq.png
---


Hi there, I just wanted to share with you five "hamburger menus" that I coded on Codepen. What do you think and how often you use it for tablets and phones?

[Ling to Codepen](https://codepen.io/savke012/pen/EbXwQG)

Also, you can visit every toggle, especially so you can just copy and paste code without thinking if you want to use it. 

[Toggle One](https://codepen.io/savke012/pen/mqpqKy)
[Toggle Two](https://codepen.io/savke012/pen/dZJZKB)
[Toggle Three](https://codepen.io/savke012/pen/OOzOoX)
[Toggle Four](https://codepen.io/savke012/pen/eeyebK)
[Toggle Five](https://codepen.io/savke012/pen/qVpVgG)
Coding vs Relationship Building: Which is more important for business.
Tags: beginners, career, discuss
Published: 2017-11-20 18:20:11

---
title: "Coding vs Relationship Building: Which is more important for business."
published: true
description: 

tags: #beginners #career #discuss
---

I started learning code. I like coding, but also I like entrepreneurship. A lot of people speak about tools or subcontract developers for creating a business. I think that many people started business on the internet without knowing about programming. What do you think about this post (https://blog.kissmetrics.com/coding-before-relationship-building/). Should I dedicated my time to learn programming or negotiation, communication, soft skills in general for create a business.
You should follow Alaina Kafkes
Tags: youshouldfollow
Published: 2017-11-20 18:18:08

---
title: You should follow Alaina Kafkes
published: true
description: Alaina is a great writer and everything she has published is must-read for me.
tags: youshouldfollow
---

For a while I've been meaning to write a post about _who you should on [dev.to](/) follow if such and such_, but I've run into a lot of paralysis because I did not want to leave deserving people out. So instead of perfecting a list, I'm going to start making shorter posts more regularly, starting with this one.

Alaina Kafkes is a great writer and everything she has published is must-read for me. Today she published [Exploring the Linguistics Behind Regular Expressions](https://dev.to/alainakafkes/exploring-the-linguistics-behind-regular-expressions-bb4), which made me think to write this post.

{% user alainakafkes %}

With this post, I'm also starting the [#youshouldfollow](/t/youshouldfollow) tag if you want to make your own recommendations.

In order to make a content block like the one above, here is the liquid tag syntax:

```
{% user alainakafkes %}
```

Happy coding, and keep up the great writing Alaina.
What would you like your first programming language to be (or have been)?
Tags: discuss, programming, beginners
Published: 2017-11-20 18:00:00

---
title: What would you like your first programming language to be (or have been)?
published: true
description: Your programming language is probably not your favorite language. If so, what would you like your first programming language to have been like?
tags: #discuss #programming #beginners
---

![Floppies. I used Pascal with them, although I started with Basic](https://thepracticaldev.s3.amazonaws.com/i/o2xo9zerh04kbxnk1s0s.jpg)

You probably learned to program a long time ago, with a personal computer-toy such as the Spectrum. There were not many options: there was Basic and then Basic in a different computer. If you went the formal way, probably you started with Pascal or, later on, Java, and, even later, Python. Not many options there either. It was that way or the highway. 
But say you could have had a choice in your first programming language, say, you started right now. What would you like your language to be like? Is there any one language *now* that could be all you wanted your first language to be?
Why I leave a job
Tags: career
Published: 2017-11-20 16:59:34

---
title: Why I leave a job
published: true
description: A reflection on the core criteria of a good job after deciding to leave The New York Times.
tags: career
canonical_url: https://jason.pureconcepts.net/2013/03/why-i-leave-a-job/
---
After a short time I decided to leave my job as a Software Engineer at [The New York Times](http://nytimes.com). *The New York Times!* A dream job with a prestigious company. When people ask, "Where do you work?", they don't *really* care. But when I said, "The New York Times", they started listening.

So why did I leave? It's unfair to look at any specific job. I liked the The New York Times. So the question isn't *why I left The New York Times*, but instead *why I leave a job*.

This is something I've reflected on after leaving each of my former jobs. Actually, I first drafted this post after leaving Humana in 2010. Over the years, I reduced the citeria down to three.

## Good Leader
There's an [entire article](http://www.alaisterlow.com/employees-leave-managers-not-companies/) bouncing around the web recently dedicated to this topic. So I will not go into great detail on the importance of a good manager. We all want to work for someone we respect. A true leader. Someone in the chain of upper management must be a good leader.

## Talented Coworkers
[Good developers learn](http://jason.pureconcepts.net/2009/12/good_developer_routines/). I believe the best way to learn is to surround yourself with talented people. While I *believe* I am talented, I *know* I'm not the most talented. I want to be among peers not only so I improve, but we improve together. Anything else and you risk becoming a big fish in a little pond.

## A Bright Future
Either personally or professionally, your job must offer growth. We're human. We want to know that whatever we do, it's done for the better. If your job isn't going somewhere, you should go somewhere else.

Our society pushes a *live to work* mentality. I've never bought into that notion. In the words of [Tyler Durden](http://en.wikipedia.org/wiki/Fight_Club), "you're not your fucking job".

The average American spends a third of their adult life working. You should find a job you like. So I use these criterion to form my own mentality:

- Missing one - fine, nothing is perfect.
- Missing two - the grass looks greener at a new job.
- Missing all three - I give two-weeks notice.

Some day my work/life balance will shift, and these things may not matter as much. But today is not that day.
Programming technologies besides your main one?
Tags: discuss, productivity, coding, technology
Published: 2017-11-20 16:01:17

---
title: Programming technologies besides your main one?
published: true
description: 
tags: #discuss #productivity #coding #technology
cover_image: https://thepracticaldev.s3.amazonaws.com/i/ow8ysv1qhh4e8xd2gq76.png
---
Do you use other technologies for development besides your main one? 
I work Full Stack .NET (Web and Mobile/Xamarin) and on my side projects i want to try other technologies. 
I've made <a href="http://www.blokirame.mk">Blokirame</a> in Ruby on Rails and <a href="http://www.twitternagradi.com">Twitter Awards</a> (Twitter Nagradi in Macedonian) in node.js. 

I just enjoy trying other technologies for "trivial" projects. Does anyone else enjoy stuff like this?
Full-Stack Test Engineer?
Tags: testing, discuss, career
Published: 2017-11-20 15:36:30

---
title: Full-Stack Test Engineer?
published: true
description: 
tags: #testing #discuss #career
---
I get a lot of pings for jobs that want a test automation engineer.  My resume tagline is **Software Test Automation Professional / Zealot**, which is the reason I get the pings.

Many of these job descriptions ask for what amounts to a "full-stack" test engineer.

"Requirements" can include:

- Building automation infrastructure
- Writing automated tests
- Doing exploratory testing
- Doing other manual testing
- Developing test plans and test cases
- Doing performance testing
- Working directly with customers
- Creating and maintaining defect reports
- Determining defect "root cause"
- Working with developers to devise bug-fix strategies
- Integrating automated testing into CI
- Creating and maintaining VM farms
- Knowing specific tools
- Knowing specific CI platforms
- Leading a QA team
- Leading an off-shore QA team

(Not sure this list is complete, but you get the idea.)

No test engineer does _all_ of these well;  trying to do many of these may mean not doing _any_ of them well.


I've found that building (excellent) test automation is a discipline unto itself, requiring both deep experience and close, undivided attention.

Therefore my ideal consulting gig will be to:

- Go to a new client.
- Install the core automation technology I'm developing in my <a href="https://github.com/BurdetteLamar/RubyTest">RubyTest</a> GitHub project.
- Build out the domain-specific technology needed for the client's applications.
- Develop tests that exemplify the use of that technology.
- Train the client's testers to use and extend the technology.
- Get paid.
- Go home.
- Repeat.

Meanwhile, I'll continue joyfully working on my project.
The 7 Most Popular DEV Posts from the Past Week
Tags: top7
Published: 2017-11-20 15:20:26

---
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
cover_image: https://thepracticaldev.s3.amazonaws.com/i/xsr1z6iqv0pd7p3s6ns3.png
---

Currently, this weekly post shares articles written in English but we wanted to note that one of our most popular posts this week was actually a PWA article written in Japanese, you can read it [here](https://dev.to/mizchi/-devto--b5). We'll continue this post in English, but may have separate multi-lingual posts in the future.

#1. Think like a software engineer 

How do you make coffee for four people with different coffee preferences? Lorenzo uses a non-technical problem to explain the five skills you must learn when it comes to problem solving. 

{% link https://dev.to/lpasqualis/the-5-problem-solving-skills-of-great-software-developers-4e6 %}

#2. Speeding up the traveling salesman

In this most recent #basecs post, Vaidehi revisits the traveling salesman problem using dynamic programming. 

{% link https://dev.to/vaidehijoshi/speeding-up-the-traveling-salesman-using-dynamic-programming-9k %}

#3. "boringness" as a feature

Christine walks us through developing an email sync engine in Python. 

{% link https://dev.to/nylas/billions-of-emails-synced-with-python-61a %}

#4. Do you have to be passionate about coding _at home_?

A discussion about programmers who only code at work. 

{% link https://dev.to/pungiish/programmers-who-only-code-at-work-bhp %}

#5. Asynchronous Iterations

K explains asynchronous iterations in Javascript.

{% link https://dev.to/kayis/await-your-loops-680 %}

#6. Going headless

Maxime gives an in-depth example of using React.js with Wordpress's REST API. 

`https://dev.to/maxlaboisson/strapping-reactjs-on-a-wordpress-backend-wp-rest-api-example-8c7`

#7. Picking languages

No, not your programming language. Your spoken/written/thinking language. In this post, Lauro asks the community whether or not you should create content in English or your native language.

{% link https://dev.to/laurosilvaio/should-you-created-content-in-english-or-in-your-native-language-cc7 %}

_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!_