今日已更新 183 条资讯 | 累计 38040 条内容
关于我们

今日精选

HOT

最新资讯

共 38040 篇
第 1857/1902 页
开源项目 GitHub Trending

🔥 mukul975 / Anthropic-Cybersecurity-Skills - 754 structured cybersecurity skills for AI agents · Mapped t

GitHub热门项目 | 754 structured cybersecurity skills for AI agents · Mapped to 5 frameworks: MITRE ATT&CK, NIST CSF 2.0, MITRE ATLAS, D3FEND & NIST AI RMF · agentskills.io standard · Works with Claude Code, GitHub Copilot, Codex CLI, Cursor, Gemini CLI & 20+ platforms · 26 security domains · Apache 2.0 | Stars: 10,997 | 886 stars today | 语言: Python

2026-05-28 09:46 4 原文
AI 资讯 Dev.to

gitwink — a read-only tray git glance for the AI-agent era

I used to live in VS Code with GitLens pinned — the branch graph, heat-mapped blame, the lens annotations. That was my git workflow. Then 2026 happened. With Cursor, Claude Code, and Codex doing the actual editing, the editor itself became optional. The only thing dragging me back was GitLens. That felt wasteful — booting an entire IDE just to peek at commit history. The agent runs the git commands now; I only need to sanity-check the result, occasionally, when something looks off. So I built gitwink — the smallest possible tool for that loop. A tray icon that expands into a glance, hands the commit off as AI context, and gets out of the way. Read-only by design. It cannot commit, push, merge, or modify anything. If I need git surgery, I tell the agent. The 0.5-second confirm loop agent commits → tray click → inline expand → "Copy as AI context" → paste into Claude/Codex/Cursor → "did the agent do this right?" No window switching. No IDE boot. The whole loop fits inside a glance. What's in it Tray-resident (Windows tray / macOS menu bar) — click to toggle, global hotkey Ctrl+Shift+G to summon from anywhere. Right-click the tray icon for Reset position / Open settings file / Quit. First-run discovery that walks your usual code dirs ( source , Documents , Projects , Code , Dev , repos , Desktop , every non-system drive on Windows; ~/Projects , ~/Code , ~/Developer on macOS) and caches the result in SQLite. No "add repo" friction. Unified commit timeline across all repos, with chips above for filtering by Repo (search + pinning), Time range (24h / 3d / 7d / 30d / All), and Authors (multi-select with counts). Per-row markers — ● commit · ◆ merge · ★ tagged — and branch label badges when a commit isn't on the currently checked-out branch. Single-repo DAG view — pick a repo and the panel switches to a per-branch graph with a custom SVG lane drawer (eight-colour palette, hashed from branch name; main / master / develop kept neutral). Inline expand on click — commit body +

curioustore 2026-05-28 09:32 5 原文
AI 资讯 Dev.to

Sniffing Modbus Traffic with 5 Lines of Python (And Why It Should Scare Your OT Team)

⚠️ For defensive/educational purposes only. Sniff only networks you own or are explicitly authorized to test. Unauthorized network monitoring is illegal in most jurisdictions. The uncomfortable truth about your factory floor If your plant uses Modbus TCP — and statistically, it probably does — every register read, every coil write, every sensor value is flying across your network in plaintext . No encryption. No authentication. No signature. Nothing. Modbus was designed in 1979 by Modicon for serial communication between a PLC and a few field devices on a dedicated cable. The threat model was "someone might physically tap the wire." The solution was "don't let strangers into the control room." Forty-five years later, that same protocol is running over your corporate VLAN, talking to cloud historians, and occasionally — if your IT/OT segmentation has gaps — reachable from the internet. Let me show you what that looks like from the wire. The 5-line sniffer This is a defensive monitoring tool. Same code your blue team would use to baseline normal traffic and detect anomalies. Requires scapy : pip install scapy from scapy.all import sniff , TCP , Raw def show_modbus ( pkt ): if TCP in pkt and pkt [ TCP ]. dport == 502 and Raw in pkt : payload = pkt [ Raw ]. load print ( f " { pkt [ ' IP ' ]. src } → { pkt [ ' IP ' ]. dst } : { payload . hex () } " ) sniff ( filter = " tcp port 502 " , prn = show_modbus , store = False ) Run it on a span port, a TAP, or a mirror VLAN, and within seconds you'll see something like this: 192.168.1.50 → 192.168.1.10: 0001000000060103006400 02 192.168.1.10 → 192.168.1.50: 00010000000701030441f00000 192.168.1.50 → 192.168.1.10: 00020000000601100065000102 Every byte tells a story. Let's decode the first packet. Decoding what you just captured The Modbus TCP frame format is documented in the spec (it's public — that's part of the problem): Bytes 0-1: Transaction ID Bytes 2-3: Protocol ID (always 0x0000 for Modbus) Bytes 4-5: Length Byte 6: Unit

Phil Yeh 2026-05-28 09:24 9 原文
AI 资讯 Dev.to

Why Hytale Treasure Hunts Explode In Production (And How We Fixed It)

The Problem We Were Actually Solving Treasure hunts in Hytale arent just about generating loot. Theyre about generating simultaneous loot across thousands of players while keeping the world state consistent. We started with the assumption that events are stateless notifications: a hunt starts, we fire an event, clients react. That model worked fine when we had 200 concurrent players. At 2,000 players, the event bus turned into a 40 MB/s firehose of JSON blobs. Each loot drop required serializing the entire chunk state—blocks, entities, metadata—so clients could render the drop in real time. The JVMs G1GC couldnt handle the allocation rate. Every 47 minutes, a GC cycle would pause for 4.2 seconds, the chunk cache would fragment, and the server would hard crash with an OutOfMemoryError in net.minecraft.server.MinecraftServer#processQueue. The real problem wasnt the hunt logic. It was the architectural laziness of treating events as a catch-all glue layer instead of a boundary layer with explicit interfaces. What We Tried First (And Why It Failed) We tried Kafka as the event bus. The plan was to shard hunts by region and stream loot drops as compacted topics. The first run worked for about 6 hours before the compacted topics started to bloat. Each hunt was generating 700 KB of serialized chunk state per drop. At 30 drops per hunt per minute, thats 21 MB per hunt per minute. With 400 active hunts, the brokers couldnt keep up. The lag grew to 12 seconds, clients started rubber-banding, and we got a flood of Discord reports: You sank my boat! The event stream was now the bottleneck, not the event source. Next, we tried Redis Streams with a Lua script to aggregate loot drops per chunk. Within 30 minutes, we hit the 4 GB maxmemory limit because Lua scripts were stacking dropped items in memory while waiting for the next batch. The script was elegant—O(1) per drop—but the memory footprint made it unusable in production. Finally, we tried a sidecar service: a small Go process

Lillian Dube 2026-05-28 09:21 8 原文
开源项目 Dev.to

XGroundControlStation

This is a submission for the GitHub Finish-Up-A-Thon Challenge What I Built XGroundControl Station is a professional Ground Control Station (GCS) application built specifically for macOS, designed to provide full control over UAV systems. The project started as an attempt to create a more optimized, native experience for drone control on Mac devices, focusing on performance, usability, and precision. The application allows users to connect to flight controllers, monitor real-time telemetry, perform calibration, test motors, and configure flight parameters in a seamless and efficient workflow. For me, this project represents a step toward building a complete UAV ecosystem, including both hardware and software solutions. Demo You can explore the project and its features through the following: GitHub Repository: https://www.github.com/agaafar7/xgroundcontrolstation.git The Comeback Story Before this challenge, the project was partially implemented with core communication and UI components in place, but it lacked refinement, stability, and several critical features. During the Finish-Up-A-Thon, I focused on completing missing functionalities, improving the communication layer with flight controllers, optimizing performance on macOS, and polishing the UI for a smoother user experience. I also worked on fixing bugs, enhancing telemetry handling, and ensuring reliable real-time interaction with the system. My Experience with GitHub Copilot GitHub Copilot played a significant role in accelerating development, especially when working with complex logic such as telemetry parsing, communication handling, and structuring reusable components. It helped reduce development time by suggesting boilerplate code, assisting with debugging, and providing quick iterations when experimenting with different implementations. Overall, it allowed me to stay focused on architecture and system design rather than repetitive coding tasks.

Ahmed Gaafar 2026-05-28 09:19 11 原文
AI 资讯 Dev.to

The Worst Time to Quit Software Engineering Might Be Right Now

I understand why so many people are questioning software engineering right now. Every week there’s another headline saying AI will replace developers. Junior engineers are worried there won’t be jobs. Senior engineers are wondering how long their experience will stay valuable. And honestly, if you spend enough time on tech Twitter or LinkedIn, it can start feeling like the industry is collapsing in real time. But after using AI heavily in my day-to-day work as a software engineer, I’ve started seeing things differently. AI didn’t make me feel less useful. It made me feel more capable. Before AI became part of my workflow, a lot of engineering time disappeared into things that were mentally draining but necessary: repetitive refactoring debugging small issues writing boilerplate digging through documentation trying to remember syntax cleaning up legacy code writing SQL queries optimizing simple functions translating vague tickets into technical tasks None of these tasks were impossible. They were just time-consuming. Now, a lot of that friction is reduced dramatically. One of the biggest changes I noticed was backlog cleanup. Tasks that used to sit untouched because nobody wanted to deal with them suddenly became manageable. Not because AI magically solved everything. But because it helped reduce the “mental startup cost” of difficult tasks. Sometimes all you need is: a starting point a refactored example help understanding unfamiliar code a faster debugging path quick documentation summaries That momentum matters more than people realize. A task that feels overwhelming at 9AM suddenly becomes achievable when AI helps break it down. I also noticed we started delivering faster as a team. Not in a “replace developers with AI” kind of way. More in a: less context switching faster research quicker prototyping fewer hours stuck on repetitive problems better ticket breakdowns improved communication kind of way. The interesting part is that AI didn’t just help with coding.

Harpreet Singh 2026-05-28 09:18 7 原文