teleren/devto huggingface dataset:
Creating Annoying Popups Part 1
Tags: html, javascrip, css, webdev
Published: 2023-02-02 02:44:56

I've seen a few tutorial videos on web development, so I'm hooked. But I'm in a place that developers call tutorial hell. Tutorial limbo? Regardless, it's a bad place to be. So I'll need to start working on some projects to see if I can:

1. Recall
2. Understand
3. Apply

If I can get through this, I'll be officially out of tutorial limbo.

First thing first, let's set up the HTML boilerplate. 

{% codepen https://codepen.io/codecharms/pen/BaPGPKx %}

Next, let's make it look pretty, so people will be more willing to sell us their souls. 

## Set the site aesthetics
During the setup of the page's colors, I wanted to try having a lighter background, so I found a CSS property that would have a way to adjust the transparency of a color. The first property I saw was `opacity,` but this did _too_ much. Not only did it  change the background's transparency, but everything in the container did.

The second was `rgba`. This had a fourth value, `alpha` that set the transparency of the text from 0 to 1. I finally sat at 0.6 for the final value. 

## Setup the Portal of Souls
Currently, the layout isn't annoying; the popup is at the bottom of the page, and it needs to be in the middle so that viewers can only view the content if they sell their souls. To do that, we'll need to make some classes for the popup. The particular property it'll have will be `position: fixed`. This will remove the popup from the flow and set it to a fixed position on the page. Hence the name "fixed."

```
.pop-up {
    position: fixed;
}
```

Currently, there is no effect on the popup, but if we add the following properties: `top, right, bottom, left`, we can set the position of the popup. You'll only need to use one horizontal and one vertical property. Using all four won't affect the positioning but will have other unintended circumstances.

```
.pop-up {
    position: fixed;
    top: 500px;
    bottom: 500px;
}
```

There is an issue when setting pixels. There will be a point when you resize the window that the popup will disappear. We don't want free souls looking at our content. We'll need to make it, so the popup stays in the middle of the page. This can be done by setting the `top, bottom, left, right` properties to 0 and adding the `margin` property, and putting it to auto will have the popup stay in the center regardless of the size of the window.

```
.pop-up {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}
```
{% codepen https://codepen.io/codecharms/pen/dyjQaeo %}

Alright, this is pretty triggering. In part 2, we'll review some javascript to make the site interactive by adding some buttons and making the popup appear a few seconds after the viewer has tasted the content; then, we'll steal their soul!
Calling Parent Contracts
Published: 2023-02-02 02:39:28


**Calling parent contracts in Solidity** can be a powerful tool for developers, allowing them to build upon existing functionality while also adding new functionality to their contracts. The most common method for calling parent contracts is through the use of the "super" keyword. 
This keyword allows a child contract to call a function from its parent contract, even if the function has been overridden in the child contract.

For instance, let's consider a parent contract "Animals" that has a function "isAlive()" which returns a boolean value indicating whether the animal is alive or not. A child contract "Dogs" could inherit from the "Animals" contract and override the "isAlive()" function to include additional functionality, such as checking if the dog is trained:

```
pragma solidity ^0.6.0;
contract Animal {
    function isAlive() public view returns (bool) {
        return true;
    }
}

contract Dog is Animal {
    bool public isTrained;

    function isAlive() public view returns (bool) {
        if (super.isAlive() && isTrained) {
            return true;
        }
        return false;
    }
}
```

In this example, the "Dog" contract uses the "super" keyword to call the "isAlive()" function from its parent contract, "Animals". The child contract can then add additional functionality to the function, such as checking if the dog is trained, before returning the final value.
However, it is important to be cautious when calling parent contracts, as this can also pose security risks. Developers must ensure that calls to parent contracts are made only by authorized parties and that sensitive information is properly protected. They should also be aware of the potential for reentrancy attacks and take appropriate measures to prevent them.

> In conclusion, calling parent contracts in Solidity can provide a useful way to extend functionality while also maintaining code maintainability. By using t


The "super" keyword, developers can easily call a parent contract's function, even if the function has been overridden in the child contract. However, it is important to consider security and take appropriate measures to protect sensitive information and prevent reentrancy attacks.
10 Tips to ensure faster CI/CD pipelines
Tags: devops, devjournal, developers, infrastructure
Published: 2023-02-02 02:38:00

In my 5 years of working as a DevOps engineer, the speed of CI/CD pipelines has been among the biggest complaints.

Here are 10 tips to ensure that your pipelines run well within 20 mins:


## 1. Instrument Everything: 

Instrument your build pipeline with spans and traces so you can see where all your time is going. ALWAYS. Instrument.

## 2. Order Your Tests: 

Order tests by time to execute and the likelihood of failure.

## 3. Test Only Changes: 

Don’t run all tests, only tests affected by your change. It will improve CI/CD pipeline significantly faster.

## 4. Reduce Scope: 

Similarly, reduce build scope; if you only change front-end code, only build/test/deploy the front end, and for heaven’s sake don’t fuss with all the static asset generation.

## 5. Don't change availability regions: 

Don’t hop regions or zones any more than you absolutely must. This may lead to unpredictable latency issues when running the pipelines.

## 6. Remove unnecessary tests: 

Prune and expire tests regularly, don’t wait for it to get Really Bad

## 7. Refactor tests:
 
Combine functionality of tests where possible — tests need regular massages and refactors too.

## 8. Care and Intention: 

Optimized CI/CD pipelines require care and intention to make them faster. Make sure to setup a cadence to do it regularly.

## 9. Use Shared Environment: 

You do not need multiple non-production environments in your CI/CD process. Push your artifacts to S3 and pull them down from shared environment.

## 10. Measure Time Elapsed: 

Set a time elapsed target for your team, and give it some maintenance any time it slips by 25%.

In my experience, some of these tips end up reducing the time for pipeline runs by more than 50%. Incorporating them from the start may help you to not face them at all.

Thanks for reading this.

If you have an idea and want to build your product around it, schedule a call with [me](https://calendly.com/pragyanatvade).

If you want to learn more in DevOps and Backend space, [follow me](https://dev.to/pragyanatvade).

If you want to connect, reach out to me on [Twitter](https://twitter.com/pragyanatvade) and [LinkedIn](https://www.linkedin.com/in/pragyanatvade/).
DorisSummit2022: MPP Query Execution Model&Vectorized Execution&Adaptive Execution&Memory Management
Tags: database, datascience, analytics, opensource
Published: 2023-02-02 02:26:24

In this lecture at DorisSummit2022, you will go through the technical implementation behind the Apache Doris execution model and performance optimization, as well as the new memory management framework implemented in the latest version.

## Apache Doris
Apache Doris is a real-time analytical database based on MPP architecture, known for its high performance and ease of use. It supports both high-concurrency point queries and high-throughput complex analysis. (https://github.com/apache/doris)

## SelectDB

SelectDB is a cloud-native real-time data warehouse developed based on the Apache Doris open source project by the same key developers. The SelectDB company focuses on the enterprise-grade cloud-native distribution for Apache Doris.

## Follow us:

https://linktr.ee/apachedoris

Apache Doris @GitHub
https://github.com/apache/doris

Apache Doris Website
https://doris.apache.org/

Apache Doris @ Twitter
https://twitter.com/doris_apache

Apache Doris @ Medium
https://medium.com/@ApacheDoris

Apache Doris @ Dev.to
https://dev.to/apachedoris

Apache Doris @ Reddit
https://www.reddit.com/user/ApacheDoris

SelectDB Website
https://en.selectdb.com/

SelectDB @ Twitter
https://twitter.com/Select_DB

SelectDB @ Reddit
https://www.reddit.com/user/SelectDB

SelectDB @ Dev.to
https://dev.to/selectdb
Hyrum's law
Tags: tutorial, architecture, cleancode, softwareengineering
Published: 2023-02-02 02:15:14

You are making a small, harmless change to the code. You stop, you know that you'll upset someone. Have you ever felt this way? This is exactly what Hyrum's law states:

*“With a sufficient number of users of an API,
it does not matter what you promise in the contract: 
all observable behaviors of your system will be depended on by somebody.”*

To understand it better, let's analyze the elements involved.

**What is an API? An API is the boundary between the user and the product/service.**

The API of a TV remote control is composed of its buttons. They are used by users who don't need to know what's happening inside the remote control. What happens inside the remote control is called "implementation". What's the advantage of this distinction? The advantage is that the implementation can change without the user having to worry about it.

**The contract of an API is the set of guarantees about the product/service provided to the user.**

Simply put, the remote control in question guarantees us to have an on/off button, two buttons to increase and decrease the volume, two buttons to switch to the previous and to the next channel.

Suppose the first implementation of the remote control doesn't have battery charge controls. When the charge is low, the remote control continues to work as long as you get close to the receiver. In the second implementation, the remote control stops working if the battery charge is less than 25%.

Even though these aspects are not covered by the contract, with a sufficiently large number of users, we will have the following scenario:

an user of the **first implementation** guesses that if the remote control doesn't work, he can approach the receiver to make it work. If the remote control continues not to work, then he must replace the batteries.

The same user, switching to the **second implementation** expects the same behavior. If the remote control doesn't work, he approaches the receiver to make it work. However, the remote control still doesn't work because in this case the implementation is based on the battery level and not the distance from the receiver. The user incorrectly concludes that the remote control or the receiver don’t work, but not that the batteries are dead.

That’s a case of Hyrum's Law: an API user is relying on an observable system behavior, even though the API contract doesn't guarantee it.

In software engineering, this law is also known as the "Law of implicit interfaces". It should be considered during the evolution of a system that needs to ensure **backward compatibility**. Both changes to the contract (explicit interface), and changes to other observable system behaviors (implicit interface) can break it.

The effects of this law can be mitigated in two ways: the API provider should limit exposure of observable system behaviors not described in the contract, and the user should rely only on the API contract. This makes it easier to introduce changes in a system.

[https://www.hyrumslaw.com](https://www.hyrumslaw.com/)
How I take notes
Tags: productivity
Published: 2023-02-02 01:46:00

# Keep notes close to code

I keep notes in the same directory as code. This makes it easy to reach. Here is a sample for notes taken when working on Wireshark:


![Text notes in code directory](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/r8o4wgda69o4pcn65f8z.png)

The newest notes are at the top of the file. This results in less scrolling to see recent notes or add new notes.

Each logical section is separated with the line containing `--`.

I use a global `.gitignore_global` to ignore this file from git. The file is named `KEVINALBS-README.md`.

# Keep TODO lists and Open Questions on paper

I find hand writing TODO lists helpful. It permits checking off a TODO list item.

I write Open Questions on paper in this format:


![Handwritten notes](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/f50hghlrbhf0jjzzyfh8.jpg)

The "A:" with empty space means it is an open question. I check off the "Q:" when the question is answered. I think I am more likely to remember Open Questions when I hand write them. That cues me to look for answers if I see them. Hand writing is a larger barrier than typing. I am more likely to make a shorter and clearer question when hand writing. 

# Draft external communication

I draft descriptions for Pull Requests in my text editor. This permits writing them as I work on code. Example:


![PR with description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t7to8kfu4pjiw6gwsc54.png)

I draft descriptions for Jira tickets in my text editor. Jira does not have a "save draft" feature. And often I may not have all information, or time / energy to write a full ticket in one sitting.
What is globus bank transfer code 2023
Published: 2023-02-02 01:45:51

[https://www.bankfanz.com/globus-bank-transfer-code/](https://www.bankfanz.com/globus-bank-transfer-code/#utm_source=backlinks&utm_medium=search&utm_campaign=darry+ring+us&utm_content=Michelle)

https://plaza.rakuten.co.jp/globusbankcode1/diary/202302020000/
https://www.provenexpert.com/what-is-globus-bank-transfer-code-20234/
https://www.producthunt.com/@globus_bank
https://www.divephotoguide.com/user/globusbankcode4
https://wakelet.com/@Whatisglobusbanktransfercode2023409
https://vocal.media/authors/what-is-globus-bank-transfer-code-2023-cs7k7d0ugu
https://www.lifeofpix.com/photographers/globusbankcode4/
https://seedandspark.com/user/what-is-globus-bank-transfer-code-2023-3
https://rosalind.info/users/globusbankcode4/
http://phillipsservices.net/UserProfile/tabid/43/userId/196933/Default.aspx
https://app.roll20.net/users/11580397/what-is-globus-bank-transfer-code-2
https://speakerdeck.com/globusbankcode4
https://social.msdn.microsoft.com/Profile/What%20is%20globus%20bank%20transfer%20code%202023%204
https://camp-fire.jp/profile/globusbankcode4
https://plazapublica.cdmx.gob.mx/profiles/Globusbankcode4/activity
https://www.metal-archives.com/users/globusbankcode4
https://storium.com/user/globusbankcode202304
https://trabajo.merca20.com/author/globusbankcode4/
https://www.intensedebate.com/people/Globusbankcode4
https://www.mifare.net/support/forum/users/globusbankcode4/
https://pinshape.com/users/2565805-globusbank4
http://foxsheets.com/UserProfile/tabid/57/userId/119581/Default.aspx
https://www.kompasiana.com/globusbankcode4
https://www.credly.com/users/what-is-globus-bank-transfer-code-2023.eba4add5/badges
https://www.myminifactory.com/users/globusbankcode4
https://www.sqlservercentral.com/forums/user/globusbankcode4
https://www.longisland.com/profile/globusbankcode4
https://www.zintro.com/profile/what-is-globus-bank-transfer-code-2023-4
https://guides.co/a/what-is-globu-6157
https://myanimelist.net/profile/globusbankcode4
Girls Rule the World, Why Not Tech?
Tags: career, beginners, challenge, discuss
Published: 2023-02-02 01:41:39

Ladies and gentlemen, it's time to face facts - girls rule the world. From politics to the arts, women are making waves and breaking down barriers in all walks of life. But there's one area where they're still underrepresented, and it's a crucial one: technology.

In a world that's increasingly powered by technology, it's more important than ever that women are involved in shaping its development and future. But why aren't more girls entering tech? Well, there could be a number of reasons.

For starters, there's a persistent stereotype that technology is a "man's world". This stereotype leads to a self-fulfilling prophecy, where girls are discouraged from pursuing careers in tech before they even start. But the fact is, girls have just as much ability as boys when it comes to technology. In fact, studies have shown that girls often perform better than boys in subjects like mathematics, which is a key foundation for a successful career in tech.

Another barrier is a lack of role models. When girls don't see other women working in tech, they might not consider it as a viable option for themselves. But this is changing. Every day, there are more and more women who are breaking into the tech industry and making a name for themselves. We just need to make sure that these role models are visible and accessible to the next generation of girls.

Finally, there's a lack of resources and support. Many girls simply don't have access to the same tools and opportunities as boys, and they might not have anyone in their lives who can help guide them into tech. But this is something that we can change. By providing more resources and support to girls, we can help level the playing field and give them the chance to succeed in tech.

So, why not tech? Well, the truth is, there's no reason why not. Girls have the talent, the drive, and the passion to succeed in technology. All they need is a little bit of support and encouragement to get started.

So, let's do our part. Let's help girls take over the tech world, one line of code at a time.

[Why We Need More Girls in Tech](https://www.girls.ng/2023/02/why-we-need-more-girls-in-tech.html)
Original article on [Girls Rule The World, Why Not Tech?](https://www.girls.ng/2023/02/girls-rule-world-why-not-tech.html)
Should I learn ReactJS in 2023?
Tags: react, frontend, software
Published: 2023-02-02 00:35:27

> My takes on how being a frontend (React.JS) developer feels like, so far.



![React Code](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/adnyde2ylk27wxqxwbdm.jpg)



As a frontend developer, ReactJS gave me the power to bring creative ideas to life and shape the way people interact with technology. The journey of a frontend React developer is not only challenging, but also incredibly rewarding, if you do it right. 

With ReactJS, you have the unique opportunity to create dynamic, user-friendly, and visually appealing web applications the easiest way possible. 

One of the biggest advantages of working with React is its versatility. You can use React to build everything from simple static websites to complex web applications, and you can develop for multiple platforms, including web, mobile, and desktop. This gives you the opportunity to work on a wide range of projects, and the flexibility to adapt to the ever-changing needs of the industry.

React is also a constantly evolving technology, which means that you'll never run out of things to learn. The React community is also incredibly supportive, with a wealth of resources, tutorials, and forums that can help you grow as a developer.

Also, having TypeScript under your belt as a react developer makes you feel like you literally have wings. Typescript is like RedBull to react. Hehe. All the same, this shouldn't discourage you from still going ahead with the good old JavaScript.

Being able to write React is a highly in-demand skill, and there are numerous opportunities to advance your career. Whether you're looking to take on more responsibility, explore new technologies, or simply earn a higher salary, there's no shortage of opportunities available.

In conclusion, being a React developer is a rewarding and exciting career choice. With the constant evolution of technology, the supportive community, the ability to work on projects that align with your values, and the flexibility and financial rewards, there's never been a better time to become a frontend React developer. So, if you're interested in technology and have a passion for building great user experiences, consider making React development your next career move! Embrace your journey as a React developer and enjoy the ride!!

Cheers!!!
FreeBSD disable stereo sound
Tags: a11y, freebsd, audio, surroundsound
Published: 2023-02-02 00:20:00

We have two ears, so we hear the world in stereo. Two ears give us a sense of distance and direction. Therefore, the [FreeBSD](https://www.freebsd.org) Operating System provides and enables multichannel audio by default, popularly referred to as "surround sound". Properly, by default only 2 channels are enabled: "s16le:2.0, Stereo, 2 channels (left, right)".

Unfortunately, stereo audio is quite useless and annoying for a person with single sided deafness or unilateral hearing loss. Some utility allows to select mono, for example, [vlc](https://www.videolan.org/vlc/) (port/package [multimedia/vlc](https://www.freshports.org/multimedia/vlc/)):

![vlc main menu: Audio -> Stereo Mode -> Mono](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zaxp7292wfwlj7otqwjq.png)


Not all utilities are so advanced. Fortunately, the FreeBSD Audio Subsystem is very powerful. It is possible to select mono for each device via:
```default
# sysctl dev.pcm.%d.play.vchanformat="s16le:1.0"
```

where _%d_ is a device number listed by:
```default
$ sysctl dev.pcm
```

To automatically set the mode each time the machine boots (let's say for the device number 3), add to /etc/sysctl.conf.

```makefile
# Mono for device 3
dev.pcm.3.play.vchanformat=s16le:1.0
```

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


Laptops typically have two speakers (left and right). The speaker to "bad" ear can be annoying for people with unilateral hearing loss. Fortunately (again), the FreeBSD Audio Subsystem is very powerful. It is possible to set the volume for each speaker, for example, via [mixertui](https://gitlab.com/alfix/mixertui) (port/package [audio/mixertui](https://www.freshports.org/audio/mixertui/)):


![Volume bar in muxertui: left speaker 85, right speaker 0](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/swc1ou7j4lxq46ev6r4n.png)

To save pressing 'p' key and to load/set after a reboot
(without starting the TUI):
```default
$ mixertui -p audio-profile.conf
```

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

**Important**. Refer to the [sound(4)](https://man.freebsd.org/sound/4) manual and the [Sound](https://wiki.freebsd.org/Sound) Wiki Page to know more about FreeBSD audio features and customizations.
[question] Could security ever be considered a true part of software quality?
Tags: security, discuss
Published: 2023-02-02 00:08:13

As a reformed software developer who now lives in the space between software creation and security I spend a lot of time thinking about _why_ security is often considered separately to other elements of quality in our software. I wrote a longer post about this at [Should software security be part of quality?](https://safestack.io/blog/software-security-and-quality)

For example: 
In a peer review of a pull request we will automatically look for things like poorly structured or performing code but for many teams, security review happens later (sometimes by another team entirely.

I'd love some thoughts from the dev.to community - 

**> How can we make security part of our 'ilities' and an essential part of our software process?**
(without needing specialists or expensive tools).
Legacy Java on OSX 10.15+
Tags: beginners, java
Published: 2023-02-02 00:00:47

One of my classes requires a program that runs on Java 6. 

These [instructions](https://www.l3harrisgeospatial.com/Support/Self-Help-Tools/Help-Articles/Help-Articles-Detail/ArtMID/10220/ArticleID/23780/Mac-OS-Catalina-1015-ENVIIDL-and-Legacy-Java-6-Dependencies) worked for me. 

I had a hard time finding them; hopefully linking it my incredibly popular blog will boost it in search results :P