Issue 000 -- A New Beginning
This picture is the last landscape photo I took at school before graduation. It marks an end, but also a new beginning...
>> Topics to Discuss
Why I Started My Weekly Journey
It's been almost a year since I started working after graduation. My days have begun to repeat themselves, and time is flying by so fast that it scares me!
Life is made up of memories -- "Die with Zero"
When 365 days start to blend together, it feels like only a single day has passed. Memorable moments become fewer and fewer, and my blog posts have become less frequent because, to me, nothing new seems to happen.
So I thought I'd learn from others and start a weekly journal to record what I see and hear each week. This way, I can keep memories for myself and share them with others—a win-win situation. Recording, whether in text, photos, or videos, keeps the experiences alive and creates more memories instead of letting them fade away.
Why Call It FAV0
- FAV stands for
favorite
, meaning the content in this weekly journal consists of my favorite things I encountered during the week. - 0 represents the beginning in the programmer's world, as well as symbolizing infinity or diversity.
Publication Schedule
I plan to release it every Saturday/weekend.
Structure and Content of the Weekly Journal
Like most weekly journals, this one will include the following sections:
- Topics I Want to Discuss: Introductions, thoughts, feelings, etc. I don't want this weekly journal to become just a list of resources or articles. I hope to make friends and meet more people, so I'll share some of my thoughts and feelings here. Who knows, I might find some like-minded individuals!
- Things to Watch: Some news, mainly related to front-end development and AI. Of course, I'll also talk about other topics like technology, photography, and badminton.
- Useful Tools: A compilation of useful websites, software, plugins, and other types of applications, along with learning materials and resource sharing.
- Interesting Finds: Some interesting sights and stories.
- Readable Articles: Sharing some articles worth reading.
>> Must Read
Applications of GPT-4o
As a multimodal large language model, GPT-4o has significantly improved in speed, leading to numerous application scenarios, such as:
- Generating video games from screenshots in under a minute.
- Sharing an iPad screen with GPT-4o to let AI tutor students in real-time.
- Acting as a real-time visual assistant to help visually impaired individuals explore the world better.
- Real-time translation of foreign languages using GPT-4o.
- Assisting with interview preparation and general advice using GPT-4o.
- Creating 3D models in 20 seconds based on phone prompts.
- Narrating and hosting team meetings using GPT-4o and providing summaries at the end.
- Generating FB Messenger code and cloning websites in just 6 seconds.
- Sam Altman uses it as a personal assistant to help him stay focused while working.
- Transcribing old, hard-to-read texts into clear English (even translating or paraphrasing them within seconds).
- Adding paragraphs to images and improving text generation (something most text-to-image models struggle with).
- Enhancing image recognition capabilities and interpreting facial expressions at a very high level.
Our world is inherently multimodal. For instance, when we speak, our body language and facial expressions carry as much information as our words. If we only process language information, we miss out on many important cues. Additionally, audio contains various intonations, which are hard to convey through text alone. After all, the same sentence with different intonations can convey different meanings.
SolidStart Released
If you're a front-end developer, you should be familiar with SolidJS, which now has over 30K stars on GitHub. SolidStart is a JavaScript framework designed to build and deploy SolidJS applications to various providers. It has now released version 1.0! 🎉
SynthID: Watermarking AI Content
At the recent Google IO, they introduced their video generation model VEO. Besides the model's capabilities, the use of Google's SynthID technology for watermarking caught my attention!
It supports text, audio, images, and videos, embedding watermark scores in each prediction without affecting output quality, accuracy, or creativity.
This is highly meaningful. If everyone could agree to watermark their AI-generated content, it would be much easier to distinguish between AI-generated and human-created content.
This becomes crucial when AI is used for malicious purposes, such as spreading political misinformation, falsely attributing statements to people, or creating non-consensual sexual content.
Of course, Google isn't the only company working on such watermarking methods. Meta has its own technology, which is open-source: stable_signature.
>> Useful Tools
Learning Resources for Various Programming Languages
Hacker News often features high-quality resource shares. Here are some learning resources extracted from an HN post:
- 100 exercises for learning Rust: https://rust-exercises.com/01_intro/01_syntax…
- rustlings: https://github.com/rust-lang/rustlings…
- Rust pro tips: https://geeklaunch.io/blog/rust-pro-tips-collection/…
- Interactive Python tutorials: https://github.com/gregmalcolm/python_koans…
- Rust Anki cards: https://ankiweb.net/shared/info/1541471942…
- Free website for learning various languages: https://exercism.org/
Additionally, if you prefer video tutorials for learning Rust, I recommend this 3-hour course, which is quite suitable for beginners and of high quality!
Full Rust Programming Course | Learn ⚙️ in 2024
Concise UI/UX Design Tutorial
Independent development is becoming increasingly popular. Just knowing how to code is no longer enough. UI/UX is an essential aspect of independent development, significantly enhancing a product's competitiveness.
Spend just 7 minutes watching this video to get a clear understanding of UI/UX. Here are my notes from the video:
- User Flow: The flowchart of pages that users navigate through to achieve their goals on your website.
- Wireframes: Initial designs where each page should contribute to achieving a key goal.
- System Design: Define uniform components like colors, fonts, buttons, forms, boxes, cards, icons, etc.
- Implementation: Six basic visual design principles:
- Visual Hierarchy
- Contrast
- Balance
- Consistency
- Simplicity
- Interaction Feedback
- Finishing Touches: Add illustrations and visual effects.
I highly recommend watching the original video, which includes examples that make it easier to understand.
Context Switching Tool for Browser Tabs: Session Buddy
I regret not discovering this Chrome extension sooner!
Often, a specific task requires opening certain fixed tabs. Then suddenly, you need to switch to another task, requiring a different set of tabs and closing the previous ones.
This tool helps us switch contexts seamlessly.
Code Structure-Based Search Tool: ast-grep
I recently discovered this command-line tool that supports code structure-based searches for common programming languages. It offers the following features:
- Search: As a command-line tool, ast-grep (
sg
) can precisely search code based on AST, running through thousands of files in milliseconds. - Linter: You can also use ast-grep as a linter. Its flexible rule configuration makes adding new custom rules intuitive and straightforward. It also features elegant error reporting.
- Refactoring: ast-grep provides jQuery-like utility methods to traverse and manipulate syntax trees. You can also use operators to combine simple patterns into complex matches.
You can try it out on their PlayGround. I tried it locally, and it works wonderfully, offering a completely different experience from traditional text-based or regex-based searches! You just need to remember some syntax patterns, but they are not complicated. Follow the examples, and you'll easily understand.
The only downside is that it doesn't support Vue yet, but it is on the development roadmap.
Combining AI with Blog Reading: bestblogs
This aligns with my previous idea for RSS0. People constantly need to consume information, but there is an overwhelming amount of it. Using AI to pre-read content for us is an excellent solution, allowing us to spend our limited time on more valuable reading instead of going through entire articles only to find them unhelpful.
>> Interesting Finds
Engaging Titles
These are some of the top articles on the DEV community leaderboard that I saw one day. I noticed that articles sharing resources with numbers perform better. People are naturally sensitive to numbers! Additionally, terms like Free, Best, Easy frequently appear. Lastly, "In 2024" is a common phrase.
What Does Your Windows Desktop Look Like?
I use my desktop as a temporary folder. Once a task is complete, I clear it out and don't keep any application icons. I rely on shortcuts and search to quickly open the applications I need.
How to Wake Up Early?
I generally wake up early only when I have something on my mind. Currently, my reason for waking up early is to go downstairs and enjoy a bowl of clear soup noodles, with the sweetness of peas, the fresh aroma of green onions, and the deliciousness of pickled vegetables! 😋