Pull to refresh

iNote: How I Built Encrypted Notes on the Base Blockchain and Made Smart Wallets Work

Level of difficultyMedium

What happens when you try to build a private note-taking app that is 100% on-chain?

I built iNote - a dApp where notes are encrypted in the browser and only ciphertext is stored on Base. No backend, database, or password recovery.

The interesting part started with Coinbase Smart Wallet.

My first approach derived an encryption key from a wallet signature. It worked with EOAs, but Smart Wallets broke the assumption that the same message always produces the same signature bytes.

Read more

GEO/AEO Guide for Russia 2026: How to Get Featured in AI Answers from ChatGPT, Google AI, Perplexity and Other LLMs

Level of difficultyEasy

Hello, my name is Olga Tolmacheva. I am a business assistant at the search marketing agency Head Promo, and a practising SEO and GEO specialist. As of 2026, our agency ranks 1st in the GEOMI ranking and 1st in the Workspace Digital Awards.

Back in 2025, our team became one of the first agencies in Russia to publish a practical guide based on a real-world experiment, which focused on getting brands cited in neural network responses. More than half a year has passed since that initial publication, and during this time, the industry has evolved dramatically.

By 2026, digital marketing has undergone the most radical transformation seen in the past twenty years.

Read more

Mock Drift: The Regression Bug That Your Test Suite Actively Hides

Level of difficultyMedium

I want to start with something that took our team an embarrassingly long time to figure out.

We had a regression suite we trusted. It ran on every pull request, it covered our critical API paths, and it passed consistently. We had invested months building it out. When it went green, we shipped. That felt like the right way to work.

Then we had three production incidents in five weeks. Different symptoms each time. Same root cause every time. Our regression suite had been validating a version of our system that no longer existed.

That is mock drift. And the reason it took us so long to find it is exactly what makes it dangerous: it does not look like a problem until something breaks in production.

Read more

Angular 18: Comprehensive Features and Benefits for Web Developers

Level of difficultyEasy

The latest release of Angular 18 has introduced a host of new features that promise to enhance the capabilities of web developers. With improvements aimed at increasing productivity, performance, and code quality, Angular 18 is set to revolutionize how developers build web applications. This detailed exploration covers the key features and benefits of Angular 18, demonstrating why it's an essential upgrade for modern web development.

Read more

JavaScript Arrays: A Comprehensive Guide

Level of difficultyEasy

JavaScript arrays are one of the most powerful and versatile data structures available in the language. They allow developers to store, manage, and manipulate collections of data with ease. This article will explore the essentials of JavaScript arrays, including their creation, common methods, and practical uses.

Read more

Preserving Line Breaks and Skips in Markdown with React: A Practical Solution (marked.js)

Level of difficultyEasy

Markdown is widely used for its simplicity and readability. However, when it comes to handling line breaks as they appear in a TextArea input, developers often face challenges. In this article, we discuss a common problem encountered in rendering Markdown in React applications, particularly preserving line breaks, and provide a practical solution that we've found effective.

Read more

Transitioning from JavaScript to TypeScript in React Projects: A Strategic Move for the Future

Level of difficultyMedium

In the dynamic world of software development, the choice of programming languages and tools can significantly impact the productivity and future-readiness of projects. My recent decision to transition our React project from JavaScript to TypeScript has sparked discussions, and I believe it's a story worth telling on a broader platform like Habr. Here, I want to delve into the rationale behind this move and the long-term benefits it presents.

TypeScript: A Steeper Curve for a Smoother Ride

TypeScript's reputation for complexity is not unwarranted, given its static typing and the need to master new concepts such as interfaces and generics. The setup and configuration require a meticulous approach. However, these hurdles are a small price to pay for the robustness and maintainability they introduce to your codebase. Drawing from my experiences with Angular, where TypeScript is employed by default, I've seen firsthand how TypeScript can elevate the quality of development, even if it demands a higher initial investment in learning and configuration.

The TypeScript Advantage in React Development

Read more

Breaking Down Barriers: Building a Transparent DevOps Culture

Level of difficultyMedium

Numerous organizations across the globe are increasingly investing in DevOps to gain a competitive edge within their region. A survey echoes the same in the form of a depiction of the DevOps market size predicted to touch the enormous amount of $25.5 billion by 2028 at a CAGR of 19.7%. Not only this, even 86% of organizations have valued DevOps a lot.

Such an increase in DevOps adoption has spiked a concern over creating a healthy DevOps culture. This post sheds light on DevOps culture's meaning and how to cultivate it within your organization using proven strategies and modern DevOps tools.

What is a DevOps culture?

A DevOps culture is mainly focused on adopting values that take the DevOps principles and integrate them into relevant tools and methodologies. In other words, you can call it a bunch of values that emphasize creating an environment of constant communication and learning and a strong feedback structure.

Read more

Artificial Intelligence and Machine Learning from the perspective

Hello, everyone! I'm Stanislav Kondrashov, and today I'd like to dive into the fascinating world of Artificial Intelligence (AI) and Machine Learning (ML). These are two of the most transformative technologies of our time, and they have the potential to reshape our world in numerous ways.

What is Artificial Intelligence?

Artificial Intelligence is the concept of creating machines or computer systems that can perform tasks that typically require human intelligence. These tasks include problem-solving, speech recognition, decision-making, language understanding, and more. AI systems aim to mimic human cognitive functions, and they come in various forms, from basic rule-based systems to advanced machine learning models.

Read more

What Is Base64 and Why It Is Important?

Level of difficultyEasy

In the world of computers and digital communication, data is everything. Data is constantly sent and stored, from text messages to photographs shared on social media. However, data in its raw form is not always straightforward to work with. This is when Base64 comes into play. In this post, we will look at what Base64 is, how it works, and why it is significant in the world of computing.

Read more

Guide to Generating iOS Certificates and Profile Files for App Development

Level of difficultyEasy

Guide to G

Introduction: Currently, many companies use H5 frameworks for app development, and among these H5 frameworks, uniapp is the most mature. Therefore, hbuilderx has become the preferred choice for developers. However, packaging an app requires a certificate. So how do we obtain this certificate? Generating an Apple certificate is relatively complex, so here I will focus on the process of generating an iOS certificate.

Currently, many companies use H5 frameworks for app development, and among these H5 frameworks, uniapp is the most mature. Therefore, hbuilderx has become the preferred choice for developers. However, packaging an app requires a certificate. So how do we obtain this certificate?

Generating an Apple certificate is relatively complex, so here I will focus on the process of generating an iOS certificate:

If you don’t have an Apple Developer account yet, you need to register for one in the Apple Developer Center. The tutorial for registering an Apple Developer account is as follows: Tutorial for Registering an Apple Developer Account (in Chinese).

Once you have the Apple Developer account, you can follow the steps below to create the certificate.

First, let’s create a p12 certificate. The process for creating a p12 certificate is as follows:

1.Log in to the Apple Developer backend and click on the “certificates” menu to enter the certificate management page. Click on the blue plus sign on the right side to start creating a certificate. When creating the certificate, choose the “iOS Distribution Ad Hoc and App Store” type, which includes both real device testing and distribution types (ad hoc for testing, app store for distribution). Please do not choose the “Apple” or “Dev” types of certificates, as they cannot be used for cloud packaging in hbuilderx.

2.During the creation of the certificate, it will ask us to provide a csr file, as shown in the image.

3.Switch to Appuploader.

Appuploader home — A tool improve iOS development efficiency such as submitting IPA to App Store and managing iOS certificates.

Use the function of generating iOS certificates in Appuploader to create this .p12 file, as shown in the image. After generating the .p12 file, download it to your local computer.

Go back to the Apple Developer Center. The .p12 certificate generated by appuploader will be synchronized back. You can then use appuploader to generate the p12 format Apple certificate.
With the above steps, the p12 packing certificate has been generated.

Now, let me teach you how to generate the profile file required for packaging:

1.Enter the Apple Developer Center and click on “Identifiers” to create an app ID (package name). After creating it, it should look like the image below. Note that the format of the package name is typically in the format of a Java package name: com.xxxxxx.yyy.

2.If you have already created the app ID from the previous step, you can then enter the “profiles” menu to start creating the profile file.

3.When creating the profile file, choose “

Read more

How to deploy a Healthcare Application on AWS EC2

Level of difficultyMedium

AWS provides a full range of services designed specifically to satisfy the specific requirements of the HealthCare industry. This tutorial is going to show how to set up a HealthCare application on Amazon EC2.

One of the foundational features of AWS is Amazon Elastic Compute Cloud (EC2), which offers scalable computational capacity in the cloud. On EC2 instances, HealthCare applications may be quickly scaled and deployed, guaranteeing high availability. Here is an example of a HealthCare application being deployed on EC2:

Read more

How to build an Electron desktopCapturer screen picker dialog

Level of difficultyEasy

Since Electron's desktopCapturer API doesn't provide a desktop picker dialog, you need to implement it yourself.

Disclaimer: I don't want to focus on the UI part, so you can use whatever you prefer, such as React, Vue, etc. You can find a simple HTML UI layout in my index.html file.

Firstly, we need to go to our main.js file and import the modules we are going to use:

Read more

How to switch codesign certificates on Electron App for Mac (OSX)

Level of difficultyMedium

When you have an electron app that originally was distributed with a certificate for an individual developer. And you would like to sign the next update to that app with a certificate from your organization. It will break an auto-update installation process because codesign requirements aren't met.

So, to prevent this issue, your next app version should include information about both certificates (old and new). All future app versions can be signed with the new certificate, and the auto-update process will not be disrupted.

See the example below.

Read more