teleren/devto huggingface dataset:
Customize error log of PHP for WordPress debugging
Tags: wordpress, php, debug
Published: 2018-07-10 14:15:51

---
title: Customize error log of PHP for WordPress debugging
published: true
tags: wordpress, php, debug
canonical_url: https://daniele.tech/2018/01/customize-error-log-of-php-for-wordpress-debugging/
---

In PHP is easy to change the output of errors in the log but to add specific integration with WordPress info like "What was the hook that created the issue?" is possible with a simple plugin to add in your dev suite :-)

Very helpful on production systems where you are trying to optimize everything also the plugins with contributions or patches.

The post [Customize error log of PHP for WordPress debugging](https://daniele.tech/2018/01/customize-error-log-of-php-for-wordpress-debugging/) appeared first on [Daniele Mte90 Scasciafratte](https://daniele.tech/eng).
github repos moved / intro to git
Tags: softwareengineering, git, devops, github
Published: 2018-07-10 14:15:33

---
title: github repos moved / intro to git
published: true
description: I've moved my github repos, a plug for my git into guide
tags: software engineering, git, devops, github
cover_image: https://thepracticaldev.s3.amazonaws.com/i/ebmxzwt4tr8re39h8i2u.jpg
---

I renamed my GitHub account to openshiftninja (sadly, osninja already taken) for consistency.

http://github.com/openshiftninja 

There aren't many public repos, but I do have some Docker tools, the source to my git intro, a mesos/marathon compose file, and a tweak to Anchore's scanning engine

In case you are wanting to learn git, here is a special plug for my guide which I published on read-the-docs: 

http://git-intro.readthedocs.io/
Upload stuff on git push when branch is not master
Tags: gitproductivity, optimization
Published: 2018-07-10 14:10:47

---
title: Upload stuff on git push when branch is not master
published: true
tags: git productivity, optimization
canonical_url: https://daniele.tech/2018/04/upload-stuff-on-push-when-branch-is-not-master/
---

The first rule of optimization is: When something require many steps and can be automatized, do a script.

At least in my mind this my first rule and I do a script when I do the same things to many times.

Let's see Git hooks with a real user case with code!

The post [Upload stuff on git push when branch is not master](https://daniele.tech/2018/04/upload-stuff-on-push-when-branch-is-not-master/) appeared first on [Daniele Mte90 Scasciafratte](https://daniele.tech/eng).
2 years of GlotDict or Why I made my first browser extension for the WordPress community
Tags: browsers, javascript, community, wordpress
Published: 2018-07-10 14:06:55

---
title: 2 years of GlotDict or Why I made my first browser extension for the WordPress community
published: true
tags: browsers, javascript, community, wordpress
canonical_url: https://daniele.tech/2018/03/2-years-of-glotdict/
---

In November 2015 at MozFest London I experimented to do an extension with the new technology WebExtension and I said to me: I can do it, is standard html, js and css with a file that contain the information and load for me the file in the pages that I want.

The mainly issue was that I am a developer with no fantasy, so I never got an idea for months about do it an extension.

Let's see all the story, what I learned, how much the WordPress community is awesome and many other things...

The post [
2 years of GlotDict or Why I made my first browser extension for the WordPress community](https://daniele.tech/2018/03/2-years-of-glotdict/) appeared first on [Daniele Mte90 Scasciafratte](https://daniele.tech/eng).
The virtuosity of reporting in the Open Source world
Tags: dev, opensource
Published: 2018-07-10 14:04:39

---
title: The virtuosity of reporting in the Open Source world
published: true
tags: dev, opensource
canonical_url: https://daniele.tech/2018/05/the-virtuosity-of-reporting-in-the-open-source-world/
---

Dealing off the statistics data of the most read articles on my site I saw that one of the most read is one about why report bugs/features/feedback.

At the time I remember that I wrote that article because I had recently entered the open source world and began to make the first contributions and to work with free software in a virtuous way, or contributing.

Now it's time for a analysis about what I learned...

The post [The virtuosity of reporting in the Open Source world](https://daniele.tech/2018/05/the-virtuosity-of-reporting-in-the-open-source-world/) appeared first on [Daniele Mte90 Scasciafratte](https://daniele.tech/eng).
Lead Software Developers Better By Letting Go!
Tags: leadership, productivity, career, culture
Published: 2018-07-10 13:49:27

---
title: Lead Software Developers Better By Letting Go!
published: true
description: I’ve had more time to support my team when I encourage other developers to have more responsibility.
tags: #leadership #productivity #career #culture
---

Over the years I've had to lead many software developers, and it's become much easier since letting go of _being seen as "the expert"_.

Even if I’m only leading a few people, there’s always too much work and I have to choose really carefully what I do.

If you’ve watched any of my other videos you know I’m a big fan of teams where there’s less management.

But whether someone is officially recognized as a “lead developer” or not, most teams usually have people on them _who are more experienced_.

And people naturally seem to take ownership for areas of the product they’re most interested in.

Soon they can start being seen as a leader around that area or idea.

Maybe that’s you, or maybe you’re considering stepping into a role where you’ll be leading developers to do something with the software.

In my career I’ve found **it’s really easy to get overwhelmed when I’m leading** other developers.

Meeting with the business, supporting developers, and still trying to get work done on the product myself can feel impossible.

You’ve probably heard the saying “give someone a fish, feed them for a day - but teach someone to fish and feed them for a lifetime”.

But even though I know this, it can be hard to let other developers do more to help if it’s going to take longer than just doing it myself.

In this video, I share how I’ve had more time to support my team when I encourage other developers to have more responsibility, and you can too.

Visit my site to watch the full video (or listen as a podcast):

# [📺 Watch or 🎧 Listen](https://jaymeedwards.com/2018/07/10/lead-software-developers-better-by-letting-go/)

Skip to points in the video:

[01:47](https://www.youtube.com/watch?v=Fp5oQyNV_ws&t=107s) How Leads Get Overwhelmed
[04:18](https://www.youtube.com/watch?v=Fp5oQyNV_ws&t=258s) You Can't "Know It All"
[05:19](https://www.youtube.com/watch?v=Fp5oQyNV_ws&t=319s) Clarify Your Role As Team Helper
[06:30](https://www.youtube.com/watch?v=Fp5oQyNV_ws&t=390s) Delegate Research
[07:39](https://www.youtube.com/watch?v=Fp5oQyNV_ws&t=459s) Delegate Information Requests
[07:39](https://www.youtube.com/watch?v=Fp5oQyNV_ws&t=534s) Be Forgiving Of Mistakes

<hr />[🔔 Subscribe for over 100 videos on healthy software development](https://YouTube.com/c/JaymeEdwardsmedia?sub_confirmation=1)
Daily Coding Puzzles
Tags: algorithms, interview, showdev, programming
Published: 2018-07-10 12:42:55

---
title: Daily Coding Puzzles
published: true
description: Solve coding puzzles everyday with me on Twitter!
tags: algorithms, interviews, showdev, programming
---

I think a lot of people know this at this point, but I love writing code. To wake myself up in the morning and get my brain running, I normally solve a code puzzle first thing when I get to work.

I normally find these on [Project Euler](https://projecteuler.net/), [CodeWars](https://www.codewars.com/), or [HackerRank](https://www.hackerrank.com/) -- though I'm totally open to suggestions if anybody has a really good alternate resource! I really love the problem-solving nature of these code challenges, and how I can sometimes can come up with really cool out of the box solutions to them. I do feel like they help me become a stronger programmer, and an added bonus is that if I am interviewing at the time a lot of interview questions are similar to these (for better or for worse).

Since I'm already doing these every day, I thought it would be really cool to share my results on social media to keep me accountable and to see how other people solve the same problem. I normally solve these challenges in Python or JavaScript, but other people have been posting in Ruby, Rust, Ramda, and Clojure so far (which is so cool to see!). Some of them I have solved before at some point, so I post multiple answers in different languages or my refactors!

If you would like to follow along and post your own solutions (or just see other people's), [follow me on Twitter](https://twitter.com/ASpittel) or I've been using the hashtag #CodingPuzzle on them, so you could follow [there](https://twitter.com/hashtag/CodingPuzzle?src=hash) instead! I normally post in between 8 and 9 AM EST since that is normally when I get to work! It's also led to some interesting discussions on efficiency and the strengths of different programming languages for solving these types of problems! These problems are also a variety of difficulties, so if one day's problem is too hard, still follow the next day for a new one!

To get started, today's problem was [Project Euler Problem 2: Even Fibonacci Numbers](https://projecteuler.net/problem=2): Each new term in the Fibonacci sequence is generated by adding the previous two terms. Find the sum of the even-valued terms. Please post your answer [here](https://twitter.com/ASpittel/status/1016656616484233217)!

{% tweet 1016656616484233217 %}

If you want to catch up on the previous ones, they were:

{% tweet 1016305978164183040 %}

{% tweet 1015211258897977345 %}

{% tweet 1014849122308767744 %}

Hope to see your answers!
I expect user interfaces to be pushed towards stronger personalisation in 2018.
Tags: ui, webdesign
Published: 2018-07-26 05:56:19

---
title: I expect user interfaces to be pushed towards stronger personalisation in 2018.
published: true
tags: ui,web-design
canonical_url: https://medium.com/@fraction.tech/i-expect-user-interfaces-to-be-pushed-towards-stronger-personalisation-in-2018-b3142448a3b3
---

I expect user interfaces to be pushed towards stronger personalisation in 2018. More immersive, interactive and responsive interfaces for the user and the device, with an eye on efficiency and user experience.

Minimalism and card design will still rule both web and mobile UI, with an even greater increase in animations and broader use of gradients and vibrant colours. All of this topped off by the use of illustrations combined with the search for striking and appealing fonts with a strong comeback of bold and fancy fonts to replace more classic ones.

These are the many small steps towards a less visible [UI design](http://www.fraction.tech/services/web-design).

1. Mobile = Desktop. Websites and [web apps](http://www.fraction.tech/services/application-development) will be designed in a way to look and feel like mobile products. People got used to the mobile experience and they will never go back. The Touch Bar on MacBook Pro is a good example

2. Designing UI for AI products that have never existed before will be a great new challenge for designers

3. Accessibility — Say goodbye to long, complicated passwords, and welcome to verification codes

4. Simplified UI — This will play a key role in 2018. Smaller and hidden navigations will become even more common.

5. Engage faster — Chatbots will rise even further and more products will experiment with them

6. Brands will invest more in custom illustrations and icons

UI trends are an even rockier terrain to navigate. We KNOW that a good UI is based on research, testing and slow, methodical improvements — not looking at a competitor’s site and saying “ooh, that’s pretty, I’ll steal that!”
Support for Lazarus 1.8.4 and a Bunch of New Helpful Features in Updated DAC products
Tags: dotnet, delphi, lazarus, connectivity
Published: 2018-07-10 11:12:41

---
title: Support for Lazarus 1.8.4 and a Bunch of New Helpful Features in Updated DAC products
published: true
description: Devart has announced a significant update of its Delphi Data Access Components with support for Lazarus 1.8.4 and numerous handy features that enhance data access and confidentiality.
tags: dotnet, delphi, lazarus, connectivity
---

Devart, a Czech software vendor of database tools and data connectivity solutions, rolled out new versions of Delphi Data Access Components, the fast and reliable data connectivity solutions for any database. The new release includes the support for Lazarus 1.8.4, brand-new features of cloud and database providers in UniDAC and many others to assist programmers in developing fast and native applications.

 Here’s a closer look at the most noteworthy improvements implemented in the release:

MySQL Data Access Components (MyDAC) now support MySQL 8.0, as well as sha2_password, caching_sha2_password authentications. 
The new version of SQL Server Data Access Components (SDAC) include MARS, NonBlocking mode and Query notifications in TDS. 
InterBase and Firebird Data Access Components (IBDAC) now provide System Encryption Password (SEP). Moreover, updated IBDAC offers the ability to grant/revoke admin role for a Firebird user using IBCSecurityService component.
Oracle Data Access Components (ODAC) now allow significantly enhanced data fetching in the Direct mode. 
The new version of PostgreSQL Data Access Components (PgDAC) supports HTTP/HTTPS tunnel.
SQLite Data Access Components (LiteDAC) now support WAL in the Direct Mode for non-Windows platforms.
Upgraded Universal Data Access Components (UniDAC) include updated cloud providers that support App center client authentication for Salesforce MC, FreshBooks new version,  Magento 2.x, NetSuite Sandbox and ZohoCRM Domain.
What’s more, performance of batch operations is greatly enhanced in all Delphi Data Access Components. 

Got interested? For more goodies about a bunch of brand-new features in upgraded Delphi Data Access Components, visit https://www.devart.com/dac.html .

About Devart

Devart is one of the leading developers of database tools and administration software, ALM solutions, data providers for various database servers, data integration and backup solutions. The company also implements Web and Mobile development projects.

For additional information about Devart, visit https://www.devart.com/ .
Vue.js Watchers
Tags: javascript, vue
Published: 2018-06-25 21:06:02

---
title: Vue.js Watchers
published: true
tags: javascript, vue
canonical_url: https://flaviocopes.com/vue-watchers/
---

> I'm working on a Vue.js course. If you're interested in learning Vue, [get on the list](https://vuecourse.com/) to get a free 120+ pages ebook about the Vue fundamentals tomorrow!

A watcher is a special Vue.js feature that allows you to spy on one property of the component state, and run a function when that property value changes.

Here’s an example. We have a component that shows a name, and allows you to change it by clicking a button:

```
<template>
  <p>My name is {{name}}</p>
  <button @click="changeName()">Change my name!</button>
</template>

<script>
export default {
  data() {
    return {
      name: 'Flavio'
    }
  },
  methods: {
    changeName: function() {
      this.name = 'Flavius'
    }
  }
}
</script>

```

When the name changes we want to do something, like printing a console log.

We can do so by adding to the `watch` object a property named as the data property we want to watch over:

```
<script>
export default {
  data() {
    return {
      name: 'Flavio'
    }
  },
  methods: {
    changeName: function() {
      this.name = 'Flavius'
    }
  },
  watch: {
    name: function() {
      console.log(this.name)
    }
  }
}
</script>

```

The function assigned to `watch.name` can optionally accept 2 parameters. The first is the new property value. The second is the old property value:

```
<script>
export default {
  /* ... */
  watch: {
    name: function(newValue, oldValue) {
      console.log(newValue, oldValue)
    }
  }
}
</script>

```

Watchers cannot be looked up from a template, like you can with computed properties.

> I'm working on a Vue.js course. If you're interested in learning Vue, [get on the list](https://vuecourse.com/) to get a free 120+ pages ebook about the Vue fundamentals tomorrow!
CSS input checker
Tags: css, placeholder, beginners
Published: 2018-07-10 10:28:57

---
title: CSS input checker
published: true
description: an easy CSS trick
tags: #css,#placeholder,#beginner
cover_image: https://cdn-images-1.medium.com/max/1600/1*YuzakcmBI7vlrwuWdkIeUA.jpeg
---

#Easy stuff... cool result

Here we're going to use:

:not()

>The :not() CSS pseudo-class represents elements that do not match a list of selectors. Since it prevents specific items from being selected, it is known as the negation pseudo-class.

:placeholder-shown

>The :placeholder-shown CSS pseudo-class represents any <input> or <textarea> element that is currently displaying placeholder text.

## Check input with CSS

If we use those together with an input (with a placeholder), like this:

`input:not(:placeholder-shown)`

we can manage stuff on the page, we want to show, **only** when there's something in the input form, **without using Javascript**.

<center>HTML</center>

```html

<input placeholder="My Placeholder">
<div class="text">Now... you can see me</div>

```
<center>CSS</center>

```css
   
.text{
      opacity: 0;
     }

input:not(:placeholder-shown) + .text{
      opacity: 1;
     }

```

(The **+** selector will catch the `.text` placed immediately after the `input`) 

With that we're _hiding_ the `.text`, just to show it when `input` got no placeholder anymore, so, when we're writing over it!

![cool](https://media.giphy.com/media/l4KhStwfccoc7t6IU/giphy.gif)
What are your sources for daily knowledge chunks?
Tags: discuss
Published: 2018-07-10 09:16:30

---
title: What are your sources for daily knowledge chunks?
published: true
description: Resources 
tags: discuss
---

Greetings Dev.to community!

Following are the blogs/sites that I follow daily for my daily learnings:

<a href="https://dev.to/">Dev.to</a>

<a href="https://www.technotification.com/">Technotification</a>

Bonus (Most of you must be aware of these already):

<a href="https://blog.codinghorror.com/">Coding Horror</a>

<a href="https://www.joelonsoftware.com/">Joel On Software</a>


What are yours? I would love to know in the discussion!
WindowsにGitを導入する方法
Tags: git, beginners
Published: 2018-07-10 09:11:29

---
title: WindowsにGitを導入する方法
published: true
description: WindowsにGitを導入する方法を説明します。
tags: git,beginner
---

Windows環境へのGitのインストールについて説明します。


筆者の環境は

- Windows7 32bit
です。

まず

https://git-scm.com/downloads

にアクセスし、

windows用のgitを選択します

![windows](https://thepracticaldev.s3.amazonaws.com/i/kgatgdt30lpb45tmauw6.PNG)

ダウンロードが始まるので、終わり次第インストーラをクリックします。

インストーラの初期画面でGPIの同意画面がでてきますので

![GPL](https://thepracticaldev.s3.amazonaws.com/i/i90qu2ba5qol5zejw0l4.PNG)

よく読んでから「next」をクリック

ダウンロード直下のフォルダを選択します。  
今回はC直下としました。

![git](https://thepracticaldev.s3.amazonaws.com/i/a0prcqrfy544i5zruz57.PNG)

「Next」ボタンを押します。

ダウンロードするコンポーネントを選択します。

![a](https://thepracticaldev.s3.amazonaws.com/i/bu2vz5eox9o3hxluif9h.PNG)

ひとまずデフォルトのもので進めます。「Nexボタンを押します。」

スタートメニューを作成するかどうかを聞いてきます。

![スタートメニュー](https://thepracticaldev.s3.amazonaws.com/i/4del67ox2ejhmdlb3qja.PNG)

筆者はとりあえずそのまま進めますが、不要な方は外してください。「nextボタンをクリック」

giteditorを選択する画面です。デフォルトでvimとなっていますが、  
初心者はvimを使うのが難しいので、とりあえずnanoに変更しています。

※もちろんvimが好きな方はvimを選んでください。

![vim](https://thepracticaldev.s3.amazonaws.com/i/10cd0o396dqe3irivzxv.PNG)

notepad++を持っている方はそちらを選択するのもいいかもしれません。

改行コードの扱いを選択します。

![改行](https://thepracticaldev.s3.amazonaws.com/i/cjkt4kb6fmhe3s8bobxv.PNG)

とりあえずデフォルトのまま進めます。

TLSのライブラリを聞いてきます。

![TLS](https://thepracticaldev.s3.amazonaws.com/i/j1s6tswxcls1gqe8r2d1.PNG)

デフォルトのオープンSSLを選択して「Next」をクリックします

改行の変換を聞いてきます。

![kaigyou](https://thepracticaldev.s3.amazonaws.com/i/5b8ymx9mzlk2xnc1hxho.PNG)

とりあえず、クロスプラットフォームでの開発は行わないので  
Windows環境推奨の一番上を選択しましょう。

利用するコンソールを聞いてきます。  
![console](https://thepracticaldev.s3.amazonaws.com/i/bwdoa0h92q9gysb3u2en.png)

今回はcygwinなどは使わないのでwindowsのcmdを使います。

下のチェックボックスを選択して「Next」をクリック

configファイルの設定です

![conf](https://thepracticaldev.s3.amazonaws.com/i/uswpn5cc9v28zml759ce.png)
デフォルトのまま「Install」を押します

しばらく待つと、Gitがインストールできました。  
![git](https://thepracticaldev.s3.amazonaws.com/i/39lxtu0l04181vdjxq32.png)
What type of coder are you?
Tags: devops, coder, programmer
Published: 2018-07-10 08:31:25

---
title: What type of coder are you?
published: true
description: types of coders in the industry 
tags: devops, coder, programmer
---

BTW, six types of coders I know. What type of coder are you? 
Share in the comments. Let's see what type is the majority. 

![Types of coders](https://thepracticaldev.s3.amazonaws.com/i/ouh6kjtttzx7ddjoq4i7.png)
I thought LevelDB is a good one, so I made client command with Go.
Tags: go, leveldb
Published: 2018-07-10 04:41:34

---
title: I thought LevelDB is a good one, so I made client command with Go.
published: true
description: go-leveldbctl
tags: [go, leveldb]
---

Suddenly, I looked for KVS that can be used as a library like SQLite and found it in LevelDB.

{% github google/leveldb %}

It was a pleasure to use plyvel of Python's LevelDB library, but I decided to create a client command because I don't want to not write Python every time to retrieve a list or list of keys or to delete unnecessary keys.

And here is the one.

{% github yuuichi-fujioka/go-leveldbctl %}

It can be used by installing with go get.


```
$ go get github.com/yuuichi-fujioka/go-leveldbctl/cmd/leveldbctl
$ leveldbctl -h
NAME:
   leveldbctl - A new cli application

USAGE:
   leveldbctl [global options] command [command options] [arguments...]

VERSION:
   0.0.0

COMMANDS:
     init, i    Initialize a LevelDB
     walk, w    Walk in a LevelDB
     keys, k    Search all keys in a LevelDB
     put, p     Put a value into a LevelDB
     get, g     Gut a value from a LevelDB
     delete, d  Delete a value from a LevelDB
     help, h    Shows a list of commands or help for one command

GLOBAL OPTIONS:
   --dbdir value, -d value  LevelDB Directory (default: "./") [$LEVELDB_DIR]
   --help, -h               show help
   --version, -v            print the version
```

## How to Use

It can initialize and CRUD operation, assuming that the current directory is a directory of LevelDB. (Specific directories may be set as LevelDB with the options `--dbdir` or `-d`)

Initialize with `init`, make it with `put`, get it with `get`, delete it with `delete`.

```
$ leveldbctl init   #  Initialize. Several files are created.
./ is initialized as LevelDB
$ leveldbctl get aaa  # When a key is not exist in db, it is displayed that it cannot be found.
aaa is not found.
$ leveldbctl put aaa bbb  # Put bbb into aaa.
put aaa: bbb into ./.
$ leveldbctl get aaa  # Got bbb
bbb
$ leveldbctl delete aaa  # Delete it.
aaa is deleted
```

`walk` can output all key values,` keys` can output all keys.

```
$ leveldbctl keys
egg
foo
hoge
$ leveldbctl walk
egg: spam
foo: bar
hoge: fuga
```

## Misc

* I tested it On Mac OS High Sierra and Ubuntu 16.04.4 LTS.。
* CLI is implemented using `github.com/urfave/cli`.
* LevelDB operation uses `github.com/syndtr/goleveldb/leveldb`.