teleren/devto huggingface dataset:
Better productivity through consistent workspace management
Tags: productivity, tools, workspace
Published: 2017-11-07 21:47:42

---
title: Better productivity through consistent workspace management
published: true
description: Be consistent with where you put your tools.  It makes managing things a lot easier
tags: productivity, tools, workspace
---
Forgive me for the odd title.  It's really a lot simpler than it sounds.  Allow me to explain:

When woodworking, there's a few things that you learn either by doing yourself, or by watching someone else with a lot more experience.  You learn things like:

* After you are done using your pencil, always put it back in your pocket or work belt.
* Always keep your measuring tape in the same place.  You may even go so far as to attach a magnet to it, so that you can stick it to a particular metal panel screwed on the wall.
* Clean up any sawdust after finishing a job.

By learning to be consistent with your tools and the area that you work in, you don't need to spend time hunting for the measuring tape or cleaning up from a previous job before you can begin your next task.  This same thing applies to the digital world.  By being consistent with how you use your tools, you will always know where to find them, and what state they are in.  I see a lot of newer developers struggle with this.

Depending on the kind of work I'm doing, I'll often lay out my Windows a certain way.  For example, on my two-monitor setup at work (where I do Python/Django development), on my left monitor I'll have a maximized Outlook window open (with notifications disabled), Slack (not maximized, but located in the bottom-center of the monitor), a Windows Command Prompt maximized to the right half of that monitor, a minimized Sublime window for when I need to compare two .py files, and a Notepad document containing notes that I write throughout the day.  (Sometimes I will also have a few other windows minimized - PgAdmin, Skype, Putty - maximized to the left half of the window, and a PowerShell window open running UI code).  On the right monitor I will have Chrome, File Explorer, and another Sublime window.  Within Sublime, I always try to keep whatever document I'm working on as the left-most tab, and other documents open in other tabs for reference.  With Chrome, I keep the left-most tab open for GitHub pull requests, then other tabs.

At home, my layout is a bit different.  If I'm doing ASP.Net development, I'll have SQL Server Management Studio open on the left monitor, Visual Studio open in the middle monitor, and Chrome open on the right monitor.

The trick here is:

1. Find what works for you.
2. Be consistent with it.

By being consistent with how you treat your workspace, you'll spend a lot less time fumbling around looking for your tools and more time using them.
Any suggestions for books to learn Functional Programming Paradigm
Tags: discuss, functional, books
Published: 2017-11-07 21:37:14

---
title: Any suggestions for books to learn Functional Programming Paradigm
published: true
description: Need some recommendations to learn functional programming
tags: discuss, fp, books
---

Hi All, 

As part of our educational program in my company, we have been reading books related to engineering practices. So far we have finished the following books, 

1. Code Complete 2, 
2. The Pragmatic Programmer, 
3. Learning Agile (O'Reilly), 
4. Adaptive Code (Microsoft Press)

We are small team of developers who works on iOS(moving to Swift), Android(Java, fighting for kotlin introduction), MEAN stack for web apps & services(Javascript duh!). 

Can someone recommend any good books on Functional Programming Paradigm that you read and found useful?. 

A quick search on internet throws bunch of books on Scala/Haskell. Language isn't too much of a challenge, however if there's any book on Javascript that would be great.
GitHub API Tester Tour:  CRUD
Tags: ruby, api, testing, github
Published: 2017-11-07 17:42:54

---
title: "GitHub API Tester Tour:  CRUD"
published: true
description: 
tags: #ruby #api #testing #github
---

A new stop on the GitHub API tester tour: CRUD. Shows how a data object offers convenience instance methods <code>create</code>, <code>read</code>, <code>update</code>, and <code>delete</code>:
<ul>
	<li><a href="https://github.com/BurdetteLamar/RubyTest/blob/master/examples/github_api/tester_tour/md_files/Crud.md/#data-object-crud">New tour stop: Data Object CRUD</a></li>
	<li><a href="https://github.com/BurdetteLamar/RubyTest/blob/master/examples/github_api/tester_tour/md_files/Overview.md/#overview">Tour first stop</a></li>
	<li><a href="https://github.com/BurdetteLamar/RubyTest">RubyTest home page</a></li>
</ul>
Rubber Ducky
Tags: security, hack, duck
Published: 2017-11-07 16:05:32

---
title: Rubber Ducky
published: true
description: what is a rubber Ducky and how to use it.
tags: security, hack, duck
---

You might have heard about the technique of Ducky debugging in which you tell a rubber ducky your dev problems and then you know how to solve them, but this is not the case, we are talking about _nasty_ duckies here, not cute problem solvers ones. 

Regardless the name, Rubber Ducky is the name of a hacking injection device that consist in a pen drive and a micro SD. The pack itself also comes with the case, and a couple of USB adapters.

![](https://cdn-images-1.medium.com/max/800/1*LxlmHycPbysH9w3ezFnEzw.jpeg)

The device imitates the human keyboard input, “Humans use keyboards. Computers trust humans prays the motto. The process is simple, in the micro SD we save a program called “inject.bin that we previously generated based in a code. We connect the micro SD in the duck and connect the code in the targeted computer, then it will make its magic.

![](https://cdn-images-1.medium.com/max/800/1*0dFQs9g3YLSiy64yxBN_4Q.jpeg)

Not long ago a friend of mine described hackers as some kind of _magicians_. They do their thing and no one knows how they do it, there’s a trick behind the curtain and you feel far away from knowing the truth. The trick in this case is fully documented on the [Github Wiki](https://github.com/hak5darren/USB-Rubber-Ducky/wiki), which explains how to write the code that afterwards will be encoded.

This is the official Command Breakdown

    DELAY x — Delay in milli-secs
    STRING xyz — types following characters
    GUI — Windows Menu Key
    GUI r — Windows Run box
    COMMAND — OSX Command Key
    UP | UPARROW — Up Key
    DOWN | DOWNARROW — Down Key
    LEFT | LEFTARROW — Left Key
    RIGHT | RIGHTARROW — Right Key
    CAPS |CAPSLOCK — Capslock Key
    ENTER — Return/Enter key
    SPACE — Spacebar
    REPEAT x — Repeat previous command X times.

You can even use some (but not all) two or three key-combinations:

    SHIFT-ENTER
    CTRL-ALT-DEL
    ALT-F4

With this and some knowledge of the Operating System we will be injecting the duck in, should be enough to make the easiest steps. Of course the responsibility of your actions are totally under you, this device could be used as a tester, as a social engineering companion or as a weapon. That’s up to you.
The importance of Human security
Tags: security, discuss, education
Published: 2017-11-07 15:45:58

---
title: The importance of Human security
published: true
description: Should we teach security to non-tech proffesionals in order to protect data? 
tags: security, discuss, education
---

I'm a very chaotic person, and I tend to forget the date for returning books to the library, for example. The last time I went to the local library, I wanted to take out a book, but apparently my library id-card was very old (I still had the junior card) and the new library assistant asked me to change it. In the process, I felt quite insecure to whom I was **giving my information to**. To start with, all the system seemed to rely on **windows 95**, which already gave me the thrills, but apart from that, all the process (mid digital, mid paper writing) seemed poor. 

So, after a big sigh I asked the assistant "_Do you have any clue on how data protection works in this place?_" I tried to be polite and smiled, in a hope to get just a phrase of "_sure! It's secure and the data relies on X institution, if you have any complaiment blah blah_". I got a "_sure it's secure!_" firstly, but instead of the administration speech, the assistant apparently had a wide knowledge of the Data Base system (I was surprised) but even more surprised when the assistant gave me precise information about tokens and relations in the database. I had encountered feelings: I was so happy that the woman spent some time learning about the system and how it works (I'm a fierce defender of tech learning) but on the other side she was basically giving me a manual on "How to easily hack the database".

So it made me thought, **can human error (where social engineering enters) be partly avoided by teaching security to non-tech professionals in every job tech has a role?** maybe tech education is already a part of professional education in companies and institutions but security is not, **could it be even more dangerous to give tech resources to these professionals without security advise?** Maybe this could lead in a brand new security professional oportunities. **Do you have a security education plan where you work?** I think this might be even more important when working with personal clients information.
On-demand software consulting?
Tags: meta, discuss, ideas
Published: 2017-11-07 14:42:03

---
title: On-demand software consulting?
published: true
description: 
tags: meta, discuss, ideas
---

I've been batting this around in my head. I've partaken in a few video calls with consultants that lasted anywhere from 30 mins to several hours and they are always super valuable. Consulting with someone with a specific expertise, or even just an outside opinion is always valuable.

But the overhead of setting up the consulting, even free consulting with a friend, is a hassle. So we don't do it nearly as often as we'd like to. And because of the overhead, the consultant needs to charge a lot to make up for the hassle.

I just set up a meeting via Calendly and it was such a huge relief to not have to go back and forth to find a time that worked for both of us. This is such an underestimated issue.

I think consulting sometimes gets a bad rap because of all the overhead and sales involved. If I could browse the available devs and hop into a quick screen share, I'd be pretty excited to make use of it.

Anyway, I wonder what people think of the idea of integrating a feature that enables a Calendly-esque consulting scheduling over [dev.to](/). This is nothing we'd break ground on tomorrow or anything, but it's a thought I'd had and I felt like bringing it up to the community as an idea. It could lower the barrier to hop on a chat or pair programming session with an expert.
What a Year.
Tags: beginners, life, bootcamp
Published: 2017-10-23 19:05:55

---
title: What a Year.
published: true
description: Update on the past year and finishing code bootcamp.
tags: beginner, life, bootcamp
---

What a year it has been. October 10th, 2016 is when I started my online coding apprenticeship / mentorship / bootcamp / whatever you want to call it, and it has been a non-stop crazy roller coaster of a journey ever since.

I have so many emotions right now of relief, stress, happiness and anxiety. The feeling of being finished with this program is such a sigh of relief. For the past year, once a week, every Thursday at 7pm I met with my mentor. On top of that, I would try to put at least one hour of work towards my bootcamp everyday and now, I’m done. What am I going to do now?

This leads into my stress and anxiety feeling of, “Oh crap, now I need to find a job with what I learned, now I have to continue learning and pushing myself without the help of a structured course.”

However, this does lead to some excitement of whats to come and all the new things I will learn and be able to do because of the hard work I’ve put in over the last year. I have learned a lot about myself and how I learn, I know the basics of programming and from there, can really launch into teaching myself all sorts of languages and frameworks, the possibilities are endless.

Currently I am interning at a local web marketing company, but I know I need to start the job search for once this is over. I have already met with some recruiters that are excited to get me into a position and I have already been getting contacted from a few other companies wanting to chat about my skills.

I am very exited about what is to come and what this means for my family. If you’ve been following on my old blog, then you know, over the last few years I have been struggling on finding where I fit it career wise. For almost a decade I was pursuing the photography life until I realized that it is more of a passion of mine that can’t provide for my family.

This is how I found web developing. I have always been into tech and learning new things, so it seemed like a great fit, not to mention my background in graphic design is a huge plus in this field as well.

Heres to what the next year brings!
Only one thing truly matters. Push. Things. In. Production.
Tags: philosophy, delivery, passion, discuss
Published: 2017-11-07 13:14:17

---
title: "Only one thing truly matters. Push. Things. In. Production."
published: true
description: What else?
tags: philosophy, delivery, passion, discuss
cover_image: https://thepracticaldev.s3.amazonaws.com/i/4uhhw5qvuynox1z2uz5w.jpg
---

This post could be summarised as "Stop talking, start delivering" but it would be a little too simplistic. It's a small "what do you feel?" post to see whether my feeling is shared among devs or not.

My feeling is this. We are overwhelmed with information, sometimes of great quality. And some good people spend hours writing very good starter tutorials, and I read them a lot here at dev.to but also in many other places (thanks to all). In some rarer cases, I find some really helpful articles that go well beyond "hello world" and is relevant to some of my current dev difficulties. Usually, I always find an answer to my problem. 

Moreover, I often feel I should also participate to this sharing: provide insightful readings to fellow devs, in blog posts where I expose the various problems I had in the past in my dev life. Or maybe give speeches in conferences. But what should I write/talk about? I tend to avoid having very specific problems, and if I stumble upon one, I look for working around it. (Okay sometimes, I have to [re-]write some third-party libs to fix stuff). 

I have one specific/personal problem though. I have giganormous personal projects. I am having monster fun at making them. But I can't afford having too difficult problems. I must be very efficient to actually deliver something. I've developed a kind of "code-as-as-unix-daemon" spirit, where I can start (and stop!) coding in no time, while still handling kids and family time... 

And this point of efficiency is so intense that this blog post is the first (and maybe the last?) of a long list of unfinished unpublished drafts about unclear subjects that will actually... be pushed "in production"! Because I have only one thing that matters, and that I really love: pushing my stuff in production.

And you? What's your feeling? Do you share some bits of what is described here?

P.S. For those interested in what I am doing, here is the visible parts of my ongoing current activity: https://www.arcsecond.io and https://api.arcsecond.io
Ask me to write about anything.
Tags: discuss, amtwaa
Published: 2017-11-07 10:59:58

---
title: Ask me to write about anything.
published: true
description: An experiment.
tags: discuss, amtwaa
---

Hi, I'm Bertil. 
I have worked as a consultant, trainer and coach for about 14 years. 
The roles I worked in include: scrum master, agile coach, programmer, tester, systems architect, requirements engineer, project manager, and others.

Here's the idea, it's a little twist of the original "Ask me anything" category.

Ask me to *write about* anything. Just suggest a topic in the comments that you are interested to learn more about.
I will pick one topic and write about it. Maybe more than one topic.

There's a caveat.
I am human, and it would be foolish to claim I know everything.
Chances are: in one or several of the roles I mentioned above, you have deeper knowledge than me. But I am always eager to learn.

So let's see how this little experiment goes.
Eureka Relief
Tags: vmware, share, discuss, eureka
Published: 2017-11-07 07:56:40

---
title: "Eureka Relief"
published: true
description: When your suffering ends by such a simple solution
tags: VMWare,share,discuss,eureka
cover_image: https://thepracticaldev.s3.amazonaws.com/i/rui5d5ukxij541gyixgd.png
---
I am working on a project where I develop a hybrid mobile application for Android and iOS, a single page web application and node.js with express for the backend. 

My main OS is windows 10 but I develop on Ubuntu linux running on a VMWare player. For a while now I've been feeling that the virtual machine running the Ubuntu system is laggy and after a bit of time working it became so slow, hardly responsive and annoying to work with. 

Yesterday, I found out that I was running the virtual machine with a single processor settings. Can't really remember if and when I changed that setting but changing it back to 4 processors made everything snappy and made my day :)

Small moments of relief. 

Any moments like this you can recall? When you thought how could I have suffered for so long with such a simple solution?
Learn Regular Expressions using Atom
Tags: regex, atom, beginners
Published: 2017-11-07 05:03:38

---
title: Learn Regular Expressions using Atom
published: true
description: Learn how to write regular expressions by experimenting in the Atom editor.
tags: regex, Atom, beginners
---

*This article was originally published on [programmingliftoff.com](http://programmingliftoff.com/) as [Learn Regular Expressions using Atom](http://programmingliftoff.com/learn-regular-expressions-using-atom/).*

This is a short little post with the goal of helping you to learn the elusive regular expressions!

This takes advantage of a built in regex feature in the Atom text editor. It may work in other text editors as well, so give it a try in your favorite text editor or IDE. If it doesn't work, you can <a href="https://atom.io/" target="_blank" rel="noopener">download Atom here</a> (don't worry, its free!).
<h2>Tutorial</h2>
First, create a new file in the Atom editor.

Next, type in a line of text. Here is the line I will be using <code class="highlight">(Hello). [World!]</code>.

Next type CMD+f (Ctrl+f on Windows) to open the find and replace utility.

Then select the 'regex' option to treat the search item as a regular expression (see red arrow below).

<img class="wp-image-255 size-medium" src="http://programmingliftoff.com/wp-content/uploads/2017/11/AtomRegexOption-1-300x181.png" alt="Image of Atom Regex Option" width="300" height="181" />

Finally, highlight the line of text that you typed and press CMD+f (Ctrl+f on Windows). The search box should update to display your selection formatted as a regular expression.

<img class="size-full wp-image-257" src="http://programmingliftoff.com/wp-content/uploads/2017/11/Atom-Regex.png" alt="Image of Atom Regex in 'find and replace' utility" width="262" height="87" />

Congratulations!Â  You now know how to use Atom to build regular expressions for you!
<h2>Understanding the generated expression</h2>
Recall that the original string wasÂ `(Hello). [World!]`.Â  Parenthesis and brackets are special symbols in regex, so they must be escaped with theÂ `\` character.Â  Note that a period `.` is also a special regex character.Â  This is one of the most misused characters in regex, because a period by itself will match any character!Â  Simply typing aÂ `.` to match a period in a string will match that string, but it will also match any string that contains any other character in place of the period.
<h2>Limitations</h2>
This only works for one-line expressions. :(Â  Even magic has its limits :).
<h2>Additional links</h2>
<a href="https://regexone.com/">https://regexone.com/</a> - An awesome interactive tutorial for learning regular expressions.

<a href="https://regex101.com/">https://regex101.com/</a> - A regex tester. You must know the regular expression, or try typing regular expressions until they match the example text you entered.

<a href="http://amzn.to/2yabQ0p">Mastering Regular Expressions</a> - Great book to learn how to write regular expressions. (This is an affiliate link.)
Мгновенный ajax-поиск на Laravel и Vue
Tags: php, laravel, vue, search
Published: 2018-01-30 01:24:16

---
title: "Мгновенный ajax-поиск на Laravel и Vue"
published: true
tags: php, Laravel, vue.js, search
canonical_url: http://phpprofi.ru/blogs/post/75
---

_**Мгновенный поиск является довольно популярной фичей на сайтах и в приложениях. В этом посте мы постараемся охватить ключевые моменты реализации поиска в реальном времени с такими функциями, как подавление "дребезга" или подсветка результатов.**_

![](http://phpprofi.ru//resources/img/blogs/c014d7e9-f82e-4899-9ec5-95402b80ce88.jpeg)

## Пролог: официальный пакет для реальной работы

Если вам нужен аккуратный и хорошо поддерживаемый вариант поиска Eloquent-моделей, то Laravel предоставляет для этого официальный пакет. [Laravel Scout](https://laravel.com/docs/5.5/scout) является пакетом основанным на технике драйверов и реализующий полнотекстовый поиск по Eloquent-моделям. В настоящее время&nbsp;в качестве драйвера он поддерживает только [Algolia](https://www.algolia.com/), но вы можете легко использовать собственный драйвер поиска.

## Приступая к работе

В результате должно получиться следующее: мы набираем что-то в поле ввода и отправляем на сервер AJAX-запрос с заданными ключевыми словами. На&nbsp;back-end-е мы получаем ключевые слова и достаём модели, которые соответствуют данному запросу.

Т.к. то, что мы хотим описать в статье - это не более чем демонстрация, то back-end и front-end будут достаточно простыми. Что мы действительно хотим здесь подчеркнуть - ключевые моменты и фичи, которые делают поиск более удобным.

Читать далее: http://phpprofi.ru/blogs/post/75
createImageBitmap polyfill for Safari and Edge
Tags: javascript
Published: 2017-11-07 01:32:46

---
title: createImageBitmap polyfill for Safari and Edge
published: true
description: They don't have it
tags: javascript
---

Chris Coyier, the developer behind [css-tricks.com](https://css-tricks.com/) recently tweeted:
{% twitter 925081793576837120 %}

And so I'm about to do exactly that. I've been working on a web app game recently and I was bringing in some images dynamically using the Fetch API, and then drawing them on to a `<canvas>`. My simplified version of what I was doing was this:

```js
async function getPicture(url) {
    return fetch(url)
    .then(x => x.blob())
    .then(x => createImageBitmap(x));
}
```

This worked great on Chrome. And not anywhere else for some reason. Even though [ImageBitmap](https://developer.mozilla.org/en-US/docs/Web/API/ImageBitmap) is in [the HTML spec](https://html.spec.whatwg.org/multipage/webappapis.html#imagebitmap).

And so after a really long time, I came up with the following polyfill:
{% gist https://gist.github.com/Nektro/84654b5183ddd1ccb7489607239c982d %}

Feel free to use it anywhere you like, and save yourself the headache that I've had for so long.

**Edit:** ImageBitmap works on Firefox, but recently I've been using [ES6 Modules](https://caniuse.com/#feat=es6-module) as well, which aren't enabled in Firefox by default at the time of this writing.