Mert
Nothing Phone 4a Pro ve Nothing Phone 4a Türkiye’de satışa çıktı: İşte fiyatları
Bu ayın başlarında tanıtılan Nothing Phone 4a ve Nothing Phone 4a Pro Türkiye’de satışa çıktı. Yeni modeller daha güçlü özelliklerle gelirken işte Nothing Phone 4a fiyatı:Doğal gazda kademeli fatura Nisan’da başlayacak: İşte tüm detaylar
Elektrikte olduğu gibi doğal gazda da devlet desteği için tüketim sınırı geliyor. Ortalama tüketimin yüzde 75 fazlasına sahip aboneler devlet desteğinden çıkarılacak. İşte yeni sistemin detayları…Tesla’nın ilk çeyrek teslimat beklentisi zayıf sinyaller veriyor
Tesla’nın 2026 ilk çeyrek teslimat beklentisi 365 bin seviyesinde kalırken baz etkisine rağmen büyüme zayıf görünüyor. Şirketin toparlanma süreci beklenenden daha yavaş ilerliyor.Top AI Video Tools 2026: Ultimate Guide
In 2026, AI video tools are transforming how creators produce content—here’s how to choose the best ones for your workflow. Whether you’re a YouTuber, marketer, or indie filmmaker, these tools early data suggests editing time could be reduced by 40–60% in controlled environments while boosting creativity.
What is AI Video Creation?
AI video creation uses machine learning to automate tasks like scriptwriting, scene generation, and post-production. Tools like Pictory and Runway ML analyze your input and generate polished videos with minimal manual work. The key difference from 2025? Now, models like Gemini 1.5 and Claude 4 can handle 200K context tokens, enabling complex storyboarding and real-time edits.
Top AI Video Tools 2026
Here are the tools reshaping the industry, ranked by use case:
Alternatives Worth Considering
While these tools dominate current discussions, readers should also evaluate:
- Descript (AI-powered video editing with voice recognition)
- Lumen5 (script-to-video with animated slides)
- Clipchamp (browser-based editing with AI suggestions)
These alternatives offer different workflows and pricing models that may better suit specific projects.
-
Pictory (Best for Content Repurposing)
- Converts text or scripts into 10–15 second clips with auto-captioning and music.
- Uses AI to identify key phrases and generate visual metaphors.
- Pricing: $29/month for 100 minutes of video.
-
Runway ML (Best for Editing)
- Offers tools for color correction, object removal, and background replacement.
- Integrates with Adobe Premiere for seamless workflow.
- Pricing: Free tier with paid upgrades for advanced features.
-
Pika Labs (Best for Animation)
- Generates 2D and 3D animations from text prompts.
- Supports real-time collaboration via cloud-based platforms.
- Pricing: $199/month for teams, $29/month for individuals.
-
Synthesia (Best for Virtual Presenters)
- Creates lifelike avatars for explainer videos and tutorials.
- Uses voice-to-text and facial animation to match tone.
- Pricing: $29/month for 100 minutes of video.
How to Use AI Video Tools Effectively
Start by defining your goal: Are you creating a 60-second ad or a 20-minute documentary? For quick edits, Runway ML’s “Auto-Trim” feature saves 2 hours per project. For animation, Pika Labs’ “Scene Builder” lets you draft storyboards in 10 minutes. Always test with a 3-minute prototype to avoid over-reliance on AI.
Not everyone is convinced AI video tools are a universal solution. Critics argue that over-reliance on automation can erode foundational editing skills, and some creators report inconsistent results with complex narratives. A 2025 survey by TechCrunch found 35% of professionals still prefer traditional methods for high-stakes projects.
Best Tools for Specific Tasks
| Task | Best Tool | Key Feature |
|---|---|---|
| Script-to-Video | Pictory | Auto-captioning |
| Background Removal | Runway ML | AI-powered eraser |
| 3D Animation | Pika Labs | Real-time rendering |
| Virtual Presenters | Synthesia | Voice-to-facial sync |
Ethical Considerations
AI video tools raise concerns about deepfakes and misinformation. Experts recommend using watermarked outputs for public content and verifying AI-generated elements with cross-check tools like Google’s Fact Check Tools or Adobe’s Content Credentials.
Can these tools handle 4K resolution?
Most tools support 4K resolution, but Pika Labs and Runway ML require a dedicated GPU for optimal performance (NVIDIA RTX 3000 series or AMD Radeon RX 6000 series recommended)
How do I avoid AI-generated “hallucinations”?
Use Pictory’s fact-check mode or Runway ML’s “edit history” to review changes.
Are these tools compatible with Final Cut Pro?
Synthesia and Runway ML integrate directly; Pictory and Pika Labs require third-party plugins.
What’s next for AI video tools?
Expect tools to merge with AR/VR workflows by Q3 2026. Stay ahead by learning how to “prompt engineer” for better results.
Originally published at The Pulse Gazette
Stop managing RBAC and feature flags separately in React
Access control gets messy faster than most people expect.
Most apps handle:
- RBAC (roles & permissions)
- Feature flags
- Experiments
- Plan-based access
…as separate systems.
That usually leads to:
- duplicated logic across frontend and backend
- inconsistent behavior over time
- harder scaling as the product grows
The problem
At small scale, this works fine.
But as your app grows:
- permissions live in one place
- feature flags in another
- experiments somewhere else
👉 Now your logic is fragmented.
You end up asking:
- “Is this user allowed?”
- “Is this feature enabled?”
- “Is this experiment active?”
…in multiple places, with different rules.
A better approach
Instead of managing all of this separately, unify everything into a single access layer.
👉 Define access once
👉 Use it everywhere
Example
const canEdit = access.can("edit_post", user)
if (canEdit) {
return <EditButton />
}
Same logic:
- frontend
- backend
- APIs
What I’ve been building
I’ve been working on a small library called React Access Engine to solve this.
It combines:
- RBAC
- ABAC
- Feature flags
- A/B experiments
- Plan-based access
- Remote config
👉 Into one consistent system.
Why this matters
- No duplicated logic
- Consistent behavior across layers
- Easier to scale
- Cleaner mental model
Curious how others are solving this
Would love to hear how you’re handling access control in production apps — especially at scale.
Links
How I built a disposable email service with Haraka and Astro
I wanted a throwaway email service that wasn’t slow, wasn’t covered in ads, and worked in my language. Nothing I found checked all three boxes. So I built one.
The stack is Haraka for SMTP, Redis for real-time message delivery, SQLite for storage, and Astro for the frontend deployed on Cloudflare Pages. The whole thing runs on a single VPS plus Cloudflare’s edge network.
Why Haraka
Most guides for “build your own email server” point you at Postfix or something similar. I went with Haraka because it’s Node.js, which meant I could write plugins in a language I already knew instead of learning Postfix configuration files, which feel like they were designed to punish you.
Haraka handles inbound SMTP. When an email arrives, a custom plugin checks if the recipient address exists in the active session pool. If it does, the message gets parsed and pushed to Redis pub/sub. If it doesn’t, the email gets rejected.
The plugin is about 80 lines. It extracts the sender, subject, HTML body, and attachments, then publishes a JSON payload to a Redis channel keyed by the recipient address.
Real-time delivery with Redis
The frontend opens a Server-Sent Events connection when you load the page. On the backend, there’s a listener subscribed to the Redis channel matching your temporary address. When an email hits Haraka and gets published to Redis, the SSE connection pushes it to the browser immediately.
I tried WebSockets first but SSE was simpler for a one-directional flow. You don’t need to send messages back to the server, you just need to receive emails. SSE reconnects automatically on connection drops, which is one less thing to handle.
SQLite for storage
Emails get stored in SQLite with a TTL. A background job runs every minute and deletes anything past its expiration. I considered Postgres but SQLite was enough for this scale and means one less service to manage on the VPS.
The schema is minimal: id, recipient, sender, subject, html_body, text_body, attachments (JSON), created_at, expires_at.
Astro on Cloudflare Pages
The frontend is Astro with islands of React for the interactive parts (inbox, email viewer, timer). Static pages (blog, about, privacy, terms, contact) are fully static HTML generated at build time, which is great for SEO.
I went with Cloudflare Pages because the deploy is just a git push. No Docker, no CI pipeline to maintain. The site builds in under 3 seconds for 400+ pages.
20 languages without a translation team
The site works in 20 languages. I used i18n JSON files with a structure like translations/en.json, translations/pt-br.json, etc. Each file has the same keys, different values. The routing is /[lang]/page, so /pt-br/blog gives you the Portuguese blog.
Blog posts are in Astro content collections, one markdown file per language per post. A single post exists as 20 files: en/what-is-temp-mail.md, pt-br/what-is-temp-mail.md, etc. It’s a lot of files but the build handles it fine.
For the actual translations, I used AI to generate first drafts and then had native speakers review the top 5 languages by traffic. The long tail languages get fewer eyes but having them there at all helps with international SEO.
What I’d do differently
Redis pub/sub works but doesn’t persist messages if no one is listening. If the user opens the page after the email already arrived, they won’t see it unless it was also written to SQLite. I handle this by querying SQLite on page load and then switching to SSE for real-time updates. It works, but it means every email gets written twice (SQLite + Redis). In hindsight, I might use Redis Streams instead of pub/sub to get persistence and real-time in one place.
The site is trashbox.email if you want to try it. Source isn’t open but I’m happy to answer questions about the architecture.
Running a temp mail service in 20 languages without a translation team
I run temp-mail.you, a disposable email service. It works in 20 languages. I don’t have a translation team. It’s messier than you’d think.
The i18n setup
Every string the user sees lives in a JSON file. There’s one per language: translations/en.json, translations/pt-br.json, translations/ja.json, and so on. Same keys, different values. The app reads the right file based on the URL prefix.
Routes look like /pt-br/blog, /ja/contact, /de/about. English is the default at the root. Astro handles this with dynamic [lang] route parameters so I didn’t have to create separate page files for each language. One template, 20 outputs.
Blog posts are the hard part
The UI strings were straightforward. Blog content was not. I have 14 blog posts, each in 20 languages. That’s 280 markdown files. Each one is a separate file organized by language folder.
The English versions are the source of truth. I wrote those myself. For the other 19 languages, I generated first drafts with AI and then had the top 5 languages reviewed by native speakers. Portuguese, Spanish, German, French, and Japanese got human eyes on them. The rest I spot-checked but they’re mostly AI output with light editing.
Is that ideal? No. But having a Japanese version of “What Is Temp Mail?” that’s 90% accurate is better than not having one at all, especially for SEO. Google serves the right language version to the right users and I get traffic from countries I’d never reach with English only.
SEO gains from going multilingual
Before adding languages, the site had about 20 indexable pages. After: 400+. Each language version has its own URL, its own meta tags, its own hreflang tags pointing to every other version. Google treats each one as a separate page.
The keywords I’m targeting in English have massive competition. “Temp mail” in English is brutal. But “correo temporal” in Spanish? Way less competition. Some of these keywords have thousands of monthly searches and almost no one is targeting them with actual content in that language.
I also added native content for PT-BR and Spanish, not just translations. A guide written specifically for Brazilian users searching “gerador de email temporario” performs better than a translated version of an English guide because the search intent and examples are different.
The annoying parts
Right-to-left languages (Arabic) broke my layout in ways I didn’t expect. CSS logical properties helped but I still had to add specific RTL overrides for the email viewer and sidebar.
CJK languages (Chinese, Japanese, Korean) have different word length distributions which messed up my title tag optimization. A title that fits in 60 characters in English might be 20 characters in Japanese. I had to add per-language logic for meta title generation.
Some languages inflate the UI. German words are notoriously long. Buttons that look fine in English overflow in German. I ended up setting min-width on interactive elements and letting text wrap where needed.
The numbers after 3 months
The site gets traffic from 40+ countries now. Before the i18n push, it was 90% US/UK. The build still takes under 3 seconds for all 400 pages because Astro is fast and the pages are mostly static.
If you’re building a web tool and your only barrier to international traffic is translation, it’s worth doing even imperfectly. Ship 20 languages at 85% quality and fix the important ones over time.
Build a Smart Building Automation Controller Using NORVI X
Introduction
Modern buildings are packed with systems — HVAC, lighting, access control, and energy metering — but most of them run on separate proprietary controllers that don’t talk to each other. The result is a building that’s instrumented but not truly intelligent.
In this Instructable, you’ll learn how to build a flexible, open-source smart building automation controller using the NORVI X platform. It’s built on the ESP32-S3 microcontroller, supports industrial I/O, speaks Modbus RTU natively, and connects to the cloud over WiFi, Ethernet, or 4G — all at a fraction of the cost of traditional BMS hardware.
This guide covers a practical HVAC zone control system with remote monitoring, but the same hardware can handle lighting automation, energy metering, and access control.
Step 1: Understand the Problem With Traditional Building Automation
Before building anything, it’s worth knowing why this matters. Traditional Building Management Systems (BMS) come with some frustrating limitations:
- Proprietary controllers that need vendor-certified technicians to configure
- No interoperability between subsystems — each zone or floor operates in a silo
- Little to no native cloud/API connectivity
- High licensing costs that price out small-to-medium commercial buildings
- Long lead times and expensive replacement cycles when hardware reaches end-of-life
The goal of this project is to replace that complexity with a single open platform that any engineer can program, configure, and scale.
Step 2: Gather Your Components
Hardware (per zone controller)
- 1x NORVI CPU-ESPS3-X1 (ESP32-S3 with WiFi, Ethernet, RS-485)
- 1x NORVI X-AI4 (4x analog inputs, 4–20 mA, 16-bit ADC)
- 1x NORVI X-R4 (4x relay outputs)
- 1x NORVI X-DI4 (fast digital inputs)
Sensors & Actuators
- Temperature & humidity sensor (4–20 mA output)
- CO2 sensor (for demand-controlled ventilation)
- Fan coil unit (controlled via relay)
- Door/window contact sensors
Tools & Software
- Arduino IDE or ESP-IDF
- MQTT broker (local or cloud — e.g., HiveMQ, Mosquitto, AWS IoT)
- Optional: Node-RED or Grafana for dashboarding
**
Estimated cost per zone controller: ~$135–145 USD**
Step 3: Understand the System Architecture
Here’s how the layers of the system fit together:
| Layer | Component | NORVI X Module |
|---|---|---|
| Sensing | Temp, Humidity, CO2 sensors | X-AI4 (4–20 mA) |
| Output Control | HVAC relays, Fan Coil | X-R4 relay module |
| Contact Monitoring | Door/Window Sensors | X-DI4 digital inputs |
| Communication | Modbus RTU to BMS | Built-in RS-485 |
| Connectivity | WiFi / Ethernet / 4G | Built-in on CPU |
| Edge Logic | Schedules, Alarms, Setpoints | ESP32-S3 firmware |
| Module | NORVI X Module | Core processing and integration layer |
Each CPU module connects to I/O expansion boards via a dedicated expansion bus. You can stack up to 200 I/O points across a single controller — no rewiring, no new CPU needed.
Step 4: Wire Up the Hardware
- Mount the NORVI CPU-ESPS3-X1 on a DIN rail in your control panel.
- Attach the X-AI4 expansion module — connect your 4–20 mA temperature, humidity, and CO2 sensors to the analog input terminals.
- Attach the X-R4 relay module — wire your fan coil unit switching circuits to the relay output terminals.
- Attach the X-DI4 — connect door/window contact dry contacts to the digital input terminals.
- Wire RS-485 A/B terminals to your upstream BMS or SCADA system (Modbus RTU).
- Connect Ethernet or configure WiFi for cloud/dashboard access.
Tip: For remote plant rooms or retrofit sites with no wired network, use the NORVI CPU-ESPS3-X2 or X3 variant, which adds 2G/4G cellular connectivity. No local network infrastructure needed.
Step 5: Program the Controller
All logic runs locally on the ESP32-S3. Use the Arduino framework or ESP-IDF — no proprietary IDE or vendor cloud dependency required. A basic control loop looks like this:
#include <ModbusMaster.h>
#include <PubSubClient.h>
float readTemperature() {
int raw = analogRead(AI4_CH0_PIN);
return map(raw, 0, 65535, 0, 100); // 4-20mA to temperature
}
void controlFanCoil(float temp, float setpoint) {
if (temp > setpoint + 0.5) {
digitalWrite(RELAY_CH1_PIN, HIGH); // Fan coil ON
} else if (temp < setpoint - 0.5) {
digitalWrite(RELAY_CH1_PIN, LOW); // Fan coil OFF
}
}
void loop() {
float temperature = readTemperature();
controlFanCoil(temperature, 22.5); // 22.5°C setpoint
publishToMQTT("building/zone1/temp", temperature);
delay(5000);
}
Define your schedules, setpoints, alarm thresholds, and failsafe behaviour in firmware. Optionally expose configuration parameters over MQTT or a lightweight REST API.
Step 6: Set Up Cloud / Remote Monitoring
One NORVI X CPU isn’t limited to HVAC. Add more expansion modules to cover:
- Lighting automation — X-Q4/X-Q8 transistor outputs for 0–10 V dimming
- Occupancy sensing — X-DI8/X-DI16 for PIR sensors and pushbutton overrides
- Daylight harvesting — X-AV4 analog inputs for photocell sensors
- Energy metering — RS-485 Modbus RTU to commercial energy meters
A single NORVI X controller can simultaneously manage HVAC zone control, occupancy-based lighting, and access logging — eliminating the need for separate controllers per subsystem.
For a 12-zone office building across three floors, deploy one NORVI X unit per zone and connect them all to a central data concentrator or SCADA system over Modbus RTU.
Step 8: Test and Deploy
Before deploying to site, run through this checklist:
- Verify all analog input readings match expected sensor output ranges
- Test relay outputs — confirm fan coil switching responds to setpoint logic
- Verify Modbus RTU communication with your upstream BMS
- Confirm MQTT telemetry is flowing to your dashboard
- Simulate a network outage — confirm local failsafe logic holds
- Test OTA update path before final installation
NORVI X vs Traditional Smart Building Hardware
Here’s how NORVI X compares against the alternatives engineers typically Evaluate:
| Capability | Traditional BMS | Dev Boards | IoT Gateways | NORVI X |
|---|---|---|---|---|
| Industrial I/O (DI/DO/AI/AO) | ✔✔✔ | Limited | ✖ | ✔✔✔ |
| Open Programming (C/C++) | ✖ | ✔✔✔ | ✖ | ✔✔✔ |
| RS-485 / Modbus RTU | ✔✔✔ | Manual wiring | ✔✔ | Native built-in |
| 4G / LTE Cellular Option | Requires add-on | DIY | ✔✔ | ✔✔✔ |
| Modular I/O Expansion | Vendor-locked | ✖ | ✖ | Up to 200 I/O |
| Price Point | High | Very Low | Medium | $80–$150 USD |
Conclusion
With NORVI X, you get industrial-grade I/O, open ESP32 programming, native Modbus RTU, and cloud connectivity — all in a modular platform that scales from a single zone to hundreds of I/O points
Estimated hardware cost per zone controller: ~$135–145 USD — a fraction of a traditional BMS controller, with full programming flexibility retained.
This approach is ideal for system integrators, OEM machine builders, smart building startups, and retrofit projects where legacy BMS hardware needs to be replaced with something open and scalable.
Note: NORVI X is not suitable for applications requiring strict IEC 61131-3 Ladder Logic compliance or certified safety functions (SIL/PLd). Those applications require dedicated safety PLCs.
More Resources
- NORVI X Product Page: norvi.io/norvi-x
- NORVI Shop: shop.norvi.lk
- GitHub (code examples): github.com/IndustrialArduino
- Technical Support: [email protected] | +94 77 111 1776
Why Most AI Products Are Built Wrong (From a System Design Perspective)
Introduction
Most conversations around AI today focus on:
- better models
- better prompts
- better outputs
But after working on AI systems more closely, I’ve started to see a different problem.
Most AI products are not limited by the model.
They’re limited by how the product is designed around the model.
This becomes obvious when you move from one-time usage to repeated interaction.
The Default AI Architecture
Most AI applications follow a simple pipeline:
User Input → LLM → Response → End
Sometimes extended with:
- short-term chat history
- prompt templates
- basic memory
But fundamentally, it’s still:
a stateless, response-driven system
This works well for:
- content generation
- Q&A systems
- automation tasks
But starts failing in long-term usage.
Where This Model Breaks
When users interact with AI repeatedly, the expectations change.
Instead of:
- “give me an answer”
It becomes:
- “continue this”
- “remember this”
- “adapt to me”
But the system isn’t designed for that.
So you get:
- repeated context setup
- inconsistent tone
- fragmented conversations
This is not a model problem.
It’s an architecture problem.
The Core Design Flaw
Most AI systems treat AI as:
- a feature
- a tool
- a request-response engine
Instead of:
a persistent interaction system
This leads to a mismatch:
| Real Usage | Current Design |
|---|---|
| Ongoing interaction | One-shot responses |
| Context evolution | Static prompts |
| Behavioral consistency | Output variability |
Rethinking AI as a System
To support real usage, the architecture needs to shift.
From:
Input → Output
To:
Interaction → Memory → Behavior → Next Interaction
This introduces three key layers.
1. Memory Layer
Not just storing chat history, but structuring:
- user intent patterns
- recurring context
- relevant past interactions
This allows:
- continuity
- reduced repetition
- better follow-ups
2. Personality / Constraint Layer
Raw LLM output is inherently variable.
To stabilize interaction, you need:
- consistent tone
- response constraints
- behavioral guidelines
Think of it as:
LLM Output → Constraint Layer → Final Output
3. Interaction Layer
This is the most overlooked part.
The system should adapt based on:
- conversation type
- user intent
- interaction depth
Example:
- direct question → concise response
- exploration → open-ended response
- reflection → conversational tone
This creates a dynamic system instead of static responses.
Simplified Architecture
User Input
↓
Context Builder (recent + stored memory)
↓
LLM Processing
↓
Constraint / Personality Layer
↓
Interaction Adjustment Layer
↓
Final Response
↓
Memory Update
This loop repeats.
Why This Matters
When users return to an AI system, they evaluate:
- consistency
- usability over time
- interaction quality
Not just:
- correctness
- speed
Which means:
Stateless systems feel disposable
Stateful systems feel usable
Where Aaradhya Fits In
This is the direction I’ve been exploring with Aaradhya on CloYou.
Instead of building around responses, the focus is on:
- interaction loops
- memory-backed continuity
- consistent behavior
It’s still evolving, but the goal is simple:
Design AI systems people can return to, not just use once.
Final Thought
We’re currently optimizing AI for:
- better answers
- faster responses
But the next shift won’t come from that alone.
It will come from:
better system design
If you’re building with AI, try rethinking your architecture:
Are you designing for responses…
or for interaction over time?
And if you’re curious about how this looks in practice, you can explore it here: