teleren/devto huggingface dataset:
Hello from the other side
Tags: personal, thoughts, reflection
Published: 2020-02-09 05:21:03

---
title: Hello from the other side
published: true
description: 20200809
tags: personal, thoughts, reflection
---

I began writing technical pieces more seriously about four years ago. Medium was on the rise and I joined a company that encouraged writing technical pieces, and it began - the journey towards **not writing**. Why?

So why did I slow down/stop? The pressure.

The pressure of having ~500 followers on Medium and the self-imposed expectation of continuing to write awesome articles. I began to see this as being a geek-likewhore of sorts and I began to resent it. Starting a new article usually began with joy and a desire to share some newfound insight, to provide an alternative point-of-view. This quickly turned into self-doubt (common thoughts: *"anyone who put in enough thought would be able to discover this for themselves too"*, *"somebody has already written on this, am I wasting my time?"*, *"it's never going to outdo your most famous pieces"*), and then into fear (*"what if this story sucked?"*, *"what if I can't hit the same applause as my previous articles?"*), effectively bringing my writing to a halt.

To be honest, I haven't exactly found a remedy to all that self-doubt, but I do get feedback now and then on having helped people to understand certain concepts which is heartening and makes me want to write again. So I'm going to do just that here on `dev.to`. No followers, no likes, I'll start again from fresh, writing a little each day on my thoughts and reflections about technology creation and stuff related to it.

If you're reading till this far, thanks for reading!
What are the differences between Convert.ToString() and .ToString() method?
Tags: dotnet, dotnetcore, csharp, beginners
Published: 2020-02-09 04:43:33

---
title: What are the differences between Convert.ToString() and .ToString() method?
published: true
description: 
tags: dotnet, dotnetcore, csharp, beginner
---

The basic difference between the 2 methods is
- Convert.ToString() can handle NULL
- .ToString() does not handle NULL

Let's test this out. In the below code snippet, we have a string object which is set to a value of NULL. 

**Code Snippet**

```csharp
class Program
{
    public static void Main()
    {
        string name = null;
        Console.WriteLine("Convert.ToString output is = " + Convert.ToString(name));
        Console.WriteLine(".ToString output is = " + name.ToString());
        Console.Read();
    }
}
```

**Output**

```text
Convert.ToString output is =

Unhandled Exception:
System.NullReferenceException: Object reference not set to an instance of an object.
   at test.console.Program.Main() in C:\DevTo\ToString\Program.cs:line 14
```

The .ToString() method cannot handle NULLs and throws a `NullReferenceException`.

Let me know in the comments what do you use between these two :)

Follow me on https://www.instagram.com/thedotnetweekly for more such posts.
How to Diagnose OpenShift API Issues with More Verbose Logging
Tags: 100daysofcode, kubernetes, tutorial, devops
Published: 2020-02-09 04:34:40

So while I was integrating LDAP with OpenShift, I had a funny issue - *it didn't work*.  The error message given at the Web UI was also useless, probably for the best, don't want to show how the sausage is made.  On top of that, normal logging such as `/var/log/{audit/*,messages,secure}` showed nothing of these authentication failures.

Come to find out, the normal log-level of OpenShift is pretty low - understandably so, there are a metric TON of events going on in a larger Kubernetes system.  So in order to find logging for LDAP and other authentication events, we have to bump up the log level a bit.

## 1. Download the master-loglevel.yml Ansible Playbook

Red Hat has a handy-dandy Ansible playbook that will modify and collect the log levels of your OpenShift masters!

```bash
$ wget https://access.redhat.com/sites/default/files/attachments/master-loglevel.yml
```

Moving on in the execution of this playbook, it's assumed that your host inventory is located at the default `/etc/ansible/hosts` location.

## 2. Increase the log

```bash
$ ansible-playbook master-loglevel.yml -t loglevel -e debug_loglevel=6
```

Now that we're logging at a loud enough volume, let's go and do things that break and don't work and stuff.

## 3. ?????

Really, at this point I'm not sure what you'd want to look for, but do the things that don't work.  For me, I attempted logging into the LDAP users which generated an error which is now logged.

## 4. PROFIT!!!!1

Let's pull in those juicy logs:

```bash
$ ansible-playbook -i inventory master-loglevel.yml -t collect
```

Logs are saved under /tmp/master-logs/ of your ansible host, for each master <hostname>.tar.gz.
It contains OpenShift Master API, Controllers and ETCD logs.

Odds are, you want to take a look at those OpenShift Master API logs.

## 5. Save dat cheddar (and log space)

Don't forget to turn off the logging to something more sane and less verbose...

```bash
$ ansible-playbook master-loglevel.yml -t loglevel -e debug_loglevel=2
```

Hopefully, this helps you track down some of those more system-level issues that you may face as an SRE!
Updating flask-bootstrap4 CDN on your flask application
Tags: flask, python, wtforms, bootstrap4
Published: 2020-02-09 03:56:18

Ay up mate! I want to share how to I modified **flask-bootstrap4** after you installed on your flask application.
Because sometimes **bootstrap.css/fontawesome.css/popper.js/jquery.js** need an update. This is what I've done.

First, **flask-bootstrap4** need to be installed to your flask app. So, you will need to activate your virtual environment first to install **flask-bootstrap4**, and then run your flask application. I named my virtual environment as **venv**.
If you're on Windows use command prompt to install, but if you're on Linux/MacOS use terminal.

> pip install flask-bootstrap4

After you install, go to **flask_bootstrap folder** in:

> venv > Lib > site-packages > flask_bootstrap

Now, modify **init.py**

```python
__version__ = '4.4.1'
BOOTSTRAP_VERSION_RE = re.compile(r'(\d+\.\d+\.\d+(\-[a-z]+)?)')
POPPER_VERSION = '1.16.0'
JQUERY_VERSION = '3.4.1'
FONTAWESOME_VERSION = '5.11.2'

... 

popper = lwrap(
    WebCDN('//cdnjs.cloudflare.com/ajax/libs/popper.js/%s/' %
            POPPER_VERSION), local)

bootstrap = lwrap(
    WebCDN('//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/%s/' %
            BOOTSTRAP_VERSION), local)

fontawesome = lwrap(
    WebCDN('//cdnjs.cloudflare.com/ajax/libs/font-awesome/%s/' %
            FONTAWESOME_VERSION), local)

jquery = lwrap(
     WebCDN('//cdnjs.cloudflare.com/ajax/libs/jquery/%s/' %
            JQUERY_VERSION), local)

app.extensions['bootstrap'] = {
     'cdns': {
         'local': local,
         'static': static,
         'popper': popper,
         'bootstrap': bootstrap,
         'fontawesome': fontawesome,
         'jquery': jquery,
      },
}

```

Next step, we need to go to **base.html.** It's located in **template > bootstrap** inside **flask_bootstrap folder**

> venv > Lib > site-packages > flask_bootstrap > templates > bootstrap

Let's update **base.html**

```html
<!-- Bootstrap -->
<link href="{{bootstrap_find_resource('css/bootstrap.css', cdn='bootstrap')}}" rel="stylesheet">
<link href="{{bootstrap_find_resource('css/all.css', cdn='fontawesome')}}" rel="stylesheet">

...

<script src="{{bootstrap_find_resource('jquery.js', cdn='jquery')}}"></script>
<script src="{{bootstrap_find_resource('umd/popper.js', cdn='popper')}}"></script>
<script src="{{bootstrap_find_resource('js/bootstrap.js', cdn='bootstrap')}}"></script>

```

Finally, run your flask app. 
Now all **bootstrap.css/fontawesome.css/popper.js/jquery.js** have been updated.

For more detail, you can see it on the official github of flask-bootstrap4:
[github.com/JeffCarpenter/flask-bootstrap4](https://github.com/JeffCarpenter/flask-bootstrap4)

Well, that's all for today mate. Have a good day.
Happy coding and see you next time.
Scully with Aaron Frost
Tags: webdev, javascript, beginners, podcast
Published: 2020-02-09 03:08:09


Original: https://codingcat.dev/podcast/0-7-scully-with-aaron-frost

{% youtube https://youtu.be/I5kfTAJ3GnU %}

## Who is Aaron Frost?

1. Tell us a little bit about yourself?
2. Do you really like Tacos as much as I have heard?
3. I have to know what led you to start one of the largest Angular conferences ever?

## Scully.io

[https://github.com/scullyio/scully/blob/master/README.md](https://github.com/scullyio/scully/blob/master/README.md)

[https://github.com/scullyio/scully/blob/master/docs/getting-started.md](https://github.com/scullyio/scully/blob/master/docs/getting-started.md)

1. So did Mulder come up with this name? Where you watching XFiles when trying to come up with a name?
2. Will Angular 9 / Ivy be supported?
3. Will it work with Angular Elements?
4. Can I still have lazy Loaded Routes / Auth Guards?
5. Will I run into weird “window” items like I have in Gatsby?

## Static Site Generator

1. What is a SSG? How does it differ from a SSR?
2. Why has it taken the Angular community so long to have a SSG?
3. Will Scully.io be able to compete with Gatsby and Vuepress?

## Random Question

Do Aliens Exist?
February 1st: Week in Review
Tags: weeklyretro, career, rxjs, rxjava
Published: 2020-02-09 02:37:51

*blows dust off of blog

Not like I missed a post or anything. Hope everyone has been doing well this past week. 


Things I learned/did last week: 
- I learned how to leverage retries in [rxJava](https://github.com/ReactiveX/RxJava) for web service calls. There's a handy guide on rxJava error handling operators [here](https://github.com/ReactiveX/RxJava/wiki/Error-Handling-Operators) if you need it. But what I used boiled down to:

```java

Callable.fromAction(() -> webserviceClientOrWhatever.makeHttpCall())
    .retry(3)
    .subscribe(() -> 
               log.info("Look mom I'm on Dev!"));

```
I'm looking forward to leveraging it more in future projects now. It's some powerful stuff. 

- I learned the differences between Subject types in [rxJS](https://rxjs-dev.firebaseapp.com/).
    - **Subject**: doesn't keep a history of events.
    - **BehaviorSubject**: when subscribed to, gives you the last emitted value.
    - **ReplaySubject**: keeps a history of values so a new subscriber can replay play those.
- I learned to how to setup [TravisCI](https://travis-ci.org/) for [basic-music-player](https://github.com/Danondso/basic-music-player). Excited to build out the CI pipeline. 

Some articles I read: 
- Once a month I read a [post](https://getpocket.com/explore/item/emotional-intelligence-the-social-skills-you-weren-t-taught-in-school) about emotional intelligence. I think it's a good reminder to be more mindful of yourself. 
- Found out about [Pop OS](https://system76.com/pop), a new Linux distro built by System76 from [this](https://dev.to/pluralsight/what-s-the-big-deal-with-pop-os-gc8) dev article by [Jeremy Morgan](https://dev.to/jeremycmorgan).

 
Hope everyone had a good week, if you did anything cool you want to share let me know in the comments. Be seein' ya 🤠 :cow:
Next.js with Guillermo Rauch
Tags: webdev, javascript, beginners, podcast
Published: 2020-02-09 02:34:44


Original: https://codingcat.dev/podcast/0-6-nextjs-with-guillermo-rauch

{% youtube https://www.youtube.com/watch?v=eDUW_zRIiho %}

# NextJS

Guest Details

### Guillermo Rauch - CEO ZEIT

[https://www.linkedin.com/in/guillermo-rauch-b834b917b/](https://www.linkedin.com/in/guillermo-rauch-b834b917b/)

## Who is Guillermo Rauch?

1. Tell us a little bit about yourself?
2. What pushed you to leave your prior companies as CTO and take on the new role of CEO at Zeit?
3. [https://zeit.co/about/rauchg](https://zeit.co/about/rauchg)
4. [Zeit about Rauchg](https://zeit.co/about/rauchg)
5. Do you still have time to code like you did back in the [https://socket.io/](https://socket.io/), [https://mongoosejs.com/](https://mongoosejs.com/) … days. Or has your daily switched over to more business focus and making great products?

## Zeit

1. What is Zeit in a nutshell?
2. How do you compare Zeit to something like Netlify or Firebase?
3. Does Zeit run in the big three (AWS, Azure, GCloud)?

## NextJS

1. Why did you start NextJS?
2. What does NextJS allow you to do vs. create-react-app?
3. You can create static pages on NextJS, so why would you use Gatsby instead?
4. I have forced some of the static built lambdas to work on Google’s cloud functions, but why does it work so easily on Zeit?

## Rando Question

NextJS has its own page outside of Zeit, why Doesn’t NextJS have a twitter handle??

What is one of the most creative ways you have seen NextJS be implemented?

## Guillermo Quote

“Impossible just takes longer”
Agile Methodology
Tags: webdev, javascript, beginners, podcast
Published: 2020-02-09 02:31:59


Original: https://codingcat.dev/podcast/0-5-agile-methodology

{% youtube https://www.youtube.com/watch?v=yVskgThfFbU %}

## Agile Related Questions

Tell us a little bit about yourself?

Why Agile?

What are the biggest hurdles you see in organizations implementing an agile methodology?

What is the most effective way for an organization to start working in Agile

What are some resources you can give to developers and program managers to further their support in Project Management?

Greg Larman

## Rando Question

You have a lot of letters on the end of your LinkedIn Profile, what in your mind is most beneficial to your success and future career path.

![](https://media.codingcat.dev/image/upload/v1684703673/main-codingcatdev-photo/001_003_013_003_002-Agile-Manifesto.gif)
🔥 Firebase: Staging & Production Projects
Tags: tutorial, firebase, beginners
Published: 2020-02-09 02:31:34

{% link benzguo/getting-started-with-next-js-now-firebase-4ejg %}

----

> In this sub-post, I'll walk through setting up a project in Firebase. The best way to create a production & staging environment for a new project in Firebase is to simply create two projects:
> 1. `your-project-staging`
> 2. `your-project-production`

---

### 1. Create a project

![Firebase – empty dashboard](https://dev-to-uploads.s3.amazonaws.com/i/6aq91hlsn5yip0lroimc.png)

![Firebase – new project](https://dev-to-uploads.s3.amazonaws.com/i/g1ro5xbvyuak7d25sjdu.png)

![Firebase – project dashboard](https://dev-to-uploads.s3.amazonaws.com/i/zv5y9joqj5m17uun8duj.png)

---

### 2. Add a web app

![Firebase – new web app](https://dev-to-uploads.s3.amazonaws.com/i/i92hos7q0inz9ou3rw8r.png)

---

### 3. Enable email/password authentication

![Firebase – auth empty](https://dev-to-uploads.s3.amazonaws.com/i/031xzw8q3797moac8g3u.png)

![Firebase – auth enable](https://dev-to-uploads.s3.amazonaws.com/i/tpr3tp8i8yyrtjtyve6l.png)

---

### 4. Set up Firestore

![Firebase – Firestore empty](https://dev-to-uploads.s3.amazonaws.com/i/mclyj4477ctceh7nggfa.png)

![Firebase – Firestore init](https://dev-to-uploads.s3.amazonaws.com/i/wr0j8uqny13c3b61ctay.png)

![Firebase – Firestore region](https://dev-to-uploads.s3.amazonaws.com/i/wsupdqu1glt5r4wq5q8x.png)


---

Run steps 1-4 twice, so that you end up with 2 projects:

![Firebase – 2 projects](https://dev-to-uploads.s3.amazonaws.com/i/3fb0iadewxeiz6qe0qxy.png)

--- 

{% link benzguo/getting-started-with-next-js-now-firebase-4ejg %}

{% link benzguo/firebase-onboarding-381e %}
Sanity.io
Tags: webdev, javascript, beginners, podcast
Published: 2020-02-09 02:26:51


Original: https://codingcat.dev/podcast/0-4-sanity-io

{% youtube https://www.youtube.com/watch?v=3LjZ_uWGClQ %}

## Sanity Questions

1. What is a Headless CMS?
2. What is Sanity.io?
3. How does Sanity fit into Jamstack?
4. What is the idea behind Portable Text?
5. What is GROQ all about? `GROQ is a query language that lets you query, join, and transform JSON documents without having to create schemas, or resolvers`
6. How is it different than say Contentful?
7. I know that Sanity is focused on content, but could you replace something like Firebase or DynamoDB with Sanity.io?

## Random

How did you transition from studying religion to development advocate?

## Knut Quote

Take a vacation…it’s good to take a break and shut the laptop down.
▲ ZEIT Now: Onboarding 📸
Tags: zeit, design, documentation
Published: 2020-02-09 02:13:50

{% link benzguo/getting-started-with-next-js-now-firebase-4ejg %}

----

> In this sub-post, I'll share some screenshots from ZEIT's onboarding flow 📸

----

![ZEIT – signup](https://dev-to-uploads.s3.amazonaws.com/i/ul4j010jtgucx5g27u2i.png)

----

![ZEIT – confirm email](https://dev-to-uploads.s3.amazonaws.com/i/95lg9anjvg0pvz58umly.png)

----

![ZEIT – signup success](https://dev-to-uploads.s3.amazonaws.com/i/4wr9ns0995ru3j8zkqd1.png)

----

![ZEIT – empty dashboard](https://dev-to-uploads.s3.amazonaws.com/i/55wy84o7oy0vzmajs1cl.png)

----

![ZEIT – quickstart guide](https://dev-to-uploads.s3.amazonaws.com/i/46k7c22bcwdheabar49x.png)
<figcaption>Next.js quickstart – guide</figcaption>

----

![ZEIT – quickstart deploy](https://dev-to-uploads.s3.amazonaws.com/i/dsfav91r4kk54fgrn5br.png)
<figcaption>Next.js quickstart – deploy</figcaption>

----

![ZEIT – quickstart live](https://dev-to-uploads.s3.amazonaws.com/i/0w0ceh3wsfs29j7u19x8.png)
<figcaption>Next.js quickstart – live example</figcaption>

----

![ZEIT - dash overview](https://dev-to-uploads.s3.amazonaws.com/i/wbbo1e73tql88zgc2ma1.png)

----

![ZEIT – dash functions](https://dev-to-uploads.s3.amazonaws.com/i/i0dqbohxmfpbyiue1mon.png)

----

![ZEIT – dash source](https://dev-to-uploads.s3.amazonaws.com/i/i39h66h40rvxcrrbvwxt.png)

----

![Next - tutorial](https://dev-to-uploads.s3.amazonaws.com/i/20xqa3gjvf73wxexq75z.png)
<figcaption>Next.js tutorial</figcaption>

----

{% link benzguo/getting-started-with-next-js-now-firebase-4ejg %}

{% link benzguo/firebase-onboarding-381e %}
Cloudinary Community
Tags: webdev, javascript, beginners, podcast
Published: 2020-02-09 01:53:11


Original: https://codingcat.dev/podcast/0-3-cloudinary-community

{% youtube https://www.youtube.com/watch?v=X7Nv1EWCoEM %}

## MDE Questions

What is a Media Developer Expert (MDE)?

[Announcing Cloudinary’s Media Developer Experts Program](https://cloudinary.com/blog/announcing_cloudinary_s_media_developer_experts_program)

How did you get started as an MDE (or select potential MDE - mainly for Maya :))?

Producing content and tutorials take a long time, why are you passionate about it?

What areas do you focus on the most concerning Cloudinary?

What are the inspiration and motivation for you to start contributing to the community despite your busy schedule? (like organizing a meetup, contributing to open source, etc)

How do you get local community involvement?

## Random

Can we put an overlay using Cloudinary to swap StreamYard for AJ?
GStreamer
Tags: audiovideo
Published: 2023-01-06 01:40:10

---
title: GStreamer
published: true
date: 2020-02-09 01:46:36 UTC
tags: AudioVideo
canonical_url: https://brandonrozek.com/blog/gstreamer/
---

GStreamer is a pipeline based multimedia framework that goes from capture, processing, to a sink such as a X window or UDP sink.

To install on Ubuntu run,

```
sudo apt install gstreamer1.0-tools

```

Pipelines are indicated via `!`.

To capture your webcam feed and display it in a X window, run the following:

```
gst-launch-1.0 v4l2src device=/dev/video0 ! videoconvert ! ximagesink

```

For the PiCar project I’m on, I need to send the video from the raspberry pi over the network as fast as possible. The next couple commands have options that reflect this.

On the PiCar, I send h264 video over the network. You might need to install an additional package for h264 encoding to work.

```
sudo apt install gstreamer1.0-plugins-ugly

```

To send h264 video over the network,

```
gst-launch-1.0 \
  v4l2src device=/dev/video0 ! \
  videoconvert ! \
  x264enc ! \
  rtph264pay ! \
  udpsink host=192.168.0.2 port=5000

```

To send it as fast as you can,

```
gst-launch-1.0 \
  v4l2src device=/dev/video0 ! \
  videoconvert ! \
  x264enc interlaced=true tune=zerolatency speed-preset=ultrafast ! \
  rtph264pay ! \
  udpsink host=192.168.0.2 port=5000

```

To send it as fast as possible under a given framerate (ex: 30)

```
gst-launch-1.0 \
  v4l2src device=/dev/video0 ! \
  videoconvert ! \
  videorate ! \
  video/x-raw,framerate=30/1 ! \
  x264enc interlaced=true tune=zerolatency speed-preset=ultrafast ! \
  rtph264pay ! \
  udpsink host=192.168.0.2 port=5000

```

To receive it and display it on an X-window,

```
gst-launch-1.0 \
  udpsrc port=5000 ! \
  application/x-rtp,payload=96 ! \
  rtph264depay ! \
  decodebin ! \
  videoconvert n-threads=4 ! \
  ximagesink

```
Purrfect Program Management
Tags: webdev, javascript, beginners, podcast
Published: 2020-02-09 01:45:26


Original: https://codingcat.dev/podcast/0-2-purrfect-program-management

{% youtube https://www.youtube.com/watch?v=aSt-D7Dbcuk %}

## PM Questions

So you are a Project mana

What is the difference between a Project Manager and Program Manager?

I noticed you have your PMP (Project Management Professional) Certification. [https://www.pmi.org/certifications/types/project-management-pmp](https://www.pmi.org/certifications/types/project-management-pmp)

What made you decide to commit the time to get the certification?

Can you tell me how hard that was to get?

Where do you see Program Management in the next 3-5 years.

## Purrfect Picks

So you have a side hustle that I help you out on from time to time called mi (my) blend coffee.

Can you tell me what got you into the coffee business?
Missing Libraries
Tags: linux
Published: 2023-01-06 01:40:29

---
title: Missing Libraries
published: true
date: 2020-02-09 01:42:50 UTC
tags: Linux
canonical_url: https://brandonrozek.com/blog/missinglibraries/
---

The piwheels blog outlined a great [post](https://blog.piwheels.org/how-to-work-out-the-missing-dependencies-for-a-python-package/) on what to do when you are missing shared libraries in Python packages. Though the short of this tip is helpful on its own as well. If you are running any piece of software and its missing a library, try to find the `.so` file related to that package.

Then run `ldd` on that file passing it to grep to filter for not found packages:

```
ldd file.so | grep "not found"

```

And if you’re on Ubuntu, then you can use `apt-file` to find the related packages.
Generate and register an SSH key pair to log into an SSH server
Tags: devops
Published: 2020-02-09 01:25:06

The command `ssh-keygen` can be used to create an SSH key pair that is used to authenticate oneself. SSH supports a variety of authentication schemes, including the public-key system (<cite>[SSH.com][1]</cite>).

This article is a summary of an article found on Medium, which is written by Risan Bagja Pradana.

There are different algorithms for generating a key pair that SSH supports. The EdDSA algorithm is most recommended. The SSH term (or variant) for the algorithm is "Ed25519" (<cite>[Pradana][2]</cite>).

Among Pradana's recommended options (<cite>[Pradana][2]</cite>), one seems essential: The `t` option, which specifies the algorithm used to generate the key pair. So, for example, using the `t` option, the following command can be used to generate a key pair: `ssh-keygen -t ed25519` (<cite>[Pradana][2]</cite>).

After generating the key pair, it is essential that we register the key pair with the SSH Agent. The Agent must first be running. And then, we use either of the following commands to add our new pair (<cite>[Pradana][2]</cite>):

```
ssh-add ~/.ssh/id_ed25519 # new pair, OR
ssh-add                   # all existing keys
```

Lastly, we must register the public key with the server we intend to connect to. Use the following command: `ssh -i ~/.ssh/id_ed25519 username@server` (<cite>[Pradana][2]</cite>).

More information can be obtained in the cited article by Pradana. It is a Medium article, but it is not a "Premium" article.


[1]: https://www.ssh.com/ssh/public-key-authentication
[2]: https://medium.com/risan/upgrade-your-ssh-key-to-ed25519-c6e8d60d3c54