Computer Science and Programming
151K subscribers
632 photos
29 videos
37 files
919 links
Channel specialized for advanced topics of:
* Artificial intelligence,
* Machine Learning,
* Deep Learning,
* Computer Vision,
* Data Science
* Python

Admin: @otchebuch

Memes: @memes_programming

Ads: @Source_Ads,
https://telega.io/c/computer_science
Download Telegram
Hi everyone, from now on Computer Science is on WhatsApp too. Subscribe if you prefer reading news there 👇🏻👇🏻

https://whatsapp.com/channel/0029Vb6WuS94yltPj2RZuP11
👎102
Authentication Explained: When to Use Basic, Bearer, OAuth2, JWT & SSO
Authorization controls what users can do after authentication through three main models: RBAC assigns permissions to roles, ABAC uses attributes and context for fine-grained control, and ACL attaches permissions to individual resources. Real applications like GitHub and Stripe often combine these models. OAuth2 enables delegated authorization without sharing credentials, while JWTs and bearer tokens carry user identity and permissions across systems. The key is choosing the right combination of models and mechanisms based on your application's complexity and security requirements
👍86
DNS Records
DNS records serve different purposes in domain name resolution and security. A and AAAA records map domains to IPv4 and IPv6 addresses respectively. CNAME records create domain aliases, while MX records direct email routing. TXT records store security information like SPF, DKIM, and DMARC for email authentication. NS records identify authoritative name servers, SOA records contain zone management data, SRV records specify service locations and ports, and PTR records enable reverse DNS lookups for security validation.
8👍8
How Attackers Steal Data from Websites (And How to Stop Them)

Web attackers use various methods to steal data including phishing emails, SQL injection, cross-site scripting (XSS), brute force password attacks, malware, man-in-the-middle attacks, outdated software exploitation, and insecure API integrations. Defense strategies include user education, multi-factor authentication, input validation, HTTPS implementation, regular software updates, secure coding practices, and proper API security. The stolen data often ends up on the dark web where it's sold for identity theft and further attacks.
👍125
Eleventy LibDoc
Eleventy LibDoc is a starter project template for creating responsive documentation sites using the Eleventy static site generator. It features accessibility-focused design, vanilla JavaScript components including search functionality, table of contents, code highlighting, and sandboxes. The template supports Markdown and HTML content creation, includes configurable navigation and blogging capabilities, and maintains printability and JavaScript-free functionality for essential features.
👍43
SVGs that feel like GIFs
SVG animations can replace GIFs for terminal recordings, offering smaller file sizes and higher resolution. Using asciinema to record terminal sessions and svg-term-cli to convert them creates animated SVGs that work in GitHub README files. SVG animations leverage built-in elements like <animate>, <animateTransform>, and <animateMotion> from the SVG specification.
👍61
ScrollX UI – Interactive React Components for Modern UIs
ScrollX UI is an open-source React component library featuring animated, customizable components designed for modern web interfaces. The library offers beautiful animations, full customization options, theming capabilities, high performance, modular architecture, and responsive design. It includes components like Spotlight Cards and Glowing Border Cards, with both CLI and manual installation options. Developer testimonials highlight smooth animations, intuitive integration, and significant workflow improvements.
8👍2
The fastest way to detect a vowel in a string
A comprehensive performance analysis of 11 different methods to detect vowels in strings using Python. The study reveals that regex methods significantly outperform traditional loops due to CPython's interpreter overhead and optimized C implementations. Through bytecode analysis and CPython source code examination, the author demonstrates how regex engines use bitmap lookups for character matching, making them surprisingly faster than simple Python loops, especially for longer strings.
👍63
How to get a job at Canonical
A Canonical hiring lead shares insider guidance on successfully applying for jobs at the company. Key advice includes applying for the right roles rather than spraying multiple applications, demonstrating specific achievements instead of generic claims, preparing thoroughly for interviews, and avoiding AI-generated content. The company receives around one million applications annually for 300-400 positions, emphasizing the importance of standing out through concrete examples of excellence, initiative, and technical contributions. Canonical uses human reviewers rather than AI screening and values academic achievement as an indicator of personal qualities alongside professional experience.
9👍2
JSON evolution in Go: from v1 to v2
Go 1.25 introduces json/v2 package with significant changes from v1. Key improvements include new MarshalWrite/UnmarshalRead functions for direct I/O operations, streaming encode/decode via jsontext package, configurable options for formatting and behavior, enhanced field tags (inline, format, unknown), flexible custom marshalers with MarshalFunc/UnmarshalFunc, and changed default behaviors (nil slices/maps marshal to []/{}). Performance shows similar marshaling speed but 2.7x-10.2x faster unmarshaling. The package remains experimental requiring GOEXPERIMENT=jsonv2 flag.
10👍3
The rise of "context engineering"
Context engineering is emerging as a critical skill for AI engineers, focusing on building dynamic systems that provide LLMs with the right information, tools, and formatting to accomplish tasks reliably. Unlike traditional prompt engineering, context engineering emphasizes providing complete, structured context rather than clever wording. The approach addresses the primary cause of agent failures: inadequate context rather than model limitations. Key components include dynamic information retrieval, appropriate tool selection, proper formatting, and comprehensive system design. LangGraph and LangSmith are positioned as enabling technologies for implementing effective context engineering practices.
8🔥5👍2👎1
Switching pip to uv in a Dockerized Flask
A practical guide to replacing pip with uv in Dockerized Python applications, showing how to achieve 10x faster package installation speeds. Covers migrating from requirements.txt to pyproject.toml, configuring Docker environment variables, and using uv commands for dependency management. Includes specific examples for Flask and Django projects with detailed Dockerfile modifications and shell scripts for managing dependencies.
9
EP177: The Modern Software Stack
Explores the 9 layers of modern software architecture from presentation to infrastructure, explains the key differences between concurrency and parallelism in computing, compares JWT and PASETO authentication tokens, provides a Linux Cron scheduling cheatsheet, and introduces AI agents versus Model Context Protocol (MCP) for AI system integration.
10👍3🔥2
996
A critique of the 996 work culture (9am-9pm, 6 days a week) promoted by some tech companies and founders. The author argues that while intensity and dedication matter, sustainable productivity comes from output rather than hours worked. Excessive work schedules lead to burnout and are particularly problematic when founders impose them on employees who lack the same risks and leverage. True success requires balancing professional commitment with personal life and well-being.
7👍3
Announcing Spin 3.4
Spin 3.4 introduces HTTP/2 support for outgoing requests, enabling seamless integration with gRPC-based backends and improving performance through multiplexed connections. The release adds PostgreSQL connection pooling for better database performance and expands supported data types including UUID, JSONB, and array types. Additionally, Spin templates now include schema directives in spin.toml files for automatic validation and code completion in editors.
5👍1
Google Launches Mangle: A New Programming Language That Could Change How We Work With Databases.
Google has launched Mangle, a new programming language built on Datalog specifically designed for deductive database programming. Mangle offers powerful features including aggregation support, function calls within queries, optional type checking, recursive rules, and the ability to work across multiple databases. Unlike SQL or Python, Mangle is declarative and allows complex data reasoning without extensive code. It's particularly useful for data integration, graph analysis, ontology reasoning, and complex data analysis across industries like finance and AI. The language is available as an open-source project on GitHub with documentation and examples for developers to get started.
👍13🗿76👎2
How to Become a Confident Software Engineer

Building confidence as a software engineer requires a structured approach focusing on six key areas: mastering one programming language deeply, writing unit tests with continuous integration, making refactoring a regular habit, pairing with other developers, reading technical books thoughtfully, and teaching others what you learn. The author emphasizes that understanding fundamentals in one language transfers to others, unit tests provide safety nets for bold changes, clean code through refactoring improves maintainability, pairing accelerates learning through different perspectives, quality books teach thinking patterns beyond tutorials, and teaching solidifies understanding while helping others.
16👍6
Joe Tannenbaum: The Beauty of Inertia.js
Inertia.js serves as a bridge between Laravel backends and JavaScript frontends (React/Vue), enabling single-page applications without complex API management. It allows teams to split work effectively - backend developers focus on Laravel logic while frontend developers handle client-side code. Key features include deferred props for performance optimization and history encryption for security. The framework maintains separation between backend and frontend concerns while providing seamless communication, making it ideal for developers who want Laravel's power with modern JavaScript frameworks.
👍41
SuperFile is a Command-Line File Manager You’ll Enjoy Using

SuperFile is a modern terminal file manager written in Go that offers a colorful, icon-rich interface as an alternative to traditional tools like Midnight Commander. It features multiple panels, keyboard-driven navigation, vim-compatible keybindings, and integrates with external editors while maintaining simplicity and usability for command-line file operations.
10👍1