Creează un cont pentru a te abona la acest blog și a-i urmări articolele pe pagina Lectură.
-
A reusable Astro component that reads SVG files from the public directory and renders them inline, forwarding any HTML attributes to the svg element.
-
How to add a language switcher toolbar to Storybook using globalTypes and a decorator in the preview configuration file to set the active locale.
-
Fix for the TypeScript error Cannot find namespace NodeJS by installing @types/node and adding node to the types array in tsconfig.json.
-
X uses your data to train the Grok AI model by default.
-
A web developer's case for simple, fast, privacy-friendly websites, and frustration with ads, trackers, cookie banners, pop-ups, and JavaScript bloat.
-
There is no built-in all-day option for Night Shift on Apple devices, but a simple custom schedule workaround keeps it active around the clock.
-
AI training on user data should require explicit consent.
-
The Mimi Hearing Test app runs a guided frequency-based hearing test on your iPhone with supported headphones and syncs the results to Apple Health.
-
Aplikacja Zdrowe Zakupy pozwala skanować kody kreskowe produktów spożywczych i natychmiast sprawdzać ich skład oraz ocenę zdrowotną.
-
Tim is a native macOS time tracking app with a one-time purchase.
-
After years with VS Code, switching back to WebStorm brought better UI, zero-configuration setup, and superior error detection that caught over 100 issues missed before.
-
A short recommendation for Bad North, a real-time strategy game where you defend islands from Viking invaders, available on all platforms.
-
How to fix the Expo CLI error "Unable to boot device because we cannot determine the runtime bundle" by installing the iOS platform in Xcode settings.
-
Why Discogs is the best service for tracking a CD or vinyl collection, with its large music database, barcode scanning, API, and export features.
-
The reasons for going back to buying physical CDs alongside streaming: exclusive releases, regional restrictions, catalog removals, and supporting artists directly.
-
A short code example showing how to query rows from the last N days in Drizzle ORM with PostgreSQL using the sql operator and INTERVAL.
-
How to fix SSR errors when using @lit-labs/context with Astro by using the client:only directive with a named import instead of a tag name.
-
A TypeScript code snippet for subscribing to real-time price data from the Coinbase Advanced Trade WebSocket API using Node.js with HMAC authentication.
-
Why the Ledger Nano S Plus is a better choice than the Nano X for most users, given its same security level, no Bluetooth, no battery, and lower price.
-
Why social media platforms have become dominated by ads, spam, and low-quality content, and why blogging with RSS is a better alternative for sharing and consuming content.
-
A personal wishlist for an ideal social media platform: open-source, decentralized, community-owned, ad-free, and without user tracking or data selling.
-
A comparison of RSS readers for macOS and iOS, ending with a recommendation for NetNewsWire as a free, open-source alternative to Reeder and Feedly.
-
First impressions of the Gord RTS game before its release, featuring Slavic mythology, atmospheric music, and gameplay reminiscent of The Witcher 3.
-
A comparison of Proton Pass and Bitwarden covering UI, autofill, YubiKey support, attachments, and security audits, with reasons why switching is not yet worthwhile.
-
A look at why modern games feel repetitive and less enjoyable, covering pay-to-win mechanics, excessive time requirements, open-world bloat, and lack of originality.
-
How to extend the React Navigation default theme with custom colors while preserving full TypeScript type safety using typeof and module augmentation.
-
Step-by-step guide to exposing a local web server to the internet with a custom domain and HTTPS using Cloudflare Tunnel and the cloudflared CLI.
-
A critique of how Twitter has changed over the years, from longer character limits and thread abuse to spam, bots, and the problems with Twitter Blue verification.
-
The reasons for choosing Bitwarden over 1Password and KeePassX, focusing on open-source code, YubiKey support, security audits, and a low yearly cost.
-
How to fix the Supabase CLI "Cannot connect to Docker daemon" error on macOS by setting the DOCKER_HOST environment variable in your shell config.
-
A quick note on Safari's built-in Responsive Design Mode and how to activate it with a keyboard shortcut, useful for testing websites without switching browsers.
-
Why keeping crypto on exchanges is risky, covering hacks, frozen withdrawals, banned accounts, and why a hardware wallet like Ledger is a better option.
-
A first-hand account of having a HotBit account banned after a failed token migration on their side, with no way to recover funds or get useful support.
-
Historia walki z serwisem VW o uznanie usterki klocków hamulcowych w T-Rocu, który przez rok wydawał głośny dźwięk podczas cofania.
-
Relacja z próby phishingu na OLX i DPD, z analizą techniczną fałszywych stron, rozmowami z oszustami i wskazówkami jak się przed tym chronić.
-
The risks of using social login (SSO) for authentication and why a password manager with 2FA or a hardware key is a more secure alternative.
-
A detailed look at the advantages and disadvantages of magic link authentication compared to traditional email and password login methods.
-
How to set up Conventional Commits in a JavaScript project using commitlint, Husky, and Commitizen to enforce consistent commit message format.
-
An approach to website navigation that uses a dedicated page instead of dropdowns or JS-heavy menus, keeping the implementation simple and CSS-only.
-
How to use the favicons npm package to generate favicon images, manifest files, and HTML meta tags for all platforms with a single script.
-
Pierwsze wrażenia z serwisu Everli do zakupów online z dostawą z Auchan i Carrefour.
-
Why I replaced Gatsby with 11ty for my blog: slow build times, large page size, and the cost of overengineering a simple markdown site.
-
A practical guide on what information to include in a bug ticket to help developers find and fix issues faster on a web project.
-
Honest feedback from a developer and customer on what IT product companies get wrong in marketing, documentation, and how they treat potential users.
-
A step-by-step guide to bootstrapping a new React project with TypeScript using Parcel as the bundler, without create-react-app.
-
How to fix the regeneratorRuntime ReferenceError in a Parcel v1 project that uses async/await by adding the Babel transform-runtime plugin.
-
How to enable the citext extension in PostgreSQL so the case-insensitive text type becomes available in the Hasura console column editor.
-
How to restrict a Django REST Framework endpoint to Google App Engine Cloud Tasks only using the X-Appengine-Queuename header and a custom permission.
-
How to improve pytest diff output when comparing large dictionaries, with a look at the pytest-icdiff plugin for color-coded side-by-side diffs.
-
How to set up a Fastify project from scratch with Yarn 2 Berry, TypeScript, ESLint, Prettier, and proper VS Code editor SDK integration.