AI 资讯
How to Build Maintainable Make.com Automation Workflows
Automation is easy to start. Maintenance is the part that usually gets harder. When I first started building automation workflows, my main question was: "Can I automate this?" Later, I started asking a different question: "Will I still want to maintain this workflow six months from now?" That second question changed how I design automations. Here's the approach I'm using now. Start with one clear responsibility A common mistake is trying to make one Make.com scenario do everything. For example: Webhook → Check payment → Send email → Send Telegram notification → Update Notion → Create customer record → Send follow-up → Update analytics It looks efficient. But as the workflow grows, it becomes harder to understand what each part is responsible for. I prefer to start with one clear purpose. For example: Payment → Validate order → Record order Then another workflow can handle notifications. And another one can handle follow-up. The goal is not to minimize the number of scenarios. The goal is to minimize unnecessary complexity inside each scenario. Give each tool a specific job One of the simplest ways to keep an automation maintainable is to give each service a clear responsibility. For example, in my digital product workflow: Payhip → Transaction → Make From Make, the workflow can branch into: Telegram → Notification Notion → Order record Payhip handles the transaction. Make handles the workflow logic. Telegram handles notifications. Notion stores operational data. This makes debugging much easier. If a notification doesn't arrive, I know where to look. If an order isn't recorded, I can check the Notion branch. If the trigger doesn't happen, I start with the payment event. Clear responsibilities reduce the number of places you need to investigate. Validate data before doing anything important Another problem I encountered was assuming that incoming data would always look exactly as expected. It usually does. Until it doesn't. A webhook might contain: missing fields une
AI 资讯
Tencent EdgeOne Makers: My Technical Review and Best Practices for Website Deployment
Creating a website is more than just writing code. After building a project with HTML, CSS, or JavaScript, developers also need to consider how the website performs, how secure it is, and how easily users can access it. As a young developer, I think these aspects are important to learn through practice. In this article, I want to share my experience exploring Tencent EdgeOne Makers, along with some technical considerations and best practices that I found useful. Getting to Know Tencent EdgeOne Makers Tencent EdgeOne Makers provides an interesting environment for developers to experiment with their projects and explore modern web services. For beginners, one of its advantages is the opportunity to experience the complete journey of a web project. We can start by creating a project locally, testing its features, and then making it accessible online. This process gives developers a better understanding of what happens beyond the coding stage. A website that works on a personal computer still needs to be tested in a real environment before it can provide a good experience for users. My Technical Review Easy Project Experimentation One thing I like about EdgeOne Makers is the opportunity to experiment. Developers can start with a simple project and gradually improve it. This is useful for students and beginner developers because learning does not always have to start with a large or complicated application. A small website can already teach important lessons about structure, configuration, performance, and accessibility. Performance Matters A website should not only work correctly; it should also feel comfortable to use. Large images, unnecessary JavaScript, and unused resources can affect loading times. Because of this, developers should review their project before making it available to users. Some simple practices include compressing large images, removing unnecessary files, and keeping the website structure clean. Performance is especially important because users may
AI 资讯
The failures that don't fail loudly
I spent a week building an agent that upgrades dependencies and repairs what the upgrade breaks. Dependabot opens the PR and walks away; this one stays until the tests are green. The interesting part wasn't the repairs. It was that almost every serious bug I hit — in my code, in the harness, in my own agent — announced success while being wrong. The premise Detection is solved. Dependabot, npm audit and OSV all find the advisory. What nobody automates is the bit afterwards: the fix is a major version bump, the bump breaks your build, and now it's your afternoon. So: pull real advisories, spawn one subagent per vulnerable package, each on its own branch in its own sandbox. Bump, install, run the suite. If it breaks, read the failure and patch the source. Re-verify from a clean checkout. Open a PR and stop — merging is a human decision. That's the design. Here's what actually happened. 1. The advisories weren't where I looked My first scan found nothing. The manifest said js-yaml: ^3.13.1 , which sounds vulnerable, but ^3.13.1 resolves to whatever the latest 3.x is today — and that's patched. Vulnerabilities live in the resolved tree, not the manifest. Scan the lockfile, including transitive dependencies, or you scan nothing. All three advisories I eventually found were transitive dev dependencies that appear nowhere in package.json . A scanner that reads the manifest returns "you're clean" and is wrong. It doesn't error. 2. The agent caught itself The first proper scan reported 124 vulnerable packages out of 290. Then it said something I didn't expect: "Some results look suspicious — js-yaml@4.3.2 with 10 advisories, which is usually clean." It cross-checked OSV's batch endpoint against the single-query endpoint and found its own bug: it had nested version inside the package object instead of alongside it. The API silently ignored the version and returned every advisory ever filed for each package. Real answer: three. Not 124. The API didn't reject the malformed quer
AI 资讯
Do I Need Ventilation for a Laser Engraver? Safety Facts You Must Know
Do I Need Ventilation for a Laser Engraver? Safety Facts You Must Know If you're new to laser engraving, you're probably excited about getting your first machine and starting your first project. But here's one question that pops up for every beginner: do you need ventilation for a laser engraver? The short answer is yes, you absolutely need proper ventilation for laser engraving . In fact, it's not just a recommendation—it's a safety requirement. As someone who's been laser engraving for years and has helped dozens of beginners get set up, I've seen what happens when people cut corners on ventilation. Let me break down everything you need to know about laser engraver ventilation requirements, why it matters, and what your options are—even if you're on a tight budget. Why Is Ventilation Important for Laser Engraving? When your laser engraver cuts or etches materials, it doesn't just magically remove material. The laser beam heats up the material to such a high temperature that it vaporizes it. This process creates laser fumes and fine particles that float around in the air. What's in Those Laser Fumes? The exact composition depends on what you're cutting, but here are some common things you'll find: Fine particulate matter (microscopic particles that can get deep into your lungs) Volatile organic compounds (VOCs) that have strong odors and can cause health issues Toxic chemicals depending on the material (formaldehyde from plywood, cyanide from some plastics, etc.) Irritating gases that can make your eyes water and your throat burn Health Risks of Poor Ventilation So what happens if you don't ventilate? Let's talk about the real risks, not just scare tactics: Short-term effects: Headaches and dizziness from breathing in fumes Irritation of eyes, nose, and throat Allergic reactions or asthma attacks Nausea from strong odors Dirty residue covering everything in your workspace Long-term effects: Chronic respiratory problems from repeated exposure to fine particles Incre
AI 资讯
Three Small Shell Scripts That Make HackerRank/DevSkiller C++ Take-Homes Way Less Painful
If you've ever done a timed C++ coding assessment on a platform like HackerRank or DevSkiller, you know the friction isn't really the algorithm — it's the loop . Download a zip with a weird filename, unzip it, hunt for the project root, configure CMake, build, run GTest, fix one failing test, repeat... and somewhere in there you've burned ten minutes of your one-hour window just fighting the harness instead of writing code. These platforms' in-browser editors are fine for quick problems, but for anything involving multiple files (headers, sources, a real test suite), I'd rather work in my own terminal and editor. The catch is that you still have to get the project out of the browser sandbox, build it locally with the exact same toolchain (CMake + GTest), and then package it back up in a way the grader will accept. So I wrote three small bash scripts to remove that friction entirely. Sharing them here in case they save someone else the same ten minutes. The workflow Download the project archive from the platform (zip or tar.gz, filename is whatever the platform gives you — often randomized) Extract it — script 1 handles this regardless of filename or archive type Iterate — script 2 configures CMake once, then repeatedly builds and runs GTest, optionally watching for file changes Package — script 3 strips build artifacts and any local helper scripts, then zips it back up under a name that won't collide with the original download, ready to re-upload Script 1: extract_and_setup.sh Most of these platforms hand you an archive with an unpredictable filename. This script extracts whatever you point it at ( .tar , .tgz , .tar.gz , or .zip ), figures out which directory it unpacked to by diffing the folder listing before and after, and drops the build script into it automatically. #!/usr/bin/env bash # extract_and_setup.sh # Extracts $fname (tar, tgz, tar.gz, or zip) into the CURRENT folder, # then copies run_build.sh into the directory that was created. # # Usage: # ./extrac
AI 资讯
Govee’s smart nugget ice maker makes every iced drink feel like a luxury
For some people, the ice in a beverage is almost as important as the drink itself. That’s the audience Govee had in mind when designing its latest ice maker, the GoveeLife Smart Nugget Ice Maker Pro. This $500 premium smart home gadget is aimed at those who crave what’s called “the good ice,” the soft, chewable […]
工具
GM installs robots at flagship EV factory after laying off 1,300 workers
US autoworkers union warns of robot automation as dark factory future looms.