teleren/devto huggingface dataset:
MVP(Minimum Viable Product)
Tags: mvp
Published: 2017-10-26 03:15:11

---
title: MVP(Minimum Viable Product)
published: True
description: Don't ever wait till your product is 'finished' cause that never exists
tags: mvp
---

After listening to Ryan Hoover of [Product Hunt](https://www.producthunt.com/) and Courtland Allen of [IndieHackers](https://www.indiehackers.com/) talk about their experiences on the Ycombinator podcast it really hit me both of them gained momentum for their products after testing the market with small simple products or **minimum viable product(MVP)**. 

>Product Hunt was an email list in the beginning so really, I was forced, not being an engineer, to not spend weeks and weeks building something that may be something that people didn’t want. Instead, I was like, “Okay, well, what can I build and then what experience could I provide that would maybe validate or test whether people wanted this? I built this email list, sent it out...

Product hunt initially started its days as a mailing list, IndieHackers originated from creating a central location for people to share their own stories about the products they have built.*Can't forget Ben started The Practical Dev as just a twitter account*😋

### How I could have benefited from MVP
Back in college, my roommate and I stumbled across multiple affordable deals local restaurants were offering to college students to attract more customers but was not marketed all that well.

We realized we could build a potential application that would allows to share and expand the deals campus wide. Once we got whiteboarding the idea was exhilarating because there literally was no other application or service like this offered at our campus. We had the prime idea, except we couldn't bring it to fruition cause we got carried away at waiting to build the "perfect" application with eye catching animation, material design, etc. 

By the time the "perfect" application came around(*spoiler alert: never happened*). Another application, [Hooked](http://hookedapp.com/), came into scene and swooped the market.

*Our could have been MVP:* The minimum viable product for our product could have been simple as mailing list like product hunt were we collect student emails and forward them best deals on and/or off campus. This MVP could would have allowed us to test the market and see what kind of attractions we could have got and see how we could tailor it to our focused market. 

### Conclusion

To sum this all up, next time you have that brilliant idea forget about all those bells and whistles or which framework the cool kids are using and ask yourself the following two questions:

+ What is the core value your product is delivering? 
+ What is the most simple and efficient way to deliver that value?

Once you answers those questions and tested your market then you know the direction you should be headed to make your product successful.
Learning Linked Lists with Leaf
Tags: video, coding, algorithms, learning
Published: 2017-10-25 16:49:08

---
title: Learning Linked Lists with Leaf
published: true
description: Write a linked list and explore basic operations and complexity
tags: video, coding, algorithms, learning
cover_image: https://i.imgur.com/kYuhiYI.png
---


{% youtube jAH7TtjKgug %}

In this episode I create a linked list and iteration function. I explain the ideas behind it, and the basic complexity changes as I extend the code. 

Code is written in Leaf.
A simple interview question
Tags: javascript, jquery, discuss
Published: 2017-10-25 16:43:02

---
title: A simple interview question
published: true
description: Shocked with this question I received
tags: javascript, jquery, discuss
---

I went on an interview and I was asked a question like the one in the codepen. I was asked to fix it as its broken. Just curious how others would answer this one

[Here it is on CodePen](https://codepen.io/jrock2004/pen/rGXMxP/)
Epic code comments  
Tags: discuss
Published: 2017-10-25 16:03:00

---
title: Epic code comments  
published: true
description: When you code a previous work, you find some suggestions. What did you find?
cover_image: https://thepracticaldev.s3.amazonaws.com/i/8bwdf9m01h18s20s9epk.jpg
tags: discuss
---

I know my lack of expertise never play for me but as someone who is trying (very hard) to learn how to code, one of my exercise I tend to do is to _inspect element_ of the website, copy-paste and run in my own environment. 

## Life (and code) gives you surprises and good humor

Many developers told me to still do it and look all kind of cases and I found two particular which I want to share with you. First, A friend told me about news about a popular website in Paraguay which is called Clasipar, Craiglist-similar business and entered to look what's new and I found this:

![The translation (the big red letters) was: WHA YOU LOKING AT HUH? (sic)](https://thepracticaldev.s3.amazonaws.com/i/8bwdf9m01h18s20s9epk.jpg)

The translation would be: *WHA YOU LOKING AT HUH*?


I know you laughed. 

## Prepare for the second one 

Looking for alternatives website for Rent-a-Car, I can't tell why I finished with LingScar. FYI, I know how I ended there, the online users at Reddit told me it has lots of GIFs and I would find a surprise. Oh boy, I did it. When I was looking (again) the source code, I saw this:

![I can't figure it out what is](https://thepracticaldev.s3.amazonaws.com/i/ilw4zg1yjv58ijxciaxs.png)

I copy-paste the entire comment and this is the result:

![Big LOL](https://thepracticaldev.s3.amazonaws.com/i/49gkbcamvmqm6487qtos.png)


I know you laughed.

## So

I know most of you with more experience found similar cases like this (maybe more interesting), **can you tell me what did you find**? 

### Update
Thanks for all your comments, I'm LOLing so hard and btw, someone gave me a link and found this one:

```
// stop; Hammertime!
```


PS: When a developer tells you don't mess with him/her, just don't.<span class="emoji-outer emoji-sizer"><span class="emoji-inner" style="background: url(chrome-extension://immhpnclomdloikkpcefncmfgjbkojmh/emoji-data/sheet_apple_64.png);background-position:52.083333333333336% 0%;background-size:4900%" data-codepoints="1f64f"></span></span>
The problem with temporary solutions
Tags: patterns, teamwork
Published: 2017-10-25 15:17:16

---
title: The problem with temporary solutions
published: true
description: Temporary solutions spread like viruses through pattern matching
tags: patterns, teamwork
---

In a way everything in software development are temporary solutions. It's silly to think that one implementation will live on forever. But some temporary solutions are more temporary than others. In an ideal world we have the time and energy to make everything perfect, but in reality it's always a tradeoff. Temporary solutions are a perfectly natural occurrence and if we didn't rely on them we'd never get anything done.

Temporary solutions often don't turn out so temporary. This is a problem, and it shouldn't be all that shocking. We move on and never find the time or energy to come back to it. Overcoming this usually involves reliable testing/monitoring to give people the confidence to make changes, along with the managerial will to accept the importance of "backtracking".

But that is not really the issue I want to talk about. The more difficult problem is the virus that temporary solutions create through pattern matching. In the absence of perfect communication and leadership, software developers rightly rely on pattern matching to contribute to a codebase. This is great a lot of the time. It is how people figure out how to be helpful on their own. Ideally developers will graduate to a greater fundamental understanding of the domain, but if that was a necessary precursor to contribution, we'd never get anything done.

![](https://thepracticaldev.s3.amazonaws.com/i/usx0xodbfclf81ifnoq0.gif)

When a codebase is littered with temporary fixes and implementations, those become guidelines for future contributions and bad approaches spread like viruses. The original implementer typically knows what they see as ideal even if the current approach does not fit the standard. But it's easy to forgive contributors for pattern matching and allow these sorts of contributions with the feeling of "we can keep up this style for now, eventually we'll remedy it". This is a dangerous path to tread.

It is hard to escape our present mindset when contributing code, but we must think of our code direction as something not fully in our control. Assuming any reasonable amount of success, future developers will be all sorts of different people. Experience levels and personality types will vary, and the best we can do today is set ourselves up for success and hope for the best.
Using KeywordQuery with CSOM SharePoint Online
Tags: sharepointonline, search, sharepoint
Published: 2018-09-05 16:05:09

---
title: Using KeywordQuery with CSOM SharePoint Online
published: true
tags: SharePoint Online,Search,SharePoint,sharepoint
canonical_url: https://blogit.create.pt/ricardocosta/2017/10/25/using-keywordquery-with-csom-sharepoint-online/
cover_image: https://i0.wp.com/blogit.create.pt/wp-content/uploads/2017/02/SharePoint-LogoCropped-1.png?resize=1000,420
---

```csharp
string username = "***********";
string pwd = "*********";
string siteURL = "**********";
 
ClientContext context = new ClientContext(siteURL);
Web web = context.Web;
SecureString pass = new SecureString();
foreach (char c in pwd.ToCharArray()) pass.AppendChar(c);
context.Credentials = new SharePointOnlineCredentials(username, passWord);
try
{
    KeywordQuery query = new KeywordQuery(context);
    query.QueryText = "ContentType:Factura AND PrecoOWSCURR>10000";
     
    query.RowLimit = 10;
    query.RowsPerPage = 10;
    SearchExecutor search = new SearchExecutor(context);
    ClientResult<ResultTableCollection> results = search.ExecuteQuery(query);
    context.ExecuteQuery();
 
    foreach (var resultRow in results.Value[0].ResultRows)
    {
        Console.WriteLine("{0}", resultRow["Title"]);
    }
}
catch (Exception e)
{
    Console.WriteLine(e.ToString());
    Console.ReadKey();
}
```

The post [Using KeywordQuery with CSOM SharePoint Online](https://blogit.create.pt/ricardocosta/2017/10/25/using-keywordquery-with-csom-sharepoint-online/) appeared first on [Blog IT](https://blogit.create.pt).
#ACORNHACKVR Global Virtual Reality Hackathon for teens
Tags: hackathon
Published: 2017-10-25 13:21:35

---
title: "#ACORNHACKVR Global Virtual Reality Hackathon for teens"
published: true
description: Calling all mentors!
tags: Hackathon
---

Come mentor teenagers at our Global Virtual Reality hackathon for teenagers taking place during Global Entrepreneurship Week, 18th - 19th November. We are looking for experts in virtual reality (Unity, Unreal, WebVR), tech, UX, marketing and entrepreneurship, to mentor curious teenage minds and help them produce virtual reality and augmented reality experiences to solve social issues that take place in their local communities or worldwide.
[Sign up here](http://acornhackvr.acornaspirations.com)
[https://www.eventbrite.co.uk/e/18-19-november-acornhackvr-virtual-reality-hackathon-for-teens-tickets-38764766460](https://www.eventbrite.co.uk/e/18-19-november-acornhackvr-virtual-reality-hackathon-for-teens-tickets-38764766460)
So who owns what?
Tags: discuss, meta
Published: 2017-10-25 12:07:50

---
title: So who owns what?
published: true
description: Discussion post regarding who owns the content generated by the site users
tags: discuss, meta  
---
Question.  Who owns the content that "we" create and post on this site?

Question.  What rights do we retain when "we" create content and post on this site?

Question.  As users.... what do you think the answers to these questions are and should be?
Confluence is where information goes to die
Tags: discuss, wiki, confluence
Published: 2017-10-25 11:34:39

---
title: Confluence is where information goes to die
published: true
description: Have you ever suffered with Confluence or similar? Then, share your thoughts!
tags: discussion, wiki, confluence
---

If, like me, you've ever worked with Atlassian's tools, namely JIRA and Confluence, you probably had issues with the latter.

Of all the projects I've used it, I always saw the two same problems, that are what bother me the most:

1. Structure/organization of information: I never know where to find what I'm looking for, and I never now where I should put something new.
1. Outdated information: who hasn't run an 'How-to' that breaks something because it's outdated?

I know the tool is not the problem here - because it's one hell of a tool - but we end up always using it wrong, which makes me question what should change.

Have you ever had these struggles? What do you do to fight them, or to even eradicate them? Some other tool? A Confluence manager?

Please share your thoughts. :)
Load Testing using Hey
Tags: hey, go, benchmarking
Published: 2017-10-25 06:48:44

---
title: Load Testing using Hey
published: true
description: 
tags: hey, golang, benchmarking
---
I was trying to benchmark a service that I was building using Apache AB and running into some issues with it (Damn you AB for not supporting HTTP/1.1). I looked up alternatives to AB, and found [hey](https://github.com/rakyll/hey). It's written in Golang and is pretty nifty.

In this post, I will walk you through a setup of golang and hey on your instance and a simple benchmark. Hey requires a Go version of 1.7 and above, and this makes the setup process look time consuming since the yum repo installs Go 1.6, and any Google search to install Go 1.7 will be met with a collection of `wget, tar, export and make`. Fortunately, there's [gvm](https://github.com/moovweb/gvm), which simplifies things for us. 

##Installing Go1.7 and Hey

1. Run `bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)`
This installs GVM.

2. Install Go1.4 and make it default. This is needed because some parts of Go 1.5 and above are bootstrapped, so Go 1.7 needs an existing version of Go to install itself. (If the install step fails, try with `--binary` as indicated [here](https://github.com/moovweb/gvm/issues/287).
`gvm install go1.4`
`gvm use go1.4`

3. Run `gvm install go1.7`

4. Switch to the version required by hey `gvm use go1.7` 

5. Check if you have GOPATH configured using `echo $GOPATH`

6. Install hey. `go get -u github.com/rakyll/hey to install hey`

7. Confirm installation `which hey`

Et voilÃ . We have installed hey.

##A simple benchmark

`hey -n 10 -c 2 -m POST -T "application/x-www-form-urlencoded" -d 'username=1&message=hello' http://your-rest-url/resource`

This opens 2 connections, and sends 10 requests. Each request is a form post with 2 parameters to your resource. Tweak the command to add/remove more flags as you need it.
Using a Proper Text Editor
Tags: gettingstarted, python, editors
Published: 2017-10-25 14:45:26

---
title: "Using a Proper Text Editor"
published: true
tags: GettingStarted,python,Editors
canonical_url: http://scriptingwithpython.com/using-a-proper-code-editor/
---

 ![Using a Proper Text Editor](https://images.unsplash.com/photo-1506680399198-41eb701968bb?ixlib=rb-0.3.5&q=80&fm=jpg&crop=entropy&cs=tinysrgb&w=1080&fit=max&s=9202a2abcfabb6099982c6a30e45c23a)

Hey, you! Yeah, you. Come on over. We need to have a chat. Let's just get a few things out in the open so we can discuss it like adults.

We need to talk about that text editor you might be using.

You should never open or edit a Python file with a program such as Microsoft Word, TextEdit (Mac), LibreOffice, Pages, or any other page layout program. Just say no! It won't work. You will get frustrated. Your code won't run. It won't work. (Did I say that already?) There are pretty much...let's see... zero reasons to open code of any kind in such a program. You are only asking for trouble.<sup><a href="http://scriptingwithpython.com/using-a-proper-code-editor/#fn1" id="fnref1">[1]</a></sup>
[Continue Reading ->](http://scriptingwithpython.com/using-a-proper-code-editor/)
Recommended Text Editors (2017)
Tags: editors, gettingstarted, python
Published: 2017-10-25 14:43:47

---
title: "Recommended Text Editors (2017)"
published: true
tags: Editors,GettingStarted,python
canonical_url: http://scriptingwithpython.com/recommended-text-editors-2017/
---

 ![Recommended Text Editors (2017)](https://images.unsplash.com/photo-1503721827581-14e4c8676769?ixlib=rb-0.3.5&q=80&fm=jpg&crop=entropy&cs=tinysrgb&w=1080&fit=max&s=604885f22567a05e6f4196da11cb76b4)

Looking to try out a new text editor? There are literally hundreds of them out in the wild. When it comes to Python, however, only some are useful.

Here are my 2017 text editor recommendations ranked in from highest to lowest.

[Continue Reading &rarr;](http://scriptingwithpython.com/recommended-text-editors-2017/)
I have a Editor Confession to Make
Tags: editors, python
Published: 2017-10-25 14:38:28

---
title: "I have a Editor Confession to Make"
published: true
tags: Editors,Python
canonical_url: http://scriptingwithpython.com/editor-confession/
cover_image: https://thepracticaldev.s3.amazonaws.com/i/0c4087yerg6z6jzdq3ik.png
---

![I have a Editor Confession to Make](https://www.unixstickers.com/image/cache/data/stickers/vim/vim.sh-340x340.png)

I have to make a confession. I am a hardcore Vim addict. I start using it 10 years ago when I worked on servers and needed to edit files without a mouse. I spent hours connected to these system and learned to use Vim on the command line. I can't get away from it now. I have so much muscle memory learned with the keyboard shortcuts that I feel handicapped without them in other programs.

I'm not alone. I'm not the only Vim user out there. [Read More...](http://scriptingwithpython.com/editor-confession/)
Nevertheless, Annie Coded
Tags: wecoded
Published: 2017-03-07 23:16:43

---
title: Nevertheless, Annie Coded 
published: true
tags: shecoded
---

## I began coding because...

My dad was an engineer and saw a potential in me to become a coder/engineer so he encouraged me to play around with any tech I could get my hands on. 

In middle school, we were given graphing calculators for math class and I wanted to play games on them but the default games had been removed so I learned TI-BASIC to make my own games. In high school, I moved on to HTML, CSS and JavaScript to customize my Xanga page and later build simple websites.

## I'm currently hacking on...

At my day job, I build enterprise software and do full-stack web development. You can usually find me coding in Ruby APIs and Angular JS on the front-end.

As for side projects, I'm a knitter and I'm working on a Vue.js app to show all my projects. I have a degree in electrical engineering as I really like working with hardware so I've also been playing around with Arduino.


## I'm excited about...

Speaking at ChefConf in May! I submitted my first conference talk proposal earlier this year to ChefConf and it was accepted. The title of the talk is **Adding Developers to the DevOps Process**.

## My advice for other women who code is...

Be yourself and value the unique perspective you have. I was *"the cool girl"* to guys I went to school with and worked with for the longest time because I thought it would be best to fit in. I hated hiding who I was and my career actually seems to be on a better path now that I am more willing to be myself. 

Also, take time to mentor others. Knowing how to teach is a valuable skill to have and helps accelerate learning for yourself sometimes. It feels good to help those learning to code or early in their coding careers.
Docker workflow for React/Web applications
Tags: react, docker, frontend, workflow
Published: 2018-01-22 12:15:53

---
title: "Docker workflow for React/Web applications"
published: true
tags: react,docker,frontend,workflow
canonical_url: 
---

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

I have been fiddling with React lately. Built my [website](http://aravindballa.com) on it. I did not face a huge problem while deploying as this is a static site. But, generally we face problems in deployment. It runs on our local, but doesn’t run in production. Common problem,&nbsp;right?

If you know Docker, then you might be wondering, why doesn’t he come straight to the&nbsp;point!

Yes, using Docker, we have the same environment while development and production. Even testing, if you choose to do&nbsp;it.

Using docker for production is easy. We just have&nbsp;to

{% gist https://gist.github.com/aravindballa/8774b9d19eb19a4a5209ae40bdc60751 %}

in the _Dockerfile_ from the current working directory to copy our code to the docker container. This gets all our code in the container and we can run commands in it. All we have to do it is run the container and expose the port on which the server is running. We now can take this container and scale these up from performance if&nbsp;needed.

But, if we want to dockerize even our development workflow, its a bit different.

We have to use the concept of mounting volumes to the container. We mount the current working directory to a directory in the container while starting it by&nbsp;adding

> -v /host/directory:/container/directory

to the `docker run` command. Any changes in the host directory will be reflected in the container as well. So this can be used for development.

So the mixed workflow can consist of two dockerfiles, one for development and one for production. And while running it for development we have to mount the directory to&nbsp;it.

By using this workflow, we can guarantee that the development and production have the same environments.

Keep on&nbsp;Hacking!

* * *
Who Discovers Your Production Errors? Don’t Tell Me It’s Your Users
Tags: testing
Published: 2017-11-02 20:15:58

---
title: "Who Discovers Your Production Errors? Don’t Tell Me It’s Your Users"
published: true
tags: testing
canonical_url: https://airbrake.io/blog/software-testing/who-discovers-your-production-errors
---

After months (or even years) of blood, sweat, and tears, you and your team have finally launched your latest application into production and are basking in the glow of a job well done. And yet, there’s that tiny itch in the back of your minds, nervously waiting and wondering if... [continue reading →](https://airbrake.io/blog/software-testing/who-discovers-your-production-errors)
Django to Phoenix - Part 0: Background
Tags: django, phoenix, docker
Published: 2017-10-24 18:37:24

---
title: "Django to Phoenix - Part 0: Background"
published: true
description: 
tags: 
  - django
  - phoenix
  - docker
---

Hey there, I wrote a website! I was pretty new to web development and I did my best. I wrote it in [Django](https://www.djangoproject.com/) & [Python](https://www.python.org/) as I was already familiar with Python, and Django is a friendly framework with a [good ecosystem](https://djangopackages.org/). It was a great experience. As a beginner, I was happy to have Django there to hold my hand along the way.

However time has passed and I am getting into functional programming. Whilst [functional techniques are possible in Python](https://docs.python.org/2/howto/functional.html), it doesn't feel like a good fit. I've also been reading and listening to people talk about [Phoenix](http://phoenixframework.org/), [Elixir](http://elixir-lang.org/) & the [Erlang](https://www.erlang.org/) Virtual Machine and the combination sounds kind of great. 

So, I'm going to attempt to move at least some of my website, [Tango Timetable](https://www.tangotimetable.com/), from Django to Phoenix.


## Starting Point

The site is entirely in Django, with a couple of [cron jobs](https://en.wikipedia.org/wiki/Cron) for weekly emails. It runs using [Gunicorn](http://gunicorn.org/) behind [Nginx](https://www.nginx.com/resources/wiki/) in a Docker container. I use Docker to simplify deployments as I was finding a 'git-pull & restart' approach to be too fragile.


## Disclaimer

I am comfortable with Python, experienced-but-no-expert in Django and a beginner at Phoenix & Elixir. I'm going to try to document my efforts here in future posts to share my findings but also to hopefully get guidance from others who might know better.