AI tools are showing us just how broken the education system really is.
I recently stumbled upon this article talking about the AI double standard in education.
Teachers are using AI to grade school papers and prepare learning plans — yet they’re banning students from using it.
ChatGPT getting banned in schools and universities tells you everything you need to know about the education system.
School doesn’t prepare anyone for the real world.
If they did then none of these tools clearly used in the real-world would be banned.
All most schools do is feed you with unnecessary or esoteric knowledge you wouldn’t need to use in the vast majority of cases.
In university they box you into a cage of specialization to meet the requirements for a job.
And for most of the jobs, you didn’t even need to know half of the things they made you learn to get the certificate.
Assignments and exams for the most part only test how much you can recall information.
They test your memory retrieval ability. They don’t test your thinking process.
They don’t test how sharp your mental models for solving problems are.
So of course if they allowed AI tools like ChatGPT, everyone would get a perfect score in every exam.
Because all the knowledge is already out there.
Actually, AI is making it pretty clear that assignments and exams shouldn’t even really exist.
If school was really about learning, then the focus would be on personalized, hands-on, interactive practice.
It wouldn’t be about knowing the “right” answers and getting a terrible grade if you don’t.
Grades wouldn’t even be a thing, at least in their current form.
School wouldn’t be about getting the correct solution if you want to “pass”, it would be about becoming someone who can solve problems — especially big picture problems that really matter in life — or at least should really matter.
And using powerful tools to help us solve the problems even easier and faster.
And what if AI could eventually solve the problem entirely without us even having to think about it?
Would it be so wrong to have AI “think” for us, especially for irrelevant problems we’d rather not handle ourselves?
Relatively boring, repetitive problems?
Problems that already have well-established and predictable methods for solving them that today’s AI’s could easily internalize and replicate.
Problems like coding, for the most part.
But sadly most schools mainly exist to take your money and produce certified drones.
They’re not about big-picture, original thinking or the pursuit of happiness.
OpenAI’s new GPT 4.1 model blows almost every other model out of the water — including GPT 4.5 (terrible naming I know).
It’s not even close — just look at what GPT 4o and GPT 4.1 produced for the exact same prompt:
❌ Before: GPT 4o
Prompt:
Make a flashcard web application. The user should be able to create flashcards, search through their existing flashcards, review flashcards, and see statistics on flashcards reviewed. Preload ten cards containing a Hindi word or phrase and its English translation. Review interface: In the review interface, clicking or pressing Space should flip the card with a smooth 3-D animation to reveal the translation. Pressing the arrow keys should navigate through cards. Search interface: The search bar should dynamically provide a list of results as the user types in a query. Statistics interface: The stats page should show a graph of the number of cards the user has reviewed, and the percentage they have gotten correct. Create cards interface: The create cards page should allow the user to specify the front and back of a flashcard and add to the user’s collection. Each of these interfaces should be accessible in the sidebar. Generate a single page React app (put all styles inline).
✅ Now look at what GPT 4.1 produced for the same prompt:
The 4.1 version is just way better in every way:
✅ Cleaner and more intuitive inputs
✅ Better feedback with the user
✅ Polished UI with icons and color
It’s a massive improvement — which is why IDEs like Windsurf and Cursor quickly added GPT 4.1 support just a few hours after its release.
Major GPT-4.1 enhancements
1 million
GPT 4.1 has a breakthrough 1 million token context window.
Way higher than the previous 128,000 token limit GPT 4o could handle.
So now the model can process and understand much larger inputs:
Extensive documents
Complex codebases — leading to even more powerful coding agents
GPT 4.1 will digest the content well enough to focus on the relevant information and disregard any distractions.
Just better in every way
GPT-4.1 has proven to be better than 4o and 4.5 in just about every benchmark
How great at coding?
54.6% on SWE-bench Verified Benchmark
21.4% absolute improvement over GPT-4o
26.6% absolute improvement over GPT-4.5.
Instruction following
Scored 38.3% on the Scale’s MultiChallenge benchmark
10.5% absolute increase over GPT-4o
Long-context comprehension
Sets a new state-of-the-art with a 72.0% score on the Video-MME benchmark’s long, no subtitles category.
6.7% absolute increase over GPT-4o
Cheaper too
Greater intelligence for a fraction of the cost. GPT-4.1 is also 26% more cost-effective than GPT-4o.
A significant decrease — which you’ll definitely feel in an AI app with many thousands of users bombarding the API every minute.
Not like most of us will ever get to such levels of scale, ha ha.
Meet Mini and Nano
OpenAI also released two streamlined versions of GPT-4.1:
GPT-4.1 Mini
Mini still gives GPT-4o a run for its money, but better:
50% less latency
83% cheaper
GPT-4.1 Nano
The smallest, fastest, and most affordable model.
Perfect at low-latency tasks like classification and autocompletion.
And despite being so small, it still achieves impressive scores and outperforms GPT-4o Mini:
80.1% on MMLU
50.3% on GPQA
9.8% on Aider polyglot coding
Evolution doesn’t stop
GPT-4 was once the talk of the town — but today it’s on its way out.
With GPT-4.1, OpenAI OpenAI plans to phase out older models:
GPT-4: Scheduled to be retired from ChatGPT by April 30, 2025.
GPT-4.5 Preview: Set to be deprecated in the API by July 14, 2025.
Yes even GPT-4.5 that just came out a few weeks ago is going away soon.
Right now GPT-4.1 is only available in the API for developers and enterprise users.
GPT-5 might be delayed but OpenAI isn’t slowing down.
GPT-4.1 is a big step up—smarter, faster, cheaper, and able to handle way more context. It sets a fresh standard and opens the door for what’s coming next.
VS Code’s new agentic editing mode is simply amazing. I think I might have to make it my main IDE again.
It’s your tireless autonomous coding companion with total understanding of your entire codebase — performing complex multi-step tasks at your command.
Competitors like Windsurf and Cursor have been stealing the show for weeks now, but it looks like VS Code and Copilot are finally fighting back.
It’s like to Cursor Composer and Windsurf Cascade but with massive advantages.
This is the real deal
Forget autocomplete, this is the real deal.
With agent mode you tell VS Code what to do with simple English and immediately it gets to work:
Analyzes your codebase
Plans out what needs to be done
Creates and edit files, run terminal commands…
Look what happened in this demo:
She just told Copilot:
“add the ability to reorder tasks by dragging”
Literally a single sentence and that was all it took. She didn’t need to create a single UI component, didn’t edit a single line of code.
This isn’t code completion, this is project completion. This is the coding partner you always wanted.
Pretty similar UI to Cascade and Composer btw.
It’s developing for you at a high level and freeing you from all the mundane + repetitive + low-level work.
No sneak changes
You’re still in control…
Agent mode drastically upgrades your development efficiency without taking away the power from you.
For every action it takes it’ll check with you when:
It wants to run non-default tools or terminal commands.
It’s about to make edits — you can review, accept, tweak, or undo them.
You want to pause or stop its suggestions anytime.
You’re the driver. It’s just doing the heavy lifting.
Supports that MCP stuff too
Model Context Protocol standardizes how applications provide context to language models.
Agent Mode can interact with MCP servers to perform tasks like:
AI web debugging
Database interaction
Integration with design systems.
You can even enhance the Agent Mode’s power by installing extensions that provide tools for the agent can use.
You have all the flexibility to select which tools you want for any particular agent action flow.
You can try it now
Agent Mode is free for all VS Code / GitHub Copilot users.
Mhmm I wonder if this would have been the case if they never had the serious competition they do now?
So here’s how to turn it on:
Open your VS Code settings and set "chat.agent.enabled" to true (you’ll need version 1.99+).
Open the Chat view (Ctrl+Alt+I or ⌃⌘I on Mac).
Switch the chat mode to “Agent.”
Give it a prompt — something high-level like: “Create a blog homepage with a sticky header and dark mode toggle.”
Then just watch it get to work.
When should you use it?
Agent Mode shines when:
You’re doing multi-step tasks that would normally take a while.
You don’t want to micromanage every file or dependency.
You’re building from scratch or doing big codebase changes.
For small edits here and there I’d still go with inline suggestions.
Final thoughts
Agent Mode turns VS Code into more than just an editor. It’s a proper assistant — the kind that can actually build, fix, and think through problems with you.
Wow this is incredible. People are using AI to generate insane action figures now.
Incredibly real and detailed with spot-on 3d depth and lighting.
All you need to do:
Go to ChatGPT 4o
Upload a close image of a person
Like for this one:
We’d use a prompt like this:
“Create image. Create a toy of the person in the photo. Let it be an action figure. Next to the figure, there should be the toy’s equipment, each in its individual blisters. 1) a book called “Tecnoforma”. 2) a 3-headed dog with a tag that says “Troika” and a bone at its feet with word “austerity” written on it. 3) a three-headed Hydra with a tag called “Geringonça”. 4) a book titled “D. Sebastião”. Don’t repeat the equipment under any circumstances. The card holding the blister should be a strong orange. Also, on top of the box, write ‘Pedro Passos Coelho’ and underneath it, ‘PSD action figure’. The figure and equipment must all be inside blisters. Visualize this in a realistic way”
You don’t even need to use a photo.
For example to generate the Albert Einstein action figure at the beginning:
Create an action figure toy of Albert Einstein. Next to the figure, there should be toy’s equipment, like things associated with the toy in pop culture. On top of the box, write the name of the person, and underneath it, a popular nickname. Don’t repeat the equipment under any circumstances. The figure and equipment must all be inside blisters. Visualize this in a realistic way.
Replace Albert Einstein with any famous name and see what pop’s out.
This could be a mini-revolution in the world of toy design and collectibles.
Designing unique and custom action figures from scratch — without ever learning complex design or 3d modelling tools.
You describe your dream action figure character in simple language and within seconds you get a high-quality and detailed image.
The possibilities are endless:
Superheroes from scratch with unique powers, costumes, and lore — oh but you may have copyright issues there…
Fantasy warriors inspired by games like Dungeons & Dragons or Elden Ring
Sci-fi cyborgs and aliens designed for custom tabletop campaigns
Anime-style fighters for manga or animation projects
Personal avatars that reflect your identity or alter egos
You can tweak details in the prompts—like armor style, weapons, colors, body type, or aesthetic to get the exact look you want.
You can even turn a group of people into action figures:
As AI gets better at turning 2D to 3D and 3D printing becomes more accessible, we’re heading toward a future where anyone can:
Generate a toy line overnight
Print and ship action figures on-demand
Remix characters based on culture, story, or emotion
Turning imagination into real-life products and having powerful impacts on the physical world.
Finally! I’ve been waiting for this since forever.
Automatic Git commit messages are finally here in Windsurf — just one of the many amazing new AI features they’ve added in the new Wave 6 update that I’ll show you.
Incredible one-click deployment from your IDE, intelligent memory… these are huge jumps forward in Windsurf’s software dev capabilities.
1. One-click deployment with Netlify — super easy now
Okay this is a game changer.
They’ve teamed up with Netlify so you can literally deploy your front-end stuff with just one click right from Windsurf.
Literally no context switching. Everything stays in your editor.
Here we’re claiming the deployment to associating it with our Netlify account.
No more messing with all those settings and manual uploads.
With Wave 6 you just build your app, tell Windsurf to deploy, and it’s live instantly.
Just imagine the flow: you whip up a quick landing page with HTML, CSS, and JavaScript and instantly you reveal it to the world without even switching from your browser.
Your productivity and QOL just went up with this for real.
2. Conversation table of contents
Quickly jump back to earlier suggestions or code versions.
Super handy for those longer coding chat sessions.
3. Better Tab
They’ve upgraded Windsurf Tab inline suggestions once again to work with even more context.
Now it remembers what you searched for to give you even smarter suggestions.
And it works with Jupyter notebook now too:
4. Smarter memory
Windsurf already remembers past stuff but they’ve made it even better.
Now you can easily search, edit, and manage what it remembers — so you have more control over how the AI understands your project and what you like.
5. Automatic commit messages
Yes like I was saying — Windsurf can now write your Git commit messages for you based on the code changes.
One click, and it gives you a decent summary. Saves a bunch of time and helps keep your commit history clean.
6. Better MCP support
If you’re working in a bigger company, they’ve improved how Windsurf works with those Managed Code Providers.
7. New icons and much more
Just a little update among others — they’ve got some new Windsurf icons for you to personalize things up.
Also the ability to edit suggested terminal commands and much more.
This new one-click deployment could really shake things up for front-end development. — making getting your work out there so much faster and lets you focus on the actual coding.
As AI keeps getting better, tools like Windsurf are going to become even more important in how we build software.
Wave 6 shows they’re serious about making things simpler and giving developers smart tools to be more productive and creative. This new update could be a real game changer for AI-assisted development.
GPT-4o’s new image generation is destroying industries in real-time.
Not even up to a week and it’s been absolutely insane — even Sam Altman can’t understand what’s going on right now.
Things are definitely not looking too good for apps like Photoshop.
Look how amazing the layering is. Notice the before & after — it didn’t just copy and paste the girl image onto the room image, like Photoshop would do.
It’s no longer sending prompts to DALL-E behind-the-scenes — it understands the images at a deep level.
Notice how the 3d angle and lighting in the after image is slightly different — it knows it’s the same room. And the same thing for the girl image.
These are not just a bunch of pixels or a simple internal text representation to GPT-4o. It “understands” what it’s seeing.
So of course refining images is going to so much more accurate and precise now.
The prompt adherence and creativity is insane.
What are the odds that something even remotely close to this was in the training data?
It’s not just spitting out something it’s seen before — not like it ever really was like some claimed. How much it understands your prompt has improved drastically.
And yes it can now draw a full glass of wine now.
Another huge huge upgrade is how insanely good it is at understanding & generating text now.
This edit right here is incredible on so many levels…
1. Understanding the images well enough to recreate them so accurately in a completely different image style with facial expressions.
2. It understand the entire context of the comic conversation well enough to create matching body language. Notice how the 4th girl now has her left hand pointing — which matches the fact that she’s ordering something from the bar boy. A gesture that arguably matches the situation even better than in the previous image. And I bet it would be able to replicate her original hand placement if the prompt explicitly asked it to.
3. And then the text generation — this is something AI image generators have been struggling with since forever — and now see how easily GPT-4o recreated the text in the bubbles.
And not only that — notice how the last girl’s speech bubble now has an exclamation point — to perfect match her facial expression and this particular situation.
And yes it can integrate text directly into images too — perfect for posters & social media graphics.
If this isn’t a total disruptor in the realm of graphics design and photoshopping and everything to do with image creation, then you better tell me what is.
It’s really exciting and that’s why we’ve been seeing so many of this type of images flood the social media — images in the style of the creative studio, Ghibli.
And also part of why they’ve had to limit to only paid ChatGPT users with support for the free tier coming soon.
They’ve got to scale the technology and make sure everyone has a smooth experience.
All in all GPT-4o image gen is a major step forward that looks set to deal a major blow to traditional image editing & graphic design tool like Photoshop & illustrator.
The new Gemini 2.5 Pro model just changed everything in the AI race.
Look at what it created with just a few sentences of prompt:
Google is no longer playing catch-up in the LLM race. They’re ahead now.
After many of you had been looking down on Gemini for so long, now look…
Back to the #1 spot they undisputedly were only a few years ago, before what happened in 2022.
Aider LLM coding evaluation
Not like Gemini 2.0 was even bad, but this is a massive massive step-up from that.
Reason, math, coding… it’s either better or seriously competing with the others at almost everything.
Everybody was praising Grok just a while ago but this Gemini 2.5 has already surpassed it in major areas.
1 million context window and 2 million coming very soon — and as always with multimodal processing for text, images, audio, and video…
Complex multi-step thinking is here…
Look at a puzzle someone used to find out just how good this new model is:
How many of us can even figure out this pattern in less than a minute?
This is complex reasoning stuff that would destroy regular models like GPT 4.5 — but Gemini took just 15 seconds to figure this out. Correctly.
Meanwhile rivals like Claude 3.7 Thinking and Grok spent well over a minute before they could get the answer.
At this point we’ve now clearly got beyond the traditional next-token prediction models — already “traditional” in 2025.
It’s also apparently insanely good at generative the perfect SVG icon for you with high precision.
And all this for immensely generous prices.
In OpenAI Playground you pay for token usage — completely free in Gemini AI Studio.
And there’s still a free trial for actual API usage.
The paid tier is already looking like it would be much cheaper than OpenAI’s o3-mini — and lightyears cheaper than the o3 monster.
Gemini 2.0 is already around 10 times cheaper than o3-mini and I doubt 2.5 would have a price that would be significantly higher.
With everything we’ve been seing in recent months it’s just so clear that OpenAI is no longer miles ahead of the rest anymore.
They will never again get the sort of undisputed dominance they got when ChatGPT first came out.
Now Google’s showing us that they were never really out — and unlike OpenAI they won’t be struggling nearly as much with losses and fundraising. Whatever losses from AI gets massively offset with the avalanche of billions from Ad money.
Way easier for them to keep prices ridiculously cheap and generous like they’ve been doing. A massive long-term financial advantage.
The relatively underwhelming release of GPT 4.5 also didn’t help matters for OpenAI. Maybe it was even supposed to be the ultimate GPT 5, but it would have a massive failure to call it that.
Once again we continue to see the shift from “raw” LLMs to thinking agents with chain-of-thought prompting.
Google is back, Gemini 2.5 is fast, and once again a major change in the dynamics of the AI race.
Redefining what’s possible and setting new expectations for the future.
The new Windsurf IDE just got a massive new upgrade to finally silence the AI doubters.
The Wave 5 upgrade is here and it’s packed with several game changing AI features to make coding easier and faster.
So ever since Windsurf first came out, they’ve been releasing massive upgrades in something they call Waves.
Like in Wave 3 they brought tis intelligent new tab-to-jump feature that I’ve really been enjoying so far,
Just like you get inline code suggestions that you accept with Tab, now you get suggestions to jump to the place in the file where you’re most likely to continue making changes.
So like now it’s not just predicting your next line — it’s predicting your overall intent in the file and codebase at large. The context and ability grew way beyond just the code surrounding your cursor.
And things have been no different with Wave 4 and now 5 — huge huge context upgrades…
With Wave 5 Windsurf now uses your clipboard as context for code completions.
Just look at this:
It’s incredible.
We literally copied pseudocode and once we went back to start typing in the editor — it saw the Python file and function we were creating — it started making suggestions to implement the function.
And it would intelligently do the exact same thing for any other language.
It’ll be really handy when copying answers from ChatGPT or StackOverflow that you can’t just paste to drop into your codebase.
Instead of having to paste and format/edit, Windsurf automatically integrates what you copied into your codebase.
But Wave 5 goes way beyond basic copy and paste.
With this new update Windsurf now uses your conversation history with Cascade chat as context for all your code completions.
Look at this.
Cascade didn’t even give us any code snippets — but still the Tab feature understood the chat message to realize what you’re most likely to do next in the codebase.
So you see, we’re getting even more ways to edit our code from chatting with Cascade — depending on the use case.
You can make Windsurf edit the code directly with Cascade Write mode — auto-pilot vibe coding.
You can chat with Cascade and get snippets of changes that can be made — which you can accept one at a time, based on what you think is best.
Or now, you can use Cascade to get guidelines on what you need to do, then write the code yourself for fine-grained control — using insanely sophisticated Tab completions along the way to move faster than ever.
I know some of you still don’t want trust the auto-edits from vibe coding tools — this update is certainly for you.
Which ever level of control you want, Windsurf can handle it.
And it still doesn’t stop there with Wave 5 — your terminal isn’t getting left behind…
Context from the IDE terminal include all your past commands:
These AI IDEs just keep getting better and better.
The gap between between devs who use these tools and those acting like they’re irrelevant just keeps growing wider everyday.
Now, even more updates to help you spent less time on grunt coding and develop with lightning speed — while still having precise control of everything when you choose too.
Now with Wave 5 — a smarter coding companion with even more context to better predict thoughts and save you from lifting much of a finger — apart from the one to press Tab.
Now we’d need selectors to uniquely identify a particular list item.
So each list item is going to be a <li> in the <ul> in the .scaffold-layout__list list.
And we can use the data-occludable-job-id attribute as the unique identifier.
Now we can process this li to get info on the job from the list item.
JavaScriptCopied!
const listEl = document.querySelector(
".scaffold-layout__list ul"
);
const listItems = listEl.children;
for (const item of listItems) {
// ...
}
Like to find jobs that have that “Be an early applicant” stuff:
JavaScriptCopied!
for (const item of listItems) {
const isEarlyApplicant = item.textContent.includes(
"Be an early applicant"
);
}
Also crucial to only find jobs with “Easy Apply” that let us apply directly on LinkedIn instead of a custom site, so we can have a consistent UI for automation.
JavaScriptCopied!
for (const item of listItems) {
// ...
const isEasyApply = item.textContent.includes("Easy Apply");
}
We can keep querying like this for whatever specific thing we’re looking for.
And when it matches we click to go ahead with applying.
JavaScriptCopied!
for (const item of listItems) {
// ...
if (isEarlyApplicant && isEasyApply) {
item.click();
}
}
Find a selector for the Easy Apply button to auto-click:
JavaScriptCopied!
for (const item of listItems) {
// ...
if (isEarlyApplicant && isEasyApply) {
item.click();
const easyApplyButton = document.querySelector(
"button[data-live-test-job-apply-button]"
);
// delay here with setTimeout or something
easyApplyButton.click();
}
}
Do the same for the Next button here:
And then again.
Now in this late stage things get a bit more interesting.
How would we automate this?
The questions are not all from a pre-existing list — they could be anything.
And looks like service I’ve been showing demos of didn’t even do this step properly — it just put in default values — 0 years of experience for everything — like really?
Using an LLM would be a great idea — for each field I’ll extract the question and the expected answer format and give this to the LLM.
So that means I’ll also need to provide resume-ish data to the LLM — so
I’ll use our normal UI inspection to get the title.
So we can do something like this for all the fields to populate the input object we’ll send to the LLM in the prompt.
And with this all that’s left is clicking the button to submit the application
I could also do some parsing to detect when this success dialog shows.
I could use a JavaScript API like Mutation Observer to detect when this element’s visibility property changes — like the display property changing from 'none' to 'block'.
But with this I’d have successfully auto-applied for the job and I can move on to the next item in the jobs list.
JavaScriptCopied!
const listEl = document.querySelector(
".scaffold-layout__list ul"
);
const listItems = listEl.children;
for (const item of listItems) {
// ...
}
Or the next page of jobs
JavaScriptCopied!
const page = 1;
// 0 -> 25 to go to next page
const nextPage = `linkedin.com/jobs/search/?f_AL=true&keywords=${skills[0]}&f_JT=F&start=${page * 25}`