Sign in

Berkan🇵🇸

@berkan.dev
229 followers 219 following 348 posts

Software Engineer. Born to write Elixir, Forced to work with Ruby on Rails.

PostsRepliesMedia
Berkan🇵🇸 @berkan.dev · 10/07/2026
Quite happy with handy, it's opensource. github.com/cjpais/Handy/
github.com
GitHub - cjpais/Handy: A free, open source, and extensible speech-to-text application that works completely offline.
A free, open source, and extensible speech-to-text application that works completely offline. - cjpais/Handy
000
Reposted by Berkan🇵🇸
Haskell programming language @haskell.org · 02/06/2026
The past years have seen horrendous attacks towards trans people. We have a duty to protect the most vulnerable members of our communities. There is no Haskell without the trans people who have shaped it through the years. This June is a month of celebrations, but the struggle continues. ✊🏳️‍⚧️λ
The trans flag with a greek lowecase lambda letter in black on it.
151100284
Berkan🇵🇸 @berkan.dev · 30/05/2026
We’ve yet to see someone “build the thing” in a secure non-slopped way, why is everyone obsessed with “building the thing that builds the thing”
000
Berkan🇵🇸 @berkan.dev · 26/05/2026
Even if we utilize markdowns as data, can we make it more structured? Schema validate it? Recipe sites usually relies on schema.org/Recipe But there isn’t a strict markdown example
schema.org
Recipe - Schema.org Type
Schema.org Type: Recipe - A recipe. For dietary restrictions covered by the recipe, a few common restrictions are enumerated via <a class="localLink" href="/suitableForDiet">suitableForDiet</a>. The <...
000
Berkan🇵🇸 @berkan.dev · 26/05/2026
Think of an html rendering endpoint, lets say /books/12. It would do this: Book object + template -> html It looks similar to what static site generators are doing: markdown post + template -> html So we always thought markdown as the “data”. But I’m not sure if that is still the case since LLMs
100
Berkan🇵🇸 @berkan.dev · 26/05/2026
I have some ramblings about markdown, hope I finish it as a blog post. But here is the gist.
100
Berkan🇵🇸 @berkan.dev · 18/05/2026
these and jq. And my jq needs quadrupled since claude code somehow
010
Berkan🇵🇸 @berkan.dev · 11/05/2026
he is a disgusting white supremacist. archive.ph/ddW8W
archive.ph
000
Berkan🇵🇸 @berkan.dev · 11/05/2026
see the reply for the archived link
100
Berkan🇵🇸 @berkan.dev · 08/05/2026
is that supposed to mean something? what a weirdo
100
Berkan🇵🇸 @berkan.dev · 08/04/2026
Looking forward to reading it 👍
010
Berkan🇵🇸 @berkan.dev · 08/04/2026
> I may or may not be over here slowly iterating on my own supplemental RSS experience. In fact, I might’ve just found the name: RxSSuplement. Do you mean like a layer between your reader app and the publisher? I'm interested in something similar, but I don't want to ask leading questions :)
100
Berkan🇵🇸 @berkan.dev · 04/04/2026
Could be a skill issue on my part. I grew soft on the dumb orange site[0]’s footnotes format. Speaking of them, are you following the delve and yc story? [0] news .hackernews .com
000
Berkan🇵🇸 @berkan.dev · 04/04/2026
Underline markup on half of every single sentence is bit hard on my dumb brain. Specially worse on rss reader since it also colors those links
100
Berkan🇵🇸 @berkan.dev · 24/03/2026
I’ve been seeing this mdex library. Did you consider it when you were building your blog?
000
Berkan🇵🇸 @berkan.dev · 23/03/2026
Mistakes of my scripts (I guess sonnet3.5's mistakes at the time): `session required pam_exec.so` instead of optional `if [ "$PAM_TYPE" != "close_session" ];` instead of matching to open_session. But for some reason, it behaved as I expected all these months.
000
Berkan🇵🇸 @berkan.dev · 23/03/2026
Just read this, and I've noticed 2 mistakes of mine thanks. In case the api call to pushover service gets stuck on their queue, you might want to include datetime in your message. `"🚨 SSH Login to $(hostname): $PAM_USER from $CLIENT_IP at $(date '+%Y-%m-%d %H:%M:%S')"`
100
Berkan🇵🇸 @berkan.dev · 19/03/2026
Oh interesting. I was asking because I’m from turkey, thank you
010
Berkan🇵🇸 @berkan.dev · 19/03/2026
Were you able to tie the visitor's session to book purchase, or is it based on the purchase parity link and visitor data?
100
Berkan🇵🇸 @berkan.dev · 19/03/2026
First time seeing dhh88 not repackaging bad strategy as “our way of doing things” > The original concept for ONCE sought to sell self-hostable web apps for a one-time fee. That didn’t work. Sure, we recouped the investment on Campfire, our chat app, but that was it. world.hey.com/dhh/once-aga...
world.hey.com
ONCE (Again)
The original concept for ONCE sought to sell self-hostable web apps for a one-time fee. That didn't work. Sure, we recouped the investment on Campfire, our chat app, but that was it. You gotta listen ...
000
Berkan🇵🇸 @berkan.dev · 10/02/2026
oooh okay. I didnt know github was falling apart. Setting up a daily backup via api should be possible but I don’t know about the human readable part.
000
Berkan🇵🇸 @berkan.dev · 10/02/2026
Not that I would have an answer, but can you explain wdym?
100
Berkan🇵🇸 @berkan.dev · 06/02/2026
Podcast episode descriptions are so much worse since LLMs.
010
Berkan🇵🇸 @berkan.dev · 05/02/2026
I refuse to use that path. This mogs it in every way: ~/.config/the_tool/
000
Berkan🇵🇸 @berkan.dev · 05/02/2026
Mac's config path convention is sooo awful. ~/Library/Application Support/the_tool/ I guess it could have been worse with something like ~/The Crib/AppLiCatIoN SuppOrt xD 😍/the_tool/
100
Berkan🇵🇸 @berkan.dev · 04/02/2026
How to structure the main method of a cli tool? elixirforum.com/t/writing-cl...
elixirforum.com
Writing CLI tool - How to structure the main method
I am currently working on my hobby CLI project. Is there an idiomatic way to structure the main method? I’m currently doing validation → route to a command → handle_exit. Validation itself returns an...
020
Berkan🇵🇸 @berkan.dev · 20/01/2026
> The hard part of computer programming isn’t expressing what we want the machine to do in code. The hard part is turning human thinking [...] into computational thinking that is logically precise and unambiguous, [...] in the syntax of a programming language. Jason Gorman
000
Berkan🇵🇸 @berkan.dev · 09/01/2026
Even redis based ones were not common in my experience. Nodejs community loves gluing aws sqs and lambda for some reason.
000
Berkan🇵🇸 @berkan.dev · 08/01/2026
No way… I would fire my legal team, ai deep research would never be incorrect
000
Berkan🇵🇸 @berkan.dev · 05/01/2026
There are some queue libraries that rely on relational databases. Havent tried them personally yet. PgBoss is mature, sidequestjs is more recent but db agnostic
100
Berkan🇵🇸 @berkan.dev · 02/01/2026
I was thinking something like jit optimization. Imagining something like this: A method that do nothing but call module A or B with if check. Resolved if condition is cached by beam, it knows which module to call until cache is invalidated.
010
Berkan🇵🇸 @berkan.dev · 02/01/2026
Wow. Is there no other way to write this, so BEAM can handle this optimization by itself?
100
Berkan🇵🇸 @berkan.dev · 01/01/2026
This quote is about writer’s block but applies here; Change your goal from “writing well” to “writing badly”. Switch from team "I will one day write something good" to team "I have no choice but to write a piece of shit".
000
Berkan🇵🇸 @berkan.dev · 30/12/2025
What happened to rjit
000
Berkan🇵🇸 @berkan.dev · 27/12/2025
I should stop reading these lol. Ping me if something with very high confidence comes up. Like fish oil improving depression symptoms
000
Berkan🇵🇸 @berkan.dev · 27/12/2025
Reading summaries of medical research this morning. Almost all of them ends like this: Researchers forgot to do consider {important thing}. So this study may or may not be true. Who knows.
100
Berkan🇵🇸 @berkan.dev · 24/12/2025
> My long shopping list sat in a text message. I wished I could check items off as I found them. > I could copy/paste it into a notes app or an email draft and delete items: too much tapping Incredible
000
Berkan🇵🇸 @berkan.dev · 23/12/2025
I also started using it for dinner planning. I have a prompt that references bunch of files - Ingridients\.md has items with expire dates on most items. - Recipes folder has folder per recipe, in there I log my attempts, variations, results, notes for next try etc
000
Berkan🇵🇸 @berkan.dev · 23/12/2025
Weirdest turkish chickpea stew recipe I saw. Squash and feta cheese in it is unheard of here.
000
Berkan🇵🇸 @berkan.dev · 30/11/2025
If I spawned into my body at this moment, I would feel so lucky. But since I’m already me, I compare myself to my peers and even my past self.
020
Berkan🇵🇸 @berkan.dev · 30/11/2025
Life sucks a lot these days. 2025 crushed me economically.
120
Berkan🇵🇸 @berkan.dev · 30/11/2025
Hot swap yapılıyordu sanki keychronlarda? Belki yeni switch seti sipariş edebilirsin
110
Berkan🇵🇸 @berkan.dev · 30/11/2025
Wow looks insane, which recipe are you following
100
Berkan🇵🇸 @berkan.dev · 30/11/2025
@evanhahn.com re:stopping bad guys using my project Have you seen firstdonoharm.dev
firstdonoharm.dev
The Hippocratic License: An Ethical License for Open Source
The Hippocratic License (HL3) is an ethical source license that specifically prohibits the use of open source software to violate universal standards of human rights.
110
Berkan🇵🇸 @berkan.dev · 26/11/2025
Our unique and nuanced pro ai stance versus their parrot cliches of anti ai sentiment
040
Berkan🇵🇸 @berkan.dev · 18/11/2025
Usually "my ruby version not installing because of openssl dependency" problem is followed with "bundle install failing because libffi decided to ruin my day" problem. Then it's local postgresql service of course bsky.app/profile/berk...
110
Berkan🇵🇸 @berkan.dev · 18/11/2025
Nerd sniped myself on this for 2 hours. But now I have reliable way of telling if a site is built with react or not.
```js
function isBuiltWithReact(){
 return Array.from(document.querySelectorAll('body *'))
  .some(el => Object.keys(el)
    .some(el_keys => el_keys.startsWith('__reactFiber') || el_keys.startsWith('__reactProps'))
  )
}
```
020
Berkan🇵🇸 @berkan.dev · 18/11/2025
Just couple days ago I came across this “Erlang unit (in queue theory notation)“ while reading about Little’s Law.
010
Berkan🇵🇸 @berkan.dev · 15/11/2025
Great summary of temu elon's chud posts blogs.gnome.org/alatiera/202...
blogs.gnome.org
DHH and Omarchy: Midlife crisis
Couple weeks ago Cloudflare announced it would be sponsoring some Open Source projects. Throwing money at pet projects of random techbros would hardly be news, but there was a certain vibe behind them...
020
Berkan🇵🇸 @berkan.dev · 15/11/2025
Initially I wrote this script to send my phone notifications from cronjobs etc, easiest channel I thought was to create a reminder. Instead of notification, my scripts create a reminder to the next minute. I don't understand why siri doesn't have a cli.
000