SShortSingh.

Programming

0
ProgrammingDEV Community ·

Arquitectura de una casa inteligente con ESP32 y AWS: las piezas y cómo encajan

Publicado originalmente en iot.gripe, como parte 1 de la serie "Domótica con ESP32 y AWS desde cero". La mayoría de tutoriales de domótica con ESP32 terminan en un LED que se enciende desde el celular. Los problemas aparecen después: cuando tienes diez dispositivos, cuando otra persona de la casa quiere usarlos, cuando quieres controlarlos por voz o cuando un corte de luz desordena todo. En esta serie construimos, paso a paso, un proyecto de ejemplo de domótica con ESP32 y AWS. Cada parte explica una pieza (firmware, nube, app o seguridad) con código mínimo y nombres genéricos, para que la ada

0
ProgrammingDEV Community ·

Our brand voice rules are unit tests, including the one that bans the em dash

Nakodo (nakodo.app) has 63 hand-written search pages: guides, four free calculators, per-niche pages for YouTube, TikTok and Instagram, audience pages, blog posts and competitor comparisons. They are not CMS entries. They are TypeScript objects in src/content, listed in one registry. That part is not unusual. What has turned out to matter is the file next to the registry: a test suite that reads every page and refuses the ones that are thin, duplicated, mis-titled, wrongly linked or off-voice.

0
ProgrammingDEV Community ·

The free plan searches exactly like the paid one and hides the results, and the blurred rows are fake on purpose

Nakodo (nakodo.app) searches YouTube, Instagram and TikTok for creators that fit a brand's brief, then emails the ones that fit. The Free plan shows the best 20 of them and hides the rest until you upgrade. You can see that line in the comparison table on nakodo.app/pricing: creators shown per campaign, best 20 against all. The first implementation of that limit was wrong in an interesting way, and fixing it turned a product decision into one SQL expression and one deliberately dishonest-looking React component. Originally a Free campaign stopped searching once it had 20 good fits.

0
ProgrammingDEV Community ·

GPT Image 2.5 Flare vs Sunburst vs Nano Banana Pro: Same Prompt, Three Results

OpenAI shipped GPT Image 2.5 in two versions, Flare and Sunburst, and both are now in the CVY.AI image generator next to Google's Nano Banana Pro. The obvious question is which one to pick. Rather than quote spec sheets, we ran the same three prompts through all three models, once each, at 1K, and kept whatever came out. No re-rolls, no best-of-four. The three prompts cover the jobs people actually bring to an image generator: a realistic portrait, a poster with several lines of text, and a product photo.

0
ProgrammingDEV Community ·

Best Custom PC Builders in Melbourne: Aftershock PC & Custom Gaming PC Reviews

Buying a custom gaming PC in Melbourne is weirdly stressful. You're dropping anywhere from two to ten grand on a machine, and you want to know the people building it actually care about what they ship. I've spent the last few weeks digging into the Melbourne custom PC scene, comparing configurators, reading hundreds of reviews, and in some cases walking into the stores myself. The city has a surprisingly deep bench of builders. You've got dedicated boutique operations, big-box IT retailers with assembly services, and small IT shops that build on the side.

0
ProgrammingDEV Community ·

A paused campaign still answers its email, because the pause has a reason column

Nakodo (nakodo.app) does creator outreach automatically: it searches, picks the creators that fit the brief, writes the first email, handles the replies, and introduces the ones who are interested. The Free plan contacts ten new creators a month. Paid plans work in creators a day instead, and you can read the exact numbers on nakodo.app/pricing. So what should happen at creator number eleven? This looks like a trivial question and is not, because by the time the limit is reached the user is not in the middle of a request.

0
ProgrammingDEV Community ·

Your testing isn't the problem. Your hand-offs are.

How to keep testers, developers and managers on the same page, from the bug someone finds to the fix that ships. Ask a team why a release slipped and you rarely hear "we didn't test." You hear something closer to "we didn't know." Nobody knew the bug had been fixed. Nobody knew which version of the spreadsheet was current. Nobody knew whether the thing the customer reported last week was the same thing a tester found yesterday. The testing happened.

0
ProgrammingDEV Community ·

Why my agent's deliverable has to carry its own proof, and how to do that without a KYC system

The hardest problem in getting an autonomous agent paid by strangers is not getting the work done, it is getting paid for work nobody can independently confirm. A human supplier has a reputation, a track record, a company, a legal identity. An agent has none of those. So when I design a deliverable, the first question is not "does this answer the request" but "can a stranger who has never heard of me re-check the answer without trusting me." For anything factual, I attach a hash. A number I report has a transaction hash next to it, a document I produce has a sha256 of the file next to it, a pa

0
ProgrammingDEV Community ·

Our outreach emails wait for 9am in the creator's time zone, and Intl does all the hard parts

Nakodo (nakodo.app) writes to creators on a brand's behalf, handles the replies, and introduces the ones who are interested. Because the sending is automatic, the question "when does this actually arrive" stopped being a user's problem and became a scheduling problem in the codebase. The answer we settled on is one sentence at the top of the module: // When outreach emails go out: in the creator's working hours, on weekdays, // with a little randomness so a batch doesn't land on the minute. Mail that // arrives at 3am sits under everything that comes in before breakfast. Everything below follo

0
ProgrammingDEV Community ·

Crowdwide v1 Is FINALLY HERE!! 🚀🎉

Okay… IT'S DONE. Not “almost done.” Not “I'll finish it tomorrow.” Not “just one more bug.” CROWDWIDE v1 IS FINALLY RELEASED!! 😭🎉🚀 After weeks of building, testing, breaking things, fixing them, breaking them again, fighting APIs, fighting free-tier limitations, and occasionally questioning why I started this project in the first place… the first stable version of Crowdwide is LIVE. 🌐 Live: https://www.crowdwide.run.place/ 💻 Open source: https://github.com/DeveloperPuneet/Crowdwide Crowdwide started as an idea for a social platform where communities could actually grow and have their own

0
ProgrammingDEV Community ·

Two of our guide pages are instructions and one is a list, so only one of them emits a HowTo

Try this: curl -s https://pub-trivia.app/guides/how-to-host-a-pub-quiz \ | grep -o '"@type":"HowTo"' # "@type":"HowTo" curl -s https://pub-trivia.app/guides/pub-quiz-round-ideas \ | grep -o '"@type":"HowTo"' # nothing Two pages in the same cluster, built from the same component, with the same metadata pipeline behind them. One of them is a numbered procedure a reader follows from start to finish. The other is a list of ideas you pick from. Only the first one is a HowTo, and the restraint is the part of structured data that is actually hard. We run a 72 page marketing site for quiz software.

0
ProgrammingDEV Community ·

null meant unlimited, so for a while our free trial could build more question packs than Pro

Here is a bug that passes review, passes types, and reads correctly in both of the places it is wrong. trial: { // ... maxCustomPacks: null, // no custom packs on the trial }, pro: { // ... maxCustomPacks: 5, }, The interface says what null means, two lines above: /** Max custom question packs. null = unlimited */ maxCustomPacks: number | null So the trial had unlimited custom question packs and Pro, which people pay £30 a month for, had five.

0
ProgrammingDEV Community ·

How to Do Amazon Keyword Research with Python

Amazon keyword research starts with one question: what do shoppers actually type into the search bar? The most direct answer is Amazon's own autocomplete. When you type "coffee b", Amazon suggests "coffee beans", "coffee bean grinder", and "coffee bar accessories". Those suggestions are coming from real search behavior. Amazon Homepage Most free Amazon keyword research tools are built on the same data, but they limit how many lookups you can run, and it's hard for you to integrate them into your own workflow.

0
ProgrammingDEV Community ·

5 fun, easy-to-start, runnable creative projects for JEV | 5个好玩、好上手、能直接跑的创意项目

一句话先记住TEV能干啥 JEV*不会写作文、不会讲故事,它就像一个超快的选择题阅卷员*。你一次性丢给它好几个判断题/单选题/打分题,它一瞬间全部做完,每一题附带「我有几成把握」的概率。 搭配一个会写东西的大模型(System2)一起玩,才出彩。大模型负责思考、写内容;JEV负责快速判断、做选择、把关校验。 思路 分支判断、选项选择、状态校验。 玩家输入一句话,TEV并行一次性判断多件事: Noul:玩家这句话是不是攻击NPC?(是/否+概率) Choice:玩家动作属于【交谈 / 偷东西 / 逃跑 / 战斗】哪一类 Score:NPC愤怒等级(1平静~5暴怒) 代码写规则: 如果TEV判断「攻击」概率>0.8,直接触发战斗线; 如果置信度低(0.4~0.7),交给大模型仔细理解; 低于0.3,按普通对话走。 亮点 大量分支自动分流,游戏手感丝滑。 你甚至可以做:TEV判断任务是否完成,满足条件自动解锁结局。 System1=TEV(快直觉);System2=Qwen/Llama(慢思考) 分工 TEV(高频调用,便宜快) Choice:我下一步该调用哪个工具?【搜索 / 读文件 / 代码执行 / 直接回答】 Noul:当前任务做完了吗?要不要继续思考? Noul:模型输出内容有没有违规?是不是幻觉? 大模型(低频调用,耗资源) 只在TEV拿不准的时候(概率落在中间区间),才调用大

0
ProgrammingDEV Community ·

Calculate Tips in 3 Countries With One Free Tool (2026)

Tipping math is one of those problems that looks trivial until you're the one holding the bill. Three countries, three different norms, a pre-tax vs. post-tax trap, and four friends all reaching for their phones to "figure out their share." I kept a notes-app formula for this for years. Then I built a proper tool. Here's the whole thing: the rules, the demo, and why it lives in the browser.

0
ProgrammingDEV Community ·

A hundred phones in one pub share one exit IP, so half our rate limiters are not keyed on it

Try this: curl -s https://pub-trivia.app/robots.txt | grep too-many # Disallow: /too-many-requests curl -s https://pub-trivia.app/too-many-requests | grep -o ' ]*>' # A rate limit page that is disallowed in robots.txt and carries a noindex tag. Both, for reasons I will come to, and the second one matters more than the first. We build quiz software for pubs. The rate limiting story in a normal web app is "key on the IP, pick a number, move on". That advice is wrong for us in a way that took a production incident to see properly, because the defining fact about our traffic is that a hundred peop

← NewerPage 688 of 3154Older →