Skip to content

Commit 390f002

Browse files
Merge branch 'develop' into pr_description
2 parents 9cfd7cc + 844e2ae commit 390f002

File tree

14 files changed

+673
-132
lines changed

14 files changed

+673
-132
lines changed

app/(app)/company/[slug]/config.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
export const companies = [
2+
{
3+
slug: "ninedots",
4+
name: "Ninedots",
5+
bio: "Trusted talent partner based in Dublin and Bahrain. We specialise in everything within the tech ecosystem, including marketing and tech sales. However, if we can’t assist, we won’t tell you we can. What we CAN do is steer you in the right direction - we believe it doesn’t cost to be helpful!",
6+
note: "We’re incredibly grateful to Ninedots for supporting our tech community since April! Your generosity has helped us grow, bring people together, and create amazing learning opportunities through events, workshops, and networking sessions. Your support means the world to us, and we couldn’t do this without you.Thanks for believing in our mission and being a part of our journey—we’re excited for what’s ahead!",
7+
image: "/images/sponsors/ninedots.png",
8+
url: "https://ninedots.io",
9+
},
10+
];

app/(app)/company/[slug]/page.tsx

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
import { notFound } from "next/navigation";
2+
import { companies } from "./config";
3+
4+
export const metadata = {
5+
title: "Ninedots Recruitment | Codu",
6+
description:
7+
"Explore our community sponsors. Ninedots Recruitment connects top talent with leading companies in the tech industry.",
8+
};
9+
10+
type Props = { params: { slug: string } };
11+
12+
export default async function Page({ params }: Props) {
13+
const { slug } = params;
14+
15+
const company = companies.find((item) => item.slug === slug.toLowerCase());
16+
17+
if (!company) return notFound();
18+
19+
return (
20+
<div className="mx-auto w-full max-w-4xl px-4 py-8 sm:px-6 lg:px-8">
21+
<div className="overflow-hidden rounded-lg bg-white shadow dark:bg-neutral-800">
22+
{/* Sponsor Header */}
23+
<div className="border-b border-neutral-200 p-6 dark:border-neutral-700">
24+
<div className="flex flex-col items-center gap-6 sm:flex-row">
25+
<div className="flex h-24 w-24 flex-shrink-0 items-center justify-center rounded-md bg-neutral-700 p-2">
26+
<img
27+
src={company.image}
28+
alt={`${company.name} logo`}
29+
className="max-h-full max-w-full object-contain"
30+
/>
31+
</div>
32+
33+
<div className="flex-1 text-center sm:text-left">
34+
<h1 className="text-2xl font-bold text-neutral-900 dark:text-white">
35+
{company.name}
36+
</h1>
37+
<p className="mt-2 text-neutral-600 dark:text-neutral-300">
38+
{company.bio}
39+
</p>
40+
41+
{company.url && (
42+
<a
43+
href={company.url}
44+
className="mt-4 inline-flex items-center text-sm font-medium text-pink-600 hover:text-pink-500 dark:text-pink-600 dark:hover:text-pink-500"
45+
target="_blank"
46+
rel="noopener noreferrer"
47+
>
48+
Visit website
49+
<svg
50+
className="ml-1 h-4 w-4"
51+
fill="currentColor"
52+
viewBox="0 0 20 20"
53+
>
54+
<path
55+
fillRule="evenodd"
56+
d="M10.293 5.293a1 1 0 011.414 0l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414-1.414L12.586 11H5a1 1 0 110-2h7.586l-2.293-2.293a1 1 0 010-1.414z"
57+
clipRule="evenodd"
58+
/>
59+
</svg>
60+
</a>
61+
)}
62+
</div>
63+
</div>
64+
</div>
65+
<div className="border-neutral-200 bg-neutral-100 p-4 dark:border-neutral-700 dark:bg-neutral-800">
66+
<a
67+
href="/sponsorship"
68+
className="text-sm font-medium text-neutral-500 hover:text-neutral-700 dark:text-neutral-400 dark:hover:text-neutral-300"
69+
>
70+
← Back to all sponsors
71+
</a>
72+
</div>
73+
</div>
74+
</div>
75+
);
76+
}
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
Tuesday, March 4th, 2025 • Niall Maher
2+
3+
# Why We Abandoned Next.js + Other Developer Confessions This Week
4+
5+
_Sorry for the radio silence – I've been busy building._
6+
7+
I know I missed sending out last week's newsletter, but I had a good reason – I was heads down launching my very first product with plans to be profitable! Say hello to [Eventson](https://www.eventson.co/), a platform I've been pouring my heart and soul into. More details on that journey soon!
8+
9+
## **🎟️ AI Crush Conference – Your Early Support Deserves a Reward!**
10+
11+
I want to sincerely thank all of you for your incredible interest and support as we've been getting AI Crush off the ground. It's been my first conference, and I won't lie – it's been stressful! But seeing your enthusiasm has made it all worthwhile.
12+
13+
After weeks of stress, late nights, and endless emails, I'm thrilled to announce that tickets for AI Crush are officially on sale! The CFP closes tonight, and over the next two weeks, we'll be announcing our incredible lineup of speakers and the full agenda.
14+
15+
**Codú community early discount**: Use code _EARLYCRUSH_ for 30% off your ticket! This discount is only available for the next 12 days, so don't wait too long.
16+
17+
This is the absolute best price we will release so if you are going to buy I recommend doing it now!
18+
19+
I'll be sending a separate reminder tomorrow as well for the first time so apologies if it's too much, but I want to make sure that folks get this offer while they can.
20+
21+
Checkout the [website here](https://www.crushconf.com/) for the current speaker list and you can buy tickets on Eventson [here](https://www.eventson.co/219e4b9a-228e-4b58-878b-6c77fda837c0).
22+
23+
## **This Week's Picks**
24+
25+
📝 [**Using AI in the Browser for Typo Rewriting** (8 min)](https://www.raymondcamden.com/2025/02/27/using-ai-in-the-browser-for-typo-rewriting)Chrome’s new built-in AI APIs can now fix typos in user input. This post explores the Prompt API (which improves clarity but slightly alters text) and the Rewriter API (which stays true to the original but isn’t perfect). Includes hands-on code examples!
26+
27+
⚡️ [**Why We Ditched Next.js and Never Looked Back** (8 min)](https://northflank.com/blog/why-we-ditched-next-js-and-never-looked-back)Northflank dropped Next.js after facing SEO issues, performance slowdowns at scale, and frustrating debugging. They switched to a custom React SSR setup with Express. Interesting read for anyone reconsidering their frontend stack.
28+
29+
🎮 [**I Struggled with Git, So I’m Making a Game to Spare Others the Pain** (15 min)](https://initialcommit.com/blog/im-making-a-git-game)After battling Git’s learning curve, this dev built **Git-Sim** to visualize commands. But they didn’t stop there—now they’re creating **Devlands**, a voxel-based game where you explore Git concepts interactively. A fresh take on learning version control!
30+
31+
🎨 [**Knowing CSS Is Mastery in Frontend Development** (4 min)](https://helloanselm.com/writings/knowing-css-is-mastery-to-frontend-development)A solid grasp of CSS is key to frontend mastery. Instead of overcomplicating things with JavaScript, this article argues that native CSS solutions are often cleaner, faster, and more maintainable.
32+
33+
💨 [**They Just Tagged Tailwind CSS v4.0** (13 min)](https://tailwindcss.com/blog/tailwindcss-v4)Tailwind v4 brings major performance boosts, a revamped configuration system, and better support for modern web features. If you use Tailwind, this is a must-read.
34+
35+
🤖 [**A New AI Worry: Young Coders No Longer Know How Their Code Works** (3 min)](https://www.inc.com/kit-eaton/a-new-ai-worry-many-young-coders-no-longer-know-how-their-code-really-works/91151569)Are AI coding assistants making devs too reliant? New research suggests younger engineers might be losing critical problem-solving skills by relying on AI-generated code without fully understanding it.
36+
37+
🔗 [**Introducing the Model Context Protocol** (3 min)](https://www.anthropic.com/news/model-context-protocol)Anthropic open-sourced the **Model Context Protocol (MCP)**, a standard that helps AI assistants connect to live business tools, dev environments, and content repositories. If you're interested in making AI responses more context-aware, this is worth exploring.
38+
39+
🛠️ [**Agents.json: Translate OpenAPI into LLM Tools** (Repo)](https://github.com/wild-card-ai/agents-json)**Agents.json** is a new spec that brings structure to AI-agent interactions using OpenAPI. If you're working on AI-driven workflows, this could be a game-changer.
40+
41+
📡 [**The Differences Between WebSocket and Socket.IO** (4 min)](https://jsdev.space/websocket-socketio)WebSockets and Socket.IO both power real-time web applications, but they work in different ways. This guide explains when to use each, their strengths and weaknesses, and how they fit into modern web development.
42+
43+
## **Dublin Event Tomorrow**
44+
45+
Join us this Wednesday, March 5th at 6:00 PM for an evening of tech talks, free food, drinks, and networking with fellow developers in Dublin!
46+
47+
**TWO EXCITING TALKS**:
48+
49+
1️⃣ **"Async Serverless Communication with MQTT"** by Brendan Scullion Learn how asynchronous communication enhances serverless websites, enabling efficient multitasking and real-time notifications. Brendan will share insights on their decision to adopt MQTT and AWS IoT Core for all async communications.
50+
51+
2️⃣ **"Agents Without the Fluff: What Actually Works in Production"** by me, Cut through the AI agent hype and discover practical, real-world applications. Learn about different types of agents, their capabilities, and how to build and deploy them effectively in production.
52+
53+
Come hungry for knowledge (and pizza)! It's the perfect way to level up your coding skills while having fun with other developers.
54+
55+
🔗 **RSVP HERE**: [https://www.meetup.com/codu-community/events/306456598/](https://www.meetup.com/codu-community/events/306456598/)
56+
57+
See you there! 👋
58+
59+
### **Something Cool**
60+
61+
🔍 [**Refactoring.Guru**](https://refactoring.guru/)
62+
63+
If you've ever wanted a clear, no-nonsense guide to refactoring, design patterns, and SOLID principles, this site has you covered. It breaks down complex programming concepts into simple, digestible explanations with visuals and real-world examples. Whether you're improving legacy code or just leveling up your skills, this is an awesome resource!
64+
65+
## Quick Links
66+
67+
- [Codú Facebook](https://www.facebook.com/profile.php?id=61570877292755)
68+
- [Codú TikTok](https://www.tiktok.com/@codu.co)
69+
- [Our YouTube channel](https://www.youtube.com/@codu)
70+
- [Find us on Twitch](https://www.twitch.tv/codudotco)
71+
72+
If you have any ideas or feedback, reply to this email.
73+
74+
Thanks, and stay awesome,
75+
76+
Niall
77+
78+
Founder @ [Codú](https://www.codu.co/?ref=newsletter)
Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
Tue, 18 March, 2025 • Niall Maher
2+
3+
# 10X Faster TypeScript Is Coming (Plus My Free JS Course)
4+
5+
Something I did last year was a complete JavaScript course! **And yes, it's completely FREE!**
6+
7+
I'm back revisiting it to see how I can improve the content.
8+
9+
## Why Another JS Course?
10+
11+
Look, I get it. There are thousands of JavaScript tutorials out there. But I built this one specifically to cut through the noise and focus on what really matters: building a rock-solid foundation that will serve you throughout your entire coding journey.
12+
13+
Whether you're just starting out or know someone who's looking to break into coding, this structured path will take you from "what's a variable?" to building your own Blackjack game in 23 carefully crafted lessons.
14+
15+
### The Complete Learning Path
16+
17+
I didn't write this in the most logical order (creative process, am I right?), so here's the recommended sequence to follow:
18+
19+
1. Start with the [Introduction to JavaScript](https://newsletter.codu.co/l/OKhlNrmpjTTHP763xCz1UNOw/pYJC8TgQzU1irnLCl7nQNA/Ib3QOu9DyPvRYhOFSfGlzA)
20+
2. Dive into the [DOM](https://newsletter.codu.co/l/OKhlNrmpjTTHP763xCz1UNOw/sRNXVyfrsqIdmdbEaBLcQA/Ib3QOu9DyPvRYhOFSfGlzA) to understand how JS interacts with web pages
21+
3. Master the basics with [Primitive Data Types](https://newsletter.codu.co/l/OKhlNrmpjTTHP763xCz1UNOw/a8K12VGweLwm0QtUthDGTQ/Ib3QOu9DyPvRYhOFSfGlzA), [Operators](https://newsletter.codu.co/l/OKhlNrmpjTTHP763xCz1UNOw/LKym225QBnrX32VV6NKWzw/Ib3QOu9DyPvRYhOFSfGlzA), and [Expressions](https://newsletter.codu.co/l/OKhlNrmpjTTHP763xCz1UNOw/JNQq7qKdhKKbrLH6GzaIbQ/Ib3QOu9DyPvRYhOFSfGlzA)
22+
23+
...and continue through the full curriculum all the way to building real projects!
24+
25+
### What's Coming Next?
26+
27+
This is just the beginning. I'm working on turning this into a proper eBook and video series. But why wait for the perfect version when you can start learning today?
28+
29+
### Help Make This Better!
30+
31+
This is a community effort. If you spot something confusing, have suggestions for improvements, or want to see additional topics covered, drop me a comment. Let's build this resource together!
32+
33+
## **This Week's Picks**
34+
35+
**[A 10x Faster TypeScript](https://devblogs.microsoft.com/typescript/typescript-native-port/) (5 min)**
36+
Microsoft is porting TypeScript to a native implementation, bringing 10x faster builds, lower memory usage, and near-instant editor startup. The first preview of the command-line type checker is expected mid-2025, with full language services by the end of the year.
37+
38+
**[How Cursor (AI IDE) Works](https://blog.sshh.io/p/how-cursor-ai-ide-works) (15 min)**
39+
A breakdown of how AI-powered IDEs like Cursor optimize LLMs for coding. By forking VSCode and integrating tools like `read_file` and `write_file`, Cursor turns AI into a true coding assistant.
40+
41+
**[Dive Into WebGPU — Part 1](https://okaydev.co/articles/dive-into-webgpu-part-1) (17 min)**
42+
A deep dive into WebGPU, the next-gen graphics API for the web. If you're looking for a creative coding challenge, this is a great place to start.
43+
44+
**[Top 3 Mistakes I Made While Building AI Agents](https://www.example.com) (7 min)**
45+
Agents aren't just fancy LLM prompts. This article explains the biggest mistakes developers make—like failing to use external tools, misunderstanding agent memory, and overlooking multi-step workflows.
46+
47+
**[Career Advice in 2025](https://lethain.com/career-advice-2025) (7 min)**
48+
The job market is shifting. AI-driven hiring trends are changing which skills are valued, de-emphasizing traditional leadership experience and favoring deep technical expertise, especially in AI and automation.
49+
50+
**[Beyond React.memo: Smarter Ways to Optimize Performance](https://cekrem.github.io/posts/beyond-react-memo-smarter-performance-optimization) (6 min)**
51+
React.memo isn’t enough. This guide explores better ways to optimize performance, like restructuring components, lifting state down the tree, and using composition patterns to reduce unnecessary re-renders.
52+
53+
**[As an Engineer, I’d Rather Be Called Stupid Than Stay Silent](https://shiftmag.dev/asking-questions-engineering-career-advice-4895) (8 min)**
54+
Asking "stupid" questions is a superpower. Staying silent leads to delays, miscommunication, and missed learning opportunities. This article makes a strong case for speaking up.
55+
56+
**[GitHub Announces Secret Protection and Code Security](https://www.devopsdigest.com/github-announces-secret-protection-and-code-security) (1 min)**
57+
GitHub is unbundling its Advanced Security features, making Secret Protection and Code Security available separately. These tools help detect leaked secrets and identify code vulnerabilities more efficiently.
58+
59+
## **Book of the Week**
60+
61+
[**Building Microservices: Designing Fine-Grained Systems**](https://www.amazon.ie/Building-Microservices-Designing-Fine-Grained-Systems/dp/1492034029/)
62+
63+
Newman cuts through the hype around microservices and focuses on sensible implementation patterns, service boundaries, and deployment pipelines. His coverage of testing strategies across service boundaries saved me countless hours of debugging. The sections on monitoring and security were particularly valuable for my current project.
64+
65+
What impressed me most was how Newman balances technical depth with readability - you'll get concrete examples without drowning in theory. Whether you're just starting with microservices or looking to refine your existing architecture, this book delivers actionable insights you can apply immediately.
66+
67+
## **Something Cool**
68+
69+
[**Web.dev Patterns: Google's Hidden Gem for UI Development**](https://web.dev/patterns)
70+
71+
Need battle-tested UI components without starting from scratch? Google's Web.dev Patterns is your answer. This collection offers implementation-ready solutions for common web components, all optimized for accessibility and performance.
72+
73+
Each pattern includes working demos, complete source code, and detailed explanations covering both implementation and accessibility considerations. From responsive layouts to complex interactions like infinite scrolling, these patterns follow modern web standards while ensuring cross-browser compatibility.
74+
75+
Check out [https://web.dev/patterns](https://web.dev/patterns) and bookmark it now—it's an essential resource that will save you hours of development time on your next project.
76+
77+
## Quick Links
78+
79+
- [Codú Facebook](https://www.facebook.com/profile.php?id=61570877292755)
80+
- [Codú TikTok](https://www.tiktok.com/@codu.co)
81+
- [Our YouTube channel](https://www.youtube.com/@codu)
82+
- [Find us on Twitch](https://www.twitch.tv/codudotco)
83+
84+
If you have any ideas or feedback, reply to this email.
85+
86+
Thanks, and stay awesome,
87+
88+
Niall
89+
90+
Founder @ [Codú](https://www.codu.co/?ref=newsletter)

0 commit comments

Comments
 (0)