Issue 010 -- About Low Points
I saw this at work one morning, and it truly healed me for the whole day~
>> Topics to Discuss
About Low Points
Shi Yuqi, the men's singles player from China's national badminton team (Olympic seed number one), unfortunately lost to Kun Kun (Kunlavut) in the quarter-finals of the 2024 Paris Olympics. It's regrettable that we couldn't see him showcasing his spirit in the finals, but I really liked what he said, so I’ll quote it here:
We should head back tomorrow; the next goal is the Finals. Don’t worry, everyone. It’s normal to feel upset, but it’s also okay to have such emotions. I know that no one is blaming or criticizing me; you all feel bad or unhappy for me, and I appreciate that.
Congratulations to the Chinese badminton team for achieving a good result and contributing to the Chinese contingent. Although I didn’t win a medal, I gained countless supporters during my preparation, and that feeling is wonderful. Everyone is working hard for the same goal.
We don’t need to dwell too much on the results now; I hope everyone can lift their spirits. No matter the twists and turns you encounter on your road, you must believe this is part of life’s journey. I don’t define myself solely by this Olympic experience. There will always be highs and lows, good and bad. It’s okay; we can start over, and the wheels of fate will keep turning.
Thank you again for your support; not leaving when I’m at a low point is the best comfort for me. Keep going.
In badminton, the current scoring system is best of three games to 21 points. Losing a point can easily affect the next point in the match; the more points you lose, the greater the impact. Therefore, maintaining a positive mindset is crucial in badminton competitions. Often, during breaks, coaches will say to forget the previous score and start from zero. This is because, regardless of how large the disadvantage or advantage is, points are earned one by one. Being anxious won’t help; it’s about reviewing why points were lost and making adjustments, and understanding why points were gained to keep the momentum going.
>> Must Read
Cursor
An AI editor that allows for "seamless" switching with VSCode, optimizing many aspects of editor-AI interaction. It has received high praise from many users.
TAURI 2.0 RC Release
The first release candidate (RC) of Tauri 2.0 has finally been launched. This version, which has undergone over six months of testing, marks the stability of Tauri 2. The development team values community feedback and plans to focus on improving documentation and fixing critical bugs within a shorter release candidate cycle.
In this candidate version, the team has clarified expectations and timelines for the stable version, emphasizing that they do not wish to overcommit, especially regarding mobile support. While the currently available mobile plugins allow developers to create production-ready mobile applications, the team acknowledges that the mobile development experience still needs improvement.
The stable version is expected to be released at the end of August, with clearer documentation and fewer critical bugs. Notably, developers should pay attention to breaking changes primarily related to how core plugin permissions are referenced.
Additionally, the team has partially refactored the Rust API to enhance security and conducted external security audits to ensure all reported issues have been addressed. The author calls for more community members to get involved in the Tauri project to promote cross-platform application development.
OpenAI Introduces Structured Outputs in the API
Last year at DevDay, we introduced the JSON schema—a very useful building block for developers looking to build reliable applications with our models. While the JSON schema can enhance model reliability and generate valid JSON outputs, it does not guarantee that the model's responses will conform to a specific schema. Today, we are launching structured outputs in the API, a new feature designed to ensure that the outputs generated by the model will fully comply with the JSON schema provided by developers.
Generating structured data from unstructured input is one of the core use cases for AI in today's applications. Developers use the OpenAI API to build powerful assistants capable of retrieving data and answering questions via function calls, extracting structured data for data entry, and constructing multi-step agent workflows that allow LLMs to perform actions. Developers have long been addressing limitations in this area through open-source tools, prompts, and repeated requests to ensure that model outputs match the formats required for interoperability with their systems. Structured outputs address this issue by constraining OpenAI models to match the patterns provided by developers and by training our models to better understand complex patterns.
In our evaluation of complex JSON schemas, our new model gpt-4o-2024-08-06 with structured outputs scored a perfect 100%. In contrast, gpt-4-0613 scored less than 40%.
>> Useful Tools
Vitepress Blog Template
Here’s a self-recommendation for an open-source, minimalist blog template based on Vitepress that I developed:
Related blog: Third Reconstruction of My Personal Blog (Based on Vitepress)
Automatically Generate Daily Product Hunt Hot Products List in Chinese
- Automatic Data Retrieval: Automatically fetches the previous day’s top 30 Product Hunt product data every day.
- Keyword Generation: Generates concise and understandable Chinese keywords to help users better understand product content.
- High-Quality Translation: Uses OpenAI's GPT-4 model for high-quality translations of product descriptions.
- Markdown File Generation: Creates Markdown files containing product data, keywords, and translated descriptions for easy publishing on websites or other platforms.
- Daily Automation: Automatically generates and submits daily Markdown files through GitHub Actions.
- Configurable Workflow: Supports manual triggering or scheduled content generation via GitHub Actions.
- Flexible Customization: The script is easy to extend or modify to include additional product details or adjust file formats.
Self-Hosted YouTube Downloader
A self-hosted YouTube downloader that allows you to download videos from YouTube and dozens of other sites.
RustPython
A Python 3 interpreter written in Rust.
RustPython can be embedded into Rust programs to use Python as a scripting language for applications or compiled into WebAssembly to run Python in the browser.
MIT licensed open-source.
LLMs in the Terminal
- Ask LLMs from your terminal.
- Pipe-friendly.
- Bring your terminal context to LLMs and ask questions.
- Chat with LLMs in your terminal.
- Support for function calls and more through templates.
Video Compression
Claims to compress videos by 80-90% with virtually no loss in quality.
Vue3 Compiler Source Code Analysis Tutorial
This book aims not only to help you understand the Vue source code involved but also to teach you how to debug and understand the Vue source code you want to know.
Therefore, the writing style of this book is very detailed, documenting every step of debugging a specific issue, allowing you to easily start debugging by following the steps outlined in the text.
Moreover, this book will not overlook any details involved; to avoid overly bulky content, I will remove any source code that is unrelated to the content.
This book uses vite
to create a local project and then debug the Vue source code within that project. The version of vue
is 3.4.19
, and the version of @vitejs/plugin-vue
is 5.0.4
.
Capybara Mouse Assistant
Mouse skin changer | Screen pen | Magnifier | Spotlight | Screen zoom | Countdown - A powerful screen presentation tool.
One-Click Demo Recording Software
- Automatically optimizes mouse movement paths: Your mouse is the focal point of your presentation; mouse effects greatly enhance the display!
- Automatically magnifies micro-operations: Dense operations are suitable for automatic magnification, which is much better when experienced.
- Beautifies video backgrounds: Automatically beautifies backgrounds to make your videos more appealing.
Abstract Art Backgrounds
A beautiful multi-color background generator where you can customize colors and record videos or export images.
Domain Price Comparison Platform
Used to compare the prices of target domains among different domain registrars to find the most affordable options.
>> Interesting Finds
Hello TypeScript
I found an interesting snippet while looking for reference code on GitHub while writing a blog with Vitepress, all filled with @ts-ignore
:
Girlfriend Subtext Expert
Recently on Qixi Festival, I found this assistant quite interesting!
Don’t Try This, It Will Roast You Based on Your X Homepage
You will be roasted badly; I’ve tried it for you:
Relaxation
Athletes who won silver medals at the Olympics:
This also leads to many interesting images:
guthib
A specially purchased domain to tell you about spelling mistakes 😅
>> Worth Reading
Creativity Fundamentally Comes from Memorization
Creativity does not come from thin air but is derived from the internalization and familiarity of existing knowledge.
We need to become versatile individuals across various fields, quickly learning a wide range of knowledge and building a solid foundation.
By mechanizing things and reducing the energy required for basics, it can stimulate creativity and intuition, allowing you to focus on higher levels of novelty.