<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: LibiaLany</title>
    <description>The latest articles on Forem by LibiaLany (@libialany).</description>
    <link>https://forem.com/libialany</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F862779%2F52ae765d-5e14-4f3b-afde-2367e4c1031d.png</url>
      <title>Forem: LibiaLany</title>
      <link>https://forem.com/libialany</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/libialany"/>
    <language>en</language>
    <item>
      <title>GitLab CI to translate personal blog posts</title>
      <dc:creator>LibiaLany</dc:creator>
      <pubDate>Sun, 15 Feb 2026 07:07:36 +0000</pubDate>
      <link>https://forem.com/libialany/gitlab-ci-to-translate-personal-blog-posts-4og0</link>
      <guid>https://forem.com/libialany/gitlab-ci-to-translate-personal-blog-posts-4og0</guid>
      <description>&lt;h1&gt;
  
  
  Introduction
&lt;/h1&gt;

&lt;p&gt;Why i neeed to manually translate my personal blog post into Spanish. Sometimes the browser translatro breaks  the format of the post. I also asked myself if translation APIs are better now.&lt;/p&gt;

&lt;p&gt;i decided to add  this job to my GitLab CI.  Before  building it. I read an article that helped me a lot  to process the markdown post format. 🔗This is the article &lt;a href="https://dev.to/w4ls3n/github-action-to-publish-hugo-posts-to-devto-2nmp"&gt;GitHub Action to Publish Hugo Posts to Dev.to &lt;/a&gt;.&lt;/p&gt;

&lt;h1&gt;
  
  
  My problem
&lt;/h1&gt;

&lt;p&gt;There is no single language for me. I read technical  articles in Russian, Hindi, English, and Spanish. In my opinion switching the browser traductor between languages is painful and takes time.&lt;/p&gt;

&lt;h1&gt;
  
  
  The Solution: Automation Through GitLab CI
&lt;/h1&gt;

&lt;p&gt;The ideal solution would be to configure the browser to automatically translate pages into your preferred language. However, this can be unreliable on mobile phones and sometimes even on laptops.&lt;/p&gt;

&lt;p&gt;So I decided to automate the process using GitLab CI.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Solution: Automation Through GitLab CI
&lt;/h2&gt;

&lt;p&gt;The ideal solution would be to configure the browser to automatically translate my post. However, this can be unreliable on mobile phones and sometimes even on laptops.&lt;br&gt;
So I decided to automate the process using GitLab CI.&lt;/p&gt;

&lt;h1&gt;
  
  
  Key Features
&lt;/h1&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Front matter mapping&lt;/strong&gt; – I process the metadata and content from personal blog Markdown files. I convert the front matter correctly and translate only the values, not the keys.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Handling limitations&lt;/strong&gt; – I choose which metadata should be translated and which should not.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Update rules&lt;/strong&gt; – The translation job runs only when a new blog post is created. It does not run when I update an existing post.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I made this rule because sometimes I only fix one small word, and I do not want to re-translate the entire article for that small change.&lt;/p&gt;

&lt;p&gt;I also try to use translation tools responsibly while building technology.&lt;/p&gt;

&lt;h1&gt;
  
  
  Conclusion
&lt;/h1&gt;

&lt;p&gt;Building this automation makes me feel happy because one of my tasks is now automated. I'm happy share with u my small  adventures.&lt;/p&gt;

&lt;p&gt;✴️👉 &lt;a href="https://break.mlibia.xyz/p/gitlab-ci-to-translate-personal-blog-posts/" rel="noopener noreferrer"&gt;check the result in my personal blog&lt;/a&gt;✴️✴️&lt;/p&gt;

</description>
      <category>python</category>
      <category>productivity</category>
      <category>automation</category>
    </item>
    <item>
      <title>Day 3: Basics of EMD</title>
      <dc:creator>LibiaLany</dc:creator>
      <pubDate>Mon, 26 Jan 2026 04:17:09 +0000</pubDate>
      <link>https://forem.com/libialany/day-3-basics-of-emd-29c8</link>
      <guid>https://forem.com/libialany/day-3-basics-of-emd-29c8</guid>
      <description>&lt;p&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;br&gt;
Time series analysis is especially useful in applications involving sound, such as speech data analysis and processing using Norden E. Huang’s empirical mode decomposition (EMD), combined with the Hilbert transform—commonly referred to as the Hilbert–Huang transform (HHT)has become an emerging trend. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fggwomrruo3sw6hko2ri0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fggwomrruo3sw6hko2ri0.png" alt=" " width="800" height="420"&gt;&lt;/a&gt;&lt;em&gt;Automatic Speech Signal Processing - Dr. Lijiang Chen&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;But working with real-world time series might be hard. Financial curves, ECG traces, and neural signals often look like chaotic spikes with no structure at all.&lt;br&gt;
What exactly is a signal?&lt;br&gt;
A signal is simply any quantity that varies over time (what we usually call a time series in data science).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Introduction to empirical mode decomposition (EMD)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Empirical mode decomposition (EMD) is a data-adaptive multiresolution technique used to decompose a signal into physically meaningful components. The EMD method was developed so that data can be examined in an adaptive time–frequency–amplitude space for nonlinear and non-stationary signals.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;The EMD method decomposes the input signal into several intrinsic mode functions (IMFs) and aresidue&lt;/em&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Some common applications of empirical mode decomposition are in the fields of bearing fault detection, biomedical data analysis, power signal analysis, and seismic signals.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Empirical Mode Decomposition in Python&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Python tools exist for the extraction and analysis of non-linear and non-stationary oscillatory signals. A famous library is EMD. Simple example: how to use EMD to analyze a synthetic signal. Running an EMD and frequency transform. We then define a simulated waveform containing a non-linear wave at 5 Hz and a sinusoid at 1 Hz.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import matplotlib.pyplot as plt import numpy as np 
import emd 
sample_rate = 1000 
seconds = 10 
num_samples = sample_rate*seconds
time_vect = np.linspace(0, seconds, num_samples)
freq = 5
# Change extent of deformation from sinusoidal shape [-1 to 1]

nonlinearity_deg = 0.25
# Change left-right skew of deformation [-pi to pi] 

nonlinearity_phi = -np.pi/4

x= emd.simulate.abreu2010(freq, nonlinearity_deg, nonlinearity_phi, sample_rate, seconds)
x+= np.cos(2 * np.pi * 1 * time_vect) # Add a simple 1Hz sinusoid

x-= np.sin(2 * np.pi * 2.2e-1 * time_vect)

# Add part of a very slow cycle as a trend

# Visualise the time-series for analysis 
plt.figsize=(12, 4))
plt.plot(x)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To create different non-sinusoidal waveform shapes change the values of nonlinearity_deg and nonlinearity_phi . Next, we can then estimate the IMFs for the signal:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;imf = emd.sift.sift(x)
print(imf.shape)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I borrowed this example from a tutorial &lt;a href="https://emd.readthedocs.io/en/" rel="noopener noreferrer"&gt;emd&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;EMD Limitations&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Mode mixing: different frequencies can end up in the same IMF.&lt;/li&gt;
&lt;li&gt;Oversplitting: EMD decides the number of IMFs on its own and can extract too many.&lt;/li&gt;
&lt;li&gt;Noise sensitivity: small noise changes can completely alter the IMFs.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Helpfull resources&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://emd.readthedocs.io/en/stable/" rel="noopener noreferrer"&gt;Empirical Mode Decomposition in Python&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&lt;a href="https://en.wikipedia.org/wiki/Multidimensional_empirical_mode_d%20ecomposition" rel="noopener noreferrer"&gt;Multidimensional empirical mode&lt;br&gt;
decomposition&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://towardsdatascience.com/preprocessing-signaldata-with-empirical-mode-decomposition/" rel="noopener noreferrer"&gt;Prepocessing Signals&lt;/a&gt;&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>emd</category>
    </item>
    <item>
      <title>Day 2: What is EEG</title>
      <dc:creator>LibiaLany</dc:creator>
      <pubDate>Sat, 24 Jan 2026 13:59:20 +0000</pubDate>
      <link>https://forem.com/libialany/day-2-what-is-eeg-140o</link>
      <guid>https://forem.com/libialany/day-2-what-is-eeg-140o</guid>
      <description>&lt;p&gt;&lt;strong&gt;Introduction&lt;/strong&gt; &lt;br&gt;
In this post, I will introduce four fundamental foundations of my research: the brain, what EEG is, and its applications.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Brain&lt;/strong&gt;&lt;br&gt;
From the system level perspective, the brain is organized into different parts with specific properties.&lt;br&gt;
For better explanation i created this map. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbg79q3l9vwhn2p9jl1or.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbg79q3l9vwhn2p9jl1or.png" alt=" " width="781" height="498"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. The Electroencephalogram (EEG), Rhythms, and Waveforms&lt;/strong&gt;&lt;br&gt;
The combined electrical activity of the cerebral cortex is called a brain wave or rhythm. These signals change over time and often form repeating wave patterns. This happens because many brain cells (neurons) are active together.&lt;br&gt;
When large groups of neurons work at the same time, they create an electrical signal strong enough to be measured from the scalp using EEG.&lt;/p&gt;

&lt;p&gt;These brain waves can have different speeds (frequencies) and strengths (amplitudes).&lt;br&gt;
EEG is very sensitive to changes in mental state. It can reflect many conditions, such as stress, alertness, calmness, deep rest, hypnosis, and sleep.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foxnp1urzjqsowtdkxyph.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foxnp1urzjqsowtdkxyph.jpeg" alt=" " width="576" height="327"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Think of a crowded football stadium. One person clapping is quiet, but when thousands of people clap together in rhythm, the sound becomes loud and clear.&lt;br&gt;
&lt;em&gt;EEG works in a similar way&lt;/em&gt;. A single neuron is too weak to measure, but when many neurons firetogether in a rhythm, their combined activity becomes strong enough to detect on the scalp. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. EEG Recording Techniques&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Electrodes collect signals from scalp. Amplifiers increase they very small signals so they can be measured correctly. They A/D(Analog to Digital) unit changes the signal from analog to digital form. The device then stores processes, or shows the recorded data.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzyqfk3qgnosdfyrhkx7p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzyqfk3qgnosdfyrhkx7p.png" alt=" " width="295" height="171"&gt;&lt;/a&gt;&lt;em&gt;Fast asynchronous control and robust non-control state detection - Sebastian Nagel&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Application: Sleep and Circadian Rhythm Disorder Investigation&lt;/strong&gt;&lt;br&gt;
Different sleep disorders show different patterns in EEG signals. These patterns reflect how the brain behaves during various stages of sleep.&lt;br&gt;
To properly study sleep disorders, it is important to track how sleep stages change over time. By measuring these changes in a clear and quantitative way, EEG helps reveal problems in sleep structure, timing, and quality.&lt;br&gt;
This makes EEG a valuable tool for understanding how the brain moves between wakefulness, light sleep, deep sleep, and dreaming.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Final Thoughts&lt;/strong&gt;&lt;br&gt;
The brain performs many functions and procedures complex patterns of electrical activity. This ongoing process can be observed and studied using EEG.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>eeg</category>
    </item>
    <item>
      <title>Day 1: Why I’m Doing 60 Days of EEG Data Collection</title>
      <dc:creator>LibiaLany</dc:creator>
      <pubDate>Sat, 24 Jan 2026 13:47:04 +0000</pubDate>
      <link>https://forem.com/libialany/day-1-why-im-doing-60-days-of-eeg-data-collection-h6j</link>
      <guid>https://forem.com/libialany/day-1-why-im-doing-60-days-of-eeg-data-collection-h6j</guid>
      <description>&lt;p&gt;&lt;strong&gt;Introduction&lt;/strong&gt; &lt;br&gt;
My behavior often pushes me to research things that are real problems in my life. When something affects me deeply, I feel the need to understand it better. This is how most of my learning starts. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why I’m doing 60 days of EEG data collection&lt;/strong&gt; &lt;br&gt;
Firstly EEG means electroencephalogram.&lt;br&gt;
I decided to collect data for 60 days to organize my research journey. Starting step by step is always better than trying to do everything at once. &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Studying EEG and machine learning is not easy to explain in a single post. &lt;em&gt;Breaking the work into smaller parts helps me learn better and also share my progress clearly&lt;/em&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Dividing and counting small steps has always worked for me.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Studying brain activity has always been meaningful to me because I had two close friends with similar brain-related cases. &lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This made me more curious and more serious about understanding how the brain works. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt; &lt;br&gt;
I took this research in a more personal way, and I’m really happy to start this journey and work with others along the way.&lt;/p&gt;

</description>
      <category>career</category>
      <category>beginners</category>
    </item>
    <item>
      <title>My Little Adventure: A web app in aws</title>
      <dc:creator>LibiaLany</dc:creator>
      <pubDate>Thu, 08 Sep 2022 18:48:05 +0000</pubDate>
      <link>https://forem.com/libialany/my-little-adventure-a-web-app-in-aws-37f0</link>
      <guid>https://forem.com/libialany/my-little-adventure-a-web-app-in-aws-37f0</guid>
      <description>&lt;p&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;br&gt;
Try to learn some concepts of aws amplify and some concepts involved.&lt;br&gt;
&lt;strong&gt;What is AWS Amplify&lt;/strong&gt;&lt;br&gt;
AWS Amplify is a purpose-built set of tools and features that enable frontend web and mobile developers to quickly and easily build full-stack applications on AWS.&lt;br&gt;
"by AWS"&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why Amplify and Dynamodb&lt;/strong&gt;&lt;br&gt;
AWS Amplify Storage Module. &lt;br&gt;
The default implementation of the storage module uses &lt;em&gt;Amazon S3&lt;/em&gt;.&lt;br&gt;
But we must create tables,we could use &lt;em&gt;dynamodb&lt;/em&gt;.&lt;br&gt;
&lt;em&gt;For RDS&lt;/em&gt;&lt;br&gt;
You can then open the AppSync console with the API Amplification Console to attempt to interact with your RDS database through its GraphQL API.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GraphQL in the backend&lt;/strong&gt;&lt;br&gt;
Back-end developers want to create APIs that are intuitive and easy to explore and navigate.&lt;br&gt;
"by Graphql"&lt;br&gt;
It was easier with a few statements to create an api than to create a web server and then give it the functionality of an api.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Result&lt;/strong&gt;&lt;br&gt;
I built a replica of the project &lt;a href="https://www.youtube.com/watch?v=Xdx3t1HkJLY"&gt;🚀 Dogecoin Price Predictor&lt;/a&gt; .&lt;/p&gt;

&lt;p&gt;You could also visit my repo , i made some changes &lt;a href="https://github.com/libialany/amplify-demo"&gt;libialany&lt;/a&gt;  ヽ(•‿•)ノ.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Not mentioned:&lt;/strong&gt;&lt;br&gt;
NodeJs scares me with some incompatible modules.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;br&gt;
It was a project that helped me understand how amplify worked.&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
