-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
7a6b283
commit 25489f5
Showing
125 changed files
with
802 additions
and
2,929 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,18 +1,11 @@ | ||
import { useTranslations } from 'next-intl' | ||
import { Page } from '@/core/components/page/page' | ||
import { BlogPosts } from '@/app/components/posts' | ||
import { BlogPostsPage } from '@/features/posts/delivery/posts.page' | ||
|
||
export const metadata = { | ||
title: 'Blog', | ||
description: 'Read my blog.', | ||
} | ||
|
||
export default function Index() { | ||
const t = useTranslations() | ||
return ( | ||
<Page> | ||
<h1 className="wrapper font-semibold text-2xl mb-8 tracking-tighter">{t('blog.title')}</h1> | ||
<BlogPosts /> | ||
</Page> | ||
) | ||
return <BlogPostsPage /> | ||
} |
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,5 @@ | ||
import { HomePage } from '../features/home/ui/home.page' | ||
import { HomePage } from '@/features/home/delivery/home.page' | ||
|
||
export default function Home() { | ||
return <HomePage articles={[]} /> | ||
export default function Page() { | ||
return <HomePage /> | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
54 changes: 54 additions & 0 deletions
54
src/app/talks/(talks)/advanced-javascript-patterns/page.mdx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
import MdxLayout from '../../mdx-layout' | ||
|
||
export const metadata = { | ||
title: "Advanced JavaScript Patterns", | ||
length: 45, | ||
difficulty: "Advanced", | ||
language: "es", | ||
image: "advanced-javascript-patterns.png", | ||
topics: [ | ||
"Proxies", | ||
"JavaScript" | ||
], | ||
events: [ | ||
{ | ||
name: "JSDay Madrid", | ||
date: "2018-10-20", | ||
slides: "https://drive.google.com/open?id=15tLH3xBpZbwHlhRGtiygc0x9NRaxNlPWhqghw5iNu4U", | ||
code: "https://github.com/cesalberca/advanced-javascript-patterns/tree/2018-jsday-madrid", | ||
video: "https://www.youtube.com/watch?v=aNf1Oos0ZB8" | ||
}, | ||
{ | ||
name: "JSDay Canarias", | ||
date: "2019-11-10", | ||
slides: "https://drive.google.com/open?id=1Eoa1EVelW11x5Es7Ru0tnmWdzfQOAlEWz07TK1qLh_o", | ||
code: "https://github.com/cesalberca/advanced-javascript-patterns/tree/2019-jsday-canarias", | ||
video: "https://youtu.be/3nPPRvRcoo0" | ||
}, | ||
{ | ||
name: "Codenares", | ||
date: "2019-03-19", | ||
slides: "https://drive.google.com/open?id=1LEWc3ErrzjaN3nzlsMtGVx1QKGsc8G2mgw-qP-WZhJo", | ||
code: "https://github.com/cesalberca/advanced-javascript-patterns/tree/2019-codenares", | ||
video: "https://youtu.be/MuCgyOTXIRU" | ||
}, | ||
{ | ||
name: "OS Weekends", | ||
date: "2019-12-13", | ||
slides: "https://docs.google.com/presentation/d/1D0Xe0Ch5eGcy-CDLwxpW_QwoDX6-mGxjprWmQ_EkH5c/edit?usp=sharing", | ||
code: "https://github.com/cesalberca/advanced-javascript-patterns/tree/2019-osweekends" | ||
}, | ||
{ | ||
name: "Codemotion Meetup", | ||
date: "2020-02-25", | ||
slides: "https://docs.google.com/presentation/d/1htHNH9BfNdXmSn88eJNrLzeys6Het9i6EUqBn-v_01U/edit?usp=sharing", | ||
code: "https://github.com/cesalberca/advanced-javascript-patterns/tree/2020-codemotion-meetup-madrid" | ||
} | ||
] | ||
} | ||
|
||
When you tell people you code in JavaScript they usually look down on you. This talk will give you the tools to enlighten those heretics. We'll be entering the world of **design patterns** applied to JavaScript, looking through some of the cutting edge properties of ES6 such as **Proxies** and **default function parameter expressions**, dealing with **objects** and even some examples of **functional programming**. This talk is not allowed for cardiacs. | ||
|
||
export default function MDXPage({ children }) { | ||
return <MdxLayout slug="advanced-javascript-patterns">{children}</MdxLayout> | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
import MdxLayout from '../../mdx-layout' | ||
|
||
export const metadata = { | ||
title: "Atomic Programming Habits", | ||
length: 45, | ||
difficulty: "Beginner", | ||
language: "en", | ||
image: "atomic-programming-habits.jpeg", | ||
topics: [ | ||
"Programming", | ||
"Habits", | ||
"Good practices" | ||
], | ||
events: { | ||
notes: ` | ||
In this talk, we’re diving into how to build better habits, inspired by James Clear's book "Atomic Habits." We’ll break down Clear’s research-backed strategies into easy-to-follow steps. Plus, we’ll show you how to use cool tech stuff like Progressive Web Apps and NFC tags to make tracking your habits a breeze. | ||
By joining, you’ll not only learn how to stick to good habits but also how to ditch the bad ones. And with the support of our community, you’ll have a team cheering you on every step of the way. So if you’re ready to level up your productivity and make positive changes in your life, this talk is definitely for you! | ||
` | ||
} | ||
} | ||
|
||
Do you find it difficult to stick to a routine? Do you often postpone tasks indefinitely or procrastinate excessively? If so, you are not alone. Join us on this journey inspired by "Atomic Habits" by James Clear to create positive habits and break free from negative ones. In this talk, we will explore what habits are, how they form, and how we can hack them in our personal lives. | ||
|
||
Together, we will use a PWA with NextJS to seamlessly track our habits, integrating it with Notion. With NFC tags, we will effortlessly record our progress. | ||
|
||
It's time to say goodbye to procrastination and embrace sustainable productivity! | ||
|
||
export default function MDXPage({ children }) { | ||
return <MdxLayout slug="atomic-programming-habits">{children}</MdxLayout> | ||
} |
45 changes: 45 additions & 0 deletions
45
src/app/talks/(talks)/can-deno-turn-node-upside-down/page.mdx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
import MdxLayout from '../../mdx-layout' | ||
|
||
export const metadata = { | ||
title: "Can Deno turn Node upside down? 🦕", | ||
length: 45, | ||
difficulty: "Beginner", | ||
language: "es", | ||
image: "deno.png", | ||
topics: [ | ||
"Deno", | ||
"Node", | ||
"TypeScript", | ||
"JavaScript" | ||
], | ||
events: [ | ||
{ | ||
name: "NMNL", | ||
date: "2020-06-17", | ||
slides: "https://docs.google.com/presentation/d/1IPFghU1OI6d_kChg7Fbzvs62W61_SpNWDQx4pCaagBQ/edit?usp=sharing", | ||
video: "https://www.youtube.com/watch?v=R3uNjzCLG2s" | ||
}, | ||
{ | ||
name: "Codemotion Webinar", | ||
date: "2020-09-22", | ||
slides: "https://docs.google.com/presentation/d/1c-rvncDEwd3Dr-s-LZX1Kj8usBhtEGMKUd-b_U60KGo/edit?usp=sharing", | ||
video: "https://www.youtube.com/watch?v=vLMUCv3gbZA" | ||
}, | ||
{ | ||
name: "OS Weekends", | ||
date: "2020-06-27", | ||
slides: "https://docs.google.com/presentation/d/1ugl_PN7cEzB8FEXH8t7lTevOCdM246HOWEMUXH8qB7c/edit?usp=sharing" | ||
} | ||
] | ||
} | ||
|
||
Deno is said to be by many the successor of Node, including the creator of both: Ryan Dahl, who using the knowledge obtained from Node's 10 year lifespan started this project in order to fix some of the errors, which he mentions in the [talk where he introduced Deno to the world](https://www.youtube.com/watch?v=M3BM9TB-8yA). | ||
|
||
Node was very disruptive in the tech world, but back then JavaScript was not what it is today. Many things didn't exist then, like promises, ESModules, binary data and many other APIs that are standard now. So Node had to innovate in these areas. But now that there are many standard APIs that solve these problems Node has had problems adapting, as it would have meant that there would be very big breaking changes. | ||
|
||
Moreover, Deno has native TypeScript support —which means that we don't need to compile a TypeScript file in order to run it—, a security model, a decentralized solution to distribute packages, a single executable and many more things. | ||
|
||
|
||
export default function MDXPage({ children }) { | ||
return <MdxLayout slug="can-deno-turn-node-upside-down">{children}</MdxLayout> | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
import MdxLayout from '../../mdx-layout' | ||
|
||
export const metadata = { | ||
title: "Con*front*ing bad software", | ||
length: 40, | ||
difficulty: "Advanced", | ||
language: "es", | ||
image: "confronting-bad-software.png", | ||
topics: [ | ||
"JavaScript", | ||
"TypeScript", | ||
"SOLID", | ||
"Design patterns" | ||
], | ||
events: [ | ||
{ | ||
name: "Codemotion Madrid", | ||
date: "2019-09-25", | ||
slides: "https://drive.google.com/open?id=1pZT-loQzuB7IZaIZNxpOXELovCLdnFAxws6B2-A0DeE", | ||
code: "https://github.com/cesalberca/afrontando-el-mal-software/tree/2019-codemotion-madrid", | ||
video: "https://youtu.be/y0BymiCki54", | ||
demo: "https://codesandbox.io/s/github/cesalberca/afrontando-el-mal-software" | ||
}, | ||
{ | ||
name: "Juan XXIII", | ||
date: "2019-02-24", | ||
slides: "https://docs.google.com/presentation/d/1GR2PJMp_cxeCdEd1razuE7zbMvsKcAApEDsB8okTOvw/edit?usp=sharing", | ||
code: "https://github.com/cesalberca/afrontando-el-mal-software/tree/2019-j23-madrid" | ||
}, | ||
{ | ||
name: "Labs Talk", | ||
date: "2021-10-28", | ||
slides: "https://docs.google.com/presentation/d/1GR2PJMp_cxeCdEd1razuE7zbMvsKcAApEDsB8okTOvw/edit?usp=sharing", | ||
code: "https://github.com/cesalberca/afrontando-el-mal-software/tree/2021-lab-talks" | ||
} | ||
] | ||
} | ||
|
||
In the crazy world of the frontend it has been known by its **volatile nature**, however, we don't really put much effort to abstract ourselves from that nature. We should build **robust** and **long-lived** code. In this talk we'll see how to approach common problems using **TypeScript**, **components** and **several design patterns**. Moreover, we'll see how to make our code _open to change_ without needing to _try to guess the future_. And of course we'll follow **SOLID** principles to make your application easy to change and test. Let's start this journey towards _beautiful_ software! | ||
|
||
export default function MDXPage({ children }) { | ||
return <MdxLayout slug="confronting-bad-software">{children}</MdxLayout> | ||
} |
29 changes: 18 additions & 11 deletions
29
...our-personal-language-mentor-using-ai.mdx → ...ersonal-language-mentor-using-ai/page.mdx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,15 +1,22 @@ | ||
--- | ||
title: Creating Your Personal Language Mentor Using AI | ||
length: 20 | ||
difficulty: Beginner | ||
language: en | ||
image: advanced-javascript-patterns.png | ||
topics: | ||
- AI | ||
- Language Learning | ||
events: | ||
--- | ||
import MdxLayout from '../../mdx-layout' | ||
|
||
export const metadata = { | ||
title: "Creating Your Personal Language Mentor Using AI", | ||
length: 20, | ||
difficulty: "Beginner", | ||
language: "en", | ||
image: "advanced-javascript-patterns.png", | ||
topics: [ | ||
"AI", | ||
"Language Learning" | ||
], | ||
events: [] | ||
} | ||
|
||
As a Digital Nomad, my life is filled with new languages, cultures, and challenges. As a Software Developer I'm always looking for ways to automate and improve my life on the go. Traditional language learning apps never quite worked for me—they felt too rigid and didn't adapt to what I really needed. So, I decided to create my own solution using Artificial Intelligence (AI). | ||
|
||
In this talk, I’ll share how I built a custom language learning assistant using GPTs within ChatGPT, tailored to fit my unique way of learning. I’ll walk you through the process, from the initial idea to actually making it work, and show you how you can build your own AI-powered language tutor. Whether you’re navigating new places, passionate about tech, or just excited to learn something new, you’ll walk away with the tools and inspiration to create your personal language mentor using AI. | ||
|
||
export default function MDXPage({ children }) { | ||
return <MdxLayout slug="creating-your-personal-language-mentor-using-ai">{children}</MdxLayout> | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
import MdxLayout from '../../mdx-layout' | ||
|
||
export const metadata = { | ||
title: "Taller de maquetación web con CSS Grid y flexbox", | ||
length: 180, | ||
difficulty: "Beginner", | ||
language: "es", | ||
image: "flexbox-and-grid.png", | ||
topics: [ | ||
"CSS", | ||
"Flexbox", | ||
"Grid" | ||
], | ||
events: [ | ||
{ | ||
name: "Autentia", | ||
date: "2018-01-24", | ||
video: "https://www.youtube.com/watch?v=RFQy-ud8Ec4" | ||
} | ||
] | ||
} | ||
|
||
Web layouts have evolved exponentially. Grid and flexbox are a main part of this evolution. This native CSS tools allows us to create layouts easily and fast. It is a passionate subject that interests me and I'm sure it will interest you. | ||
|
||
export default function MDXPage({ children }) { | ||
return <MdxLayout slug="flexbox-and-grid">{children}</MdxLayout> | ||
} |
Oops, something went wrong.