teleren/devto huggingface dataset:
The Pomodorito Technique
Tags: joke, career
Published: 2022-10-03 02:10:12

---
title: The Pomodorito Technique
published: true
description: You've heard about the Pomodoro technique; make way now for the Pomodorito techniqu
tags: joke,career
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vrl1x5i6vyvrt983fuc8.png
canonical_url: https://alvaromontoro.com/blog/68016/the-pomodorito-technique
---

You may have heard about the [Pomodoro Technique](https://en.wikipedia.org/wiki/Pomodoro_Technique), **a time management method that consists of repeating work and break intervals** to help keep focus while getting some needed rest. It is pretty popular in the US among tech employees.

The origin of the name is funny: the method's creator used a tomato-shaped kitchen timer to control the work/break blocks (Pomodoro means tomato in Italian). So that is why each work block is called a "Pomodoro."

The method is simple. First, you pick a task and then:

1. Work for 25 minutes.
2. Take a 5–10 minute break.
3. Repeat steps 1–2 four times.
4. Take a more extended break of 20–30 minutes.

I find this a productive time management method. I follow it often and keep a couple of timers at my desk while I'm working (although they are not tomato-shaped.)

## The Pomodorito Technique

Alternatively to the Pomodoro Technique, I introduce you to the tongue-in-cheek Pomodorito Technique (not Lay's affiliated):

1. Eat Doritos for 25 minutes.
2. Work for 5 minutes.
3. Repeat steps 1–2 four times.
4. Take a more extended break to go to the store and buy more Doritos (you probably ran out at this point).

Alternatively, if you have a big stash of Doritos at home, you may use step 4 to take a nap. All that eating is exhausting, and some nice sleep will make digestion easier.

![Graphic comparing the Pomodoro and Pomodorito techniques](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ho8dusk1fqj466brs094.png)

While the Pomodorito Technique is more of a joke, it may be a good burnout index. **If you find yourself trying the Pomodoro Technique but quickly spiral into the Pomodorito Technique, it may be about time to take some vacation… or start looking for a new job!**


<hr/>

<p>
Read more silly web development comics and cartoons on <a href="https://comicss.art">comiCSS</a>.
</p>
Playwright with Cucumber/JUnit 5 - @BeforeAll @AfterAll @Before @After
Tags: java, testing, cucumber, playwright
Published: 2022-10-03 00:27:34

### @BeforeAll @AfterAll @Before @After

In the TestContext class we have a method annotated with @BeforeAll, this method will be called before any of the tests are run. These are things we want to do that are resource and time intensive and only want to do once. In this case we are initializing Playwright and the Browser classes on the computer to set up the framework and the browser.


```java
    @BeforeAll
    public static void beforeAll(){
        playwright = Playwright.create();
        browser = playwright.chromium().launch(new BrowserType.LaunchOptions() // or firefox, webkit
                .setHeadless(false)
                .setSlowMo(100));
    }
```

Method marked as @AfterAll is called after all the tests are run, and in this case we would like to close the Browser and Playwright so that they do not continue to use up resources.

```java
    @AfterAll
    public static void afterAll(){
        browser.close();
        playwright.close();
    }
```

Method marked as @Before is called before every test. In this case we want to open a new browser context for each test. Browser Contexts provide a way to operate multiple independent browser sessions. A page is a session in a browser context and we are creating one for each test.

```java
    @Before
    public void createContextAndPage(){
        browserContext = browser.newContext();
        page = browserContext.newPage();
    }
```
Method marked as @After is called after every test. In this case we want to close the browser context after each test.

```java
    @After
    public void closeContext(){
        browserContext.close();
    }
```

As always code is on available on [Github](https://github.com/terencenmnpan/TestAutomation/tree/main/PlaywrightCucumberExample)
Playwright with Cucumber/JUnit 5 - Feature File
Tags: cucumber, testing, playwright, java
Published: 2022-10-02 23:48:12


### Feature File <a name="feature"></a>

Cucumber steps are actions that a user can be imagined to take. Given is what actions are used to set up the test. When is what actions are taken to do the testing. Then is what result you want to see. For the 3rd example, we are intentionally filling out the form with the wrong result and expecting a certain error message to show up.

Cucumber allows annotations to tag what grouping you want your tests to belong to. This allows easier searching when you generate your reports later on.

Scenario outlines allow the same scenario to be run multiple times using the Examples section as a dataset.

In the below example we are testing a happy path. The user starts off navigating to the page using the **Given** step. The user then fills in the form with the When step. The site requires the user to make a calculation to prove they are not a robot so we calculate it, fill in the sum and hit submit. These are implemented with **When** steps. The **Then** step is to verify the submission was successful.

```cucumber
Feature: Register for Demo Request
  @HappyPath
  Scenario Outline: User is able to request a Demo
    Given User navigates to PHPTRAVELS Demo Page
    When User fills in Demo Request Form <firstName>, <lastName>, <businessName>, <email>
    When User calculates and fills result
    When User clicks submit
    Then Verify thank you text
    Examples:
      | firstName | lastName | businessName | email               |
      | "ABC"     | "DEF"    | "Main Inc."  | "whatever@main.com" |
```
Now for the below step, it's almost the exact same except we are intentionally not filling out the calculation. In this case we are testing the page's validation. The **Then** step in this case is verifying the correct alert is displayed to the user.
```cucumber
  @Validation
  Scenario Outline: User is able to request a Demo but does not fill out result
    Given User navigates to PHPTRAVELS Demo Page
    When User fills in Demo Request Form <firstName>, <lastName>, <businessName>, <email>
    When User clicks submit
    Then Verify alert "Please input result number"
    Examples:
      | firstName | lastName | businessName | email               |
      | "ABC"     | "DEF"    | "Main Inc."  | "whatever@main.com" |
```

As always code is on available on [Github](https://github.com/terencenmnpan/TestAutomation/tree/main/PlaywrightCucumberExample)
Playwright with Cucumber/JUnit 5 - Intro
Tags: testing, playwright, cucumber, java
Published: 2022-10-02 23:43:05

## Background
I recently had to evaluate a bunch of old TestNG/Selenium UI test automation projects that were not maintained at all. We figured it would be a good idea to evaluate a bunch of different options to migrate the tests to an easier to maintain framework. Playwright was one option we considered. This series is to document example code of how our projects were setup.

## Playwright
Playwright like Selenium WebDriver is cross platform, cross browser and available in different languages. But the setup is much easier, you do not have to download web driver binaries and maintain those versions like in Selenium WebDriver. 

Playwright many conveniences as compared to Selenium WebDriver. By default Playwright will auto-wait before performing an action like click. On many sites, it may take a few seconds to wait and with Selenium WebDriver, the code may try to click immediately after the site is navigated to. This would cause an exception where the element is not found. Playwright will wait for the element to appear before clicking. Selectors also pierce Shadow DOM which will help with interacting with Shadow DOM elements like Chrome's print dialog or settings navigation.

##Cucumber
We also would like to make these tests understandable by business analysts and other nontechnical staff as well. So we can incorporate the Cucumber framework as well to organize the tests. Cucumber is a Behavior Driven Development testing tool which aims to allow tests to be written in plain language and parsed to run test code. The Cucumber tests use Steps which represent user actions and are directly linked to code, in this case Java Playwright code. This has the advantage of allowing nontechnical staff to more easily understand the test deck, possibly make changes and add test scenarios without having to use up developer time.

## Prerequisites
For this tutorial it is expected you have an IDE like Intellij or Eclipse. For Eclipse, it is recommended you use a plugin: [Cucumber Eclipse Plugin](https://marketplace.eclipse.org/content/cucumber-eclipse-plugin). This plugin is maintained by the Cucumber developers. This allows you to step through features to the code and run features through Eclipse. Intellij Ultimate has the plugin installed and enabled by default. If you are using community edition, you will need to install the [Cucumber plugin](https://www.jetbrains.com/help/idea/enabling-cucumber-support-in-project.html#cucumber-plugin).

So let's get started, I wanted to cover as much ground as I can for what you may need to know for an actual work project so this will be a series. This tutorial covers Intellij and Chrome, but you can easily use Eclipse and Firefox or Edge instead.


As always code is on available on [Github](https://github.com/terencenmnpan/TestAutomation/tree/main/PlaywrightCucumberExample)
Performing merges in Izyum
Published: 2022-10-02 23:34:36

## Overview
This week's task was to implement two features for the existing product, for me it is [izyum](https://github.com/Myrfion/izyum), which is my ssg tool. 

## Issues
I decided to implement following feature: 
- Support converting markdown line to html horizontal line hr - https://github.com/Myrfion/izyum/issues/13
- Add support for inline code blocks - https://github.com/Myrfion/izyum/issues/14

## Development
The development of the first feature didn't take a lot of time, it was just basically the condition which checked if line had three or more dash symbols and replaced it with hr html tag. 

The second feature implementation wasn't complicated too, just a regex which found markdown code symbols and replaced them with html code tags. 

## Merging
The merge process of the first branch was smooth. After all, it didn't have any merge conflicts with the main branch because it was up to date with the main branch. https://github.com/Myrfion/izyum/commit/5ddf36f47e5a0873677e8f9de91d8d04400f8b22

Merging of the second branch was more complicated, because of conflics in index.ts and readme.md files, so I had to resolve these conflics. VS Code has pretty good tooling for merging conflicts resolving, so it wasn't complicated to do so.
https://github.com/Myrfion/izyum/commit/52f68f49e48e4d3a14f1c8c7ea8a28fc5d350d15

## Conclusions
Resolving merge conflicts is always a pain, but the practice I see helps to reduce this pain to keep your branch as up-to-date as possible.
Before Bootcamp
Tags: beginners
Published: 2022-10-02 22:39:43




![dentals](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pozi8kl9xixtkongj8et.jpeg)
 Before joining Flatiron, I worked in the field of veterinary medicine.  Being a vet technician was a career that started out as a passion, where I could focus my love and affection towards animals of all shapes and sizes in their rehabilitation and medical treatments. However, throughout six years of the industry, I had come to a point of dragging myself to work with a lack of motivation. Working ten hour days, six days a week, I realized I had lost my spark. Ultimately, I had to accept I was burnt out from always being understaffed, lack of recognition, low pay, and overall physical fatigue.  

 Since the pandemic years of 2020, there was always a seedling of thought for a career change. I thought of going into nursing, possibly starting a cooking channel on social media, or breaking into tech. I spent those late nights in bed looking up "How to switch careers" and "How to get into the tech industry". I didn't take it seriously. These initial thoughts had previously always been shot down and discouraged by those around me. I was always being told that the risk was too great for my age, and the grass was not always greener on the other side. I started to genuinely believe a person like me wouldn't be able to learn something new, completely out of my specialty. 

Despite my hesitations, my curiosity and interest towards software engineering continued to grow. After focusing my research on S.E., my stars began to align. I was meeting people who were software engineers, people who graduated from a Bootcamp and are now doing what they enjoy and living a healthy lifestyle. I knew I deserved that for myself too. I knew I was capable of doing the same thing as long as I set my heart to it. I decided I was not going to let another person tell me if I can or can't succeed in the tech world. I decided to enroll in Flatiron. 

 Now I haven't proved the negative voices wrong yet, but what I can prove is that I have a new interest and drive. These past four months, were difficult beyond belief. Highlighted by early mornings and late nights, I constantly had to fight through bugs, error codes, and an ever-imposing sense of doubt. However, despite all of this, I'm now on the verge of completing the Flatiron course for software engineering. Along the way, I've met good people, created healthy habits, and most importantly, I've gained coding skills that will last a lifetime. This skill and experience that I've acquired, I will take and manifest it. It's up to me to continue to grow after Bootcamp. The next step won't be easy but I'm excited for what's to come.
Is it just me or is Source Tree garbage now?
Published: 2022-10-02 22:01:19

Source tree is driving me mad.  If I try to delete some files, it freezes.  It constantly moves the focus from the stashes I am looking at, to the feature branch or whatever.  Do the devs who write this, use it?

I just tried to apply a stash and it applied a DIFFERENT one.  Now trying to click on the stash to see it, freezes Source Tree
Week #1: Procrastination
Tags: firestarters, global, sideprojects
Published: 2022-10-02 21:11:11

## What is all about?

My presence here is a part of the [Firestarters](https://transparentworld.pl/firestarters/) Global Quest that I joined recently. And this is the summary of the first week (or first 10 days to be more specific). More about the idea and rules of this Quest I will post soon.

## Who am I?

I am a simple 9to5 employee in a big tech company. I like my job, but also often consider how to do something more. Following [Miroburn](https://www.instagram.com/miroburn/) and his progress, I wanted to start my own side hustle. I want to check how it is to be my own boss, build something from scratch. Or maybe this is not my path? One way or the other, I know now that I will earn a lot. Even if it will be only experience.

## Summary

In the beginning, there was a lot of procrastination and catching up everything on the dedicated Discord. But, as a holder of the [eduworlds](https://eduworlds.com/en/) NFT, I finally started with the course “Test Your Idea and Find Your First Customer”. Now, I am learning, taking notes and plan next steps. This course is really great.

For now, the calculations are very simple:
**Expenses:** 0 PLN
**Incomes:** 0 PLN

*Above all, try something.* - Franklin D. Roosevelt

<!-- This won't show up in the content! -->
Programming Update: Sept 2022
Tags: programming, go
Published: 2022-11-03 22:15:42

---
title: Programming Update: Sept 2022
published: true
date: 2022-10-02 21:08:51 UTC
tags: programming,Go,Golang
canonical_url: https://www.ericsbinaryworld.com/2022/10/02/programming-update-sept-2022/
---

This month I wanted to practice Go outside of Advent of Code puzzles. So I decided I would port over my [Dreamhost DNS updating script from Python](https://github.com/djotaku/dreamhost_dns) to Go. This would have the advantage of being a compiled program. Every time I update Python on my system, the virtual environment points to the wrong Python version and my program breaks. But, boy is parsing JSON in Go (at least with the built-in JSON tools) a real pain in the butt. I have to make a struct to hold and parse the data, but it comes back from Dreamhost as a 1-key dictionary holding an array of dictionaries. After a few hours of trying to figure out how to get Go to parse the JSON I was still unable to get the struct right. I may do a little debugging to see if I can figure it out before searching for any simpler JSON libraries.

That’s all the programming I did in September since I was a bit busy with some other hobbies and family stuff. But with Hacktoberfest in full swing in October, I fully expect to do a decent amount of programming in that month.
Why printscreen if you can download the image
Tags: chrome, plugin, javascript, image
Published: 2022-10-02 20:38:51

Imagine if you can download the image in one click?
Here how: https://chrome.google.com/webstore/detail/pick-local-3/nplodennkgeinenkelplnlkljjlcijgd?hl=en&authuser=0
“Engineers don’t need an idea to start a company” - a Unicorn Founder Reveals What Edge Devs Have in Starting Companies
Tags: devops, career, management, productivity
Published: 2022-10-02 20:30:42

{% youtube vhurk2ZCozA %}

A great idea can be a very valuable thing, but it can only go so far if it's not properly executed. Daniel Marashlian, CTO / Co-Founder of Drata, joins Dan Lines to discuss how you don't need an idea to start a software company, just the ambition and experience of an aspiring engineering leader, and how engineers already have natural technical leadership skills. Watch the full episode from the Dev Interrupted Podcast here: https://www.youtube.com/watch?v=K_ce_YmtJUw

Visit Drata at https://drata.com/

-------------------------------------

## [You’re invited to Interact on October 25th!](https://devinterrupted.com/event/interact/?utm_source=dev.to&utm_medium=referral&utm_campaign=202210%20-%20Event%20-%20Interact%20-%20Referral%20-%20Distro%20-%20Podcast%20Blog)

*Want to know how engineers at Slack and Stripe connect their dev teams’ work to the business bottom line? Or how team leads at Shopify and CircleCI keep elite cycle time while minimizing dev burnout and maximizing retention?*

*These are just two of the topics we’ll tackle at [Interact](https://devinterrupted.com/event/interact/?utm_source=dev.to&utm_medium=referral&utm_campaign=202210%20-%20Event%20-%20Interact%20-%20Referral%20-%20Distro%20-%20Podcast%20Blog) on October 25th.* 

*A* ***free, virtual, community-driven engineering leadership conference,*** *[Interact](https://devinterrupted.com/event/interact/?utm_source=dev.to&utm_medium=referral&utm_campaign=202210%20-%20Event%20-%20Interact%20-%20Referral%20-%20Distro%20-%20Podcast%20Blog) is a one-day event featuring over 25 of the most respected minds in development, all selected by the thousands of engineering leaders in the Dev Interrupted community.* 

## [Register now!](https://devinterrupted.com/event/interact/?utm_source=dev.to&utm_medium=referral&utm_campaign=202210%20-%20Event%20-%20Interact%20-%20Referral%20-%20Distro%20-%20Podcast%20Blog)


![Register now!](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/p9xpvwbw5xfawom98qga.jpg)
3 Android Studio plugins for productive development
Tags: android, productivity, analytics, mobile
Published: 2022-10-02 20:06:59

<h2>Rainbow brackets</h2>
The codebase usually gets bigger and bigger and you should take care of nested for loops or some other nested function scopes. This plugin will color every scope you have with the different brackets color so you can easily track in which scope you are working. [Read more about this plugin](https://github.com/izhangzhihao/intellij-rainbow-brackets).

<h2>WakaTime</h2>
This is my favourite one. It tracks how much time you spent on your project, on which classes and which lines of code. There is free and paid version so you can choose which features you want. I am currently using free version and it's great! If you want to know how much time you spent daily on some tasks or you should log your time if you are working in a company which requires logging, then just try it. 
[Read more here](https://wakatime.com/developers)

<h2>Json to Kotlin</h2>
Another great plugin that helps you generate Kotlin classes out of nothing 🧐. Just kiddin'. If you provide any JSON string/JSONSchema or any URLs that returns a JSON string/JSONSchema as a response you can generate the classes. It saves so much time. But anyway, sometimes you should refactor a bit if you have too much repeating data classes which are redundant. [Read more here](https://github.com/wuseal/JsonToKotlinClass)

<h2>Key promoter X</h2>
Title said three, but you get to fourth one. Bonus plugin for the long term investment in learning the AS shortcuts.
If you want to be more productive, you should learn to use shortcuts in Android Studio. This plugin will alert you everytime you open something in AS if there is a shortcut for that action. You can, of course, disable alerts but the more you have it, the more you learn. If there are no shortcuts for some action, the Key promoter X will provide option for your custom shortcut. 
[Read more here](https://plugins.jetbrains.com/plugin/9792-key-promoter-x)

Happy coding! 

You can follow me on: 

- [LinkedIn](https://www.linkedin.com/in/boris-janevski/)
- [Github](https://github.com/borYans)
Release 0.8.0 of Ebirah
Tags: perl, docker, release, opensource
Published: 2022-10-02 19:59:54

---
title: Release 0.8.0 of Ebirah
published: true
description: Perl Dist::Zilla Docker Encapsulation experiment
tags: perl, docker, release, opensource
# cover_image: https://direct_url_to_image.jpg
# Use a ratio of 100:42 for best results.
---
I have just uploaded Ebirah 0.8.0 to DockerHub.

I mentioned this upcoming release in by announcement on [release 0.7.0](https://dev.to/jonasbn/release-070-of-ebirah-213n). The release is a maintenance release updating the [Dist::Zilla](https://metacpan.org/pod/Dist::Zilla) distribution acting as the core component in Ebirah from `6.017` to `6.025`. This just stabilize some of the issues I have observed with my various Perl distributions failing their CI jobs.

Next up an update to [GitHub Action for Perl's Dist::Zilla](https://github.com/marketplace/actions/github-action-for-perl-s-dist-zilla) which is the GitHub action powered by Ebirah and used by my various Perl repositories.

Change log:

## 0.8.0 2022-10-02 Maintenance release, update recommended

- This release updates the dependency: [Dist::Zilla](https://metacpan.org/pod/Dist::Zilla) from version `6.017` to `6.025`, please see the [change log](https://metacpan.org/dist/Dist-Zilla/changes) of [Dist::Zilla](https://metacpan.org/pod/Dist::Zilla)