teleren/devto huggingface dataset:
The 7 Most Popular DEV Posts from the Past Week
Tags: top7, bestofdev
Published: 2018-12-24 22:10:53

---
title: The 7 Most Popular DEV Posts from the Past Week
published: true
description: A round up of the most-read and most-loved contributions from the community this past week.
tags: icymi, bestofdev
cover_image: https://thepracticaldev.s3.amazonaws.com/i/sfwcvweirpf2qka2lg2b.png
---
Every Monday we round up the previous week's top posts based on traffic, engagement, and a hint of editorial curation. The typical week starts on Monday and ends on Sunday, but don't worry, we take into account posts that are published later in the week. ❤️

#1. ⭐ 19 for 2019 ⭐

Emma has compiled a wonderful list of tips for software engineers as we all look ahead to next year.

{% link https://dev.to/emmawedekind/19-tips-for-software-engineers-in-2019-4okm %}

#2. 🐪 DRY is out, WET is in 💧

An alternative ideology that seeks to avoid premature optimization.

{% link https://dev.to/wuz/stop-trying-to-be-so-dry-instead-write-everything-twice-wet-5g33 %}

#3. 🍔 Hamburger Menu Mistakes 🍔

Jared explains what the NYTimes gets wrong, and what Wikipedia / Disney get right. 

{% link https://dev.to/tongrhj/the-mistake-developers-make-when-coding-a-hamburger-menu-1deg %}

#4. 🔲 Brutalist Web Design  🔲

A rebellion against the modern web.  This makes me super nostalgic for Geocities and that era of the internet.

{% link https://dev.to/lewismenelaws/brutalist-web-design-a-breath-of-fresh-air-in-the-modern-web-2jk5 %}

#5. 🏎 Productivity Pro 🤓 

A great collection of tips to make you more productive in Visual Studio Code.  Definitely worth checking out 👌🏽

{% link https://dev.to/teamxenox/pro-tips-for-visual-studio-code-to-be-productive-in-2018--1jek %}

#6. 🏁 Grid vs. Flex 💪

A look at the differences, and some considerations to review as you think through the layout of your site.

{% link https://dev.to/lewanderer/css-grid-vs-flexbox-1koi %}

#7. 🌌✨💩 Emoji Commits 💩✨🌌

Spice up your routine with this VS Code Extension that helps you create Gitmoji commit messages.

{% link https://dev.to/benjaminadk/something-someone-somewhere-uses-sometimes-1kab %}

_That's it for our weekly wrap up! Keep an eye on dev.to this week for daily content and discussions...and if you miss anything, we'll be sure to recap it next Monday!_
Seeing ugliness in the Wild, Wild Web.
Tags: frontend, webdesign, webdev, discuss
Published: 2018-12-24 21:48:41

---
title: Seeing ugliness in the Wild, Wild Web.
published: true
description: How to deal with terrible looking websites?
tags: #frontend #webdesign #webdevelopment #discuss
---
###How to deal with terrible looking websites?
As a soon to be graduating Computer Science student, it's time for me to begin job hunting. Go to LinkedIn and type in front-end web developer position and select Internship or Entry level and go through each job posting to see if you are qualified to apply.

Sometimes you will come up with something that matches what you are looking for. Sure, it's unpaid, but at you might get the mentorship you are looking for, all the while building your startup on the side. Before you apply, you decide to check the company out. You will definitely want to know where you will be doing your internship.

Turns out the website for the company is stuck in 2008, and on LinkedIn, it says they are looking for a web developer intern... You see what's going on... right?

###So what do I do?

Do I reach out as a freelancer and ask them if they are looking for a redesign? It might help. I want to be a freelancer.

Or do I take the job? I tried calling and emailing them... it's been a month and no reply whatsoever.

This isn't just one experience that I have had, there has been several. After going through these websites, I estimated that it might take me 2-3 days to come up with a good intuitive design and 4-5 to build a completely mobile responsive static site.

My college professors also have terrible websites. How would I approach them? (Don't worry... I got As in all their classes). It might be a good way to earn some money. 

**If anyone could help me out, that would be awesome. Also, first time posting. Yay!**
api-routerd
Tags: linux, systemd, remotemanagement, restapi
Published: 2018-12-24 21:31:00

---
title: api-routerd
published: true
description: A super light weight remote management tool which uses REST API for real time configuration and performance as well as health monitoring for systems (containers) and applications. It provides fast API based monitoring without affecting the system it's running on.
tags: #Linux #systemd  #remotemanagement #restapi
---

bit.ly/2Rexr4r
Show your editor!
Tags: discuss, editor, vim
Published: 2018-12-24 17:04:35

---
title: Show your editor!
published: true
description: 
tags: discuss, editor, vim
---

My Neovim is

![My Neovim](https://cdn.discordapp.com/attachments/526806848343506948/526807201356972032/lol.png)

So clean. I love it!
Is there a good explainer for bash profiles and paths?
Tags: beginners, help
Published: 2018-12-24 16:42:08

---
title: Is there a good explainer for bash profiles and paths?
published: true
description: I've recently started playing with Jekyll and other Ruby static site generators, so I'm looking for a good explainer on bash profiles and paths.
tags: beginners, help
---

I've recently started playing with Jekyll and other Ruby static site generators, which has resulted in me needing to add things to my path. I realised that I didn't really know what that meant or whether I was doing it correctly, therefore I'm looking for a good explainer on bash profiles and paths.

Thanks in advance!
dev.to is the best new topic site
Tags: meta
Published: 2018-12-24 15:22:01

---
title: dev.to is the best new topic site
published: true
description: meta
tags: meta
---

https://techcrunch.com/2018/12/23/the-year-social-networks-were-no-longer-social/

Tech Crunch has this article about how FB and presumably all of the non-specific topic sites don't have the same feel and aren't generally as good for communicating or community building.

dev.to is the best new private community for software developers and it came to my mind first while reading this article. I never could get into the discussions or over the poor UI of the phpBB forums of which the author writes. It was just too much.

Thanks dev.to for being the best new topic site and filling a much needed hole.
Any thoughts on Ruby 2.6?
Tags: discuss, ruby
Published: 2018-12-24 14:18:52

Ruby 2.6.0-rc2 has been released and the stable should be around the corner.

[This](https://anamaria.martinezgomez.name/2018/12/21/ruby2_6.html) is a nice post going over some of the new stuff.

Any thoughts here?
Best Serial to Ethernet solutions on the market
Tags: ethernet, tcpip, virtual
Published: 2018-12-24 12:56:08

---
title: Best Serial to Ethernet solutions on the market
published: true
description: 
tags: Ethernet,TCP/IP, Virtual 
---


In this serial to Ethernet guide, you’ll find information about the latest developments and solutions in the field of serial communications. We’ll tell you how to share serial devices over Ethernet using the most advanced software and hardware tools. You’ll get the chance to compare the advantages of different products and make a deliberate choice.

You want to find out alternatives and types of software and hardware tools, all you can find and learn in this article:

https://www.virtual-serial-port.org/article/best-serial-over-ethernet-tools/
Export annotations and retrieve document pages using C# .NET Annotator API
Tags: net, annotator, api, image
Published: 2018-12-24 11:24:33

---
title: Export annotations and retrieve document pages using C# .NET Annotator API
published: true
description: post
tags: .NET, Annotator, API, Image
---

Most recent monthly release of the .NET document annotator API allows applications developers to redeem document pages with or without the annotations, export specific annotation type and range of pages while annotating documents or images on .NET platform. Other highlights from version 18.12 of GroupDocs.Annotation for .NET are important enhancements such as adding text replacement for grouped shapes and a number of fixed issues – http://bit.ly/2T5VBeQ

Following code sample illustrates how you can obtain annotations from a JSON file and export them to a PDF document:

`// Create instance of annotator. 
AnnotationConfig cfg = CommonUtilities.GetConfiguration();
AnnotationImageHandler annotator = new AnnotationImageHandler(cfg);
// Get file stream
Stream manifestResourceStream = new FileStream(CommonUtilities.MapSourceFilePath(filePath), FileMode.Open, FileAccess.ReadWrite);
List<AnnotationInfo> annotations = new List<AnnotationInfo>();
Stream stream = annotator.ExportAnnotationsToDocument(manifestResourceStream,annotations, DocumentType.Pdf);
// Save result stream to file.
using (FileStream fileStream = new FileStream(CommonUtilities.MapDestinationFilePath("Annotated.pdf"), FileMode.Create))
{
    byte[] buffer = new byte[stream.Length];
    stream.Seek(0, SeekOrigin.Begin);
    stream.Read(buffer, 0, buffer.Length);
    fileStream.Write(buffer, 0, buffer.Length);
    fileStream.Close();
}`

YouTube video tutorials of the .NET API – http://bit.ly/2Sod3vn
BxJS Weekly Episode 42 - javascript news podcast
Tags: javascript, node, podcast, news
Published: 2018-12-24 11:01:14

---
title: BxJS Weekly Episode 42 - javascript news podcast
published: true
description: Listen to the best javascript news of the week in a podcast form
tags: javascript, node, podcast, news
---

Hey dev.to community!

BxJS Weekly Episode 42 is now out! 🚀
Listen to the best javascript news of the week in a podcast form right here.
You can find all the mentioned links [here on github](https://github.com/BuildingXwithJS/bxjs-weekly/blob/master/links/18-51-Episode-42.md).


You can also watch or listen to this episode on:
- [YouTube](https://youtu.be/0r8DtCfjA4c)
- [Castbox](https://castbox.fm/episode/BxJS-Weekly-Ep.-42-Dec-22%2C-2018-(javascript-news-podcast)-id1378315-id113402851?country=us)
- [iTunes](https://itunes.apple.com/de/podcast/bxjs-weekly/id1441956525)

Any feedback is appreciated 😁

Additional stuff:
- [Twitch channel](https://www.twitch.tv/yamalight)
- [Discord server](https://discord.gg/hnKCXqQ)
- [BxJS Weekly github repo](https://github.com/BuildingXwithJS/bxjs-weekly)

Social media links:
- [Twitter](http://twitter.com/yamalight)
- [Medium](https://medium.com/@yamalight)
- [Github](http://github.com/yamalight)

If you enjoy my content, please consider [supporting me](https://codezen.net/support.html) 😉
Developer Bundle will take you to 2019 right now!
Tags: sqlserver, databasedevelopment, sqlservertools
Published: 2018-12-24 09:48:28

---
title: Developer Bundle will take you to 2019 right now!

published: true
description: Devart always tries to provide the best opportunities for managing databases to its users. Today we are thrilled to inform SQL Server users that our Developer Bundle now fully supports the connection to SQL Server 2019!  Moreover, our bundle includes all the necessary tools for creating, managing and processing big amounts of SQL data
tags: sql server, database development, sql server tools
---

Devart always tries to provide the best opportunities for managing databases to its users. Today we are thrilled to inform SQL Server users that our Developer Bundle now fully supports the connection to SQL Server 2019!  Moreover, our bundle includes all the necessary tools for creating, managing and processing big amounts of SQL data

https://blog.devart.com/developer-bundle-will-take-you-to-2019-right-now.html
Merry Christmas Dear Developers
Tags: holiday, developer, software, web
Published: 2018-12-24 08:40:43

---
title: Merry Christmas Dear Developers
published: true
description: Why don't we take time off and enjoy Christmas holidays with our loved ones.
tags: #holiday #developer #software #web
---
![Merry Christmas](https://thepracticaldev.s3.amazonaws.com/i/a1j89rg95qq2lq8k6wly.png)

## Merry Christmas to My Dear Developers!

It's been a rough year for all of us, but in **2018** we learn so many things, experimenting, and doing so many projects as well. Maybe some of you have unfortunate events in your life. Don't worry, like they always say *"Bad things won't last forever"*, and today until New Year let us take a break and enjoy our times together with our family, friends and loved ones before we go to work again and become a better version of ourselves in **2019**!


*"2018 is all about learning and 2019 is time for executing"*

Join [My telegram Channel] (https://t.me/theprogrammersclub) and don't miss out any news!
Get object 1 level-down type programmatically in TypeScript
Tags: typescript
Published: 2018-12-24 08:29:04

---
title: Get object 1 level-down type programmatically in TypeScript
published: true
description: 
tags: typescript
---

We would like to get object value type.

Assume this object: 

```ts
const query = {
  getUserAndBook: {
    user: {
      name: 'acro5piano'
    },
    book: {
      name: 'acro5piano'
    }
  }
}
```

If we would like to get typeof `query.getUserAndBook` programmatically, we can write like this:

```ts
type Query = typeof query.getUserAndBook
```

But if the key of `query` (this time `getUserAndBook`) may vary, how to pick the type of it?

...We can do:

```ts
export type GetObjectOneLevelDownType<T extends {}, K extends keyof T> = {
  value: T[K]
}['value']
```

The trick is that we explicitly set `value` property and pick it.

The following much simple code does not work:

```ts
type GetObjectOneLevelDownType<T extends {}, K extends keyof T> = T[K]
```
What's in a name? Job Titles
Tags: discuss, career
Published: 2018-12-24 08:24:11

---
title: What's in a name? Job Titles
published: true
description: Job titles, what do you like or hate about them. Are you the devops ninja, or the rockstar frontend designer?
tags: discuss, career
cover_image: https://thepracticaldev.s3.amazonaws.com/i/3r2gaiahksm5egpy46dk.jpg
---

Lets talk about job titles. Almost everybody has one. Some companies use traditional titles, while others hand out titles which sound like they belong in a museum.

It is a common question when you are around family which you don't see very often "So... what do you do?". Answering with your job title pretty much always ends with a blank stare. Even among peers you often have to explain what activities are involved in your jobs.

So what are the most noteworthy or remarkable titles you've had? What did you like or hate about them?
AoC Day 24: Immune System Simulator 20XX
Tags: adventofcode, discuss
Published: 2018-12-24 06:11:32

---
title: "AoC Day 24: Immune System Simulator 20XX"
published: true
description: "Day 24: We're simulating an immune system battle with hit points and types and everythin!"
cover_image: https://thepracticaldev.s3.amazonaws.com/i/ybyoc352rs9qlf2pn2zc.png
tags: adventofcode, discuss
series: Advent of Code 
---

Christmas Eve!  I'm super excited.  Along with the anticipation for tomorrow, we also get the challenge for [Day 24](https://adventofcode.com/2018/day/24) where we are simulating an immune system battle raging inside a reindeer!

Each side -- immune system and infection -- has armies made up of units with different hit points, attack points, type strengths and weaknesses, not unlike some beloved animated battle monsters.  We need to figure out how to help this reindeer get better!
Encryption and Hashing
Tags: encryption, hashing
Published: 2020-09-22 10:26:19

---
title: Encryption and Hashing
published: true
date: 2018-12-24 00:00:00 UTC
tags: Encryption,Hashing
canonical_url: https://www.loginradius.com/engineering/blog/encryption-and-hashing/
---

Both encryption and hashing have significant uses in cryptology and other fields. One defining difference between them is that encryption is reversible, while hashing is irreversible. Because of this, encryption is often used for protecting the confidentiality of data. Only…

   
[Read On](https://www.loginradius.com/engineering/blog/encryption-and-hashing/)
autoComplete.js library v2.0 RELEASED!
Tags: javascript, webdev, programming, showdev
Published: 2018-12-23 21:45:41

---
title: autoComplete.js library v2.0 RELEASED!
published: true
description: Simple autocomplete pure vanilla Javascript library.
tags: #javascript #webdev #programming #showdev
---

<p align="center">
	<a href="https://tarekraafat.github.io/autoComplete.js/">
            <img src="https://thepracticaldev.s3.amazonaws.com/i/n1k2imq19xtfw0tcrjuq.png">
	</a>
</p>

> Simple autocomplete pure vanilla Javascript library. **v2.0**

<a href="https://tarekraafat.github.io/autoComplete.js/" target="\_blank">autoComplete.js</a> is a simple pure vanilla Javascript library that's progressively designed for speed, high versatility and seamless integration with wide range of projects & systems, made for users and developers in mind.

An autocomplete search should feel like it’s making the user’s (End User & Developer) experience much faster, easier, more productive and more streamlined. Actually, it shouldn't feel like anything at all, the user should fly by autocomplete on their way to whatever it is they’re trying to search. That's why autoComplete.js designed and built on the following core principles.

- End User:
    - Simplicity
    - Intuitiveness
    - Usability
    - Speed

- Developer:
    - Lightweight
    - Customizable
    - Zero Dependencies
    - Seamless Integration
    - Scalable
    - Open Source


Have a look at the autoComplete.js [demo](https://tarekraafat.github.io/autoComplete.js/demo/), and let me know your thoughts! :)
GRPC on Node.js more simply
Tags: node, javascript, grpc
Published: 2018-12-23 21:42:47

---
title: GRPC on Node.js more simply
published: true
description: Introduce a library I made to use GRPC on Node.js more simply.
tags: node.js,javascript,grpc
---

When developing GRPC application on Node.js, we can use [`grpc`](https://www.npmjs.com/package/grpc) and [`@grpc/proto-loader`](https://www.npmjs.com/package/@grpc/proto-loader). Though these nice packages provides unified APIs to build GRPC server and client, they are too primitive for me to use directly in my application code. I want more simplified API such as `createServer` and `createClient`.

So, I am developing [grpc-kit](https://github.com/YoshiyukiKato/grpc-kit). It is a small wrapper library of `grpc` and `@grpc/proto-loader`. Ofcourse it provides `createServer` and `createClient`😆

Showing an example bellow.


**greeter.proto**

```proto
syntax="proto3";

package greeter;

service Greeter {
  rpc Hello (RequestGreet) returns (ResponseGreet) {}
  rpc Goodbye (RequestGreet) returns (ResponseGreet) {}
}

message RequestGreet {
  string name = 1;
}

message ResponseGreet {
  string message = 1;
}
```

**server.js**

```js
const {createServer} = require("grpc-kit");
const server = createServer();

server.use({
  protoPath: "/path/to/greeter.proto",
  packageName: "greeter",
  serviceName: "Greeter",
  routes: {
    hello: (call, callback) => {
      callback(null, { message: `Hello, ${call.request.name}` });
    },
    goodbye: async (call) => {
      return { message: `Goodbye, ${call.request.name}` };
    }
  }
});

server.listen("0.0.0.0:50051");
```
`createServer` returns an instance of wrapper class of `grpc.Server`. The class provides `use` method for adding a service to provide. You can declaratively configure the service with a routing map. The routing map consists of pairs of method declared in `greeter.proto` and handler function (both of sync/async functions are available 😎). After the service configured, it starts server by `listen` method.


**client.js**

```js
//client.js
const {createClient} = require("grpc-kit");
const client = createClient({
  protoPath: "/path/to/greeter.proto",
  packageName: "greeter",
  serviceName: "Greeter"
}, "0.0.0.0:50051");

client.hello({ name: "Jack" }, (err, response) => {
  if(err) throw err;
  console.log(response.message);
});

client.goodbye({ name: "John" }, (err, response) => {
  if(err) throw err;
  console.log(response.message);
});
```

`createClient` returns an instance of `grpc.Client`. It calls methods declared in `greeter.proto` and receives a response in callback.

In detail about API, please check out the [repository](https://github.com/YoshiyukiKato/grpc-kit). The library is in developing now. Any comments and advices are welcome. Thank you!

{% github YoshiyukiKato/grpc-kit %}
List/Dict comprehension 
Tags: python, comprehension, dict, list
Published: 2018-12-23 20:55:56

---
title: List/Dict comprehension 
published: true
description: 
tags: python, comprehension, dict, list
---
List/Dict comprehension is a simple way to create lists and dicts with a bunch of values that we need. For really take advantage of this operator we must combine it with lambda operator, but first ,we will see simple examples.

```python

[x * 2 for x in range(3)]
# output: [0, 2, 4]

{chr(65+x) : x for x in range(3)}
# output: {'A': 0, 'C': 2, 'B': 1}
```

Now we will combine both operators:

```python
serie = [x for x in range(20)]
f = lambda x: chr(x + 66) if x % 2 == 0 else chr(x + 65)
[f(x) for x in serie]
# output: ['B', 'B', 'D', 'D', 'F', 'F', 'H', 'H', 'J', 'J', 'L', 'L', 'N', 'N', 'P', 'P', 'R', 'R', 'T', 'T']
```
What technology do you want to learn in 2019?
Tags: discuss, javascript, programming, webdev
Published: 2018-12-23 17:31:53

---
title: What technology do you want to learn in 2019?
published: true
description: There are so many technologies out there, what will you choose to learn?
tags: discuss, JavaScript, programming, webdev
---

As 2018 is coming to an end, I'm challenging myself to pick one area of technology to really hunker down and learn. In 2019 I will learn CSS + JS SVG animations. I've always admired Sarah Drasner's courses on animations and this will be my year of really putting these skills to the test.

What do you want to learn in 2019?