teleren/devto huggingface dataset:
TADHACK 2017
Tags: career, hackathon, learning, showdev
Published: 2017-09-20 16:42:35

---
title: TADHACK 2017
published: True
description: 
tags: career,Hackathon,learning, showdev
---
#What is TADHACK? 

The Telecom Application Development initiative referred to as TADHACK was started in 2013 as a grassroots effort to build an ecosystem focused on telecom application development.The aim of this initiative is to bring together businesses,developers, non-coders… really anyone who is interested in using telecom capabilities in their applications, services, or businesses to solve local and global problems. The TADHACK event is a global meeting place for people (hackers, hustlers and hipsters: developers, business-types, and designers) who want to learn, share, code and create using the tools and technologies available in telecommunications. Participants stand the chance to win prices determined by the panel of judges.

This year's [TADHACK event](https://tadhack.com/2017/) is focused (but not limited to) on a number of hack [challenges and ideas](https://tadhack.com/2017/challenges-and-ideas/) set by TADHack partners where you can win prizes for completing them. However, hackers are advised to find a problem that matters to them and build a solution to the problem using the global sponsor's technologies. 

##Benefits of joining

Whether you are a developer, an enterprise, a vendor or a non-coder,TADHack offers a number of benefits to the participants.
Some of the benefits are:

1. Participants get educated on the power of telecom app development – no coding skills necessary to attend!
2. They learn about the APIs, WebRTC, communications service platforms, cloud communications, decentralized / distributed web, and many other web- and 
IT-centric service platforms.
3. Meet the global community of telecom app innovators.
4. Listen to expert speakers and share best practices.
5. Participants can have their innovative service / platform / idea promoted and presented to the global industry.
6. They can Create hacks (prototypes) using telecom technologies to solve local or global problems that matter to you

##How to join?

You can join by attending one of the events in your city or plug in remotely.
Registration is open for Global Hackathon on 23 – 24 September 2017. It will run in parallel across many cities around the world.Find a location near you or register as a [remote entry](https://tadhack.com/2017/register-remote-entry/). 

Participants in Lagos Nigeria can register [here](https://tadhack.com/2017/global/register-lagos/)

## Sponsors

This year's TADHACK event is sponsored by [vidyo.io](https://vidyo.io/),[Apifonica](https://www.apifonica.com/),[Temasys](https://www.temasys.com.sg/),[Matrix](https://matrix.org/) and [Telestax](https://telestax.com/).
Design Patterns and Practices in .Net: Null Object and Special Case Object
Tags: csharp, cleancode, designpattern, dotnet
Published: 2018-04-06 22:27:54

---
title: "Design Patterns and Practices in .Net: Null Object and Special Case Object"
published: true
tags: CSharp,Clean Code,Design Pattern,DotNet
canonical_url: https://www.matheus.ro/2017/09/25/design-patterns-practices-net-null-object-special-case-object/
---

In programming null is an awkward thing to deal with, when you return a variable and it’s possible to be a null, you have to remember to make null checks all around your code.

The null object and the special case object are patterns that try to reduce this type of boiler plate code.

A null object is an object that doesn’t have a referenced value, is an object with a default behavior. A behavior which represents a missing object.

Special case object is very similar to the null object, but it’s an improvement over the null object, because instead of creating a generic “missing object”, you are creating a more specialized object that can suit better your needs.

The goal of these two pattern is to return a null or a special case version of an object, instead of return a null reference.

## **Problem**

Many times we caught ourselves making this type of check:

```
public Product GetProductById(int productId)
{
    Product product = _productRepository.GetProductById(productId);
    if(product == null)
        throw new Exception("Product Not Found");
    return product;
}
```

[Continue Reading...](https://www.matheus.ro/2017/09/25/design-patterns-practices-net-null-object-special-case-object/)
How To Get appsettings.json Data In Asp.Net Core MVC
Tags: dotnet, tutorial
Published: 2018-04-02 20:25:27

---
title: "How To Get appsettings.json Data In Asp.Net Core MVC"
published: true
tags: dotnet,tutorial
canonical_url: https://www.matheus.ro/2017/09/25/get-appsettings-json-data-asp-net-core-mvc/
---
> [You can download this sample from this git repository.](https://github.com/mrodrigues1/AppSettingsDI)

In this tutorial I’ll show you how to get the data from&nbsp;_appsettings.json_&nbsp;using the built-in dependency injection in Asp.Net Core MVC.

Let’s start right away \o/

First, you need to create a project in visual studio. I’m using visual studio 2017 community with&nbsp;.net core version 1.1.

![](https://i1.wp.com/www.matheus.ro/wp-content/uploads/2017/09/1-4Rx8EdKFP6Q3Ut5SK1itNg.png?resize=800%2C556&ssl=1)<figcaption>New ASP.NET Core Web App Project</figcaption>

I’m creating an ASP.NET Core Web Application, that’s the new version of the mvc framework.


[Continue Reading...](https://www.matheus.ro/2017/09/25/get-appsettings-json-data-asp-net-core-mvc/)
The right Tools for the right job
Tags: tools, programming, competition
Published: 2018-09-13 13:44:28

---
title: The right Tools for the right job
published: true
tags: tools,programming,competition
canonical_url: http://designfrontier.net/the-right-tools-for-the-right-job
---

Last week I did a bit of programming for [Game Of Codes](https://goc.vivint.com) in my "free" time which lead me to a couple of interesting observations.

## 1. Number of passing tests is more important then compute time

This makes sense right? If you pass more tests then someone else then the speed with which you did it is kind of irrelevant. This is a decidedly startup mentality. That getting things done is better then how well they are done. And I agree with it.

## 2. node’s startup time is great for servers and terrible for CLI tools

With the caveat of when those tools need to be really fast to win a prize. JS is my sketching language and I typically solve first there and then convert to something faster, like Rust.

The reason is that the startup for node includes compilation which is costly. Not a problem when you are a server that starts up once and stays up for a long time. More of a problem when you have to pay that cost as part of your run time.

node does some great stuff in that startup but it is expensive.

## 3. I wish I was better at algorithms

These sort of things always make me feel this way.

Which is part of why I like doing them. It forces me to think about computational complexity. I just wish I had picked up enough algorithms knowledge already to be able to fly through some of these. Someday... maybe soon... hopefully.

## 4. These things are probably terrible as recruiting tools... but dang fun

Most people who have the chops to do well at these things already have jobs they love. They’re just in it to snag some $$$ and a shirt. But man it is fun to have quick computationally intense problems to work every once in a while.

## 5. I really like Rust’s syntax

It’s really nice. Fighting the compiler on types is something I am not used to... but it’s errors are usually pretty sane and understandable. Plus it’s fast. I don’t know how to performance tune it really... but it’s still really fast and it’s compile times aren’t bad either.

Last thing on Rust... cargo is pretty rad. Love it.

## Conclusion

Coding contests are fun. You should do them. Great way to push yourself and force yourself to try new things and new languages. Plus they are really good practice for interviews.
Java web development
Tags: discuss
Published: 2017-09-25 19:48:32

---
title: Java web development
published: true
description: 
tags: discuss
---

Hi everyone, I'm new here and glad to find such an opportunity to talk with other developers.

I'm a beginner to java web programming and I want to know what is the best way to master it, my approch consist of learning servlets and JSP before jumping to frameworks like spring ... , it is the right path to learn effectively the technology ?

Thanks !!
The 7 Most Popular DEV Posts from the Past Week
Tags: top7
Published: 2017-09-25 16:36:13

---
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
cover_image: https://thepracticaldev.s3.amazonaws.com/i/xsr1z6iqv0pd7p3s6ns3.png
---

#1. Beyond syntax

"Focusing only on knowledge of syntax is a bit like practicing to write a novel by only studying grammar and spelling." Kevin dives into the other layers of skills needed in order to write original, creative code.

{% link https://dev.to/kev_mcg/the-four-layers-of-programming-skills %}

#2. What's redux?

An explain-like-im-five on redux!

{% link https://dev.to/hemanth/explain-redux-like-im-five %}

#3. Brain Hack
"Pomodoro takes one of our most primitive control structures and aligns it with a higher state of mind: task focus."

{% link https://dev.to/andrewlucker/why-does-the-pomodoro-technique-work-so-well %}

#4. No more LaTeX, please. 

In response to [Nicky Marino's](https://dev.to/nickymarino/) post, ["Lets Use LaTeX,"](https://dev.to/nickymarino/lets-use-latex) Peter explains how LaTeX has failed him. 

{% link https://dev.to/hoffmann/lets-find-something-better-then-latex %}

#5. Get back on the bike!

"If you stick with it and stay curious, you will _always learn what you need to learn._"

{% link https://dev.to/ben/how-to-keep-learning-to-program-over-and-over-again-forever %}

#6. REST is BEST

"So how hard can it be to version an API? The truth is it’s not, but what is hard is maintaining some sanity by not needlessly devolving into a dizzying number of versions and subversions applied across dozens of API endpoints with unclear compatibilities."

{% link https://dev.to/sparkpost/restful-api-versioning-best-practices-why-v1-is-1 %}

#7. Inspired by PHP 

Amit took on the challenge of writing several handy vanilla JS functions. He does his own implementation of `array_map()` but also gives us a function called `array_chunk()`.

{% link https://dev.to/amit_merchant/essential-vanilla-javascript-functions %}


_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!_
What is your advice for a new intern?
Tags: discuss, internship, juniordeveloper
Published: 2017-09-25 14:48:53

---
title: What is your advice for a new intern?
published: true
tags: discuss, internship, junior developer
---
Hello, everyone!

So, next week I will begin my first internship (yay!). I am very excited and happy because it is a place where I will learn a lot. But I am also a little nervous, so I thought about getting some advice :)

For example, if you would have to do pair programming and work with a fresh intern, what would you expect from she/he? How was your first internship? What do you think helped you in your first internship and what not? What could be a good way to evaluate your learning?

Thanks!!
Expensive Degree vs Free Degree for Comp-Sci
Tags: discuss, career
Published: 2017-09-25 12:45:21

---
title: Expensive Degree vs Free Degree for Comp-Sci
published: true
description: Is an expensive college worth the debt when entering the field of comp-sci?
tags: discuss, career
---

I am currently enrolled in my senior year of high school and am going through the college application process. I have good test scores and grades and could be accepted into some upper-end universities. However, attending these universities will put me into lots of debt, while attending my in-state university would allow me to come out debt free. I was told since I already have professional experience as a software developer at a pretty large company, I shouldn't worry about the degree that much. 

I have been weighing my options and trying to decide if a more prestigious degree is worth the tremendous amount of debt. Will the degree earn me a larger starting salary, or will showing my personal projects do that for me?

Thanks
What are Your Favorite DevOps Services?
Tags: discuss, devops
Published: 2017-09-25 07:15:05

---
title: What are Your Favorite DevOps Services?
published: true
cover_image: 
tags: discuss, devops
---

I'm a front-end dev and most of the time I have back-end devs and admins at hand, who monitor production systems and tell me how my front-ends perform. 

But lately I found I get more control over the stability when I use services on my own to monitor my systems. This gives me faster feedback and lesser ambiguity than talking to people who interpret the data for themselves before they tell me what happened.

I'm a total _n00b_ and I'd like to know what you are using.

I'm using [Sentry](https://sentry.io), which offers me a central hub for the error reporting of all of my apps.

Also, [Apex Ping](https://ping.apex.sh/), to monitor the status of all the back-ends I built front-ends for.

So... __what are your favorite dev-ops services?__

Continuous Integration? Testing? Quality Assurance?
JavaScript Service Worker Design Patterns for Better User Experience
Tags: javascript, serviceworker, designpatterns, userexperience
Published: 2017-09-25 04:54:27

---
title: JavaScript Service Worker Design Patterns for Better User Experience
published: true
description: Not just for offline, JavaScript Service Workers give your web app a snappy response and predictable behavior. Your web app “feels like an app to your more-satisfied users and stakeholders. 
tags: JavaScript, Service Worker, Design Patterns, User Experience
---
You all may be interested in a talk I gave last week at the Columbus JavaScript User Group.  No video, but the slides are online at:

https://www.slideshare.net/reeder29/javascript-service-worker-design-patterns-for-better-user-experience

![New Request Path](https://thepracticaldev.s3.amazonaws.com/i/ljm2ibra8zd2aq8m053s.jpeg)
Conditional SQL JOIN
Tags: sql, join, condition
Published: 2017-09-25 03:34:05

---
title: Conditional SQL JOIN
published: true
description: solution to situation when we need a condition in ON clause of JOIN statement
tags: SQL, join, condition
---

I would like to share my experience in SQL joins.

The problem: I have 3 tables: 'vendors', 'invoices', 'terms'. I outer joined 'vendors' and 'invoices', now I'd like to join 'terms' table, but ON clause is conditional. If invoices.term_id is not null, than I join 'terms' table based on invoices.term_id, else I join 'terms' table based on vendors.default_terms_id. How can I use if in ON clause?

Solution:
I found it at <a href="http://weblogs.sqlteam.com/jeffs/archive/2007/04/03/Conditional-Joins.aspx" target="_blank">Jef's SQL Server Blog</a>, thanks him a lot.

1. Do not use conditions in ON clause.
2. Create two LEFT OUTER JOINs, based on each condition, i.e.
    <pre>LEFT OUTER JOIN terms t ON invoices.term_id = t.term_id
    LEFT OUTER JOIN terms t ON vendors.default_term_id = t.term_id</pre>
3. In SELECT statement with the help of COALESCE() function choose only that field, which is not null:
    <pre>SELECT COALESCE(invoices.term_id, vendors.default_term_id)</pre>
4. Into COALESCE() we put first that field, which is likely to be not null. But if it is null, than we use a default value, which is always not null.
5. Full query looks like this (there are additional constraints, but you'll get an idea):
<pre>SELECT v.vendor_id AS "Vendor #",
        vendor_name AS "Vendor Name",
        vendor_contact_first_name AS "Contact First Name",
        vendor_contact_last_name AS "Contact Last Name",
        invoice_id AS "Invoice #",
        invoice_date AS "Invoice Date",
        COALESCE(t.terms_description, t_default.terms_description) AS "Description of Terms"
FROM vendors v
        LEFT JOIN invoices i
            ON v.vendor_id = i.vendor_id
        LEFT JOIN terms t
            ON t.terms_id = i.terms_id 
        LEFT JOIN terms t_default
            ON t_default.terms_id = v.default_terms_id
WHERE v.vendor_contact_last_name LIKE 'Z%'
      OR (v.vendor_contact_last_name > 'V' AND v.vendor_contact_last_name < 'Y')
ORDER BY vendor_contact_last_name DESC;</pre>

6. Cheers!
Unit Test And Time Dependency
Tags: designpattern, testing, dotnet, tutorial
Published: 2018-04-02 20:21:45

---
title: "Unit Test And Time Dependency"
published: true
tags: Design Pattern,testing,dotnet,tutorial
canonical_url: https://www.matheus.ro/2017/09/25/unit-test-time-dependency/
---
When you start to write unit tests, inevitably you’ll encounter a hard time when a functionality depends on time. Depend on DateTime.Now doesn’t work well for unit testing, your tests will pass on certain time of day and fail in others.

To resolve this problem we need to isolate the time dependency of system, to be able to make our unit test reliable.

## **Example**

So, we have a shop that gives some discount based on the hour of the day, and we have a method that return how much the discount will be:

```
public class Shop
{
    //Constructor
    //public Shop(.....

    //Other Implementations
    //.....

    public int GetCurrentDiscount()
    {
        switch (DateTime.Now.Hour)
        {
            case 9:
                return 30;
            case 12:
                return 20;
            case 18:
                return 40;
            default:
                return 0;
        }
    }
}
```

[Continue Reading...](https://www.matheus.ro/2017/09/25/unit-test-time-dependency/)
SUT Factory
Tags: unittest, factory, sut
Published: 2018-04-02 20:19:14

---
title: "SUT Factory"
published: true
tags: Unit Test,Factory,SUT
canonical_url: https://www.matheus.ro/2017/09/25/sut-factory/
---

SUT factory may be a fancy name to what is basically a utility method, used to create an instance of the system under test. The main point of a SUT Factory is to reduce code duplication and improve maintainability of your unit tests suite.

I’ll show you a quick example of how can you implement this type of utility method.

Imagine a test like this one:

```
[TestMethod]
public void TestUsingConstructor()
{
    //Arrange
    MySUT sut = new MySUT();

    //Act
    //...Exercise the sut

    //Assert
    //...Verifying the results
}
```

[Continue Reading...](https://www.matheus.ro/2017/09/25/sut-factory/)
List files in any branch in git
Tags: git, tip
Published: 2017-09-25 00:57:54

---
title: List files in any branch in git
published: true
description: No need for a checkout
tags: git, tip
---

## List entire branch content

```
~/my/repo $ git ls-tree mybranch -r --name-only
.gitignore
LICENSE
README.md
cli.js
demo.gif
index.html
live-svg.svg
package.json
server.js
tests/cli.js
```

## List only one folder's content

You don't need `grep`!

```
~/my/repo $ git ls-tree mybranch:test -r --name-only
tests/cli.js
```

More informations about [git ls-tree](https://git-scm.com/docs/git-ls-tree).

Hope it'll save you some time! ðŸ˜œ
Liderazgo e Historia.
Tags: leadership, history, management, brave
Published: 2017-09-24 17:23:39

---
title: Liderazgo e Historia.
published: true
description: AnalogÃ­a entre el liderazgo en la empresa y la Edad Antigua. 
tags: leadership, history, management, brave
---
![300](https://ugc.kn3.net/i/origin/http://blogs.canalsur.es/saladeprensa/files/300.jpg)

El otro dÃ­a, viendo la pelÃ­cula "300" en televisiÃ³n (no la habÃ­a visto aÃºn) e hilando con lo acaecido en Grecia posteriormente con Alejandro Magno (de los personajes que mÃ¡s me apasionan de la Historia) me di cuenta que se podÃ­a establecer una analogÃ­a entre los empleados y el jefe de una empresa y los soldados y el rey/caudillo militar de Ã©stos. Mirad: Tanto en el caso de la batalla de TermÃ³plilas o MaratÃ³n el ejÃ©rcito espartano (aunque realmente no eran 300, sino unos 7000 entre espartanos y soldados griegos de otras polis) derrotÃ³ en sucesivas ocasiones al ejÃ©rcito del Imperio Persa de Jerjes el Grande (rey de toda Asia) que era mucho mÃ¡s numeroso (unos 250000 hombres) y sofisticado que la tropa espartana + griega.

AÃ±os mÃ¡s tarde, Alejandro Magno, con un ejÃ©rcito de nuevo mucho mÃ¡s reducido que el del rival (DarÃ­o III, rey del Imperio Persa) liberÃ³ las polis romanas que habÃ­an tomado los persas, unificÃ³ Grecia bajo el reino de Macedonia y, lo mÃ¡s importante; conquistÃ³ en Oriente un territorio equivalente a 4 veces la extensiÃ³n de la PenÃ­nsula IbÃ©rica. Es mÃ¡s, una vez llegado a India decidiÃ³ volver a casa y terminar su campaÃ±a de conquista de Oriente debido a que sus soldados ya estaban cansados de luchar y de llevar varios aÃ±os fuera de su hogar, sin sus familias.

En ambos casos, un ejÃ©rcito pequeÃ±o pero bien organizado (Alejandro Magno pasÃ³ a la Historia como un gran estratega, al igual que su padre, Filipo II) derrotÃ³ no a uno, sino a varios ejÃ©rcitos en varias batallas mucho mÃ¡s numerosos y, a veces, con mejor tecnologÃ­a.

Â¿Por quÃ©? Os preguntarÃ©is... La soluciÃ³n es muy sencilla, tanto Alejandro Magno como LeÃ³nidas (rey de Esparta y defensor de Grecia en la pelÃ­cula 300) luchaban en primera lÃ­nea de batalla con sus soldados y, si habÃ­a que morir, se morÃ­a con ellos. Mientras que los reyes del Imperio Persa aguardaban en la retaguardia del campo de batalla mandando a sus soldados a Ã©sta a base de latigazos. Y si la cosa se ponÃ­a fea para su bando, simplemente huÃ­an.

Pues en una empresa pasa igual: si nuestro jefe lucha a diario con nosotros en primera lÃ­nea de combate, sus empleados tendrÃ¡n confianza en Ã©l, tendrÃ¡n seguridad en sÃ­ mismos, serÃ¡n valientes y productivos; no mirarÃ¡n atrÃ¡s porque saben que a su lado con la espada y el escudo estÃ¡ su jefe, luchando con y por ellos, como uno mÃ¡s.

![footer](https://ugc.kn3.net/i/origin/http://www.awadallah.com/blog/wp-content/uploads/2007/03/300_28.jpg)

Contacto: mrm8488@gmail.com | web personal