teleren/devto huggingface dataset:
All the good Domain Names are Gone..?!
Tags: website, domain, branding, marketing
Published: 2023-09-22 02:18:22

It doesn't seem that long to me, but I registered the first domain (cyrcus.com) in 2002 and started building websites. I don't want to say "everything was better in the past", but can you imagine what a huge choice of top level domain names we still had back then? Apart from the fact that in the beginning the internet was much more experimental, carefree, animated and colorful.

I'm annoyed today that I wasn't forward-thinking enough. Some really good domain names were available back then that I wish I had today. The bad part is that most of these awesome short and generic .com domains aren't even in use. They simply bob along without content until someone comes along who pays a utopian price.

Then there are sites like directory[dot]com. I know the owner fleetingly for many years, but he never seems to want to do anything really useful with this great domain.

## Domains that are properly used:

- login.com (I would really like to know the price, it's for sale, too!)
- developer.com
- javascript.com
- coder.com
- html.com
- templates.com
- snippets.com
- ceo.com
- nerd.com
- frontend.com
- marketing.com
- freelancer.com
- backend.com (since it's "backend.com" it doesn't need a frontent ;))


## Domains that are cool but already taken and totally abandoned:

- coding.com
- programmer.com
- css.com
- webspace.com
- webmaster.com

Of course, today there are many other domain extensions, but if we are honest: Most of the good and short generic names have all been bought by the big players by now. There is hardly anything left to create short domains with 3-4 characters that make any sense. At least if you consider that Google and other search engines still prefer .com .net or country specific domain extensions like .de or .es.

For example, if I create a domain "costaricabusiness.club" and then it goes viral advertising. How would people pronounce it? Costa Rica business dot club, right? That's weird, I think. Maybe I'm too old though, haha. I just think "Costa Rica Business Club Dot Com" sounds much cooler....

Many people are also still used to the "old scheme", and are far from knowing all the domain extensions. So if I want to start a new project in 2023, I really need to take my time and think carefully about which .com domain I may need to create with hyphens or filler words to best represent the project.

## What are your experiences with domain name search?

I would be especially interested in the opinion of the younger generation born after 2000, when the best .com domains were already all "on sale" or "in use". What are your favorite domain extensions? Do you prefer to hyphenate domain names to then use .com, or do you just go with another extension that isn't as tried and true?

What are your best .com or .net alternatives?
ASP.NET MVC Core Template
Published: 2023-09-22 01:31:01

https://github.com/AltomDevelopment/Developing_With_.NET/tree/main/.NET_Core_MVC/Template_App/MVC_Template

Created a complete MVC Core Template that you can easily download the code for and begin building you own MVC Application.

The Login and Signup forms are completly setup and function properly, all you have to do is reverse engineer the TestingDatabase Model and connect your database, or create your own Users table.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4o2czj2353btxsd6eh1m.PNG)

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/w6qxm75y2kibb670vg13.PNG)
Arrow Icons: Directing the Digital Discourse
Published: 2023-09-22 01:28:35


Within the digital kaleidoscope of icons, arrows stand as fundamental navigators, guiding users across interfaces, indicating directions, or prompting actions. They're not just simplistic indicators; they're powerful symbols with layers of meaning. Crafting these icons demands a combination of clarity and aesthetic agility.

**1. Directional Precision**
The primary role of an arrow is to denote direction, whether it's pointing upwards to symbolize 'upload', rightwards for 'next', or encompassing a circle for 'refresh'. Its geometric integrity must be unequivocal, ensuring instant directional clarity for users.

**2. Refined Simplicity**
The grace of an arrow icon emanates from its uncomplicated form. Stripping it down to its essence, devoid of excess ornamentation, results in an easily recognizable and effective design, irrespective of its context.

**3. Tonal Integration**
While arrows often serve functional roles, their color and styling should dovetail seamlessly with the larger interface. Opting for universally understood shades, such as grays or blues, can be balanced with an interface's overall color scheme for optimal visual cohesion.

**4. Scalable Consistency**
From minuscule breadcrumb navigators to prominent carousel sliders, arrow icons must maintain their clarity and function across diverse scales and placements.

**5. Contextual Adaptability**
Different scenarios might demand variations in arrow design. An arrow for a dropdown menu might differ from one indicating a swipe action. It's essential that, even with variations, the core symbolism remains consistent.

**6. Evolution Through Feedback**
Post-deployment, it's pivotal to harness user insights and interaction metrics. Understanding how users engage with and perceive arrow icons can be instrumental in refining designs for future iterations.

In summation, arrow icons, while seemingly elementary, shoulder the responsibility of guiding digital journeys. They are cardinal points in the vast sea of digital interaction. Their design, hence, must straddle the delicate balance between intuitive symbolism, aesthetic sophistication, and user-centric functionality. The arrow, in its silent simplicity, orchestrates the symphony of user navigation.
https://icons8.com/icons/set/arrow
Force Enable Copy and Paste on Websites! JavaScript Bookmarklet
Tags: bookmarklet, javascript, beginners, quicktips
Published: 2023-09-22 00:29:16

I despise websites that disable copy/paste functionality. I understand that forcing users to type in their information manually is one way to make them verify their information is correct, but it's a horrible user experience. Here is the bookmarklet that I use to get around this limitation.

## Table of Content
* [forceEnableCopyPaste.js](#forceenablecopypastejs)
* [Usage](#usage)
* [Understanding The Code](#understanding-the-code)
* [Warning and Disclaimer](#warning-and-disclaimer)

---

## forceEnableCopyPaste.js

The bookmarklet is a JavaScript code snippet that disables the website's function that disables copying and pasting. When you activate the bookmarklet, it attaches event listeners that override these restricting functions.

```javascript
javascript: (function () {
  const forceEnableCopyPaste = (e) => {
    e.stopImmediatePropagation();
    return true;
  };

  ['paste', 'copy'].forEach(event => {
    document.addEventListener(event, forceEnableCopyPaste, true);
  });
})();
```

---

## Usage

Initial Setup
1. Copy the `forceEnableCopyPaste.js` code block
1. Go to Bookmark manager (`chrome://bookmarks/`) > Click on the `⋮` at the top-right-corner
1. Click `Add new bookmark` & paste the code in the URL field

Disabling Copy-Paste Restrictions
1. Go to the website where you want to enable copy-paste
1. Click on the bookmarklet to activate it
1. Enjoy copying & pasting!

---

## Understanding The Code

Let's dissect the code to understand how it works:

```javascript
const forceEnableCopyPaste = (e) => {
  e.stopImmediatePropagation();
  return true;
};
```

The function `forceEnableCopyPaste` is an event handler that takes an event object `e` as its argument. The function stops the immediate propagation of the event by calling `e.stopImmediatePropagation()`. This prevents other listeners from handling the event, negating any website-specific code restricting copy-pasting.

```javascript
['paste', 'copy'].forEach(event => {
  document.addEventListener(event, forceEnableCopyPaste, true);
});
```

Here, an array containing two strings, `'paste'` and `'copy'`, represents the event types. For each event type, `addEventListener` attaches the `forceEnableCopyPaste` event handler to the `document`. The `true` flag signifies that the listener will be invoked during the capture phase, making it harder for website-specific code to stop the event propagation.

---

## Warning and Disclaimer
* ⚠️ Using this bookmarklet on certain websites may break other functionalities, thus rendering the website unusable.
* ⚠️ Using this bookmarklet on certain websites may violate their terms and conditions.
* ⚠️ Always respect the intellectual property rights and terms of service of websites you visit.
Connect 4 Python terminal game
Tags: python, beginners
Published: 2023-09-22 00:20:17

This is a program that I created as a part of my portfolio task for Code Academy. 
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zerhmgzewnpejz8457in.png)
Here is the class that I made to represent the "board" for connect 4 using a list to represent the columns of the board and a function to print out the board.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wi8ccrsqamcyp19fpmm6.png)
Here is the function I used to search the board for a connect 4. I ended up using a brute-force method searching each row, column and possible diagonal for 4 in a row.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2pgf4jw51bcs217fl3hj.png)
Here is the function I used to place the pieces on the "board". I would get the input from the terminal then replace the first available space in the column they chose to place their piece in.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u3x996bgylr0wszga7pf.png)
Here is the main code that was used to run the game and get input from the user.


Here is a link to my GitHub code:
https://github.com/ryanfriedrich1/connect4

**Conclusion**

This was a fun small project that I made that is a simple Python terminal game. Some of the main struggles that I faced were figuring out how I would create the "board" in the code and ended up using a list of the columns. Another struggle that I faced was figuring out how I would find a connect 4 but ended up using a brute-force method since the data isn't too complicated. I could have made it slightly faster in hindsight by seeing if it was searching through empty spaces and ending the search then.
Bakeree IPFS stands at the forefront of IPFS NFT Storage innovation.
Tags: nft, art, blockchain, ipfs
Published: 2023-09-22 00:20:16

Bakeree IPFS is at the forefront of IPFS (InterPlanetary File System) NFT Storage innovation, pioneering a new era of secure and decentralized solutions tailored specifically to the diverse needs of NFT collectors, artists, and developers.

In an age where digital assets hold immense value, the security and integrity of these assets are paramount. IPFS technology, with its distributed and tamper-proof storage capabilities, has become a game-changer in the world of NFTs. Bakeree IPFS recognizes the potential of this technology and has harnessed its power to provide cutting-edge solutions.

For NFT collectors, Bakeree IPFS ensures that their prized digital collectibles remain safeguarded against data loss or manipulation. Artists can benefit from the reliability of IPFS to maintain the authenticity of their digital creations. Developers, too, can leverage Bakeree IPFS to build applications and platforms that rely on decentralized file storage.

By seamlessly integrating IPFS into our offerings, Bakeree IPFS guarantees not only security but also accessibility. NFTs stored on IPFS can be easily retrieved and shared, ensuring that the art, collectibles, and digital assets held by our clients are not only protected but also readily available for enjoyment and monetization.

With Bakeree IPFS, the future of [IPFS NFT Storage](https://bakeree.io/ipfs-plans/) is in safe hands, where innovation and security go hand in hand to empower the digital creators and collectors of today and tomorrow.
Static Code Analysis for Shell Scripts (or Protecting Yourself From Foot Guns)
Tags: vscode, shell
Published: 2023-09-22 00:09:58

---
title: Static Code Analysis for Shell Scripts (or Protecting Yourself From Foot Guns)
published: true
description: ShellCheck, a static code analysis extension for VS Code
tags: vscode, shell
# cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/p4k8fl8nlm5lggxcdp2a.png
# Use a ratio of 100:42 for best results.
# published_at: 2023-09-21 20:27 +0000
---
I ran across [ShellCheck](https://www.shellcheck.net/), a static code analysis tool for shell scripts, the other day. Turns out there’s a [vscode extension](https://marketplace.visualstudio.com/items?itemName=timonwong.shellcheck) for it, too.

It's really helpful to point out where you should be double-quoting variable substitutions (or maybe you used a single quote because you thought it works the same) among many other [pitfalls](https://mywiki.wooledge.org/BashPitfalls) in writing shell scripts.
![ShellCheck example](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/p4k8fl8nlm5lggxcdp2a.png)
CodiumAI or Codeium, Which are you looking for?
Tags: general
Published: 2023-11-10 19:26:56

---
title: CodiumAI or Codeium, Which are you looking for?
published: true
date: 2023-09-22 00:05:26 UTC
tags: General
canonical_url: 
---

So, a friend recommended you try Codium because it is just plain awesome, but when you search online, you find two generative AI tools: CodiumAI and Codeium...

CodiumAI (www.codium.ai) focuses on code integrity. We analyze your code and generate meaningful tests to catch bugs before you ship. Our tool supports all programming languages.

Features:
Generate high-quality unit tests suite automatically to improve code quality
Analyze your code
Suggest code modifications
Add docstring automatically
Run tests and automatically find potential bugs and suggest fixes
Calculate behavior coverage
Testing specific UI/UX, which allows interaction and customizing tests
Support for 20+ programming languages
Integration into popular IDEs and web editors
Support through Discord Community
Additionally, Our PR-Agent is an open-source tool that helps developers review pull requests faster and more efficiently, offering features like auto-description, auto-review, and more.
Code Generation (e.g., chat) will be provided by CodiumAI soon (23’Q4), which will be similar to other code generation tools such as Codeium but coupled with Code Integrity methods.

Codeium focuses on code acceleration and provides code completion tools in over 20+ languages.

Features:
Unlimited single and multi-line code completions
Chat code generation interface that allows the generalization of naive unit test
Explain and refactor code
Support for 20+ programming languages
Integration into popular IDEs and web editors
Support through Discord Community

While both CodiumAI and Codeium offer valuable services in the code generation domain, our focuses and offerings are distinct. We hope this blog post helps you distinguish between the two and make informed decisions. For more information about CodiumAI, feel free to visit www.codium.ai or reach out to our Discord.

The post [CodiumAI or Codeium, Which are you looking for?](https://www.codium.ai/blog/codiumai-or-codeium-which-are-you-looking-for/) appeared first on [CodiumAI](https://www.codium.ai).
Turning on REST API for WooCommerce
Tags: restapi, wordpress, security, woocommerce
Published: 2023-09-21 23:09:53

What's up, folks!

In this article, you'll discover how to activate the REST API for your WooCommerce site.

## Ready to dive in? Let's roll:

1. Head over to your WordPress Admin Dashboard.

2. In order to access REST API end points you must change your permalinks style from plain to any other format.

3. Navigate to WooCommerce -> Settings.

4. Inside WooCommerce Settings, find the "Advanced" tab.

5. In the "Legacy API" section, you'll come across an option labeled "Enable REST API." **Don't** check this box. This API is deprecated and not suitable for new projects. The WooCommerce Legacy REST API uses a different JSON format for request and response bodies compared to the modern WooCommerce REST API. It also relies on Basic Authentication instead of OAuth for security.

6. **Save Changes:**
Once you've made sure not to enable the deprecated REST API, scroll down to the bottom of the page and hit the "Save changes" button. This step activates the REST API for your WooCommerce site.

Voilà! You've successfully enabled the REST API for your WooCommerce site, opening the doors to communication with various applications like a React front-end or mobile apps for Android or iOS.

Don't forget to configure authentication and permissions for your API to ensure data security and control over its functionality.

Stay tuned for more WooCommerce wisdom!

-George Murphy
Voronoi Diagram
Tags: mathematics
Published: 2023-09-21 23:02:14

A Voronoi diagram, also known as a Voronoi tessellation, is a geometric structure that divides a space into regions based on the closest proximity to a set of input points or sites. Here are some key details about Voronoi diagrams:

_Definition:_ Given a set of points in space, a Voronoi diagram partitions the space into polygons or regions, where each region represents the area that is closer to one specific input point than to any other point in the set.

**Properties:**

Each Voronoi polygon is associated with a single input point and contains all the points that are closer to that input point than to any other.
The boundaries of Voronoi polygons are equidistant between the two nearest input points.
Voronoi diagrams can be applied in both two-dimensional (2D) and three-dimensional (3D) spaces.

**Applications:**

_Geographic Information Systems (GIS):_ Voronoi diagrams are used to divide a geographic area into regions served by the nearest facilities, such as hospitals, schools, or service centers.
Nearest Neighbor Analysis: They help identify the closest facility or point to any given location in a space.
Pattern Recognition: Voronoi diagrams are used to analyze spatial distributions and classify points based on their proximity to reference points.

_Mesh Generation:_ In computational geometry, Voronoi diagrams are used to create meshes, which are used in various simulations, such as finite element analysis.
Construction:

There are several algorithms for constructing Voronoi diagrams, including Fortune's algorithm for 2D spaces and various extensions and adaptations for higher-dimensional spaces.
The construction process typically involves iteratively adding Voronoi edges, vertices, and polygons based on the input points.

_Complexity:_

The computational complexity of constructing a Voronoi diagram depends on the dimension of the space and the number of input points. In 2D, the most common scenario, algorithms can achieve a time complexity of O(n*log(n)), where 'n' is the number of input points.

_Delaunay Triangulation:_ Voronoi diagrams are closely related to Delaunay triangulations. Delaunay triangulation of a set of points connects them to form non-overlapping triangles, and the edges of these triangles correspond to the Voronoi edges.

Overall, Voronoi diagrams are powerful tools for spatial analysis and have applications in diverse fields, including geography, computer science, engineering, and natural sciences, where proximity and spatial relationships are important considerations.
Convex Hull
Tags: mathematics
Published: 2023-09-21 22:59:02

A convex hull is a fundamental concept in computational geometry, and it refers to the smallest convex polygon or polyhedron that encloses a set of points or other geometric objects in space. In two dimensions (2D), it is a convex polygon, while in three dimensions (3D), it is a convex polyhedron. The convex hull problem involves finding this smallest convex shape that encompasses the given set of points.

Key characteristics and details about convex hulls include:

_Convexity:_ The convex hull is always convex, meaning that for any two points within the hull, the line segment connecting them lies entirely within the hull. This property ensures that the hull does not have any "dents" or concave portions.

_Efficiency:_ There are several algorithms for computing the convex hull of a set of points, with the most famous being the Graham's scan algorithm, the Jarvis march (gift wrapping) algorithm, and the QuickHull algorithm. These algorithms have varying time complexities, with some being more efficient for specific scenarios or data distributions.

_Applications:_ Convex hulls have applications in various fields, including computer graphics, geographic information systems (GIS), pattern recognition, robotics, and computer-aided design. For example, in GIS, they are used to find the boundary of a geographical region, while in robotics, they help plan collision-free paths for robots.

_Complexity:_ The computational complexity of finding the convex hull depends on the algorithm used and the number of points in the input set. In the worst case, the complexity can be O(n^2) or O(n*log(n)), where 'n' is the number of input points.

_Incremental and Divide-and-Conquer Approaches:_ Convex hull algorithms can be broadly categorized into two types: incremental and divide-and-conquer. Incremental algorithms build the hull incrementally by adding points one by one, while divide-and-conquer algorithms divide the set of points into smaller subsets, compute their convex hulls, and then merge them to find the overall convex hull.

_Higher Dimensions:_ While the concept of a convex hull is most commonly associated with 2D and 3D spaces, it can be extended to higher dimensions as well, where it involves finding the smallest convex polytope that encloses a set of points.

Overall, the convex hull problem is a fundamental problem in computational geometry with a wide range of practical applications, and it has been extensively studied, leading to the development of efficient algorithms for its computation.
Geometric Algorithms
Tags: robotics, computerscience, mathematics
Published: 2023-09-21 22:56:49

Geometric algorithms are a class of computational algorithms designed to solve problems related to geometric objects and their relationships in space. These algorithms are used in various fields such as computer graphics, computer-aided design, robotics, geographic information systems, and more. They deal with geometric primitives like points, lines, polygons, and shapes in 2D or 3D space.

Here are some common tasks and problems that geometric algorithms address:

_Convex Hull:_ Finding the smallest convex polygon that encloses a set of points. This is useful in various applications like pattern recognition and image processing.

_Point-in-Polygon:_ Determining whether a point is inside or outside a polygon.

_Line Segment Intersection:_ Detecting if two line segments intersect in space.

_Voronoi Diagrams:_ Dividing a space into regions based on the closest point from a set of input points. This has applications in facility location and mesh generation.

_Delaunay Triangulation:_ Partitioning a set of points into non-overlapping triangles such that no point is inside the circumcircle of any triangle. This is often used in finite element analysis and mesh generation.

_Collision Detection:_ Determining if two or more geometric objects (e.g., polygons, circles) intersect or collide.

_Robot Motion Planning:_ Planning the path of a robot or object in a 2D or 3D space, avoiding obstacles.

_Computational Geometry in 3D:_ Extending geometric algorithms to three-dimensional space for applications like 3D modeling, computer-aided design, and 3D gaming.

Geometric algorithms are fundamental in computer science and are essential in solving problems that involve spatial data and objects. They often require efficient data structures and mathematical techniques to perform their calculations accurately and quickly. These algorithms play a crucial role in various real-world applications, ranging from GPS navigation systems to video games and computer-aided manufacturing.