teleren/devto huggingface dataset:
Enhancing archives navigation, step 1
Published: 2023-06-15 14:29:04

---
title: Enhancing archives navigation, step 1
published: true
date: 2020-10-26 14:16:23 UTC
tags: 
canonical_url: https://nicolas-hoizey.com/articles/2020/10/26/enhancing-archives-navigation-step-1/
---

I decided years ago to remove paged navigation (aka "pagination"), because I find it not user friendly at all, and a nightmare for SEO with new content pushing one tenth of contents to another page (for a 10 items per page pagination). Now, I improved the UX even further.

Here's how the month by month navigation was presented earlier, in the page bottom:

![The ugly and not user friendly months navigation before](https://nicolas-hoizey.com/articles/2020/10/26/enhancing-archives-navigation-step-1/months-pagination-before.jpg)

While it was OK for the year by year navigation, such a full months list was really not user friendly, so I intended to enhance it a little.

Instead of "just" a little, I finaly chose to present this navigation with facets in a search engine, with the possibility to combine a filter for the content type, and another for the year or month of publication:

![A much more user friendly months navigation](https://nicolas-hoizey.com/articles/2020/10/26/enhancing-archives-navigation-step-1/months-pagination-after.jpg)

For example, you can navigate to the links I published in March 2019: [/links/2019/03/](https://nicolas-hoizey.com/links/2019/03/).

I find it so easy to navigate, I wonder why I didn't have this idea earlier!

I already had the required [Eleventy collections](https://github.com/nhoizey/nicolas-hoizey.com/tree/master/src/_11ty/collections), so almost everything was done in a single shared Nunjucks template. Not the easiest one, I recon.

Now, I wonder if it's useful to keep the main navigation items for "[articles](https://nicolas-hoizey.com/articles/)", "[links](https://nicolas-hoizey.com/links/)", etc., or if the "[archives](https://nicolas-hoizey.com/archives/)" navigation item is enough, which would obviously help on mobile.

As you might have guessed from this article's title, I'm working on further archives navigation enhancements, we'll see that soon online, and I'll explain in a dedicated article. Stay tuned!
Any reason for not using loading="lazy" attribute?
Tags: html, performance, explainlikeimfive
Published: 2020-10-26 14:08:28

One of our community members suggested using `loading="lazy"` for **all** images on DEV. Pros are pretty clear to me. But are there any cons of this? Any kind of gotchas or edge cases we should watch out for?

If not, why isn't that the default for loading images in browser?
MYSQL Workbench, Step by Step Installation MacOs
Tags: mysqlworkench, beginners, opensource, database
Published: 2020-10-26 14:05:05

## Introduction
**MySQL Workbench** is a unified visual tool for database architects, developers, and DBAs. MySQL Workbench provides data modeling, SQL development, and comprehensive administration tools for server configuration, user administration, backup, and much more.

Today we are going to install it on macOS.

## Prerequisites
First of all, you have to check your **macOS** version. From the **Apple menu** in the corner of your screen, choose **About This Mac**. You should see the macOS name, such as macOS Mojave, followed by its version number. If you need to know the build number as well, click the version number to see it.

![image3](https://dev-to-uploads.s3.amazonaws.com/i/o1gcxo7fg0s505c95hp4.png)

## Installation

### 1. Download

First of all, we have to download it. Click [here](https://dev.mysql.com/downloads/workbench) to download. You will see a page like this.
**Please verify that the version of your Workbench is compatible with the version of your system**.
 
![image9](https://dev-to-uploads.s3.amazonaws.com/i/fxsfhng5eq7ybn5c6jvu.png)

 If not, please click on the “**Archives**” tab. Keep changing the version until the “**Product Version**” fits with the “**version of your system.**”

![image5](https://dev-to-uploads.s3.amazonaws.com/i/tdquxrgo5vadq48l1a0v.png)

For my own, it’s the version “**8.0.12**”  who is compatible with my macOS version. After click on the “**Download**” button.

![image1](https://dev-to-uploads.s3.amazonaws.com/i/imbdrqznltarbws9a1ur.png)

### Installation
After downloaded, we need to install it.
First of all, we need to locate our file in the “Downloads” folder.
![image10](https://dev-to-uploads.s3.amazonaws.com/i/jcbvybq0706ylhl4phxr.png)
 
After “**double click**” on the **file**, just wait until you see this screen.
![image7](https://dev-to-uploads.s3.amazonaws.com/i/5lwqmvi3ginf7i3svprh.png)

Now, we need to drag the **Mysql workbench** and drop inside the Applications folder.
![image4](https://dev-to-uploads.s3.amazonaws.com/i/uvn3qqpjbi80pl69di1z.gif)

After it will start copying into the Applications folder. Just wait until it finished.
![image2](https://dev-to-uploads.s3.amazonaws.com/i/e9tv64wvpz2zvi05bsva.png)

When it's done, you have successfully install “**MYSQL Workbench**”.
**Congratulations**.![party-image](https://emojipedia-us.s3.dualstack.us-west-1.amazonaws.com/thumbs/120/whatsapp/238/face-with-party-horn-and-party-hat_1f973.png)
MySQL or MongoDB? What to Choose for your Next Project?
Tags: database, sql, productivity
Published: 2020-10-26 13:53:51

After working on Small to Large Scale ERP Level Softwares, I felt it very essential to write a guide for all levels of developers to know what kind of database to use in the project they are going to start. There are a number of factors that should be considered before choosing a database and database management system. In this small article, I have tried to cover all the basic things that should be taken into account before choosing a database for the project.


# What are SQL Type Databases?

SQL stands for Sequential Query Language, and it is used to extract the data from the database. SQL become famous in the early 80s and it has been widely used in the large scale organizations for flexibility and excellent features. Learning SQL is not that easy it just takes some basic logic and a clear understanding of what you want to get from the database.

# What are NoSQL Databases?
The NoSQL stands for  "Not Only Sequential Query Language". This is because the NoSQL databases contain other features than simple SQL databases. Those features can be graph creation, document and collection creation, etc. NoSQL databases such as MongoDb and Neo4J are used for a variety of purposes when there is a need for rapid deployment and excellent speed.

# Let's Talk About Difference Between MySQL and MongoDB and When to Use One
| MySQL | MongoDB |
|--|--|
| Use a Very Specific type of language to abstract data from the database. | Provide Excellent Interfaces and Methods to Extract data without writing the Difficult Queries. |
|MySQL provided the functionality of grouping and functions to get common statistics related to data.| MongoDB also provides built-in methods to fetch the very complex statistics and data that in MySQL will take a lot of time.
|MySQL provides the facility to implement the Views, Store Procedures, and indexing, in order to make the data transactions very fast and reliable.| MongoDB offers fast data manipulation and addition.
|MySQL provides an excellent way to handle the associations due to the concept of foreign keys and the concept of unique rows.| MongoDB uses two methods to create the Associations, first is the reference type and the other one is the use of foreign key same like that of MySQL database.
|MySQL would be a perfect choice for large scale organizations due to its reliability and effectiveness in reports creation.| MongoDB is best when there are very few associations as handling associations in MongoDB is not something easy.

# Final Words 
In this short article, I have tried to throw light on some factors and things that should be considered before choosing the Database for the different sizes of projects.
UML-textual description of a use case-Importance
Published: 2020-10-26 13:36:25

The description of a use case allows you to:

*clarify the course of the functionality;

*describe the chronology of the actions to be carried out;

*to identify redundant parts to deduce more precise use cases that will be used by inclusion, extension or generalization / specialization. And yes, in this case we will be iterating on the use case diagrams;

*to indicate any constraints already known and which the developers will have to take into account when making the software. These constraints can be of various nature.
Identity and landing page for a leading distributed ledger services provider
Tags: webdev, startup, design, blockchain
Published: 2020-10-26 13:33:09

We met Sean Hoge, Managing Partner of Genesis Block, at the Blockchain Forum in San Francisco, and quickly found we shared the same enthusiasm for blockchain and cryptocurrency technologies. The Genesis Block team were seeking a partner who could deliver a new [website](https://evrone.com/branding) for them that accurately reflected their ethos of combining the dependability, industry access, and regulatory expertise of providing distributed ledger services with the flexibility, speed, and customer-centricity of a startup.

[Learn more about how we developed a distinctive brand identity for Genesis Block](https://evrone.com/genesis-block)
Identity and website for a financial services provider Galleon & Caravan
Tags: design, uiweekly, ux, blockchain
Published: 2020-10-26 13:26:18

We were asked to create a fresh and distinctive [brand identity](https://evrone.com/branding) and landing site for a financial service which is anything but ordinary. At Evrone, we strive to continually challenge ourselves in what we deliver for our clients, and building the website for Galleon & Caravan was no exception.

[Galleon & Caravan](https://evrone.com/galleon-caravan) provides boutique payment services for the entertainment and creative industries, offering exceptional service and lower commission rates than are charged by ordinary banks.

[Learn more about the development of branding identity development for fintech startup](https://evrone.com/galleon-caravan)
Development of a custom ERP system for an automotive business
Tags: ruby, startup, webdev, design
Published: 2020-10-26 13:19:22

There are a variety of ways to automate business process management. A private entrepreneur can simply use spreadsheets, and there are many ready-made enterprise resource planning solutions for larger businesses. During the initial stages of development, however, companies often find that none of the “out of the box” solutions offer all of the ERP features and functions that they need, and they find themselves in need of creating their own system. This was the case for Fresh Auto.

[Learn more about how we helped Fresh Auto with developing a custom ERP for the automotive business, one that satisfied all of their specific needs.](https://evrone.com/freshauto)
What are your favorite Kotlin resources?
Tags: discuss, kotlin, beginners
Published: 2020-10-26 13:01:57

Hey all!

I recently joined a new team and we do most of our work with Kotlin.

It looks like a great language to work with, and I'm looking for resources to help me ramp up.
Something for someone familiar with programming concepts, and looking to ramp up on the Kotlin specifics, conventions, and best practices.

I'm a hands-on learner, and I learn best by trying thongs out and breaking them, so those are the resources I'm mostly looking for.

Something like Go's [A Tour Of Go](https://tour.golang.org/welcome/1).

Any ideas?
Code Smell 07 - Boolean Variables
Tags: codenewbie, tutorial, beginners
Published: 2020-10-26 12:48:39

*Using boolean variables as flags, exposes accidental implementation and pollutes the code with Ifs.*

> TL;DR: Don't use boolean variables, they force you to write Ifs. Create polymorphic states instead.

# Problems

- Extensibility

- Comparison in some languages

# Solutions

- If Boolean maps to a real world entity is safe.
Otherwise, model as a State to favor Extensibility. 
This also follows [Open/Closed Principle](https://en.wikipedia.org/wiki/Open%E2%80%93closed_principle).

# Examples

- Flags 

# Exceptions

-  Real world true/false rules

# Sample Code

## Wrong

[Gist Url]: # (https://gist.github.com/mcsee/5a3e8e05def917a29b84be7264493a67)
```php
<?

function processBatch(
    bool $useLogin,
    bool $deleteEntries,
    bool $beforeToday) {
    //...
}
``` 

## Right

[Gist Url]: # (https://gist.github.com/mcsee/66956e6ccfe8126d0819fa193d793dd5)
```php
<?

function processBatch(
    LoginStrategy $login,
    DeletionPolicy $deletionPolicy,
    Date $cutoffDate) {
    //...
}
``` 

# Detection

Automatic detection can warn for boolean usage, but this can yield false positives.

# Relations

Some languages have issues with boolean comparators.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/r3lezg7di5v3s02iq6dr.jpg)

In these coupled with accidental complexity languages, booleans are a common error source.

# Also Known as

- Flag Abuser
 
# Tags

- Declarative

- Primitive

# More info

[Martin Fowler](https://martinfowler.com/bliki/FlagArgument.html)

# Conclusion

Take extra care when declaring something *boolean*. Flags are difficult to maintain and extend. 
Learn more about the domain. Try migrating to [state design pattern](https://en.wikipedia.org/wiki/State_pattern). Use polymorphism instead of ifs/switch/cases.

# Credits

Photo by <a href="https://unsplash.com/@philhearing">Phil Hearing</a> on <a href="https://unsplash.com/s/photos/flag-finish">Unsplash</a>

These tweets inspired this code smell:

{% twitter 1319247170294472705 %}

* * *

This article is part of the CodeSmell Series.

{% post https://dev.to/mcsee/how-to-find-the-stinky-parts-of-your-code-1dbc %}

*Last update: 2021/06/08*
Design & identity for a Functional Programming conference
Tags: design, functional, webdev, programming
Published: 2020-10-26 12:41:37

FPCONF is the first conference on [functional programming](https://evrone.com/elixir) in Russia. The leitmotif of the signature identity is closedness for the “laymen”. Often even Wall Street veterans with ten years of experience do not understand what the articles on functional programming are about.

The black and white style conveys the atmosphere of the elite, private Princeton University mathematical club or the MIT laboratory, in which great scientists solved abstract mathematical puzzles, studied computational issues and created imaginary machines with infinite computing capabilities.

[Learn more about how we created modern branding for a functional programming conference](https://evrone.com/fpconf)
Features of Different Javascript Framework : Node Js, BackBone JS, Ext Js
Published: 2020-10-26 12:33:13

Node JS, BackBone JS and Ext JS are different in their own area. Here we are presenting some pros and cons with where this framework can be used.

**Node JS**
Node JS is a server side JavaScript which makes JavaScript more powerful and can provide the flexibility to use JavaScript for creating REST API’s by using the Express framework.

***Pros***
1. Asynchronous event driven IO
2. Easy to learn JavaScript
3. Same piece of code for client and Server side
4. Growing NPM Package and community
5. Streaming Big File without timeout

***Cons***
1. More than one CPU required
2. Nested callbacks
3. Not feasible with relational database
4. Not good for beginners

***Where to Use Node Js***
1. Web Socket Server
2. Fast file uploading
3. Data Streaming
4. Ad Server
5. Stock Exchange Application

**BackBone JS** 

BackBone JS is another client-side single page application which uses the MVC structure. It also tracks the previous states and makes easy to navigate back.

***Pros***
1. Light Weight framework
2. Performance Control
3. Easy to build customized framework backed on backbone.js

***Cons***
1. Productivity
2. Memory Leaking
3. Required basic tool to create architecture structure
4. Data binding

***Where to use BackBone JS***
1. Single Page Application
2. Simplify Complex UI Design
3. Avoid Spaghetti Code
4. Enterprise Application Development

**Ext JS**

Ext JS is a JavaScript library which is helpful for desktop application development and is developed by sencha based on Yahoo User interface.

***Pros***
1. Consistent Rendering
2. Responsive
3. Adaptive
4. Control DOM Manipulation
5. Support from the Sencha Team

***Cons***
1. Not able to write custom javascript and jquery
2. Use Strict
3. Nesting Problem
4. String based language

***Where to use Ext Js***
1. Build Cross platform application such as desktop, tablets and smartphones
2. Rich UI Application
3. Easy to build Chart based Application

For more information about any of the above framework, you can reach to chirag.dave@vibidsoft.com.
Bringing science-based health & technology together
Tags: android, ios, python, startup
Published: 2020-10-26 12:30:23

Otri is a Russian-British comprehensive health app project, initiated by British company Biolink.tech LTD and founded by two entrepreneurs, Ivan Degtyar and Evgeny Chereshnev. Ivan, as the CEO, oversees the project, while Evgeny deals with the partners and investment side.

Ivan and Evgeny sought to conquer the global problem of malnutrition by bringing technology and science-based medicine together in a convenient tool for truly personalized nutraceuticals. They wanted to help people improve their quality of life through [health](https://evrone.com/ehealth) tracking, telemedicine, good habits, healthy lifestyle changes, and nutrition.

[Learn more about the development of an innovative eHealth mobile app](https://evrone.com/otri)
📹 Video of “Intro to the GraphQL API for WordPress” talk @ WPLDN is now online
Tags: graphql, wordpress
Published: 2020-10-26 12:20:42

This post was originally [published on leoloso.com](https://leoloso.com/posts/video-wp-london-meetup-intro-graphql-api/)

---

Talk "Intro to the GraphQL API for WordPress" [for the WordPress London meetup](https://www.meetup.com/London-WordPress/events/273609351/) is now [available on Youtube](https://youtu.be/t6stJN3apGs?t=1537):

{% youtube t6stJN3apGs %}

The presentation starts at 25:37. It is only around 20 min long (15 min presenting + 5 min of Q&A). It is a succinct summary of the **benefits of using GraphQL in WordPress** in general, and **through plugin [GraphQL API for WordPress](https://github.com/GraphQLAPI/graphql-api-for-wp)** in particular.

The slides are here: https://slides.com/leoloso/graphql-api-for-wp

😬😬😬😬😬
José Valim: "Elixir is great for everything that runs on top of a socket"
Tags: elixir, beginners, interview, news
Published: 2020-10-26 12:19:56

Evrone is not just a custom software development company, we also stay highly connected with local and international communities. We organize the annual Ruby Russia conference, a huge event featuring expert guests. These community connections give us a competitive edge and provide us with better technical expertise and consulting opportunities. We have conversations with developers around the world, including the creators of innovative new technologies, and we try to strengthen connections and give back to the community through interviews, conferences, and meetups. We recently conducted an interview with José Valim, the creator of the [Elixir](https://evrone.com/elixir) programming language, and asked him about his goals for the language and how it came to be.

[Full Interview](https://evrone.com/jose-valim-interview)
Vue.js Creator Evan You Interview: "You need to understand what your users want"
Tags: vue, frontend, webdev, interview
Published: 2020-10-26 12:14:17

Evan You is an independent software developer and the creator of the open-source JavaScript framework [Vue.js](https://evrone.com/vue-js). We had a chance to speak to Evan about the release of Vue 3, get to know his opinion on no-backend & fullstack approaches, Vue.js use cases, and the work-life balance of the creator of the technology.

[Full Interview](https://evrone.com/evan-you-interview)
Getting started with ceph storage cluster setup
Tags: linux, devops
Published: 2020-10-26 12:08:07

---
title: Getting started with ceph storage cluster setup
published: true
description: We look into ceph storage building our own cluster using the ceph storage engine. A cluster usually contains multiple monitors, object storage daemons, managers and metadata servers. We talk about what their role is and how to install machines to handle this. We also cover what requiredments a ceph cluster has.
tags: linux, devops
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/vaeyef1c2dqg69xq8ybf.jpg
---

{% youtube Uvbp3mtOltw %}


We look into ceph storage building our own cluster using the ceph storage engine. A cluster usually contains multiple monitors, object storage daemons, managers and metadata servers. We talk about what their role is and how to install machines to handle this. We also cover what requiredments a ceph cluster has.
Why HL7 FHIR standards are important in healthcare products development
Tags: startup, ruby, webdev, programming
Published: 2020-10-26 12:07:15

A long time ago our [gadgets](https://evrone.com/ruby) learned to monitor our health and give a signal about a problem if there is any. Synchronization of gadget signals and data on patients' physical history is our immediate future that is intended to simplify the diagnostics and monitoring of changes in the condition of clinics' care recipients.

Currently, many clinics are not only unable to get information from the patient's gadgets but also have information systems of doubtful suitability for use in the near future.

[Read the full article.](https://evrone.com/hl7-fhir)
Magento Data Migration Service
Published: 2020-10-26 12:05:47

Looking to migrate your data or a whole platform to Magento 2? Hiring a specialized migration company may be tedious but pose importance as it may help you to take your online business to the next level. Migration becomes most significant if you are stuck on your ineffective eCommerce platform. But migrating your whole database can be a risky job on your own and thus needs the hands of experts who have sufficient skills to migrate without losing anything.
And Mconnect Media is a one-stop solution you need. We offer Magento Data Migration Service. Be it from Magento EOL or other, we migrate product, customer, order history, URL & SEO, and other databases effortlessly. Doing so has many benefits for your online business, as it will make your eStore smooth for users to operate and suave for you to sell your products.

Why Choose Mconnect Media for Magento Data Migration Service?
• Mconnect Media has over a decade long experience in Magento development.
• We have an adroit team of full-stack developers to take care of data migration from WooCommerce, OpenCart, BigCommerce, Shopify, PrestaShop, and others to Magento 2.
• We can aptly migrate your theme to Magento 2 for a smooth & suave user experience.
• We migrate the soul of your online website – all your product data – without any data loss.
• Improve the conversion with custom feature & function migration.
• Improve your eCommerce store’s functionality with all extensions intact.
• Migrate the brain – all URLs and SEO data – to boost sales and revenue.
For more details - https://www.mconnectmedia.com/magento-data-migration