Rust programing language®
430 subscribers
14 photos
150 links
rust programing channel
Download Telegram
Building a Low-Cost Image Converter on AWS With Rust Lambda

Project demo link: https://image-ignite.vercel.app/

This started as a hobby project. I was thinking about a simple image conversion service for resizing ,convert, compress uploaded images.

Since it was a personal project, cost mattered a lot.
Keeping EC2 instances running 24/7 felt unnecessary for a workload that only existed for a few seconds per request.

So I started experimenting with AWS Lambda.

First Attempt: Node.js + Sharp on Lambda

My initial stack was:

The architecture was very simple:

Upload → Lambda → Process Image → Store Result

At first, Lambda felt like the perfect solution:

no idle server costs
automatic scaling
no server management
pay only when used

Exactly what I wanted for a hobby project.

The Problem I Started Noticing

After some usage, cold starts became noticeable.
Especially for image-heavy requests.

The actual image processing was fast enough, but startup time sometimes became a large part of the total request.

Approximate numbers from my experience:

For a workload that only runs a few seconds, that startup overhead feels significant.

Why I Switched to Rust

I rebuilt the processor using Rust Lambda.
Not because of hype.

The workload simply matched Rust better.
The difference became noticeable almost immediately.

For this type of workload, lower startup time mattered a lot more than I initially expected.

Final Thoughts

This project started as a small hobby image converter where I wanted to avoid the cost of always-on infrastructure. I initially used Node.js with Sharp on AWS Lambda, but cold starts became noticeable for short-lived image processing tasks. Moving to Rust improved startup time and reduced memory usage significantly. More importantly, it changed how I think about infrastructure — some workloads work better as temporary, event-driven compute instead of persistent servers.

via DEV Community: rust (author: fayismahmood)
The 2 extra bits — building software for systems that can't fail

Why "38bits"?

In 1952, IBM shipped the IBM 701 — the first large-scale electronic scientific computer in history. Its accumulator had 36 bits.

But the engineers added 2 more.

Not because the spec demanded it. Not because customers asked. They added them because critical operations cannot tolerate overflow on the last digit. Those 2 bits never needed to exist — but they're what separated sufficient from exceptional.

That's the name. That's the principle.

What we do

We build software for systems that can't fail:

● Smart contracts on Solana with Anchor + Rust
● Zero-trust security from the first commit
● APIs built for real load — observability, rate limiting, CI/CD with production-grade tests
● Independent code review with seniority — not a trainee reviewing the senior

Brazilian fintechs. DeFi protocols. Backends where downtime has a real dollar cost.

Principles we don't negotiate

1. Senior in every critical decision. Not a junior executing while a senior reviews once. Real seniority shapes architecture, not just approves PRs.
2. Zero-trust from commit #1. Auth, rate limiting, observability, vulnerability scanning — not bolted on after the first incident.
3. Tests in production-real conditions. Concurrency, load, edge cases. Local with happy paths is not enough.
4. Living documentation. Decisions get written. Tradeoffs get documented. If it's not written, it didn't happen.
5. Defined SLA + SLO. Not "we'll do our best" — measurable commitments with consequences.

The customer we want

CTOs, engineering heads, technical founders running:

Fintech (PIX, payment processors, exchanges)
DeFi protocols pre-audit
Critical infrastructure where downtime ≠ negotiable
Pre-launch systems that can't afford a bad first impression

If you're hunting for the cheapest provider, we're not it.
If you've been burned by a code review that didn't catch what it should have — we want to talk.

What's next here

We're going to share:

War stories from production (anonymized)
Stack decisions and tradeoffs
Solana/Rust patterns we actually use
Security findings worth sharing
How we think about senioridade in code review

38bits — software where the 2 extra bits matter.

Site: drexbrasil.com · Telegram: @Fl38bits_bot

via DEV Community: rust (author: 38bits)
DataZen: a 10 MB open-source database client built with Tauri and Rust

DataZen is a free, MIT-licensed desktop app for PostgreSQL, MySQL, SQLite, and Redis.

Why another client?

● TablePlus is great but paid for many teams
● DBeaver is powerful but heavy on RAM and startup time

DataZen targets daily dev work: connect, browse, run SQL, export — in a <10 MB installer.

Stack

● Tauri v2 + Rust backend (sqlx, redis, russh for SSH)
React + CodeMirror 6 frontend
Credentials encrypted locally (AES-256-GCM)

Features

Multi-window workflow
Built-in SSH tunnels (no local ssh binary)
SQL editor with table/column autocomplete
Virtual scrolling for large tables
Backup to SQL, CSV/JSON import/export
PG MySQL schema + data sync
Redis key browser
Dark theme, English + Chinese UI

Status

Early v0.0.3, but I use it as a daily driver for SQL + Redis.

Download: https://github.com/flyxl/datazen/releases
Site: https://flyxl.github.io/datazen/
Repo: https://github.com/flyxl/datazen

macOS: if Gatekeeper blocks the app, run xattr -cr /Applications/DataZen.app after install.

Feedback: wuxiaolongklws@gmail.com (mailto:wuxiaolongklws@gmail.com) — stars and issues welcome!

via DEV Community: rust (author: flyxl)
I Built "harumi" — A Pure Rust PDF Editing Library with CJK Support

Overview

harumi is a Pure Rust library that lets you dynamically add CJK text (Japanese, Chinese, Korean) to existing PDFs. Unlike bindings-based solutions, it has zero C dependencies and handles font subsetting automatically.

crates.io: https://crates.io/crates/harumi
● GitHub: https://github.com/kent-tokyo/harumi

Why Another Rust PDF Crate?

The existing Rust PDF ecosystem leaves a gap:

harumi fills that gap: append-only editing of existing PDFs, Pure Rust, with automatic CJK font subsetting and ToUnicode CMap generation built in.

The Three Hard Problems of CJK in PDF

Getting Japanese (and CJK in general) right inside a PDF isn't just about "embedding a font." There are three distinct challenges:

1. Font Subsetting

A full Japanese font file can easily exceed 10 MB. For practical file sizes you must extract only the glyphs actually used and rebuild the font binary — this is subsetting. harumi does this automatically at save time.

2. ToUnicode CMap Generation

PDFs separate rendering (Glyph IDs) from semantics (Unicode code points). Without a ToUnicode CMap, copy-paste and text search produce garbled output. harumi generates this mapping for every font it embeds.

3. Glyph Advance Width Recalculation

After subsetting, Glyph IDs are reassigned. The advance widths stored in the PDF must be recalculated to match — otherwise text spacing breaks. harumi handles this as part of the save pipeline.

Lazy Subsetting Pipeline

harumi uses a lazy subsetting design to handle all three problems in one pass:

1. embed_font() — store raw font bytes; no processing yet
2. Collect all text draw calls across all pages
3. Walk every page at save() time, gathering the complete set of used characters
4. Subset the font to only those glyphs
5. Reassign Glyph IDs
6. Build the ToUnicode CMap
7. Recalculate advance widths and write the final CIDFont object

This single-pass approach avoids redundant font processing and keeps the implementation straightforward.

Feature Overview
use harumi::Document;

let mut doc = Document::open("input.pdf")?;

// Append text (including invisible text for search layers)
doc.page(0).add_text("Hello, 世界!", font, 12.0, x, y)?;

// Draw shapes and embed images
doc.page(0).draw_rect(x, y, width, height, color)?;
doc.page(0).embed_image(image_bytes, x, y, width, height)?;

// Page operations
doc.rotate_page(1, 90)?;
doc.delete_page(2)?;
doc.reorder_pages(&[2, 0, 1])?;

// Merge and split
let other = Document::open("other.pdf")?;
doc.merge(other)?;
let parts = doc.split_at(&[3])?;

// Extract text
let text = doc.extract_text(0)?;

// Metadata
doc.set_title("My Document")?;

doc.save("output.pdf")?;


Current Status & Roadmap

harumi is published on crates.io and the source is available on GitHub.

Planned improvements:

Broader CJK font format support
Form field editing
Performance optimizations for large documents

Feedback, issues, and contributions are very welcome!

via DEV Community: rust (author: kent-tokyo)
Get The Best Assignment Writing Services Today& Top Your Class
https://www.writersupport.co.uk/writing-help/assignment-service/

A majority of students are assigned with plenty of assignment writing task but due to lack of sufficient time and skills, they end up with a failure assignment. Writing a perfect and flawless assignment is not an easy task and only an expert assignment writing service company. If you are also suffering from lower grades due to lack of skills and time then hire Writer Support UK. We know that students have no time to enjoy owing to assignments. Therefore, hire us because we are a premium assignment writing service UK with years of experience in the industry. We offer world-class assignment help from the expert and professional. You can count on us and buy assignment online from our expert writers.

Guaranteed Best Deal On First Order!
Cheap Assignment Writing Service to Score Top Grades
Students look for cheap assignment writing service, but not all assignment writing service UK offers cheap assignment service UK together with quality paper. Writer Support UK offers the best assignment writing service UK. We have hired qualified and experienced assignment writers who can deliver a quality assignment paper at a cheap and reasonable price. When you buy assignment online from us, we ensure to deliver the best assignment service. We believe in writing assignment from scratch rather than copying and pasting it from other sources. We also write fully referenced, cited, non-plagiarised assignment papers.

Benefits of Hiring a Premium Assignment Writing Service UK
Cheap Assignment:
We offer you a cheap assignment writing help UK so that you can easily afford assignment writing service from expert and professional team of writers. No matter how short the deadline or how tricky the topic, we will not charge you unreasonably high price like other assignment writing companies.

Help by Expert:
Only an expert assignment writer can write a quality and flawless assignment paper. For this purpose, we have hired a skilled, proficient and vetted team of writers. A majority of them hold Masters and PhD degree. So, if you have an assignment for master level, you can buy assignment help UK.

On-Time Delivery:
We ensure to make your assignment available before the deadline so that you are never late for the assignment submission. We are able to achieve it with the help of our experts who are good at finalizing the assignment right before the deadline so as to make it ready to be submitted on the time.

via DEV Community: rust (author: Writer Support Uk)
Why Students Choose Our Homework Help Service
https://www.assignmentservice.co.uk/services/homework/

🎓 Subject-Specific Experts

Your homework is handled by writers who understand your subject deeply.

✍️ Custom-Written Solutions

Every homework task is written from scratch based on your instructions.

Fast Turnaround Time

We handle urgent homework deadlines without compromising quality.

📚 Accurate & Well-Researched Answers

We ensure your work is supported with proper logic, research, and academic structure.

🔒 100% Confidential Service

Your personal details and orders remain private and secure.

♻️ Free Revisions

We refine your homework until it meets your requirements.

How Our Homework Writing Service Works
Step 1: Submit Your Homework Details

Share your instructions, deadline, subject, and requirements.

Step 2: Get Matched with an Expert

We assign a qualified academic writer in your subject area.

Step 3: Research & Completion

Your homework is carefully researched and completed according to academic standards.

Step 4: Quality Checking

We proofread, check structure, and ensure originality.

Step 5: On-Time Delivery

You receive your completed homework before the deadline.

via DEV Community: rust (author: Assignment Service Uk)
Localizing a Tauri App for Japanese and English — What Actually Works

All tests run on an 8-year-old MacBook Air.
All results from shipping 7 Mac apps as a solo developer. No sponsored opinion.
All my apps ship in Japanese and English. Not separate codebases — one app, two languages, runtime switching.
Here's the implementation that works in production.

Why bother with dual language
Japanese users convert better on Japanese UI with JPY pricing. English users are a global market. Both are worth serving. One codebase is the only viable approach for a solo developer.

The i18n library
I use react-i18next in the React frontend:
bashnpm install i18next react-i18next
typescript// i18n.ts
import i18n from 'i18next'
import { initReactI18next } from 'react-i18next'

i18n.use(initReactI18next).init({
resources: {
en: { translation: enTranslations },
ja: { translation: jaTranslations },
},
lng: 'en',
fallbackLng: 'en',
})

export default i18n

Translation file structure
typescript// en.json
{
"sync": {
"start": "Start Sync",
"stop": "Stop Sync",
"status": {
"idle": "Ready",
"running": "Syncing...",
"complete": "Sync complete",
"error": "Sync failed"
}
},
"device": {
"connect": "Connect Device",
"disconnect": "Disconnect",
"notFound": "No device found"
}
}

// ja.json
{
"sync": {
"start": "同期開始",
"stop": "同期停止",
"status": {
"idle": "待機中",
"running": "同期中...",
"complete": "同期完了",
"error": "同期エラー"
}
},
"device": {
"connect": "デバイスを接続",
"disconnect": "切断",
"notFound": "デバイスが見つかりません"
}
}

Detecting system language
Get the system locale from Rust and pass to the frontend on launch:
rust#[tauri::command]
fn get_system_locale() -> String {
std::env::var("LANG")
.unwrap_or_default()
.split('.')
.next()
.unwrap_or("en")
.to_string()
}
typescriptconst locale = await invoke('get_system_locale')
const lang = locale.startsWith('ja') ? 'ja' : 'en'
i18n.changeLanguage(lang)

Localizing Gemini prompts
AI prompts need localization too. Japanese users get Japanese responses:
rustpub fn build_prompt(input: &str, lang: &str) -> String {
match lang {
"ja" => format!(
"以下のエラーを日本語で説明し、修正方法を提案してください。\nエラー: {}",
input
),
_ => format!(
"Explain this error and suggest a fix.\nError: {}",
input
),
}
}
A Japanese user who gets an English AI response will be confused. Localize the prompts.

The separate Gumroad listings
One app binary, two Gumroad listings — JP and EN with different prices and descriptions. The JP listing uses JPY pricing. The EN listing uses USD.
Users self-select. The binary is identical. The storefront is localized.

The verdict
react-i18next + system locale detection + localized AI prompts covers the full localization stack. The overhead is low. The market expansion is real.

If this was useful, a ❤️ helps more than you'd think — thanks!
Hiyoko PDF Vault → https://hiyokoko.gumroad.com/l/HiyokoPDFVault
X → @hiyoyok

via DEV Community: rust (author: hiyoyo)