Chapi Dev Talks
8.55K subscribers
950 photos
108 videos
12 files
596 links
My name is Chapi and I am a Developer.

I post my thoughts about tech here.

Message to our assistant to give U Feedback: @sophiservebot

Join https://t.me/chapidevtalks_group

Urgent? Contact Me: @chapimenge (Don't say hi or ask Meta Questions )
Download Telegram
Like always send anonymous message here https://sma.robi.work/b/vQq3bZkomPgv
Live stream finished (3 hours)
Chapi Dev Talks
Live stream finished (3 hours)
Good Night My People
6👍3
We broke robi's sma site https://sma.robi.work
😁182
Forwarded from Ruthful Hearts
Gratitude from a Lifted Heart

She had never imagined that such support would ever come her way, and she was grappling with the decision of whether to continue her studies or step away. But the incredible support she has received filled her with a deep sense of happiness.

She couldn’t express her emotions fully in the voice message she sent. She want to pass her gratitude after seeing all the collaboration of compassionate individuals to help her.

She didn’t expect to have a PC, but now she has one, and it is all because of you guys. She wants to thank the Ruthful Hearts community and all the generous souls who extended their hands and hearts to help her.

In her last words, she whispered, “God works in different ways in our lives. I have no words to express my deepest gratitude, I can’t thank you enough. May God bless you all.”

@RuthfulHearts
35💯5🥰1
Frectonz
They are going all in on Rust.
It’s disconcerting that layoffs are now seemingly a quarterly affair at Google despite a massive $23.6B in profits in Q1
Never interrupt your enemy when they are making a mistake!


I didn't post much today cos I was a bit busy and tired. Tmrw some fun tech may be.

Good night my people.
😁95
Genuinely Asking here.

1. what was the biggest risk you take in your career and how did It goes for you?

2. what advice you would give a people who really are ready to take Thier adventure into next level?

I would love to hear other people experience and compared to what I did and judge if I am doing what I needed or not.

Thanks
👍3
Samson Endale 🇪🇹
https://t.me/fanatelevision?livestream I'm regularly watching TV because of Fana telegram channel
I might watch TV after all.

Fana is doing an amazing work reaching more audiences
I am not gonna lie NodeJs Might have the best UI of all languages websites (I know NodeJs is runtime but come on 😂 )
💯13
Forwarded from Techኢት (Alpha)
This media is not supported in your browser
VIEW IN TELEGRAM
🌟 Hello Techኢት Family! 🌟

We're sorry for missing last week's episode of the Techኢት Podcast. 🎙 Exciting news though—we have a special episode coming up! Join us tomorrow, April 30, 2024, at 7 PM (1:00 LT) for an engaging discussion with our special guest, Mulu Tsega(Luna). 🌟

We'll talk about women in tech, delve into product management, and hear about Mulu's journey in the tech world. 🚀 Don’t miss this insightful conversation!

Stay tuned! 📻

@techinethio
13🔥21👍1🥰1
Forwarded from Beka
chapi: I'm streamer
employer: oh send me your twitch link
chapi: no I don't stream in twitch
employer: youtube?
chapi: no, I stream on telegram
employer: what the fuck is telegram
😭
😁24
Forwarded from Dough_Nut️
Bro what do i do now😭☠️
https://t.me/DoughNutDrops
Please open Telegram to view this post
VIEW IN TELEGRAM
😁3
I just wanna post something that takes me whole day to figure out.

async function auth(apiToken: string, telegramInitData: string) {
const initData = new URLSearchParams(telegramInitData);

// URLSearchParams.sort() might not be available in all environments
// so a manual sort implementation could be necessary. For simplicity, we'll skip sorting here.

const hash = initData.get("hash");
initData.delete("hash");

const dataToCheck = Array.from(initData).map(([key, value]) => `${key}=${value}`).join("\n");

// Key preparation: First, derive the secretKey from 'WebAppData' and apiToken
const encoder = new TextEncoder();
const secretKeyMaterial = await crypto.subtle.importKey(
"raw",
encoder.encode("WebAppData"),
{ name: "HMAC", hash: { name: "SHA-256" } },
false,
["sign"]
);
const secretKey = await crypto.subtle.sign(
"HMAC",
secretKeyMaterial,
encoder.encode(apiToken)
);

// Use the derived secretKey to HMAC the dataToCheck
const hmacKey = await crypto.subtle.importKey(
"raw",
secretKey,
{ name: "HMAC", hash: { name: "SHA-256" } },
false,
["sign"]
);

const signatureBuffer = await crypto.subtle.sign(
"HMAC",
hmacKey,
encoder.encode(dataToCheck)
);

const _hash = bufferToHex(signatureBuffer);

console.log(hash, _hash)

return hash === _hash;
}

function bufferToHex(buffer: ArrayBuffer): string {
const byteArray = new Uint8Array(buffer);
return byteArray.reduce((str, byte) => str + byte.toString(16).padStart(2, '0'), '');
}


This is for validating user data in telegram mini app and incase anyone runs into the same problem use this.

https://core.telegram.org/bots/webapps#validating-data-received-via-the-mini-app

Specially in cloudflare worker and vercel
🔥14
Forwarded from Beka (Beka)
Morning good people

I got a dm from lee rob (vercel).

Do any of you know how I can actaually send a valid address and receive the swag here? I've no idea if it's even possible or not. Any help would be highly apperciated 🙏😁
🔥5👏1
"Our IQ might be Room Temperature"
- Primeagen



I am thinking of Celsius 😂😂😂
😁6