teleren/devto huggingface dataset:
I am Open-sourcing My Startup Idea
Tags: showdev, webdev, opensource
Published: 2019-09-03 20:17:08

---
title: I am Open-sourcing My Startup Idea
published: true
description: I am Open-sourcing My Startup Idea
tags: showdev,webdev,opensource
canonical_url: https://cloudnweb.dev/2019/09/i-am-open-sourcing-my-startup-idea/
---
yeah, you heard it right.. i am open-sourcing my startup idea. before explaining why let me tell you what is the idea. 

As a developer, we all know how hard is it to learn a technology or programming language and become proficient in it. There are lots of resources and tutorials available to learn the programming language or technology.

But, I felt something is still missing in that part. Let me tell you about my experience on learning technology. for the past one and a half year, I have been working as an angular developer. Recently, I joined a new company. There, I have to work on ReactJS(A Switch which I wanted). So, I have to learn ReactJS. I didn't have any Idea about React before. I Accepted it because I wanted to work on ReactJS(Why wanted to Switch from Angular To React, that's a different topic. we can fight about it in another debate:-)

So, I Started to Learn React through lots of tutorials and different resources. Once I get a good grasp of it. I just created a site on my own. [https://github.com/ganeshmani/gmcart](https://github.com/ganeshmani/gmcart)

Then I thought, okay most of the time. it's going to be similar like that and follows a similar pattern. I was excited and confident that I can work on React pretty easily. Everything is going to be what I learned in online tutorial and resources.  

After joining the job, I was wrong. whatever I practiced and learned from online resources are just to understand the syntax of particular programming language.it's like reading the docs and trying it out on our own.

There is something that is more than just building a Todo-List,Calculator App and a Snake Game.

That is **Business Problem Scenario.** Once I started to work on a Production Application. I was able to understand why I do that, why it matters. My previous Angular Experience helped me a lot to understand the Business Problem and My Personal Projects on React(Learning the Syntax) helped me to Solve the Business Scenario using React.

From this experience, I just thought why can't I learn this production problem scenarios in a tutorial or resources. what am I missing?.

Why can't we have a platform like [leetcode](https://leetcode.com/),[TopCoder](https://www.topcoder.com/) for solving just a business problem scenarios which helps me to learn and put it in my portfolio. I am still thinking about that(why).

 To start an initiative to address this problem. I have consolidated all the business problem scenario in a [GitHub Repo](https://github.com/ganeshmani/solve_scenarios).(Feel free to use and star it)

you can create a platform like Leetcode,TopCoder which helps the developer to solve this problem statement(Startup Idea).

Let's Help the developers like us to learn technology by solving a business problem scenario which will help them to land on their dream job.
My Favorite Laravel Links
Tags: laravel
Published: 2019-09-03 20:15:08

- [Laravel News](https://laravel-news.com/) - Great resource for news
- [Jason McCreary's blog](https://jasonmccreary.me/) - Author of Laravel Shift
- [Laracasts](https://laracasts.com/) - Great tutorials
- [Freek Van der Herten's blog](https://freek.dev/) - Founder at Spatie
Rails Global Ids
Tags: rails
Published: 2019-09-14 19:33:14

---
title: Rails Global Ids
published: true
tags: rails
canonical_url: https://github.com/rails/globalid
---

[Rails Global Ids](https://github.com/rails/globalid)

> A Global ID is an app-wide​ URI that uniquely identifies a model instance

I was looking over some ActiveJob docs and came across Global Ids. Not exactly sure how/what I would use it for, but looks interesting.
Django caching
Tags: python, django
Published: 2019-09-03 19:47:58

Caching is faster when it is small amount and since caching is done in a memory like RAM in programming. But i came across this caching in file system. Since the operation in file system is slow why would we cache in file system. FYI, there is this option of caching in file system in Django. Am i reading it in some wrong way or something. Help me. I might have the wrong concept of caching too i think. Anybody can enlighten me here?
Hardest Technical Interview Question You Were Asked In Your Life
Tags: help, career, discuss, interview
Published: 2019-09-03 19:38:03

I figured it might be interesting to start a thread of the hardest technical interview question people were asked. I have had quite a few interviews in the past few years and it never amazes me how hard some questions are, even if I am looking for data scientist roles and not SDE.

> Disclaimer:
> Company names or any confidential interview details will and should not be shared. 

Anyway, the hardest question I was asked ever was to parse a string of a mathematical expression with `+`, `-`, `*`, `/`, `(`, `)` and empty spaces, and calculate the result with consideration of order of operations (Parentheses > Multiplication and Division > Addition and Subtraction). For example, 

````
Input：" 6-4 / 2 "
Output：4
```

```
Input: "1+4*3/(2-6)"
Output: -2
```

It's almost the same question as [LeetCode 772](https://leetcode.com/problems/basic-calculator-iii) (it seems that you need to be subscribed to see the problem description tho). 

For the interview, I have around 45 minutes to solve this recursion problem and handle the case where there is a parenthesis I need to temporarily save the current results in a stack and calculate what's inside the parentheses first, and if I see a `-` or `+`, there might be a higher order operator on the right that needs to be calculated first. And not surprisingly I couldn't figure it out. I was having the most problems with keeping adding up to a global result variable but also maintaining temporary local calculation results. 

What was the hardest question you were asked during technical interviews? Have you ever used BFS, DFS, Dynamic Programming, Simulation, or even LinkedList in your real life? Do you like algorithm interviews? Are you a hiring manager and have thoughts on how to better evaluate candidates? Do you know how to solve the question I failed?
Angular 9|8 File Upload with Progress Bar Tutorial
Tags: angular98, fileuploadwithprogressbar, angularprogressbar
Published: 2020-01-30 11:52:06

---
title: Angular 9|8 File Upload with Progress Bar Tutorial
published: true
tags: Angular 9|8, File Upload with Progress Bar, Angular  Progress Bar 
canonical_url: https://www.positronx.io/angular-file-upload-with-progress-bar-tutorial/
---

The post [Angular 8 File Upload with Progress Bar Tutorial](https://www.positronx.io/angular-file-upload-with-progress-bar-tutorial/) appeared first on [positronX.io](https://www.positronx.io).

Today we are going to learn how to upload a file and **create a progress bar in an Angular 8** app using HttpClient, HttpEvent, and HttpEventType APIs. A progress bar is a graphical UI representation to visualize the progress of programmatic operation such as uploading, downloading, transfer, and installation of a data.

We will be setting up a basic Angular app with Express API and make the Http POST request to send the user name and image to the server. The Primary purpose of this tutorial is to learn how to listen to the progress of the HTTP requests, especially when the data is being uploaded to the webserver.

  [Click here to read more](https://www.positronx.io/angular-file-upload-with-progress-bar-tutorial/)
Git switch command 
Tags: git
Published: 2019-09-03 19:20:02

A `switch` command has been added in the new version of git
Let's look at examples: 

```bash
# switched to <branch>
git switch <branch>

# creates a new <branch>
git switch -c <branch>

# switched to commit 
git switch -d <commit> 

# creates and switches to branch from remote. 
# need to use if branch exists in multiple remotes 
git switch -c <branch> --track <remote>/<branch> 

# switch to a branch even if the index or working tree is different from HEAD
# this is used to throw away local changes
git switch --discard-changes <branch>

# alias for  --discard-changes
git switch -f <branch> 

# switch back to the previous branch before we switched
git switch - 
```

Command available on version Git 2.23.0 or higher
JavaScript the Silly Parts!
Tags: replit, node, webdev, javascript
Published: 2019-09-03 18:53:31

This is a little Code Challenge type Repl I like to give my students. It highlights some of the silly nuances of the language and is great to show some of the nuances of of Scoping and Closure, string and int concatenation, as well as Loose Checked Comparison Operations.

{% replit @OmarSalah95/Silly-Parts-Of-JavaScript %}
Top Developer Goal for 2020 🦄
Tags: vue, discuss, webdev, showdev
Published: 2019-09-03 18:35:28

2020 is around the corner (whelp! in a few months). Every year I set many goals and try to achieve at least 2 of them.

In 2020, I'd like to leverage Vuejs on the enterprise level to build highly scalable web apps and experiences for my employer.

Share your 2020 goal with us here :fire::raised_hands::fire:
Mentoring
Tags: webdev
Published: 2019-09-03 18:28:07

‪Just became a #mentor! Turns out I am knowledgeable to do so. I just have to be more open to people. For so long I have been a shell of a person because I have not landed my first development job, but, that doesn’t mean I am useless. I just have to engage more with the community I am in and put myself out there more. “Into the ether I go man!”(Thank Shaggy’s voice) I have a feeling that everything is going to get better. Just believe and you will eventually succeed.
My take on Redux
Tags: react, redux, webdev, javascript
Published: 2019-09-03 17:14:04

---
title: My take on Redux
published: true
description: Road to cleaner Redux reducers
tags: react, redux, webdev, js
---

After really awesome React and Redux training at work, I’ve decided to create one simple app to solidify my newly acquired knowledge about React and (mainly) Redux and during development, I’ve come across reducer that was starting to be poorly readable (at least for me) so here’s my take on this problem.
Maybe it’s not that bad but I wanted something simpler and more readable.
![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/rklkcps9xts2c4yl2kw1.png)
First of all, ...state at the beginning of every case, I don’t want that but, you can’t get rid of that but you can replace it (well we can get rid of only the … spread operator)! Still, you will be writing something in every case. Can’t we make it just a one-ist function call?
![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/fcu0eqetmpo0ctp7xwql.png)
This will replace object creation in return, we just call this function like this:
![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/vczjkj70311v4a1k9tv6.png)
{ breed: payload } is OK but something with more fields can become less readable. 
Just make something like createState.
![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/apgafbtag9fd3q4fuijs.png)
This will replace FETCH_PICTURES_SUCCESS with just 
![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/twdq27m0hbqsg8l0445o.png)
and the reducer becomes more just function calls.
![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/ft1q79db8rlmxur7f74u.png)
Let’s take one more example. I’ve had this piece od code in my reducer
![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/42efwy8wgd9w80255h9u.png)
and I don’t want that in my reducer, put it in state creator! 
Using this pattern I’ve ended up with really clean reducer and file with functions that I call state creators separated in their own file.

If you are interested here is the app I've made (code is on prod branch).

{% github dudakp/dogBoard %}

[Here is Netlify link for live app](https://goofy-fermi-c0f561.netlify.com/) it's just infinite dog pictures. Nothing special just something for me to practice react and redux.
Let me know what you think about this pattern :) 
Love to see any kind criticism :)
I just solved this coding challenge, but I don't understand why my solution works 🤔
Tags: discuss, help, python, math
Published: 2019-09-03 18:04:05

I've been trying to do one programming challenge a day on Kattis, and I just solved [this one](https://open.kattis.com/problems/faktor). I really had no idea how to solve it at first, so I just played around with the sample input/output data provided and noticed a pattern:

![sample data](https://thepracticaldev.s3.amazonaws.com/i/zi4xlgqek2tu19sj3879.png)

In the final sample, an input of 10 and 10 gives an output of 91: that's `10 * (10-1) + 1)`. Taking the first input to be `x` and the second to be `y`, this gives a formula of `x * (y-1) + 1` which gives the correct output for all the other inputs and passes all test cases:

```python
# https://open.kattis.com/problems/faktor
import sys


def faktor(articles, impact):
    print(int(articles)*(int(impact)-1) + 1)


if __name__ == '__main__':
    a, i = sys.stdin.readline().split()
    faktor(a, i)
```

![test cases](https://thepracticaldev.s3.amazonaws.com/i/5z3qrk68h3hod4f4c179.png)

The thing is, that formula doesn't seem to have anything to do with the question in the challenge. Maybe I'm missing something 🤔
Test your packaging
Tags: python, testing
Published: 2019-09-03 17:20:50

Software development is a process rife with errors. We generally call them bugs, but that's so developers don't feel as bad for messing up. It's much easier to say "oh, that's just a bug" instead of "oh, that's an error."

I made an error not too long ago. In fact, it was an egregious one. The software that I released for MarkWiki had broken packaging. This means ***it was completely broken for anyone who attempted to install it***. Oops. Because of that, I likely lost the confidence of many people who were willing to install it. According to download statistics, over 300 hundred people probably saw my mistake immediately as MarkWiki crashed the moment they tried to run it.

The mistake was completely avoidable. All I needed to do was run the test suite against an installed version, and the error would have smacked me in the face like it did for the 300 other people.

When someone kindly [pointed out the error via GitHub](https://github.com/mblayman/markwiki/issues/13), I decided I should fix the problem to avoid such future embarrassment. The solution to this packaging issue comes via [Travis CI](https://travis-ci.org/), [Tox](http://tox.readthedocs.org/en/latest/), and [virtualenv](http://virtualenv.readthedocs.org/en/latest/). Travis is a service for doing automated builds using "Continuous Integration." All this means is that every source commit to GitHub will trigger Travis to build MarkWiki and run the tests. The automated build is run inside a virtual environment with virtualenv so that each build is isolated (i.e., stuff from one build can't leak into another and affect the build process). Finally, I used Tox. Tox is neat because it is designed to do testing against *installed* packages (sounds appropriate for me, right?).

The process looks something like this:

1. I finish a feature for MarkWiki and push it to GitHub.
2. GitHub tells Travis about the change.
3. Travis creates a virtual environment and calls Tox.
4. Tox builds a MarkWiki package, downloads all the dependencies, and runs the tests.
5. Travis emails me if something fails.

The configuration in my repository was super simple. And the Travis CI team has great documentation for how to connect GitHub and their service.

I needed to add two files to my repository: **.travis.yml** and **tox.ini**.  The entire files are listed below. First, the Travis file:

```yaml
language: python
env:
  - TOX_ENV=py27
  - TOX_ENV=py26
install:
  - pip install tox
script: tox -e $TOX_ENV
```

Second, the Tox file:

```ini
[tox]
envlist = py26, py27

[testenv]
deps = nose
       coverage
commands = nosetests --with-coverage --cover-package=markwiki
```

The setup is simple and future embarrassment is minimized. So, **test your packages!**

This article first appeared on [mattlayman.com](https://www.mattlayman.com/blog/2013/test-your-packaging/).
why the cryptocurrency exchange application development service is unpreventable nowadays?
Tags: cryptocurrency, blockchain, tokenization, fundraising
Published: 2019-09-03 16:48:50

---
title: why the cryptocurrency exchange application development service is unpreventable nowadays?

published: true
description: Cryptocurrency exchange development is a  center of attraction currently since it cuts a processing fee from trading happening on the exchange platform and thus, makes money. 
tags: #cryptocurrency #blockchain #tokenization #fundraising
---
Looking for the most effective cryptocurrency exchange development company can often be quite difficult. And obtaining the most effective software developer for your startup is extremely hardened. Several software developers and firms are there in the market, however, not all of them can give what you need. A cryptocurrency exchange is borderless, not like alternative trading platforms. Also, for cross-border cryptocurrency exchange too, the charge continues to be lowest and integrates all transactions to eliminate any third-party malpractices. Cryptocurrency exchange development is a  center of attraction currently since it cuts a processing fee from trading happening on the exchange platform and thus, makes cash. Here are some pointers on why cryptocurrency exchange development is unpreventable.

Providing centralized crypto exchange that delivers a secure trading platform combined with a robust trading engine for quicker order matching and transaction processing. Our cryptocurrency exchange development services emphasize on diligently integrating first options in terms of security, UI/UX, functionality and measurability, onto a single platform to provide you an edge over your competitors.

Trading fees on crypto exchanges are sort of a two-edged sword. While low or no fees can significantly increase the liquidity of an exchange, it also permits to gain large investors to involve crypto space more easily.

P2P exchange provides good flexibility in a decentralized trading environment where individuals connect directly with individuals, having an Escrow system owned by the Admin. Our P2P cryptocurrency exchange provides a secure, interactive and versatile trading environment and intuitive interface for end-users. The Escrow system releases the crypto assets to the client, making a secure trading experience. Every module is developed using different encryption methods to ensure confidentiality and protection for users.

ALWIN Technologies - reliable <a href= "https://alwin.io">cryptocurrency exchange application development service</a> We provide custom liquidity integration from popular exchanges or exchange of your choice. We ensure that our powerful order routing mechanism handles & execute liquidity for cryptocurrency exchange and also our software backed by a powerful Admin Panel to monitor real-time updates of a crypto exchange platform.
Let's Run a Tor Bridge! Quick Reference Guide
Tags: tor, censorship, linux
Published: 2019-09-03 16:45:23

---
title: Let's Run a Tor Bridge! Quick Reference Guide
published: true
description: What is a Tor bridge, how and where to run it and why it matters
tags: tor, censorship, linux
cover_image: https://thepracticaldev.s3.amazonaws.com/i/5c3picuryddczilsq1fb.jpg
---

In its [recent newletter](https://newsletter.torproject.org/archive/2019-08-30-docsHackathon-run-a-tor-bridge-releases-events/text/) the Tor Project asked for help with setting up new, uncensored bridges. Since this is a good way to contribute to the project, I went ahead and did it. While doing so, I've compiled this quick reference guide on how to run a bridge relay and why doing so is a good idea.  

# What is Tor

[Watch a video overview of Tor](https://www.youtube.com/watch?v=JWII85UlzKw)

**TL;DR**: Tor is a network for circumventing censorship and protecting identity online.

# How Tor works

[Read detailed description of Tor inner workings](https://2019.www.torproject.org/about/overview.html.en#thesolution)

**TL;DR**: The Tor browser connects to a network of publicly-listed interconnected nodes. They toss the packets to each other in a randomized fashion, anonymizing the sender of the packets.

# What does a Tor bridge do

[Read documentation for the Tor bridges](https://www.torproject.org/docs/bridges.html)

**TL;DR**: Bridge relays allow to connect to Tor network even if it's banned by the government. Also, the bridges hide the fact that a person uses Tor.

# Why should you run a bridge

[Read the post asking to run more bridges](https://blog.torproject.org/run-tor-bridges-defend-open-internet)

**TL;DR**: It allows people living in oppressive regimes to have access to the open internet. Free access to information is a basic human right.

# How to run a bridge

1. Rent a VPS or use the one already at your disposal. I found [DigitalOcean](https://www.digitalocean.com/) the most convenient provider to use, but went ahead with [my local provider](https://vscale.io) to reduce the cost of running the relay.
2. Follow the installation instructions. [Docker installation](https://community.torproject.org/relay/setup/bridge/docker/) is the easiest one.

# Monitoring

[Post-install notes](https://community.torproject.org/relay/setup/bridge/post-install/) describe the process. You can also count the number of users by viewing the relay logs. It can take up to several month before your bridge gets its first user. It's advised to be patient and wait until your bridge accumulates users.

**TL;DR**: Go to the [relay search](https://metrics.torproject.org/rs.html), and type in your relay fingerprint. Here's the [example of the page you'll get](https://metrics.torproject.org/rs.html#details/EDA4827F76C8815EE3D33B20E942C69899EACC4E). Bookmark it, and you'll be able to monitor your bridge activity.

---
Big thanks to Philipp Winter of the Tor Project for helping me to set up my first bridge.

If you find yourself in need of advice, don't hesitate to email me to pavel@vergeev.site.