View maikhel's full-sized avatar
☀️
☀️

Organizations

@visualitypl

Block or report maikhel

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
maikhel/README.md

Hello There! I'm Michał Łęcicki (aka Maikhel) 👋

I'm a certified Ruby software engineer 💎
I believe self-improvement, responsibility, and clean solutions are essential for getting things done, both in software and real life. 🔨

Visuality - a year of the team's commits

Career path

My programming journey started in 2012 with free "Introduction to Java 101" Coursera course. Excited by creating a program that can rotate an image, I got to more serious learning at university.
I got Bachelor’s degree in IT in 2016, University of Cardinal Stefan Wyszyński in Warsaw.

In 2015, I started working in Weblify as a junior Ruby on Rails developer and in 2018 I moved to Visuality as a software engineer. Surrounded by experienced engineers, I learned and still improve best development practices, applying clean architecture and choosing right design patterns.
In 2024, I passed the Ruby Association Certified Ruby Programmer Examination Silver.

If you want to know more about my career path, please visit my LinkedIn profile 🪪
And don't miss my professional blog! 📝

Blog posts

I like writing. 🖋️
It helps me gain a deeper understanding of topics and allows me to share knowledge with others. I usually cover Ruby and Rails-related subjects. Feel free to check out my work on the Visuality blog.
With more than 15 blog posts written, here are some of my favorites:

Hotwire 🔥

Ruby and Rails 💎

Software engineering ⚙️

AI

As you can check on the Visuality blog, I also document important events such as conferences and company life.

Meetups

Being part of a community means both receiving and giving. I've had the privilege to give talks at the following events:

Conferences

425906352_724424349794670_3869980104550609101_n

I've had the pleasure of speaking at the following conferences:

To see a full list of my presentations, visit my profile on Ruby Events.

Workshops

One of my recent achievements was leading a workshop with @piowit titled "Building a Live Kanban Board with Rails and Hotwire". We spent 3 hours teaching and building a live, dynamic, interactive Kanban board using the latest Hotwire Turbo.

If you are interested in more details - here is an official workhop offer! 🎉

Getting Things Done

I use GTD to manage my personal and work life from more than 10 years now! Check out the blog series I wrote on the topic:

I also strong believe in The Cult of Done Manifesto
1. There are three states of being. Not knowing, action and completion.
2. Accept that everything is a draft. It helps to get it done.
3. There is no editing stage.
4. Pretending you know what you’re doing is almost the same as knowing what you are doing, so just accept that you know what you’re doing even if you don’t and do it.
5. Banish procrastination. If you wait more than a week to get an idea done, abandon it.
6. The point of being done is not to finish but to get other things done.
7. Once you’re done you can throw it away.
8. Laugh at perfection. It’s boring and keeps you from being done.
9. People without dirty hands are wrong. Doing something makes you right.
10. Failure counts as done. So do mistakes.
11. Destruction is a variant of done.
12. If you have an idea and publish it on the internet, that counts as a ghost of done.
13. Done is the engine of more.

After work

  • Primary field of my knowledge is psychology - mostly cognitive psychology and all productivity related staff. 🧠
  • Playing board games is one of my favourites activities, ask me if you need recommendations! 🎲
  • I enjoy hunting.. Hunting for the perfect photo scene 📸. Check out my photos here
  • I'm part of the elite group of people who love to read books 📚
  • Long winter evenings = a fireplace + watching snooker 🎱

Oh, and I’m a big Star Wars fan (mostly pre-Disney era movies.. 😢)

Connect with Me

Feel free to reach out via my personal website. Or, find me on LinkedIn or X


Thanks for visiting my profile! May the Force be with you. 🌌

Pinned Loading

  1. jekyll-turbojekyll-turboPublic

    Jekyll wrapper for Hotwire Turbo

    Ruby 1

  2. hotwire-jokeshotwire-jokesPublic

    A simple Rails app to experiment with hotwire

    Ruby 6 4

  3. redis-goredis-goPublic

    Simple redis implementation in go as workshop at Visuality.

    Go

  4. system-eksperckisystem-eksperckiPublic archive

    Projekt zaliczeniowy na przedmiot Narzędzia i Metody Sztucznej Inteligencji

    Java

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content
View maikhel's full-sized avatar
☀️
☀️

Organizations

@visualitypl

Block or report maikhel

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
maikhel/README.md

Hello There! I'm Michał Łęcicki (aka Maikhel) 👋

I'm a certified Ruby software engineer 💎
I believe self-improvement, responsibility, and clean solutions are essential for getting things done, both in software and real life. 🔨

Visuality - a year of the team's commits

Career path

My programming journey started in 2012 with free "Introduction to Java 101" Coursera course. Excited by creating a program that can rotate an image, I got to more serious learning at university.
I got Bachelor’s degree in IT in 2016, University of Cardinal Stefan Wyszyński in Warsaw.

In 2015, I started working in Weblify as a junior Ruby on Rails developer and in 2018 I moved to Visuality as a software engineer. Surrounded by experienced engineers, I learned and still improve best development practices, applying clean architecture and choosing right design patterns.
In 2024, I passed the Ruby Association Certified Ruby Programmer Examination Silver.

If you want to know more about my career path, please visit my LinkedIn profile 🪪
And don't miss my professional blog! 📝

Blog posts

I like writing. 🖋️
It helps me gain a deeper understanding of topics and allows me to share knowledge with others. I usually cover Ruby and Rails-related subjects. Feel free to check out my work on the Visuality blog.
With more than 15 blog posts written, here are some of my favorites:

Hotwire 🔥

Ruby and Rails 💎

Software engineering ⚙️

AI

As you can check on the Visuality blog, I also document important events such as conferences and company life.

Meetups

Being part of a community means both receiving and giving. I've had the privilege to give talks at the following events:

Conferences

425906352_724424349794670_3869980104550609101_n

I've had the pleasure of speaking at the following conferences:

To see a full list of my presentations, visit my profile on Ruby Events.

Workshops

One of my recent achievements was leading a workshop with @piowit titled "Building a Live Kanban Board with Rails and Hotwire". We spent 3 hours teaching and building a live, dynamic, interactive Kanban board using the latest Hotwire Turbo.

If you are interested in more details - here is an official workhop offer! 🎉

Getting Things Done

I use GTD to manage my personal and work life from more than 10 years now! Check out the blog series I wrote on the topic:

I also strong believe in The Cult of Done Manifesto
1. There are three states of being. Not knowing, action and completion.
2. Accept that everything is a draft. It helps to get it done.
3. There is no editing stage.
4. Pretending you know what you’re doing is almost the same as knowing what you are doing, so just accept that you know what you’re doing even if you don’t and do it.
5. Banish procrastination. If you wait more than a week to get an idea done, abandon it.
6. The point of being done is not to finish but to get other things done.
7. Once you’re done you can throw it away.
8. Laugh at perfection. It’s boring and keeps you from being done.
9. People without dirty hands are wrong. Doing something makes you right.
10. Failure counts as done. So do mistakes.
11. Destruction is a variant of done.
12. If you have an idea and publish it on the internet, that counts as a ghost of done.
13. Done is the engine of more.

After work

  • Primary field of my knowledge is psychology - mostly cognitive psychology and all productivity related staff. 🧠
  • Playing board games is one of my favourites activities, ask me if you need recommendations! 🎲
  • I enjoy hunting.. Hunting for the perfect photo scene 📸. Check out my photos here
  • I'm part of the elite group of people who love to read books 📚
  • Long winter evenings = a fireplace + watching snooker 🎱

Oh, and I’m a big Star Wars fan (mostly pre-Disney era movies.. 😢)

Connect with Me

Feel free to reach out via my personal website. Or, find me on LinkedIn or X


Thanks for visiting my profile! May the Force be with you. 🌌

Pinned Loading

  1. jekyll-turbojekyll-turboPublic

    Jekyll wrapper for Hotwire Turbo

    Ruby 1

  2. hotwire-jokeshotwire-jokesPublic

    A simple Rails app to experiment with hotwire

    Ruby 6 4

  3. redis-goredis-goPublic

    Simple redis implementation in go as workshop at Visuality.

    Go

  4. system-eksperckisystem-eksperckiPublic archive

    Projekt zaliczeniowy na przedmiot Narzędzia i Metody Sztucznej Inteligencji

    Java

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
View maikhel's full-sized avatar
☀️
☀️

Organizations

@visualitypl

Block or report maikhel

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
maikhel/README.md

Hello There! I'm Michał Łęcicki (aka Maikhel) 👋

I'm a certified Ruby software engineer 💎
I believe self-improvement, responsibility, and clean solutions are essential for getting things done, both in software and real life. 🔨

Visuality - a year of the team's commits

Career path

My programming journey started in 2012 with free "Introduction to Java 101" Coursera course. Excited by creating a program that can rotate an image, I got to more serious learning at university.
I got Bachelor’s degree in IT in 2016, University of Cardinal Stefan Wyszyński in Warsaw.

In 2015, I started working in Weblify as a junior Ruby on Rails developer and in 2018 I moved to Visuality as a software engineer. Surrounded by experienced engineers, I learned and still improve best development practices, applying clean architecture and choosing right design patterns.
In 2024, I passed the Ruby Association Certified Ruby Programmer Examination Silver.

If you want to know more about my career path, please visit my LinkedIn profile 🪪
And don't miss my professional blog! 📝

Blog posts

I like writing. 🖋️
It helps me gain a deeper understanding of topics and allows me to share knowledge with others. I usually cover Ruby and Rails-related subjects. Feel free to check out my work on the Visuality blog.
With more than 15 blog posts written, here are some of my favorites:

Hotwire 🔥

Ruby and Rails 💎

Software engineering ⚙️

AI

As you can check on the Visuality blog, I also document important events such as conferences and company life.

Meetups

Being part of a community means both receiving and giving. I've had the privilege to give talks at the following events:

Conferences

425906352_724424349794670_3869980104550609101_n

I've had the pleasure of speaking at the following conferences:

To see a full list of my presentations, visit my profile on Ruby Events.

Workshops

One of my recent achievements was leading a workshop with @piowit titled "Building a Live Kanban Board with Rails and Hotwire". We spent 3 hours teaching and building a live, dynamic, interactive Kanban board using the latest Hotwire Turbo.

If you are interested in more details - here is an official workhop offer! 🎉

Getting Things Done

I use GTD to manage my personal and work life from more than 10 years now! Check out the blog series I wrote on the topic:

I also strong believe in The Cult of Done Manifesto
1. There are three states of being. Not knowing, action and completion.
2. Accept that everything is a draft. It helps to get it done.
3. There is no editing stage.
4. Pretending you know what you’re doing is almost the same as knowing what you are doing, so just accept that you know what you’re doing even if you don’t and do it.
5. Banish procrastination. If you wait more than a week to get an idea done, abandon it.
6. The point of being done is not to finish but to get other things done.
7. Once you’re done you can throw it away.
8. Laugh at perfection. It’s boring and keeps you from being done.
9. People without dirty hands are wrong. Doing something makes you right.
10. Failure counts as done. So do mistakes.
11. Destruction is a variant of done.
12. If you have an idea and publish it on the internet, that counts as a ghost of done.
13. Done is the engine of more.

After work

  • Primary field of my knowledge is psychology - mostly cognitive psychology and all productivity related staff. 🧠
  • Playing board games is one of my favourites activities, ask me if you need recommendations! 🎲
  • I enjoy hunting.. Hunting for the perfect photo scene 📸. Check out my photos here
  • I'm part of the elite group of people who love to read books 📚
  • Long winter evenings = a fireplace + watching snooker 🎱

Oh, and I’m a big Star Wars fan (mostly pre-Disney era movies.. 😢)

Connect with Me

Feel free to reach out via my personal website. Or, find me on LinkedIn or X


Thanks for visiting my profile! May the Force be with you. 🌌

Pinned Loading

  1. jekyll-turbojekyll-turboPublic

    Jekyll wrapper for Hotwire Turbo

    Ruby 1

  2. hotwire-jokeshotwire-jokesPublic

    A simple Rails app to experiment with hotwire

    Ruby 6 4

  3. redis-goredis-goPublic

    Simple redis implementation in go as workshop at Visuality.

    Go

  4. system-eksperckisystem-eksperckiPublic archive

    Projekt zaliczeniowy na przedmiot Narzędzia i Metody Sztucznej Inteligencji

    Java

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
View maikhel's full-sized avatar
☀️
☀️

Organizations

@visualitypl

Block or report maikhel

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
maikhel/README.md

Hello There! I'm Michał Łęcicki (aka Maikhel) 👋

I'm a certified Ruby software engineer 💎
I believe self-improvement, responsibility, and clean solutions are essential for getting things done, both in software and real life. 🔨

Visuality - a year of the team's commits

Career path

My programming journey started in 2012 with free "Introduction to Java 101" Coursera course. Excited by creating a program that can rotate an image, I got to more serious learning at university.
I got Bachelor’s degree in IT in 2016, University of Cardinal Stefan Wyszyński in Warsaw.

In 2015, I started working in Weblify as a junior Ruby on Rails developer and in 2018 I moved to Visuality as a software engineer. Surrounded by experienced engineers, I learned and still improve best development practices, applying clean architecture and choosing right design patterns.
In 2024, I passed the Ruby Association Certified Ruby Programmer Examination Silver.

If you want to know more about my career path, please visit my LinkedIn profile 🪪
And don't miss my professional blog! 📝

Blog posts

I like writing. 🖋️
It helps me gain a deeper understanding of topics and allows me to share knowledge with others. I usually cover Ruby and Rails-related subjects. Feel free to check out my work on the Visuality blog.
With more than 15 blog posts written, here are some of my favorites:

Hotwire 🔥

Ruby and Rails 💎

Software engineering ⚙️

AI

As you can check on the Visuality blog, I also document important events such as conferences and company life.

Meetups

Being part of a community means both receiving and giving. I've had the privilege to give talks at the following events:

Conferences

425906352_724424349794670_3869980104550609101_n

I've had the pleasure of speaking at the following conferences:

To see a full list of my presentations, visit my profile on Ruby Events.

Workshops

One of my recent achievements was leading a workshop with @piowit titled "Building a Live Kanban Board with Rails and Hotwire". We spent 3 hours teaching and building a live, dynamic, interactive Kanban board using the latest Hotwire Turbo.

If you are interested in more details - here is an official workhop offer! 🎉

Getting Things Done

I use GTD to manage my personal and work life from more than 10 years now! Check out the blog series I wrote on the topic:

I also strong believe in The Cult of Done Manifesto
1. There are three states of being. Not knowing, action and completion.
2. Accept that everything is a draft. It helps to get it done.
3. There is no editing stage.
4. Pretending you know what you’re doing is almost the same as knowing what you are doing, so just accept that you know what you’re doing even if you don’t and do it.
5. Banish procrastination. If you wait more than a week to get an idea done, abandon it.
6. The point of being done is not to finish but to get other things done.
7. Once you’re done you can throw it away.
8. Laugh at perfection. It’s boring and keeps you from being done.
9. People without dirty hands are wrong. Doing something makes you right.
10. Failure counts as done. So do mistakes.
11. Destruction is a variant of done.
12. If you have an idea and publish it on the internet, that counts as a ghost of done.
13. Done is the engine of more.

After work

  • Primary field of my knowledge is psychology - mostly cognitive psychology and all productivity related staff. 🧠
  • Playing board games is one of my favourites activities, ask me if you need recommendations! 🎲
  • I enjoy hunting.. Hunting for the perfect photo scene 📸. Check out my photos here
  • I'm part of the elite group of people who love to read books 📚
  • Long winter evenings = a fireplace + watching snooker 🎱

Oh, and I’m a big Star Wars fan (mostly pre-Disney era movies.. 😢)

Connect with Me

Feel free to reach out via my personal website. Or, find me on LinkedIn or X


Thanks for visiting my profile! May the Force be with you. 🌌

Pinned Loading

  1. jekyll-turbojekyll-turboPublic

    Jekyll wrapper for Hotwire Turbo

    Ruby 1

  2. hotwire-jokeshotwire-jokesPublic

    A simple Rails app to experiment with hotwire

    Ruby 6 4

  3. redis-goredis-goPublic

    Simple redis implementation in go as workshop at Visuality.

    Go

  4. system-eksperckisystem-eksperckiPublic archive

    Projekt zaliczeniowy na przedmiot Narzędzia i Metody Sztucznej Inteligencji

    Java

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content
View maikhel's full-sized avatar
☀️
☀️

Organizations

@visualitypl

Block or report maikhel

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
maikhel/README.md

Hello There! I'm Michał Łęcicki (aka Maikhel) 👋

I'm a certified Ruby software engineer 💎
I believe self-improvement, responsibility, and clean solutions are essential for getting things done, both in software and real life. 🔨

Visuality - a year of the team's commits

Career path

My programming journey started in 2012 with free "Introduction to Java 101" Coursera course. Excited by creating a program that can rotate an image, I got to more serious learning at university.
I got Bachelor’s degree in IT in 2016, University of Cardinal Stefan Wyszyński in Warsaw.

In 2015, I started working in Weblify as a junior Ruby on Rails developer and in 2018 I moved to Visuality as a software engineer. Surrounded by experienced engineers, I learned and still improve best development practices, applying clean architecture and choosing right design patterns.
In 2024, I passed the Ruby Association Certified Ruby Programmer Examination Silver.

If you want to know more about my career path, please visit my LinkedIn profile 🪪
And don't miss my professional blog! 📝

Blog posts

I like writing. 🖋️
It helps me gain a deeper understanding of topics and allows me to share knowledge with others. I usually cover Ruby and Rails-related subjects. Feel free to check out my work on the Visuality blog.
With more than 15 blog posts written, here are some of my favorites:

Hotwire 🔥

Ruby and Rails 💎

Software engineering ⚙️

AI

As you can check on the Visuality blog, I also document important events such as conferences and company life.

Meetups

Being part of a community means both receiving and giving. I've had the privilege to give talks at the following events:

Conferences

425906352_724424349794670_3869980104550609101_n

I've had the pleasure of speaking at the following conferences:

To see a full list of my presentations, visit my profile on Ruby Events.

Workshops

One of my recent achievements was leading a workshop with @piowit titled "Building a Live Kanban Board with Rails and Hotwire". We spent 3 hours teaching and building a live, dynamic, interactive Kanban board using the latest Hotwire Turbo.

If you are interested in more details - here is an official workhop offer! 🎉

Getting Things Done

I use GTD to manage my personal and work life from more than 10 years now! Check out the blog series I wrote on the topic:

I also strong believe in The Cult of Done Manifesto
1. There are three states of being. Not knowing, action and completion.
2. Accept that everything is a draft. It helps to get it done.
3. There is no editing stage.
4. Pretending you know what you’re doing is almost the same as knowing what you are doing, so just accept that you know what you’re doing even if you don’t and do it.
5. Banish procrastination. If you wait more than a week to get an idea done, abandon it.
6. The point of being done is not to finish but to get other things done.
7. Once you’re done you can throw it away.
8. Laugh at perfection. It’s boring and keeps you from being done.
9. People without dirty hands are wrong. Doing something makes you right.
10. Failure counts as done. So do mistakes.
11. Destruction is a variant of done.
12. If you have an idea and publish it on the internet, that counts as a ghost of done.
13. Done is the engine of more.

After work

  • Primary field of my knowledge is psychology - mostly cognitive psychology and all productivity related staff. 🧠
  • Playing board games is one of my favourites activities, ask me if you need recommendations! 🎲
  • I enjoy hunting.. Hunting for the perfect photo scene 📸. Check out my photos here
  • I'm part of the elite group of people who love to read books 📚
  • Long winter evenings = a fireplace + watching snooker 🎱

Oh, and I’m a big Star Wars fan (mostly pre-Disney era movies.. 😢)

Connect with Me

Feel free to reach out via my personal website. Or, find me on LinkedIn or X


Thanks for visiting my profile! May the Force be with you. 🌌

Pinned Loading

  1. jekyll-turbojekyll-turboPublic

    Jekyll wrapper for Hotwire Turbo

    Ruby 1

  2. hotwire-jokeshotwire-jokesPublic

    A simple Rails app to experiment with hotwire

    Ruby 6 4

  3. redis-goredis-goPublic

    Simple redis implementation in go as workshop at Visuality.

    Go

  4. system-eksperckisystem-eksperckiPublic archive

    Projekt zaliczeniowy na przedmiot Narzędzia i Metody Sztucznej Inteligencji

    Java

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
View maikhel's full-sized avatar
☀️
☀️

Organizations

@visualitypl

Block or report maikhel

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
maikhel/README.md

Hello There! I'm Michał Łęcicki (aka Maikhel) 👋

I'm a certified Ruby software engineer 💎
I believe self-improvement, responsibility, and clean solutions are essential for getting things done, both in software and real life. 🔨

Visuality - a year of the team's commits

Career path

My programming journey started in 2012 with free "Introduction to Java 101" Coursera course. Excited by creating a program that can rotate an image, I got to more serious learning at university.
I got Bachelor’s degree in IT in 2016, University of Cardinal Stefan Wyszyński in Warsaw.

In 2015, I started working in Weblify as a junior Ruby on Rails developer and in 2018 I moved to Visuality as a software engineer. Surrounded by experienced engineers, I learned and still improve best development practices, applying clean architecture and choosing right design patterns.
In 2024, I passed the Ruby Association Certified Ruby Programmer Examination Silver.

If you want to know more about my career path, please visit my LinkedIn profile 🪪
And don't miss my professional blog! 📝

Blog posts

I like writing. 🖋️
It helps me gain a deeper understanding of topics and allows me to share knowledge with others. I usually cover Ruby and Rails-related subjects. Feel free to check out my work on the Visuality blog.
With more than 15 blog posts written, here are some of my favorites:

Hotwire 🔥

Ruby and Rails 💎

Software engineering ⚙️

AI

As you can check on the Visuality blog, I also document important events such as conferences and company life.

Meetups

Being part of a community means both receiving and giving. I've had the privilege to give talks at the following events:

Conferences

425906352_724424349794670_3869980104550609101_n

I've had the pleasure of speaking at the following conferences:

To see a full list of my presentations, visit my profile on Ruby Events.

Workshops

One of my recent achievements was leading a workshop with @piowit titled "Building a Live Kanban Board with Rails and Hotwire". We spent 3 hours teaching and building a live, dynamic, interactive Kanban board using the latest Hotwire Turbo.

If you are interested in more details - here is an official workhop offer! 🎉

Getting Things Done

I use GTD to manage my personal and work life from more than 10 years now! Check out the blog series I wrote on the topic:

I also strong believe in The Cult of Done Manifesto
1. There are three states of being. Not knowing, action and completion.
2. Accept that everything is a draft. It helps to get it done.
3. There is no editing stage.
4. Pretending you know what you’re doing is almost the same as knowing what you are doing, so just accept that you know what you’re doing even if you don’t and do it.
5. Banish procrastination. If you wait more than a week to get an idea done, abandon it.
6. The point of being done is not to finish but to get other things done.
7. Once you’re done you can throw it away.
8. Laugh at perfection. It’s boring and keeps you from being done.
9. People without dirty hands are wrong. Doing something makes you right.
10. Failure counts as done. So do mistakes.
11. Destruction is a variant of done.
12. If you have an idea and publish it on the internet, that counts as a ghost of done.
13. Done is the engine of more.

After work

  • Primary field of my knowledge is psychology - mostly cognitive psychology and all productivity related staff. 🧠
  • Playing board games is one of my favourites activities, ask me if you need recommendations! 🎲
  • I enjoy hunting.. Hunting for the perfect photo scene 📸. Check out my photos here
  • I'm part of the elite group of people who love to read books 📚
  • Long winter evenings = a fireplace + watching snooker 🎱

Oh, and I’m a big Star Wars fan (mostly pre-Disney era movies.. 😢)

Connect with Me

Feel free to reach out via my personal website. Or, find me on LinkedIn or X


Thanks for visiting my profile! May the Force be with you. 🌌

Pinned Loading

  1. jekyll-turbojekyll-turboPublic

    Jekyll wrapper for Hotwire Turbo

    Ruby 1

  2. hotwire-jokeshotwire-jokesPublic

    A simple Rails app to experiment with hotwire

    Ruby 6 4

  3. redis-goredis-goPublic

    Simple redis implementation in go as workshop at Visuality.

    Go

  4. system-eksperckisystem-eksperckiPublic archive

    Projekt zaliczeniowy na przedmiot Narzędzia i Metody Sztucznej Inteligencji

    Java

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
View maikhel's full-sized avatar
☀️
☀️

Organizations

@visualitypl

Block or report maikhel

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
maikhel/README.md

Hello There! I'm Michał Łęcicki (aka Maikhel) 👋

I'm a certified Ruby software engineer 💎
I believe self-improvement, responsibility, and clean solutions are essential for getting things done, both in software and real life. 🔨

Visuality - a year of the team's commits

Career path

My programming journey started in 2012 with free "Introduction to Java 101" Coursera course. Excited by creating a program that can rotate an image, I got to more serious learning at university.
I got Bachelor’s degree in IT in 2016, University of Cardinal Stefan Wyszyński in Warsaw.

In 2015, I started working in Weblify as a junior Ruby on Rails developer and in 2018 I moved to Visuality as a software engineer. Surrounded by experienced engineers, I learned and still improve best development practices, applying clean architecture and choosing right design patterns.
In 2024, I passed the Ruby Association Certified Ruby Programmer Examination Silver.

If you want to know more about my career path, please visit my LinkedIn profile 🪪
And don't miss my professional blog! 📝

Blog posts

I like writing. 🖋️
It helps me gain a deeper understanding of topics and allows me to share knowledge with others. I usually cover Ruby and Rails-related subjects. Feel free to check out my work on the Visuality blog.
With more than 15 blog posts written, here are some of my favorites:

Hotwire 🔥

Ruby and Rails 💎

Software engineering ⚙️

AI

As you can check on the Visuality blog, I also document important events such as conferences and company life.

Meetups

Being part of a community means both receiving and giving. I've had the privilege to give talks at the following events:

Conferences

425906352_724424349794670_3869980104550609101_n

I've had the pleasure of speaking at the following conferences:

To see a full list of my presentations, visit my profile on Ruby Events.

Workshops

One of my recent achievements was leading a workshop with @piowit titled "Building a Live Kanban Board with Rails and Hotwire". We spent 3 hours teaching and building a live, dynamic, interactive Kanban board using the latest Hotwire Turbo.

If you are interested in more details - here is an official workhop offer! 🎉

Getting Things Done

I use GTD to manage my personal and work life from more than 10 years now! Check out the blog series I wrote on the topic:

I also strong believe in The Cult of Done Manifesto
1. There are three states of being. Not knowing, action and completion.
2. Accept that everything is a draft. It helps to get it done.
3. There is no editing stage.
4. Pretending you know what you’re doing is almost the same as knowing what you are doing, so just accept that you know what you’re doing even if you don’t and do it.
5. Banish procrastination. If you wait more than a week to get an idea done, abandon it.
6. The point of being done is not to finish but to get other things done.
7. Once you’re done you can throw it away.
8. Laugh at perfection. It’s boring and keeps you from being done.
9. People without dirty hands are wrong. Doing something makes you right.
10. Failure counts as done. So do mistakes.
11. Destruction is a variant of done.
12. If you have an idea and publish it on the internet, that counts as a ghost of done.
13. Done is the engine of more.

After work

  • Primary field of my knowledge is psychology - mostly cognitive psychology and all productivity related staff. 🧠
  • Playing board games is one of my favourites activities, ask me if you need recommendations! 🎲
  • I enjoy hunting.. Hunting for the perfect photo scene 📸. Check out my photos here
  • I'm part of the elite group of people who love to read books 📚
  • Long winter evenings = a fireplace + watching snooker 🎱

Oh, and I’m a big Star Wars fan (mostly pre-Disney era movies.. 😢)

Connect with Me

Feel free to reach out via my personal website. Or, find me on LinkedIn or X


Thanks for visiting my profile! May the Force be with you. 🌌

Pinned Loading

  1. jekyll-turbojekyll-turboPublic

    Jekyll wrapper for Hotwire Turbo

    Ruby 1

  2. hotwire-jokeshotwire-jokesPublic

    A simple Rails app to experiment with hotwire

    Ruby 6 4

  3. redis-goredis-goPublic

    Simple redis implementation in go as workshop at Visuality.

    Go

  4. system-eksperckisystem-eksperckiPublic archive

    Projekt zaliczeniowy na przedmiot Narzędzia i Metody Sztucznej Inteligencji

    Java

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content
View maikhel's full-sized avatar
☀️
☀️

Organizations

@visualitypl

Block or report maikhel

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
maikhel/README.md

Hello There! I'm Michał Łęcicki (aka Maikhel) 👋

I'm a certified Ruby software engineer 💎
I believe self-improvement, responsibility, and clean solutions are essential for getting things done, both in software and real life. 🔨

Visuality - a year of the team's commits

Career path

My programming journey started in 2012 with free "Introduction to Java 101" Coursera course. Excited by creating a program that can rotate an image, I got to more serious learning at university.
I got Bachelor’s degree in IT in 2016, University of Cardinal Stefan Wyszyński in Warsaw.

In 2015, I started working in Weblify as a junior Ruby on Rails developer and in 2018 I moved to Visuality as a software engineer. Surrounded by experienced engineers, I learned and still improve best development practices, applying clean architecture and choosing right design patterns.
In 2024, I passed the Ruby Association Certified Ruby Programmer Examination Silver.

If you want to know more about my career path, please visit my LinkedIn profile 🪪
And don't miss my professional blog! 📝

Blog posts

I like writing. 🖋️
It helps me gain a deeper understanding of topics and allows me to share knowledge with others. I usually cover Ruby and Rails-related subjects. Feel free to check out my work on the Visuality blog.
With more than 15 blog posts written, here are some of my favorites:

Hotwire 🔥

Ruby and Rails 💎

Software engineering ⚙️

AI

As you can check on the Visuality blog, I also document important events such as conferences and company life.

Meetups

Being part of a community means both receiving and giving. I've had the privilege to give talks at the following events:

Conferences

425906352_724424349794670_3869980104550609101_n

I've had the pleasure of speaking at the following conferences:

To see a full list of my presentations, visit my profile on Ruby Events.

Workshops

One of my recent achievements was leading a workshop with @piowit titled "Building a Live Kanban Board with Rails and Hotwire". We spent 3 hours teaching and building a live, dynamic, interactive Kanban board using the latest Hotwire Turbo.

If you are interested in more details - here is an official workhop offer! 🎉

Getting Things Done

I use GTD to manage my personal and work life from more than 10 years now! Check out the blog series I wrote on the topic:

I also strong believe in The Cult of Done Manifesto
1. There are three states of being. Not knowing, action and completion.
2. Accept that everything is a draft. It helps to get it done.
3. There is no editing stage.
4. Pretending you know what you’re doing is almost the same as knowing what you are doing, so just accept that you know what you’re doing even if you don’t and do it.
5. Banish procrastination. If you wait more than a week to get an idea done, abandon it.
6. The point of being done is not to finish but to get other things done.
7. Once you’re done you can throw it away.
8. Laugh at perfection. It’s boring and keeps you from being done.
9. People without dirty hands are wrong. Doing something makes you right.
10. Failure counts as done. So do mistakes.
11. Destruction is a variant of done.
12. If you have an idea and publish it on the internet, that counts as a ghost of done.
13. Done is the engine of more.

After work

  • Primary field of my knowledge is psychology - mostly cognitive psychology and all productivity related staff. 🧠
  • Playing board games is one of my favourites activities, ask me if you need recommendations! 🎲
  • I enjoy hunting.. Hunting for the perfect photo scene 📸. Check out my photos here
  • I'm part of the elite group of people who love to read books 📚
  • Long winter evenings = a fireplace + watching snooker 🎱

Oh, and I’m a big Star Wars fan (mostly pre-Disney era movies.. 😢)

Connect with Me

Feel free to reach out via my personal website. Or, find me on LinkedIn or X


Thanks for visiting my profile! May the Force be with you. 🌌

Pinned Loading

  1. jekyll-turbojekyll-turboPublic

    Jekyll wrapper for Hotwire Turbo

    Ruby 1

  2. hotwire-jokeshotwire-jokesPublic

    A simple Rails app to experiment with hotwire

    Ruby 6 4

  3. redis-goredis-goPublic

    Simple redis implementation in go as workshop at Visuality.

    Go

  4. system-eksperckisystem-eksperckiPublic archive

    Projekt zaliczeniowy na przedmiot Narzędzia i Metody Sztucznej Inteligencji

    Java