teleren/devto huggingface dataset:
How Much Does Your Tech Stack Really Matter?
Published: 2017-08-09 13:38:02

---
title: "How Much Does Your Tech Stack Really Matter?"
published: true
description: 
tags: 
cover_image: https://thepracticaldev.s3.amazonaws.com/i/tnuss1fn66o42hevdbdc.jpg
---

One of the things that I'm passionate about is that at the end of the day, customers don't really care what your tech stack is, as long as you deliver a useful product. For all the shaming and hurtful things said about PHP, what amounts to a gigantic blob of PHP made Facebook one of the, if not the biggest internet companies of our time. Yet, IMHO, not very many people would even give PHP a second thought when choosing a stack for their new startup or idea.

Another example: Ruby on Rails. I love RoR! But it seems like it has also gone/is going the way of PHP in terms of popular opinion. Things like "it's too slow" or "it encourages monoliths" or "it doesn't scale" are said about it all the time. Yet, basecamp, shopify, dev.to, and thousands if not millions of other successful companies use rails to deliver a great product at a great pace.

And one last example: Soundcloud vs. Bandcamp. Soundcloud was a pioneer in promoting and using microservice architecture and bleeding-edge tech, yet they are struggling to be profitable and just went through massive layoffs. I'm not really sure what the Bandcamp tech stack is, but the user interface hasn't changed much since it's inception. It's not flashy, and I don't really get the impression that their tech stack is either, yet they quietly continue to run and grow a profitable business.

Of course you can run your product into the ground or be unprofitable with "uncool" tech as well, it happens all the time. Maybe even at the same rate as products with bleeding edge or "hip" tech stacks. All I'm trying to say is that, at the end of the day, the fact that you're using Java instead of Node/React or rails instead of clojure is probably one of the last reasons a customer chooses to purchase your product or service.

It's about the product. Worry about that first.

Worry about your tech stack second.


But these are just my opinions! What do you think? I'd really like to here from you! Do you disagree? Let me have it! Do you agree? If so, why? Do you think I'm a raging lunatic who has no idea what he's talking about? Of course I am! But still, let me know!
I think I love you
Tags: love, growth, gratitude, meta
Published: 2017-08-09 11:46:20

---
title: I think I love you
published: true
description: Expressing my feelings to the community   
tags: love, growth, gratitude, meta
---

Lately, I've been thinking about me, about us. I realised that you became an important part of my life. 

The first time I saw you, I found you intimidating. I wasn't sure if I could trust you. It took me more than a month to start interacting with you. I guess some love stories begin this way, by someone saying: Fuck it, what's the worth that could happen?

So, we started to talk, you and me. It was scary, it's always scary to open up to strangers. But I had a weird feeling that it might be different with you. I saw how you treated others, how you behaved, the way you talked... I think this is the most important thing about you, the respect you have for everyone. I always felt safe.

Then, I opened up a bit more. I shared a few of my concerns with you. Things I didn't say to anyone before. You listened. A part of you has always a good piece of advice, another prefers a comforting word. But you never made me feel out of place, or stupid.

Some days, I don't have much to say, so I'm listening. I found out that you always have something interesting to say. You tell me about what you're learning, your fears, your ideas. And I feel like we are part of something great, greater than you and me. I feel like I belong somewhere. For people like me, this is quite amazing.

You have shown me all that. From now on, I know I have a safe place to go to when I doubt myself. Because you taught me that we are all in a difficult and challenging journey.

This letter could be a lot longer, but I just wanted you to know how I feel. You've done quite a lot for me, for many of us. I'm trying not to take you for granted because I'm aware it could be over tomorrow. I wanted you to know that all your efforts are not in vain. I guess what I'm trying to say is:

## I love you DEV.TO!
Explain GraphQL like I'm five.
Tags: explainlikeimfive, discuss, graphql
Published: 2017-08-09 01:14:32

---
title: Explain GraphQL like I'm five.
published: true
description: 
tags: explainlikeimfive,discuss,graphql
---

Not sure how to go about doing this LOL. Thanks in advance for the help. :smile:
print("Hello there!")
Tags: introduction
Published: 2017-08-09 00:03:17

---
title: print("Hello there!")
published: true
description: introduction
tags: introduction
---

Hello everyone! :) 

I have been coding for about 3ish years. Self-taught ;)

I live in Santo Domingo, Dominican Republic (In the caribbean)

I am an Elixir alchemist by day and an iOS Swift apprentice by night. I'm also a bit of a Golang gopher :p

I have a burning passion for iOS development in general, I've been trying to learn it on/off for the past 3ish years.

I'm looking to write more and I think this is the right place.

Nice to meet you all! I am @jjbernard on twitter :]
assertionFailure and Optimization Level
Tags: swift, assert, optimization
Published: 2017-08-08 09:26:27

---
title: assertionFailure and Optimization Level
published: true
description: 
tags: swift, assert, optimization,
---

Original post https://github.com/onmyway133/blog/issues/39

We used to use `assertionFailure` to mark programmer error or something that shouldn't happen. 

From [assertionFailure](https://developer.apple.com/reference/swift/1539616-assertionfailure)

> Indicates that an internal sanity check failed.

> Use this function to stop the program, without impacting the performance of shipping code, when control flow is not expected to reach the call—for example, in the default case of a switch where you have knowledge that one of the other cases must be satisfied. To protect code from invalid usage in Release builds, see preconditionFailure(_:file:line:).
- In playgrounds and -Onone builds (the default for Xcode’s Debug configuration), stop program execution in a debuggable state after printing message.
- In -O builds, has no effect.
- In -Ounchecked builds, the optimizer may assume that this function is never called. Failure to satisfy that assumption is a serious programming error.

So go to your target settings, and check `Optimization Level`, make sure it is not `-Onone` for release configuration. 

The difference between debug and release is this `SWIFT_OPTIMIZATION_LEVEL`. If `-Onone` then your configuration is considered debug, and `assertionFailure` will crash your apps

Read more
- http://blog.krzyzanowskim.com/2015/03/09/swift-asserts-the-missing-manual/
A few of my favorite #tags
Tags: automation, selenium, appium, testing
Published: 2017-08-08 22:01:35

---
title: A few of my favorite #tags
published: true
description: I went to [THE list](https://dev.to/tags)and couldn't find what I wanted.
tags: #automation, #selenium, #appium, #testing
cover_image: https://thepracticaldev.s3.amazonaws.com/i/j3wivp4hwrp6mwcqgwpt.png
---

So I'm new here. :waves:

I'm a software engineer in test and aside from [#ruby](https://dev.to/t/ruby) and [#cucumber](https://dev.to/t/cucumber) the next most suitable tags for me would be things like the four I put in this article's tags.

While this isn't a long post like others on here so far, hopefully, it'll help kick off the use of these tags and maybe give some folks like me a launch point with some non-standard topics! 

- Jayson



P.S. The cover image is a screenshot from DataDog where I've got the beginning stages of one of my automation babies reporting to. The whole stack is: AWS Lambda -> CircleCI -> Cucumber(Ruby) -> Appium/Selenium -> SauceLabs/BrowserStack -> Real devices/desktop emulator -> Automated tests of video playback!
When and how do you make time to learn?
Tags: discuss, strategies, timemanagement
Published: 2017-08-08 20:06:05


---
title: When and how do you make time to learn?
published: true
cover_image: https://thepracticaldev.s3.amazonaws.com/i/3y30tv58eyjts7y24as9.png
description: 
tags: discuss, strategies, timemanagement
---


During the past 2 months of my new role, I’ve been learning to program in a new language and a drastically different way of approaching coding solutions just to function. One of my favorite aspects of this field is the built-in life-long learning, but like other [#beginners](https://dev.to/t/beginners) I still often find it extremely challenging to find time to devote to continued learning, whether for work or personal projects/interests.

So that got me wondering how you all approach finding time to learn new programming languages, frameworks/methodologies, disciplines (UX, UI, Design, Product), or other skills. The DEV community always has a wealth of insight and I bet many of us would benefit from what's shared.
I've been de facto on call 24 hours a day ever since starting dev.to, but this weekend I'm going camping.
Tags: meta
Published: 2017-08-08 18:30:51

---
title: I've been de facto on call 24 hours a day ever since starting dev.to, but this weekend I'm going camping.
published: true
description: 
tags: meta
---

Our [bus count](https://dev.to/lukebearl/the-bus-factor) hasn't exactly been high since the project grew beyond my personal project gradually in the past year. Tomorrow I'll be leading a meeting to catch the team up on any details that might still be unclear about emergency states. To this point I've basically made myself available to deal with any potential issues, not that we've ever had anything major.

Anyway, wish me luck! ðŸ˜Š
What have you been meaning to do but haven't gotten around to?
Tags: discuss
Published: 2017-08-08 17:09:11

---
title: What have you been meaning to do but haven't gotten around to?
published: true
tags: discuss
---

Things come up, projects and ideas and improvements get kicked down the road.

What have you been planning on doing for a while, but just haven't found the time or motivation to tackle quite yet?  I'm sure we could all use some commiseration and encouragement.
Piping to fzf
Tags: fzf
Published: 2017-08-08 15:26:31

---
title: Piping to fzf
published: true
description: What aliases do you have setup to pip fzf
tags: fzf
---

So what are some good aliases that you have setup in your zshrc for using FZF? Let me give you some examples of what I have and maybe you can comment on some of your that might be interesting to others.


Some of these I have found on the internet:

``` bash
alias gcorb='gco --track $(git branch -r | fzf)'
alias gcob='gco $(git branch | fzf)'
alias gmob='git merge $(git branch | fzf)'

fkill() {
  kill -9 $(ps ax | fzf | awk '{ print $1 }')
}

alias apps='dpkg-query --show | fzf'
```
Delegate with RxSwift 
Tags: delegate, swift, rxswift
Published: 2017-08-08 09:27:22

---
title: Delegate with RxSwift 
published: true
description: 
tags: delegate, swift, rxswift
---

We can use `DelegateProxy` and `DelegateProxyType` to make beautiful delegate with RxSwift. But in some other cases, we can just create a custom class with `PublishSubject`.

This is how we can make `rx` out of `UIApplication` life cycle events

```swift
class LifeCycle {
  let didEnterBackground = PublishSubject<Void>()
  let willEnterForeground  = PublishSubject<Void>()
  let didBecomeActive = PublishSubject<Void>()
  let willResignActive = PublishSubject<Void>()

  init() {
    let center = NotificationCenter.default
    let app = UIApplication.shared

    center.addObserver(forName: Notification.Name.UIApplicationDidEnterBackground,
                       object: app, queue: .main, using: { [weak self] _ in
      self?.didEnterBackground.onNext(())
    })

    center.addObserver(forName: Notification.Name.UIApplicationWillEnterForeground,
                       object: app, queue: .main, using: { [weak self] _ in
      self?.willEnterForeground.onNext(())
    })

    center.addObserver(forName: Notification.Name.UIApplicationDidBecomeActive,
                       object: app, queue: .main, using: { [weak self] _ in
      self?.didBecomeActive.onNext(())
    })

    center.addObserver(forName: Notification.Name.UIApplicationWillResignActive,
                       object: app, queue: .main, using: { [weak self] _ in
      self?.willResignActive.onNext(())
    })
  }
}
```

## Usage

```swift
let lifeCycle = LifeCycle()
lifeCycle.didBecomeActive
  .bindNext({ [weak self] in
    self?.viewModel.reloadProfile()
  })
  .disposed(by: bag)
```
Which path to take?
Published: 2017-08-08 08:12:36

---
title: Which path to take?
published: true
description: 
tags: #discuss #computerscience #career #life #beginners #tips
---

Hello! 

I just want to get input and have a discussion as well on what has made everyone here take the path they're currently or how they came to a conclusion in their decision to take a certain path. 

I'm currently a second year college CS student and I'm at a point where I feel stuck or I'm not quite sure which path to take. My indecisiveness and interest has made me jump around from being interested in game development, to mobile development, to database and currently right now computer graphics. It's a bit overwhelming especially since it's mostly my interest in multiple facets of programming that has lead to this point. 

How did you end up in the position you are in now? What made you go down that path? Any insight, advice and even stories would be appreciated!
Pain Points of GraphQL
Tags: graphql, api, disadvantages, drawbacks
Published: 2017-08-08 03:01:34

---
title: Pain Points of GraphQL
published: true
description: The main issues you probably will face developing a GraphQL API
tags: GraphQL, API, Disadvantages, Drawbacks
---

For some time working and studying GraphQL, I have found some important concerns for anyone considering using this tool. In this post I’ll summarize these concerns and list some actions that can be taken as workarounds.

[![Pain Points of GraphQL](https://cdn-images-1.medium.com/max/2000/1*DWSmCMrKCFX_CCxx1HEjjw.jpeg)](https://labs.getninjas.com.br/pain-points-of-graphql-7e83ba5ddef7)
7 Reasons You Should Be Using Test-Driven Development
Tags: testing
Published: 2017-09-23 16:54:37

---
title: "7 Reasons You Should Be Using Test-Driven Development"
published: true
tags: testing
canonical_url: 
---

If you aren’t familiar with it, test-driven development (TDD) is a software development practice where you write tests _before_ you write application code.

TDD is something most computer science students are taught, but are never actually required to use. And you can get away without doing it for most of your coursework. (I have some thoughts on that [here](http://hudsonburgess.com/2017/06/07/hypothetical-course-titles.html).)

At any rate:

1. **Good tests make good documentation** – both for you and anyone who might come onto your project later. Test frameworks like [Jasmine](https://jasmine.github.io/) and [Mocha](https://mochajs.org/) read like plain English. Name your tests in a way that describes the tested function’s behavior in a particular circumstance.

2. **You’ll code faster.** Even if writing a correct function implementation is difficult, pre-written tests will give you a clear target to hit.

3. **You’ll code correctly faster.** Keep your test runner open to get continuous feedback on your work. This will get you to a correct implementation faster than coding an entire module at once and then testing it.

4. **You won’t forget to write the tests.** Code without tests should make you uneasy, period. A comprehensive, passing test suite is reassurance to you and other developers that your code (probably) won’t break.

5. **It provides a solid starting point for later work.** Similar to #1. Also, if you pick a project back up after a few months, you’ll forget how most of the code works. Tests can be a reminder, and a tested code base can be a fallback if you suddenly break things.

6. **It pushes you to write cleaner code.** Long, complicated functions are hard to test. Simple tests and clear descriptions will naturally lead to shorter, more readable application code.

7. **You’ll write more meaningful tests.** With code already written, it’s easy to write tests that just pass instead of tests that confirm useful functionality. Imagine if your math professor only tested you on things you already knew – that wouldn’t be very useful!

Do you have more reasons? Drop a comment below!

- This is part of a [6-part series](https://www.bti360.com/clean-code-series/) on clean code. It’s some of the most valuable reading I’ve ever done as a developer.
Evaluate your ruby code directly from VIM
Tags: ruby, vim
Published: 2018-10-11 12:15:36

---
title: Evaluate your ruby code directly from VIM
published: true
tags: ruby,vim
canonical_url: https://thecode.pub/evaluate-your-ruby-code-directly-from-vim-5f12a83c1163
---

![](https://cdn-images-1.medium.com/max/476/1*-t37W7RSogM604xODOKokw.png)

When I am writing code, usually I want to evaluate some piece of code. I used to do the following actions:

- Copy and paste my code to IRB (or run my ruby script file directly from the terminal).
- When using tmux, send my code directly from vim to tmux with the [vim-tmux-runner](https://github.com/christoomey/vim-tmux-runner) plugin.

The first option needs an extra work of copying and pasting content. I prefer the second option, but sometimes I forgot to attach the VTR pane and get errors.

Now I’m using [https://github.com/JoshCheek/seeing\_is\_believing](https://github.com/JoshCheek/seeing_is_believing) along with [https://github.com/t9md/vim-ruby-xmpfilter](https://github.com/t9md/vim-ruby-xmpfilter) plugin

I set my .vimrc with the following content (I use Plug to manage my dependencies):

```
Plug 't9md/vim-ruby-xmpfilter'

" Enable seeing-is-believing mappings only for Ruby
let g:xmpfilter\_cmd = "seeing\_is\_believing"

autocmd FileType ruby nmap \<buffer\> \<F4\> \<Plug\>(seeing\_is\_believing-mark)
autocmd FileType ruby xmap \<buffer\> \<F4\> \<Plug\>(seeing\_is\_believing-mark)
autocmd FileType ruby imap \<buffer\> \<F4\> \<Plug\>(seeing\_is\_believing-mark)

autocmd FileType ruby nmap \<buffer\> \<F6\> \<Plug\>(seeing\_is\_believing-clean)
autocmd FileType ruby xmap \<buffer\> \<F6\> \<Plug\>(seeing\_is\_believing-clean)
autocmd FileType ruby imap \<buffer\> \<F6\> \<Plug\>(seeing\_is\_believing-clean)

autocmd FileType ruby nmap \<buffer\> \<F5\> \<Plug\>(seeing\_is\_believing-run)
autocmd FileType ruby xmap \<buffer\> \<F5\> \<Plug\>(seeing\_is\_believing-run)
autocmd FileType ruby imap \<buffer\> \<F5\> \<Plug\>(seeing\_is\_believing-run)
```

Now I can visual select my code, use F4 to mark and that line will be evaluated, press F5 and get the result of that code. After, I can clean all marks with F6 .

![](https://cdn-images-1.medium.com/max/922/1*7gjSHyVfzMhsoa038YicQg.gif)

Cheers,  
🍻

* * *
Inside The Tubes: An Intro To Networking Concepts
Tags: networking, internet, infrastructure
Published: 2017-09-21 20:36:55

---
title: "Inside The Tubes: An Intro To Networking Concepts"
published: true
tags: Networking, Internet, Infrastructure
canonical_url: https://www.heavybit.com/library/blog/inside-the-tubes-an-intro-to-networking-concepts/
---

On May 29th, Heavybit Member [Mux](https://mux.com/) held their monthly SF Video Tech Meetup at our San Francisco Clubhouse. Matt Ward,&nbsp;Software Engineer at Mux, gave a great talk outlining the physical infrastructure and software underpinnings of the modern internet. Curious about IPv6 or ASNs? Don’t miss this talk. To attend in person next time, [check out the meetup page](https://www.meetup.com/SF-Video-Technology/).

## Inside The Tubes: An Intro To Networking Concepts

<iframe src="https://www.youtube.com/embed/g2czluHsmog" width="800" height="257" frameborder="0" allowfullscreen="allowfullscreen"></iframe>



_This post was originally published on [heavybit.com](https://www.heavybit.com/library/blog/inside-the-tubes-an-intro-to-networking-concepts/)_
How do you document new "coding patterns" for your team?
Tags: discuss
Published: 2017-08-07 17:40:57

---
title: How do you document new "coding patterns" for your team?
published: true
tags: discuss
---

New language features and libraries often introduce new patterns into the code-base.
Learning those patterns then becomes essential to understanding the code and reasoning about it.
How do you document such patterns, for the benefit of your team-members?
What are the most interesting, readable software books?
Tags: discuss
Published: 2017-08-07 16:19:22

---
title: What are the most interesting, readable software books?
published: true
tags: discuss
---

I'm in the mood for a good read. What books about software development are really well-written and enjoyable at a high level while still technical and informative.

I'm looking more for technical-leaning books as opposed to memoires and stories, etc. But feel free to mention those as well.

Would love some suggestions!
The 7 Most Popular DEV Posts from the Past Week
Tags: top7
Published: 2017-08-07 13:39:21

---
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
---

_Every Monday we round up some of the last week's top posts, comments, and tweets. If you have any feedback, please leave a comment._ â¤ï¸

#1. Rockstar programmers 

<img src="https://thepracticaldev.s3.amazonaws.com/i/hp009qtd5mg41ch3opfx.png" alt="unicorn">

You've rolled your eyes at it on job listings, but you've probably also wondered...am _I_ a rockstar? In this post, [Nathan](https://dev.to/nathanepstein) breaks down a 10x programmer into 7 qualities. 

{% link https://dev.to/nathanepstein/what-is-a-10x-programmer %}

#2. The reality of learning how to code

[Steff](https://dev.to/steff_br) was tired of reading only the good and fun of learning to code, so she shares her experience of what it was actually like for her this past year. 

{% link https://dev.to/steff_br/what-nobody-tells-you-when-you-decide-to-learn-how-to-code %}

#3. Achieving webscale, or something like that

...at scale. This week, [Ben](https://dev.to/ben) wants to shard the [dev.to](/) database but he explains why he won't, yet. 

{% link https://dev.to/ben/solving-imaginary-scaling-issues-at-scale %}

Now that we have the _how_, we'll need to figure out the _when_.

{% devcomment fp7 %}

#4. Death to the Jedi

TIL about Yoda conditions and what to ponder before picking Yoda. 

{% link https://dev.to/greg0ire/why-using-yoda-conditions-you-should-probably-not %}

#5. The fast and the productive

Work-life balance can be difficult if you work full-time, have side projects, and also want to do non-technical things, like draw or hang out with your family. Here are five tools that can make life a little easier and more efficient. 

{% link https://dev.to/chinchang/tools-that-make-me-fast-and-productive %} 

#6. So you switched to vim

[Peter](https://dev.to/peterfication) switched to Vim a few months ago, and he's faster and more efficient than ever. He attributes part of his speed to using Vimium, and shares his top 3 favorite features. 

{% link https://dev.to/peterfication/so-you-switched-to-vim---dont-forget-to-install-vimium-for-chrome %}

Through this post, someone else mentions another plugin to check out: 

{% devcomment fo1 %}

#7. Servers, everywhere!

If you never thought about turning your Android device into a web server, you might as well give it a try because it's ridiculously easy! Here are the three simple steps:

{% link https://dev.to/kataras/how-to-turn-an-android-device-into-a-web-server %}

------

_That's it for our weekly wrapup! 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!_