teleren/devto huggingface dataset:
When you want to build an old PHP from source, be careful of the certificate!
Tags: php
Published: 2019-01-11 12:07:55

---
title: When you want to build an old PHP from source, be careful of the certificate!
published: true
description: Old PHP tar balls include revoked certificates. 
tags: php
---

Recently I needed to build an old PHP (php-5.6.34) from source.
Somehow I could `configure` with openssl,  and `make` it.

Then I just typed `make test` to check the result of the build, and I got the error below:

```
=====================================================================
FAILED TEST SUMMARY
---------------------------------------------------------------------
Bug #48182: ssl handshake fails during asynchronous socket connection [ext/openssl/tests/bug48182.phpt]
Bug #54992: Stream not closed and error not returned when SSL CN_match fails [ext/openssl/tests/bug54992.phpt]
Bug #65538: SSL context "cafile" supports stream wrappers [ext/openssl/tests/bug65538_001.phpt]
Bug #65538: SSL context "cafile" supports phar wrapper [ext/openssl/tests/bug65538_003.phpt]
capture_peer_cert context captures on verify failure [ext/openssl/tests/capture_peer_cert_001.phpt]
Testing peer fingerprint on connection [ext/openssl/tests/openssl_peer_fingerprint_basic.phpt]
Peer verification enabled for client streams [ext/openssl/tests/peer_verification.phpt]
Capture SSL session meta array in stream context [ext/openssl/tests/session_meta_capture.phpt]
Basic bitwise stream crypto context flag assignment [ext/openssl/tests/stream_crypto_flags_001.phpt]
TLSv1.1 and TLSv1.2 bitwise stream crypto flag assignment [ext/openssl/tests/stream_crypto_flags_002.phpt]
Server bitwise stream crypto flag assignment [ext/openssl/tests/stream_crypto_flags_003.phpt]
Specific protocol method specification [ext/openssl/tests/stream_crypto_flags_004.phpt]
Allow host name mismatch when "verify_host" disabled [ext/openssl/tests/stream_verify_peer_name_002.phpt]
Host name mismatch triggers error [ext/openssl/tests/stream_verify_peer_name_003.phpt]
=====================================================================
```

Well, I just build the source, why am I getting so many errors?

Digging in the source code, then I noticed that all of the test code above use the `bug54992-ca.pem` certificate. This is used to test the SSL/TLS connection.

Yes, `bug54992-ca.pem` is TOO OLD to be effective!

This is already fixed. I found the upstream patch of the PHP source; https://github.com/php/php-src/commit/687dad3674e9af12cec914bdc250a157680076ca

The test errors above disappeared after cherry-picking the patch manually.
I am writing a book about CI
Tags: ci, book, showdev
Published: 2019-01-13 11:52:21

---
title: I am writing a book about CI
published: true
tags: [ci, book, showdev]
canonical_url: https://dmerej.info/blog/post/im-writing-a-book/
---

# Why?

I wanted to talk about CI for a very long time (more than 2 years). But it’s a huge topic, and it took me some time before I decided to [start a blog post series](https://dmerej.info/blog/post/introducing-tips-from-a-build-farmer/) about it.

But then I realized that was the wrong format: you see, writing and publishing one post at a time requires for you to know exactly what to say and in what order, and I found that was not the case for the “Tips From A Build Farmer” series. So instead, I am going to try and write the whole thing as a book.

# How?

For now, I am only focusing on the _content_: I just have a bunch of Markdown files I can turn into a big pdf thanks to [pandoc](https://pandoc.org/).

Once done, I will probably publish the pdf and the sources on the Internet, available for free.

# When?

I have no clue at all, this is my first attempt at writing a book! But I will surely post updates there on the blog – wish me luck!


---

_I'd love to hear what you have to say, so please feel free to leave a comment below, or check out [my contact page](https://dmerej.info/blog/pages/contact/) for more ways to get in touch with me._
Top 5 Themes for Visual Studio Code
Tags: vscode, editor, themes
Published: 2019-01-11 10:22:13

---
title: Top 5 Themes for Visual Studio Code
published: true
description: 
tags: #vscode, #editor, #themes
---

My editor choice is Visual Studio Code since the first beta release.
I like personalize everything in my editor and Visual Studio Code is perfect in this way.

Here I will show my Top 5 favourite Visual Studio Code theme.


# [Night Owl](https://marketplace.visualstudio.com/items?itemName=sdras.night-owl)

One of the best theme for Visual Studio Code (and others editor!!!).
This is my current theme for work.

![](https://github.com/sdras/night-owl-vscode-theme/raw/master/preview.png)


# [Winter is Coming](https://marketplace.visualstudio.com/items?itemName=johnpapa.winteriscoming)

Developed by John Papa from Microsoft, I love it.

![](https://github.com/johnpapa/vscode-winteriscoming/raw/master/images/dark-html.png)

# [Shades of Purple](https://marketplace.visualstudio.com/items?itemName=ahmadawais.shades-of-purple)

Well documented and professional theme. Awesome!

![](https://raw.githubusercontent.com/ahmadawais/shades-of-purple-vscode/master/images/1_sop.gif)

# [Rainglow](https://marketplace.visualstudio.com/items?itemName=daylerees.rainglow)

Many color themes!!! Try it!

![](https://raw.githubusercontent.com/rainglow/examples/master/vscode/gloom-contrast.png)

# [Noctis](https://marketplace.visualstudio.com/items?itemName=liviuschera.noctis)

My second favourite theme, after Night Owl.
This is the best to relax your eyes after a long working day.

![](https://github.com/liviuschera/noctis/raw/master/images/noctisMinimus.png)


## Plus

### [Power Mode](https://marketplace.visualstudio.com/items?itemName=hoovercj.vscode-power-mode)

![](https://github.com/hoovercj/vscode-power-mode/raw/master/images/demo-presets-particles.gif)

It's not a real theme, but I like this effect when I have a presentation or a demo with customer. :)
Leetcode : 905. Sort Array By Parity
Tags: leetcode, java, array
Published: 2019-01-11 09:16:32

---
title: Leetcode : 905. Sort Array By Parity
published: true
description: easy leetcode problem solution
tags: leetcode, java, array
---

https://www.youtube.com/watch?v=0spKOOqBpZ0
Geo Crash Course
Tags: geo, guide, workshop, geodata
Published: 2019-01-11 09:03:36

---
title: Geo Crash Course
published: true
description: everything you need to know when starting in Geo as a developer
tags: geo, guide, workshop, geodata
cover_image: https://thepracticaldev.s3.amazonaws.com/i/s09esgr92xghyw7sukea.jpg
---

What do you need to know when starting in Geo as a developer? Read on to know!


For a very long time I planned to write this guide on starting in Geo. In this guide, I will:
<ul>
 	<li>Tell you that Earth is not flat (SHOCK!) and why that's very inconvenient;</li>
 	<li>Define common terms (What's projection? There's also a coordinate system?.. OGC, OSM, WKT, WGS, ESPG?);</li>
 	<li>Teach you All Things You Need To Know™ to become a geo-developer and build things for Geo or using Geo;</li>
 	<li>Explain popular caveats - Dos and Don'ts - when working with Geo;</li>
 	<li>Give you an overview of geo-technologies, industry standards, databases, libraries;</li>
 	<li>Give you references for further reading.</li>
</ul>
I ran this workshop for my colleagues who are interested in Geo, and it was a great success! I hope you enjoy it as well.

Good luck with your journey around the globe!

{% slideshare EhDjrrN57Qwxwt %}
Golang Security Checker
Tags: go, security, githunt
Published: 2019-01-11 07:31:13

---
title: Golang Security Checker
published: true
description: a tutorial about gosec, a golang tool that inspects the source code for security problems by scanning the Go AST.
cover_image: https://thepracticaldev.s3.amazonaws.com/i/vfvtle4vmq8853olq37u.jpg
tags: #go,#security,#githunt
---
Gosec is a great tool to run our Go code and ensure that we have no security issues. To keep the post short, I won't explain the security issues, my focus will be to show you how to run the tool. Maybe in the future, I can write about the issues, right now if you want to understand more, please read [this post](https://blog.sideci.com/lets-take-a-look-at-the-rules-of-gas-442ba286b0fe) 


{% github securego/gosec %} 

You can run the tool using a binary or using Docker. I'll show both cases to you.
Using binary you need to run into your root directory:
```bash
gosec *.go
```

Using docker, it needs more config, but it works well. In the readme the command is *securego/gosec ./...*, it didn't work to me, so I replaced **./...** to **projet-path**

```bash
docker run -it -v $GOPATH/src/<YOUR PROJECT PATH>:/go/src/<YOUR PROJECT PATH> securego/gosec $GOPATH/src/<YOUR PROJECT PATH>
```

Even if you use go module, you need to use this format to run the tool.

that's all folks, I hope it can be useful to you =)
Artificial Intelligence Virtual Assistant | Artificial Intelligence use Cases
Tags: technews
Published: 2019-01-11 06:54:05

---
title: Artificial Intelligence Virtual Assistant | Artificial Intelligence use Cases
published: True
description: Latest news headlines from India & around the world wide. Artificial Intelligence 101, Check out now today's most time-to-time & recent news coverage, videos & photos at aitime.in.

tags: Tech News
---
Day 10: Making a swift macOS password manager for people who hate the cloud
Tags: macos, swift, passwordmanager, cloud
Published: 2019-01-11 06:37:46

---
title: Day 10: Making a swift macOS password manager for people who hate the cloud
published: true
description: Watch as I make a password manager for macOS this month
tags: macos, swift, password manager, cloud
series: Making a swift MacOS password manager for people who hate the cloud
cover_image: https://thepracticaldev.s3.amazonaws.com/i/q6r73zbfbm3mpfs98bu5.jpg
canonical_url: https://streaking.app/posts/day-10-making-a-swift-macos-password-manager-for-people-who-hate-the-cloud-891549e53b0e
---

[<- For Day 9 go here](https://dev.to/swlkr/day-9-making-a-swift-macos-password-manager-for-people-who-hate-the-cloud-4koj)

📅 01/10/2019
🚀 20 days until launch
🔥 9 day streak
🤑 0 usd
📈 0 customers
⌚️ 8 hours spent
💻 19 files changed, 1037 insertions(+), 170 deletions(-)
🏁 Today's goals: **Edit existing logins, hopefully generate strong passwords, and some ui improvements**

**2:44 PM**
Still working but wanted to get started on the post a little earlier. Mentally prepping for post-work PRODUCTIVITY.

**5:23 PM**
Fixed a bug where the name field wasn't saved on new login creation. Also changed the tableview in storyboard to multi-selection. Little changes can make a huge difference in the experience.

**11:29 PM**
Watched netflix, thought of a cool new way to write these daily posts, messed around with the ui for a while, but couldn't come up with anything cool like 1password 7. Got the edit button working though, probably a total of 30 minutes done today haha. What is it consistency beats fits of inspiration?

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

The code starts to look the same after a while, I think I'm getting the hang of swift and macos dev.

```swift
    @IBAction func editButtonClicked(_ sender: NSButton) {
        let storyboard = NSStoryboard(name: NSStoryboard.Name("Main"), bundle: Bundle.main)
        let vc = storyboard.instantiateController(withIdentifier: "AddLoginViewController") as! AddLoginViewController
        vc.login = login

        let parentVC = self.parent as! PasswordListViewController

        for sView in parentVC.containerView!.subviews {
            sView.removeFromSuperview()
        }

        addChild(vc)
        vc.view.frame = parentVC.containerView!.bounds
        parentVC.containerView!.addSubview(vc.view)
    }
```

Keep moving forward.
What are some things you wish your mentor did?
Tags: discuss, beginners, mentoring
Published: 2019-01-11 06:20:02

---
title: What are some things you wish your mentor did?
published: true
description: From being proactive to being patient, what's the thing you would want from your mentor?
tags: discuss, beginner, mentoring
---

To those of you who once had a mentor, please take a stroll down memory lane.

Those of you who still have a mentor, please think of your current situation.

Got it? Okay. Now I have a simple question: What do you wish your mentor did better? Should they have been more proactive in helping you? Should they have given you more independence? Should they have bought you pizza every second Thursday?

I unexpectedly find myself in a new senior role with some people to guide, and I want to do it as well as I possibly can. So if you have any input, please go ahead and tell me about it.

Thanks!~
What do you find yourself searching for again and again?
Tags: discuss
Published: 2019-01-11 04:38:15

---
title: What do you find yourself searching for again and again?
published: true
description: Like how to exit vim, or how not to mess up git commands
tags: discuss
cover_image: https://images.unsplash.com/photo-1536009197840-7b923cc3e195
---

For what is likely the 6th time, I Googled `netlify multiple github repos custom domain`. And for the 6th time, I've come across [this purple link](https://stackoverflow.com/questions/48604843/how-to-host-multiple-github-repos-using-the-same-custom-domain-on-netlify) about setting up a redirects reference in the main repo.

Will I ever learn? Unlikely. Most of the battle is knowing how to find the answer. Since I've found this answer 6 times now, I'm getting pretty good at it. At least this time I logged in to StackOverflow to star the question and upvote it and its answer.

It seems most developers are frequently [asking the internet how to exit vim](https://stackoverflow.blog/2017/05/23/stack-overflow-helping-one-million-developers-exit-vim/), but what do you find yourself searching for again and again?

(Runner-up for me is `git cherry-pick`'s documentation, because I don't trust myself to not screw up the syntax)
What are some co-worker attitudes you dislike?
Tags: discuss
Published: 2019-01-11 04:25:20

I've been in IT Industry since 1999 and been working with many people, however there was always that one co-worker that just rub me the wrong way.. 

For me it was always one of those co-workers "Know it All" or "Let me try to put you down upfront of 20 people and act like I know sh**"


So what's your most disliked attitude in workplace?

(Btw if you feel like sharing comment anonymously hit sloan@dev.to)
Write You a Haskell
Tags: githunt, opensource, haskell, learning
Published: 2019-01-11 03:37:32

---
title: Write You a Haskell
published: true
cover_image: https://thepracticaldev.s3.amazonaws.com/i/i7yvidmmtc0boux0763o.jpg
description: 
tags: githunt, opensource, haskell, learning
---

From personal experience, I can say, Haskell is pretty difficult to learn. This is the project that has helped it click for me:

{% github https://github.com/sdiehl/write-you-a-haskell %}

I've always been interested in how languages work and I've been trying to learn Haskell when I can find the time. So far, I've been pretty unsuccessful, but this project has really opened my eyes to the secrets of Haskell.

If you've got any interest in either languages or Haskell, I've gotta recommend this great resource.
Coercion Between Primitives and Objects in JavaScript
Tags: javascript, flow
Published: 2019-01-11 01:56:52

---
title: Coercion Between Primitives and Objects in JavaScript
published: true
description: 
tags: JavaScript, Flow
---

Every JavaScript developer has read at least one article that describes the unexpected values you get when you perform operations with mismatched types. This is not one of those posts. So relax, I won’t try to trip you up with type coercion examples.

The idea for this article was born while I was working with [Flow](https://flow.org/), a type checker for JavaScript. While declaring types, I accidentally gave an argument type Boolean and not boolean. I realized there was a casual subtly to my mistake so I wanted to talk about why these two things aren’t the same.

## The difference between String and string

There are six primitive types in JavaScript: boolean, string, number, null, undefined, and symbol. Right now we’ll focus on the first three. These three have wrapper objects called Boolean, String, and Number. You’ve probably used these special wrapper objects when doing an explicit type conversion, e.g.:

``` JavaScript
    let example = “6”;
    7 === 1 + Number(example)  // true
```

Since JavaScript is loosely typed, you use implicit type coercion between these types all the time, e.g:

``` JavaScript
    let example = “This is a string”;
    example.length  // 16
```
Here, the JavaScript interpreter sees that you are trying to use a primitive as an object by accessing a property. Since primitives don’t have properties, the interpreter wraps the string primitive in an object by calling `String(example)` in the background. This allows you to use the primitive like an object.

## Boolean vs. boolean and why it matters

For the most part, we can use primitives and wrapper types the same way with no issue. But here’s a particular case where that’s not true.

``` JavaScript
    let example = new Boolean(false);
    if (example) {
        console.log(‘Cats are the best’);
    } else {
        console.log(‘Dogs are the best’);
    }
```
Go ahead and try this example in your console right now. 

You might be surprised to see that it prints out ‘Cats are the best’! Since all objects are truthy in JavaScript, example evaluates to `true`, which can be unintuitive. 

Now you know one the reasons why Flow doesn’t let you use primitive and wrapper types interchangeably. I suggest playing around with this over at [Flow's playground](https://flow.org/try/).
Welcome to the Self-Taught Developer's Survival Guide!
Tags: webdev, beginners
Published: 2019-03-07 03:08:56

---
title: Welcome to the Self-Taught Developer's Survival Guide!
published: true
tags: webdev, beginners
canonical_url: https://www.mscaveneyworks.com/posts/first-post
---

**Note**: This begins the cross-posting of my blog to dev.to! Newer entries will appear as I figure out the magic of RSS!

**January 11th, 2019**

Hello! I'm Michael C, I'm a front-end developer from Boston, and this is the first entry in my blog! When I started learning web development (and at many points along the way), I made what felt like every possible mistake. Learning software development can be a daunting task, particularly in the quick-moving world of web development. For me personally, I've reached a point where the "unknown unknowns" have fallen away, and I want to do what I can to make learning web development easier for others.

The point of this blog is to act as more of a coaching resource to supplement college classes, Udemy, Treehouse, whatever folks are using to learn the material in the first place. There will be smaller tutorials and explanations, but I feel that having a crystal-clear understanding of learning goals and the order in which to approach them is more important than precisely what source somebody is using to, say, learn React.

I will occasionally write about how art and other practices influence how I approached programming, or detail what I'm learning, but main blog entries will happen every other Friday. And lastly, I want to hear from you! What are you struggling with? What would you like to learn? Hit me up on Twitter or via email!

Coming in two weeks: I break down the pros and cons of college vs coding bootcamps vs self-taught, and why I went with the self-taught route!
Updating My Resume
Tags: career
Published: 2019-01-10 22:52:14

---
title: Updating My Resume
published: true
description: 
tags: career
---
I've been having so much fun here at DEV and over at <a href="https://github.com/BurdetteLamar">GitHub</a> and <a href="https://rubygems.org/profiles/BurdetteLamar">RubyGems</a> that I have not updated my resume for a while.

<a href="https://burdettelamar.files.wordpress.com/2019/01/burdette.lamar_.resume.pdf">Here 'tis</a>.

I'll be putting this onto Indeed.com and elsewhere next week.
I Created This Intro For My Maker Vlog Within 2 Days
Published: 2019-01-10 21:56:58

---
title: I Created This Intro For My Maker Vlog Within 2 Days
published: true
description: I finalized a 15 second intro for the Shipharder.com vlog episodes that I'm working on & that are coming up. Wanted to share it with you.
tags: 
---
In the last quarter of 2018 I started to go through with this idea of mine: Shipharder.com. I really wanted to have a platform on which I could share my ideas, mindset and ideals on how to create products that are value centered. 

Products that are viable - thus providing value to its users and gaining revenue for me as a maker.

In order to break through the noise I knew that - besides social media postings on Twitter, Facebook, LinkedIn, and Instagram, I had to put on some quality content.

I started with some cornerstone content (more or less focussed on the human side of entrepreneurship and product development). I got some positive feedback on those and I got about 3000+ views within my first month.

As one of the articles itself indicates, this is not a short term win. I want to keep pushing my ideas, engaging with people on platforms like IH, Dev.to and more and really start getting some followers.

I think that vlogs are one of the latest frontiers in which there is still a lot of room to get your own game going. So I decided to learn myself a decent editor (Final Cut Pro X in my case, since I'd used iMove for years before) and checked around to find some great sources for free music, plugins, tutorials and inspiration. 

I finished a funny 15-second intro that states what my vlogs will be about in about a day or two. I wanted to share it with you to see if you like it or not.

Hope you'll enjoy it and who knows, perhaps I'll even see you on the Shipharder.com side of things ✌🏻.

The video: https://youtu.be/zG3WGRL0cuc
The full post: https://www.shipharder.com/vlog-intro-shipharder-com/

But whatever you do:

Code Hard, Ship harder - shipharder.com :)
How to do a short ramp up for a junior?
Tags: help
Published: 2019-01-10 21:53:10

---
title: How to do a short ramp up for a junior?
published: true
tags: help
---

Hi,

I hope you will have good ideas. A new colleauge joined I'm team and it is my task to support his ramp up. He is a fresh guy from the university. He has a good theoretical understanding for most of the topics (not all of them), but a lack of practical experience. Our project is also not easy from technical point of view.
Our project has a tight scedule and due dates are coming soon.
What is the fastest way to make him producable?
Privacy Tools – Encryption Against Global Mass Surveillance
Tags: discuss, privacy
Published: 2019-01-10 20:57:37

---
title: Privacy Tools – Encryption Against Global Mass Surveillance
published: true
description: You are being watched! Knowledge, encryption and privacy tools to protect you against global mass surveillance.
tags: meta, discuss, privacy
---

I value my privacy and try to stay away from certain operating systems, browsers and some social networks, it's the first time I have come across such a comprehensive list of tools that focus on privacy:

https://www.privacytools.io/

I hope you find this useful :) What browsers, extensions and VPN providers do you use?