teleren/devto huggingface dataset:
Things in software that you have taken granted only to find out later?
Tags: softwareengineering, webdev
Published: 2018-03-16 07:08:03

---
title: Things in software that you have taken granted only to find out later?
published: true
description: Unexpected behaviours or limits in software systems.
tags: softwareengineering, webdev
cover_image: https://i0.wp.com/gridironnow.com/wp-content/uploads/2017/11/emoji.jpg?w=700
---

What are some things you've taken granted for only to find out later?

A couple of things I’d put in this category, from my experience —

1. I have never considered the possibility of server time going off from actual time, until the day my code kept failing in production because of a time signature being in the future. It took me a while to figure out that time was off, and when I googled it … turns out Time Synchronisation is a thing you set up in your servers. Luckily there were immediate and simple solutions, and I included it in my deployment scripts from then on.

2. This is probably a good example of bad api design. I was integrating a third party api for hotel search. This api was designed such that pricing info can be fetched but making a GET request with hotel ID. ‘Search is always a GET’ I had this almost set in  my mind, so it didn’t feel wrong. But only when I built a search query for all the hotels in London (they were about 650 hotels), did I see what was wrong. HTTP 414 — Request URL too long. Turns out servers have limits on lengths of URLs. [See this.](https://stackoverflow.com/questions/2659952/maximum-length-of-http-get-request) 


What about you? Start a conversation here, or on twitter [@srik_anth](https://twitter.com/srik_anth)
5 IoT Trends That 2018 Should Be Looking AT
Published: 2018-03-16 06:38:16

---
title: 5 IoT Trends That 2018 Should Be Looking AT
published: True
description: Internet of Things was probably one of the obscure technologies at some point, when people were apprehensive about it, as they didn't know much about it. But that time has long gone. IoT has now become the technology of the masses. Everyone is ready to adopt IoT solutions, to employ the best IoT developers, and own IoT devices.

In the view of such popularity, it's only fair that we should be looking at what trends IoT would be following in the coming time:

Article Source: http://EzineArticles.com/9873133
tags: 
---
How does QA add value in a distributed system world?
Tags: discuss
Published: 2018-03-16 05:58:04

---
title: How does QA add value in a distributed system world?
published: true
tags: discuss
---

When your team are working on that minimal viable product and finding product market fit story by story ticket by ticket things are small. Once systems get bigger and bigger and more distributed and cross domains how can QA and developers keep track of the overall quality without being overwhelmed by the small details?
The Road Not Taken? — Kotlin or Java
Tags: kotlin, androidappdevelopm, androiddev, java
Published: 2018-03-16 04:52:05

---
title: The Road Not Taken? — Kotlin or Java
published: true
tags: kotlin,android-app-developm,androiddev,java
canonical_url: 
---

![](https://cdn-images-1.medium.com/max/1024/0*ABWR9P8aFAbIAfPZ.)<figcaption>Photo by <a href="https://unsplash.com/@jontyson?utm_source=medium&amp;utm_medium=referral">Jon Tyson</a> on <a href="https://unsplash.com?utm_source=medium&amp;utm_medium=referral">Unsplash</a></figcaption>

The first **one-million dollar question** that comes to every **Android developer** while starting a **new projec** t would be

![](https://cdn-images-1.medium.com/max/905/1*FDNF7eEMYPMIOyGzbdg6dw.png)<figcaption>To be or not to be? <strong><em>Kotlin</em></strong> or not <strong>Kotlin</strong>?</figcaption>

There are tons of articles out there for the reasons of picking up **_Kotlin_**. Here is one of it.

[Java vs. Kotlin: Should You Be Using Kotlin for Android Development?](https://code.tutsplus.com/articles/java-vs-kotlin-should-you-be-using-kotlin-for-android-development--cms-27846)

Personally, I would prefer to have  **_Kotlin._**

### WHY?

**_Kotlin_** is interchangeable with Java, cleaner, more readable and [**“null- safety”**](https://kotlinlang.org/docs/reference/null-safety.html) feature of **_Kotlin_** helps developer to **think thoroughly before hitting NPE** (Null Pointer Exception).

Furthermore, **Android announced to support _Kotlin_** since May 2017!

[Android Announces Support for Kotlin](https://android-developers.googleblog.com/2017/05/android-announces-support-for-kotlin.html)

We can also see the effort of **Android team on improving Kotlin Development in Android Studio**!

[Introducing Android KTX: Even Sweeter Kotlin Development for Android](https://android-developers.googleblog.com/2018/02/introducing-android-ktx-even-sweeter.html)

Not only that, Android team has actually used **_Kotlin_** while announcing new features in their latest video!

{% youtube LBBqTd6uOd4 %}

**_Kotlin_** tutorials can be found easily online!

Since **_Kotlin_** is interchangeable with Java, developers can continue to proceed with Java anytime.

_P/S: \* Developer can make a decision based on project timeline, familiarity to the language, further technical supports from third party (eg: client SDK)_

**_Happy exploring!_**
Installation Guides for every Tool/Technology/Software at one Place. 
Tags: installation, guide, contribute, github
Published: 2018-03-16 02:50:36

---
title: Installation Guides for every Tool/Technology/Software at one Place. 
published: true
description: I have started a community driven project on github to create installation guides for all the tools and technologies out there. The sole purpose is to make it easy for people to go through installation steps. 
tags: installation, guide, contribute, github 
---


Hello there everyone,

Every time we start to learn new technology or tool we have to install it and we start by goggling, 
*"How to install this on that platform using that-other thing."*.
We do this numerous time, after hopping through multiple blogs, tutorials and forums we finally mange to install things properly. 


How about a one stop solution for all the tools/software out there?

I have started a Community Driven Project on GitHub to create instllation guides for all the tools/technology /software. 

https://github.com/moghya/install-it

The sole purpose is to make it easy for people to go through installation steps. 

Please consider contributing to this project, fork repo and go through CONTRIBUTING.MD to add guides. Please share this with others and let's create a installation guides directory.

Thank you.
Who is hiring? (March 2018) 
Tags: whoishiring
Published: 2018-03-15 19:53:27

---
title: Who is hiring? (March 2018) 
published: true
description: Members of the dev.to community sharing open job opportunities at their companies.
tags: whoishiring
---

We're going to start hosting a monthly thread where community members can share openings at their companies.

Here a few ground rules:
- Please only post if you are personally part of the hiring company (**no recruiting firms**)
- Please provide brief background on what your company does
- Only one post per company (you can list multiple openings in the post)

Consider using this template:

---

>Company Name | Job Title | Location | Remote or Onsite | (optional) Salary Range
>
>**About the company** — background, size, etc (1-3 sentences)
>
>**About the role(s)** — languages, requirements, etc (1-3 sentences)
>
>**How to Apply** — email or application link

--- 

We also wanted to share some quick careers-related notes from our fantastic Sustaining Sponsors.

### Manifold:
> At **Manifold**, we’re creating the world’s largest independent cloud marketplace. Using our CLI and web GUI, we help developers build large applications powered by independent cloud services. Manifold is made by developers who care, for developers who care.  View open positions on our [careers page](https://www.manifold.co/careers?utm_campaign=dev.to_march&utm_source=dev.to&utm_medium=sponsorship&utm_content=jobs-post).

### Triplebyte:
> **Triplebyte** now hires software engineers for top tech companies and hundreds of the most exciting startups like **Apple, Dropbox, Mixpanel, and Instacart**. They identify your strengths from an online coding quiz and let you skip resume and recruiter screens at multiple companies at once. It's free, confidential, and background-blind. [Apply here](https://triplebyte.com/?ref=devto_mar18_hiring).

### Algolia:
> The **Algolia** engineering team is growing as we’re working on several new projects in 2018. Web, Mobile, Infrastructure, Analytics… Have a look at our [career page](https://www.algolia.com/careers) to see the open positions!
asink; async sink for time-series data 
Tags: rust, mongodb, msgpack, showdev
Published: 2018-03-15 18:14:56

---
title: asink; async sink for time-series data 
published: true
description: announcing a library "asink" for storing time-series data
tags: #rust #mongodb #msgpack #showdev
---

I'd like to share my small library for storing time-series data yielded from numerical simulations.

https://github.com/termoshtt/asink

asink is published to [crates.io](https://crates.io/crates/asink):

```toml
[dependencies]
asink = "0.1.1"
```

and full document is placed on [docs.rs](https://docs.rs/asink)

Sink and mpsc::channel
-----------------------

This library defines `Sink`, like most logging library, which stores data into the storage.

```rust
let sink = msgpack::MsgpackSink::from_str("test.msg");
let (s, th) = sink.run();
// execute simulation...
th.join().unwrap();
```

- `s` generated by `sink.run()` is a `Sender<T>` belongs to `std::sync::mpsc`. As its name, "Multi-Producer, Single-Consumer", `mpsc::channel` create a pair of copyable `Sender<T>` and uncopyable `Receiver<T>`. Sink starts a thread for writing received data from the main thread through this channel onto the storage.
- The second value `th` is a thread handler to join this thread. When all copied `Sender` are droped, the channel is closed, and a finalize the Sink thread.

In this case, the sink is a msgpack file. The data received from main thread is encoded into msgpack and written down to this file. Thanks to the serde library, we can serialize any structure implementing `Serialize` into JSON/msgpack/BSON. Or, you can automatically implement `Serialize` trait for your struct using [serde-derive]()

```rust
extern crate serde;
#[macro_use]
extern crate serde_derive;

#[derive(Serialize)]
struct Doc {
    time: f64,
    data: Vec<f64>,
}
```

Working Example
---------------


```rust
extern crate asink;
extern crate serde;
#[macro_use]
extern crate serde_derive;

use asink::*;
use std::sync::mpsc::Sender;

/// This will be serialized into msgpack
#[derive(Serialize)]
struct Doc {
    id: usize,
    data: Vec<f64>,
}

fn experiment(s: Sender<Doc>) {
    for i in 0..5 {
        let doc = Doc {
            id: i,
            data: vec![i as f64],
        };
        s.send(doc).unwrap(); // Send data to sink
    }
}

fn main() {
    let sink = msgpack::MsgpackSink::from_str("test.msg");
    let (s, th) = sink.run(); // Sink start thread to write recieved data into msgpack
    experiment(s);
    th.join().unwrap();
}
```

We can switch sink by replacing one line:

```rust
let sink = json::JsonSink::from_str("test.json"); // output to JSON file
let sink = mongo::MongoSink:::local("mydb", "collection1"); // output to MongoDB on localhost
```

This library will be useful both storing large binary data (e.g. velocity/megnetic field) and logging datas (e.g. a residual of iterative method like BiCGStab).


I'd like to get your feedback. Thanks.
Programming Knowledge vs Skill
Tags: practice, career, beginners
Published: 2018-04-10 13:51:06

---
title: Programming Knowledge vs Skill
published: true
tags: practice,careers,beginners
canonical_url: https://www.codingblocks.net/practice/knowledge-vs-skill/
---

What does it mean to be good at something?

Knowledge is understanding of a subject, skill is your proficiency in the application of that knowledge. By this definition, you can’t be skilled at something you don’t understand. But knowledge on its own is only half the battle.

When I talk to other programmers, and we talk about what we want to get better at – the conversation typically and very quickly heads towards things like Algorithms, Design Patterns, and Data Structures.

Sometimes there will be a specific language or a framework, maybe something more general like “Game Programming” or “Web Design”.

![](https://www.codingblocks.net/wp-content/uploads/2018/03/Screen-Shot-2018-03-14-at-9.14.05-PM.png)

_Knowledge is what you know, skill is what you can do with it._


This sounds like a knowledge problem, but reading a book or watching a video on the subject is only going to get you partway there.

If you are an improving programmer, you don’t want to _know_ algorithms – you want to write them.

You don’t want to _know_ JavaScript or Game Programming – you want to make cool stuff!

Knowing is ONLY half the battle! Skills are the other half.

Interested in hearing more about this topic? Check out the [Coding Blocks discussion in podcast episode #78](https://www.codingblocks.net/podcast/78-deliberate-practice-for-programmers/).

(or is it red and blue lasers?)


[  
 ![](https://www.codingblocks.net/wp-content/uploads/2018/03/lasers.jpg)](https://gizmodo.com/5326485/if-knowing-is-half-the-battle-whats-the-other-half-lasers)
Discuss: Do we need the "Senior" Software Engineer title? 
Tags: discuss
Published: 2018-03-15 17:21:04

---
title: Discuss: Do we need the "Senior" Software Engineer title? 
published: true
tags: discuss
---

For as long as I can remember, I have felt uncomfortable with the title of Senior Software Engineer. It started before I became a senior and continued after. The main problem I have is that the title is used in such different ways at different companies as to practically and realistically be meaningless. Senior Software Engineers at Company A may be no better than just Software Engineer at Company B. I've actually conducted some interviews for senior candidates over my career only to find that junior candidates did better on the same questions. 

In the end, I'm not sure what it means when someone tells me they're a "Senior Software Engineer." I certainly have some ideas about what it should mean, but often they aren't carried out in real life. 

How do others feel about the senior title? Do you think it is useful and in what way? What do you think it should mean? Do you think our overall industry will ever align on what it means to be a "senior" software engineer?
Using Python, Flask, and Angular to Build Modern Web Apps - Part 2
Tags: python, angular, flask, webapp
Published: 2018-03-15 17:14:05

---
title: Using Python, Flask, and Angular to Build Modern Web Apps - Part 2
published: true
description: In this series, you will learn how to create modern web applications with Python, Flask, and Angular.
tags: #python #angular #flask #webapp
canonical_url: https://auth0.com/blog/using-python-flask-and-angular-to-build-modern-web-apps-part-2/
---

In this part of the series, you will start by configuring Auth0 as the identity management system of your app. You will configure an Auth0 API to represent and secure your Flask application and you will configure an Auth0 Client to represent and secure your Angular SPA. After securing your app with Auth0, you are going to enhance the application to allow users to test their knowledge.

[Read on 🐍🅰️](https://auth0.com/blog/using-python-flask-and-angular-to-build-modern-web-apps-part-2/?utm_source=dev&utm_medium=sc&utm_campaign=python_flask_angular)

![Using Python, Flask, and Angular to Build Modern Web Apps - Part 2](https://thepracticaldev.s3.amazonaws.com/i/ew3dqrol8q8yy4aw064b.png)
Finally Finding a Community
Tags: growwithgoogle, googlescholars, udacityscholars
Published: 2018-03-15 16:22:47

---
title: Finally Finding a Community
published: true
description: Learning to code by myself vs with others
tags: GrowWithGoogle, GoogleScholars, UdacityScholars
cover_image: https://thepracticaldev.s3.amazonaws.com/i/wgt8fsj2kthe83msupvx.png
---

 
I started to teach myself coding about two years ago. Yes, you’ll find success stories on **Reddit** and the like from people saying, “I started to learn Programming six months ago and just got my first developer job!” but that’s not my story. 

So, maybe my story is yours, too.

I have a full-time job and wife & two children so I don’t have much time to study or ability take a sabbatical for a bootcamp. The care and feeding of those three humans includes three tuition bills so I don’t have the money for a bootcamp. 

Network, they say. Find a mentor, they say.

Another thing I don’t have – and I’m not apologizing for this to anyone – is any desire to trade my limited family time in the evenings to go network at the countless programming meetups in my area. I don’t know a single person to even ask questions. 

I am on my own. Or was, until recently.

Late last year, while reading others’ success stories on Reddit and feeling like Coderella wishing she could attend the Ball, I learned about the **Grow With Google Challenge** and applied. If accepted, students are placed in one of several **Udacity** courses, based on their interest and current knowledge. The top students from each course (still in progress) are granted a Udacity scholarship for completing the entire nanodegree track they’ve started with the first course. You can take the courses for free but paid/scholarship students also receive what I now know are the most valuable resources – mentors and the community of fellow students who practically live in the forums and Slack and fall all over themselves to help and encourage each other. 

Yes, there are subreddits, **Stack Overflow**, etc. but … I could say this course doesn’t have any of their cons … but it’s actually much easier to gush about all the pros. Everyone is positive, there are no restrictions on what you can ask or how often, everyone is so cool and so helpful and … I say this as a long-time Instructional Designer … most of the course material (some video, some reading, some homework) is well above average. 

I’ve found a treasure in collaboration and community that I only dreamed of before. I found my peeps. 

This is the culture, to coin a phrase, I’ve been searching for. Where everygeek (yes, that’s one word) loves what they’re doing so much they can’t help but share their enthusiasm by helping each other learn. A place where nobody wants to be at the pinnacle alone so nobody gets left behind. The more geeks, the merrier.
Updated Ruby Gem markdown_helper
Tags: markdown, ruby, github, opensource
Published: 2018-03-15 14:35:23

---
title: Updated Ruby Gem markdown_helper
published: true
description: 
tags: markdown, ruby, github, opensource
---

I've put up a new version of gem [markdown_helper](https://rubygems.org/gems/markdown_helper)

Now, by default, the output markdown has added comments that show:

* The path to the template file.
* The path to each included file.
* The image description (original) for each resolved image file path.

You can suppress those comments using the ```pristine``` option.
Scalable Angular Architecture - ngVikings 2018 talk
Tags: angular, architecture, frontend, redux
Published: 2018-03-15 14:02:05

---
title: Scalable Angular Architecture - ngVikings 2018 talk
published: true
tags: #angular #architecture #frontend #redux
---

https://www.youtube.com/watch?v=j5NQ19DGBxM
Improving my programming skills at a full-time job
Tags: programming, job, improvement, linux
Published: 2019-09-04 19:22:30

---
title: Improving my programming skills at a full-time job
published: true
tags: programming, job, improvement, linux
canonical_url: https://roelofjanelsinga.com/articles/improving-my-programming-skills-at-a-full-time-job
---

![Fireworks](https://thepracticaldev.s3.amazonaws.com/i/9c66xxt36xzjpz05n9j2.jpeg)

# Improving my programming skills at a full-time job

I've been working full-time, right out of college, for two years now. Initially, I thought this would limit my time for improving my programming skills. It most certainly did not, and here's what I've learned since then.

First of all, **I switched to Linux**. I started out programming on a laptop with Windows installed on it. I was very much against using Mac OSX as my main operating system (and I still am), so I never bought a Macbook. But Windows is simply horrific to work with if you're a programmer. This is why I switched to a Linux based operating system, Ubuntu in my case. This is one of the best things I could've done. Using Ubuntu as my primary system made me learn to use the terminal for most of my daily tasks. This, in turn, taught me valuable lessons about installing software on Ubuntu-based servers.

Second of all, **I learned to use other languages than PHP and JavaScript**. I was fairly familiar with JavaScript, so my knowledge was mainly PHP and JavaScript. To me, this is one of the best basis you can have to start building websites. Of course, you can change PHP to Python or Ruby, but any of those combinations is a great base to build from. From JavaScript and PHP, I went to learn bits and pieces of Python and Java. I learned some basic Python principles by interacting with the Raspberry Pi and I learned Java through Solr. Solr is a Java-based search engine, much like Elastic Search.

Third of all, **I started using Docker**. Having switched to Ubuntu as my primary system, I was very familiar with the Unix environment. This made the switch to Docker 10 times easier. Writing Dockerfiles was a breeze once I understood the different types of commands, like RUN, CMD, and ADD. This makes developing with other people much easier, but it also makes deploying your application very easy.

I know I'll continue to learn new things as I keep working and I'm excited to see what the future will bring.

What are some of the things you've learned during your job that you thought you'd never learn or need?
networking in an event
Tags: explainlikeimfive
Published: 2018-03-15 10:54:30

---
title: networking in an event
published: true
description: 
tags: #EXPLAINLIKEIMFIVE
---

![people taking in an event](https://thepracticaldev.s3.amazonaws.com/i/sfyjsdtema2gqc58b5nn.jpeg)

I am interested in knowing how to do networking in a meetup and also how do you approach networking in an event?