teleren/devto huggingface dataset:
Is Ubuntu Or Fedora A Better Distro For Programmers?
Tags: ubuntu, linux, discuss
Published: 2019-06-21 16:23:36

A whole lot of thinking goes into what distro you should use as a dev. Its not just about your preference or what you like in terms of the Desktop GUI, packaging system or any other aspects of the workflow but there are a lot of other things too. For example, the larger ecosystem of that distro and the kind of support you get matter a lot.


Personally, I use Ubuntu as a daily driver, so I'm a bit biased here! The best thing that I like about Ubuntu is that it simply works. Perhaps the Red Hat and openSUSE have also improved a lot these days but there was a time at least as late as the 2010-2014s when Ubuntu had an upper hand in hardware support and desktop finesse. If you had a laptop with a special kind of touchpad or a WiFi/graphic card manufactured by a "linux unfriendly" actor like NVidia or Broadcom, chances are that it'd simply give up on you with any other distro than Ubuntu.

And even in cases where they did work, they left a lot to be desired. With Debian, for instance, many default settings are simply unusable on a desktop. For example, font anti-aliasing is usually set to off (at least on Debian-XFCE when I last tried) giving your desktop fonts a weird look. Secondly, they don't even provide a GUI to control your touchpad settings, they expect you to Google about the issue and fiddle with the byzantine /etc/* config files yourself!

Not that I can't do that, but why should I when Ubuntu gives me a configured and polished desktop by default?

Coming to Fedora, the desktop never had any issues (especially in the GNOME version), but I somehow didn't much like their packaging system (yum/dnf). Ubuntu's apt install works seamlessly and comes with special tools like synaptic and aptitude to take care of advanced scenarios. To be fair, I didn't put much effort to learn dnf but I don't see the point of it unless I'm getting any long-term benefit out of it.

Another advantage of Fedora which is often touted is that they provide a "bleeding edge" distro which means the apps are all supposed to be the latest versions. But frankly, I've never felt the need for a super-latest package at all and in a few weeks time, the new release will trickle down to all the distros eventually anyway. Running a stable and secure version of an app is far more important to me than having the latest one.

Finally, what I don't like about Ubuntu is their support! The official bug tracker at [bugs.launchpad.net/ubuntu](https://bugs.launchpad.net/ubuntu) is atrocious when it comes to getting a problem solved. The maintainers' attitude there is like that of govt. employees! But thankfully, there are some other places like [askubuntu](https://askubuntu.com) and [ubuntuforums](https://ubuntuforums.com) where you can find sane voices.

What distro do you use as a daily driver for programming? What are its pros and cons, and are you happy with it?
could not find a ready tiller pod
Tags: azure, ansible, helm
Published: 2019-06-21 16:21:20

I set up helm and tiller. I have tiller-deploy . yesterday , i could regularly run .But today I get this error message Error: could not find a ready tiller pod How can i fix it .

Some info which i tried by command.

It can't get server infomation .

$ helm version
Client: &version.Version{SemVer:"v2.14.1", 
GitCommit:"5270352a09c7e8b6e8c9593002a73535276507c0", GitTreeState:"clean"}
Error: could not find a ready tiller pod
I have a running tiller-deploy-675656bbcf-5q5gp.

$ kubectl get pods -n kube-system
NAME                                   READY   STATUS    RESTARTS   AGE
tiller-deploy-675656bbcf-5q5gp         1/1     Running   0          46h
tunnelfront-557bbd9fb5-b8g7h           1/1     Running   0          47h
Check the deployed thing.

$ kubectl get deploy -n kube-system
NAME                   READY   UP-TO-DATE   AVAILABLE   AGE
tiller-deploy          0/1     1            0           46h
tunnelfront            0/1     1            0           47h
Describe the tiller-deploy infomation, but it is not ready.

$ kubectl describe pod tiller-deploy -n kube-system
Name:               tiller-deploy-675656bbcf-5q5gp
Namespace:          kube-system
Priority:           0
PriorityClassName:  <none>
Node:               aks-default-41105859-0/10.240.0.4
Start Time:         Wed, 19 Jun 2019 20:09:25 +0700
Labels:             app=helm
                    name=tiller
                    pod-template-hash=675656bbcf
Annotations:        <none>
Status:             Running
IP:                 10.244.1.3
Controlled By:      ReplicaSet/tiller-deploy-675656bbcf
Containers:
  tiller:
    Container ID:   docker://7e9b73333473bc5026b4790031173adf9e77669ff4eb856840766052395dba85
    Image:          gcr.io/kubernetes-helm/tiller:v2.14.1
    Image ID:       docker-pullable://gcr.io/kubernetes-helm/tiller@sha256:f8002b91997fdc2c15a9c2aa994bea117b5b1683933f3144369862f0883c3c42
    Ports:          44134/TCP, 44135/TCP
    Host Ports:     0/TCP, 0/TCP
    State:          Running
      Started:      Wed, 19 Jun 2019 20:09:35 +0700
    Ready:          True
    Restart Count:  0
    Liveness:       http-get http://:44135/liveness delay=1s timeout=1s period=10s #success=1 #failure=3
    Readiness:      http-get http://:44135/readiness delay=1s timeout=1s period=10s #success=1 #failure=3
    Environment:
      TILLER_NAMESPACE:    kube-system
      TILLER_HISTORY_MAX:  0
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-5b6d7 (ro)
Conditions:
  Type              Status
  Initialized       True 
  Ready             False 
  ContainersReady   True 
  PodScheduled      True 
Volumes:
  default-token-5b6d7:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  default-token-5b6d7
    Optional:    false
QoS Class:       BestEffort
Node-Selectors:  <none>
Tolerations:     node.kubernetes.io/not-ready:NoExecute for 300s
                 node.kubernetes.io/unreachable:NoExecute for 300s
Events:          <none>
how do you break your laziness cycle? and level up your mood to charge your productivity battery
Tags: discuss
Published: 2019-06-21 16:16:33

---
title: how do you break your laziness cycle? and level up your mood to charge your productivity battery
published: true
description:
tags: #discuss
cover_image:
---

Hi guys, my name is Hmmam, I'm from Syria but living in Egypt, a guy with 25 years old which is so passionate about tech and programming field 
this is my first article on dev community(actually it's a discussion more than an article) **but it's my first post so** 🎉🎊

now the question is how do you push yourself to work during your laziness phase when you feel that you really need to stop wasting time but your mood feels like 
 
![](https://media.giphy.com/media/RddAJiGxTPQFa/giphy.gif) 

for me, I take a day off of stress and go with my friends mostly to watch a movie, or even play some video games like Apex Legends ( btw when I feel my mood is up and running again I delete the game and remove it's folders so it can't tempt me to waste time and get stuck on the laziness cycle again) 
what about you? tell me about your practices to fix your low mood
Friday Favs!
Tags: discuss
Published: 2019-06-21 14:03:02

Hey and Happy Friday!

So back in the day (ok, like 7 years ago but I can't belive it's been that long) when I started my Masters degree, it was required that we had a blog for one of our classes. I named mine "Kaleigh's Keynotes" and would blog more than was required for my class. #teacherspet

![gif](https://media.giphy.com/media/pI2paNxecnUNW/giphy.gif)

No, but I would do this thing on Thursdays where I would share my favorite links and news in tech for the week. It was fun for me because not only did I require myself to keep up, but I liked being a part of the tech comminity. Throw in some life and exhausting jobs and I stopped all that.

But now, I'm back!
![gif](https://media.giphy.com/media/119gdJbeNRRepO/giphy.gif)

The past few months at my new job have been so refreshing. I feel like I'm finally doing what I want to, and have the energy and fire to get more involved again.

In my attempt to write again and blog more I want to bring back my old "Tech Link Thursdays" (or whatever I called it, I can't remember, I'm old now 👵). But on Fridays, because who doesn't love Fridays? And usually on Friday mornings I'm extra excited to sit down in front of the computer with my tea and read about what's going on in the world.

So, here are my favorite links from this past week! And of course, please share with me YOUR favorite links as well!

⭐️ [Tech Job Interviews 101: 15 Remote Job Interview Questions Explained](https://skillcrush.com/2019/06/17/remote-interview-questions/) _via SkillCrush_

⭐️ this [tweet](https://twitter.com/AmandaRosenberg/status/1141107799100809216) _by [Amanda Rosenberg](https://twitter.com/AmandaRosenberg)_

⭐️ a collection of [awesome react links](https://github.com/enaqx/awesome-react) _from [Nick Raienko](https://github.com/enaqx) on GitHub_

⭐️ [Free online testing tools for your website](https://adamgreenough.me/blog/free-online-testing-tools-for-your-website/) _by Adam Greenough_

⭐️ [Dr. Mario is in (on iOS and Android) July 10](https://techcrunch.com/2019/06/18/dr-mario-is-in-on-ios-and-android-july-10/) (super excited for this!) _via techcrunch_  

⭐️ [Up your Git game and clean up your history](https://dev.to/christopherkade/up-your-git-game-and-clean-up-your-history-4j3j) _by Christopher Kade right here on dev.to_

Connect with me on [Instagram](https://instagram.com/klgh.js) and [Twitter](https://twitter.com/kaleighscruggs)!
Building Single Page Application Using ASP.NET Core & Angular
Tags: angular, dotnet, webdev, tutorial
Published: 2019-06-21 15:52:15

In this video, you'll learn building applications on Asp.Net Zero platform using Asp.Net Core & Angular.
It starts with introducing Asp.Net Zero and its features. Then deeply investigates the source code structure with live demos and helps you to get up and running with Asp.Net Zero. If finally shows how to create your business functionality step by step on top of the existing source code.

{% youtube pKTjRJM1Y0Y %}
Dev.to is cool
Tags: devlog, writeas, mastodon, rss
Published: 2019-06-21 16:06:40

---
title: Dev.to is cool
published: true
tags: devlog, writeas, mastodon, rss
canonical_url: https://triptych.writeas.com/dev-to-is-cool?pk_campaign=rss-feed
---

I've been seeing [Dev.to](https://dev.to) around a lot lately. I've been posting a bit there too as well! I just discovered that Dev.to can “repost” from your own site's RSS feed ( Mine is [here](https://triptych.writeas.com/feed/) if you want to subscribe. [Write.as](http://write.as) also can auto post to [Mastodon](http://mastodon.social) Follow me there either at this blog —> @triptych@write.as or my own account —> @triptych@mastodon.social .

This is really powerful. RSS has been around forever, and while Google doesn't like it any more (hard to serve ads in a feed) the rest of the web can and **should** still use it! I'm glad sites like Dev.to are embracing this and allowing all of us greater freedom.

I post a daily “dev blog” which I will be re-post to Dev.to now for now on!

Write.as even auto posts this to Twitter. So really, if you create a Write.as account, you can make it your “master editor” for all your social posts.
Deploying a Gatsby Site to Firebase with Google Cloud Build (CI/CD)
Tags: gatsby, firebase, googlecloudbuild, tutorial
Published: 2019-06-21 15:30:18

---
title: Deploying a Gatsby Site to Firebase with Google Cloud Build (CI/CD)
published: true
description: Deploying a Gatsby Site to Firebase 
tags: gatsby, firebase, google cloud build, tutorial
cover_image: https://storage.googleapis.com/cdn.crowdform.co.uk/uploads/2019/06/69bf93a3-leoblog1.png
---

I have seen a load of articles on hosting Gatsby on Netlify but none for Firebase & Google Cloud Platform so decided to do a write up on it. In the following configuration its free to hosting too so great for any starter projects.

I run the development team at Crowdform, [a digital product studio in London](https://www.crowdform.co.uk/), and we have been busy building our lastest client websites in Gatsby. 

As an agency we have chosen ReactJS and GraphQL in our larger digital products so seemed natural to make the move to Gatsby too for consistency. Gatsby can be used to build static websites that are Progressive Web Apps, they follow the latest web standards, and are optimised to be highly performant so score well on Google Lighthouse. We do still use Wordpress but now in a headless configuration.

#Prerequisites


1. Gatsby Project ([Follow the Quick Start Guide](https://www.gatsbyjs.org/docs/quick-start/))
2. Project in GitHub, Bitbucket or Google Cloud Source Repository
3. Google Cloud Account with billing enabled (you will not be charged as the limits on Cloud Build are generous and Firebase Hosting is free. Cloud Build gives you the first 120 builds-minutes per day free)
4. [Google Firebase Project](https://www.crowdform.co.uk/blog/deploying-a-gatsby-site-to-firebase-with-google-cloud-build#firebase) & Google Cloud Build API enabled

#Setting Up Cloud Build

1. Add a build trigger
2. Link a Git Repo

[Full Google Cloud Build Instructions](https://www.crowdform.co.uk/blog/deploying-a-gatsby-site-to-firebase-with-google-cloud-build#cloudbuild)

#Cloudbuild.yaml Config

Create a file cloudbuild.yaml in the root of your project and copy across the below Gist into the YAML file.

~~~~
steps:
  - name: node:10.15.1
    entrypoint: yarn
    args: ["install"]
  - name: node:10.15.1
    entrypoint: yarn
    args: ["add", "firebase-tools"]
  - name: node:10.15.1
    entrypoint: yarn
    args: ["build"]
  - name: "node:10.15.1"
    entrypoint: "./node_modules/.bin/firebase"
    args: ["deploy", "--project", "$PROJECT_ID", "--token", "$_TOKEN"]
	
~~~~

1. Use a Yarn & Node virtual machine
2. Install all dependencies
3. Install Firebase-cli (normally installed global on a local machine)
4. Run the Gatsby build function and generate the static site to /public
5. Push the contents of the public folder to Firebase Hosting.

#Authorising Firebase

	
`firebase login:ci`
	
In CloudBuild under the “Substitution variables” add the key value.

`_TOKEN: {token from firebase login:ci}`

Now Run the build Trigger


For a full step by step guide see our article on [deploying a gatsby site to Firebase with Cloud Build](https://www.crowdform.co.uk/blog/deploying-a-gatsby-site-to-firebase-with-google-cloud-build).
Split text without spaces into list of words in Node.js
Tags: node, npm, nlp
Published: 2019-06-21 15:30:04

For my recent project, I need a trick to split strings contain English words to separate words. My stack is Node.js and no packages have been developed for my need.

For example, I need this string "youneedtolearnfromyourmistakes" split to words "You Need To Learn From Your Mistakes".

For this reason, I began searching for the development of a package for my need. And finally, with some open source project, I develop a package for split strings to words. The package called "wordsninja" has been released. 

[https://github.com/parsakafi/wordsninja](https://github.com/parsakafi/wordsninja)
[https://npmjs.com/package/wordsninja](https://www.npmjs.com/package/wordsninja)


## Install
```bash
npm install wordsninja --save
```
Load package
```js
const WordsNinjaPack = require('wordsninja');
const WordsNinja = new WordsNinjaPack();
```


Load dictionary

```js
await WordsNinja.loadDictionary(); // First load dictionary
```



Add word(s)

```js
WordsNinja.addWords('new word');
```
Parameters

- `word`: The word(s) (string|array)



### Split sentence

```js
let words = WordsNinja.splitSentence(string, {camelCaseSplitter, capitalizeFirstLetter, joinWords});
```

Parameters
- `string`: The string for split
- `options`
    - `camelCaseSplitter`: Split by Camel Case, Default is `false` (optional)
    - `capitalizeFirstLetter`: Capitalize First Letter, Default is `false` (optional)
    - `joinWords`: Return join words as sentence, Default is `false` (optional)

Example

```js
(async () => {
    await WordsNinja.loadDictionary(); // First load dictionary
    let string = 'youneedtolearnfromyourmistakes';
    let words = WordsNinja.splitSentence(string);
    console.log(words);
})();
```

Result

```js
[ 'you', 'need', 'to', 'learn', 'from', 'your', 'mistakes' ]
```



#### More options

```js
let string = 'youneedtolearnfromyourmistakes';
let words = WordsNinja.splitSentence(string,
    {
        camelCaseSplitter: true,  // Frist camel case spliting
        capitalizeFirstLetter: true,  // Capitalize first letter of result
        joinWords: true  // Join words
    }
);
console.log(words);
```

Result

```
You Need To Learn From Your Mistakes
```



### Add Word(s)

You can add new word(s) to dictionary in run-time
```js
WordsNinja.addWords('Parsa');  // Add one word
WordsNinja.addWords(['Parsa', 'Kafi']); // Add one or more words
```

Example

```js
let string = 'parsayouneedtolearnfromyourmistakes';
WordsNinja.addWords('Parsa');
let words = WordsNinja.splitSentence(string,
    {
        capitalizeFirstLetter: true,  // Capitalize first letter of result
        joinWords: true  // Join words
    }
);
console.log(words);
```

Result

```
Parsa You Need To Learn From Your Mistakes
```



I hope you find it useful :)
Mentoring With Personality In Mind
Tags: beginners, productivity, discuss, career
Published: 2019-06-21 15:34:57

---
title: Mentoring With Personality In Mind
published: true
tags: beginners, productivity, discuss, career
canonical_url: https://zafulabs.com/2019/06/21/mentoring-personality/
cover_image: https://zafulabs.files.wordpress.com/2019/06/mentoring.jpg?w=680
---


I try to approach most interactions with my teammates as a mentoring opportunity. Sometimes this means simple stuff like showing them a command-line trick or a design pattern.

It can also get pretty subtle though.

For example, I recently heard myself say to a less experienced engineer,

> “Are you sure you aren’t being too careful?”
> 
> <cite>Me to a less experienced engineer</cite>

I think it was a useful question to ask in that specific situation, but afterwards I found myself reflecting about it. I wasn’t 100% that was the best thing to say.

I don’t think it’s useful for a mentor to try to shape the personality of their mentee to be more like their own.

> I don’t think it useful for a mentor to try to shape the personality of their mentee to be more like their own.
> 
> <cite>Joe Cannatti – me</cite>

To some extend, I think that’s what I was doing in that case. I had an instinct going off in my head that we were being too careful about a decision, but that was my own person reaction to the situation.

The goal of being a mentor isn’t to shape someone’s instincts and style to match your own. It’s to help someone do their best work given their personality and instincts.

> The goal of being a mentor isn’t to shape someone’s instincts and style to match your own. It’s to help someone do their best work given their personality and instincts.
> 
> <cite>Joe Cannatti – me</cite>

Now, that could still mean that it was the right call to help guide this person in a different direction. However in this case, I don’t think their reaction was coming from a misunderstanding of the elements of the decision or a lack of experience. I think they just felt differently than I did about the situation because of their personality and temperament.  
  
A possible better approach could be to say something like, “I feel like we are being a bit too careful about this. What thoughts and feelings are you working with as we discuss this issue? Do you understand all the key points of the situation? I want to make sure you’re using your efforts in the way that’s most effective for you.”

It’s a subtle change in language, but it’s a different message.  
  
I challenge both mentors and mentees to work with this idea. Can you separate reactions that come from personality and temperament from ones that come from knowledge and experience?   
  
Leave a comment below or reach me on Twitter [@joecannatti](https://twitter.com/JoeCannatti)
Remember Rust with Anki
Tags: rust, anki
Published: 2019-06-23 19:12:43

---
title: Remember Rust with Anki
published: true
tags: rust,anki
canonical_url: https://www.argpar.se/posts/programming/remembering-rust-with-anki
cover_image: https://www.argpar.se/images/rust-crab.svg
---

I've read [The Book](https://www.amazon.com/Rust-Programming-Language-Steve-Klabnik/dp/1593278284) once before, but it was a long time ago, and at some point I read an o'reilly book about rust too. At the time of reading those books. It felt like the language made sense. I would remember what I read, surely.

A few months go by, and I feel like I want to do something in Rust, get deeper. So I sit down in front of my computer with a blank stare. What is the exact syntax of doing a for loop again in rust? Let alone how do you even make a generic struct that is trait bounded.

Does it sound similar? Well, I decided I would do something about this, so I created an Anki deck which has 212 cards (updated 2019-06-21). The anki deck covers the rust book. The deck won't be that much of use if you haven't read the book. But I'd say it certainly helps you remember once you've read the book.

If you've never heard of Anki; in short it's flash card program which uses [spaced repetition](https://en.wikipedia.org/wiki/Spaced_repetition) to help you remember. So even if I step away from rust at some future point I will remember the syntax, and now that you've also got the deck so will you!

You can download the [deck](https://www.argpar.se/images/rust-anki.apkg) here. If you want to get a notification when I make any changes to the deck. Head over to my [own site](https://www.argpar.se/posts/programming/remembering-rust-with-anki) and register your email, and I'll send you an update when I've added something new. 

If you've got any feedback send me a tweet, email or comment on [Hacker News](https://news.ycombinator.com/item?id=20243335) :). I'll reply to any comments below too of course!