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 · 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 · 15/11/2025
Caramelizing some onions right now, reminders to stir them
Screenshot of my terminal, using my `create-apple-reminder` script

```
~/Documents/notes main
❯ scripts/create-apple-reminder     
Usage: create-apple-reminder <relative_time> <message>
Example: create-apple-reminder 5m Check db
~/Documents/notes main
❯ scripts/create-apple-reminder 15m "Onions"   
reminder id x-apple-reminder://3CC2A906-BF8A-4690-9CCF-A857703CAC61
~/Documents/notes main
❯ scripts/create-apple-reminder 30m "Onions"
reminder id x-apple-reminder://B247E0AA-D245-4526-A8BB-040D0BB1EE00
~/Documents/notes main
❯ scripts/create-apple-reminder 45m "Onions"
reminder id x-apple-reminder://B53E0119-248D-4C3C-9DC5-7270DF052E8A
~/Documents/notes main
❯ scripts/create-apple-reminder 60m "Onions"
reminder id x-apple-reminder://93C9A8DA-4B9E-4AD4-B3D2-A5DB9403B40F
~/Documents/notes main
❯ scripts/create-apple-reminder 75m "Onions"
reminder id x-apple-reminder://338A6D19-DB83-4B2C-A8BF-82C7D474DB64
~/Documents/notes main
❯ scripts/create-apple-reminder 90m "Onions"
reminder id x-apple-reminder://64C71425-78CC-46E3-89B5-40A36525C2D8
~/Documents/notes main
❯ scripts/create-apple-reminder 105m "Onions"
reminder id x-apple-reminder://73FE0FB5-EC23-47F6-AA18-F5E3C002A469
````
110
Berkan🇵🇸 @berkan.dev · 22/10/2025
Advice to toddlers on how to be a hustler
Blog post screenshot

ENTREPRENEURSHIP ADVICE FOR HIGH SCHOOL STUDENTS (WHAT I WISH
I KNEW)

I gave a talk about my experience as a founder with my son's high school Entrepreneurship class.
010
Berkan🇵🇸 @berkan.dev · 19/10/2025
> Prevents claude mixing up instructions - examples - context. It’s all context buddy. Always been
Screenshot from https://docs.claude.com/en/docs/build-with-claude/prompt-engineering/use-xml-tags

When your prompts involve multiple components like context, instructions, and examples, XML tags can be a game-changer.
They help Claude parse your prompts more accurately, leading to higher-quality outputs.

XML tip: Use tags like < instructions> , <example>, and < formatting> to clearly separate different parts of your prompt. This prevents Claude from mixing up instructions with examples or context.
000
Berkan🇵🇸 @berkan.dev · 22/09/2025
Reverse job boards are shutting down
…..as if to emphasize the funding
struggles... Talent.io, once Europe's leading tech recruitment platform, filed for bankruptcy and was acquired by Davidson Consulting via commercial court proceedings in March 2025 - just after celebrating its 10th anniversary.
Founded in 2015, Talent.io quickly rose to prominence, with 175 employees across 5 countries, matching up to 200 software engineers/month with jobs at its peak. It was part of a wave of platforms that disrupted traditional tech hiring.
However, cracks started showing in mid-2022, or as co-founder Jonathan Azoulay wrote: "Then we went through what some VCs call 'The God Damn Cycle' " The post-COVID tech slowdown and VC funding freeze hit the sector hard.
Revenue plunged 80% in 18 months. Al changed hiring priorities, reducing the need for traditional coding roles. Competitors like Hired.com, Triplebyte, Vettery, and Honeypot also shut down. LinkedIn's Al-enhanced dominance further marginalized niche recruitment platforms.
000
Berkan🇵🇸 @berkan.dev · 16/09/2025
Meet @usetrmnl.com 's CEO Ryan Kulp. > last week in Amsterdam i mentioned to a friend on the street that Muslim refugees are ruining the continent and i made sure to say it loud enough for those around us to hear it. www.ryanckulp.com/how-to-stand...
Screenshot from blog post.

> it’s been said “we yell lies, but whisper truths.” last week in Amsterdam i mentioned to a friend on the street that Muslim refugees are ruining the continent and i made sure to say it loud enough for those around us to hear it.

sourced from: https://www.ryanckulp.com/how-to-stand-for-charlie-kirk/
241
Berkan🇵🇸 @berkan.dev · 27/08/2025
President of an occupied country values the bond between his nation and the evil occupying genocidal country.
000
Berkan🇵🇸 @berkan.dev · 11/06/2025
> As I mentioned before, we are currently not hiring for any position. Suuuure, keep my resume to waste my time in the future again.
100
Berkan🇵🇸 @berkan.dev · 23/04/2025
Thinking if I should sleep outside tonight
000
Berkan🇵🇸 @berkan.dev · 07/04/2025
Can't do worse than him
060
Berkan🇵🇸 @berkan.dev · 04/04/2025
There is like 7 more flags, I didn’t want it to bore you guys.
000
Berkan🇵🇸 @berkan.dev · 30/03/2025
I don’t know how to tailwind but it looks incorrect to me. Corner is bulkier than the edge. Calculation for vanilla css is here www.30secondsofcode.org/css/s/nested...
000
Berkan🇵🇸 @berkan.dev · 18/02/2025
Help! I'm fully stuck developer
000
Berkan🇵🇸 @berkan.dev · 17/02/2025
1 star review: These containers are not elastic at all.
000
Berkan🇵🇸 @berkan.dev · 31/01/2025
I'm kinda excited for the docusign cinematic universe. Think of all the potential crossovers and cameos from docusign 1's huge cast!
000
Berkan🇵🇸 @berkan.dev · 31/01/2025
Docusign 2.0, this time with 5 million employees and of course AI
100
Berkan🇵🇸 @berkan.dev · 31/12/2024
Bluesky experience for me. No need to scroll for hours.
A tweet from ICE T's official twitter account at 2019. Tweet says:

I get on Twitter... talk a little shit... Get off... Back to life...
000
Berkan🇵🇸 @berkan.dev · 20/12/2024
Happiest boy
000
Berkan🇵🇸 @berkan.dev · 19/12/2024
Elixir 1.18 can auto reload the iex after you edit sourcecode 😮
From elixir 1.18 changelog

For example, you can invoke IEx.configure(auto_reload: true) and IEx will automatically reload modules changed elsewhere, either by a separate terminal or your IDE.
010
Berkan🇵🇸 @berkan.dev · 18/12/2024
020
Berkan🇵🇸 @berkan.dev · 14/11/2024
You now have invalid handle
000
Berkan🇵🇸 @berkan.dev · 07/11/2024
I modeled my problem via deeply nested structs. Game -> list of Round -> list of Player -> Hand -> List of Cards To update a player's hand I've had to write lots of deeply cohesive methods in different modules.
Elixir code

```
# Round.submit_turn/2
def submit_turn(round, score) do
  round
  |> current_turn_player()
  |> Player.increase_score(score)
  |> Player.remove_selected_cards()
end

# Player.remove_selected_cards/1
def remove_selected_cards(player) do
  %{player | hand: Hand.remove_selected_cards(player.hand)}
end

# Hand.remove_selected_cards/1
def remove_selected_cards(hand) do
  hand.cards
  |> Enum.reject(& &1.selected)
  |> then(&%{hand | cards: &1})
end
```
100