teleren/devto huggingface dataset:
The 7 Most Popular DEV Posts from the Past Week
Tags: top7
Published: 2019-02-04 17:29:20

---
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/sfwcvweirpf2qka2lg2b.png
---
Every Monday we round up the previous week's top posts based on traffic, engagement, and a hint of editorial curation. The typical week starts on Monday and ends on Sunday, but don't worry, we take into account posts that are published later in the week. ❤️

#1. The Great Divide

For anyone who missed the tweet storms, Uli shares a thorough recap on all the conversations that emerged in reaction to Chris Coiyer's recent essay, "The Great Divide."

{% link https://dev.to/ulitroyo/why-everyone-is-fighting-about-cssux-and-js-4cpp %}

#2. Stuff As A Service

Mikhail compiles a fun collection of APIs you may or may not have heard about. 

{% link https://dev.to/mkrl/apis-you-didnt-know-you-needed-38c %}

#3. All About Appearance

Ali introduces us to the power of CSS -- from syntax to layouts to making sites responsive!

{% link https://dev.to/aspittel/css-from-zero-to-hero-3o16 %}

#4. Talking Traits

There's often a lot of confusion surrounding developers titles -- James breaks down the difference between senior devs and lead devs. 

{% link https://dev.to/jamesmh/whats-the-difference-between-a-senior-and-lead-developer-1pl2 %}

#5. Incremental Migration

Kyle explains the core principles of the strangler pattern, when to use the pattern, and how to deploy it. 

{% link https://dev.to/kylegalbraith/how-to-breakthrough-the-old-monolith-using-the-strangler-pattern-63e %}

#6. Write For Humans

Marek shares three perspectives on writing that may resonate with you. Great read for anyone who's looking for some motivation!

{% link https://dev.to/marek/three-arguments-for-why-you-should-write-more-1no6 %}

#7. No Regrets

Burdette announces their retirement and inspires the entire community with their quick retrospective. 

{% link https://dev.to/burdettelamar/retired-apparently-1210 %}

_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!_
Team carousel, Ripple on click, Customer social proof & more | Module Monday 27
Tags: showdev, opensource, webdev, javascript
Published: 2019-02-04 16:18:01

---
title: Team carousel, Ripple on click, Customer social proof & more | Module Monday 27
published: true
description: Module Monday 27
tags: showdev, opensource, webdev, javascript
cover_image: https://res.cloudinary.com/component/image/upload/b_rgb:ffffff,c_lpad,h_350,w_800/v1549061580/team-carousel_siswjt.gif
canonical_url: https://guide.anymod.com/module-monday/27.html
---

## Open-source mods for your next project

Everything below is open source and free to use on any website, web app, or anywhere else. [Anymod](https://anymod.com) has hundreds more like these.

Click a mod to see it along with its source code.

## Customer social proof

Show off your customers & partnerships.

<a class="btn btn-sm" href="https://anymod.com/mod/kddnrm?v=20">View mod</a>

<a href="https://anymod.com/mod/kddnrm?v=20">
  <img src="https://res.cloudinary.com/component/image/upload/v1549059045/as-seen-on_swq60s.gif"/>
</a>

## Responsive table

Editable table that changes layout at different widths.

<a class="btn btn-sm" href="https://anymod.com/mod/dbnnm?v=28&w=458">View mod</a>

<a href="https://anymod.com/mod/dbnnm?v=28&w=458">
  <img src="https://res.cloudinary.com/component/image/upload/v1549062209/responsive-table_50_ul1xme.gif"/>
</a>

## Team carousel

Show off your team in an interactive format.

<a class="btn btn-sm" href="https://anymod.com/mod/baarlk?v=20">View mod</a>

<a href="https://anymod.com/mod/baarlk?v=20">
  <img src="https://res.cloudinary.com/component/image/upload/v1549061580/team-carousel_siswjt.gif"/>
</a>

## Laptop overlay image

Upload an image and it's cropped to the laptop's screen.

<a class="btn btn-sm" href="https://anymod.com/mod/orranl?v=20">View mod</a>

<a href="https://anymod.com/mod/orranl?v=20">
  <img src="https://res.cloudinary.com/component/image/upload/w_500/v1549062992/laptop-image_iellag.png"/>
</a>

## Ripple link

Click to cause a ripple effect on the button.

<a class="btn btn-sm" href="https://anymod.com/mod/allanl?v=20">View mod</a>

<a href="https://anymod.com/mod/allanl?v=20">
  <img src="https://res.cloudinary.com/component/image/upload/v1549062488/ripple-button_mcqzrz.gif"/>
</a>

<hr>

I post new mods [here](https://dev.to/tyrw) every (Module) Monday -- I hope you find them useful!

Happy coding ✌️
FOSDEM experience
Tags: fosdem, freedomofthesoftware, event
Published: 2019-02-04 16:18:01

---
title: FOSDEM experience
published: true
description: my experience at fosdem and a guide to visit teh events.
tags: fosdem, freedom of the software, event
---

I went this weekend to one of the biggest freedom of the software events in Europe: [**FOSDEM**](http://fosdem.org/). This year it was on Brussels, Belgium. It was the first time I went, and I hope it isn't the last one, as I absolutely loved it. I had the chance to give [a speech about IPFS](https://fosdem.org/2019/schedule/event/the_new_internet/) and met the wornderful guys of [Protocol Labs](https://protocol.ai/), but apart from that I met all the organizations I admire such as TOR project, Debian or Mozilla. In fact I approached awkwardly timid to Debian stand fullfiled with admiration. In this post I'd like to offer an _user-guide_ for the event and in general for these kind of events, I mostly attend security ones but this one was wider.

Preparing yourself to assist a tech event is more difficult than you imagine at first. I was resolved to travel with one bag only, but I really wanted to bring all the stuff I needed, not even mentioning the essentials for living those days (hygiene, clothes and such) but my computer, my RPI (to geeky share it? to hack? to whatever), stickers, personal cards, the arduino... The soldering kit maybe...? I seriourly thought about that last one but no. So what should you bring?

- Stickers if you got them, please, everyone loves stickers and it's a great way to break the ice and make contacts.
![Foto de pegatinas](https://thepracticaldev.s3.amazonaws.com/i/7b4jekgutjxf7d2fkwz9.jpg)
- Information about your association if you are enrolled in any. It really pissed me off not to bring some printed information about [Interferencias](interferencias.tech)
- Your computer. You never know, from taking notes to fast-scripting geek moment.
- Notebook and a couple of pencils, smartphones and computers are great but sometimes is not comfortable to let your smartphone to someone to write down their very difficult to write email or contact information.
- Select your most geeky and easy-to-travel-with gadget. You know, for when you get drunk and want to show off.

Apart from that, I **recommend to talk to the people involved in stuff you are interested in**. If you are shy you'll probably think twice before approaching to someone and talk, but totally worth it. Everyone's happy to hear you are interested in their projects so it won't be awkward. When we talk about freedom of the software it involves the _community_, too. In my case I learned about it through a community at the university but it's quite common to keep your community related activity online and that's just fine but these events are a great oportunity to meet in person the same people you meet online. This is a lot of fun.

**What do you think about this? Have you ever gone to a tech event? Did you have fun?**
Web Development: Rust vs Haskell
Tags: rust, haskell, graphql
Published: 2019-02-04 15:52:13

---
title: Web Development: Rust vs Haskell
published: true
description: Experiences in web development using Maybe Rust or Just Haskell
tags: #Rust, #Haskell, #GraphQL
---
How was your experiences in web development using Maybe Rust or Just Haskell?

https://www.reddit.com/r/rust/comments/an11l9/webdevelopement_rust_vs_haskell/
Getting paid per hour or per project? 
Tags: discuss, productivity
Published: 2019-02-04 15:43:18

---
title: Getting paid per hour or per project? 
published: true
description: 
tags: #discuss #productivity
---
Ever since my first job (entering some data into excel sheets during school summer holidays) I've been asking myself this question: "does it make sense to be paid per hour if the work can be finished faster?". 

For example, if you work as a guide, it does make sense to get hourly pay. But if you are doing a set task that produces a concrete result, why are you, in most cases, being paid for the hours?

I always was fast and good with my homework. It made sense to start early and to be efficient because I would get more free time. And I was faster than other people, entering rows in those datasheets. As you can guess, it did not pay off and felt super unfair and stupid (teen's thoughts).

If you are fast and efficient ultimately you get paid less for the same amount of work. And since it might be still expected for you to work full hours it is possible to get overworked and burnt out. Concentrated work is more demanding.

The incentive to be fast is lost. You start conserving energy. Thinking in hours, not in results. You don't get more free time or more money. Maybe you get a promotion a year later if you can keep up the tempo.

On the other hand, if you get paid per project it is really important to have a good estimate of the days (not hours!) you will need to finish it, so you get enough money to go on. And it is notoriously hard to do in the software world. Most of the time you have no idea how much time the project will take to finish, unless it is something standard. So it probably makes sense to pay developers for hours worked, even from the point of view of the developers. 

15 years later, I am still debating this topic with myself. 

It would be nice to hear about your experiences. 
- Did you work in software companies that do not count how many hours you work? Or is this possible only if you are a freelancer? 
- Are you a 'sprinter' or a 'steady' developer? Do you practice deep work? How many hour of it are you capable of pulling off daily/weekly? 
- Which compensation type do you prefer? Maybe both, depending on a case?
First steps for footprinting
Tags: tor, privoxy, footprinting
Published: 2019-02-04 15:19:01

---
title: First steps for footprinting
published: true
description: Footprinting with Tor and Privoxy
tags: Tor, Privoxy, Footprinting
---



Source: https://www.amazon.com/Hacker-7-0-Stuart-McClure/dp/8850332009/ref=sr_1_4?ie=UTF8&qid=1538512511&sr=8-4&keywords=hacking

Recently I've been deepening my knowledge on footprinting, in particular on Tor and Privoxy.
Tor and Privoxy are two softwares that help the user to be almost anonymous on the web.

Some tricks:

- Do not download with Torret.
- Do not open PDF, DOC if not in Virtual Machine.
- Do not resize windows (you can be traced through the screen size).
- Do not enable plugins.
- You MUST use HTTPS connections.

Tor allowes you to hide your IP address via TCP.
It is available at: https://www.torproject.org/
If It was installed correctly, listening on local port 9050.

The second tool is Privoxy. It is a web filtering proxy, It was available at: https://www.privoxy.org/
After installation It was listening on local port 8118.

After installation you need to modify the Server proxy of Tor WebBrowser in this way: PROXY HHTP: 127.0.0.1 PORT: 8118


Happy hacking guys! :)
The True Costs of a Startup Failing
Tags: life, failure, startup
Published: 2022-06-15 17:25:14

---
title: The True Costs of a Startup Failing
published: true
date: 2019-02-04 15:08:00 UTC
tags: Life,failure,startups
canonical_url: https://barretblake.dev/2019/02/the-true-costs-of-a-startup-failing/?utm_source=rss&utm_medium=rss&utm_campaign=the-true-costs-of-a-startup-failing
---

I read an article in Fortune magazine's online site this week titled 'What Happens When a Startup Goes Bust'. The article focused on vendors who don't get paid when startup fails. It gives examples of several small businesses owed various amounts of money in the wake of Bay area food delivery startup Munchery failing. And while the article is interesting in its take on vendors losing out on payments and how venture capital firms should have more accountability, it doesn't even give a single mention to those who end up getting screwed the most when a startup fails: the employees of the startup.

The post [The True Costs of a Startup Failing](https://barretblake.dev/2019/02/the-true-costs-of-a-startup-failing/) first appeared on [Barret Codes](https://barretblake.dev).
Microsoft Flow for Expiration Dates pt. 2
Tags: development, flow, organizationalskills, powerautomate
Published: 2022-06-15 17:25:21

---
title: Microsoft Flow for Expiration Dates pt. 2
published: true
date: 2019-02-04 15:03:00 UTC
tags: Development,flow,organizationalskills,PowerAutomate
canonical_url: https://barretblake.dev/2019/02/microsoft-flow-for-expiration-dates-pt-2/?utm_source=rss&utm_medium=rss&utm_campaign=microsoft-flow-for-expiration-dates-pt-2
---

In the previous Flow post, I walked through using Flow to set up reminders for things you need to keep track of, like expiration dates, renewal dates and so forth. In this follow up, I'll walk through creating a weekly process that emails you a list of  upcoming reminders so you know what's coming in the future.

The post [Microsoft Flow for Expiration Dates pt. 2](https://barretblake.dev/2019/02/microsoft-flow-for-expiration-dates-pt-2/) first appeared on [Barret Codes](https://barretblake.dev).
The 9 Features Your App Will Ever Need
Tags: mobile, discuss
Published: 2019-02-04 15:01:05

## 1. Authentication

Check a users identity. Based on email or _social logins_.

## 2. Authorization

A way to control access to resources. Most of the time we need to restrict access to specific resources.

## 3. Provided Content Delivery

A way to deliver content **we**, or our service partners, create. Like maps, videos, music etc.

## 4. User Content Upload and Delivery

A way to gather content from the users and deliver it back to them. Like blog articles, comments, images, videos, etc.

## 5. Monitoring

Monitoring isn't a feature, but every app needs a way to tell us when it has problems.

## 6. Analytics

Not a feature we can sell either, but it's always nice to know which parts of the app are used, how often, by how many users, etc.

## 7. Offline

Networks are patchy, and many connections are metered, so we need to give users a way to use the app without being online.

## 8. Real-time

Often it's crucial to let users know about updates as fast as possible, especially in IoT or chat apps.

## 9. Onboarding

It's important to give users a way to understand why we created the app, especially if it's not apparent. If we execute this well, people feel taken care of.

And that's it!

What's your opinion?
I need your advice i find it hard to code at work but comfortable coding at home?
Tags: discuss, productivity
Published: 2019-02-04 13:59:17

---
title: I need your advice i find it hard to code at work but comfortable coding at home?
published: true
description: Work environment is great but for some reasons anytime i am given a task at the office i just pretend to be coding but rather surfing the internet but when i get home i get the task done. But anytime i explain this to my boss he does not want to give me the space to work at home. 
tags: #discuss, #productivity
---
Choosing which refactorings to use based on code smells
Tags: cleancode
Published: 2020-01-10 18:40:07

---
title: Choosing which refactorings to use based on code smells
published: true
date: 2019-02-04 13:32:46 UTC
tags: clean code
canonical_url: 
---

This week I finished the excellent interactive course [Dive Into REFACTORING](https://refactoring.guru/refactoring/course), which is based on the famous book „Refactoring“ by Martin Fowler. At the end of the course I even received a nice certificate :-

![](http://www.programming-decoded.com/wp-content/uploads/2019/02/refactoring-certificate.png)

But what is the use of doing a course if one doesn’t know how to apply it to one’s code? The course introduces 66 refactorings which are obviously too many to apply all at once! Originally I was going to title this blog post „My favorite refactorings“, but then I realized that most of them are based on a few code smells, which the course also introduces (21 to be exact).

So my first step was to decide on the worst [code smells](https://refactoring.guru/refactoring/smells) of the code base I want to refactor.

These are:

– Long method

– Primitive Obsession

– Long Parameter List

– Conditional Complexity

Thankfully the course provides a handy cheat sheet that shows you which [refactorings](https://refactoring.guru/refactoring/catalog) to use for a certain code smell. Based on that, I’ve chosen to concentrate on the following refactorings for the moment:

– Extract Method

– Replace Array with Object

– Decompose Conditional

– Remove assignments to parameters

– Replace method with method object

– Replace Type Code with Class

– Replace Magic Number with Symbolic Constant

– Preserve Whole Object

– Introduce Parameter Object

– Replace Nested Conditional with Guard Clauses

– Introduce Null Object

Of course, there are more than 11 refactoring techniques that are useful, but it’s hard to keep all of them in one’s head and I like to start with small steps. To be honest, a lot of the refactorings should actually be common sense, but when one is time-constrained, one can easily get into bad habits and for instance add another line to a method instead of extracting it.

Doing the course I learned that it’s possible to introduce new, different kinds of code smells while refactoring, so I’ll have to go over the various techniques again at a later point.

Alexander Shvets, the creator of this course recently also published a book called “Dive Into Design Patterns” which I’ve began reading. I like his style of explaining how and why to use various techniques. Using design patterns is the next step in writing more maintainable code.
pipreqs: Automatically generate python dependencies
Tags: python, beginners, productivity, tutorial
Published: 2019-02-04 11:42:20

I recently found out this alternative method to automatically generate python dependencies for python project management. 
It generates **requirements.txt** file based on the modules & packages you import in your project.
Through this short tutorial I will give you a brief overview on how to use [pipreqs](https://pypi.org/project/pipreqs/).

## Installing pipreqs
Installation is pretty straight forward.```pip install pipreqs ```

## Usage

To generate a requirements.txt file run.```pipreqs /<your_project_path>/```

![pipreqs](https://drive.google.com/uc?export=view&id=1Lf1sJfl4qTdHuIJAilSyr7VUOgOYej6N)

You can verify that the **requirements.txt** appears in the same folder.

![pipreqs](https://drive.google.com/uc?export=view&id=1HzA9OSeJeWJ2A8maFyUj_wkdAYKEEq4L)

You can also list the requirements in command terminal itself by using
**--print** additional flag.


![pipreqs](https://drive.google.com/uc?export=view&id=1cslm9_LzUSyHVf0SFY9L1Wv3uNn-shQd)

Also for other options you can always run ```pipreqs --help```

Here is the help screen

```
Usage:
    pipreqs [options] <path>

Options:
    --use-local           Use ONLY local package info instead of querying PyPI
    --pypi-server <url>   Use custom PyPi server
    --proxy <url>         Use Proxy, parameter will be passed to requests library. You can also just set the
                          environments parameter in your terminal:
                          $ export HTTP_PROXY="http://10.10.1.10:3128"
                          $ export HTTPS_PROXY="https://10.10.1.10:1080"
    --debug               Print debug information
    --ignore <dirs>...    Ignore extra directories
    --encoding <charset>  Use encoding parameter for file open
    --savepath <file>     Save the list of requirements in the given file
    --print               Output the list of requirements in the standard output
    --force               Overwrite existing requirements.txt
    --diff <file>         Compare modules in requirements.txt to project imports.
    --clean <file>        Clean up requirements.txt by removing modules that are not imported in project.
```

## Why not use pip freeze ?
As the github [repo](https://github.com/bndr/pipreqs) of pipreqs says:
1. **pip freeze** saves all packages in the environment including even those that you don't use in your current project.
2. Also **pip freeze** is harmful.
Read the [following](https://medium.com/@tomagee/pip-freeze-requirements-txt-considered-harmful-f0bce66cf895) post to know more.
Magento 2 Flash Sales Extension with Countdown Timer
Tags: magento2, countdowntimer, magento2flashsales, magento2extension
Published: 2019-02-04 10:28:25

---
title: Magento 2 Flash Sales Extension with Countdown Timer
published: true
description: 
tags: Magento 2, countdown timer, Magento 2 flash sales, Magento 2 extension
---

Magento 2 Flash sales extension with countdown timer allows merchants to run a limited time sales campaign on their Magento 2 stores. They can create a dedicated page for all the upcoming and ongoing flash sales campaigns with customizable banners and countdown timers. With the display of [Magento 2 countdown timer](https://www.fmeextensions.com/flash-sales-extension-countdown-timer-magento-2.html) on products & sales listing page, customers feel a sense of urgency and make purchase decisions within that time. The extension is ideal for events such as Black Friday, Christmas etc.to put attractive discount offers on products. 

Magento 2 flash sales extension allows you to attach specific products or categories to put on sale. You can set a fixed or percentage discount type. Just enter the fixed or percentage amount and it will be applied to all the products you have put on sale. The extension also lets you display customizable labels for upcoming sales. You can also display daily deals on the flash sales page. 

Following are the main features of Magento 2 flash sales with countdown timer extension:

- Create multiple flash sales campaigns
- Restrict flash sales by customer groups & store views
- Creates a dedicated flash sales listing page
- Set fixed or percentage discounts to flash sales
- Set different discount for each product in flash sale
- Display countdown time on product & sales listing page
- Show product sales label on listing page
- Display customizable label on product images
- Add flash sales widget to any page

For demos, visit https://www.fmeextensions.com/flash-sales-extension-countdown-timer-magento-2.html
I need your advice: Interviews.
Tags: beginners, career, interview, discuss
Published: 2019-02-04 10:24:29

---
title: I need your advice: Interviews.
published: true
description: 
tags: beginner, career, interviews, discuss
---
Hello friends, I need your help. I've been pursuing multiple job opening for about 8 months now. One in particular has recently bloomed and the phone interview went well. Peer reviews will be scheduled within 2 weeks.
I could use your advice. Whether it's a link or personal experience. 

How did you get the job, or how did you NOT get it? I would be forever grateful.