SchlenkR
@schlenkr.bsky.social
340 followers 70 following 230 posts
https:/www.pxlclock.com OSS dev | [ F#; JS; C#; TS ] | self-employed | you can hire me | Maker of #pxlclock https://linktr.ee/SchlenkR
Posts Media Videos Starter Packs
schlenkr.bsky.social
576 pixels
Pre order
;)
#fsharp
schlenkr.bsky.social
Instead of heavy code generators, I now:
- write a step-by-step spec in code
- run a command manually
- repeat when needed

✅ keeps the benefits of metaprogramming
✅ minimal time & cost
✅ good enough for #pxlclock moving from #fsharp#csharp

Sometimes simple wins.
schlenkr.bsky.social
How comes such a feeling?
schlenkr.bsky.social
Sometimes stepping back reveals small flaws & inconsistencies we got used to. Example: in #csharp, values use `Type id`, but type params use `T : constraint` Historical reasons?

If starting fresh, I’d go ML-style - #fsharp shows how inspiring that can be. #dotnet
schlenkr.bsky.social
I guess many C# focused developers understand Func<int, int[], int[]> very well - and that's it!

or

delegate int combine(int a, int[] b)

(although the names are just documentation, and not part of teh type's identity.)
schlenkr.bsky.social
Please let me use line breaks instead of ; - so your is:

1 - any type T with trait (+): T * int -> U
2 - iterable of U, may be anything from 'maybe' to endless
3 - array of U
4 - T * iterable<U> -> array<U>

So interesting 😍
schlenkr.bsky.social
In JavaScript, it can't be 'anytime' - because it can't be 'compiletime' 😆 OH YEAH!

Anyway: Your reasoning -> rules: ;)

"If an element of type T is added to our element e,
Then e also has type T"

or

"If we know that an element e is in an array, and that has type T,
Then e also has type T"
schlenkr.bsky.social
a hint for nr. 4: That's a function, right?
When we agree that a type should reflect 'what things are', can it be that a function is really of type 'int array' or 'int list'?
schlenkr.bsky.social
...nr. 4: That's a function, right?
When we agree that a type should reflect 'what things are', could it be that a function is really of type 'int array'?
schlenkr.bsky.social
🤓 Type puzzle:

What are the types of a, b, and combine in this snippet?

No syntax, no rules — just inference & imagination. No right or wrong - interpret!

👉 Your guess?

#typefighter #trulla #csharp #typescript #java #fsharp
schlenkr.bsky.social
So you are a CLEAN CODER - really?

Two async funcs:

- Classic style: scroll & chase vars
- Pipeline style: see every step in order, linear data flow, no “what’s this var now?”

💡 Idiomatic in #fsharp
😅 Possible in #csharp, less readable & less accepted
❌ Not practical in #typescript / #javascript
schlenkr.bsky.social
Async in #pxlclock? Easy. Even in a render loop, it remembers state (like a Task) and hands you results when ready.

Now in #fsharp - soon #csharp, #typescript, #python… or maybe I'll write my own language - finally found a use case for it! 😏 #pixelart
schlenkr.bsky.social
We started #pxlclock as two good friends — Sefa & me.

Then, while scrolling through my media today, I found this video: Sefa - you made this! It’s amazing. I don’t know anyone with your skills, and you have my full respect.

100 units selling soon - Who with us for party? 🎉
schlenkr.bsky.social
Why we only sell 100 #pxlclock units?

Many reasons - main one is: We are manufacturing the clock all by ourselves! We solder AC adapters, boards, 3d-print parts, assemble, terminate cables / switches, +++

PXL Clock is hand-made manufacturing work! P.S.: ❤️ to my friend and partner Sefa 🤗
schlenkr.bsky.social
Years ago, I started building my own HTTP lib for #fsharp - #fshttp - and loved it, especially the connections to people.

Now, parts of our #pxlclock software are open source too, and it even got us to Google #1!

Only 100 clocks will be sold!

Please support us - comments & reposts appreciated 🤗
schlenkr.bsky.social
The first official #pxlclock order ever!! Shout out to @dawe.fosstodon.org.ap.brid.gy (sell if for billions in 10 years; after heavy inflation :), shout out to all #fsharp community for giving vibes (just ❤️ to all). @dsyme.bsky.social @scottwlaschin.bsky.social no 2 + 3 reserved whenever appreciated
schlenkr.bsky.social
Back to my high school roots, when I loved playing around with 3D Studio, Photoshop, and others.

For our #pxlclock, I gave myself a chance to reboot those skills – and crafted our Quickstart Manual 🙂

- Design experts – what’s your verdict?
- #dotnet friends: Goto GH and give your ideas a try :)
schlenkr.bsky.social
Believe it or not: one of the few (only?) hardware projects driven by #fsharp (yes – and #typescript) is a – guess – a FUN project! Yes ;) #pxlclock will bring beautiful colors into your rooms, and joy of programming your own ideas. Search pxlclock – buy one of only 💯 🙏🙏🙏🙏
schlenkr.bsky.social
Two lists. Same values. Same order. Still not equal? 🤔

In #csharp and JS/TS, == checks if lists are the same object, not if they have the same contents. Even .Equals() in C# won’t do structural comparison by default.

Not so in #python and #fsharp ❤️
schlenkr.bsky.social
When I think of IKEA, I picture colorful memories, fresh ideas, and clever little hacks that always bring a smile to my face.

So, next time you’re planning to build a pixel frame - just let us know 😉

P.S. Look closely 👀 ❤️

#pxlclock #pxlart
schlenkr.bsky.social
Built my own static site generator for docs.pxlclock.com instead of wrangling existing templates. Didn’t feel like hunting one down - so I “coded the vibe” from scratch. Surprisingly, it worked out great… even though I usually say vibe coding leads to a mess that needs rework. (Claude Sonnet 4)
Home - Cumin & Potato GmbH | PXL Clock | Docs
docs.pxlclock.com
schlenkr.bsky.social
Shout out to all #fsharp / #dotnet / #typescript devs :) Soon we'll release the first 100 units of our #pxlclock, and you can help us AND be a part of it. How? By programming a PXL-App :) Visit github.com/CuminAndPota... and start coding right away 👍 🙏

CC @sergeytihon.com
GitHub - CuminAndPotato/PXL-Clock: The official PXL-Clock Repo
The official PXL-Clock Repo. Contribute to CuminAndPotato/PXL-Clock development by creating an account on GitHub.
github.com
schlenkr.bsky.social
… this is not 0:47 o’clock - this is „47 days until you might grab one of the first 100 units“ … #pxlclock

pxlclock.com
schlenkr.bsky.social
Yes - I use a "Pixel 9" as phone emulator to test the PXL-App for the #pxlclock :) funny...