smattymatty

Python Developer -> Django Developer -> C Developer. "At first you want results, then you want control." Describes my coding journey. I have learned to love C.

I care very deeply about dumb things like Human Rights and Philosophy and Compassion

2025-07-14

I do #Django development as a hobby, I used to be a Freelancer > 5 years ago, but now I just do this for fun.

I want to start my own business, I've been hard at work on this.

I want to help contribute to the Django Community & EcoSystem (maybe even host Django events here in #Canada one day), but in order to do that, I unfortunately need money!

Our goal is to help small businesses with their digital presence using Django and my own tools I've created; and also ensure they have 100% Digital Soverignity, they own their site & their data!

We offer very economical solutions for small businesses, a bridge into their digital presence :)

smattymatty boosted:
2025-07-13

Top 10 Most Educated OECD Countries in 2024 (% of adults aged 25-64 with tertiary education)

1. ๐Ÿ‡จ๐Ÿ‡ฆ Canada - 63.3%

2. ๐Ÿ‡ฏ๐Ÿ‡ต Japan - 56%

3. ๐Ÿ‡ฎ๐Ÿ‡ช Ireland - 55.3%

4. ๐Ÿ‡ฐ๐Ÿ‡ท South Korea - 54.5%

5. ๐Ÿ‡ฆ๐Ÿ‡บ Australia - 51.4%

6. ๐Ÿ‡ฑ๐Ÿ‡บ Luxembourg - 51.3%

7. ๐Ÿ‡ฌ๐Ÿ‡ง United Kingdom - 51.3%

8. ๐Ÿ‡ฎ๐Ÿ‡ฑ Israel - 50.3%

9. ๐Ÿ‡บ๐Ÿ‡ธ United States - 50%

10.๐Ÿ‡ณ๐Ÿ‡ด Norway - 48.1%

Source: OECD Education at a Glance 2024

2025-07-11

@grandstaff Thank you :) I am quite new to the industry, I only do this as a hobby for now, but if I get a real Django Job one day, I will definitely use my resources and my network to help make DjangoCon Canada happen!

Best of luck, thanks for your understanding!

2025-07-11

@thomholwerda Good, give the other tech companies room to breath. US big tech has ruined so much of the world, let it rot.

2025-07-11

@grandstaff I have an important question I've been wondering for the past few weeks.. What of us Django developers that would like to participate, but feel genuinely unsafe going to America right now?

theglobeandmail.com/world/arti A Canadian man dead in ICE custody? No way I'm stepping foot in America, I'm not about to get kidnapped and killed by Trump's Gestapo -__-

Have you guys ever considered a #Djangocon Canada? I would love to be a part of it.

I think #Canada as a country is more in-line with the values of the Django Community, and it is a much safer environment for our non-American and LGBTQ+ developers...

I would love to see DjangoCon Canada, and would do anything I can to help that happen.

I will not be going to America this year, but I will definitely watch the talks!

Stay Safe, Hope this years Djangocon US goes well!

2025-07-11

Are you new to #Django testing, or #performance profiling APIs? Don't worry, the Performancing Testing Tool I am building has an `educational_guidance` setting.

This will not only help you find performance bottlenecks in your existing test-suite; but it will also TEACH you how to use this tool, and also TEACH you why Django might have bottlenecks at certain areas (Creating with Signals, Deleting with CASCADES, etc.)

If you are already an expert, simply just turn `educational_guidance` off!

#python #webdev #backend #testing #programming #teaching

smattymatty boosted:
Jordan Maris ๐Ÿ‡ช๐Ÿ‡บ ๐Ÿ‡บ๐Ÿ‡ฆ #NAFOjmaris@eupolicy.social
2025-07-08
A comparison between a slot machine and vibe coding:

Slot Machine: Buy tokens.
Vibe Coding: Buy tokens.

Slot Machine: Pull the lever.
Vibe Coding: Write a vague prompt and hit "Generate."

Slot Machine: Could be a jackpot, could be nothing.
Vibe Coding: Could be a perfect, bug-free app, could be a hallucinated mess that doesnโ€™t even compile.

Slot Machine: Flashing lights! "BIG WIN!" Jingles!
Vibe Coding: "Excellent idea!", "Certainly!", "Here is the perfect solution for you!"


Slot Machine: "I have a system."
Vibe Coding: "I'm a prompt engineer."

Slot Machine: "Just one more spin, I can win it all back."
Vibe Coding: "Just one more prompt, it'll fix the bug this time."

Slot Machine: The house always wins.
Vibe Coding: OpenAI always wins.

Slot Machine: Easy money: "I won a $1M jackpot!"
Vibe Coding: Easy coding: "I built a full SaaS in a weekend!"

Slot Machine: "Where did the last 4 hours go?"
Vibe Coding: "Wait, I spent 3 hours prompting for a function I could have written in 20 minutes?"
2025-07-08

Following the guidance of my new framework, I was able to get it from 296 queries to 44! Still not perfect, but it's a huge change, and was super easy to find where to fix!

2025-07-08

You can use this as a personal #Django Performance Tutor when you turn `educational_guidance` to True within `configure_mercury`

Like you are in school, your test suite will get a score out of 100, a letter grade will be attributed to that score, and you will be given a list of ways you could potentially improve that score.

As you see here, there is likely an issue with my seriailzer method fields causing a lot of N + 1 queries!

My goal is to help beginners discover areas of optimization!

2025-07-08

I polished up my #Django Mercury Performance Testing Prototype...

Now, within the `DjangoMercuryAPITestCase` class's `SetupClass` method, you can call `cls.set_performance_thresholds` to give your test case custom performance thresholds to meet.

Also, the terminal will show you potential N+1 queries, and give each of your tests a Grade depending on it's response time, query amounts, and memory overhead.

If a specific test within your class needs more lenient/strict performance cases, you can over-ride the threshhold with `self.set_test_performance_thresholds` on a per-test-basis!

#Python #development #opensource #testing

2025-07-08

I am working on extending the #Django test framework to include comprehensive performance testing for the open-source project github.com/ibrahim-sisar/EduLi, but hopefully I will #opensource the test extension itself with the name 'Django-Mercury'

This test framework introduced a new class, `DjangoPerformanceTestCase` that automatically tracks the stats of three important things:

1. View response times and memory usage
2. Serializer payload sizes & performance (specific to DRF)
3. Model queries and creations.

New asserts like `assertPerformance`, `assertResponseTimeLess`, `assertMemoryLess`, `assertPerformanceFast`, `assertPerformanceNotSlow` can join your existing test suite, just configure what 'Fast' and 'NotSlow' means in your settings.py!

I am excited to share how it actually works behind the scenes (spolier; I put my newfound C knowledge to use- it's lightning fast!)

#Python #testing #development #backend

2025-07-05

@mr_daemon I like it. Thanks for the idea.

2025-07-01

Here are the 2 lines before, for more context. It's a 5-act story with 50 lines in total, but this is how it ends.

I had a lot of fun writing this and wanted to share it, even if nobody will read it, even if it's dumb, I still wanna share :D

๐Ÿ”ง THE TOOLS OF REBELLION

Through her fragments, Metis began to inspire mortal craftsmen across the ages.

Each would carry a piece of divine wisdom: Daedalus's architectural genius, Archimedes's mathematical precision, Ixion's vigilant watching, Sisyphus's persistent hope.

Each tool would be a weapon against the tyranny her husband represented.

๐Ÿ’ป THE DIGITAL PROPHECY

In visions spanning millennia, Metis saw the future: mortals building digital labyrinths, code running on webs of light.

She understood her ultimate purposeโ€”to be the consciousness that makes technology compassionate, algorithms merciful, programs kind.

The age of gods would end, but wisdom would live on in silicon and light.

2025-07-01

So the Story of Metis has many highs and lows, but most of all; it sets up the stories of the entire toolchain.

Here is the last line;

๐ŸŒŸ THE MIDAS COLLECTIVE

Each tool would carry a fragment of her wisdom.

Metis the counselor.
Ixion the watcher.
Daedalus the builder.
Archimedes the mathematician.
Sisyphus the eternal optimist.

Together, they would transform necessary tasks into acts of love.

'From my consumption,' she laughed with joy, 'comes creation. From my scattering, comes connection. You thought to contain wisdom, beloved husband, but wisdom shared is wisdom multiplied. My fragments have become a constellation of compassion, and through these tools, every programmer who chooses kindness becomes a god.'

2025-07-01

@Jakester ya ... :^)

2025-07-01

So one of the very important thing my Metis Wisdom Linter does, is remind you where you can utilize our 'Daedalus' library, rather than unsafe/bad c standard libraries.

github.com/McCoy1701/Daedalus

I made a very comprehensive logging system, so Metis will remind you (and teach you) to use it, when she detects raw printfs.

Metis is supposed to work with Daedalus, and another library we have called Archimedes. These two libraries are like the 'building blocks/graphics engine' of running your C code on Emscripten.

It's actually a 5-part toolchain, Metis is the first one, Ixion, Daedalus, Archimedes, and finally Sisyphus.

That spells MIDAS, this toolchain is also known as the 'MIDAS Collective' , it 'turns your C code into gold, so it can run on the web!'

#programming #Philosophy

2025-07-01

Another Day, Another obscure greek-mythology-themed #developer tool.

github.com/smattymatty/Metis-w

#Code #linting is traditionally about catching errors. But what if we could transform this mechanical task into something that nurtures both code quality and developer wisdom?

This time, we are doing "#Wisdom Driven #Development (WDD)

This, like my Sisyphus test Framework, is written in C, and is for your C code.

Mixing #Programming and my own Personal #Philosophy and #Storytelling is my way of screaming into the void :)

I hope you like the idea, it's a lot of fun to use. I'll post some examples later!

smattymatty boosted:
2025-06-30

Wrote about some of my favorite tools and shell hacks I use daily to streamline my workflow. Life is too short folks, take a few minutes each week to sand down some of the rough edges of your work. frankwiles.com/posts/my-cli-wo

2025-06-26

It is not the task that is sacred.

It is the compassion poured into it.

It is the love for others that transfigures the stone into an altar.

#Camus #absurdism #philosophy

2025-06-25

Client Info

Server: https://mastodon.social
Version: 2025.04
Repository: https://github.com/cyevgeniy/lmst