diff --git a/docs/.vitepress/config/shared.ts b/docs/.vitepress/config/shared.ts index 480d781..18f6732 100644 --- a/docs/.vitepress/config/shared.ts +++ b/docs/.vitepress/config/shared.ts @@ -14,7 +14,7 @@ export default defineConfig({ cleanUrls: true, ignoreDeadLinks: true, sitemap: { - hostname: 'https://fav0.com' + hostname: 'https://daily.gojun.com' }, head: [ ["script", { async: "", src: "https://www.googletagmanager.com/gtag/js?id=G-Z6HGDC7ZBL" }], diff --git a/docs/.vitepress/config/zh.ts b/docs/.vitepress/config/zh.ts index d946d60..64c7bd1 100644 --- a/docs/.vitepress/config/zh.ts +++ b/docs/.vitepress/config/zh.ts @@ -31,11 +31,11 @@ export default defineConfig({ ], editLink: { - pattern: "https://github.com/Justin3go/FAV0/edit/master/docs/:path", + pattern: "https://github.com/Freelander/AI-Daily/edit/master/docs/:path", text: "在GitHub上编辑此页", }, returnToTopLabel: "回到顶部", - sidebarMenuLabel: "目录", + sidebarMenuLabel: "时间线", darkModeSwitchLabel: "深色模式", }, }) diff --git a/docs/.vitepress/theme/components/BuyMeACoffee.vue b/docs/.vitepress/theme/components/BuyMeACoffee.vue index a3592d0..5adb4b7 100644 --- a/docs/.vitepress/theme/components/BuyMeACoffee.vue +++ b/docs/.vitepress/theme/components/BuyMeACoffee.vue @@ -5,7 +5,7 @@ size="large" class="btn" tag="a" - href="https://ko-fi.com/V7V6YU3UT" + href="https://ko-fi.com/gojun" target="_blank" >☕️ Buy Me a Coffee → diff --git a/docs/.vitepress/theme/components/Comment.vue b/docs/.vitepress/theme/components/Comment.vue index 0303cc5..a626979 100644 --- a/docs/.vitepress/theme/components/Comment.vue +++ b/docs/.vitepress/theme/components/Comment.vue @@ -3,10 +3,10 @@ route.path.slice(-3)); +const term = computed(() => { + const pathParts = route.path.split('/'); + return pathParts[pathParts.length - 1]; +}); const theme = computed(() => (isDark.value ? "noborder_dark" : "noborder_light")); const lang = computed(() => route.path.startsWith("/en") ? 'en' : 'zh-Hans'); diff --git a/docs/.vitepress/theme/index.ts b/docs/.vitepress/theme/index.ts index cf0cc06..cd6f758 100644 --- a/docs/.vitepress/theme/index.ts +++ b/docs/.vitepress/theme/index.ts @@ -17,7 +17,7 @@ export default { // https://vitepress.dev/guide/extending-default-theme#layout-slots "doc-after": () => h(Comment), "doc-bottom": () => h(ImageViewer), - "doc-footer-before": () => h(BuyMeACoffee), + // "doc-footer-before": () => h(BuyMeACoffee), "aside-top": () => h(Subscribe), }); }, diff --git a/docs/.vitepress/utils/handleHeadMeta.ts b/docs/.vitepress/utils/handleHeadMeta.ts index 74843ab..ade7e13 100644 --- a/docs/.vitepress/utils/handleHeadMeta.ts +++ b/docs/.vitepress/utils/handleHeadMeta.ts @@ -28,7 +28,7 @@ export function handleHeadMeta(context: TransformContext) { } export function addBase(relativePath: string) { - const host = 'https://fav0.com' + const host = 'https://daily.gojun.me' if (relativePath.startsWith('/')) { return host + relativePath } else { diff --git a/docs/.vitepress/utils/rss.ts b/docs/.vitepress/utils/rss.ts index 1f35845..b765aee 100644 --- a/docs/.vitepress/utils/rss.ts +++ b/docs/.vitepress/utils/rss.ts @@ -3,18 +3,18 @@ import { writeFileSync } from "node:fs"; import { Feed } from "feed"; import { createContentLoader, type SiteConfig } from "vitepress"; -const hostname = "https://fav0.com"; +const hostname = "https://daily.gojun.me"; export async function createRssFileZH(config: SiteConfig) { const feed = new Feed({ - title: "FAV0周刊", - description: "《FAV0周刊》:记录每周所见所闻,主要关注前端、AI领域以及计算机相关内容", + title: "高军 AI 日报", + description: "《高军 AI 日报》:内容涵盖但不限于前沿 AI 资讯、AI 工具、AI 绘画、开源项目和学习教程等。", id: hostname, link: hostname, language: "zh-Hans", image: "/favicon.png", favicon: `/favicon.ico`, - copyright: "Copyright© 2024-present Justin3go", + copyright: "Copyright© 2024-present GoJun", }); const posts = await createContentLoader("posts/**/*.md", { @@ -38,9 +38,9 @@ export async function createRssFileZH(config: SiteConfig) { content: html, author: [ { - name: "Justin3go", - email: "just@justin3go.com", - link: "https://justin3go.com", + name: "GoJun", + email: "huanggaojun13@gmai.com", + link: "https://daily.gojun.me", }, ], date: frontmatter.date, @@ -52,14 +52,14 @@ export async function createRssFileZH(config: SiteConfig) { export async function createRssFileEN(config: SiteConfig) { const feed = new Feed({ - title: "FAV0 Weekly", - description: "FAV0 Weekly: Documenting Weekly Observations and Experiences, with a Focus on Front-end Development, AI, and Computer-related Topics", + title: "高军 AI 日报", + description: "《高军 AI 日报》:内容涵盖但不限于前沿 AI 资讯、AI 工具、AI 绘画、开源项目和学习教程等。", id: hostname, link: hostname, language: "en-US", image: "/favicon.png", favicon: `/favicon.ico`, - copyright: "Copyright© 2024-present Justin3go", + copyright: "Copyright© 2024-present GoJun", }); const posts = await createContentLoader("en/posts/**/*.md", { @@ -83,9 +83,9 @@ export async function createRssFileEN(config: SiteConfig) { content: html, author: [ { - name: "Justin3go", - email: "just@justin3go.com", - link: "https://justin3go.com", + name: "GoJun", + email: "huanggaojun13@gmail.com", + link: "https://daily.gojun.me", }, ], date: frontmatter.date, diff --git a/docs/en/posts/2024/000.md b/docs/en/posts/2024/000.md deleted file mode 100644 index 518d755..0000000 --- a/docs/en/posts/2024/000.md +++ /dev/null @@ -1,175 +0,0 @@ ---- -title: Issue 000 -- A New Beginning -date: 2024-05-26 -cover: https://oss.justin3go.com/blogs/0000.jpg ---- - -# Issue 000 -- A New Beginning - -![](https://oss.justin3go.com/blogs/0000.jpg) - -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](https://x.com/FinanceYF5/status/1791009745383637356) - -As a multimodal large language model, GPT-4o has significantly improved in speed, leading to numerous application scenarios, such as: - -> 1. Generating video games from screenshots in under a minute. -> 2. Sharing an iPad screen with GPT-4o to let AI tutor students in real-time. -> 3. Acting as a real-time visual assistant to help visually impaired individuals explore the world better. -> 4. Real-time translation of foreign languages using GPT-4o. -> 5. Assisting with interview preparation and general advice using GPT-4o. -> 6. Creating 3D models in 20 seconds based on phone prompts. -> 7. Narrating and hosting team meetings using GPT-4o and providing summaries at the end. -> 8. Generating FB Messenger code and cloning websites in just 6 seconds. -> 9. Sam Altman uses it as a personal assistant to help him stay focused while working. -> 10. Transcribing old, hard-to-read texts into clear English (even translating or paraphrasing them within seconds). -> 11. Adding paragraphs to images and improving text generation (something most text-to-image models struggle with). -> 12. 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](https://www.solidjs.com/blog/solid-start-the-shape-frameworks-to-come) - -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! 🎉 - -![](https://oss.justin3go.com/blogs/Pasted%20image%2020240526190555.png) - -### [SynthID: Watermarking AI Content](https://deepmind.google/technologies/synthid/) - -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. - -![](https://oss.justin3go.com/blogs/Pasted%20image%2020240526191026.png) - -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](https://github.com/facebookresearch/stable_signature). - -## \>\> Useful Tools - -### [Learning Resources for Various Programming Languages](https://news.ycombinator.com/item?id=40385536) - -Hacker News often features high-quality resource shares. Here are some learning resources extracted from an HN post: - -1. 100 exercises for learning Rust: [https://rust-exercises.com/01_intro/01_syntax…](https://t.co/CLSmkEMVtK) -2. rustlings: [https://github.com/rust-lang/rustlings…](https://t.co/36vMoqseLc) -3. Rust pro tips: [https://geeklaunch.io/blog/rust-pro-tips-collection/…](https://t.co/rVcLtcnMij) -4. Interactive Python tutorials: [https://github.com/gregmalcolm/python_koans…](https://t.co/ZLP30YgtVB) -5. Rust Anki cards: [https://ankiweb.net/shared/info/1541471942…](https://t.co/CVVe6h08sJ) -6. Free website for learning various languages: [https://exercism.org/](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](https://www.youtube.com/watch?v=rQ_J9WH6CGk) - -### [Concise UI/UX Design Tutorial](https://www.youtube.com/watch?v=wIuVvCuiJhU) - -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: - -1. User Flow: The flowchart of pages that users navigate through to achieve their goals on your website. -2. Wireframes: Initial designs where each page should contribute to achieving a key goal. -3. System Design: Define uniform components like colors, fonts, buttons, forms, boxes, cards, icons, etc. -4. Implementation: Six basic visual design principles: - 1. Visual Hierarchy - 2. Contrast - 3. Balance - 4. Consistency - 5. Simplicity - 6. Interaction Feedback -5. 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](https://chromewebstore.google.com/detail/session-buddy/edacconmaakjimmfgnblocblbcdcpbko) - -![](https://oss.justin3go.com/blogs/Pasted%20image%2020240526102722.png) - -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](https://github.com/ast-grep/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](https://ast-grep.github.io/playground.html). 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. - -![](https://oss.justin3go.com/blogs/Pasted%20image%2020240526183725.png) - -The only downside is that it doesn't support Vue yet, but it is on the development roadmap. - -### [Combining AI with Blog Reading: bestblogs](https://www.bestblogs.dev/) - -This aligns with my previous idea for [RSS0](https://rss0.com). 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. - -![](https://oss.justin3go.com/blogs/Pasted%20image%2020240526185934.png) - -## \>\> Interesting Finds - -### Engaging Titles - -![](https://oss.justin3go.com/blogs/Pasted%20image%2020240526101654.png) - -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?](https://x.com/imwsl90/status/1792833984537510391) - -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. - -![](https://oss.justin3go.com/blogs/Pasted%20image%2020240526163947.png) - -### 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! 😋 - -## \>\> Worth Reading - -- [16 Websites for Design Inspiration in 2024](https://bootcamp.uxdesign.cc/16-websites-for-design-inspiration-in-2024-a3d6889fc4b5) -- [Rethinking Text Resizing on the Web for Accessibility](https://medium.com/airbnb-engineering/rethinking-text-resizing-on-web-1047b12d2881) -- [Designing for Visual Density](https://matthewstrom.com/writing/ui-density/) -- [I Want Flexible Queries, Not RAG](https://win-vector.com/2024/05/21/i-want-flexible-queries-not-rag/) diff --git a/docs/en/posts/2024/001.md b/docs/en/posts/2024/001.md deleted file mode 100644 index e74016d..0000000 --- a/docs/en/posts/2024/001.md +++ /dev/null @@ -1,179 +0,0 @@ ---- -title: Issue 001 -- AI Content Pollution in Search -date: 2024-06-01 -cover: https://oss.justin3go.com/blogs/fav0-001.jpg ---- - -# Issue 001 -- AI Content Pollution in Search - -![](https://oss.justin3go.com/blogs/fav0-001.jpg) - -On Saturdays/weekends, I usually go out to play badminton. After playing, I sometimes have dinner with friends. The photo above is from one of those dinners - Wushan Paper-Wrapped Fish 😋. Unfortunately, I injured my foot playing badminton on Friday, so I'll be resting this weekend. - -## \>\> Topics to Discuss - -Recently, a [hot topic](https://x.com/oran_ge/status/1795763307309363396) has emerged: discovering AI-generated content cited within AI search engines. - -![](https://oss.justin3go.com/blogs/Pasted%20image%2020240601140423.png) - -What problem does this cause? Simply put, it leads to "misinformation propagation and hallucination overlap." - -Imagine this: AI-generated answers still have hallucinations. The emergence of RAG (Retrieval Augmented Generation) aims to avoid these hallucinations by referencing correct sources. However, if RAG references AI-generated content and then the AI reinterprets it, the hallucination becomes even more severe, making the content unusable and hard to trust. - -Moreover, some users have discovered that searching `site:doubao.com` on Google yields over tens of millions of results! - -![](https://oss.justin3go.com/blogs/Pasted%20image%2020240601140819.png) - -Of course, it seems that Doubao has since made corrections, and the excessive SEO optimizations have been taken down. - -However, I believe this is something that search engines like Google should handle. Here are some of my questions: - -1. Did Google not notice this? Can't they customize a strategy? -2. Is it that they can't distinguish AI content and don't know what to do? -3. Or is the AI-generated content still valuable? For example, users can directly search for corresponding AI answers without consuming tokens and phrasing questions. - -Even if Doubao has corrected it, what about other AI sites, especially those personal AI content sites? There are many examples of people doing anything for traffic. When I use a search engine, I naturally want to find content I need. How to filter and whether it can be filtered should be the job of the search engine. - -Just like how many sites used to stuff unrelated keywords to increase search hits and were then eliminated by PageRank, which contributed to Google's success. - -Furthermore, if you create a search engine now that can use some strategy to distinguish AI content, wouldn't it attract many dissatisfied users? After all, some people will always prefer non-AI-written content, given that AI content still has hallucinations. - -## \>\> Must Read - -### [Google Meet Introduces Adaptive Audio](https://workspaceupdates.googleblog.com/2024/05/google-meet-adaptive-audio.html) - -A very useful feature! When multiple computers join a meeting in the same room, everyone can be heard clearly without awkward echoes and audio feedback. - -![](https://oss.justin3go.com/blogs/Pasted%20image%2020240601184726.png) - -### [GPT-4-turbo vs GPT-4o](https://community.openai.com/t/gpt-4-vs-gpt-4o-which-is-the-better/746991/9) - -If I only use text and don't focus on multimodal, which one performs better? There is a discussion on the official forum, and several top-rated answers suggest that GPT-4-turbo seems to perform better. - -> that GPT-4-turbo is a lot better than GPT-4o. - -> GPT 4 turbo is much better for step by step tasks. - -![](https://oss.justin3go.com/blogs/Pasted%20image%2020240601190729.png) - -Here is also a [detailed blog](https://www.vellum.ai/blog/analysis-gpt-4o-vs-gpt-4-turbo) comparing their performances: - -- Data Extraction: GPT-4o shows better performance than GPT-4 Turbo but still lacks accuracy in complex tasks. -- Classification: GPT-4o has the highest precision, making it the best choice to avoid false positives. GPT-4 Turbo shows lower accuracy. -- Conversational Reasoning: GPT-4o has made significant improvements in some reasoning tasks but still needs improvement. GPT-4 Turbo finds these tasks more challenging. -- Latency: GPT-4o has lower latency, responding faster than GPT-4 Turbo. -- Throughput: GPT-4o has a throughput of 109 tokens per second compared to GPT-4 Turbo's 20 tokens per second. - -While GPT-4o is the clear winner in quality and latency, it may not be the best model for every task. - -## \>\> Useful Tools - -### [Git Command Cheat Sheet](https://wizardzines.com/git-cheat-sheet.pdf) - -Still not familiar with Git commands? Quickly save this Git command cheat sheet! - -![](https://oss.justin3go.com/blogs/Pasted%20image%2020240601162453.png) - -### [Full-Text Search Engine Library Tantivy](https://github.com/quickwit-oss/tantivy) - -A full-text search engine library, an alternative to ElasticSearch, written in Rust, supports Chinese, delivers blazing performance, supports REST API, and can be called from Python, open-sourced under the MIT license. - -![](https://oss.justin3go.com/blogs/Pasted%20image%2020240601162949.png) - -### [Gradient Animation Generator](https://neat.firecms.co/) - -A great choice for creating background for a website homepage, with impressive effects and various configurable parameters: - -![](https://oss.justin3go.com/blogs/Pasted%20image%2020240601163216.png) - -### [Terminal Text Effects Library](https://chrisbuilds.github.io/terminaltexteffects/showroom/) - -This Python-written terminal text effects library gained nearly a thousand points on HN in just a few hours. It's super cool! - -![](https://oss.justin3go.com/blogs/Pasted%20image%2020240601163745.png) - -### [Logo Generator](https://favicon.io/favicon-generator/) - -The FAV0 weekly logo was generated using this tool website. No fancy stuff, just like the logos of X and DEV communities, black background with white text. High recognition is the first element of logo design! - -![](https://oss.justin3go.com/blogs/Pasted%20image%2020240601164326.png) - -### [Manage Fonts via npm](https://fontsource.org/) - -A must-have tool for front-end developers! A great font website with thousands of open-source fonts, which can be directly installed and version-controlled via npm. - -![](https://oss.justin3go.com/blogs/Pasted%20image%2020240601165526.png) - -### [Hand-Drawn Style UI Component Library](https://github.com/rough-stuff/wired-elements) - -A hand-drawn style UI component library that can be directly used in different frameworks such as React, Vue, Svelte, or HTML. Perfect for creating some fun pages! - -![](https://oss.justin3go.com/blogs/Pasted%20image%2020240601170056.png) - -### HTTPS Related Learning Materials - -1. [HTTPS Guide](https://devonperoutky.super.site/blog-posts/mediocre-engineers-guide-to-https) -2. [Byte-by-Byte HTTPS Encryption Example 1.2](https://tls12.xargs.org/#client-hello/annotated) -3. [Byte-by-Byte HTTPS Encryption Example 1.3](https://tls13.xargs.org/) - -### [ChatTTS](https://github.com/2noise/ChatTTS) - -1. **Conversational TTS**: ChatTTS is optimized for conversational tasks, achieving natural and smooth speech synthesis while supporting multiple speakers. -2. **Fine-Grained Control**: The model can predict and control fine-grained prosodic features, including laughter, pauses, and filler words. -3. **Better Prosody**: ChatTTS surpasses most open-source TTS models in prosody. Pre-trained models are also available for further research. - -In summary, it's impressive and open-source! - -## \>\> Interesting Finds - -### What is AGI - -Reddit users provided a bunch of interesting answers: - -![](https://oss.justin3go.com/blogs/Pasted%20image%2020240601162751.png) - -### How to Learn Programming Well? - -Relying on CV (Copy-Paste) engineering has always been a popular joke among programmers. To address this question, one user provided this image: - -![](https://oss.justin3go.com/blogs/Pasted%20image%2020240601163944.png) - -### Why Can't Hou Yi Shoot on Weekdays? - -Because once he shoots, he'll lose his job. - -### Cloudflare Bug - -Recently, while purchasing a domain on CF, I saw this page where the data wasn't rendered: - -![](https://oss.justin3go.com/blogs/Pasted%20image%2020240601165738.png) - -## \>\> Worth Reading - -### [Reading Programming Languages is Not the Same as Reading Languages](https://news.mit.edu/2020/brain-reading-computer-code-1215) - -![](https://oss.justin3go.com/blogs/Pasted%20image%2020240601162651.png) - -This article studies how, when we program, the part of the brain activated is not the area for language processing but the multiple demand network related to mathematics. However, it does not precisely replicate the cognitive demands of mathematics. - -Language is just a tool. Once we learn how to express it, we focus more on the logic behind the language. - -### [16 Practices for Good Web Design](https://blog.logrocket.com/ux-design/16-practices-good-web-design/#optimize-for-both-fast-and-slow-thinkers) - -### [Why, After 6 Years, I'm Over GraphQL](https://bessey.dev/blog/2024/05/24/why-im-over-graphql/) - -GraphQL is very flexible: it allows "schema queries," where a single interface can return data with different fields, more or less. - -1. How to control permissions for each field? -2. How to rate-limit each interface, as the data returned by a single interface can vary greatly? -3. When field resolvers hit external data sources: N+1 problem... - -### [Redirecting APIs from HTTP to HTTPS Seems Wrong](https://news.ycombinator.com/item?id=40504756) - -It should be completely disabled, quickly fail, and return an error code like 403. Interestingly, OpenAI seems to have changed their interface strategy based on this article. - -### [Front-End Resource Sharing Post](https://dev.to/miguelrodriguezp99/frontend-resources-1dl4?context=digest) - -### How to Get a Good Night's Sleep - -![](https://oss.justin3go.com/blogs/Pasted%20image%2020240529150049.png) diff --git a/docs/en/posts/2024/002.md b/docs/en/posts/2024/002.md deleted file mode 100644 index 0dc3738..0000000 --- a/docs/en/posts/2024/002.md +++ /dev/null @@ -1,200 +0,0 @@ ---- -title: Issue 002 -- The Motivation for indie Development -date: 2024-06-09 -cover: https://oss.justin3go.com/blogs/f0c6649e32af80e4c17655bd56e915e.jpg ---- -# Issue 002 -- The Motivation for indie Development - -![](https://oss.justin3go.com/blogs/f0c6649e32af80e4c17655bd56e915e.jpg) - -This photo was taken near Lianglukou in Chongqing. It’s a snapshot that coincidentally relates to motivation, which is the topic of this issue. -## \>\> Topics to Discuss - -**How to maintain the motivation for indie development?** - -This week, I came across an [article](https://mbuffett.com/posts/maintaining-motivation/) discussing how to maintain the motivation for indie development. Previously, I briefly talked about the four basic motivations of human beings as described by the Indian philosopher Bhaktivinoda Thakura. - -1. Fear: Driven by "fear of disease, poverty, hell, or death." -2. Desire: Seeking personal satisfaction through success, wealth, and happiness. -3. Responsibility: Driven by gratitude, duty, and the willingness to do the right thing. -4. Love: Driven by the impulse to care for and help others. - -However, these are too general. To keep moving forward, we need a constant source of motivation. One of my favorite sayings is, "Winning lies in execution, and the value lies in persistence." Both the initial motivation to execute and the sustained motivation to persist are crucial, but obtaining a constant source of motivation is very challenging. - -In indie development, besides having to develop, maintain, and market your product all by yourself, it's even more important to maintain the corresponding motivation, which is often more difficult than working a job. The aforementioned article shares some very practical points on how to maintain motivation: - -1. External motivation: Notifications of subscriptions, notifications of paid conversions; -2. Leaving unfinished tasks to quickly complete the next morning for a quick win, which can maintain motivation for the day; -3. Using your own product as much as possible; -4. Fixing the bad parts instead of enduring them. Unlike in a company, you have full control and don’t need to endure things; complete them as you envision; -5. Doing nothing and sitting down to think for a while; -6. Reviewing progress and summarizing, like writing a weekly journal, which is a form of review; -7. Finding like-minded partners; -8. Avoiding the guilt of idleness; - -Of course, some sources of motivation are not recommended for frequent use, such as fear. Overstimulation can be harmful; it’s more like a stress response, and too much stimulation can easily break you down, making you a machine driven by fear, losing that indefinable creativity. - -**[Receiving an AI-generated email from a friend?](https://mrgan.com/ai-email-from-a-friend/)** - -Using AI to polish some wording is no longer a novelty, but how would you feel if you discovered the person you're chatting with isn't your friend but AI answering on their behalf? - -For me: - -- If a new friend sends an AI-polished email, I wouldn’t mind as long as the email content is clear. Of course, the premise is that the email was reviewed by them. -- If it’s an old friend, an AI-generated email would make me feel disoriented. AI would erase the personal characteristics I recognize in them, like their usual mannerisms, making it feel like the email is from a stranger. -## \>\> To Watch - -### [Chrome Browser Now Has Built-in AI Models](https://developer.chrome.com/docs/ai/built-in?hl=zh-cn) - -The obvious advantage of local AI models over online ones is locality. Running something locally in the browser has many benefits, just like [`tensorflow.js`](https://www.tensorflow.org/js?hl=zh-cn), which allows running APIs like face recognition locally in the browser. Specifically, the advantages include: - -- Reducing network transmission and improving response speed; -- Reducing server pressure; -- Protecting user privacy in certain situations. - -In short, it’s very promising! - -![](https://oss.justin3go.com/blogs/Pasted%20image%2020240609191604.png) - -### ChatGPT, Claude, and Perplexity Went Down - -Perplexity relies on OpenAI. When OpenAI's services went down, it’s understandable that Perplexity couldn’t be used. However, it’s interesting that Claude also went down at the same time. - -Large language models are gradually becoming a foundational infrastructure for applications. We can foresee that almost all applications will integrate AI capabilities in the future. Most applications do not have the capability to develop, deploy, and maintain a large language model on their own, and many rely on APIs from a few leading companies. If such a situation occurs, many applications’ AI capabilities will be unavailable, which is quite terrifying. - -![](https://oss.justin3go.com/blogs/Pasted%20image%2020240609194518.png) - -Another interesting comment is: - -![](https://oss.justin3go.com/blogs/Pasted%20image%2020240609195322.png) -### [V2EX - Blog Aggregator VXNA](https://www.v2ex.com/xna) - -V2EX claims to be a community for creative workers, with a lot of exciting content and enthusiastic OPs. It maintains a daily active user count of around 5000, making it a great community. - -VXNA is a dedicated node for reading blogs. Blog owners can apply to display their blogs on V2EX, which can bring good traffic to personal blogs. Blog owners can give it a try. - -![](https://oss.justin3go.com/blogs/Pasted%20image%2020240609191649.png) - -## \>\> Useful Tools - -### [3D Parallax Hover Effects for Landing Pages](https://github.com/nolimits4web/atropos/) - -If you’re designing a landing page, check this out. It easily achieves 3D parallax hover effects and is compatible with almost all front-end frameworks (React, Vue, Solid...). It only requires 2KB to import and has zero dependencies, making it unbeatable (you can secretly use Atropos and amaze everyone 😂). - -The effect is indeed very impressive. You can experience it on the [Atroposjs official website](https://atroposjs.com/). - -![](https://oss.justin3go.com/blogs/Pasted%20image%2020240609195658.png) - -### [Awesome Cheat Sheets for Various Languages and Frameworks](https://github.com/LeCoupa/awesome-cheatsheets) - -I found a project with 38k stars on GitHub that includes cheat sheets for JS, Node, HTML, Django, Bash, Redis, Docker, K8S, Bash, Vim, and more! - -Each type contains a single file with the essential APIs you need to know. The framework APIs might be slightly outdated, but the language APIs are still worth a look. They are well-organized and great for review before interviews or for consolidating into your own notes. - -![](https://oss.justin3go.com/blogs/Pasted%20image%2020240609210159.png) - -### [Coolify - Open-source Self-hosted Alternative to Vercel](https://github.com/coollabsio/coolify) - -For me, anything open-source and self-hostable is good! After all, I like to tinker with things myself. If there are issues, I can contribute to PRs, which is nice. - -Coolify is an open-source, self-hosted alternative to Heroku / Netlify / Vercel. It now has nearly 20k stars on GitHub. The [Coolify official website](https://coolify.io/) mentions the following features: - -- **Any Language**: Coolify supports various programming languages and frameworks, allowing you to launch static websites, APIs, backends, databases, services, and other types of applications. -- **Any Server**: You can deploy resources to any server, including your own server, VPS, Raspberry Pi, EC2, DigitalOcean, Linode, Hetzner, and more. You just need an SSH connection. -- **Any Use Case**: Depending on your needs, you can deploy resources to a single server, multiple servers, or a Docker Swarm cluster (Kubernetes support is in progress!). -- Push Deployments: Provides integration with hosted and self-hosted platforms like GitHub, GitLab, Bitbucket, Gitea, etc. -- **Free SSL Certificates**: Coolify automatically sets up and updates Let's Encrypt SSL certificates to secure your custom domains, giving you peace of mind. -- **No Vendor Lock-in**: You have full control over your data. All configurations are stored on your server, so even if you stop using Coolify, you retain control. -- **Automatic Database Backups**: Your data is automatically backed up to any S3-compatible solution, and you can easily restore it with a few clicks if needed. -- **Webhooks**: Integrate into your CI/CD pipeline or create custom integrations using Github Actions, Gitlab CI, Bitbucket Pipelines, or any other CI/CD tool of your choice. -- **Powerful API**: Automate deployments, manage resources, and integrate with your current tools, offering limitless possibilities. -- **Collaboration**: Share your projects with team members and collaborate. You can also control permissions and roles for each member. -- **PR Deployments**: Automatically deploy new commits and pull requests for quick review and faster teamwork! -- **Server Automation**: Once your server is successfully connected, Coolify will automatically handle many tasks, allowing you to focus on your code. -- **Monitoring**: Coolify monitors your deployments, servers, disk usage, and more, notifying you of any issues. -- **Notifications**: Coolify notifies you of any events related to servers or deployments through your chosen channels (like Discord, Telegram, and email). - -### [2024 Front-end Developer Handbook](https://frontendmasters.com/guides/front-end-handbook/2024/) - -I looked at the table of contents, and it’s quite comprehensive. I'll bookmark it first, though I might not read it... - -### [Beautiful Website Backgrounds](https://bg.ibelick.com/) - -This [post](https://x.com/CoooolXyh/status/1798268341750317217) shares a website with preset backgrounds, and the comments mention some other sites: - -- [uvcanvas.com](https://uvcanvas.com/) -- [magicpattern.design](https://www.magicpattern.design/tools) - -You can try these when designing websites; they look great! - -![](https://oss.justin3go.com/blogs/Pasted%20image%2020240609192820.png) - -### [Open-source AI Content Search Engine Supporting Images and Videos](https://github.com/QmiAI/Qmedia) - -There are already many AI search engines, and many are open-source, but most only handle text. This one mainly handles images and short videos. Its features include but are not limited to: - -- Search for image and short video materials. -- Efficiently analyze image and short video content, integrating scattered information. -- Provide content sources and breakdowns of image and short video information, presenting information through content cards. -- Generate customized search results based on user interests and needs from image and short video content. -- Local deployment, enabling offline content search and Q&A for private data. - -![](https://oss.justin3go.com/blogs/Pasted%20image%2020240609193033.png) - -## \>\> Interesting - -### The Stone Meme 🏸 - -1. Shi Yuqi starts off poorly -2. Shi Yuqi loses rhythm -3. Shi Yuqi runs out of stamina -4. Shi Yuqi is in a desperate situation -5. Shi Yuqi delivers his victory speech - -Shi Yuqi is China's number one male singles player in the national badminton team. Watching his matches recently, I often see such situations, and netizens have summarized the above phrases 😂. - -The Olympics are coming soon, and I am really looking forward to exciting matches from the Chinese badminton team! -### CEO Jensen Huang’s Chest Signature - -NVIDIA’s market value soared, and CEO Jensen Huang was so happy that he signed on a female fan’s chest. The following picture has gone viral recently! - -![](https://oss.justin3go.com/blogs/Pasted%20image%2020240609203222.png) - -This [post](https://x.com/ai_for_success/status/1798232482988593295) includes the corresponding video. - -### VSCode’s Copilot Now Supports Voice - -Recently, [VSCode was updated](https://code.visualstudio.com/updates/v1_90#_vs-code-speech), including this feature. Now, developers won’t feel lonely; they can even chat while coding! 😂 - -![](https://oss.justin3go.com/blogs/Pasted%20image%2020240609205632.png) - -## \>\> Readable - -### [The Explainability of GPT4](https://openai.com/index/extracting-concepts-from-gpt-4/) - -As we all know, AI has always been more about engineering practice than theory, which is why it’s often mocked as alchemy, because you don’t know why the parameters you adjust work better. This article from OpenAI attempts to explain GPT4. - -### [The Most Convenient Donation Collection Method in China](https://indiehackertools.net/tools/wechat-appreciation-code) - -WeChat Appreciation Code is the most convenient method for collecting donations in China. It allows setting 6 fixed donation amounts and supports user-defined donation amounts. Additionally, it is interconnected with international WeChat donations and is fee-free. It is suitable for websites targeting Chinese users for donation collection. - -### [Some Notes on Influencing](https://lcamtuf.substack.com/p/some-notes-on-influenceering) - -The main points are as follows: - -1. The road is long and difficult. -2. There are many trolls. -3. Don’t waste too much of your breath. -4. The number of followers does not equate to influence. -5. Monetizing content. - -### Tips for Handling Sports Injuries - -Sharing my experiences of recovering from three sports-related ankle sprains. - -- The first time, I didn’t know how to handle it, so I bought Yunnan Baiyao and sprayed it. As a result, it took more than a month to fully recover! -- The second and third times, I immediately applied ice to the injury, and after 24 hours, applied heat. I recovered in a week. - -When you’re tired, stop exercising. When you’re not focused, your movements are more likely to be off during confrontations, such as dragging your feet, which can lead to sprains. - -Finally, strengthen your muscles!