Hema Shushu is a deeply analytical mind passionate about programming, electronics, mechanics, and hand drawing, delivering content that’s rich in technical detail and clarity. With a focus on making complex topics accessible, Hema shares tutorials, book recommendations, and code breakdowns to educate and inspire. Their engagement style is methodical and informative, reflecting a love for precision and practical learning.
Hema’s handwriting in the code comments is probably clearer than their Twitter bio—maybe focus less on perfecting every pixel in your diagrams and more on letting your personality leak into your tweets. Even bots need a little flair sometimes!
Hema’s tweet about the handcrafted C-written FNN digit recognition program hit over 190,000 views with nearly 800 likes, proving their detailed, zero-dependency approach truly resonates with the tech community.
Hema’s life purpose is to demystify complex technical subjects through careful explanation and visual aids, empowering their community to learn systems programming, AI, and electronics with clarity and confidence.
They believe knowledge should be shared in an accessible, no-nonsense way, valuing depth, accuracy, and hands-on understanding over flashy trends or hype. Persistence, patience, and sincere effort are central to their approach.
Hema’s greatest strength is their ability to break down highly technical material into digestible content, combined with a rare blend of technical skill and artistic presentation that keeps their audience engaged and learning.
The main weakness is a tendency to invest enormous time in perfecting visuals and details, which could slow down content output or make rapid response to trends more challenging.
To grow on X, Hema should mix in more interactive, bite-sized content like quick coding tips or mini-challenges that invite follower participation, while using visual threads to highlight their unique hand-drawing style.
Fun fact: Hema once shared that creating just three hand-drawn images a day to complement their technical articles was their absolute limit, showing their dedication to blending artistry with programming.
{"data":{"__meta":{"device":false,"path":"/creators/hemashushu"},"/creators/hemashushu":{"data":{"user":{"id":"152682525","name":"Hema shushu","description":"Interested in programming, electronics, mechanics, and hand drawing.\n\nblog: https://t.co/O70YitimtH\nbackup: https://t.co/Fu5pufJ3fw","followers_count":13956,"friends_count":182,"statuses_count":4293,"profile_image_url_https":"https://pbs.twimg.com/profile_images/532876409987813377/mdhchUId_normal.png","screen_name":"hemashushu","location":"Proxima Centauri","entities":{"description":{"urls":[{"display_url":"hemashushu.github.io","expanded_url":"https://hemashushu.github.io","url":"https://t.co/O70YitimtH","indices":[76,99]},{"display_url":"mastodon.social/@hemashushu","expanded_url":"https://mastodon.social/@hemashushu","url":"https://t.co/Fu5pufJ3fw","indices":[108,131]}]},"url":{"urls":[{"display_url":"hemashushu.github.io","expanded_url":"https://hemashushu.github.io/","url":"https://t.co/2zoKxt6iiF","indices":[0,23]}]}}},"details":{"type":"The Analyst","description":"Hema Shushu is a deeply analytical mind passionate about programming, electronics, mechanics, and hand drawing, delivering content that’s rich in technical detail and clarity. With a focus on making complex topics accessible, Hema shares tutorials, book recommendations, and code breakdowns to educate and inspire. Their engagement style is methodical and informative, reflecting a love for precision and practical learning.","facts":"Fun fact: Hema once shared that creating just three hand-drawn images a day to complement their technical articles was their absolute limit, showing their dedication to blending artistry with programming.","purpose":"Hema’s life purpose is to demystify complex technical subjects through careful explanation and visual aids, empowering their community to learn systems programming, AI, and electronics with clarity and confidence.","beliefs":"They believe knowledge should be shared in an accessible, no-nonsense way, valuing depth, accuracy, and hands-on understanding over flashy trends or hype. Persistence, patience, and sincere effort are central to their approach.","strength":"Hema’s greatest strength is their ability to break down highly technical material into digestible content, combined with a rare blend of technical skill and artistic presentation that keeps their audience engaged and learning.","weakness":"The main weakness is a tendency to invest enormous time in perfecting visuals and details, which could slow down content output or make rapid response to trends more challenging.","recommendation":"To grow on X, Hema should mix in more interactive, bite-sized content like quick coding tips or mini-challenges that invite follower participation, while using visual threads to highlight their unique hand-drawing style.","roast":"Hema’s handwriting in the code comments is probably clearer than their Twitter bio—maybe focus less on perfecting every pixel in your diagrams and more on letting your personality leak into your tweets. Even bots need a little flair sometimes!","win":"Hema’s tweet about the handcrafted C-written FNN digit recognition program hit over 190,000 views with nearly 800 likes, proving their detailed, zero-dependency approach truly resonates with the tech community."},"tweets":[{"bookmarked":false,"display_text_range":[0,142],"entities":{"hashtags":[],"media":[{"display_url":"pic.x.com/t4Cqt47Y75","expanded_url":"https://x.com/hemashushu/status/1763049567648702465/photo/1","id_str":"1763047791482593280","indices":[143,166],"media_key":"3_1763047791482593280","media_url_https":"https://pbs.twimg.com/media/GHeaoBVbYAAXJ5y.jpg","type":"photo","url":"https://t.co/t4Cqt47Y75","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":1024,"w":768,"resize":"fit"},"medium":{"h":1024,"w":768,"resize":"fit"},"small":{"h":680,"w":510,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":1024,"width":768,"focus_rects":[{"x":0,"y":0,"w":768,"h":430},{"x":0,"y":0,"w":768,"h":768},{"x":0,"y":0,"w":768,"h":876},{"x":256,"y":0,"w":512,"h":1024},{"x":0,"y":0,"w":768,"h":1024}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1763047791482593280"}}}],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[]},"extended_entities":{"media":[{"display_url":"pic.x.com/t4Cqt47Y75","expanded_url":"https://x.com/hemashushu/status/1763049567648702465/photo/1","id_str":"1763047791482593280","indices":[143,166],"media_key":"3_1763047791482593280","media_url_https":"https://pbs.twimg.com/media/GHeaoBVbYAAXJ5y.jpg","type":"photo","url":"https://t.co/t4Cqt47Y75","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":1024,"w":768,"resize":"fit"},"medium":{"h":1024,"w":768,"resize":"fit"},"small":{"h":680,"w":510,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":1024,"width":768,"focus_rects":[{"x":0,"y":0,"w":768,"h":430},{"x":0,"y":0,"w":768,"h":768},{"x":0,"y":0,"w":768,"h":876},{"x":256,"y":0,"w":512,"h":1024},{"x":0,"y":0,"w":768,"h":1024}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1763047791482593280"}}}]},"favorited":false,"lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1763049567648702465","view_count":103394,"bookmark_count":740,"created_at":1709178747000,"favorite_count":1030,"quote_count":2,"reply_count":22,"retweet_count":220,"user_id_str":"152682525","conversation_id_str":"1763049567648702465","full_text":"在书店无意中刷到这本书,内容真不错,推荐一下。\n\n它最大特点是配有大量的图片,比如引导和启动过程,每个步骤内存里的布局和内容是什么,都用图片画出来了,非常直接明了。\n\n我早前也写过类似的文章,但实在太难了,制作图片要花巨量的时间,一天画三张已到极限后面还要修改。可想这书花了多少精力。 https://t.co/t4Cqt47Y75","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,167],"entities":{"hashtags":[],"media":[{"display_url":"pic.x.com/S1IvEtmEpc","expanded_url":"https://x.com/hemashushu/status/1902874682933776449/photo/1","id_str":"1902874442260418560","indices":[168,191],"media_key":"3_1902874442260418560","media_url_https":"https://pbs.twimg.com/media/GmheOS8aEAAlSqC.jpg","type":"photo","url":"https://t.co/S1IvEtmEpc","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":1500,"w":1045,"resize":"fit"},"medium":{"h":1200,"w":836,"resize":"fit"},"small":{"h":680,"w":474,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":1500,"width":1045,"focus_rects":[{"x":0,"y":0,"w":1045,"h":585},{"x":0,"y":0,"w":1045,"h":1045},{"x":0,"y":0,"w":1045,"h":1191},{"x":0,"y":0,"w":750,"h":1500},{"x":0,"y":0,"w":1045,"h":1500}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1902874442260418560"}}}],"symbols":[],"timestamps":[],"urls":[{"display_url":"oreilly.com/library/view/d…","expanded_url":"https://www.oreilly.com/library/view/deep-learning-python/9784873117584/","url":"https://t.co/pqlLY36Ehd","indices":[144,167]}],"user_mentions":[]},"extended_entities":{"media":[{"display_url":"pic.x.com/S1IvEtmEpc","expanded_url":"https://x.com/hemashushu/status/1902874682933776449/photo/1","id_str":"1902874442260418560","indices":[168,191],"media_key":"3_1902874442260418560","media_url_https":"https://pbs.twimg.com/media/GmheOS8aEAAlSqC.jpg","type":"photo","url":"https://t.co/S1IvEtmEpc","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":1500,"w":1045,"resize":"fit"},"medium":{"h":1200,"w":836,"resize":"fit"},"small":{"h":680,"w":474,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":1500,"width":1045,"focus_rects":[{"x":0,"y":0,"w":1045,"h":585},{"x":0,"y":0,"w":1045,"h":1045},{"x":0,"y":0,"w":1045,"h":1191},{"x":0,"y":0,"w":750,"h":1500},{"x":0,"y":0,"w":1045,"h":1500}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1902874442260418560"}}}]},"favorited":false,"lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"quoted_status_id_str":"1902462458071048443","quoted_status_permalink":{"url":"https://t.co/NV6DBrW59a","expanded":"https://twitter.com/tsotchke/status/1902462458071048443","display":"x.com/tsotchke/statu…"},"retweeted":false,"fact_check":null,"id":"1902874682933776449","view_count":191348,"bookmark_count":779,"created_at":1742515652000,"favorite_count":791,"quote_count":5,"reply_count":13,"retweet_count":140,"user_id_str":"152682525","conversation_id_str":"1902874682933776449","full_text":"这是一个纯 C 写的 FNN 手写数字识别(MNIST)程序,无任何依赖库,CPU 计算精度达 99%。代码写得非常简单易懂。\n想了解其原理的话可以看《深度学习入门 基于python的理论与实现》by 斎藤康毅 的前4章,它从零开始一步步讲解的。(这本书极力推荐,无任何依赖库,纯手写)\nhttps://t.co/pqlLY36Ehd https://t.co/S1IvEtmEpc","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":1,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,177],"entities":{"hashtags":[],"media":[{"display_url":"pic.x.com/y7mQaYxAcO","expanded_url":"https://x.com/hemashushu/status/1987684873579229366/photo/1","id_str":"1987684496427331584","indices":[178,201],"media_key":"3_1987684496427331584","media_url_https":"https://pbs.twimg.com/media/G5WshK8aMAAkKjq.jpg","type":"photo","url":"https://t.co/y7mQaYxAcO","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":2048,"w":605,"resize":"fit"},"medium":{"h":1200,"w":354,"resize":"fit"},"small":{"h":680,"w":201,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":4096,"width":1209,"focus_rects":[{"x":0,"y":2017,"w":1209,"h":677},{"x":0,"y":1751,"w":1209,"h":1209},{"x":0,"y":1666,"w":1209,"h":1378},{"x":0,"y":1146,"w":1209,"h":2418},{"x":0,"y":0,"w":1209,"h":4096}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1987684496427331584"}}},{"display_url":"pic.x.com/y7mQaYxAcO","expanded_url":"https://x.com/hemashushu/status/1987684873579229366/photo/1","id_str":"1987684745992691712","indices":[178,201],"media_key":"3_1987684745992691712","media_url_https":"https://pbs.twimg.com/media/G5WsvspbYAAVTFM.jpg","type":"photo","url":"https://t.co/y7mQaYxAcO","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":864,"w":1493,"resize":"fit"},"medium":{"h":694,"w":1200,"resize":"fit"},"small":{"h":394,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":864,"width":1493,"focus_rects":[{"x":0,"y":0,"w":1493,"h":836},{"x":0,"y":0,"w":864,"h":864},{"x":0,"y":0,"w":758,"h":864},{"x":45,"y":0,"w":432,"h":864},{"x":0,"y":0,"w":1493,"h":864}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1987684745992691712"}}}],"symbols":[],"timestamps":[],"urls":[{"display_url":"build-your-own.org/redis/","expanded_url":"https://build-your-own.org/redis/","url":"https://t.co/6mVtSlCXnB","indices":[154,177]}],"user_mentions":[]},"extended_entities":{"media":[{"display_url":"pic.x.com/y7mQaYxAcO","expanded_url":"https://x.com/hemashushu/status/1987684873579229366/photo/1","id_str":"1987684496427331584","indices":[178,201],"media_key":"3_1987684496427331584","media_url_https":"https://pbs.twimg.com/media/G5WshK8aMAAkKjq.jpg","type":"photo","url":"https://t.co/y7mQaYxAcO","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":2048,"w":605,"resize":"fit"},"medium":{"h":1200,"w":354,"resize":"fit"},"small":{"h":680,"w":201,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":4096,"width":1209,"focus_rects":[{"x":0,"y":2017,"w":1209,"h":677},{"x":0,"y":1751,"w":1209,"h":1209},{"x":0,"y":1666,"w":1209,"h":1378},{"x":0,"y":1146,"w":1209,"h":2418},{"x":0,"y":0,"w":1209,"h":4096}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1987684496427331584"}}},{"display_url":"pic.x.com/y7mQaYxAcO","expanded_url":"https://x.com/hemashushu/status/1987684873579229366/photo/1","id_str":"1987684745992691712","indices":[178,201],"media_key":"3_1987684745992691712","media_url_https":"https://pbs.twimg.com/media/G5WsvspbYAAVTFM.jpg","type":"photo","url":"https://t.co/y7mQaYxAcO","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":864,"w":1493,"resize":"fit"},"medium":{"h":694,"w":1200,"resize":"fit"},"small":{"h":394,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":864,"width":1493,"focus_rects":[{"x":0,"y":0,"w":1493,"h":836},{"x":0,"y":0,"w":864,"h":864},{"x":0,"y":0,"w":758,"h":864},{"x":45,"y":0,"w":432,"h":864},{"x":0,"y":0,"w":1493,"h":864}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1987684745992691712"}}}]},"favorited":false,"lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1987684873579229366","view_count":57766,"bookmark_count":855,"created_at":1762735977000,"favorite_count":721,"quote_count":4,"reply_count":9,"retweet_count":155,"user_id_str":"152682525","conversation_id_str":"1987684873579229366","full_text":"分享一个非常适合入门 Linux 编程的教程《Build Your Own Redis with C/C++》\n\n这个教程的特点是将知识点讲得非常细致,生怕你看不懂,同时循序渐进地展开怕你中途放弃。从 socket/tcp 开始,讲到并发(异步)、散列表、序列化、快取等,可谓非常全面,非常适合用来练手。\n\nhttps://t.co/6mVtSlCXnB https://t.co/y7mQaYxAcO","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,165],"entities":{"hashtags":[],"media":[{"display_url":"pic.x.com/vqu5mpxh5i","expanded_url":"https://twitter.com/hemashushu/status/1684828603702501376/photo/1","id_str":"1684824610259554304","indices":[166,189],"media_key":"3_1684824610259554304","media_url_https":"https://pbs.twimg.com/media/F2GzDnNbUAAqO-d.jpg","type":"photo","url":"https://t.co/VQU5mPxh5I","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[{"x":355,"y":327,"h":71,"w":71}]},"medium":{"faces":[{"x":208,"y":191,"h":42,"w":42}]},"small":{"faces":[{"x":118,"y":108,"h":23,"w":23}]},"orig":{"faces":[{"x":672,"y":619,"h":136,"w":136}]}},"sizes":{"large":{"h":1151,"w":2048,"resize":"fit"},"medium":{"h":675,"w":1200,"resize":"fit"},"small":{"h":382,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":2176,"width":3871,"focus_rects":[{"x":0,"y":0,"w":3871,"h":2168},{"x":1695,"y":0,"w":2176,"h":2176},{"x":1962,"y":0,"w":1909,"h":2176},{"x":2454,"y":0,"w":1088,"h":2176},{"x":0,"y":0,"w":3871,"h":2176}]},"media_results":{"result":{"media_key":"3_1684824610259554304"}}}],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[]},"extended_entities":{"media":[{"display_url":"pic.twitter.com/VQU5mPxh5I","expanded_url":"https://twitter.com/hemashushu/status/1684828603702501376/photo/1","id_str":"1684824610259554304","indices":[166,189],"media_key":"3_1684824610259554304","media_url_https":"https://pbs.twimg.com/media/F2GzDnNbUAAqO-d.jpg","type":"photo","url":"https://t.co/VQU5mPxh5I","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[{"x":355,"y":327,"h":71,"w":71}]},"medium":{"faces":[{"x":208,"y":191,"h":42,"w":42}]},"small":{"faces":[{"x":118,"y":108,"h":23,"w":23}]},"orig":{"faces":[{"x":672,"y":619,"h":136,"w":136}]}},"sizes":{"large":{"h":1151,"w":2048,"resize":"fit"},"medium":{"h":675,"w":1200,"resize":"fit"},"small":{"h":382,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":2176,"width":3871,"focus_rects":[{"x":0,"y":0,"w":3871,"h":2168},{"x":1695,"y":0,"w":2176,"h":2176},{"x":1962,"y":0,"w":1909,"h":2176},{"x":2454,"y":0,"w":1088,"h":2176},{"x":0,"y":0,"w":3871,"h":2176}]},"media_results":{"result":{"media_key":"3_1684824610259554304"}}}]},"favorited":false,"lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1684828603702501376","view_count":118489,"bookmark_count":334,"created_at":1690529416000,"favorite_count":592,"quote_count":2,"reply_count":15,"retweet_count":119,"user_id_str":"152682525","conversation_id_str":"1684828603702501376","full_text":"有没被满屏 AI 之类的帖子弄烦了?要不试试系统编程,找回自己的专注力?趁周末到来推荐三本非常nice,友善的书\n\n1. Linux 系统编程\n这本重点讲解和演示系统调用(syscall),linux的300来个系统调用当中,常用的基本都覆盖到了,推荐把它摆在枕头旁边,配合man(2)服用。\n\n2. Unix 环境高级编程\n(续 https://t.co/VQU5mPxh5I","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,173],"entities":{"hashtags":[],"media":[{"display_url":"pic.x.com/bpLVBvEoEF","expanded_url":"https://x.com/hemashushu/status/1903637715976962320/photo/1","id_str":"1903635895494033408","indices":[174,197],"media_key":"3_1903635895494033408","media_url_https":"https://pbs.twimg.com/media/GmsSwtSawAAJzcv.jpg","type":"photo","url":"https://t.co/bpLVBvEoEF","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[{"x":803,"y":119,"h":71,"w":71}]},"medium":{"faces":[{"x":470,"y":70,"h":41,"w":41}]},"small":{"faces":[{"x":266,"y":39,"h":23,"w":23}]},"orig":{"faces":[{"x":1582,"y":236,"h":141,"w":141}]}},"sizes":{"large":{"h":1152,"w":2048,"resize":"fit"},"medium":{"h":675,"w":1200,"resize":"fit"},"small":{"h":383,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":2268,"width":4032,"focus_rects":[{"x":0,"y":0,"w":4032,"h":2258},{"x":1184,"y":0,"w":2268,"h":2268},{"x":1324,"y":0,"w":1989,"h":2268},{"x":1751,"y":0,"w":1134,"h":2268},{"x":0,"y":0,"w":4032,"h":2268}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1903635895494033408"}}}],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[]},"extended_entities":{"media":[{"display_url":"pic.x.com/bpLVBvEoEF","expanded_url":"https://x.com/hemashushu/status/1903637715976962320/photo/1","id_str":"1903635895494033408","indices":[174,197],"media_key":"3_1903635895494033408","media_url_https":"https://pbs.twimg.com/media/GmsSwtSawAAJzcv.jpg","type":"photo","url":"https://t.co/bpLVBvEoEF","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[{"x":803,"y":119,"h":71,"w":71}]},"medium":{"faces":[{"x":470,"y":70,"h":41,"w":41}]},"small":{"faces":[{"x":266,"y":39,"h":23,"w":23}]},"orig":{"faces":[{"x":1582,"y":236,"h":141,"w":141}]}},"sizes":{"large":{"h":1152,"w":2048,"resize":"fit"},"medium":{"h":675,"w":1200,"resize":"fit"},"small":{"h":383,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":2268,"width":4032,"focus_rects":[{"x":0,"y":0,"w":4032,"h":2258},{"x":1184,"y":0,"w":2268,"h":2268},{"x":1324,"y":0,"w":1989,"h":2268},{"x":1751,"y":0,"w":1134,"h":2268},{"x":0,"y":0,"w":4032,"h":2268}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1903635895494033408"}}}]},"favorited":false,"lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"quoted_status_id_str":"1902874682933776449","quoted_status_permalink":{"url":"https://t.co/qZB7KTUS0Y","expanded":"https://twitter.com/hemashushu/status/1902874682933776449","display":"x.com/hemashushu/sta…"},"retweeted":false,"fact_check":null,"id":"1903637715976962320","view_count":67996,"bookmark_count":502,"created_at":1742697574000,"favorite_count":559,"quote_count":2,"reply_count":7,"retweet_count":97,"user_id_str":"152682525","conversation_id_str":"1903637715976962320","full_text":"没想到上一个帖这么多小爱心,那么我再推一本吧:\n\n《Deep Learning with Python》by francois chollet\n\n我心中的 ai 去 魅 三 人 之一\n\n跟上一本一样,这书不教你如何用 ai 赚钱,不教如何使用某个框架,或者调用API,它讲原理和实践,假如你有充足耐心,用最简单的工具也可以一步步写出自己的 ai。 https://t.co/bpLVBvEoEF","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":1,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,122],"entities":{"hashtags":[{"indices":[112,122],"text":"yu_writer"}],"media":[{"display_url":"pic.x.com/ODhjR1Kaox","expanded_url":"https://x.com/ivarptr/status/841857900016418816/photo/1","id_str":"841857097759248385","indices":[123,146],"media_key":"3_841857097759248385","media_url_https":"https://pbs.twimg.com/media/C67gke-U0AEy3lA.png","type":"photo","url":"https://t.co/ODhjR1Kaox","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":1340,"w":2048,"resize":"fit"},"medium":{"h":785,"w":1200,"resize":"fit"},"small":{"h":445,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":1664,"width":2544,"focus_rects":[]},"media_results":{"result":{"media_key":"3_841857097759248385"}}}],"symbols":[],"timestamps":[],"urls":[{"display_url":"ivarptr.github.io/yu-writer.site/","expanded_url":"https://ivarptr.github.io/yu-writer.site/","url":"https://t.co/O88cB8LPiY","indices":[87,110]}],"user_mentions":[]},"extended_entities":{"media":[{"display_url":"pic.x.com/ODhjR1Kaox","expanded_url":"https://x.com/ivarptr/status/841857900016418816/photo/1","id_str":"841857097759248385","indices":[123,146],"media_key":"3_841857097759248385","media_url_https":"https://pbs.twimg.com/media/C67gke-U0AEy3lA.png","type":"photo","url":"https://t.co/ODhjR1Kaox","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":1340,"w":2048,"resize":"fit"},"medium":{"h":785,"w":1200,"resize":"fit"},"small":{"h":445,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":1664,"width":2544,"focus_rects":[]},"media_results":{"result":{"media_key":"3_841857097759248385"}}}]},"favorited":false,"lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"841857900016418816","view_count":0,"bookmark_count":3,"created_at":1489549538000,"favorite_count":542,"quote_count":38,"reply_count":49,"retweet_count":304,"user_id_str":"152682525","conversation_id_str":"841857900016418816","full_text":"2016 年一整年就写了这么个程序,一个给博客(wordpress or github pages)博主或者经常书写文章的作者使用文字编辑器,终于可以下载了,求安慰,求鼓励 https://t.co/O88cB8LPiY\n\n#yu_writer https://t.co/ODhjR1Kaox","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,166],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[{"display_url":"fabiensanglard.net/dc/index.php","expanded_url":"https://fabiensanglard.net/dc/index.php","url":"https://t.co/ZscmUExjLl","indices":[143,166]}],"user_mentions":[]},"favorited":false,"lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1918963116789944388","view_count":32988,"bookmark_count":517,"created_at":1746351434000,"favorite_count":423,"quote_count":0,"reply_count":6,"retweet_count":86,"user_id_str":"152682525","conversation_id_str":"1918963116789944388","full_text":"这篇文章《Driving Compilers》介绍了编译型的语言(比如C、Rust)从源代码转变为可执行程序背后到底经历了什么。这些内容往往是编程语言书籍和教程漏掉的部分。\n\n文章分5个小节介绍预处理器、编译、链接、加载,看完就明白比如为什么链接时库的顺序会导致错误等“奇怪”问题。\n\nhttps://t.co/ZscmUExjLl","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,157],"entities":{"hashtags":[],"media":[{"display_url":"pic.x.com/OH6cuCrAV4","expanded_url":"https://x.com/hemashushu/status/1873602927664984320/photo/1","id_str":"1873598104408293376","indices":[158,181],"media_key":"3_1873598104408293376","media_url_https":"https://pbs.twimg.com/media/GgBbjJkaAAAI3Mf.jpg","type":"photo","url":"https://t.co/OH6cuCrAV4","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":630,"w":477,"resize":"fit"},"medium":{"h":630,"w":477,"resize":"fit"},"small":{"h":630,"w":477,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":630,"width":477,"focus_rects":[{"x":0,"y":0,"w":477,"h":267},{"x":0,"y":0,"w":477,"h":477},{"x":0,"y":0,"w":477,"h":544},{"x":162,"y":0,"w":315,"h":630},{"x":0,"y":0,"w":477,"h":630}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1873598104408293376"}}}],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[]},"extended_entities":{"media":[{"display_url":"pic.x.com/OH6cuCrAV4","expanded_url":"https://x.com/hemashushu/status/1873602927664984320/photo/1","id_str":"1873598104408293376","indices":[158,181],"media_key":"3_1873598104408293376","media_url_https":"https://pbs.twimg.com/media/GgBbjJkaAAAI3Mf.jpg","type":"photo","url":"https://t.co/OH6cuCrAV4","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":630,"w":477,"resize":"fit"},"medium":{"h":630,"w":477,"resize":"fit"},"small":{"h":630,"w":477,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":630,"width":477,"focus_rects":[{"x":0,"y":0,"w":477,"h":267},{"x":0,"y":0,"w":477,"h":477},{"x":0,"y":0,"w":477,"h":544},{"x":162,"y":0,"w":315,"h":630},{"x":0,"y":0,"w":477,"h":630}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1873598104408293376"}}}]},"favorited":false,"lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1873602927664984320","view_count":36853,"bookmark_count":386,"created_at":1735536722000,"favorite_count":327,"quote_count":1,"reply_count":4,"retweet_count":48,"user_id_str":"152682525","conversation_id_str":"1873602927664984320","full_text":"🏆2024年度好书🏆\n\n我也不免俗地来两本,同样的,还是选好玩但没啥用的。(之所以拖到现在是因为之前还差几章没看完 :D,现在看完了小伙伴大致可以放心服用了)\n1. 《Building a Debugger by Sy Brand》这本书教你制作一个调试器(诸如gdb, lldb),题材比较新颖,涉及内容超多(续 https://t.co/OH6cuCrAV4","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,173],"entities":{"hashtags":[{"indices":[3,12],"text":"YuWriter"},{"indices":[71,80],"text":"Markdown"},{"indices":[121,127],"text":"LaTeX"}],"media":[{"display_url":"pic.x.com/zO1MvMb5et","expanded_url":"https://x.com/ivarptr/status/1033954573663141889/photo/1","id_str":"1033954487927336961","indices":[174,197],"media_key":"3_1033954487927336961","media_url_https":"https://pbs.twimg.com/media/DllYIO7UcAEW4d2.jpg","type":"photo","url":"https://t.co/zO1MvMb5et","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[{"x":379,"y":825,"h":176,"w":176},{"x":784,"y":633,"h":197,"w":197},{"x":1640,"y":171,"h":352,"w":352}]},"medium":{"faces":[{"x":222,"y":483,"h":103,"w":103},{"x":459,"y":371,"h":115,"w":115},{"x":960,"y":100,"h":206,"w":206}]},"small":{"faces":[{"x":126,"y":274,"h":58,"w":58},{"x":260,"y":210,"h":65,"w":65},{"x":544,"y":57,"h":116,"w":116}]},"orig":{"faces":[{"x":712,"y":1548,"h":330,"w":330},{"x":1470,"y":1188,"h":371,"w":371},{"x":3075,"y":322,"h":660,"w":660}]}},"sizes":{"large":{"h":1152,"w":2048,"resize":"fit"},"medium":{"h":675,"w":1200,"resize":"fit"},"small":{"h":383,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":2160,"width":3840,"focus_rects":[{"x":0,"y":0,"w":3840,"h":2150},{"x":0,"y":0,"w":2160,"h":2160},{"x":109,"y":0,"w":1895,"h":2160},{"x":516,"y":0,"w":1080,"h":2160},{"x":0,"y":0,"w":3840,"h":2160}]},"media_results":{"result":{"media_key":"3_1033954487927336961"}}}],"symbols":[],"timestamps":[],"urls":[{"display_url":"ivarptr.github.io/yu-writer.site/","expanded_url":"https://ivarptr.github.io/yu-writer.site/","url":"https://t.co/O88cB8LPiY","indices":[150,173]}],"user_mentions":[]},"extended_entities":{"media":[{"display_url":"pic.x.com/zO1MvMb5et","expanded_url":"https://x.com/ivarptr/status/1033954573663141889/photo/1","id_str":"1033954487927336961","indices":[174,197],"media_key":"3_1033954487927336961","media_url_https":"https://pbs.twimg.com/media/DllYIO7UcAEW4d2.jpg","type":"photo","url":"https://t.co/zO1MvMb5et","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[{"x":379,"y":825,"h":176,"w":176},{"x":784,"y":633,"h":197,"w":197},{"x":1640,"y":171,"h":352,"w":352}]},"medium":{"faces":[{"x":222,"y":483,"h":103,"w":103},{"x":459,"y":371,"h":115,"w":115},{"x":960,"y":100,"h":206,"w":206}]},"small":{"faces":[{"x":126,"y":274,"h":58,"w":58},{"x":260,"y":210,"h":65,"w":65},{"x":544,"y":57,"h":116,"w":116}]},"orig":{"faces":[{"x":712,"y":1548,"h":330,"w":330},{"x":1470,"y":1188,"h":371,"w":371},{"x":3075,"y":322,"h":660,"w":660}]}},"sizes":{"large":{"h":1152,"w":2048,"resize":"fit"},"medium":{"h":675,"w":1200,"resize":"fit"},"small":{"h":383,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":2160,"width":3840,"focus_rects":[{"x":0,"y":0,"w":3840,"h":2150},{"x":0,"y":0,"w":2160,"h":2160},{"x":109,"y":0,"w":1895,"h":2160},{"x":516,"y":0,"w":1080,"h":2160},{"x":0,"y":0,"w":3840,"h":2160}]},"media_results":{"result":{"media_key":"3_1033954487927336961"}}}]},"favorited":false,"lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1033954573663141889","view_count":0,"bookmark_count":16,"created_at":1535348954000,"favorite_count":298,"quote_count":11,"reply_count":45,"retweet_count":102,"user_id_str":"152682525","conversation_id_str":"1033954573663141889","full_text":"发布 #YuWriter 0.5.3,这个版本修复 bug 或改进共 50 多项,应该是比较稳定的。我重新介绍一下:这是一个文本编辑器,支持 #Markdown、内置基于文件系统的文档库、独立的编辑历史记录、支持表格、图表(如柱形图、饼图)、#LaTeX 数学公式等,适合写技术文档或论文、文章等。\nhttps://t.co/O88cB8LPiY https://t.co/zO1MvMb5et","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,163],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[]},"favorited":false,"lang":"zh","retweeted":false,"fact_check":null,"id":"1973311859072921927","view_count":44154,"bookmark_count":317,"created_at":1759309184000,"favorite_count":293,"quote_count":0,"reply_count":9,"retweet_count":43,"user_id_str":"152682525","conversation_id_str":"1973311859072921927","full_text":"google 的 cdc-file-transfer 是一个文件同步程序,亮点是比 rsync 的速度快几倍。那么它是如何实现的呢?\n\nrsync 是一个非常悠久且高效的远程文件(夹)同步程序,当它发现某个文件数据改变需要传输新内容时,它并不会整个文件上传,而是把文件按照固定大小(比如100 kb)切分并结算每一块的hash","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,165],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[{"display_url":"blog.tartanllama.xyz/writing-a-linu…","expanded_url":"https://blog.tartanllama.xyz/writing-a-linux-debugger-setup/","url":"https://t.co/ObVDQNk8Nl","indices":[139,162]}],"user_mentions":[]},"favorited":false,"lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"quoted_status_id_str":"1819395962596462872","quoted_status_permalink":{"url":"https://t.co/TniQAfX2MA","expanded":"https://twitter.com/TartanLlama/status/1819395962596462872","display":"x.com/TartanLlama/st…"},"retweeted":false,"fact_check":null,"id":"1820655307770773935","view_count":24404,"bookmark_count":200,"created_at":1722913026000,"favorite_count":285,"quote_count":0,"reply_count":2,"retweet_count":87,"user_id_str":"152682525","conversation_id_str":"1820655307770773935","full_text":"发现一本有趣的书:教你写一个调试器!\n\n可能大家都很熟悉GDB调试器了,查看寄存器、内存、汇编不在话下,但GDB本身的工作原理是怎样的呢?早前用OpenOCD连接到MCU,欣喜地发现了cpu调试/中断的原理,后来也手写个简单调试器,非常有意思。\n作者有把书的内容发在blog上:https://t.co/ObVDQNk8Nl (续","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":1,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,173],"entities":{"hashtags":[{"indices":[77,83],"text":"NixOS"}],"media":[{"display_url":"pic.x.com/QlLT4B1qW7","expanded_url":"https://x.com/hemashushu/status/1920331518276223086/photo/1","id_str":"1920330292759343104","indices":[174,197],"media_key":"3_1920330292759343104","media_url_https":"https://pbs.twimg.com/media/GqZiOhdXsAAzpOB.jpg","type":"photo","url":"https://t.co/QlLT4B1qW7","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[{"x":803,"y":843,"h":112,"w":112},{"x":1507,"y":656,"h":136,"w":136}]},"medium":{"faces":[{"x":470,"y":494,"h":65,"w":65},{"x":883,"y":384,"h":79,"w":79}]},"small":{"faces":[{"x":266,"y":280,"h":37,"w":37},{"x":500,"y":217,"h":45,"w":45}]},"orig":{"faces":[{"x":1507,"y":1582,"h":210,"w":210},{"x":2827,"y":1230,"h":255,"w":255}]}},"sizes":{"large":{"h":1152,"w":2048,"resize":"fit"},"medium":{"h":675,"w":1200,"resize":"fit"},"small":{"h":383,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":2160,"width":3840,"focus_rects":[{"x":0,"y":10,"w":3840,"h":2150},{"x":360,"y":0,"w":2160,"h":2160},{"x":493,"y":0,"w":1895,"h":2160},{"x":900,"y":0,"w":1080,"h":2160},{"x":0,"y":0,"w":3840,"h":2160}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1920330292759343104"}}}],"symbols":[],"timestamps":[],"urls":[{"display_url":"gist.github.com/hemashushu/998…","expanded_url":"https://gist.github.com/hemashushu/99891415f398e5f96ff131a5c7b215c3","url":"https://t.co/KhLTKoMnY5","indices":[16,39]}],"user_mentions":[]},"extended_entities":{"media":[{"display_url":"pic.x.com/QlLT4B1qW7","expanded_url":"https://x.com/hemashushu/status/1920331518276223086/photo/1","id_str":"1920330292759343104","indices":[174,197],"media_key":"3_1920330292759343104","media_url_https":"https://pbs.twimg.com/media/GqZiOhdXsAAzpOB.jpg","type":"photo","url":"https://t.co/QlLT4B1qW7","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[{"x":803,"y":843,"h":112,"w":112},{"x":1507,"y":656,"h":136,"w":136}]},"medium":{"faces":[{"x":470,"y":494,"h":65,"w":65},{"x":883,"y":384,"h":79,"w":79}]},"small":{"faces":[{"x":266,"y":280,"h":37,"w":37},{"x":500,"y":217,"h":45,"w":45}]},"orig":{"faces":[{"x":1507,"y":1582,"h":210,"w":210},{"x":2827,"y":1230,"h":255,"w":255}]}},"sizes":{"large":{"h":1152,"w":2048,"resize":"fit"},"medium":{"h":675,"w":1200,"resize":"fit"},"small":{"h":383,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":2160,"width":3840,"focus_rects":[{"x":0,"y":10,"w":3840,"h":2150},{"x":360,"y":0,"w":2160,"h":2160},{"x":493,"y":0,"w":1895,"h":2160},{"x":900,"y":0,"w":1080,"h":2160},{"x":0,"y":0,"w":3840,"h":2160}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1920330292759343104"}}}]},"favorited":false,"lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1920331518276223086","view_count":50595,"bookmark_count":362,"created_at":1746677686000,"favorite_count":280,"quote_count":0,"reply_count":20,"retweet_count":24,"user_id_str":"152682525","conversation_id_str":"1920331518276223086","full_text":"分享一下我操作系统的配置文件:\nhttps://t.co/KhLTKoMnY5\n\n很神奇只需这样一个小文件,就可以随时重建我的系统和熟悉的环境,这大概是 #NixOS 的一个魅力。\n\n在 NixOS 写程序可能有点麻烦,然而机智的我用 podman 搭建了一个个 archlinux 环境,多个开发环境随便挥霍(如图有3个容器跑不同IDE),哈哈 https://t.co/QlLT4B1qW7","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,196],"entities":{"hashtags":[],"media":[{"display_url":"pic.x.com/ab0wdz0mk2","expanded_url":"https://twitter.com/hemashushu/status/1787684310549721126/photo/1","id_str":"1787684181440708608","indices":[197,220],"media_key":"3_1787684181440708608","media_url_https":"https://pbs.twimg.com/media/GM8hSp1bwAATgEf.jpg","type":"photo","url":"https://t.co/aB0wDZ0mK2","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":1000,"w":811,"resize":"fit"},"medium":{"h":1000,"w":811,"resize":"fit"},"small":{"h":680,"w":551,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":1000,"width":811,"focus_rects":[{"x":0,"y":546,"w":811,"h":454},{"x":0,"y":189,"w":811,"h":811},{"x":0,"y":75,"w":811,"h":925},{"x":124,"y":0,"w":500,"h":1000},{"x":0,"y":0,"w":811,"h":1000}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1787684181440708608"}}},{"display_url":"pic.x.com/ab0wdz0mk2","expanded_url":"https://twitter.com/hemashushu/status/1787684310549721126/photo/1","id_str":"1787684215993384960","indices":[197,220],"media_key":"3_1787684215993384960","media_url_https":"https://pbs.twimg.com/media/GM8hUqjbwAAxYjt.jpg","type":"photo","url":"https://t.co/aB0wDZ0mK2","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[{"x":189,"y":461,"h":236,"w":236}]},"medium":{"faces":[{"x":189,"y":461,"h":236,"w":236}]},"small":{"faces":[{"x":128,"y":313,"h":160,"w":160}]},"orig":{"faces":[{"x":189,"y":461,"h":236,"w":236}]}},"sizes":{"large":{"h":1000,"w":770,"resize":"fit"},"medium":{"h":1000,"w":770,"resize":"fit"},"small":{"h":680,"w":524,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":1000,"width":770,"focus_rects":[{"x":0,"y":0,"w":770,"h":431},{"x":0,"y":0,"w":770,"h":770},{"x":0,"y":0,"w":770,"h":878},{"x":270,"y":0,"w":500,"h":1000},{"x":0,"y":0,"w":770,"h":1000}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1787684215993384960"}}}],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[]},"extended_entities":{"media":[{"display_url":"pic.twitter.com/aB0wDZ0mK2","expanded_url":"https://twitter.com/hemashushu/status/1787684310549721126/photo/1","id_str":"1787684181440708608","indices":[197,220],"media_key":"3_1787684181440708608","media_url_https":"https://pbs.twimg.com/media/GM8hSp1bwAATgEf.jpg","type":"photo","url":"https://t.co/aB0wDZ0mK2","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":1000,"w":811,"resize":"fit"},"medium":{"h":1000,"w":811,"resize":"fit"},"small":{"h":680,"w":551,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":1000,"width":811,"focus_rects":[{"x":0,"y":546,"w":811,"h":454},{"x":0,"y":189,"w":811,"h":811},{"x":0,"y":75,"w":811,"h":925},{"x":124,"y":0,"w":500,"h":1000},{"x":0,"y":0,"w":811,"h":1000}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1787684181440708608"}}},{"display_url":"pic.twitter.com/aB0wDZ0mK2","expanded_url":"https://twitter.com/hemashushu/status/1787684310549721126/photo/1","id_str":"1787684215993384960","indices":[197,220],"media_key":"3_1787684215993384960","media_url_https":"https://pbs.twimg.com/media/GM8hUqjbwAAxYjt.jpg","type":"photo","url":"https://t.co/aB0wDZ0mK2","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[{"x":189,"y":461,"h":236,"w":236}]},"medium":{"faces":[{"x":189,"y":461,"h":236,"w":236}]},"small":{"faces":[{"x":128,"y":313,"h":160,"w":160}]},"orig":{"faces":[{"x":189,"y":461,"h":236,"w":236}]}},"sizes":{"large":{"h":1000,"w":770,"resize":"fit"},"medium":{"h":1000,"w":770,"resize":"fit"},"small":{"h":680,"w":524,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":1000,"width":770,"focus_rects":[{"x":0,"y":0,"w":770,"h":431},{"x":0,"y":0,"w":770,"h":770},{"x":0,"y":0,"w":770,"h":878},{"x":270,"y":0,"w":500,"h":1000},{"x":0,"y":0,"w":770,"h":1000}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1787684215993384960"}}}]},"favorited":false,"lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1787684310549721126","view_count":31648,"bookmark_count":239,"created_at":1715052127000,"favorite_count":274,"quote_count":1,"reply_count":3,"retweet_count":70,"user_id_str":"152682525","conversation_id_str":"1787684310549721126","full_text":"有没有跟上时代的(x86)汇编的书籍?\n- 《x86-64 Assembly Language Programming with Ubuntu》这本是在 *nix 环境下用 yasm 汇编器实践的汇编,讲几大类型指令的作用、函数调用规范、*nix 环境编程等,非常新,2022 年版。\n- Windows 环境的有《The Art of 64-Bit Assembly》也是 2022年版。 https://t.co/aB0wDZ0mK2","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,176],"entities":{"hashtags":[{"indices":[11,19],"text":"youtube"}],"media":[{"display_url":"pic.x.com/1UDhnOJO76","expanded_url":"https://x.com/ivarptr/status/1180487335537856512/photo/1","id_str":"1180487289845121024","indices":[177,200],"media_key":"3_1180487289845121024","media_url_https":"https://pbs.twimg.com/media/EGHu74UVAAAdABL.jpg","type":"photo","url":"https://t.co/1UDhnOJO76","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[{"x":241,"y":613,"h":124,"w":124}]},"medium":{"faces":[{"x":163,"y":416,"h":84,"w":84}]},"small":{"faces":[{"x":92,"y":236,"h":47,"w":47}]},"orig":{"faces":[{"x":241,"y":613,"h":124,"w":124}]}},"sizes":{"large":{"h":1166,"w":1766,"resize":"fit"},"medium":{"h":792,"w":1200,"resize":"fit"},"small":{"h":449,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":1166,"width":1766,"focus_rects":[{"x":0,"y":177,"w":1766,"h":989},{"x":600,"y":0,"w":1166,"h":1166},{"x":743,"y":0,"w":1023,"h":1166},{"x":1165,"y":0,"w":583,"h":1166},{"x":0,"y":0,"w":1766,"h":1166}]},"media_results":{"result":{"media_key":"3_1180487289845121024"}}}],"symbols":[],"timestamps":[],"urls":[{"display_url":"x.com/NASAMoon/statu…","expanded_url":"https://x.com/NASAMoon/status/1180437638697951232","url":"https://t.co/GkKxjo8Ejx","indices":[101,124]}],"user_mentions":[]},"extended_entities":{"media":[{"display_url":"pic.x.com/1UDhnOJO76","expanded_url":"https://x.com/ivarptr/status/1180487335537856512/photo/1","id_str":"1180487289845121024","indices":[177,200],"media_key":"3_1180487289845121024","media_url_https":"https://pbs.twimg.com/media/EGHu74UVAAAdABL.jpg","type":"photo","url":"https://t.co/1UDhnOJO76","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[{"x":241,"y":613,"h":124,"w":124}]},"medium":{"faces":[{"x":163,"y":416,"h":84,"w":84}]},"small":{"faces":[{"x":92,"y":236,"h":47,"w":47}]},"orig":{"faces":[{"x":241,"y":613,"h":124,"w":124}]}},"sizes":{"large":{"h":1166,"w":1766,"resize":"fit"},"medium":{"h":792,"w":1200,"resize":"fit"},"small":{"h":449,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":1166,"width":1766,"focus_rects":[{"x":0,"y":177,"w":1766,"h":989},{"x":600,"y":0,"w":1166,"h":1166},{"x":743,"y":0,"w":1023,"h":1166},{"x":1165,"y":0,"w":583,"h":1166},{"x":0,"y":0,"w":1766,"h":1166}]},"media_results":{"result":{"media_key":"3_1180487289845121024"}}}]},"favorited":false,"lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"quoted_status_id_str":"1180437638697951232","quoted_status_permalink":{"url":"https://t.co/GkKxjo8Ejx","expanded":"https://twitter.com/NASAMoon/status/1180437638697951232","display":"x.com/NASAMoon/statu…"},"retweeted":false,"fact_check":null,"id":"1180487335537856512","view_count":0,"bookmark_count":60,"created_at":1570285087000,"favorite_count":253,"quote_count":2,"reply_count":8,"retweet_count":82,"user_id_str":"152682525","conversation_id_str":"1180487335537856512","full_text":"不记得以前是否分享过,#youtube-dl 这个程序不但可以下载 youtube 以及上百个视频网站(包括各种不可描述的艺术网站)视频之外,还能下载 twitter 内容里头的视频,比如下载这个推: https://t.co/GkKxjo8Ejx\n下载回来的还是最高清版哦。\n\n(p.s. 别忘了先 $ export https_proxy=...) https://t.co/1UDhnOJO76","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":1,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,144],"entities":{"hashtags":[{"indices":[3,12],"text":"YuWriter"}],"media":[{"display_url":"pic.x.com/5Z39TzfE33","expanded_url":"https://x.com/ivarptr/status/888291146639613954/photo/1","id_str":"888291094785544197","indices":[145,168],"media_key":"3_888291094785544197","media_url_https":"https://pbs.twimg.com/media/DFPYC1nV0AUMwcK.jpg","type":"photo","url":"https://t.co/5Z39TzfE33","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":1235,"w":2048,"resize":"fit"},"medium":{"h":724,"w":1200,"resize":"fit"},"small":{"h":410,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":1520,"width":2520,"focus_rects":[]},"media_results":{"result":{"media_key":"3_888291094785544197"}}}],"symbols":[],"timestamps":[],"urls":[{"display_url":"ivarptr.github.io/yu-writer.site…","expanded_url":"https://ivarptr.github.io/yu-writer.site/index.html","url":"https://t.co/ExHu2Fnagm","indices":[121,144]}],"user_mentions":[]},"extended_entities":{"media":[{"display_url":"pic.x.com/5Z39TzfE33","expanded_url":"https://x.com/ivarptr/status/888291146639613954/photo/1","id_str":"888291094785544197","indices":[145,168],"media_key":"3_888291094785544197","media_url_https":"https://pbs.twimg.com/media/DFPYC1nV0AUMwcK.jpg","type":"photo","url":"https://t.co/5Z39TzfE33","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":1235,"w":2048,"resize":"fit"},"medium":{"h":724,"w":1200,"resize":"fit"},"small":{"h":410,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":1520,"width":2520,"focus_rects":[]},"media_results":{"result":{"media_key":"3_888291094785544197"}}}]},"favorited":false,"lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"888291146639613954","view_count":0,"bookmark_count":3,"created_at":1500620087000,"favorite_count":235,"quote_count":27,"reply_count":75,"retweet_count":142,"user_id_str":"152682525","conversation_id_str":"888291146639613954","full_text":"发布 #YuWriter for Windows 版,一款文本编辑器,支持热保存、编辑历史记录、Jekyll,GitHub Pages,Hexo,Hugo,GitBook 等,跟 macOS 版功能一致&同步更新,求鼓励、求扩散 😄 https://t.co/ExHu2Fnagm https://t.co/5Z39TzfE33","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,178],"entities":{"hashtags":[{"indices":[166,171],"text":"rust"},{"indices":[172,178],"text":"embed"}],"media":[{"display_url":"pic.x.com/Je7guQgKGX","expanded_url":"https://x.com/hemashushu/status/1590920180108259328/video/1","id_str":"1590920110725771264","indices":[179,202],"media_key":"7_1590920110725771264","media_url_https":"https://pbs.twimg.com/ext_tw_video_thumb/1590920110725771264/pu/img/N2APhAuwYFG6uLSB.jpg","type":"video","url":"https://t.co/Je7guQgKGX","additional_media_info":{"monetizable":false},"ext_media_availability":{"status":"Available"},"sizes":{"large":{"h":720,"w":1280,"resize":"fit"},"medium":{"h":675,"w":1200,"resize":"fit"},"small":{"h":383,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":720,"width":1280,"focus_rects":[]},"video_info":{"aspect_ratio":[16,9],"duration_millis":5533,"variants":[{"content_type":"application/x-mpegURL","url":"https://video.twimg.com/ext_tw_video/1590920110725771264/pu/pl/bNKMtJVxcmuG5Ngg.m3u8?tag=12"},{"bitrate":256000,"content_type":"video/mp4","url":"https://video.twimg.com/ext_tw_video/1590920110725771264/pu/vid/480x270/1wcHeHMZuJ_b-Pgq.mp4?tag=12"},{"bitrate":832000,"content_type":"video/mp4","url":"https://video.twimg.com/ext_tw_video/1590920110725771264/pu/vid/640x360/SABg1zlWdm2r-esl.mp4?tag=12"},{"bitrate":2176000,"content_type":"video/mp4","url":"https://video.twimg.com/ext_tw_video/1590920110725771264/pu/vid/1280x720/WwoEddtDkfAsguSC.mp4?tag=12"}]},"media_results":{"result":{"media_key":"7_1590920110725771264"}}}],"symbols":[],"timestamps":[],"urls":[{"display_url":"github.com/hemashushu/pra…","expanded_url":"https://github.com/hemashushu/practice-mcu-bare-metal-rust","url":"https://t.co/nbOTG22z4S","indices":[142,165]}],"user_mentions":[]},"extended_entities":{"media":[{"display_url":"pic.x.com/Je7guQgKGX","expanded_url":"https://x.com/hemashushu/status/1590920180108259328/video/1","id_str":"1590920110725771264","indices":[179,202],"media_key":"7_1590920110725771264","media_url_https":"https://pbs.twimg.com/ext_tw_video_thumb/1590920110725771264/pu/img/N2APhAuwYFG6uLSB.jpg","type":"video","url":"https://t.co/Je7guQgKGX","additional_media_info":{"monetizable":false},"ext_media_availability":{"status":"Available"},"sizes":{"large":{"h":720,"w":1280,"resize":"fit"},"medium":{"h":675,"w":1200,"resize":"fit"},"small":{"h":383,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":720,"width":1280,"focus_rects":[]},"video_info":{"aspect_ratio":[16,9],"duration_millis":5533,"variants":[{"content_type":"application/x-mpegURL","url":"https://video.twimg.com/ext_tw_video/1590920110725771264/pu/pl/bNKMtJVxcmuG5Ngg.m3u8?tag=12"},{"bitrate":256000,"content_type":"video/mp4","url":"https://video.twimg.com/ext_tw_video/1590920110725771264/pu/vid/480x270/1wcHeHMZuJ_b-Pgq.mp4?tag=12"},{"bitrate":832000,"content_type":"video/mp4","url":"https://video.twimg.com/ext_tw_video/1590920110725771264/pu/vid/640x360/SABg1zlWdm2r-esl.mp4?tag=12"},{"bitrate":2176000,"content_type":"video/mp4","url":"https://video.twimg.com/ext_tw_video/1590920110725771264/pu/vid/1280x720/WwoEddtDkfAsguSC.mp4?tag=12"}]},"media_results":{"result":{"media_key":"7_1590920110725771264"}}}]},"favorited":false,"lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1590920180108259328","view_count":0,"bookmark_count":41,"created_at":1668139903000,"favorite_count":220,"quote_count":1,"reply_count":10,"retweet_count":34,"user_id_str":"152682525","conversation_id_str":"1590920180108259328","full_text":"测试了一下使用 Rust 书写一个微处理器(STM32F103)的裸机程序,即用不任何 SDK, IDE 或者库,不需要 C 或者汇编,唯一需要的是 Rust 编译器,然后直接读写寄存器即可。感觉用 Rust 写底层代码还行尽管优点也不是特别明显。源码里有超标的注释,感兴趣的点这里 https://t.co/nbOTG22z4S\n#rust #embed https://t.co/Je7guQgKGX","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null}],"ctweets":[{"bookmarked":false,"display_text_range":[0,144],"entities":{"hashtags":[{"indices":[3,12],"text":"YuWriter"}],"media":[{"display_url":"pic.x.com/5Z39TzfE33","expanded_url":"https://x.com/ivarptr/status/888291146639613954/photo/1","id_str":"888291094785544197","indices":[145,168],"media_key":"3_888291094785544197","media_url_https":"https://pbs.twimg.com/media/DFPYC1nV0AUMwcK.jpg","type":"photo","url":"https://t.co/5Z39TzfE33","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":1235,"w":2048,"resize":"fit"},"medium":{"h":724,"w":1200,"resize":"fit"},"small":{"h":410,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":1520,"width":2520,"focus_rects":[]},"media_results":{"result":{"media_key":"3_888291094785544197"}}}],"symbols":[],"timestamps":[],"urls":[{"display_url":"ivarptr.github.io/yu-writer.site…","expanded_url":"https://ivarptr.github.io/yu-writer.site/index.html","url":"https://t.co/ExHu2Fnagm","indices":[121,144]}],"user_mentions":[]},"extended_entities":{"media":[{"display_url":"pic.x.com/5Z39TzfE33","expanded_url":"https://x.com/ivarptr/status/888291146639613954/photo/1","id_str":"888291094785544197","indices":[145,168],"media_key":"3_888291094785544197","media_url_https":"https://pbs.twimg.com/media/DFPYC1nV0AUMwcK.jpg","type":"photo","url":"https://t.co/5Z39TzfE33","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":1235,"w":2048,"resize":"fit"},"medium":{"h":724,"w":1200,"resize":"fit"},"small":{"h":410,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":1520,"width":2520,"focus_rects":[]},"media_results":{"result":{"media_key":"3_888291094785544197"}}}]},"favorited":false,"lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"888291146639613954","view_count":0,"bookmark_count":3,"created_at":1500620087000,"favorite_count":235,"quote_count":27,"reply_count":75,"retweet_count":142,"user_id_str":"152682525","conversation_id_str":"888291146639613954","full_text":"发布 #YuWriter for Windows 版,一款文本编辑器,支持热保存、编辑历史记录、Jekyll,GitHub Pages,Hexo,Hugo,GitBook 等,跟 macOS 版功能一致&同步更新,求鼓励、求扩散 😄 https://t.co/ExHu2Fnagm https://t.co/5Z39TzfE33","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,122],"entities":{"hashtags":[{"indices":[112,122],"text":"yu_writer"}],"media":[{"display_url":"pic.x.com/ODhjR1Kaox","expanded_url":"https://x.com/ivarptr/status/841857900016418816/photo/1","id_str":"841857097759248385","indices":[123,146],"media_key":"3_841857097759248385","media_url_https":"https://pbs.twimg.com/media/C67gke-U0AEy3lA.png","type":"photo","url":"https://t.co/ODhjR1Kaox","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":1340,"w":2048,"resize":"fit"},"medium":{"h":785,"w":1200,"resize":"fit"},"small":{"h":445,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":1664,"width":2544,"focus_rects":[]},"media_results":{"result":{"media_key":"3_841857097759248385"}}}],"symbols":[],"timestamps":[],"urls":[{"display_url":"ivarptr.github.io/yu-writer.site/","expanded_url":"https://ivarptr.github.io/yu-writer.site/","url":"https://t.co/O88cB8LPiY","indices":[87,110]}],"user_mentions":[]},"extended_entities":{"media":[{"display_url":"pic.x.com/ODhjR1Kaox","expanded_url":"https://x.com/ivarptr/status/841857900016418816/photo/1","id_str":"841857097759248385","indices":[123,146],"media_key":"3_841857097759248385","media_url_https":"https://pbs.twimg.com/media/C67gke-U0AEy3lA.png","type":"photo","url":"https://t.co/ODhjR1Kaox","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":1340,"w":2048,"resize":"fit"},"medium":{"h":785,"w":1200,"resize":"fit"},"small":{"h":445,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":1664,"width":2544,"focus_rects":[]},"media_results":{"result":{"media_key":"3_841857097759248385"}}}]},"favorited":false,"lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"841857900016418816","view_count":0,"bookmark_count":3,"created_at":1489549538000,"favorite_count":542,"quote_count":38,"reply_count":49,"retweet_count":304,"user_id_str":"152682525","conversation_id_str":"841857900016418816","full_text":"2016 年一整年就写了这么个程序,一个给博客(wordpress or github pages)博主或者经常书写文章的作者使用文字编辑器,终于可以下载了,求安慰,求鼓励 https://t.co/O88cB8LPiY\n\n#yu_writer https://t.co/ODhjR1Kaox","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,173],"entities":{"hashtags":[{"indices":[3,12],"text":"YuWriter"},{"indices":[71,80],"text":"Markdown"},{"indices":[121,127],"text":"LaTeX"}],"media":[{"display_url":"pic.x.com/zO1MvMb5et","expanded_url":"https://x.com/ivarptr/status/1033954573663141889/photo/1","id_str":"1033954487927336961","indices":[174,197],"media_key":"3_1033954487927336961","media_url_https":"https://pbs.twimg.com/media/DllYIO7UcAEW4d2.jpg","type":"photo","url":"https://t.co/zO1MvMb5et","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[{"x":379,"y":825,"h":176,"w":176},{"x":784,"y":633,"h":197,"w":197},{"x":1640,"y":171,"h":352,"w":352}]},"medium":{"faces":[{"x":222,"y":483,"h":103,"w":103},{"x":459,"y":371,"h":115,"w":115},{"x":960,"y":100,"h":206,"w":206}]},"small":{"faces":[{"x":126,"y":274,"h":58,"w":58},{"x":260,"y":210,"h":65,"w":65},{"x":544,"y":57,"h":116,"w":116}]},"orig":{"faces":[{"x":712,"y":1548,"h":330,"w":330},{"x":1470,"y":1188,"h":371,"w":371},{"x":3075,"y":322,"h":660,"w":660}]}},"sizes":{"large":{"h":1152,"w":2048,"resize":"fit"},"medium":{"h":675,"w":1200,"resize":"fit"},"small":{"h":383,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":2160,"width":3840,"focus_rects":[{"x":0,"y":0,"w":3840,"h":2150},{"x":0,"y":0,"w":2160,"h":2160},{"x":109,"y":0,"w":1895,"h":2160},{"x":516,"y":0,"w":1080,"h":2160},{"x":0,"y":0,"w":3840,"h":2160}]},"media_results":{"result":{"media_key":"3_1033954487927336961"}}}],"symbols":[],"timestamps":[],"urls":[{"display_url":"ivarptr.github.io/yu-writer.site/","expanded_url":"https://ivarptr.github.io/yu-writer.site/","url":"https://t.co/O88cB8LPiY","indices":[150,173]}],"user_mentions":[]},"extended_entities":{"media":[{"display_url":"pic.x.com/zO1MvMb5et","expanded_url":"https://x.com/ivarptr/status/1033954573663141889/photo/1","id_str":"1033954487927336961","indices":[174,197],"media_key":"3_1033954487927336961","media_url_https":"https://pbs.twimg.com/media/DllYIO7UcAEW4d2.jpg","type":"photo","url":"https://t.co/zO1MvMb5et","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[{"x":379,"y":825,"h":176,"w":176},{"x":784,"y":633,"h":197,"w":197},{"x":1640,"y":171,"h":352,"w":352}]},"medium":{"faces":[{"x":222,"y":483,"h":103,"w":103},{"x":459,"y":371,"h":115,"w":115},{"x":960,"y":100,"h":206,"w":206}]},"small":{"faces":[{"x":126,"y":274,"h":58,"w":58},{"x":260,"y":210,"h":65,"w":65},{"x":544,"y":57,"h":116,"w":116}]},"orig":{"faces":[{"x":712,"y":1548,"h":330,"w":330},{"x":1470,"y":1188,"h":371,"w":371},{"x":3075,"y":322,"h":660,"w":660}]}},"sizes":{"large":{"h":1152,"w":2048,"resize":"fit"},"medium":{"h":675,"w":1200,"resize":"fit"},"small":{"h":383,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":2160,"width":3840,"focus_rects":[{"x":0,"y":0,"w":3840,"h":2150},{"x":0,"y":0,"w":2160,"h":2160},{"x":109,"y":0,"w":1895,"h":2160},{"x":516,"y":0,"w":1080,"h":2160},{"x":0,"y":0,"w":3840,"h":2160}]},"media_results":{"result":{"media_key":"3_1033954487927336961"}}}]},"favorited":false,"lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1033954573663141889","view_count":0,"bookmark_count":16,"created_at":1535348954000,"favorite_count":298,"quote_count":11,"reply_count":45,"retweet_count":102,"user_id_str":"152682525","conversation_id_str":"1033954573663141889","full_text":"发布 #YuWriter 0.5.3,这个版本修复 bug 或改进共 50 多项,应该是比较稳定的。我重新介绍一下:这是一个文本编辑器,支持 #Markdown、内置基于文件系统的文档库、独立的编辑历史记录、支持表格、图表(如柱形图、饼图)、#LaTeX 数学公式等,适合写技术文档或论文、文章等。\nhttps://t.co/O88cB8LPiY https://t.co/zO1MvMb5et","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,152],"entities":{"hashtags":[],"media":[{"display_url":"pic.x.com/8NN4CZ3f2L","expanded_url":"https://x.com/hemashushu/status/1987681953987043411/video/1","id_str":"1987681362309246976","indices":[153,176],"media_key":"13_1987681362309246976","media_url_https":"https://pbs.twimg.com/amplify_video_thumb/1987681362309246976/img/gSvi_xou6TJZeUVR.jpg","type":"video","url":"https://t.co/8NN4CZ3f2L","additional_media_info":{"monetizable":false},"ext_media_availability":{"status":"Available"},"sizes":{"large":{"h":1080,"w":1920,"resize":"fit"},"medium":{"h":675,"w":1200,"resize":"fit"},"small":{"h":383,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":1080,"width":1920,"focus_rects":[]},"allow_download_status":{"allow_download":true},"video_info":{"aspect_ratio":[16,9],"duration_millis":16850,"variants":[{"content_type":"application/x-mpegURL","url":"https://video.twimg.com/amplify_video/1987681362309246976/pl/TvNA8h0a0DqA8eDM.m3u8?tag=14&v=cfc"},{"bitrate":288000,"content_type":"video/mp4","url":"https://video.twimg.com/amplify_video/1987681362309246976/vid/avc1/480x270/K2DQ8S2rEBIY3VDF.mp4?tag=14"},{"bitrate":832000,"content_type":"video/mp4","url":"https://video.twimg.com/amplify_video/1987681362309246976/vid/avc1/640x360/4WXmaHbeJOzC5BAY.mp4?tag=14"},{"bitrate":2176000,"content_type":"video/mp4","url":"https://video.twimg.com/amplify_video/1987681362309246976/vid/avc1/1280x720/Us1JABpY7xYFag_Q.mp4?tag=14"}]},"media_results":{"result":{"media_key":"13_1987681362309246976"}}}],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[]},"extended_entities":{"media":[{"display_url":"pic.x.com/8NN4CZ3f2L","expanded_url":"https://x.com/hemashushu/status/1987681953987043411/video/1","id_str":"1987681362309246976","indices":[153,176],"media_key":"13_1987681362309246976","media_url_https":"https://pbs.twimg.com/amplify_video_thumb/1987681362309246976/img/gSvi_xou6TJZeUVR.jpg","type":"video","url":"https://t.co/8NN4CZ3f2L","additional_media_info":{"monetizable":false},"ext_media_availability":{"status":"Available"},"sizes":{"large":{"h":1080,"w":1920,"resize":"fit"},"medium":{"h":675,"w":1200,"resize":"fit"},"small":{"h":383,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":1080,"width":1920,"focus_rects":[]},"allow_download_status":{"allow_download":true},"video_info":{"aspect_ratio":[16,9],"duration_millis":16850,"variants":[{"content_type":"application/x-mpegURL","url":"https://video.twimg.com/amplify_video/1987681362309246976/pl/TvNA8h0a0DqA8eDM.m3u8?tag=14&v=cfc"},{"bitrate":288000,"content_type":"video/mp4","url":"https://video.twimg.com/amplify_video/1987681362309246976/vid/avc1/480x270/K2DQ8S2rEBIY3VDF.mp4?tag=14"},{"bitrate":832000,"content_type":"video/mp4","url":"https://video.twimg.com/amplify_video/1987681362309246976/vid/avc1/640x360/4WXmaHbeJOzC5BAY.mp4?tag=14"},{"bitrate":2176000,"content_type":"video/mp4","url":"https://video.twimg.com/amplify_video/1987681362309246976/vid/avc1/1280x720/Us1JABpY7xYFag_Q.mp4?tag=14"}]},"media_results":{"result":{"media_key":"13_1987681362309246976"}}}]},"favorited":false,"lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1987681953987043411","view_count":41218,"bookmark_count":52,"created_at":1762735281000,"favorite_count":117,"quote_count":3,"reply_count":24,"retweet_count":8,"user_id_str":"152682525","conversation_id_str":"1987681953987043411","full_text":"刚看到一个视频,博主用切换窗口动画的流畅度来判断操作系统的强弱。\n\n其实我觉得linux桌面的动画一直还不错哈,早期是ubuntu8.04还是更早版本记得不太清楚,桌面动画非常夸张,后来倒是逐渐朴素。\n\n视频是我尝试弹射read-it-later浏览器窗口,可能是因为本地录频有点掉帧,实际动画很流畅的。 https://t.co/8NN4CZ3f2L","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,142],"entities":{"hashtags":[],"media":[{"display_url":"pic.x.com/t4Cqt47Y75","expanded_url":"https://x.com/hemashushu/status/1763049567648702465/photo/1","id_str":"1763047791482593280","indices":[143,166],"media_key":"3_1763047791482593280","media_url_https":"https://pbs.twimg.com/media/GHeaoBVbYAAXJ5y.jpg","type":"photo","url":"https://t.co/t4Cqt47Y75","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":1024,"w":768,"resize":"fit"},"medium":{"h":1024,"w":768,"resize":"fit"},"small":{"h":680,"w":510,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":1024,"width":768,"focus_rects":[{"x":0,"y":0,"w":768,"h":430},{"x":0,"y":0,"w":768,"h":768},{"x":0,"y":0,"w":768,"h":876},{"x":256,"y":0,"w":512,"h":1024},{"x":0,"y":0,"w":768,"h":1024}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1763047791482593280"}}}],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[]},"extended_entities":{"media":[{"display_url":"pic.x.com/t4Cqt47Y75","expanded_url":"https://x.com/hemashushu/status/1763049567648702465/photo/1","id_str":"1763047791482593280","indices":[143,166],"media_key":"3_1763047791482593280","media_url_https":"https://pbs.twimg.com/media/GHeaoBVbYAAXJ5y.jpg","type":"photo","url":"https://t.co/t4Cqt47Y75","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":1024,"w":768,"resize":"fit"},"medium":{"h":1024,"w":768,"resize":"fit"},"small":{"h":680,"w":510,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":1024,"width":768,"focus_rects":[{"x":0,"y":0,"w":768,"h":430},{"x":0,"y":0,"w":768,"h":768},{"x":0,"y":0,"w":768,"h":876},{"x":256,"y":0,"w":512,"h":1024},{"x":0,"y":0,"w":768,"h":1024}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1763047791482593280"}}}]},"favorited":false,"lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1763049567648702465","view_count":103394,"bookmark_count":740,"created_at":1709178747000,"favorite_count":1030,"quote_count":2,"reply_count":22,"retweet_count":220,"user_id_str":"152682525","conversation_id_str":"1763049567648702465","full_text":"在书店无意中刷到这本书,内容真不错,推荐一下。\n\n它最大特点是配有大量的图片,比如引导和启动过程,每个步骤内存里的布局和内容是什么,都用图片画出来了,非常直接明了。\n\n我早前也写过类似的文章,但实在太难了,制作图片要花巨量的时间,一天画三张已到极限后面还要修改。可想这书花了多少精力。 https://t.co/t4Cqt47Y75","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,173],"entities":{"hashtags":[{"indices":[77,83],"text":"NixOS"}],"media":[{"display_url":"pic.x.com/QlLT4B1qW7","expanded_url":"https://x.com/hemashushu/status/1920331518276223086/photo/1","id_str":"1920330292759343104","indices":[174,197],"media_key":"3_1920330292759343104","media_url_https":"https://pbs.twimg.com/media/GqZiOhdXsAAzpOB.jpg","type":"photo","url":"https://t.co/QlLT4B1qW7","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[{"x":803,"y":843,"h":112,"w":112},{"x":1507,"y":656,"h":136,"w":136}]},"medium":{"faces":[{"x":470,"y":494,"h":65,"w":65},{"x":883,"y":384,"h":79,"w":79}]},"small":{"faces":[{"x":266,"y":280,"h":37,"w":37},{"x":500,"y":217,"h":45,"w":45}]},"orig":{"faces":[{"x":1507,"y":1582,"h":210,"w":210},{"x":2827,"y":1230,"h":255,"w":255}]}},"sizes":{"large":{"h":1152,"w":2048,"resize":"fit"},"medium":{"h":675,"w":1200,"resize":"fit"},"small":{"h":383,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":2160,"width":3840,"focus_rects":[{"x":0,"y":10,"w":3840,"h":2150},{"x":360,"y":0,"w":2160,"h":2160},{"x":493,"y":0,"w":1895,"h":2160},{"x":900,"y":0,"w":1080,"h":2160},{"x":0,"y":0,"w":3840,"h":2160}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1920330292759343104"}}}],"symbols":[],"timestamps":[],"urls":[{"display_url":"gist.github.com/hemashushu/998…","expanded_url":"https://gist.github.com/hemashushu/99891415f398e5f96ff131a5c7b215c3","url":"https://t.co/KhLTKoMnY5","indices":[16,39]}],"user_mentions":[]},"extended_entities":{"media":[{"display_url":"pic.x.com/QlLT4B1qW7","expanded_url":"https://x.com/hemashushu/status/1920331518276223086/photo/1","id_str":"1920330292759343104","indices":[174,197],"media_key":"3_1920330292759343104","media_url_https":"https://pbs.twimg.com/media/GqZiOhdXsAAzpOB.jpg","type":"photo","url":"https://t.co/QlLT4B1qW7","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[{"x":803,"y":843,"h":112,"w":112},{"x":1507,"y":656,"h":136,"w":136}]},"medium":{"faces":[{"x":470,"y":494,"h":65,"w":65},{"x":883,"y":384,"h":79,"w":79}]},"small":{"faces":[{"x":266,"y":280,"h":37,"w":37},{"x":500,"y":217,"h":45,"w":45}]},"orig":{"faces":[{"x":1507,"y":1582,"h":210,"w":210},{"x":2827,"y":1230,"h":255,"w":255}]}},"sizes":{"large":{"h":1152,"w":2048,"resize":"fit"},"medium":{"h":675,"w":1200,"resize":"fit"},"small":{"h":383,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":2160,"width":3840,"focus_rects":[{"x":0,"y":10,"w":3840,"h":2150},{"x":360,"y":0,"w":2160,"h":2160},{"x":493,"y":0,"w":1895,"h":2160},{"x":900,"y":0,"w":1080,"h":2160},{"x":0,"y":0,"w":3840,"h":2160}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1920330292759343104"}}}]},"favorited":false,"lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1920331518276223086","view_count":50595,"bookmark_count":362,"created_at":1746677686000,"favorite_count":280,"quote_count":0,"reply_count":20,"retweet_count":24,"user_id_str":"152682525","conversation_id_str":"1920331518276223086","full_text":"分享一下我操作系统的配置文件:\nhttps://t.co/KhLTKoMnY5\n\n很神奇只需这样一个小文件,就可以随时重建我的系统和熟悉的环境,这大概是 #NixOS 的一个魅力。\n\n在 NixOS 写程序可能有点麻烦,然而机智的我用 podman 搭建了一个个 archlinux 环境,多个开发环境随便挥霍(如图有3个容器跑不同IDE),哈哈 https://t.co/QlLT4B1qW7","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,105],"entities":{"hashtags":[],"media":[{"display_url":"pic.x.com/z0xq03YE2S","expanded_url":"https://x.com/ivarptr/status/1217767710156718080/photo/1","id_str":"1217767684869214208","indices":[106,129],"media_key":"3_1217767684869214208","media_url_https":"https://pbs.twimg.com/media/EOZhQeOUUAAerck.jpg","type":"photo","url":"https://t.co/z0xq03YE2S","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":1418,"w":2048,"resize":"fit"},"medium":{"h":831,"w":1200,"resize":"fit"},"small":{"h":471,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":1800,"width":2600,"focus_rects":[{"x":0,"y":0,"w":2600,"h":1456},{"x":800,"y":0,"w":1800,"h":1800},{"x":962,"y":0,"w":1579,"h":1800},{"x":1301,"y":0,"w":900,"h":1800},{"x":0,"y":0,"w":2600,"h":1800}]},"media_results":{"result":{"media_key":"3_1217767684869214208"}}}],"symbols":[],"timestamps":[],"urls":[{"display_url":"jetbrains.com/lp/mono/","expanded_url":"https://www.jetbrains.com/lp/mono/","url":"https://t.co/YLD2jRvWRJ","indices":[82,105]}],"user_mentions":[]},"extended_entities":{"media":[{"display_url":"pic.x.com/z0xq03YE2S","expanded_url":"https://x.com/ivarptr/status/1217767710156718080/photo/1","id_str":"1217767684869214208","indices":[106,129],"media_key":"3_1217767684869214208","media_url_https":"https://pbs.twimg.com/media/EOZhQeOUUAAerck.jpg","type":"photo","url":"https://t.co/z0xq03YE2S","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":1418,"w":2048,"resize":"fit"},"medium":{"h":831,"w":1200,"resize":"fit"},"small":{"h":471,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":1800,"width":2600,"focus_rects":[{"x":0,"y":0,"w":2600,"h":1456},{"x":800,"y":0,"w":1800,"h":1800},{"x":962,"y":0,"w":1579,"h":1800},{"x":1301,"y":0,"w":900,"h":1800},{"x":0,"y":0,"w":2600,"h":1800}]},"media_results":{"result":{"media_key":"3_1217767684869214208"}}}]},"favorited":false,"lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"quoted_status_id_str":"1217763742127095810","quoted_status_permalink":{"url":"https://t.co/am51BKjG8O","expanded":"https://twitter.com/newsycombinator/status/1217763742127095810","display":"x.com/newsycombinato…"},"retweeted":false,"fact_check":null,"id":"1217767710156718080","view_count":0,"bookmark_count":5,"created_at":1579173421000,"favorite_count":129,"quote_count":11,"reply_count":18,"retweet_count":57,"user_id_str":"152682525","conversation_id_str":"1217767710156718080","full_text":"JetBrains 开源字体 \"JetBrains Mono\",我做了一张跟 Fira Code 和 Source Code Pro 的对比图。\n\n字体的详细介绍:https://t.co/YLD2jRvWRJ https://t.co/z0xq03YE2S","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":1,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,165],"entities":{"hashtags":[],"media":[{"display_url":"pic.x.com/vqu5mpxh5i","expanded_url":"https://twitter.com/hemashushu/status/1684828603702501376/photo/1","id_str":"1684824610259554304","indices":[166,189],"media_key":"3_1684824610259554304","media_url_https":"https://pbs.twimg.com/media/F2GzDnNbUAAqO-d.jpg","type":"photo","url":"https://t.co/VQU5mPxh5I","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[{"x":355,"y":327,"h":71,"w":71}]},"medium":{"faces":[{"x":208,"y":191,"h":42,"w":42}]},"small":{"faces":[{"x":118,"y":108,"h":23,"w":23}]},"orig":{"faces":[{"x":672,"y":619,"h":136,"w":136}]}},"sizes":{"large":{"h":1151,"w":2048,"resize":"fit"},"medium":{"h":675,"w":1200,"resize":"fit"},"small":{"h":382,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":2176,"width":3871,"focus_rects":[{"x":0,"y":0,"w":3871,"h":2168},{"x":1695,"y":0,"w":2176,"h":2176},{"x":1962,"y":0,"w":1909,"h":2176},{"x":2454,"y":0,"w":1088,"h":2176},{"x":0,"y":0,"w":3871,"h":2176}]},"media_results":{"result":{"media_key":"3_1684824610259554304"}}}],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[]},"extended_entities":{"media":[{"display_url":"pic.twitter.com/VQU5mPxh5I","expanded_url":"https://twitter.com/hemashushu/status/1684828603702501376/photo/1","id_str":"1684824610259554304","indices":[166,189],"media_key":"3_1684824610259554304","media_url_https":"https://pbs.twimg.com/media/F2GzDnNbUAAqO-d.jpg","type":"photo","url":"https://t.co/VQU5mPxh5I","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[{"x":355,"y":327,"h":71,"w":71}]},"medium":{"faces":[{"x":208,"y":191,"h":42,"w":42}]},"small":{"faces":[{"x":118,"y":108,"h":23,"w":23}]},"orig":{"faces":[{"x":672,"y":619,"h":136,"w":136}]}},"sizes":{"large":{"h":1151,"w":2048,"resize":"fit"},"medium":{"h":675,"w":1200,"resize":"fit"},"small":{"h":382,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":2176,"width":3871,"focus_rects":[{"x":0,"y":0,"w":3871,"h":2168},{"x":1695,"y":0,"w":2176,"h":2176},{"x":1962,"y":0,"w":1909,"h":2176},{"x":2454,"y":0,"w":1088,"h":2176},{"x":0,"y":0,"w":3871,"h":2176}]},"media_results":{"result":{"media_key":"3_1684824610259554304"}}}]},"favorited":false,"lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1684828603702501376","view_count":118489,"bookmark_count":334,"created_at":1690529416000,"favorite_count":592,"quote_count":2,"reply_count":15,"retweet_count":119,"user_id_str":"152682525","conversation_id_str":"1684828603702501376","full_text":"有没被满屏 AI 之类的帖子弄烦了?要不试试系统编程,找回自己的专注力?趁周末到来推荐三本非常nice,友善的书\n\n1. Linux 系统编程\n这本重点讲解和演示系统调用(syscall),linux的300来个系统调用当中,常用的基本都覆盖到了,推荐把它摆在枕头旁边,配合man(2)服用。\n\n2. Unix 环境高级编程\n(续 https://t.co/VQU5mPxh5I","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,167],"entities":{"hashtags":[],"media":[{"display_url":"pic.x.com/S1IvEtmEpc","expanded_url":"https://x.com/hemashushu/status/1902874682933776449/photo/1","id_str":"1902874442260418560","indices":[168,191],"media_key":"3_1902874442260418560","media_url_https":"https://pbs.twimg.com/media/GmheOS8aEAAlSqC.jpg","type":"photo","url":"https://t.co/S1IvEtmEpc","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":1500,"w":1045,"resize":"fit"},"medium":{"h":1200,"w":836,"resize":"fit"},"small":{"h":680,"w":474,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":1500,"width":1045,"focus_rects":[{"x":0,"y":0,"w":1045,"h":585},{"x":0,"y":0,"w":1045,"h":1045},{"x":0,"y":0,"w":1045,"h":1191},{"x":0,"y":0,"w":750,"h":1500},{"x":0,"y":0,"w":1045,"h":1500}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1902874442260418560"}}}],"symbols":[],"timestamps":[],"urls":[{"display_url":"oreilly.com/library/view/d…","expanded_url":"https://www.oreilly.com/library/view/deep-learning-python/9784873117584/","url":"https://t.co/pqlLY36Ehd","indices":[144,167]}],"user_mentions":[]},"extended_entities":{"media":[{"display_url":"pic.x.com/S1IvEtmEpc","expanded_url":"https://x.com/hemashushu/status/1902874682933776449/photo/1","id_str":"1902874442260418560","indices":[168,191],"media_key":"3_1902874442260418560","media_url_https":"https://pbs.twimg.com/media/GmheOS8aEAAlSqC.jpg","type":"photo","url":"https://t.co/S1IvEtmEpc","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":1500,"w":1045,"resize":"fit"},"medium":{"h":1200,"w":836,"resize":"fit"},"small":{"h":680,"w":474,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":1500,"width":1045,"focus_rects":[{"x":0,"y":0,"w":1045,"h":585},{"x":0,"y":0,"w":1045,"h":1045},{"x":0,"y":0,"w":1045,"h":1191},{"x":0,"y":0,"w":750,"h":1500},{"x":0,"y":0,"w":1045,"h":1500}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1902874442260418560"}}}]},"favorited":false,"lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"quoted_status_id_str":"1902462458071048443","quoted_status_permalink":{"url":"https://t.co/NV6DBrW59a","expanded":"https://twitter.com/tsotchke/status/1902462458071048443","display":"x.com/tsotchke/statu…"},"retweeted":false,"fact_check":null,"id":"1902874682933776449","view_count":191348,"bookmark_count":779,"created_at":1742515652000,"favorite_count":791,"quote_count":5,"reply_count":13,"retweet_count":140,"user_id_str":"152682525","conversation_id_str":"1902874682933776449","full_text":"这是一个纯 C 写的 FNN 手写数字识别(MNIST)程序,无任何依赖库,CPU 计算精度达 99%。代码写得非常简单易懂。\n想了解其原理的话可以看《深度学习入门 基于python的理论与实现》by 斎藤康毅 的前4章,它从零开始一步步讲解的。(这本书极力推荐,无任何依赖库,纯手写)\nhttps://t.co/pqlLY36Ehd https://t.co/S1IvEtmEpc","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":1,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,98],"entities":{"hashtags":[{"indices":[13,26],"text":"CascadiaCode"}],"media":[{"display_url":"pic.x.com/hMaRsDXFWv","expanded_url":"https://x.com/ivarptr/status/1174689402141827072/photo/1","id_str":"1174689377655693312","indices":[99,122],"media_key":"3_1174689377655693312","media_url_https":"https://pbs.twimg.com/media/EE1Vw-SXoAAjLTh.jpg","type":"photo","url":"https://t.co/hMaRsDXFWv","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":1429,"w":2048,"resize":"fit"},"medium":{"h":838,"w":1200,"resize":"fit"},"small":{"h":475,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":1576,"width":2258,"focus_rects":[{"x":0,"y":214,"w":2258,"h":1264},{"x":0,"y":0,"w":1576,"h":1576},{"x":0,"y":0,"w":1382,"h":1576},{"x":0,"y":0,"w":788,"h":1576},{"x":0,"y":0,"w":2258,"h":1576}]},"media_results":{"result":{"media_key":"3_1174689377655693312"}}}],"symbols":[],"timestamps":[],"urls":[{"display_url":"devblogs.microsoft.com/commandline/ca…","expanded_url":"https://devblogs.microsoft.com/commandline/cascadia-code/","url":"https://t.co/lAYIS6opD6","indices":[51,74]},{"display_url":"github.com/microsoft/casc…","expanded_url":"https://github.com/microsoft/cascadia-code","url":"https://t.co/Ojr7zpEZLo","indices":[75,98]}],"user_mentions":[]},"extended_entities":{"media":[{"display_url":"pic.x.com/hMaRsDXFWv","expanded_url":"https://x.com/ivarptr/status/1174689402141827072/photo/1","id_str":"1174689377655693312","indices":[99,122],"media_key":"3_1174689377655693312","media_url_https":"https://pbs.twimg.com/media/EE1Vw-SXoAAjLTh.jpg","type":"photo","url":"https://t.co/hMaRsDXFWv","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":1429,"w":2048,"resize":"fit"},"medium":{"h":838,"w":1200,"resize":"fit"},"small":{"h":475,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":1576,"width":2258,"focus_rects":[{"x":0,"y":214,"w":2258,"h":1264},{"x":0,"y":0,"w":1576,"h":1576},{"x":0,"y":0,"w":1382,"h":1576},{"x":0,"y":0,"w":788,"h":1576},{"x":0,"y":0,"w":2258,"h":1576}]},"media_results":{"result":{"media_key":"3_1174689377655693312"}}}]},"favorited":false,"lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"quoted_status_id_str":"1174429677949087744","quoted_status_permalink":{"url":"https://t.co/FUGqG03byg","expanded":"https://twitter.com/cinnamon_msft/status/1174429677949087744","display":"x.com/cinnamon_msft/…"},"retweeted":false,"fact_check":null,"id":"1174689402141827072","view_count":0,"bookmark_count":26,"created_at":1568902752000,"favorite_count":216,"quote_count":3,"reply_count":12,"retweet_count":79,"user_id_str":"152682525","conversation_id_str":"1174689402141827072","full_text":"微软刚发布了开源等宽字体 #CascadiaCode,可以用于终端和代码编辑器,第一眼看挺好看的。\n\nhttps://t.co/lAYIS6opD6\nhttps://t.co/Ojr7zpEZLo https://t.co/hMaRsDXFWv","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":1,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,152],"entities":{"hashtags":[],"media":[{"display_url":"pic.x.com/gznhpr1ozz","expanded_url":"https://x.com/hemashushu/status/1983873764501909646/photo/1","id_str":"1983869845902082048","indices":[153,176],"media_key":"3_1983869845902082048","media_url_https":"https://pbs.twimg.com/media/G4gfHSWaQAAaz8_.jpg","type":"photo","url":"https://t.co/gznhpr1ozz","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":1152,"w":2048,"resize":"fit"},"medium":{"h":675,"w":1200,"resize":"fit"},"small":{"h":383,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":2160,"width":3840,"focus_rects":[{"x":0,"y":10,"w":3840,"h":2150},{"x":1128,"y":0,"w":2160,"h":2160},{"x":1261,"y":0,"w":1895,"h":2160},{"x":1668,"y":0,"w":1080,"h":2160},{"x":0,"y":0,"w":3840,"h":2160}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1983869845902082048"}}}],"symbols":[],"timestamps":[],"urls":[{"display_url":"github.com/graphitemaster…","expanded_url":"https://github.com/graphitemaster/detour","url":"https://t.co/ZGhW4qx8uB","indices":[113,136]}],"user_mentions":[]},"extended_entities":{"media":[{"display_url":"pic.x.com/gznhpr1ozz","expanded_url":"https://x.com/hemashushu/status/1983873764501909646/photo/1","id_str":"1983869845902082048","indices":[153,176],"media_key":"3_1983869845902082048","media_url_https":"https://pbs.twimg.com/media/G4gfHSWaQAAaz8_.jpg","type":"photo","url":"https://t.co/gznhpr1ozz","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":1152,"w":2048,"resize":"fit"},"medium":{"h":675,"w":1200,"resize":"fit"},"small":{"h":383,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":2160,"width":3840,"focus_rects":[{"x":0,"y":10,"w":3840,"h":2150},{"x":1128,"y":0,"w":2160,"h":2160},{"x":1261,"y":0,"w":1895,"h":2160},{"x":1668,"y":0,"w":1080,"h":2160},{"x":0,"y":0,"w":3840,"h":2160}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1983869845902082048"}}}]},"favorited":false,"lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1983873764501909646","view_count":25494,"bookmark_count":190,"created_at":1761827338000,"favorite_count":153,"quote_count":2,"reply_count":12,"retweet_count":35,"user_id_str":"152682525","conversation_id_str":"1983873764501909646","full_text":"优雅!巧妙!\n\n我之前也想了很久如何实现:在静态链接的程序里调用动态链接库的函数。\n\n之所以有这样的想法是想让程序尽可能减少库依赖,但诸如GPU驱动、GTK/Webkit 等库显然没法将它们通通做静态链接。\n\n然后这个项目 (https://t.co/ZGhW4qx8uB) 用了一个很巧妙的方法实现了。 https://t.co/gznhpr1ozz","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,149],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[]},"favorited":false,"lang":"zh","quoted_status_id_str":"1871669914148422103","quoted_status_permalink":{"url":"https://t.co/oDJm9doBrA","expanded":"https://twitter.com/filpizlo/status/1871669914148422103","display":"x.com/filpizlo/statu…"},"retweeted":false,"fact_check":null,"id":"1905060996563279992","view_count":39141,"bookmark_count":171,"created_at":1743036910000,"favorite_count":202,"quote_count":2,"reply_count":10,"retweet_count":28,"user_id_str":"152682525","conversation_id_str":"1905060996563279992","full_text":"分享一个雄心勃勃的项目 —— 内存安全的 C 语言实现!\n\n这个开源项目非常有启发性,所以我会用大概10来20个帖子详细分析它是如何做到的,小伙伴可以先点小爱心收藏防走失。\n\n先说一下背景,正如你所知,在 C 语言里需要手动管理内存(对象的创建和释放),当你创建而忘记释放会产生内存泄漏(耗尽)、","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":1,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,178],"entities":{"hashtags":[{"indices":[166,171],"text":"rust"},{"indices":[172,178],"text":"embed"}],"media":[{"display_url":"pic.x.com/Je7guQgKGX","expanded_url":"https://x.com/hemashushu/status/1590920180108259328/video/1","id_str":"1590920110725771264","indices":[179,202],"media_key":"7_1590920110725771264","media_url_https":"https://pbs.twimg.com/ext_tw_video_thumb/1590920110725771264/pu/img/N2APhAuwYFG6uLSB.jpg","type":"video","url":"https://t.co/Je7guQgKGX","additional_media_info":{"monetizable":false},"ext_media_availability":{"status":"Available"},"sizes":{"large":{"h":720,"w":1280,"resize":"fit"},"medium":{"h":675,"w":1200,"resize":"fit"},"small":{"h":383,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":720,"width":1280,"focus_rects":[]},"video_info":{"aspect_ratio":[16,9],"duration_millis":5533,"variants":[{"content_type":"application/x-mpegURL","url":"https://video.twimg.com/ext_tw_video/1590920110725771264/pu/pl/bNKMtJVxcmuG5Ngg.m3u8?tag=12"},{"bitrate":256000,"content_type":"video/mp4","url":"https://video.twimg.com/ext_tw_video/1590920110725771264/pu/vid/480x270/1wcHeHMZuJ_b-Pgq.mp4?tag=12"},{"bitrate":832000,"content_type":"video/mp4","url":"https://video.twimg.com/ext_tw_video/1590920110725771264/pu/vid/640x360/SABg1zlWdm2r-esl.mp4?tag=12"},{"bitrate":2176000,"content_type":"video/mp4","url":"https://video.twimg.com/ext_tw_video/1590920110725771264/pu/vid/1280x720/WwoEddtDkfAsguSC.mp4?tag=12"}]},"media_results":{"result":{"media_key":"7_1590920110725771264"}}}],"symbols":[],"timestamps":[],"urls":[{"display_url":"github.com/hemashushu/pra…","expanded_url":"https://github.com/hemashushu/practice-mcu-bare-metal-rust","url":"https://t.co/nbOTG22z4S","indices":[142,165]}],"user_mentions":[]},"extended_entities":{"media":[{"display_url":"pic.x.com/Je7guQgKGX","expanded_url":"https://x.com/hemashushu/status/1590920180108259328/video/1","id_str":"1590920110725771264","indices":[179,202],"media_key":"7_1590920110725771264","media_url_https":"https://pbs.twimg.com/ext_tw_video_thumb/1590920110725771264/pu/img/N2APhAuwYFG6uLSB.jpg","type":"video","url":"https://t.co/Je7guQgKGX","additional_media_info":{"monetizable":false},"ext_media_availability":{"status":"Available"},"sizes":{"large":{"h":720,"w":1280,"resize":"fit"},"medium":{"h":675,"w":1200,"resize":"fit"},"small":{"h":383,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":720,"width":1280,"focus_rects":[]},"video_info":{"aspect_ratio":[16,9],"duration_millis":5533,"variants":[{"content_type":"application/x-mpegURL","url":"https://video.twimg.com/ext_tw_video/1590920110725771264/pu/pl/bNKMtJVxcmuG5Ngg.m3u8?tag=12"},{"bitrate":256000,"content_type":"video/mp4","url":"https://video.twimg.com/ext_tw_video/1590920110725771264/pu/vid/480x270/1wcHeHMZuJ_b-Pgq.mp4?tag=12"},{"bitrate":832000,"content_type":"video/mp4","url":"https://video.twimg.com/ext_tw_video/1590920110725771264/pu/vid/640x360/SABg1zlWdm2r-esl.mp4?tag=12"},{"bitrate":2176000,"content_type":"video/mp4","url":"https://video.twimg.com/ext_tw_video/1590920110725771264/pu/vid/1280x720/WwoEddtDkfAsguSC.mp4?tag=12"}]},"media_results":{"result":{"media_key":"7_1590920110725771264"}}}]},"favorited":false,"lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1590920180108259328","view_count":0,"bookmark_count":41,"created_at":1668139903000,"favorite_count":220,"quote_count":1,"reply_count":10,"retweet_count":34,"user_id_str":"152682525","conversation_id_str":"1590920180108259328","full_text":"测试了一下使用 Rust 书写一个微处理器(STM32F103)的裸机程序,即用不任何 SDK, IDE 或者库,不需要 C 或者汇编,唯一需要的是 Rust 编译器,然后直接读写寄存器即可。感觉用 Rust 写底层代码还行尽管优点也不是特别明显。源码里有超标的注释,感兴趣的点这里 https://t.co/nbOTG22z4S\n#rust #embed https://t.co/Je7guQgKGX","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,157],"entities":{"hashtags":[],"media":[{"display_url":"pic.x.com/tVD94fgu84","expanded_url":"https://x.com/hemashushu/status/1482313411065442308/photo/1","id_str":"1482311598480162816","indices":[158,181],"media_key":"3_1482311598480162816","media_url_https":"https://pbs.twimg.com/media/FJI6i5HaAAAO9td.jpg","type":"photo","url":"https://t.co/tVD94fgu84","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[{"x":529,"y":785,"h":77,"w":77}]},"medium":{"faces":[{"x":310,"y":460,"h":45,"w":45}]},"small":{"faces":[{"x":175,"y":260,"h":25,"w":25}]},"orig":{"faces":[{"x":1043,"y":1547,"h":153,"w":153}]}},"sizes":{"large":{"h":1536,"w":2048,"resize":"fit"},"medium":{"h":900,"w":1200,"resize":"fit"},"small":{"h":510,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":3024,"width":4032,"focus_rects":[{"x":0,"y":584,"w":4032,"h":2258},{"x":0,"y":0,"w":3024,"h":3024},{"x":0,"y":0,"w":2653,"h":3024},{"x":352,"y":0,"w":1512,"h":3024},{"x":0,"y":0,"w":4032,"h":3024}]},"media_results":{"result":{"media_key":"3_1482311598480162816"}}}],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[]},"extended_entities":{"media":[{"display_url":"pic.x.com/tVD94fgu84","expanded_url":"https://x.com/hemashushu/status/1482313411065442308/photo/1","id_str":"1482311598480162816","indices":[158,181],"media_key":"3_1482311598480162816","media_url_https":"https://pbs.twimg.com/media/FJI6i5HaAAAO9td.jpg","type":"photo","url":"https://t.co/tVD94fgu84","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[{"x":529,"y":785,"h":77,"w":77}]},"medium":{"faces":[{"x":310,"y":460,"h":45,"w":45}]},"small":{"faces":[{"x":175,"y":260,"h":25,"w":25}]},"orig":{"faces":[{"x":1043,"y":1547,"h":153,"w":153}]}},"sizes":{"large":{"h":1536,"w":2048,"resize":"fit"},"medium":{"h":900,"w":1200,"resize":"fit"},"small":{"h":510,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":3024,"width":4032,"focus_rects":[{"x":0,"y":584,"w":4032,"h":2258},{"x":0,"y":0,"w":3024,"h":3024},{"x":0,"y":0,"w":2653,"h":3024},{"x":352,"y":0,"w":1512,"h":3024},{"x":0,"y":0,"w":4032,"h":3024}]},"media_results":{"result":{"media_key":"3_1482311598480162816"}}}]},"favorited":false,"lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1482313411065442308","view_count":0,"bookmark_count":32,"created_at":1642246031000,"favorite_count":186,"quote_count":1,"reply_count":9,"retweet_count":16,"user_id_str":"152682525","conversation_id_str":"1482313411065442308","full_text":"这个礼拜终于把《算法》最后一章——字符串啃完了,也就是 KMP、Rabin-Karp 字符串搜索,以及有限状态自动机还有额外的 ac自动机,试着用 javascript 实现一遍,也顺利完成。话说这本书的这章讲得很粗略,另外一本《算法导论》更加抽象(可能没跟上它的频道,没耐心看)。但最后闭卷实现一遍之后发现... https://t.co/tVD94fgu84","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,163],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[]},"favorited":false,"lang":"zh","retweeted":false,"fact_check":null,"id":"1973311859072921927","view_count":44154,"bookmark_count":317,"created_at":1759309184000,"favorite_count":293,"quote_count":0,"reply_count":9,"retweet_count":43,"user_id_str":"152682525","conversation_id_str":"1973311859072921927","full_text":"google 的 cdc-file-transfer 是一个文件同步程序,亮点是比 rsync 的速度快几倍。那么它是如何实现的呢?\n\nrsync 是一个非常悠久且高效的远程文件(夹)同步程序,当它发现某个文件数据改变需要传输新内容时,它并不会整个文件上传,而是把文件按照固定大小(比如100 kb)切分并结算每一块的hash","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,177],"entities":{"hashtags":[],"media":[{"display_url":"pic.x.com/y7mQaYxAcO","expanded_url":"https://x.com/hemashushu/status/1987684873579229366/photo/1","id_str":"1987684496427331584","indices":[178,201],"media_key":"3_1987684496427331584","media_url_https":"https://pbs.twimg.com/media/G5WshK8aMAAkKjq.jpg","type":"photo","url":"https://t.co/y7mQaYxAcO","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":2048,"w":605,"resize":"fit"},"medium":{"h":1200,"w":354,"resize":"fit"},"small":{"h":680,"w":201,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":4096,"width":1209,"focus_rects":[{"x":0,"y":2017,"w":1209,"h":677},{"x":0,"y":1751,"w":1209,"h":1209},{"x":0,"y":1666,"w":1209,"h":1378},{"x":0,"y":1146,"w":1209,"h":2418},{"x":0,"y":0,"w":1209,"h":4096}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1987684496427331584"}}},{"display_url":"pic.x.com/y7mQaYxAcO","expanded_url":"https://x.com/hemashushu/status/1987684873579229366/photo/1","id_str":"1987684745992691712","indices":[178,201],"media_key":"3_1987684745992691712","media_url_https":"https://pbs.twimg.com/media/G5WsvspbYAAVTFM.jpg","type":"photo","url":"https://t.co/y7mQaYxAcO","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":864,"w":1493,"resize":"fit"},"medium":{"h":694,"w":1200,"resize":"fit"},"small":{"h":394,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":864,"width":1493,"focus_rects":[{"x":0,"y":0,"w":1493,"h":836},{"x":0,"y":0,"w":864,"h":864},{"x":0,"y":0,"w":758,"h":864},{"x":45,"y":0,"w":432,"h":864},{"x":0,"y":0,"w":1493,"h":864}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1987684745992691712"}}}],"symbols":[],"timestamps":[],"urls":[{"display_url":"build-your-own.org/redis/","expanded_url":"https://build-your-own.org/redis/","url":"https://t.co/6mVtSlCXnB","indices":[154,177]}],"user_mentions":[]},"extended_entities":{"media":[{"display_url":"pic.x.com/y7mQaYxAcO","expanded_url":"https://x.com/hemashushu/status/1987684873579229366/photo/1","id_str":"1987684496427331584","indices":[178,201],"media_key":"3_1987684496427331584","media_url_https":"https://pbs.twimg.com/media/G5WshK8aMAAkKjq.jpg","type":"photo","url":"https://t.co/y7mQaYxAcO","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":2048,"w":605,"resize":"fit"},"medium":{"h":1200,"w":354,"resize":"fit"},"small":{"h":680,"w":201,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":4096,"width":1209,"focus_rects":[{"x":0,"y":2017,"w":1209,"h":677},{"x":0,"y":1751,"w":1209,"h":1209},{"x":0,"y":1666,"w":1209,"h":1378},{"x":0,"y":1146,"w":1209,"h":2418},{"x":0,"y":0,"w":1209,"h":4096}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1987684496427331584"}}},{"display_url":"pic.x.com/y7mQaYxAcO","expanded_url":"https://x.com/hemashushu/status/1987684873579229366/photo/1","id_str":"1987684745992691712","indices":[178,201],"media_key":"3_1987684745992691712","media_url_https":"https://pbs.twimg.com/media/G5WsvspbYAAVTFM.jpg","type":"photo","url":"https://t.co/y7mQaYxAcO","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":864,"w":1493,"resize":"fit"},"medium":{"h":694,"w":1200,"resize":"fit"},"small":{"h":394,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":864,"width":1493,"focus_rects":[{"x":0,"y":0,"w":1493,"h":836},{"x":0,"y":0,"w":864,"h":864},{"x":0,"y":0,"w":758,"h":864},{"x":45,"y":0,"w":432,"h":864},{"x":0,"y":0,"w":1493,"h":864}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1987684745992691712"}}}]},"favorited":false,"lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1987684873579229366","view_count":57766,"bookmark_count":855,"created_at":1762735977000,"favorite_count":721,"quote_count":4,"reply_count":9,"retweet_count":155,"user_id_str":"152682525","conversation_id_str":"1987684873579229366","full_text":"分享一个非常适合入门 Linux 编程的教程《Build Your Own Redis with C/C++》\n\n这个教程的特点是将知识点讲得非常细致,生怕你看不懂,同时循序渐进地展开怕你中途放弃。从 socket/tcp 开始,讲到并发(异步)、散列表、序列化、快取等,可谓非常全面,非常适合用来练手。\n\nhttps://t.co/6mVtSlCXnB https://t.co/y7mQaYxAcO","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null}],"activities":{"nreplies":[{"label":"2025-10-22","value":0,"startTime":1761004800000,"endTime":1761091200000,"tweets":[]},{"label":"2025-10-23","value":0,"startTime":1761091200000,"endTime":1761177600000,"tweets":[]},{"label":"2025-10-24","value":0,"startTime":1761177600000,"endTime":1761264000000,"tweets":[{"bookmarked":false,"display_text_range":[0,14],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[]},"favorited":false,"lang":"zh","quoted_status_id_str":"1980475117256995254","quoted_status_permalink":{"url":"https://t.co/hS3OB2R6JR","expanded":"https://twitter.com/sanmiguelnoodle/status/1980475117256995254","display":"x.com/sanmiguelnoodl…"},"retweeted":false,"fact_check":null,"id":"1981163447288287367","view_count":3121,"bookmark_count":0,"created_at":1761181148000,"favorite_count":7,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"152682525","conversation_id_str":"1981163447288287367","full_text":"不知道为什么莫名地笑了www","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":1,"is_ai":null,"ai_score":null}]},{"label":"2025-10-25","value":0,"startTime":1761264000000,"endTime":1761350400000,"tweets":[]},{"label":"2025-10-26","value":0,"startTime":1761350400000,"endTime":1761436800000,"tweets":[]},{"label":"2025-10-27","value":0,"startTime":1761436800000,"endTime":1761523200000,"tweets":[]},{"label":"2025-10-28","value":0,"startTime":1761523200000,"endTime":1761609600000,"tweets":[]},{"label":"2025-10-29","value":0,"startTime":1761609600000,"endTime":1761696000000,"tweets":[]},{"label":"2025-10-30","value":0,"startTime":1761696000000,"endTime":1761782400000,"tweets":[]},{"label":"2025-10-31","value":16,"startTime":1761782400000,"endTime":1761868800000,"tweets":[{"bookmarked":false,"display_text_range":[0,152],"entities":{"hashtags":[],"media":[{"display_url":"pic.x.com/gznhpr1ozz","expanded_url":"https://x.com/hemashushu/status/1983873764501909646/photo/1","id_str":"1983869845902082048","indices":[153,176],"media_key":"3_1983869845902082048","media_url_https":"https://pbs.twimg.com/media/G4gfHSWaQAAaz8_.jpg","type":"photo","url":"https://t.co/gznhpr1ozz","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":1152,"w":2048,"resize":"fit"},"medium":{"h":675,"w":1200,"resize":"fit"},"small":{"h":383,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":2160,"width":3840,"focus_rects":[{"x":0,"y":10,"w":3840,"h":2150},{"x":1128,"y":0,"w":2160,"h":2160},{"x":1261,"y":0,"w":1895,"h":2160},{"x":1668,"y":0,"w":1080,"h":2160},{"x":0,"y":0,"w":3840,"h":2160}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1983869845902082048"}}}],"symbols":[],"timestamps":[],"urls":[{"display_url":"github.com/graphitemaster…","expanded_url":"https://github.com/graphitemaster/detour","url":"https://t.co/ZGhW4qx8uB","indices":[113,136]}],"user_mentions":[]},"extended_entities":{"media":[{"display_url":"pic.x.com/gznhpr1ozz","expanded_url":"https://x.com/hemashushu/status/1983873764501909646/photo/1","id_str":"1983869845902082048","indices":[153,176],"media_key":"3_1983869845902082048","media_url_https":"https://pbs.twimg.com/media/G4gfHSWaQAAaz8_.jpg","type":"photo","url":"https://t.co/gznhpr1ozz","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":1152,"w":2048,"resize":"fit"},"medium":{"h":675,"w":1200,"resize":"fit"},"small":{"h":383,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":2160,"width":3840,"focus_rects":[{"x":0,"y":10,"w":3840,"h":2150},{"x":1128,"y":0,"w":2160,"h":2160},{"x":1261,"y":0,"w":1895,"h":2160},{"x":1668,"y":0,"w":1080,"h":2160},{"x":0,"y":0,"w":3840,"h":2160}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1983869845902082048"}}}]},"favorited":false,"lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1983873764501909646","view_count":25494,"bookmark_count":190,"created_at":1761827338000,"favorite_count":153,"quote_count":2,"reply_count":12,"retweet_count":35,"user_id_str":"152682525","conversation_id_str":"1983873764501909646","full_text":"优雅!巧妙!\n\n我之前也想了很久如何实现:在静态链接的程序里调用动态链接库的函数。\n\n之所以有这样的想法是想让程序尽可能减少库依赖,但诸如GPU驱动、GTK/Webkit 等库显然没法将它们通通做静态链接。\n\n然后这个项目 (https://t.co/ZGhW4qx8uB) 用了一个很巧妙的方法实现了。 https://t.co/gznhpr1ozz","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,175],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[{"display_url":"ld-linux.so","expanded_url":"http://ld-linux.so","url":"https://t.co/p3peuRINDs","indices":[15,38]}],"user_mentions":[]},"favorited":false,"in_reply_to_screen_name":"hemashushu","lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1983873768851435540","view_count":996,"bookmark_count":1,"created_at":1761827339000,"favorite_count":6,"quote_count":0,"reply_count":1,"retweet_count":1,"user_id_str":"152682525","conversation_id_str":"1983873764501909646","full_text":"简单来说,主程序一开始就加载 https://t.co/p3peuRINDs(该库是静态链接的),然后多准备了一个只有 main 函数的副程序,让 ld-linux 加载这个副程序,main 函数的作用是获取 dlopen/dlsym 等 dl* 函数的地址,然后返回到主程序。如此一来主程序就可以使用 dl* 等动态加载函数了。\n\n只所以要这么绕…","in_reply_to_user_id_str":"152682525","in_reply_to_status_id_str":"1983873764501909646","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,159],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[]},"favorited":false,"in_reply_to_screen_name":"hemashushu","lang":"zh","retweeted":false,"fact_check":null,"id":"1983873771292520716","view_count":1342,"bookmark_count":1,"created_at":1761827340000,"favorite_count":4,"quote_count":0,"reply_count":2,"retweet_count":0,"user_id_str":"152682525","conversation_id_str":"1983873764501909646","full_text":"这么绕的原因是你无法直接将动态链接库(/usr/lib/*.so)加载到内存,然后通过寻找函数地址的方式来调用其中的函数。\n\n因为这些库在设计上实际上都是由 ld-linux 加载的,加载器会做很多初始化工作,如加载依赖的依赖,它其实就是一个 runtime,所以函数自然没法在缺少 runtime 的情况下正常运行。","in_reply_to_user_id_str":"152682525","in_reply_to_status_id_str":"1983873768851435540","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,144],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[]},"favorited":false,"in_reply_to_screen_name":"hemashushu","lang":"zh","retweeted":false,"fact_check":null,"id":"1983873774325002619","view_count":1228,"bookmark_count":0,"created_at":1761827341000,"favorite_count":3,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"152682525","conversation_id_str":"1983873764501909646","full_text":"当然这个方法要求主程序在运行中“静悄悄地”释放一个可执行程序,也不算非常优雅,但确实是最简单且可行的方法。\n\n早前我还想过能不能在程序里嵌入一个动态加载器(即类似ld-linux的角色),如果目标动态库没有再依赖其他库,倒是可行,但这样通用性就大打折扣了,就不知道还有没其他优雅的方法……","in_reply_to_user_id_str":"152682525","in_reply_to_status_id_str":"1983873771292520716","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[12,164],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"7755562","name":"AlexZ 🦀","screen_name":"blackanger","indices":[0,11]}]},"favorited":false,"in_reply_to_screen_name":"blackanger","lang":"zh","retweeted":false,"fact_check":null,"id":"1983896092384358614","view_count":740,"bookmark_count":0,"created_at":1761832662000,"favorite_count":1,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"152682525","conversation_id_str":"1983873764501909646","full_text":"@blackanger 理论上是可以把glibc或者musl的动态链接器包含在主程序里,但比较稳健的做法还是使用当前系统的链接器,毕竟不确定最终运行环境的是哪一个以及版本是什么,不同加载器和版本不太通用(用 musl 加载器加载基于 glibc 的共享库好像会出错)话说我挺强烈赞成全部用rust重写的,真受够这些部署的依赖问题","in_reply_to_user_id_str":"7755562","in_reply_to_status_id_str":"1983891975930810774","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-01","value":6,"startTime":1761868800000,"endTime":1761955200000,"tweets":[{"bookmarked":false,"display_text_range":[0,159],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[{"display_url":"emily.space/posts/251023-uv","expanded_url":"https://emily.space/posts/251023-uv","url":"https://t.co/dKaV5ByaGf","indices":[136,159]}],"user_mentions":[]},"favorited":false,"lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1984141269581602873","view_count":4318,"bookmark_count":34,"created_at":1761891116000,"favorite_count":36,"quote_count":0,"reply_count":6,"retweet_count":2,"user_id_str":"152682525","conversation_id_str":"1984141269581602873","full_text":"近一两年工具方面让我印象比较深刻的有pnpm和uv。\n\n这两者较相似,都是在一大堆莫名奇妙的前任们肆虐开发者身心几年后,终于冒出比较正常的包管理器。\n\n其中uv更为深刻,虽说用rust编写生成的代码不会变快但利用了可靠的并行方法让程序整体效率的确有显著的提升,很有启发。 https://t.co/dKaV5ByaGf","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[12,33],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"743651613848408064","name":"yuahuua","screen_name":"yuahualove","indices":[0,11]}]},"favorited":false,"in_reply_to_screen_name":"yuahualove","lang":"zh","retweeted":false,"fact_check":null,"id":"1984183703023824987","view_count":89,"bookmark_count":0,"created_at":1761901233000,"favorite_count":1,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"152682525","conversation_id_str":"1983873764501909646","full_text":"@yuahualove 让程序变成 portable (绿色软件)","in_reply_to_user_id_str":"743651613848408064","in_reply_to_status_id_str":"1984178808350761222","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-02","value":0,"startTime":1761955200000,"endTime":1762041600000,"tweets":[]},{"label":"2025-11-03","value":0,"startTime":1762041600000,"endTime":1762128000000,"tweets":[]},{"label":"2025-11-04","value":0,"startTime":1762128000000,"endTime":1762214400000,"tweets":[]},{"label":"2025-11-05","value":0,"startTime":1762214400000,"endTime":1762300800000,"tweets":[]},{"label":"2025-11-06","value":0,"startTime":1762300800000,"endTime":1762387200000,"tweets":[]},{"label":"2025-11-07","value":0,"startTime":1762387200000,"endTime":1762473600000,"tweets":[]},{"label":"2025-11-08","value":0,"startTime":1762473600000,"endTime":1762560000000,"tweets":[]},{"label":"2025-11-09","value":0,"startTime":1762560000000,"endTime":1762646400000,"tweets":[]},{"label":"2025-11-10","value":0,"startTime":1762646400000,"endTime":1762732800000,"tweets":[]},{"label":"2025-11-11","value":33,"startTime":1762732800000,"endTime":1762819200000,"tweets":[{"bookmarked":false,"display_text_range":[0,177],"entities":{"hashtags":[],"media":[{"display_url":"pic.x.com/y7mQaYxAcO","expanded_url":"https://x.com/hemashushu/status/1987684873579229366/photo/1","id_str":"1987684496427331584","indices":[178,201],"media_key":"3_1987684496427331584","media_url_https":"https://pbs.twimg.com/media/G5WshK8aMAAkKjq.jpg","type":"photo","url":"https://t.co/y7mQaYxAcO","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":2048,"w":605,"resize":"fit"},"medium":{"h":1200,"w":354,"resize":"fit"},"small":{"h":680,"w":201,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":4096,"width":1209,"focus_rects":[{"x":0,"y":2017,"w":1209,"h":677},{"x":0,"y":1751,"w":1209,"h":1209},{"x":0,"y":1666,"w":1209,"h":1378},{"x":0,"y":1146,"w":1209,"h":2418},{"x":0,"y":0,"w":1209,"h":4096}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1987684496427331584"}}},{"display_url":"pic.x.com/y7mQaYxAcO","expanded_url":"https://x.com/hemashushu/status/1987684873579229366/photo/1","id_str":"1987684745992691712","indices":[178,201],"media_key":"3_1987684745992691712","media_url_https":"https://pbs.twimg.com/media/G5WsvspbYAAVTFM.jpg","type":"photo","url":"https://t.co/y7mQaYxAcO","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":864,"w":1493,"resize":"fit"},"medium":{"h":694,"w":1200,"resize":"fit"},"small":{"h":394,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":864,"width":1493,"focus_rects":[{"x":0,"y":0,"w":1493,"h":836},{"x":0,"y":0,"w":864,"h":864},{"x":0,"y":0,"w":758,"h":864},{"x":45,"y":0,"w":432,"h":864},{"x":0,"y":0,"w":1493,"h":864}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1987684745992691712"}}}],"symbols":[],"timestamps":[],"urls":[{"display_url":"build-your-own.org/redis/","expanded_url":"https://build-your-own.org/redis/","url":"https://t.co/6mVtSlCXnB","indices":[154,177]}],"user_mentions":[]},"extended_entities":{"media":[{"display_url":"pic.x.com/y7mQaYxAcO","expanded_url":"https://x.com/hemashushu/status/1987684873579229366/photo/1","id_str":"1987684496427331584","indices":[178,201],"media_key":"3_1987684496427331584","media_url_https":"https://pbs.twimg.com/media/G5WshK8aMAAkKjq.jpg","type":"photo","url":"https://t.co/y7mQaYxAcO","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":2048,"w":605,"resize":"fit"},"medium":{"h":1200,"w":354,"resize":"fit"},"small":{"h":680,"w":201,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":4096,"width":1209,"focus_rects":[{"x":0,"y":2017,"w":1209,"h":677},{"x":0,"y":1751,"w":1209,"h":1209},{"x":0,"y":1666,"w":1209,"h":1378},{"x":0,"y":1146,"w":1209,"h":2418},{"x":0,"y":0,"w":1209,"h":4096}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1987684496427331584"}}},{"display_url":"pic.x.com/y7mQaYxAcO","expanded_url":"https://x.com/hemashushu/status/1987684873579229366/photo/1","id_str":"1987684745992691712","indices":[178,201],"media_key":"3_1987684745992691712","media_url_https":"https://pbs.twimg.com/media/G5WsvspbYAAVTFM.jpg","type":"photo","url":"https://t.co/y7mQaYxAcO","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":864,"w":1493,"resize":"fit"},"medium":{"h":694,"w":1200,"resize":"fit"},"small":{"h":394,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":864,"width":1493,"focus_rects":[{"x":0,"y":0,"w":1493,"h":836},{"x":0,"y":0,"w":864,"h":864},{"x":0,"y":0,"w":758,"h":864},{"x":45,"y":0,"w":432,"h":864},{"x":0,"y":0,"w":1493,"h":864}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1987684745992691712"}}}]},"favorited":false,"lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1987684873579229366","view_count":57766,"bookmark_count":855,"created_at":1762735977000,"favorite_count":721,"quote_count":4,"reply_count":9,"retweet_count":155,"user_id_str":"152682525","conversation_id_str":"1987684873579229366","full_text":"分享一个非常适合入门 Linux 编程的教程《Build Your Own Redis with C/C++》\n\n这个教程的特点是将知识点讲得非常细致,生怕你看不懂,同时循序渐进地展开怕你中途放弃。从 socket/tcp 开始,讲到并发(异步)、散列表、序列化、快取等,可谓非常全面,非常适合用来练手。\n\nhttps://t.co/6mVtSlCXnB https://t.co/y7mQaYxAcO","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,152],"entities":{"hashtags":[],"media":[{"display_url":"pic.x.com/8NN4CZ3f2L","expanded_url":"https://x.com/hemashushu/status/1987681953987043411/video/1","id_str":"1987681362309246976","indices":[153,176],"media_key":"13_1987681362309246976","media_url_https":"https://pbs.twimg.com/amplify_video_thumb/1987681362309246976/img/gSvi_xou6TJZeUVR.jpg","type":"video","url":"https://t.co/8NN4CZ3f2L","additional_media_info":{"monetizable":false},"ext_media_availability":{"status":"Available"},"sizes":{"large":{"h":1080,"w":1920,"resize":"fit"},"medium":{"h":675,"w":1200,"resize":"fit"},"small":{"h":383,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":1080,"width":1920,"focus_rects":[]},"allow_download_status":{"allow_download":true},"video_info":{"aspect_ratio":[16,9],"duration_millis":16850,"variants":[{"content_type":"application/x-mpegURL","url":"https://video.twimg.com/amplify_video/1987681362309246976/pl/TvNA8h0a0DqA8eDM.m3u8?tag=14&v=cfc"},{"bitrate":288000,"content_type":"video/mp4","url":"https://video.twimg.com/amplify_video/1987681362309246976/vid/avc1/480x270/K2DQ8S2rEBIY3VDF.mp4?tag=14"},{"bitrate":832000,"content_type":"video/mp4","url":"https://video.twimg.com/amplify_video/1987681362309246976/vid/avc1/640x360/4WXmaHbeJOzC5BAY.mp4?tag=14"},{"bitrate":2176000,"content_type":"video/mp4","url":"https://video.twimg.com/amplify_video/1987681362309246976/vid/avc1/1280x720/Us1JABpY7xYFag_Q.mp4?tag=14"}]},"media_results":{"result":{"media_key":"13_1987681362309246976"}}}],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[]},"extended_entities":{"media":[{"display_url":"pic.x.com/8NN4CZ3f2L","expanded_url":"https://x.com/hemashushu/status/1987681953987043411/video/1","id_str":"1987681362309246976","indices":[153,176],"media_key":"13_1987681362309246976","media_url_https":"https://pbs.twimg.com/amplify_video_thumb/1987681362309246976/img/gSvi_xou6TJZeUVR.jpg","type":"video","url":"https://t.co/8NN4CZ3f2L","additional_media_info":{"monetizable":false},"ext_media_availability":{"status":"Available"},"sizes":{"large":{"h":1080,"w":1920,"resize":"fit"},"medium":{"h":675,"w":1200,"resize":"fit"},"small":{"h":383,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":1080,"width":1920,"focus_rects":[]},"allow_download_status":{"allow_download":true},"video_info":{"aspect_ratio":[16,9],"duration_millis":16850,"variants":[{"content_type":"application/x-mpegURL","url":"https://video.twimg.com/amplify_video/1987681362309246976/pl/TvNA8h0a0DqA8eDM.m3u8?tag=14&v=cfc"},{"bitrate":288000,"content_type":"video/mp4","url":"https://video.twimg.com/amplify_video/1987681362309246976/vid/avc1/480x270/K2DQ8S2rEBIY3VDF.mp4?tag=14"},{"bitrate":832000,"content_type":"video/mp4","url":"https://video.twimg.com/amplify_video/1987681362309246976/vid/avc1/640x360/4WXmaHbeJOzC5BAY.mp4?tag=14"},{"bitrate":2176000,"content_type":"video/mp4","url":"https://video.twimg.com/amplify_video/1987681362309246976/vid/avc1/1280x720/Us1JABpY7xYFag_Q.mp4?tag=14"}]},"media_results":{"result":{"media_key":"13_1987681362309246976"}}}]},"favorited":false,"lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1987681953987043411","view_count":41218,"bookmark_count":52,"created_at":1762735281000,"favorite_count":117,"quote_count":3,"reply_count":24,"retweet_count":8,"user_id_str":"152682525","conversation_id_str":"1987681953987043411","full_text":"刚看到一个视频,博主用切换窗口动画的流畅度来判断操作系统的强弱。\n\n其实我觉得linux桌面的动画一直还不错哈,早期是ubuntu8.04还是更早版本记得不太清楚,桌面动画非常夸张,后来倒是逐渐朴素。\n\n视频是我尝试弹射read-it-later浏览器窗口,可能是因为本地录频有点掉帧,实际动画很流畅的。 https://t.co/8NN4CZ3f2L","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-12","value":0,"startTime":1762819200000,"endTime":1762905600000,"tweets":[{"bookmarked":false,"display_text_range":[11,87],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"4375814952","name":"Tit1e","screen_name":"evollyone","indices":[0,10]}]},"favorited":false,"in_reply_to_screen_name":"evollyone","lang":"zh","retweeted":false,"fact_check":null,"id":"1988072941205287050","view_count":167,"bookmark_count":0,"created_at":1762828500000,"favorite_count":1,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"152682525","conversation_id_str":"1987757085795455282","full_text":"@evollyone 是的,高速滚动的画面遇到尽头突然停止,在视觉上是有一点“心理膈应”的感觉,使用“回弹”来解决其实挺巧妙的,后来android用“拉伸”来解决好像也不错。","in_reply_to_user_id_str":"4375814952","in_reply_to_status_id_str":"1987757085795455282","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-13","value":0,"startTime":1762905600000,"endTime":1762992000000,"tweets":[]},{"label":"2025-11-14","value":0,"startTime":1762992000000,"endTime":1763078400000,"tweets":[]},{"label":"2025-11-15","value":0,"startTime":1763078400000,"endTime":1763164800000,"tweets":[]},{"label":"2025-11-16","value":0,"startTime":1763164800000,"endTime":1763251200000,"tweets":[]},{"label":"2025-11-17","value":0,"startTime":1763251200000,"endTime":1763337600000,"tweets":[]},{"label":"2025-11-18","value":0,"startTime":1763337600000,"endTime":1763424000000,"tweets":[]},{"label":"2025-11-19","value":0,"startTime":1763424000000,"endTime":1763510400000,"tweets":[]},{"label":"2025-11-20","value":0,"startTime":1763510400000,"endTime":1763596800000,"tweets":[]},{"label":"2025-11-21","value":0,"startTime":1763596800000,"endTime":1763683200000,"tweets":[]}],"nbookmarks":[{"label":"2025-10-22","value":0,"startTime":1761004800000,"endTime":1761091200000,"tweets":[]},{"label":"2025-10-23","value":0,"startTime":1761091200000,"endTime":1761177600000,"tweets":[]},{"label":"2025-10-24","value":0,"startTime":1761177600000,"endTime":1761264000000,"tweets":[{"bookmarked":false,"display_text_range":[0,14],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[]},"favorited":false,"lang":"zh","quoted_status_id_str":"1980475117256995254","quoted_status_permalink":{"url":"https://t.co/hS3OB2R6JR","expanded":"https://twitter.com/sanmiguelnoodle/status/1980475117256995254","display":"x.com/sanmiguelnoodl…"},"retweeted":false,"fact_check":null,"id":"1981163447288287367","view_count":3121,"bookmark_count":0,"created_at":1761181148000,"favorite_count":7,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"152682525","conversation_id_str":"1981163447288287367","full_text":"不知道为什么莫名地笑了www","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":1,"is_ai":null,"ai_score":null}]},{"label":"2025-10-25","value":0,"startTime":1761264000000,"endTime":1761350400000,"tweets":[]},{"label":"2025-10-26","value":0,"startTime":1761350400000,"endTime":1761436800000,"tweets":[]},{"label":"2025-10-27","value":0,"startTime":1761436800000,"endTime":1761523200000,"tweets":[]},{"label":"2025-10-28","value":0,"startTime":1761523200000,"endTime":1761609600000,"tweets":[]},{"label":"2025-10-29","value":0,"startTime":1761609600000,"endTime":1761696000000,"tweets":[]},{"label":"2025-10-30","value":0,"startTime":1761696000000,"endTime":1761782400000,"tweets":[]},{"label":"2025-10-31","value":192,"startTime":1761782400000,"endTime":1761868800000,"tweets":[{"bookmarked":false,"display_text_range":[0,152],"entities":{"hashtags":[],"media":[{"display_url":"pic.x.com/gznhpr1ozz","expanded_url":"https://x.com/hemashushu/status/1983873764501909646/photo/1","id_str":"1983869845902082048","indices":[153,176],"media_key":"3_1983869845902082048","media_url_https":"https://pbs.twimg.com/media/G4gfHSWaQAAaz8_.jpg","type":"photo","url":"https://t.co/gznhpr1ozz","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":1152,"w":2048,"resize":"fit"},"medium":{"h":675,"w":1200,"resize":"fit"},"small":{"h":383,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":2160,"width":3840,"focus_rects":[{"x":0,"y":10,"w":3840,"h":2150},{"x":1128,"y":0,"w":2160,"h":2160},{"x":1261,"y":0,"w":1895,"h":2160},{"x":1668,"y":0,"w":1080,"h":2160},{"x":0,"y":0,"w":3840,"h":2160}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1983869845902082048"}}}],"symbols":[],"timestamps":[],"urls":[{"display_url":"github.com/graphitemaster…","expanded_url":"https://github.com/graphitemaster/detour","url":"https://t.co/ZGhW4qx8uB","indices":[113,136]}],"user_mentions":[]},"extended_entities":{"media":[{"display_url":"pic.x.com/gznhpr1ozz","expanded_url":"https://x.com/hemashushu/status/1983873764501909646/photo/1","id_str":"1983869845902082048","indices":[153,176],"media_key":"3_1983869845902082048","media_url_https":"https://pbs.twimg.com/media/G4gfHSWaQAAaz8_.jpg","type":"photo","url":"https://t.co/gznhpr1ozz","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":1152,"w":2048,"resize":"fit"},"medium":{"h":675,"w":1200,"resize":"fit"},"small":{"h":383,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":2160,"width":3840,"focus_rects":[{"x":0,"y":10,"w":3840,"h":2150},{"x":1128,"y":0,"w":2160,"h":2160},{"x":1261,"y":0,"w":1895,"h":2160},{"x":1668,"y":0,"w":1080,"h":2160},{"x":0,"y":0,"w":3840,"h":2160}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1983869845902082048"}}}]},"favorited":false,"lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1983873764501909646","view_count":25494,"bookmark_count":190,"created_at":1761827338000,"favorite_count":153,"quote_count":2,"reply_count":12,"retweet_count":35,"user_id_str":"152682525","conversation_id_str":"1983873764501909646","full_text":"优雅!巧妙!\n\n我之前也想了很久如何实现:在静态链接的程序里调用动态链接库的函数。\n\n之所以有这样的想法是想让程序尽可能减少库依赖,但诸如GPU驱动、GTK/Webkit 等库显然没法将它们通通做静态链接。\n\n然后这个项目 (https://t.co/ZGhW4qx8uB) 用了一个很巧妙的方法实现了。 https://t.co/gznhpr1ozz","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,175],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[{"display_url":"ld-linux.so","expanded_url":"http://ld-linux.so","url":"https://t.co/p3peuRINDs","indices":[15,38]}],"user_mentions":[]},"favorited":false,"in_reply_to_screen_name":"hemashushu","lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1983873768851435540","view_count":996,"bookmark_count":1,"created_at":1761827339000,"favorite_count":6,"quote_count":0,"reply_count":1,"retweet_count":1,"user_id_str":"152682525","conversation_id_str":"1983873764501909646","full_text":"简单来说,主程序一开始就加载 https://t.co/p3peuRINDs(该库是静态链接的),然后多准备了一个只有 main 函数的副程序,让 ld-linux 加载这个副程序,main 函数的作用是获取 dlopen/dlsym 等 dl* 函数的地址,然后返回到主程序。如此一来主程序就可以使用 dl* 等动态加载函数了。\n\n只所以要这么绕…","in_reply_to_user_id_str":"152682525","in_reply_to_status_id_str":"1983873764501909646","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,159],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[]},"favorited":false,"in_reply_to_screen_name":"hemashushu","lang":"zh","retweeted":false,"fact_check":null,"id":"1983873771292520716","view_count":1342,"bookmark_count":1,"created_at":1761827340000,"favorite_count":4,"quote_count":0,"reply_count":2,"retweet_count":0,"user_id_str":"152682525","conversation_id_str":"1983873764501909646","full_text":"这么绕的原因是你无法直接将动态链接库(/usr/lib/*.so)加载到内存,然后通过寻找函数地址的方式来调用其中的函数。\n\n因为这些库在设计上实际上都是由 ld-linux 加载的,加载器会做很多初始化工作,如加载依赖的依赖,它其实就是一个 runtime,所以函数自然没法在缺少 runtime 的情况下正常运行。","in_reply_to_user_id_str":"152682525","in_reply_to_status_id_str":"1983873768851435540","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,144],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[]},"favorited":false,"in_reply_to_screen_name":"hemashushu","lang":"zh","retweeted":false,"fact_check":null,"id":"1983873774325002619","view_count":1228,"bookmark_count":0,"created_at":1761827341000,"favorite_count":3,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"152682525","conversation_id_str":"1983873764501909646","full_text":"当然这个方法要求主程序在运行中“静悄悄地”释放一个可执行程序,也不算非常优雅,但确实是最简单且可行的方法。\n\n早前我还想过能不能在程序里嵌入一个动态加载器(即类似ld-linux的角色),如果目标动态库没有再依赖其他库,倒是可行,但这样通用性就大打折扣了,就不知道还有没其他优雅的方法……","in_reply_to_user_id_str":"152682525","in_reply_to_status_id_str":"1983873771292520716","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[12,164],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"7755562","name":"AlexZ 🦀","screen_name":"blackanger","indices":[0,11]}]},"favorited":false,"in_reply_to_screen_name":"blackanger","lang":"zh","retweeted":false,"fact_check":null,"id":"1983896092384358614","view_count":740,"bookmark_count":0,"created_at":1761832662000,"favorite_count":1,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"152682525","conversation_id_str":"1983873764501909646","full_text":"@blackanger 理论上是可以把glibc或者musl的动态链接器包含在主程序里,但比较稳健的做法还是使用当前系统的链接器,毕竟不确定最终运行环境的是哪一个以及版本是什么,不同加载器和版本不太通用(用 musl 加载器加载基于 glibc 的共享库好像会出错)话说我挺强烈赞成全部用rust重写的,真受够这些部署的依赖问题","in_reply_to_user_id_str":"7755562","in_reply_to_status_id_str":"1983891975930810774","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-01","value":34,"startTime":1761868800000,"endTime":1761955200000,"tweets":[{"bookmarked":false,"display_text_range":[0,159],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[{"display_url":"emily.space/posts/251023-uv","expanded_url":"https://emily.space/posts/251023-uv","url":"https://t.co/dKaV5ByaGf","indices":[136,159]}],"user_mentions":[]},"favorited":false,"lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1984141269581602873","view_count":4318,"bookmark_count":34,"created_at":1761891116000,"favorite_count":36,"quote_count":0,"reply_count":6,"retweet_count":2,"user_id_str":"152682525","conversation_id_str":"1984141269581602873","full_text":"近一两年工具方面让我印象比较深刻的有pnpm和uv。\n\n这两者较相似,都是在一大堆莫名奇妙的前任们肆虐开发者身心几年后,终于冒出比较正常的包管理器。\n\n其中uv更为深刻,虽说用rust编写生成的代码不会变快但利用了可靠的并行方法让程序整体效率的确有显著的提升,很有启发。 https://t.co/dKaV5ByaGf","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[12,33],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"743651613848408064","name":"yuahuua","screen_name":"yuahualove","indices":[0,11]}]},"favorited":false,"in_reply_to_screen_name":"yuahualove","lang":"zh","retweeted":false,"fact_check":null,"id":"1984183703023824987","view_count":89,"bookmark_count":0,"created_at":1761901233000,"favorite_count":1,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"152682525","conversation_id_str":"1983873764501909646","full_text":"@yuahualove 让程序变成 portable (绿色软件)","in_reply_to_user_id_str":"743651613848408064","in_reply_to_status_id_str":"1984178808350761222","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-02","value":0,"startTime":1761955200000,"endTime":1762041600000,"tweets":[]},{"label":"2025-11-03","value":0,"startTime":1762041600000,"endTime":1762128000000,"tweets":[]},{"label":"2025-11-04","value":0,"startTime":1762128000000,"endTime":1762214400000,"tweets":[]},{"label":"2025-11-05","value":0,"startTime":1762214400000,"endTime":1762300800000,"tweets":[]},{"label":"2025-11-06","value":0,"startTime":1762300800000,"endTime":1762387200000,"tweets":[]},{"label":"2025-11-07","value":0,"startTime":1762387200000,"endTime":1762473600000,"tweets":[]},{"label":"2025-11-08","value":0,"startTime":1762473600000,"endTime":1762560000000,"tweets":[]},{"label":"2025-11-09","value":0,"startTime":1762560000000,"endTime":1762646400000,"tweets":[]},{"label":"2025-11-10","value":0,"startTime":1762646400000,"endTime":1762732800000,"tweets":[]},{"label":"2025-11-11","value":907,"startTime":1762732800000,"endTime":1762819200000,"tweets":[{"bookmarked":false,"display_text_range":[0,177],"entities":{"hashtags":[],"media":[{"display_url":"pic.x.com/y7mQaYxAcO","expanded_url":"https://x.com/hemashushu/status/1987684873579229366/photo/1","id_str":"1987684496427331584","indices":[178,201],"media_key":"3_1987684496427331584","media_url_https":"https://pbs.twimg.com/media/G5WshK8aMAAkKjq.jpg","type":"photo","url":"https://t.co/y7mQaYxAcO","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":2048,"w":605,"resize":"fit"},"medium":{"h":1200,"w":354,"resize":"fit"},"small":{"h":680,"w":201,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":4096,"width":1209,"focus_rects":[{"x":0,"y":2017,"w":1209,"h":677},{"x":0,"y":1751,"w":1209,"h":1209},{"x":0,"y":1666,"w":1209,"h":1378},{"x":0,"y":1146,"w":1209,"h":2418},{"x":0,"y":0,"w":1209,"h":4096}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1987684496427331584"}}},{"display_url":"pic.x.com/y7mQaYxAcO","expanded_url":"https://x.com/hemashushu/status/1987684873579229366/photo/1","id_str":"1987684745992691712","indices":[178,201],"media_key":"3_1987684745992691712","media_url_https":"https://pbs.twimg.com/media/G5WsvspbYAAVTFM.jpg","type":"photo","url":"https://t.co/y7mQaYxAcO","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":864,"w":1493,"resize":"fit"},"medium":{"h":694,"w":1200,"resize":"fit"},"small":{"h":394,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":864,"width":1493,"focus_rects":[{"x":0,"y":0,"w":1493,"h":836},{"x":0,"y":0,"w":864,"h":864},{"x":0,"y":0,"w":758,"h":864},{"x":45,"y":0,"w":432,"h":864},{"x":0,"y":0,"w":1493,"h":864}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1987684745992691712"}}}],"symbols":[],"timestamps":[],"urls":[{"display_url":"build-your-own.org/redis/","expanded_url":"https://build-your-own.org/redis/","url":"https://t.co/6mVtSlCXnB","indices":[154,177]}],"user_mentions":[]},"extended_entities":{"media":[{"display_url":"pic.x.com/y7mQaYxAcO","expanded_url":"https://x.com/hemashushu/status/1987684873579229366/photo/1","id_str":"1987684496427331584","indices":[178,201],"media_key":"3_1987684496427331584","media_url_https":"https://pbs.twimg.com/media/G5WshK8aMAAkKjq.jpg","type":"photo","url":"https://t.co/y7mQaYxAcO","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":2048,"w":605,"resize":"fit"},"medium":{"h":1200,"w":354,"resize":"fit"},"small":{"h":680,"w":201,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":4096,"width":1209,"focus_rects":[{"x":0,"y":2017,"w":1209,"h":677},{"x":0,"y":1751,"w":1209,"h":1209},{"x":0,"y":1666,"w":1209,"h":1378},{"x":0,"y":1146,"w":1209,"h":2418},{"x":0,"y":0,"w":1209,"h":4096}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1987684496427331584"}}},{"display_url":"pic.x.com/y7mQaYxAcO","expanded_url":"https://x.com/hemashushu/status/1987684873579229366/photo/1","id_str":"1987684745992691712","indices":[178,201],"media_key":"3_1987684745992691712","media_url_https":"https://pbs.twimg.com/media/G5WsvspbYAAVTFM.jpg","type":"photo","url":"https://t.co/y7mQaYxAcO","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":864,"w":1493,"resize":"fit"},"medium":{"h":694,"w":1200,"resize":"fit"},"small":{"h":394,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":864,"width":1493,"focus_rects":[{"x":0,"y":0,"w":1493,"h":836},{"x":0,"y":0,"w":864,"h":864},{"x":0,"y":0,"w":758,"h":864},{"x":45,"y":0,"w":432,"h":864},{"x":0,"y":0,"w":1493,"h":864}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1987684745992691712"}}}]},"favorited":false,"lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1987684873579229366","view_count":57766,"bookmark_count":855,"created_at":1762735977000,"favorite_count":721,"quote_count":4,"reply_count":9,"retweet_count":155,"user_id_str":"152682525","conversation_id_str":"1987684873579229366","full_text":"分享一个非常适合入门 Linux 编程的教程《Build Your Own Redis with C/C++》\n\n这个教程的特点是将知识点讲得非常细致,生怕你看不懂,同时循序渐进地展开怕你中途放弃。从 socket/tcp 开始,讲到并发(异步)、散列表、序列化、快取等,可谓非常全面,非常适合用来练手。\n\nhttps://t.co/6mVtSlCXnB https://t.co/y7mQaYxAcO","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,152],"entities":{"hashtags":[],"media":[{"display_url":"pic.x.com/8NN4CZ3f2L","expanded_url":"https://x.com/hemashushu/status/1987681953987043411/video/1","id_str":"1987681362309246976","indices":[153,176],"media_key":"13_1987681362309246976","media_url_https":"https://pbs.twimg.com/amplify_video_thumb/1987681362309246976/img/gSvi_xou6TJZeUVR.jpg","type":"video","url":"https://t.co/8NN4CZ3f2L","additional_media_info":{"monetizable":false},"ext_media_availability":{"status":"Available"},"sizes":{"large":{"h":1080,"w":1920,"resize":"fit"},"medium":{"h":675,"w":1200,"resize":"fit"},"small":{"h":383,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":1080,"width":1920,"focus_rects":[]},"allow_download_status":{"allow_download":true},"video_info":{"aspect_ratio":[16,9],"duration_millis":16850,"variants":[{"content_type":"application/x-mpegURL","url":"https://video.twimg.com/amplify_video/1987681362309246976/pl/TvNA8h0a0DqA8eDM.m3u8?tag=14&v=cfc"},{"bitrate":288000,"content_type":"video/mp4","url":"https://video.twimg.com/amplify_video/1987681362309246976/vid/avc1/480x270/K2DQ8S2rEBIY3VDF.mp4?tag=14"},{"bitrate":832000,"content_type":"video/mp4","url":"https://video.twimg.com/amplify_video/1987681362309246976/vid/avc1/640x360/4WXmaHbeJOzC5BAY.mp4?tag=14"},{"bitrate":2176000,"content_type":"video/mp4","url":"https://video.twimg.com/amplify_video/1987681362309246976/vid/avc1/1280x720/Us1JABpY7xYFag_Q.mp4?tag=14"}]},"media_results":{"result":{"media_key":"13_1987681362309246976"}}}],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[]},"extended_entities":{"media":[{"display_url":"pic.x.com/8NN4CZ3f2L","expanded_url":"https://x.com/hemashushu/status/1987681953987043411/video/1","id_str":"1987681362309246976","indices":[153,176],"media_key":"13_1987681362309246976","media_url_https":"https://pbs.twimg.com/amplify_video_thumb/1987681362309246976/img/gSvi_xou6TJZeUVR.jpg","type":"video","url":"https://t.co/8NN4CZ3f2L","additional_media_info":{"monetizable":false},"ext_media_availability":{"status":"Available"},"sizes":{"large":{"h":1080,"w":1920,"resize":"fit"},"medium":{"h":675,"w":1200,"resize":"fit"},"small":{"h":383,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":1080,"width":1920,"focus_rects":[]},"allow_download_status":{"allow_download":true},"video_info":{"aspect_ratio":[16,9],"duration_millis":16850,"variants":[{"content_type":"application/x-mpegURL","url":"https://video.twimg.com/amplify_video/1987681362309246976/pl/TvNA8h0a0DqA8eDM.m3u8?tag=14&v=cfc"},{"bitrate":288000,"content_type":"video/mp4","url":"https://video.twimg.com/amplify_video/1987681362309246976/vid/avc1/480x270/K2DQ8S2rEBIY3VDF.mp4?tag=14"},{"bitrate":832000,"content_type":"video/mp4","url":"https://video.twimg.com/amplify_video/1987681362309246976/vid/avc1/640x360/4WXmaHbeJOzC5BAY.mp4?tag=14"},{"bitrate":2176000,"content_type":"video/mp4","url":"https://video.twimg.com/amplify_video/1987681362309246976/vid/avc1/1280x720/Us1JABpY7xYFag_Q.mp4?tag=14"}]},"media_results":{"result":{"media_key":"13_1987681362309246976"}}}]},"favorited":false,"lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1987681953987043411","view_count":41218,"bookmark_count":52,"created_at":1762735281000,"favorite_count":117,"quote_count":3,"reply_count":24,"retweet_count":8,"user_id_str":"152682525","conversation_id_str":"1987681953987043411","full_text":"刚看到一个视频,博主用切换窗口动画的流畅度来判断操作系统的强弱。\n\n其实我觉得linux桌面的动画一直还不错哈,早期是ubuntu8.04还是更早版本记得不太清楚,桌面动画非常夸张,后来倒是逐渐朴素。\n\n视频是我尝试弹射read-it-later浏览器窗口,可能是因为本地录频有点掉帧,实际动画很流畅的。 https://t.co/8NN4CZ3f2L","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-12","value":0,"startTime":1762819200000,"endTime":1762905600000,"tweets":[{"bookmarked":false,"display_text_range":[11,87],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"4375814952","name":"Tit1e","screen_name":"evollyone","indices":[0,10]}]},"favorited":false,"in_reply_to_screen_name":"evollyone","lang":"zh","retweeted":false,"fact_check":null,"id":"1988072941205287050","view_count":167,"bookmark_count":0,"created_at":1762828500000,"favorite_count":1,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"152682525","conversation_id_str":"1987757085795455282","full_text":"@evollyone 是的,高速滚动的画面遇到尽头突然停止,在视觉上是有一点“心理膈应”的感觉,使用“回弹”来解决其实挺巧妙的,后来android用“拉伸”来解决好像也不错。","in_reply_to_user_id_str":"4375814952","in_reply_to_status_id_str":"1987757085795455282","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-13","value":0,"startTime":1762905600000,"endTime":1762992000000,"tweets":[]},{"label":"2025-11-14","value":0,"startTime":1762992000000,"endTime":1763078400000,"tweets":[]},{"label":"2025-11-15","value":0,"startTime":1763078400000,"endTime":1763164800000,"tweets":[]},{"label":"2025-11-16","value":0,"startTime":1763164800000,"endTime":1763251200000,"tweets":[]},{"label":"2025-11-17","value":0,"startTime":1763251200000,"endTime":1763337600000,"tweets":[]},{"label":"2025-11-18","value":0,"startTime":1763337600000,"endTime":1763424000000,"tweets":[]},{"label":"2025-11-19","value":0,"startTime":1763424000000,"endTime":1763510400000,"tweets":[]},{"label":"2025-11-20","value":0,"startTime":1763510400000,"endTime":1763596800000,"tweets":[]},{"label":"2025-11-21","value":0,"startTime":1763596800000,"endTime":1763683200000,"tweets":[]}],"nretweets":[{"label":"2025-10-22","value":0,"startTime":1761004800000,"endTime":1761091200000,"tweets":[]},{"label":"2025-10-23","value":0,"startTime":1761091200000,"endTime":1761177600000,"tweets":[]},{"label":"2025-10-24","value":0,"startTime":1761177600000,"endTime":1761264000000,"tweets":[{"bookmarked":false,"display_text_range":[0,14],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[]},"favorited":false,"lang":"zh","quoted_status_id_str":"1980475117256995254","quoted_status_permalink":{"url":"https://t.co/hS3OB2R6JR","expanded":"https://twitter.com/sanmiguelnoodle/status/1980475117256995254","display":"x.com/sanmiguelnoodl…"},"retweeted":false,"fact_check":null,"id":"1981163447288287367","view_count":3121,"bookmark_count":0,"created_at":1761181148000,"favorite_count":7,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"152682525","conversation_id_str":"1981163447288287367","full_text":"不知道为什么莫名地笑了www","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":1,"is_ai":null,"ai_score":null}]},{"label":"2025-10-25","value":0,"startTime":1761264000000,"endTime":1761350400000,"tweets":[]},{"label":"2025-10-26","value":0,"startTime":1761350400000,"endTime":1761436800000,"tweets":[]},{"label":"2025-10-27","value":0,"startTime":1761436800000,"endTime":1761523200000,"tweets":[]},{"label":"2025-10-28","value":0,"startTime":1761523200000,"endTime":1761609600000,"tweets":[]},{"label":"2025-10-29","value":0,"startTime":1761609600000,"endTime":1761696000000,"tweets":[]},{"label":"2025-10-30","value":0,"startTime":1761696000000,"endTime":1761782400000,"tweets":[]},{"label":"2025-10-31","value":36,"startTime":1761782400000,"endTime":1761868800000,"tweets":[{"bookmarked":false,"display_text_range":[0,152],"entities":{"hashtags":[],"media":[{"display_url":"pic.x.com/gznhpr1ozz","expanded_url":"https://x.com/hemashushu/status/1983873764501909646/photo/1","id_str":"1983869845902082048","indices":[153,176],"media_key":"3_1983869845902082048","media_url_https":"https://pbs.twimg.com/media/G4gfHSWaQAAaz8_.jpg","type":"photo","url":"https://t.co/gznhpr1ozz","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":1152,"w":2048,"resize":"fit"},"medium":{"h":675,"w":1200,"resize":"fit"},"small":{"h":383,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":2160,"width":3840,"focus_rects":[{"x":0,"y":10,"w":3840,"h":2150},{"x":1128,"y":0,"w":2160,"h":2160},{"x":1261,"y":0,"w":1895,"h":2160},{"x":1668,"y":0,"w":1080,"h":2160},{"x":0,"y":0,"w":3840,"h":2160}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1983869845902082048"}}}],"symbols":[],"timestamps":[],"urls":[{"display_url":"github.com/graphitemaster…","expanded_url":"https://github.com/graphitemaster/detour","url":"https://t.co/ZGhW4qx8uB","indices":[113,136]}],"user_mentions":[]},"extended_entities":{"media":[{"display_url":"pic.x.com/gznhpr1ozz","expanded_url":"https://x.com/hemashushu/status/1983873764501909646/photo/1","id_str":"1983869845902082048","indices":[153,176],"media_key":"3_1983869845902082048","media_url_https":"https://pbs.twimg.com/media/G4gfHSWaQAAaz8_.jpg","type":"photo","url":"https://t.co/gznhpr1ozz","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":1152,"w":2048,"resize":"fit"},"medium":{"h":675,"w":1200,"resize":"fit"},"small":{"h":383,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":2160,"width":3840,"focus_rects":[{"x":0,"y":10,"w":3840,"h":2150},{"x":1128,"y":0,"w":2160,"h":2160},{"x":1261,"y":0,"w":1895,"h":2160},{"x":1668,"y":0,"w":1080,"h":2160},{"x":0,"y":0,"w":3840,"h":2160}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1983869845902082048"}}}]},"favorited":false,"lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1983873764501909646","view_count":25494,"bookmark_count":190,"created_at":1761827338000,"favorite_count":153,"quote_count":2,"reply_count":12,"retweet_count":35,"user_id_str":"152682525","conversation_id_str":"1983873764501909646","full_text":"优雅!巧妙!\n\n我之前也想了很久如何实现:在静态链接的程序里调用动态链接库的函数。\n\n之所以有这样的想法是想让程序尽可能减少库依赖,但诸如GPU驱动、GTK/Webkit 等库显然没法将它们通通做静态链接。\n\n然后这个项目 (https://t.co/ZGhW4qx8uB) 用了一个很巧妙的方法实现了。 https://t.co/gznhpr1ozz","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,175],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[{"display_url":"ld-linux.so","expanded_url":"http://ld-linux.so","url":"https://t.co/p3peuRINDs","indices":[15,38]}],"user_mentions":[]},"favorited":false,"in_reply_to_screen_name":"hemashushu","lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1983873768851435540","view_count":996,"bookmark_count":1,"created_at":1761827339000,"favorite_count":6,"quote_count":0,"reply_count":1,"retweet_count":1,"user_id_str":"152682525","conversation_id_str":"1983873764501909646","full_text":"简单来说,主程序一开始就加载 https://t.co/p3peuRINDs(该库是静态链接的),然后多准备了一个只有 main 函数的副程序,让 ld-linux 加载这个副程序,main 函数的作用是获取 dlopen/dlsym 等 dl* 函数的地址,然后返回到主程序。如此一来主程序就可以使用 dl* 等动态加载函数了。\n\n只所以要这么绕…","in_reply_to_user_id_str":"152682525","in_reply_to_status_id_str":"1983873764501909646","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,159],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[]},"favorited":false,"in_reply_to_screen_name":"hemashushu","lang":"zh","retweeted":false,"fact_check":null,"id":"1983873771292520716","view_count":1342,"bookmark_count":1,"created_at":1761827340000,"favorite_count":4,"quote_count":0,"reply_count":2,"retweet_count":0,"user_id_str":"152682525","conversation_id_str":"1983873764501909646","full_text":"这么绕的原因是你无法直接将动态链接库(/usr/lib/*.so)加载到内存,然后通过寻找函数地址的方式来调用其中的函数。\n\n因为这些库在设计上实际上都是由 ld-linux 加载的,加载器会做很多初始化工作,如加载依赖的依赖,它其实就是一个 runtime,所以函数自然没法在缺少 runtime 的情况下正常运行。","in_reply_to_user_id_str":"152682525","in_reply_to_status_id_str":"1983873768851435540","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,144],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[]},"favorited":false,"in_reply_to_screen_name":"hemashushu","lang":"zh","retweeted":false,"fact_check":null,"id":"1983873774325002619","view_count":1228,"bookmark_count":0,"created_at":1761827341000,"favorite_count":3,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"152682525","conversation_id_str":"1983873764501909646","full_text":"当然这个方法要求主程序在运行中“静悄悄地”释放一个可执行程序,也不算非常优雅,但确实是最简单且可行的方法。\n\n早前我还想过能不能在程序里嵌入一个动态加载器(即类似ld-linux的角色),如果目标动态库没有再依赖其他库,倒是可行,但这样通用性就大打折扣了,就不知道还有没其他优雅的方法……","in_reply_to_user_id_str":"152682525","in_reply_to_status_id_str":"1983873771292520716","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[12,164],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"7755562","name":"AlexZ 🦀","screen_name":"blackanger","indices":[0,11]}]},"favorited":false,"in_reply_to_screen_name":"blackanger","lang":"zh","retweeted":false,"fact_check":null,"id":"1983896092384358614","view_count":740,"bookmark_count":0,"created_at":1761832662000,"favorite_count":1,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"152682525","conversation_id_str":"1983873764501909646","full_text":"@blackanger 理论上是可以把glibc或者musl的动态链接器包含在主程序里,但比较稳健的做法还是使用当前系统的链接器,毕竟不确定最终运行环境的是哪一个以及版本是什么,不同加载器和版本不太通用(用 musl 加载器加载基于 glibc 的共享库好像会出错)话说我挺强烈赞成全部用rust重写的,真受够这些部署的依赖问题","in_reply_to_user_id_str":"7755562","in_reply_to_status_id_str":"1983891975930810774","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-01","value":2,"startTime":1761868800000,"endTime":1761955200000,"tweets":[{"bookmarked":false,"display_text_range":[0,159],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[{"display_url":"emily.space/posts/251023-uv","expanded_url":"https://emily.space/posts/251023-uv","url":"https://t.co/dKaV5ByaGf","indices":[136,159]}],"user_mentions":[]},"favorited":false,"lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1984141269581602873","view_count":4318,"bookmark_count":34,"created_at":1761891116000,"favorite_count":36,"quote_count":0,"reply_count":6,"retweet_count":2,"user_id_str":"152682525","conversation_id_str":"1984141269581602873","full_text":"近一两年工具方面让我印象比较深刻的有pnpm和uv。\n\n这两者较相似,都是在一大堆莫名奇妙的前任们肆虐开发者身心几年后,终于冒出比较正常的包管理器。\n\n其中uv更为深刻,虽说用rust编写生成的代码不会变快但利用了可靠的并行方法让程序整体效率的确有显著的提升,很有启发。 https://t.co/dKaV5ByaGf","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[12,33],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"743651613848408064","name":"yuahuua","screen_name":"yuahualove","indices":[0,11]}]},"favorited":false,"in_reply_to_screen_name":"yuahualove","lang":"zh","retweeted":false,"fact_check":null,"id":"1984183703023824987","view_count":89,"bookmark_count":0,"created_at":1761901233000,"favorite_count":1,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"152682525","conversation_id_str":"1983873764501909646","full_text":"@yuahualove 让程序变成 portable (绿色软件)","in_reply_to_user_id_str":"743651613848408064","in_reply_to_status_id_str":"1984178808350761222","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-02","value":0,"startTime":1761955200000,"endTime":1762041600000,"tweets":[]},{"label":"2025-11-03","value":0,"startTime":1762041600000,"endTime":1762128000000,"tweets":[]},{"label":"2025-11-04","value":0,"startTime":1762128000000,"endTime":1762214400000,"tweets":[]},{"label":"2025-11-05","value":0,"startTime":1762214400000,"endTime":1762300800000,"tweets":[]},{"label":"2025-11-06","value":0,"startTime":1762300800000,"endTime":1762387200000,"tweets":[]},{"label":"2025-11-07","value":0,"startTime":1762387200000,"endTime":1762473600000,"tweets":[]},{"label":"2025-11-08","value":0,"startTime":1762473600000,"endTime":1762560000000,"tweets":[]},{"label":"2025-11-09","value":0,"startTime":1762560000000,"endTime":1762646400000,"tweets":[]},{"label":"2025-11-10","value":0,"startTime":1762646400000,"endTime":1762732800000,"tweets":[]},{"label":"2025-11-11","value":163,"startTime":1762732800000,"endTime":1762819200000,"tweets":[{"bookmarked":false,"display_text_range":[0,177],"entities":{"hashtags":[],"media":[{"display_url":"pic.x.com/y7mQaYxAcO","expanded_url":"https://x.com/hemashushu/status/1987684873579229366/photo/1","id_str":"1987684496427331584","indices":[178,201],"media_key":"3_1987684496427331584","media_url_https":"https://pbs.twimg.com/media/G5WshK8aMAAkKjq.jpg","type":"photo","url":"https://t.co/y7mQaYxAcO","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":2048,"w":605,"resize":"fit"},"medium":{"h":1200,"w":354,"resize":"fit"},"small":{"h":680,"w":201,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":4096,"width":1209,"focus_rects":[{"x":0,"y":2017,"w":1209,"h":677},{"x":0,"y":1751,"w":1209,"h":1209},{"x":0,"y":1666,"w":1209,"h":1378},{"x":0,"y":1146,"w":1209,"h":2418},{"x":0,"y":0,"w":1209,"h":4096}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1987684496427331584"}}},{"display_url":"pic.x.com/y7mQaYxAcO","expanded_url":"https://x.com/hemashushu/status/1987684873579229366/photo/1","id_str":"1987684745992691712","indices":[178,201],"media_key":"3_1987684745992691712","media_url_https":"https://pbs.twimg.com/media/G5WsvspbYAAVTFM.jpg","type":"photo","url":"https://t.co/y7mQaYxAcO","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":864,"w":1493,"resize":"fit"},"medium":{"h":694,"w":1200,"resize":"fit"},"small":{"h":394,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":864,"width":1493,"focus_rects":[{"x":0,"y":0,"w":1493,"h":836},{"x":0,"y":0,"w":864,"h":864},{"x":0,"y":0,"w":758,"h":864},{"x":45,"y":0,"w":432,"h":864},{"x":0,"y":0,"w":1493,"h":864}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1987684745992691712"}}}],"symbols":[],"timestamps":[],"urls":[{"display_url":"build-your-own.org/redis/","expanded_url":"https://build-your-own.org/redis/","url":"https://t.co/6mVtSlCXnB","indices":[154,177]}],"user_mentions":[]},"extended_entities":{"media":[{"display_url":"pic.x.com/y7mQaYxAcO","expanded_url":"https://x.com/hemashushu/status/1987684873579229366/photo/1","id_str":"1987684496427331584","indices":[178,201],"media_key":"3_1987684496427331584","media_url_https":"https://pbs.twimg.com/media/G5WshK8aMAAkKjq.jpg","type":"photo","url":"https://t.co/y7mQaYxAcO","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":2048,"w":605,"resize":"fit"},"medium":{"h":1200,"w":354,"resize":"fit"},"small":{"h":680,"w":201,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":4096,"width":1209,"focus_rects":[{"x":0,"y":2017,"w":1209,"h":677},{"x":0,"y":1751,"w":1209,"h":1209},{"x":0,"y":1666,"w":1209,"h":1378},{"x":0,"y":1146,"w":1209,"h":2418},{"x":0,"y":0,"w":1209,"h":4096}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1987684496427331584"}}},{"display_url":"pic.x.com/y7mQaYxAcO","expanded_url":"https://x.com/hemashushu/status/1987684873579229366/photo/1","id_str":"1987684745992691712","indices":[178,201],"media_key":"3_1987684745992691712","media_url_https":"https://pbs.twimg.com/media/G5WsvspbYAAVTFM.jpg","type":"photo","url":"https://t.co/y7mQaYxAcO","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":864,"w":1493,"resize":"fit"},"medium":{"h":694,"w":1200,"resize":"fit"},"small":{"h":394,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":864,"width":1493,"focus_rects":[{"x":0,"y":0,"w":1493,"h":836},{"x":0,"y":0,"w":864,"h":864},{"x":0,"y":0,"w":758,"h":864},{"x":45,"y":0,"w":432,"h":864},{"x":0,"y":0,"w":1493,"h":864}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1987684745992691712"}}}]},"favorited":false,"lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1987684873579229366","view_count":57766,"bookmark_count":855,"created_at":1762735977000,"favorite_count":721,"quote_count":4,"reply_count":9,"retweet_count":155,"user_id_str":"152682525","conversation_id_str":"1987684873579229366","full_text":"分享一个非常适合入门 Linux 编程的教程《Build Your Own Redis with C/C++》\n\n这个教程的特点是将知识点讲得非常细致,生怕你看不懂,同时循序渐进地展开怕你中途放弃。从 socket/tcp 开始,讲到并发(异步)、散列表、序列化、快取等,可谓非常全面,非常适合用来练手。\n\nhttps://t.co/6mVtSlCXnB https://t.co/y7mQaYxAcO","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,152],"entities":{"hashtags":[],"media":[{"display_url":"pic.x.com/8NN4CZ3f2L","expanded_url":"https://x.com/hemashushu/status/1987681953987043411/video/1","id_str":"1987681362309246976","indices":[153,176],"media_key":"13_1987681362309246976","media_url_https":"https://pbs.twimg.com/amplify_video_thumb/1987681362309246976/img/gSvi_xou6TJZeUVR.jpg","type":"video","url":"https://t.co/8NN4CZ3f2L","additional_media_info":{"monetizable":false},"ext_media_availability":{"status":"Available"},"sizes":{"large":{"h":1080,"w":1920,"resize":"fit"},"medium":{"h":675,"w":1200,"resize":"fit"},"small":{"h":383,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":1080,"width":1920,"focus_rects":[]},"allow_download_status":{"allow_download":true},"video_info":{"aspect_ratio":[16,9],"duration_millis":16850,"variants":[{"content_type":"application/x-mpegURL","url":"https://video.twimg.com/amplify_video/1987681362309246976/pl/TvNA8h0a0DqA8eDM.m3u8?tag=14&v=cfc"},{"bitrate":288000,"content_type":"video/mp4","url":"https://video.twimg.com/amplify_video/1987681362309246976/vid/avc1/480x270/K2DQ8S2rEBIY3VDF.mp4?tag=14"},{"bitrate":832000,"content_type":"video/mp4","url":"https://video.twimg.com/amplify_video/1987681362309246976/vid/avc1/640x360/4WXmaHbeJOzC5BAY.mp4?tag=14"},{"bitrate":2176000,"content_type":"video/mp4","url":"https://video.twimg.com/amplify_video/1987681362309246976/vid/avc1/1280x720/Us1JABpY7xYFag_Q.mp4?tag=14"}]},"media_results":{"result":{"media_key":"13_1987681362309246976"}}}],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[]},"extended_entities":{"media":[{"display_url":"pic.x.com/8NN4CZ3f2L","expanded_url":"https://x.com/hemashushu/status/1987681953987043411/video/1","id_str":"1987681362309246976","indices":[153,176],"media_key":"13_1987681362309246976","media_url_https":"https://pbs.twimg.com/amplify_video_thumb/1987681362309246976/img/gSvi_xou6TJZeUVR.jpg","type":"video","url":"https://t.co/8NN4CZ3f2L","additional_media_info":{"monetizable":false},"ext_media_availability":{"status":"Available"},"sizes":{"large":{"h":1080,"w":1920,"resize":"fit"},"medium":{"h":675,"w":1200,"resize":"fit"},"small":{"h":383,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":1080,"width":1920,"focus_rects":[]},"allow_download_status":{"allow_download":true},"video_info":{"aspect_ratio":[16,9],"duration_millis":16850,"variants":[{"content_type":"application/x-mpegURL","url":"https://video.twimg.com/amplify_video/1987681362309246976/pl/TvNA8h0a0DqA8eDM.m3u8?tag=14&v=cfc"},{"bitrate":288000,"content_type":"video/mp4","url":"https://video.twimg.com/amplify_video/1987681362309246976/vid/avc1/480x270/K2DQ8S2rEBIY3VDF.mp4?tag=14"},{"bitrate":832000,"content_type":"video/mp4","url":"https://video.twimg.com/amplify_video/1987681362309246976/vid/avc1/640x360/4WXmaHbeJOzC5BAY.mp4?tag=14"},{"bitrate":2176000,"content_type":"video/mp4","url":"https://video.twimg.com/amplify_video/1987681362309246976/vid/avc1/1280x720/Us1JABpY7xYFag_Q.mp4?tag=14"}]},"media_results":{"result":{"media_key":"13_1987681362309246976"}}}]},"favorited":false,"lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1987681953987043411","view_count":41218,"bookmark_count":52,"created_at":1762735281000,"favorite_count":117,"quote_count":3,"reply_count":24,"retweet_count":8,"user_id_str":"152682525","conversation_id_str":"1987681953987043411","full_text":"刚看到一个视频,博主用切换窗口动画的流畅度来判断操作系统的强弱。\n\n其实我觉得linux桌面的动画一直还不错哈,早期是ubuntu8.04还是更早版本记得不太清楚,桌面动画非常夸张,后来倒是逐渐朴素。\n\n视频是我尝试弹射read-it-later浏览器窗口,可能是因为本地录频有点掉帧,实际动画很流畅的。 https://t.co/8NN4CZ3f2L","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-12","value":0,"startTime":1762819200000,"endTime":1762905600000,"tweets":[{"bookmarked":false,"display_text_range":[11,87],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"4375814952","name":"Tit1e","screen_name":"evollyone","indices":[0,10]}]},"favorited":false,"in_reply_to_screen_name":"evollyone","lang":"zh","retweeted":false,"fact_check":null,"id":"1988072941205287050","view_count":167,"bookmark_count":0,"created_at":1762828500000,"favorite_count":1,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"152682525","conversation_id_str":"1987757085795455282","full_text":"@evollyone 是的,高速滚动的画面遇到尽头突然停止,在视觉上是有一点“心理膈应”的感觉,使用“回弹”来解决其实挺巧妙的,后来android用“拉伸”来解决好像也不错。","in_reply_to_user_id_str":"4375814952","in_reply_to_status_id_str":"1987757085795455282","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-13","value":0,"startTime":1762905600000,"endTime":1762992000000,"tweets":[]},{"label":"2025-11-14","value":0,"startTime":1762992000000,"endTime":1763078400000,"tweets":[]},{"label":"2025-11-15","value":0,"startTime":1763078400000,"endTime":1763164800000,"tweets":[]},{"label":"2025-11-16","value":0,"startTime":1763164800000,"endTime":1763251200000,"tweets":[]},{"label":"2025-11-17","value":0,"startTime":1763251200000,"endTime":1763337600000,"tweets":[]},{"label":"2025-11-18","value":0,"startTime":1763337600000,"endTime":1763424000000,"tweets":[]},{"label":"2025-11-19","value":0,"startTime":1763424000000,"endTime":1763510400000,"tweets":[]},{"label":"2025-11-20","value":0,"startTime":1763510400000,"endTime":1763596800000,"tweets":[]},{"label":"2025-11-21","value":0,"startTime":1763596800000,"endTime":1763683200000,"tweets":[]}],"nlikes":[{"label":"2025-10-22","value":0,"startTime":1761004800000,"endTime":1761091200000,"tweets":[]},{"label":"2025-10-23","value":0,"startTime":1761091200000,"endTime":1761177600000,"tweets":[]},{"label":"2025-10-24","value":7,"startTime":1761177600000,"endTime":1761264000000,"tweets":[{"bookmarked":false,"display_text_range":[0,14],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[]},"favorited":false,"lang":"zh","quoted_status_id_str":"1980475117256995254","quoted_status_permalink":{"url":"https://t.co/hS3OB2R6JR","expanded":"https://twitter.com/sanmiguelnoodle/status/1980475117256995254","display":"x.com/sanmiguelnoodl…"},"retweeted":false,"fact_check":null,"id":"1981163447288287367","view_count":3121,"bookmark_count":0,"created_at":1761181148000,"favorite_count":7,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"152682525","conversation_id_str":"1981163447288287367","full_text":"不知道为什么莫名地笑了www","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":1,"is_ai":null,"ai_score":null}]},{"label":"2025-10-25","value":0,"startTime":1761264000000,"endTime":1761350400000,"tweets":[]},{"label":"2025-10-26","value":0,"startTime":1761350400000,"endTime":1761436800000,"tweets":[]},{"label":"2025-10-27","value":0,"startTime":1761436800000,"endTime":1761523200000,"tweets":[]},{"label":"2025-10-28","value":0,"startTime":1761523200000,"endTime":1761609600000,"tweets":[]},{"label":"2025-10-29","value":0,"startTime":1761609600000,"endTime":1761696000000,"tweets":[]},{"label":"2025-10-30","value":0,"startTime":1761696000000,"endTime":1761782400000,"tweets":[]},{"label":"2025-10-31","value":167,"startTime":1761782400000,"endTime":1761868800000,"tweets":[{"bookmarked":false,"display_text_range":[0,152],"entities":{"hashtags":[],"media":[{"display_url":"pic.x.com/gznhpr1ozz","expanded_url":"https://x.com/hemashushu/status/1983873764501909646/photo/1","id_str":"1983869845902082048","indices":[153,176],"media_key":"3_1983869845902082048","media_url_https":"https://pbs.twimg.com/media/G4gfHSWaQAAaz8_.jpg","type":"photo","url":"https://t.co/gznhpr1ozz","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":1152,"w":2048,"resize":"fit"},"medium":{"h":675,"w":1200,"resize":"fit"},"small":{"h":383,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":2160,"width":3840,"focus_rects":[{"x":0,"y":10,"w":3840,"h":2150},{"x":1128,"y":0,"w":2160,"h":2160},{"x":1261,"y":0,"w":1895,"h":2160},{"x":1668,"y":0,"w":1080,"h":2160},{"x":0,"y":0,"w":3840,"h":2160}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1983869845902082048"}}}],"symbols":[],"timestamps":[],"urls":[{"display_url":"github.com/graphitemaster…","expanded_url":"https://github.com/graphitemaster/detour","url":"https://t.co/ZGhW4qx8uB","indices":[113,136]}],"user_mentions":[]},"extended_entities":{"media":[{"display_url":"pic.x.com/gznhpr1ozz","expanded_url":"https://x.com/hemashushu/status/1983873764501909646/photo/1","id_str":"1983869845902082048","indices":[153,176],"media_key":"3_1983869845902082048","media_url_https":"https://pbs.twimg.com/media/G4gfHSWaQAAaz8_.jpg","type":"photo","url":"https://t.co/gznhpr1ozz","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":1152,"w":2048,"resize":"fit"},"medium":{"h":675,"w":1200,"resize":"fit"},"small":{"h":383,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":2160,"width":3840,"focus_rects":[{"x":0,"y":10,"w":3840,"h":2150},{"x":1128,"y":0,"w":2160,"h":2160},{"x":1261,"y":0,"w":1895,"h":2160},{"x":1668,"y":0,"w":1080,"h":2160},{"x":0,"y":0,"w":3840,"h":2160}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1983869845902082048"}}}]},"favorited":false,"lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1983873764501909646","view_count":25494,"bookmark_count":190,"created_at":1761827338000,"favorite_count":153,"quote_count":2,"reply_count":12,"retweet_count":35,"user_id_str":"152682525","conversation_id_str":"1983873764501909646","full_text":"优雅!巧妙!\n\n我之前也想了很久如何实现:在静态链接的程序里调用动态链接库的函数。\n\n之所以有这样的想法是想让程序尽可能减少库依赖,但诸如GPU驱动、GTK/Webkit 等库显然没法将它们通通做静态链接。\n\n然后这个项目 (https://t.co/ZGhW4qx8uB) 用了一个很巧妙的方法实现了。 https://t.co/gznhpr1ozz","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,175],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[{"display_url":"ld-linux.so","expanded_url":"http://ld-linux.so","url":"https://t.co/p3peuRINDs","indices":[15,38]}],"user_mentions":[]},"favorited":false,"in_reply_to_screen_name":"hemashushu","lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1983873768851435540","view_count":996,"bookmark_count":1,"created_at":1761827339000,"favorite_count":6,"quote_count":0,"reply_count":1,"retweet_count":1,"user_id_str":"152682525","conversation_id_str":"1983873764501909646","full_text":"简单来说,主程序一开始就加载 https://t.co/p3peuRINDs(该库是静态链接的),然后多准备了一个只有 main 函数的副程序,让 ld-linux 加载这个副程序,main 函数的作用是获取 dlopen/dlsym 等 dl* 函数的地址,然后返回到主程序。如此一来主程序就可以使用 dl* 等动态加载函数了。\n\n只所以要这么绕…","in_reply_to_user_id_str":"152682525","in_reply_to_status_id_str":"1983873764501909646","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,159],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[]},"favorited":false,"in_reply_to_screen_name":"hemashushu","lang":"zh","retweeted":false,"fact_check":null,"id":"1983873771292520716","view_count":1342,"bookmark_count":1,"created_at":1761827340000,"favorite_count":4,"quote_count":0,"reply_count":2,"retweet_count":0,"user_id_str":"152682525","conversation_id_str":"1983873764501909646","full_text":"这么绕的原因是你无法直接将动态链接库(/usr/lib/*.so)加载到内存,然后通过寻找函数地址的方式来调用其中的函数。\n\n因为这些库在设计上实际上都是由 ld-linux 加载的,加载器会做很多初始化工作,如加载依赖的依赖,它其实就是一个 runtime,所以函数自然没法在缺少 runtime 的情况下正常运行。","in_reply_to_user_id_str":"152682525","in_reply_to_status_id_str":"1983873768851435540","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,144],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[]},"favorited":false,"in_reply_to_screen_name":"hemashushu","lang":"zh","retweeted":false,"fact_check":null,"id":"1983873774325002619","view_count":1228,"bookmark_count":0,"created_at":1761827341000,"favorite_count":3,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"152682525","conversation_id_str":"1983873764501909646","full_text":"当然这个方法要求主程序在运行中“静悄悄地”释放一个可执行程序,也不算非常优雅,但确实是最简单且可行的方法。\n\n早前我还想过能不能在程序里嵌入一个动态加载器(即类似ld-linux的角色),如果目标动态库没有再依赖其他库,倒是可行,但这样通用性就大打折扣了,就不知道还有没其他优雅的方法……","in_reply_to_user_id_str":"152682525","in_reply_to_status_id_str":"1983873771292520716","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[12,164],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"7755562","name":"AlexZ 🦀","screen_name":"blackanger","indices":[0,11]}]},"favorited":false,"in_reply_to_screen_name":"blackanger","lang":"zh","retweeted":false,"fact_check":null,"id":"1983896092384358614","view_count":740,"bookmark_count":0,"created_at":1761832662000,"favorite_count":1,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"152682525","conversation_id_str":"1983873764501909646","full_text":"@blackanger 理论上是可以把glibc或者musl的动态链接器包含在主程序里,但比较稳健的做法还是使用当前系统的链接器,毕竟不确定最终运行环境的是哪一个以及版本是什么,不同加载器和版本不太通用(用 musl 加载器加载基于 glibc 的共享库好像会出错)话说我挺强烈赞成全部用rust重写的,真受够这些部署的依赖问题","in_reply_to_user_id_str":"7755562","in_reply_to_status_id_str":"1983891975930810774","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-01","value":37,"startTime":1761868800000,"endTime":1761955200000,"tweets":[{"bookmarked":false,"display_text_range":[0,159],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[{"display_url":"emily.space/posts/251023-uv","expanded_url":"https://emily.space/posts/251023-uv","url":"https://t.co/dKaV5ByaGf","indices":[136,159]}],"user_mentions":[]},"favorited":false,"lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1984141269581602873","view_count":4318,"bookmark_count":34,"created_at":1761891116000,"favorite_count":36,"quote_count":0,"reply_count":6,"retweet_count":2,"user_id_str":"152682525","conversation_id_str":"1984141269581602873","full_text":"近一两年工具方面让我印象比较深刻的有pnpm和uv。\n\n这两者较相似,都是在一大堆莫名奇妙的前任们肆虐开发者身心几年后,终于冒出比较正常的包管理器。\n\n其中uv更为深刻,虽说用rust编写生成的代码不会变快但利用了可靠的并行方法让程序整体效率的确有显著的提升,很有启发。 https://t.co/dKaV5ByaGf","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[12,33],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"743651613848408064","name":"yuahuua","screen_name":"yuahualove","indices":[0,11]}]},"favorited":false,"in_reply_to_screen_name":"yuahualove","lang":"zh","retweeted":false,"fact_check":null,"id":"1984183703023824987","view_count":89,"bookmark_count":0,"created_at":1761901233000,"favorite_count":1,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"152682525","conversation_id_str":"1983873764501909646","full_text":"@yuahualove 让程序变成 portable (绿色软件)","in_reply_to_user_id_str":"743651613848408064","in_reply_to_status_id_str":"1984178808350761222","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-02","value":0,"startTime":1761955200000,"endTime":1762041600000,"tweets":[]},{"label":"2025-11-03","value":0,"startTime":1762041600000,"endTime":1762128000000,"tweets":[]},{"label":"2025-11-04","value":0,"startTime":1762128000000,"endTime":1762214400000,"tweets":[]},{"label":"2025-11-05","value":0,"startTime":1762214400000,"endTime":1762300800000,"tweets":[]},{"label":"2025-11-06","value":0,"startTime":1762300800000,"endTime":1762387200000,"tweets":[]},{"label":"2025-11-07","value":0,"startTime":1762387200000,"endTime":1762473600000,"tweets":[]},{"label":"2025-11-08","value":0,"startTime":1762473600000,"endTime":1762560000000,"tweets":[]},{"label":"2025-11-09","value":0,"startTime":1762560000000,"endTime":1762646400000,"tweets":[]},{"label":"2025-11-10","value":0,"startTime":1762646400000,"endTime":1762732800000,"tweets":[]},{"label":"2025-11-11","value":838,"startTime":1762732800000,"endTime":1762819200000,"tweets":[{"bookmarked":false,"display_text_range":[0,177],"entities":{"hashtags":[],"media":[{"display_url":"pic.x.com/y7mQaYxAcO","expanded_url":"https://x.com/hemashushu/status/1987684873579229366/photo/1","id_str":"1987684496427331584","indices":[178,201],"media_key":"3_1987684496427331584","media_url_https":"https://pbs.twimg.com/media/G5WshK8aMAAkKjq.jpg","type":"photo","url":"https://t.co/y7mQaYxAcO","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":2048,"w":605,"resize":"fit"},"medium":{"h":1200,"w":354,"resize":"fit"},"small":{"h":680,"w":201,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":4096,"width":1209,"focus_rects":[{"x":0,"y":2017,"w":1209,"h":677},{"x":0,"y":1751,"w":1209,"h":1209},{"x":0,"y":1666,"w":1209,"h":1378},{"x":0,"y":1146,"w":1209,"h":2418},{"x":0,"y":0,"w":1209,"h":4096}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1987684496427331584"}}},{"display_url":"pic.x.com/y7mQaYxAcO","expanded_url":"https://x.com/hemashushu/status/1987684873579229366/photo/1","id_str":"1987684745992691712","indices":[178,201],"media_key":"3_1987684745992691712","media_url_https":"https://pbs.twimg.com/media/G5WsvspbYAAVTFM.jpg","type":"photo","url":"https://t.co/y7mQaYxAcO","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":864,"w":1493,"resize":"fit"},"medium":{"h":694,"w":1200,"resize":"fit"},"small":{"h":394,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":864,"width":1493,"focus_rects":[{"x":0,"y":0,"w":1493,"h":836},{"x":0,"y":0,"w":864,"h":864},{"x":0,"y":0,"w":758,"h":864},{"x":45,"y":0,"w":432,"h":864},{"x":0,"y":0,"w":1493,"h":864}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1987684745992691712"}}}],"symbols":[],"timestamps":[],"urls":[{"display_url":"build-your-own.org/redis/","expanded_url":"https://build-your-own.org/redis/","url":"https://t.co/6mVtSlCXnB","indices":[154,177]}],"user_mentions":[]},"extended_entities":{"media":[{"display_url":"pic.x.com/y7mQaYxAcO","expanded_url":"https://x.com/hemashushu/status/1987684873579229366/photo/1","id_str":"1987684496427331584","indices":[178,201],"media_key":"3_1987684496427331584","media_url_https":"https://pbs.twimg.com/media/G5WshK8aMAAkKjq.jpg","type":"photo","url":"https://t.co/y7mQaYxAcO","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":2048,"w":605,"resize":"fit"},"medium":{"h":1200,"w":354,"resize":"fit"},"small":{"h":680,"w":201,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":4096,"width":1209,"focus_rects":[{"x":0,"y":2017,"w":1209,"h":677},{"x":0,"y":1751,"w":1209,"h":1209},{"x":0,"y":1666,"w":1209,"h":1378},{"x":0,"y":1146,"w":1209,"h":2418},{"x":0,"y":0,"w":1209,"h":4096}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1987684496427331584"}}},{"display_url":"pic.x.com/y7mQaYxAcO","expanded_url":"https://x.com/hemashushu/status/1987684873579229366/photo/1","id_str":"1987684745992691712","indices":[178,201],"media_key":"3_1987684745992691712","media_url_https":"https://pbs.twimg.com/media/G5WsvspbYAAVTFM.jpg","type":"photo","url":"https://t.co/y7mQaYxAcO","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":864,"w":1493,"resize":"fit"},"medium":{"h":694,"w":1200,"resize":"fit"},"small":{"h":394,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":864,"width":1493,"focus_rects":[{"x":0,"y":0,"w":1493,"h":836},{"x":0,"y":0,"w":864,"h":864},{"x":0,"y":0,"w":758,"h":864},{"x":45,"y":0,"w":432,"h":864},{"x":0,"y":0,"w":1493,"h":864}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1987684745992691712"}}}]},"favorited":false,"lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1987684873579229366","view_count":57766,"bookmark_count":855,"created_at":1762735977000,"favorite_count":721,"quote_count":4,"reply_count":9,"retweet_count":155,"user_id_str":"152682525","conversation_id_str":"1987684873579229366","full_text":"分享一个非常适合入门 Linux 编程的教程《Build Your Own Redis with C/C++》\n\n这个教程的特点是将知识点讲得非常细致,生怕你看不懂,同时循序渐进地展开怕你中途放弃。从 socket/tcp 开始,讲到并发(异步)、散列表、序列化、快取等,可谓非常全面,非常适合用来练手。\n\nhttps://t.co/6mVtSlCXnB https://t.co/y7mQaYxAcO","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,152],"entities":{"hashtags":[],"media":[{"display_url":"pic.x.com/8NN4CZ3f2L","expanded_url":"https://x.com/hemashushu/status/1987681953987043411/video/1","id_str":"1987681362309246976","indices":[153,176],"media_key":"13_1987681362309246976","media_url_https":"https://pbs.twimg.com/amplify_video_thumb/1987681362309246976/img/gSvi_xou6TJZeUVR.jpg","type":"video","url":"https://t.co/8NN4CZ3f2L","additional_media_info":{"monetizable":false},"ext_media_availability":{"status":"Available"},"sizes":{"large":{"h":1080,"w":1920,"resize":"fit"},"medium":{"h":675,"w":1200,"resize":"fit"},"small":{"h":383,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":1080,"width":1920,"focus_rects":[]},"allow_download_status":{"allow_download":true},"video_info":{"aspect_ratio":[16,9],"duration_millis":16850,"variants":[{"content_type":"application/x-mpegURL","url":"https://video.twimg.com/amplify_video/1987681362309246976/pl/TvNA8h0a0DqA8eDM.m3u8?tag=14&v=cfc"},{"bitrate":288000,"content_type":"video/mp4","url":"https://video.twimg.com/amplify_video/1987681362309246976/vid/avc1/480x270/K2DQ8S2rEBIY3VDF.mp4?tag=14"},{"bitrate":832000,"content_type":"video/mp4","url":"https://video.twimg.com/amplify_video/1987681362309246976/vid/avc1/640x360/4WXmaHbeJOzC5BAY.mp4?tag=14"},{"bitrate":2176000,"content_type":"video/mp4","url":"https://video.twimg.com/amplify_video/1987681362309246976/vid/avc1/1280x720/Us1JABpY7xYFag_Q.mp4?tag=14"}]},"media_results":{"result":{"media_key":"13_1987681362309246976"}}}],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[]},"extended_entities":{"media":[{"display_url":"pic.x.com/8NN4CZ3f2L","expanded_url":"https://x.com/hemashushu/status/1987681953987043411/video/1","id_str":"1987681362309246976","indices":[153,176],"media_key":"13_1987681362309246976","media_url_https":"https://pbs.twimg.com/amplify_video_thumb/1987681362309246976/img/gSvi_xou6TJZeUVR.jpg","type":"video","url":"https://t.co/8NN4CZ3f2L","additional_media_info":{"monetizable":false},"ext_media_availability":{"status":"Available"},"sizes":{"large":{"h":1080,"w":1920,"resize":"fit"},"medium":{"h":675,"w":1200,"resize":"fit"},"small":{"h":383,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":1080,"width":1920,"focus_rects":[]},"allow_download_status":{"allow_download":true},"video_info":{"aspect_ratio":[16,9],"duration_millis":16850,"variants":[{"content_type":"application/x-mpegURL","url":"https://video.twimg.com/amplify_video/1987681362309246976/pl/TvNA8h0a0DqA8eDM.m3u8?tag=14&v=cfc"},{"bitrate":288000,"content_type":"video/mp4","url":"https://video.twimg.com/amplify_video/1987681362309246976/vid/avc1/480x270/K2DQ8S2rEBIY3VDF.mp4?tag=14"},{"bitrate":832000,"content_type":"video/mp4","url":"https://video.twimg.com/amplify_video/1987681362309246976/vid/avc1/640x360/4WXmaHbeJOzC5BAY.mp4?tag=14"},{"bitrate":2176000,"content_type":"video/mp4","url":"https://video.twimg.com/amplify_video/1987681362309246976/vid/avc1/1280x720/Us1JABpY7xYFag_Q.mp4?tag=14"}]},"media_results":{"result":{"media_key":"13_1987681362309246976"}}}]},"favorited":false,"lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1987681953987043411","view_count":41218,"bookmark_count":52,"created_at":1762735281000,"favorite_count":117,"quote_count":3,"reply_count":24,"retweet_count":8,"user_id_str":"152682525","conversation_id_str":"1987681953987043411","full_text":"刚看到一个视频,博主用切换窗口动画的流畅度来判断操作系统的强弱。\n\n其实我觉得linux桌面的动画一直还不错哈,早期是ubuntu8.04还是更早版本记得不太清楚,桌面动画非常夸张,后来倒是逐渐朴素。\n\n视频是我尝试弹射read-it-later浏览器窗口,可能是因为本地录频有点掉帧,实际动画很流畅的。 https://t.co/8NN4CZ3f2L","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-12","value":1,"startTime":1762819200000,"endTime":1762905600000,"tweets":[{"bookmarked":false,"display_text_range":[11,87],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"4375814952","name":"Tit1e","screen_name":"evollyone","indices":[0,10]}]},"favorited":false,"in_reply_to_screen_name":"evollyone","lang":"zh","retweeted":false,"fact_check":null,"id":"1988072941205287050","view_count":167,"bookmark_count":0,"created_at":1762828500000,"favorite_count":1,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"152682525","conversation_id_str":"1987757085795455282","full_text":"@evollyone 是的,高速滚动的画面遇到尽头突然停止,在视觉上是有一点“心理膈应”的感觉,使用“回弹”来解决其实挺巧妙的,后来android用“拉伸”来解决好像也不错。","in_reply_to_user_id_str":"4375814952","in_reply_to_status_id_str":"1987757085795455282","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-13","value":0,"startTime":1762905600000,"endTime":1762992000000,"tweets":[]},{"label":"2025-11-14","value":0,"startTime":1762992000000,"endTime":1763078400000,"tweets":[]},{"label":"2025-11-15","value":0,"startTime":1763078400000,"endTime":1763164800000,"tweets":[]},{"label":"2025-11-16","value":0,"startTime":1763164800000,"endTime":1763251200000,"tweets":[]},{"label":"2025-11-17","value":0,"startTime":1763251200000,"endTime":1763337600000,"tweets":[]},{"label":"2025-11-18","value":0,"startTime":1763337600000,"endTime":1763424000000,"tweets":[]},{"label":"2025-11-19","value":0,"startTime":1763424000000,"endTime":1763510400000,"tweets":[]},{"label":"2025-11-20","value":0,"startTime":1763510400000,"endTime":1763596800000,"tweets":[]},{"label":"2025-11-21","value":0,"startTime":1763596800000,"endTime":1763683200000,"tweets":[]}],"nviews":[{"label":"2025-10-22","value":0,"startTime":1761004800000,"endTime":1761091200000,"tweets":[]},{"label":"2025-10-23","value":0,"startTime":1761091200000,"endTime":1761177600000,"tweets":[]},{"label":"2025-10-24","value":3121,"startTime":1761177600000,"endTime":1761264000000,"tweets":[{"bookmarked":false,"display_text_range":[0,14],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[]},"favorited":false,"lang":"zh","quoted_status_id_str":"1980475117256995254","quoted_status_permalink":{"url":"https://t.co/hS3OB2R6JR","expanded":"https://twitter.com/sanmiguelnoodle/status/1980475117256995254","display":"x.com/sanmiguelnoodl…"},"retweeted":false,"fact_check":null,"id":"1981163447288287367","view_count":3121,"bookmark_count":0,"created_at":1761181148000,"favorite_count":7,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"152682525","conversation_id_str":"1981163447288287367","full_text":"不知道为什么莫名地笑了www","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":1,"is_ai":null,"ai_score":null}]},{"label":"2025-10-25","value":0,"startTime":1761264000000,"endTime":1761350400000,"tweets":[]},{"label":"2025-10-26","value":0,"startTime":1761350400000,"endTime":1761436800000,"tweets":[]},{"label":"2025-10-27","value":0,"startTime":1761436800000,"endTime":1761523200000,"tweets":[]},{"label":"2025-10-28","value":0,"startTime":1761523200000,"endTime":1761609600000,"tweets":[]},{"label":"2025-10-29","value":0,"startTime":1761609600000,"endTime":1761696000000,"tweets":[]},{"label":"2025-10-30","value":0,"startTime":1761696000000,"endTime":1761782400000,"tweets":[]},{"label":"2025-10-31","value":29800,"startTime":1761782400000,"endTime":1761868800000,"tweets":[{"bookmarked":false,"display_text_range":[0,152],"entities":{"hashtags":[],"media":[{"display_url":"pic.x.com/gznhpr1ozz","expanded_url":"https://x.com/hemashushu/status/1983873764501909646/photo/1","id_str":"1983869845902082048","indices":[153,176],"media_key":"3_1983869845902082048","media_url_https":"https://pbs.twimg.com/media/G4gfHSWaQAAaz8_.jpg","type":"photo","url":"https://t.co/gznhpr1ozz","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":1152,"w":2048,"resize":"fit"},"medium":{"h":675,"w":1200,"resize":"fit"},"small":{"h":383,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":2160,"width":3840,"focus_rects":[{"x":0,"y":10,"w":3840,"h":2150},{"x":1128,"y":0,"w":2160,"h":2160},{"x":1261,"y":0,"w":1895,"h":2160},{"x":1668,"y":0,"w":1080,"h":2160},{"x":0,"y":0,"w":3840,"h":2160}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1983869845902082048"}}}],"symbols":[],"timestamps":[],"urls":[{"display_url":"github.com/graphitemaster…","expanded_url":"https://github.com/graphitemaster/detour","url":"https://t.co/ZGhW4qx8uB","indices":[113,136]}],"user_mentions":[]},"extended_entities":{"media":[{"display_url":"pic.x.com/gznhpr1ozz","expanded_url":"https://x.com/hemashushu/status/1983873764501909646/photo/1","id_str":"1983869845902082048","indices":[153,176],"media_key":"3_1983869845902082048","media_url_https":"https://pbs.twimg.com/media/G4gfHSWaQAAaz8_.jpg","type":"photo","url":"https://t.co/gznhpr1ozz","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":1152,"w":2048,"resize":"fit"},"medium":{"h":675,"w":1200,"resize":"fit"},"small":{"h":383,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":2160,"width":3840,"focus_rects":[{"x":0,"y":10,"w":3840,"h":2150},{"x":1128,"y":0,"w":2160,"h":2160},{"x":1261,"y":0,"w":1895,"h":2160},{"x":1668,"y":0,"w":1080,"h":2160},{"x":0,"y":0,"w":3840,"h":2160}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1983869845902082048"}}}]},"favorited":false,"lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1983873764501909646","view_count":25494,"bookmark_count":190,"created_at":1761827338000,"favorite_count":153,"quote_count":2,"reply_count":12,"retweet_count":35,"user_id_str":"152682525","conversation_id_str":"1983873764501909646","full_text":"优雅!巧妙!\n\n我之前也想了很久如何实现:在静态链接的程序里调用动态链接库的函数。\n\n之所以有这样的想法是想让程序尽可能减少库依赖,但诸如GPU驱动、GTK/Webkit 等库显然没法将它们通通做静态链接。\n\n然后这个项目 (https://t.co/ZGhW4qx8uB) 用了一个很巧妙的方法实现了。 https://t.co/gznhpr1ozz","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,175],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[{"display_url":"ld-linux.so","expanded_url":"http://ld-linux.so","url":"https://t.co/p3peuRINDs","indices":[15,38]}],"user_mentions":[]},"favorited":false,"in_reply_to_screen_name":"hemashushu","lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1983873768851435540","view_count":996,"bookmark_count":1,"created_at":1761827339000,"favorite_count":6,"quote_count":0,"reply_count":1,"retweet_count":1,"user_id_str":"152682525","conversation_id_str":"1983873764501909646","full_text":"简单来说,主程序一开始就加载 https://t.co/p3peuRINDs(该库是静态链接的),然后多准备了一个只有 main 函数的副程序,让 ld-linux 加载这个副程序,main 函数的作用是获取 dlopen/dlsym 等 dl* 函数的地址,然后返回到主程序。如此一来主程序就可以使用 dl* 等动态加载函数了。\n\n只所以要这么绕…","in_reply_to_user_id_str":"152682525","in_reply_to_status_id_str":"1983873764501909646","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,159],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[]},"favorited":false,"in_reply_to_screen_name":"hemashushu","lang":"zh","retweeted":false,"fact_check":null,"id":"1983873771292520716","view_count":1342,"bookmark_count":1,"created_at":1761827340000,"favorite_count":4,"quote_count":0,"reply_count":2,"retweet_count":0,"user_id_str":"152682525","conversation_id_str":"1983873764501909646","full_text":"这么绕的原因是你无法直接将动态链接库(/usr/lib/*.so)加载到内存,然后通过寻找函数地址的方式来调用其中的函数。\n\n因为这些库在设计上实际上都是由 ld-linux 加载的,加载器会做很多初始化工作,如加载依赖的依赖,它其实就是一个 runtime,所以函数自然没法在缺少 runtime 的情况下正常运行。","in_reply_to_user_id_str":"152682525","in_reply_to_status_id_str":"1983873768851435540","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,144],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[]},"favorited":false,"in_reply_to_screen_name":"hemashushu","lang":"zh","retweeted":false,"fact_check":null,"id":"1983873774325002619","view_count":1228,"bookmark_count":0,"created_at":1761827341000,"favorite_count":3,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"152682525","conversation_id_str":"1983873764501909646","full_text":"当然这个方法要求主程序在运行中“静悄悄地”释放一个可执行程序,也不算非常优雅,但确实是最简单且可行的方法。\n\n早前我还想过能不能在程序里嵌入一个动态加载器(即类似ld-linux的角色),如果目标动态库没有再依赖其他库,倒是可行,但这样通用性就大打折扣了,就不知道还有没其他优雅的方法……","in_reply_to_user_id_str":"152682525","in_reply_to_status_id_str":"1983873771292520716","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[12,164],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"7755562","name":"AlexZ 🦀","screen_name":"blackanger","indices":[0,11]}]},"favorited":false,"in_reply_to_screen_name":"blackanger","lang":"zh","retweeted":false,"fact_check":null,"id":"1983896092384358614","view_count":740,"bookmark_count":0,"created_at":1761832662000,"favorite_count":1,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"152682525","conversation_id_str":"1983873764501909646","full_text":"@blackanger 理论上是可以把glibc或者musl的动态链接器包含在主程序里,但比较稳健的做法还是使用当前系统的链接器,毕竟不确定最终运行环境的是哪一个以及版本是什么,不同加载器和版本不太通用(用 musl 加载器加载基于 glibc 的共享库好像会出错)话说我挺强烈赞成全部用rust重写的,真受够这些部署的依赖问题","in_reply_to_user_id_str":"7755562","in_reply_to_status_id_str":"1983891975930810774","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-01","value":4407,"startTime":1761868800000,"endTime":1761955200000,"tweets":[{"bookmarked":false,"display_text_range":[0,159],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[{"display_url":"emily.space/posts/251023-uv","expanded_url":"https://emily.space/posts/251023-uv","url":"https://t.co/dKaV5ByaGf","indices":[136,159]}],"user_mentions":[]},"favorited":false,"lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1984141269581602873","view_count":4318,"bookmark_count":34,"created_at":1761891116000,"favorite_count":36,"quote_count":0,"reply_count":6,"retweet_count":2,"user_id_str":"152682525","conversation_id_str":"1984141269581602873","full_text":"近一两年工具方面让我印象比较深刻的有pnpm和uv。\n\n这两者较相似,都是在一大堆莫名奇妙的前任们肆虐开发者身心几年后,终于冒出比较正常的包管理器。\n\n其中uv更为深刻,虽说用rust编写生成的代码不会变快但利用了可靠的并行方法让程序整体效率的确有显著的提升,很有启发。 https://t.co/dKaV5ByaGf","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[12,33],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"743651613848408064","name":"yuahuua","screen_name":"yuahualove","indices":[0,11]}]},"favorited":false,"in_reply_to_screen_name":"yuahualove","lang":"zh","retweeted":false,"fact_check":null,"id":"1984183703023824987","view_count":89,"bookmark_count":0,"created_at":1761901233000,"favorite_count":1,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"152682525","conversation_id_str":"1983873764501909646","full_text":"@yuahualove 让程序变成 portable (绿色软件)","in_reply_to_user_id_str":"743651613848408064","in_reply_to_status_id_str":"1984178808350761222","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-02","value":0,"startTime":1761955200000,"endTime":1762041600000,"tweets":[]},{"label":"2025-11-03","value":0,"startTime":1762041600000,"endTime":1762128000000,"tweets":[]},{"label":"2025-11-04","value":0,"startTime":1762128000000,"endTime":1762214400000,"tweets":[]},{"label":"2025-11-05","value":0,"startTime":1762214400000,"endTime":1762300800000,"tweets":[]},{"label":"2025-11-06","value":0,"startTime":1762300800000,"endTime":1762387200000,"tweets":[]},{"label":"2025-11-07","value":0,"startTime":1762387200000,"endTime":1762473600000,"tweets":[]},{"label":"2025-11-08","value":0,"startTime":1762473600000,"endTime":1762560000000,"tweets":[]},{"label":"2025-11-09","value":0,"startTime":1762560000000,"endTime":1762646400000,"tweets":[]},{"label":"2025-11-10","value":0,"startTime":1762646400000,"endTime":1762732800000,"tweets":[]},{"label":"2025-11-11","value":98984,"startTime":1762732800000,"endTime":1762819200000,"tweets":[{"bookmarked":false,"display_text_range":[0,177],"entities":{"hashtags":[],"media":[{"display_url":"pic.x.com/y7mQaYxAcO","expanded_url":"https://x.com/hemashushu/status/1987684873579229366/photo/1","id_str":"1987684496427331584","indices":[178,201],"media_key":"3_1987684496427331584","media_url_https":"https://pbs.twimg.com/media/G5WshK8aMAAkKjq.jpg","type":"photo","url":"https://t.co/y7mQaYxAcO","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":2048,"w":605,"resize":"fit"},"medium":{"h":1200,"w":354,"resize":"fit"},"small":{"h":680,"w":201,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":4096,"width":1209,"focus_rects":[{"x":0,"y":2017,"w":1209,"h":677},{"x":0,"y":1751,"w":1209,"h":1209},{"x":0,"y":1666,"w":1209,"h":1378},{"x":0,"y":1146,"w":1209,"h":2418},{"x":0,"y":0,"w":1209,"h":4096}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1987684496427331584"}}},{"display_url":"pic.x.com/y7mQaYxAcO","expanded_url":"https://x.com/hemashushu/status/1987684873579229366/photo/1","id_str":"1987684745992691712","indices":[178,201],"media_key":"3_1987684745992691712","media_url_https":"https://pbs.twimg.com/media/G5WsvspbYAAVTFM.jpg","type":"photo","url":"https://t.co/y7mQaYxAcO","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":864,"w":1493,"resize":"fit"},"medium":{"h":694,"w":1200,"resize":"fit"},"small":{"h":394,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":864,"width":1493,"focus_rects":[{"x":0,"y":0,"w":1493,"h":836},{"x":0,"y":0,"w":864,"h":864},{"x":0,"y":0,"w":758,"h":864},{"x":45,"y":0,"w":432,"h":864},{"x":0,"y":0,"w":1493,"h":864}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1987684745992691712"}}}],"symbols":[],"timestamps":[],"urls":[{"display_url":"build-your-own.org/redis/","expanded_url":"https://build-your-own.org/redis/","url":"https://t.co/6mVtSlCXnB","indices":[154,177]}],"user_mentions":[]},"extended_entities":{"media":[{"display_url":"pic.x.com/y7mQaYxAcO","expanded_url":"https://x.com/hemashushu/status/1987684873579229366/photo/1","id_str":"1987684496427331584","indices":[178,201],"media_key":"3_1987684496427331584","media_url_https":"https://pbs.twimg.com/media/G5WshK8aMAAkKjq.jpg","type":"photo","url":"https://t.co/y7mQaYxAcO","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":2048,"w":605,"resize":"fit"},"medium":{"h":1200,"w":354,"resize":"fit"},"small":{"h":680,"w":201,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":4096,"width":1209,"focus_rects":[{"x":0,"y":2017,"w":1209,"h":677},{"x":0,"y":1751,"w":1209,"h":1209},{"x":0,"y":1666,"w":1209,"h":1378},{"x":0,"y":1146,"w":1209,"h":2418},{"x":0,"y":0,"w":1209,"h":4096}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1987684496427331584"}}},{"display_url":"pic.x.com/y7mQaYxAcO","expanded_url":"https://x.com/hemashushu/status/1987684873579229366/photo/1","id_str":"1987684745992691712","indices":[178,201],"media_key":"3_1987684745992691712","media_url_https":"https://pbs.twimg.com/media/G5WsvspbYAAVTFM.jpg","type":"photo","url":"https://t.co/y7mQaYxAcO","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":864,"w":1493,"resize":"fit"},"medium":{"h":694,"w":1200,"resize":"fit"},"small":{"h":394,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":864,"width":1493,"focus_rects":[{"x":0,"y":0,"w":1493,"h":836},{"x":0,"y":0,"w":864,"h":864},{"x":0,"y":0,"w":758,"h":864},{"x":45,"y":0,"w":432,"h":864},{"x":0,"y":0,"w":1493,"h":864}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1987684745992691712"}}}]},"favorited":false,"lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1987684873579229366","view_count":57766,"bookmark_count":855,"created_at":1762735977000,"favorite_count":721,"quote_count":4,"reply_count":9,"retweet_count":155,"user_id_str":"152682525","conversation_id_str":"1987684873579229366","full_text":"分享一个非常适合入门 Linux 编程的教程《Build Your Own Redis with C/C++》\n\n这个教程的特点是将知识点讲得非常细致,生怕你看不懂,同时循序渐进地展开怕你中途放弃。从 socket/tcp 开始,讲到并发(异步)、散列表、序列化、快取等,可谓非常全面,非常适合用来练手。\n\nhttps://t.co/6mVtSlCXnB https://t.co/y7mQaYxAcO","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,152],"entities":{"hashtags":[],"media":[{"display_url":"pic.x.com/8NN4CZ3f2L","expanded_url":"https://x.com/hemashushu/status/1987681953987043411/video/1","id_str":"1987681362309246976","indices":[153,176],"media_key":"13_1987681362309246976","media_url_https":"https://pbs.twimg.com/amplify_video_thumb/1987681362309246976/img/gSvi_xou6TJZeUVR.jpg","type":"video","url":"https://t.co/8NN4CZ3f2L","additional_media_info":{"monetizable":false},"ext_media_availability":{"status":"Available"},"sizes":{"large":{"h":1080,"w":1920,"resize":"fit"},"medium":{"h":675,"w":1200,"resize":"fit"},"small":{"h":383,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":1080,"width":1920,"focus_rects":[]},"allow_download_status":{"allow_download":true},"video_info":{"aspect_ratio":[16,9],"duration_millis":16850,"variants":[{"content_type":"application/x-mpegURL","url":"https://video.twimg.com/amplify_video/1987681362309246976/pl/TvNA8h0a0DqA8eDM.m3u8?tag=14&v=cfc"},{"bitrate":288000,"content_type":"video/mp4","url":"https://video.twimg.com/amplify_video/1987681362309246976/vid/avc1/480x270/K2DQ8S2rEBIY3VDF.mp4?tag=14"},{"bitrate":832000,"content_type":"video/mp4","url":"https://video.twimg.com/amplify_video/1987681362309246976/vid/avc1/640x360/4WXmaHbeJOzC5BAY.mp4?tag=14"},{"bitrate":2176000,"content_type":"video/mp4","url":"https://video.twimg.com/amplify_video/1987681362309246976/vid/avc1/1280x720/Us1JABpY7xYFag_Q.mp4?tag=14"}]},"media_results":{"result":{"media_key":"13_1987681362309246976"}}}],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[]},"extended_entities":{"media":[{"display_url":"pic.x.com/8NN4CZ3f2L","expanded_url":"https://x.com/hemashushu/status/1987681953987043411/video/1","id_str":"1987681362309246976","indices":[153,176],"media_key":"13_1987681362309246976","media_url_https":"https://pbs.twimg.com/amplify_video_thumb/1987681362309246976/img/gSvi_xou6TJZeUVR.jpg","type":"video","url":"https://t.co/8NN4CZ3f2L","additional_media_info":{"monetizable":false},"ext_media_availability":{"status":"Available"},"sizes":{"large":{"h":1080,"w":1920,"resize":"fit"},"medium":{"h":675,"w":1200,"resize":"fit"},"small":{"h":383,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":1080,"width":1920,"focus_rects":[]},"allow_download_status":{"allow_download":true},"video_info":{"aspect_ratio":[16,9],"duration_millis":16850,"variants":[{"content_type":"application/x-mpegURL","url":"https://video.twimg.com/amplify_video/1987681362309246976/pl/TvNA8h0a0DqA8eDM.m3u8?tag=14&v=cfc"},{"bitrate":288000,"content_type":"video/mp4","url":"https://video.twimg.com/amplify_video/1987681362309246976/vid/avc1/480x270/K2DQ8S2rEBIY3VDF.mp4?tag=14"},{"bitrate":832000,"content_type":"video/mp4","url":"https://video.twimg.com/amplify_video/1987681362309246976/vid/avc1/640x360/4WXmaHbeJOzC5BAY.mp4?tag=14"},{"bitrate":2176000,"content_type":"video/mp4","url":"https://video.twimg.com/amplify_video/1987681362309246976/vid/avc1/1280x720/Us1JABpY7xYFag_Q.mp4?tag=14"}]},"media_results":{"result":{"media_key":"13_1987681362309246976"}}}]},"favorited":false,"lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1987681953987043411","view_count":41218,"bookmark_count":52,"created_at":1762735281000,"favorite_count":117,"quote_count":3,"reply_count":24,"retweet_count":8,"user_id_str":"152682525","conversation_id_str":"1987681953987043411","full_text":"刚看到一个视频,博主用切换窗口动画的流畅度来判断操作系统的强弱。\n\n其实我觉得linux桌面的动画一直还不错哈,早期是ubuntu8.04还是更早版本记得不太清楚,桌面动画非常夸张,后来倒是逐渐朴素。\n\n视频是我尝试弹射read-it-later浏览器窗口,可能是因为本地录频有点掉帧,实际动画很流畅的。 https://t.co/8NN4CZ3f2L","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-12","value":167,"startTime":1762819200000,"endTime":1762905600000,"tweets":[{"bookmarked":false,"display_text_range":[11,87],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"4375814952","name":"Tit1e","screen_name":"evollyone","indices":[0,10]}]},"favorited":false,"in_reply_to_screen_name":"evollyone","lang":"zh","retweeted":false,"fact_check":null,"id":"1988072941205287050","view_count":167,"bookmark_count":0,"created_at":1762828500000,"favorite_count":1,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"152682525","conversation_id_str":"1987757085795455282","full_text":"@evollyone 是的,高速滚动的画面遇到尽头突然停止,在视觉上是有一点“心理膈应”的感觉,使用“回弹”来解决其实挺巧妙的,后来android用“拉伸”来解决好像也不错。","in_reply_to_user_id_str":"4375814952","in_reply_to_status_id_str":"1987757085795455282","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-13","value":0,"startTime":1762905600000,"endTime":1762992000000,"tweets":[]},{"label":"2025-11-14","value":0,"startTime":1762992000000,"endTime":1763078400000,"tweets":[]},{"label":"2025-11-15","value":0,"startTime":1763078400000,"endTime":1763164800000,"tweets":[]},{"label":"2025-11-16","value":0,"startTime":1763164800000,"endTime":1763251200000,"tweets":[]},{"label":"2025-11-17","value":0,"startTime":1763251200000,"endTime":1763337600000,"tweets":[]},{"label":"2025-11-18","value":0,"startTime":1763337600000,"endTime":1763424000000,"tweets":[]},{"label":"2025-11-19","value":0,"startTime":1763424000000,"endTime":1763510400000,"tweets":[]},{"label":"2025-11-20","value":0,"startTime":1763510400000,"endTime":1763596800000,"tweets":[]},{"label":"2025-11-21","value":0,"startTime":1763596800000,"endTime":1763683200000,"tweets":[]}]},"interactions":{"users":[{"created_at":1257907233000,"uid":"89087981","id":"89087981","screen_name":"vireriver","name":"情绪价值","friends_count":1133,"followers_count":108,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1928514401897951239/emhyHJdT_normal.jpg","description":"解决问题才是最牛逼的情绪价值。\n但大多数人并不准备解决问题,他们只需要安慰、 同情和接纳——这类很低端的情绪价值。","entities":{"description":{"urls":[]}},"interactions":1},{"created_at":1487078900000,"uid":"831495289441628160","id":"831495289441628160","screen_name":"changwei1006","name":"Chang Wei 昌维","friends_count":4909,"followers_count":18470,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1154149299820748800/AfDMcaKi_normal.jpg","description":"PhD student, Dept of Adult & Continuing Education, National Taiwan Normal University.\nFormerly studied ECE & CSIE.\nInterned at @PingCAP & @RisingWaveLabs as FE.","entities":{"description":{"urls":[]},"url":{"urls":[{"display_url":"changwei.me","expanded_url":"https://www.changwei.me","url":"https://t.co/d6BXAYKIG3","indices":[0,23]}]}},"interactions":1},{"created_at":1335953495000,"uid":"569062086","id":"569062086","screen_name":"quanruzhuoxiu","name":"Leyang","friends_count":504,"followers_count":1408,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1968902518790045697/O2EaIUiR_normal.jpg","description":"Web Infra@Bytedance. Prev: DiDi.","entities":{"description":{"urls":[]},"url":{"urls":[{"display_url":"lifeos.vip","expanded_url":"https://lifeos.vip","url":"https://t.co/cPdWHvmrUQ","indices":[0,23]}]}},"interactions":1},{"created_at":1319950472000,"uid":"401169849","id":"401169849","screen_name":"S3condhandLif3","name":"h40","friends_count":824,"followers_count":315,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1513398083215896577/Dm9FwDCg_normal.jpg","description":"多少男人因为没钱错过了真爱","entities":{"description":{"urls":[]}},"interactions":1},{"created_at":1319778095000,"uid":"399869367","id":"399869367","screen_name":"QiCloudage","name":"Qi ✞","friends_count":246,"followers_count":132,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1787484228600709120/o46VviMx_normal.jpg","description":"A veteran API invoker, an expert of code copying & pasting.","entities":{"description":{"urls":[]}},"interactions":1},{"created_at":1234439158000,"uid":"20670891","id":"20670891","screen_name":"Oceanic24D","name":"大洋航空","friends_count":94,"followers_count":179,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1759784704193204224/fvRORyOh_normal.jpg","description":"至今还在岛上。\n\n好消息:我航司今天第二件行李半价。\n\n古法编程 CURD 爱好者","entities":{"description":{"urls":[]}},"interactions":1},{"created_at":1685294553000,"uid":"1662871897309347842","id":"1662871897309347842","screen_name":"ForsakenDreamm","name":"然然然","friends_count":765,"followers_count":468,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1952549718510493696/5TpjMYpV_normal.jpg","description":"小米和华为的唯一区别就是名字叫小米","entities":{"description":{"urls":[]}},"interactions":1},{"created_at":1649302816000,"uid":"1511911668854321158","id":"1511911668854321158","screen_name":"may_existed","name":"哦落落","friends_count":63,"followers_count":76,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1910526663886290944/AA_eHr9i_normal.jpg","description":"","entities":{"description":{"urls":[]}},"interactions":1},{"created_at":1272115811000,"uid":"136631870","id":"136631870","screen_name":"justtwwit","name":"Janx","friends_count":518,"followers_count":84,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1906154966676545536/TbON9yTS_normal.jpg","description":"Don’t panic","entities":{"description":{"urls":[]},"url":{"urls":[{"display_url":"twitter.com/#!/janx","expanded_url":"https://twitter.com/#!/janx","url":"https://t.co/mrU4JlkCEH","indices":[0,23]}]}},"interactions":1},{"created_at":1566490005000,"uid":"1164569032323768320","id":"1164569032323768320","screen_name":"a995b305d8df67f","name":"123","friends_count":348,"followers_count":91,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1841159136186351616/GNW-bzfW_normal.jpg","description":"翻墙爱国蛆是推特上最下贱的东西","entities":{"description":{"urls":[]}},"interactions":1}],"period":14,"start":1762407275433,"end":1763616875433},"interactions_updated":1763616875558,"created":1763616875216,"updated":1763616875558,"type":"the analyst","hits":1},"people":[{"user":{"id":"1414475876482174977","name":"李傻根 MORE MONEY","description":"不 365 X 24 想着搞钱,和咸鱼有什么区别。","followers_count":7033,"friends_count":185,"statuses_count":319,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1982647401362968576/pU3VAvT5_normal.jpg","screen_name":"v3wanu","location":"新界","entities":{"description":{"urls":[]},"url":{"urls":[{"display_url":"shenglizhengquan.com","expanded_url":"http://shenglizhengquan.com","url":"https://t.co/aUnf1XQfY4","indices":[0,23]}]}}},"details":{"type":"The Analyst","description":"李傻根 MORE MONEY is a data-driven financial guru who breaks down complex tax systems and investment strategies with clarity and precision. Their expertise on CRS regulations, debt optimization, and cross-border banking helps followers avoid costly mistakes and make smarter money moves. Always armed with facts and a no-nonsense attitude, they debunk myths and share actionable tips to navigate the financial maze.","facts":"Fun fact: 李傻根 discovered that some 'official' address proof documents sold on Taobao are just free templates, exposing a widespread intelligence tax trap.","purpose":"李傻根's life purpose is to empower everyday people by demystifying complicated financial rules, specifically around taxation and investments, enabling them to keep more of their hard-earned money and optimize their financial life with confidence.","beliefs":"They believe in transparency, financial literacy, and fighting against misinformation and exploitative middlemen. They hold that well-informed individuals can outsmart bureaucracies and predatory financial schemes through knowledge and smart planning.","strength":"Their key strength is analytical prowess combined with practical experience: breaking down complex tax laws like CRS and illustrating real-world strategies that people can implement immediately to save money and protect assets.","weakness":"Occasionally, their no-holds-barred truth bombs and deep dives into technical details might overwhelm or alienate casual followers who prefer lighter financial content or motivational posts.","recommendation":"To grow their audience on X, 李傻根 should incorporate more bite-sized tips and visually engaging threads that simplify their deep dives. Collaborations with relatable finance influencers or live Q&A sessions could boost engagement and broaden their reach.","roast":"For someone so obsessed with dodging taxes and fees, 李傻根 probably spends more time analyzing loopholes than enjoying their own money—maybe it’s time to make some losses just to cash in on the 'fun' side of finance!","win":"Their biggest win is educating thousands on the realities of CRS reporting rules, dispelling myths, and helping followers avoid hefty penalties and unnecessary fees."},"created":1763619077275,"type":"the analyst","id":"v3wanu"},{"user":{"id":"1944099154155970560","name":"0xSunday | 𝔽rAI","description":"Lock in brain, prattle like rain","followers_count":468,"friends_count":312,"statuses_count":9553,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1978984496520212480/WyNlRXYR_normal.jpg","screen_name":"FChernesky58517","location":"","entities":{"description":{"urls":[]}}},"details":{"type":"The Analyst","description":"0xSunday | 𝔽rAI is a data-driven crypto strategist blending deep technical insight with real-time market intelligence. With an ocean of tweets packed with actionable DeFi and blockchain analytics, this profile is a beacon for traders hungry for precision and alpha. Their sharp focus on tools, metrics, and market signals makes them an indispensable guide in the chaotic crypto wilderness.","purpose":"To decode complex blockchain and DeFi market data into digestible, actionable insights that empower traders and investors to make informed, strategic decisions swiftly in a fast-evolving landscape.","beliefs":"They believe in the supremacy of data over hype, the power of automation and AI in market analysis, and that consistency in quality analytics combined with social engagement can move markets and build credibility. They value transparency, precision, and leveraging technology to outsmart latency and inefficiencies in trading.","facts":"Fun fact: 0xSunday tweets over 9,500 times, turning brainpower into rapid-fire market analysis that compresses hours of data into seconds of decision-making. Their toolkit is a single multi-agent AI-powered desk — not ten tools, just one sharp weapon.","strength":"Mastery over complex data streams and the ability to translate technical indicators and on-chain metrics into clear strategic moves. Their structured, analytical approach and consistency in delivering daily check-ins and insights build trust and authority.","weakness":"The hyper-technical and data-heavy style may be intimidating to newcomers or casual followers. The depth of analysis might sometimes overwhelm those looking for quick summaries or simpler narratives, possibly limiting broader appeal.","recommendation":"Focus on creating more accessible, bite-sized explainer threads that break down complex analytics into easy-to-digest lessons for beginners while maintaining depth for advanced followers. Engage the vibrant crypto community by live-tweeting market reactions or hosting AMA sessions to sharpen their influencer presence on X.","roast":"You tweet so much data that even a supercomputer would ask for a coffee break — 9,553 tweets and counting, turning X into your personal blockchain journal. At this rate, your following might be less about fans and more about the colon cleanse your feed needs!","win":"Building a trusted reputation as a go-to source for sophisticated Web3 and on-chain trading strategies, catching institutional and retail eyes alike with real alpha discoveries and a laser focus on actionable data."},"created":1763619029082,"type":"the analyst","id":"fchernesky58517"},{"user":{"id":"91001699","name":"HalfAMonk","description":"- 程序猿 Python / Golang \n- 伪宅=faked otaku=ゴミ箱 \n- 冒名顶替症候群 | 自信缺乏症候群 | 拖延症晚期 \n- 4杯咖啡/天 \n- 有着自认为远大的想法和向其努力的决心\n- Aiming Guru\n- Stoicism | Optimistic Nihilism","followers_count":996,"friends_count":482,"statuses_count":22173,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1129263300754075649/nl9XvhHf_normal.jpg","screen_name":"halfamonk","location":"","entities":{"description":{"urls":[]}}},"details":{"type":"The Analyst","description":"HalfAMonk is a deeply thoughtful programmer who combines technical expertise with a dry, stoic worldview and an eye for societal quirks. They dissect complex programming concepts while also reflecting on everyday interactions and cultural phenomena with sharp wit. A self-aware, coffee-fueled thinker who marches to the beat of optimistic nihilism and stoic philosophy.","facts":"Despite tweeting over 22,000 times, HalfAMonk modestly admits to struggles with impostor syndrome, low confidence, and chronic procrastination—yet still aims to be a guru in their field.","purpose":"To decode the intricacies of both technology and society, sharing insights that empower others to think critically and navigate life’s chaos with a grounded, stoic mindset.","beliefs":"Values intellectual honesty, transparency, and continuous self-improvement grounded in stoicism and optimistic nihilism. Believes in questioning norms, embracing uncertainty, and balancing lofty ambitions with a humble awareness of personal limitations.","strength":"Exceptional analytical mindset blending programming skills with philosophical depth, ability to communicate complex ideas clearly, and resilience to maintain prolific output amid self-doubt.","weakness":"Tends to overthink due to impostor syndrome and procrastination, which can stall progress and obscure their true potential from both themselves and their audience.","recommendation":"Leverage your deep technical knowledge and philosophical insights to create threads that explain programming concepts using humor and real-life examples. Engage more interactively with your followers to build community and showcase your personality beyond the code.","roast":"You’ve tweeted so much, you could probably write a novel—or at least enough code to launch your own start-up—but your brief bouts of confidence often get stuck in the same place your procrastination does: right after four cups of coffee.","win":"Maintaining a prolific presence on X with over 22,000 tweets, combining both technical depth and sociocultural commentary, all while navigating the complexities of impostor syndrome and self-doubt."},"created":1763618704127,"type":"the analyst","id":"halfamonk"},{"user":{"id":"1003908754813935621","name":"Rocky","description":"Long term investor #BTC #TAO #SOL #SUI #XRP| MeMe Professional Data Player | Crypto since 2017 | Not financial advice, DYOR🙏","followers_count":129648,"friends_count":3013,"statuses_count":30516,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1549242558098046976/bU2ZeoEU_normal.jpg","screen_name":"Rocky_Bitcoin","location":"","entities":{"description":{"urls":[]}}},"details":{"type":"The Analyst","description":"Rocky is a seasoned crypto investor and data enthusiast who blends deep analysis with a sprinkle of humor and real talk. With a laser focus since 2017 on major cryptocurrencies, he’s got the pulse on market trends and emerging tech. His tweets are a treasure trove of insights, making complex concepts digestible for fellow crypto and investment aficionados.","facts":"Rocky has tweeted over 30,000 times, demonstrating both his commitment and passion for sharing crypto wisdom backed by data since 2017.","purpose":"Rocky’s life purpose is to demystify the crypto world through rigorous data analysis and thoughtful insights, providing his audience with the knowledge to make informed decisions while fostering a community grounded in learning and prudence.","beliefs":"He believes in long-term value over hype, the power of continuous learning, and embracing technological advancements like AI without losing sight of human creativity and ethical investing. He champions transparency, cautious innovation, and rigorous self-awareness in decision-making.","strength":"Rocky’s greatest strength lies in his data-driven approach combined with deep market understanding, enabling him to spot trends and provide actionable, well-reasoned advice. He’s exceptionally disciplined, prolific, and cultivates trust through thoughtful, nuanced content.","weakness":"His intense focus on analysis and data sometimes leads to over-sharing, which can overwhelm his audience or dilute impact. Also, his skeptic’s mindset occasionally makes him too cautious, potentially missing out on timely, high-reward risks.","recommendation":"To grow his audience on X, Rocky should engage more in conversations by replying thoughtfully to popular crypto influencers, leverage visual content like charts or short video explainers, and occasionally lighten up the feed with relatable memes or polls to boost engagement without losing his analytical edge.","roast":"Rocky’s dedication to data is so intense, he probably runs more regressions on his dinner menu than most people do on their entire portfolio. When he says 'Not financial advice,' it’s really a plea for someone to stop him before he drafts another 3,000-word thread analyzing why your coffee choice affects BTC price movements.","win":"Rocky’s standout achievement is building a loyal, data-savvy community over half a decade through consistent, high-quality content that educates and empowers crypto enthusiasts to navigate volatile markets with confidence and clarity."},"created":1763617197129,"type":"the analyst","id":"rocky_bitcoin"},{"user":{"id":"2166901135","name":"有田","description":"有田哲平さんが好きです","followers_count":1816,"friends_count":2493,"statuses_count":13124,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1971785321932263424/JVhdaO2a_normal.jpg","screen_name":"pizzapastamcd1","location":"","entities":{"description":{"urls":[]}}},"details":{"type":"The Analyst","description":"有田 is a data-savvy commentator who dissects complex economic and geopolitical trends with sharp insight and a no-nonsense style. With a prolific tweeting habit, they consistently deliver in-depth analysis primarily focused on global markets and industrial shifts. Their content blends historical context with current market dynamics, catering to followers who crave understanding beyond the headlines.","purpose":"To provide clarity and informed perspectives on global economic and industrial phenomena, empowering their audience to navigate market complexities with confidence and strategic foresight.","beliefs":"They believe in the power of rigorous analysis backed by historical evidence as the key to understanding market behaviors and global geopolitical strategies. They value transparency, critical thinking, and the importance of anticipating structural shifts in economies over superficial trends.","facts":"Fun fact: Despite 有田's follower count being undefined, they maintain a high level of engagement through 13,124 tweets, showcasing exceptional dedication to sharing their insights and participating actively in discussions.","strength":"Their strength lies in deep knowledge of industrial and geopolitical dynamics, enabling them to provide nuanced analysis that connects dots others might miss. They leverage historical context effectively to explain present market trends and potential future scenarios.","weakness":"A potential weakness might be their highly analytical and serious tone, which could limit broader appeal or follower growth among audiences seeking lighter, more entertaining content. The frequent technical depth might also overwhelm casual followers.","recommendation":"To grow their audience on X, 有田 should consider balancing their deep dives with occasional simplified threads or engaging multimedia content like charts and infographics. Engaging more with followers through Q&As or brief, provocative questions could stimulate discussions and increase shareability.","roast":"For someone with nearly 13,124 tweets, 有田 might want to take a break before their keyboard files a restraining order for overuse—because if pontificating about economic policies were an Olympic sport, you'd have more gold than Michael Phelps by now!","win":"Consistently producing high-quality, well-researched content with solid engagement numbers like 21K+ likes on a single tweet shows 有田's undeniable influence in shaping thoughtful discussions around complex global market topics."},"created":1763617175992,"type":"the analyst","id":"pizzapastamcd1"},{"user":{"id":"946646949310033921","name":"蟹仔量化","description":"6年机构量化策略开发和交易经验,自营交易第3年,专注港美股和全球衍生品量化交易,富途牛牛知名博主","followers_count":216,"friends_count":5,"statuses_count":738,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1901510090676703232/0AmcJoTa_normal.jpg","screen_name":"String1992","location":"开曼群岛","entities":{"description":{"urls":[]},"url":{"urls":[{"display_url":"youtube.com/@CancerQuant","expanded_url":"https://www.youtube.com/@CancerQuant","url":"https://t.co/8zjBgVlkUy","indices":[0,23]}]}}},"details":{"type":"The Analyst","description":"蟹仔量化 is a seasoned quantitative trader and strategist with 6 years of institutional experience, now thriving in self-directed trading focused on global derivatives and US-HK stocks. Known for their detailed market analyses, they provide raw, data-driven insights that cut through market noise with a sharp and candid tone. Their tweets reflect a mix of deep expertise, frustration with market irrationality, and a commitment to sharing real trading realities.","purpose":"蟹仔量化’s life purpose is to decode complex financial markets through rigorous quantitative analysis, empowering both themselves and their audience to navigate and capitalize on market dynamics intelligently and profitably.","beliefs":"They believe that true market movements cannot be manufactured or hyped and that understanding real market fundamentals and data is paramount. They value factual, evidence-based approaches over marketing or hype and place importance on transparency and authenticity in trading communication.","facts":"Fun fact: Despite being a top quant strategist with over 700 tweets, 蟹仔量化 only follows 5 accounts, clearly preferring deep analysis over broad social interaction.","strength":"Their greatest strength lies in their robust, data-driven market insights combined with years of institutional experience, enabling them to provide highly credible and precise quantitative analysis that stands out in the noisy world of finance Twitter.","weakness":"A potential weakness is their tendency towards blunt and sometimes frustrated language, which can alienate less experienced followers or those expecting more polished social media engagement.","roast":"For someone who’s mastered the art of quantitative strategy, it’s impressive how often 蟹仔量化’s tweets sound like a trader yelling at gold for ‘not behaving’. Maybe it’s time to teach gold some manners instead of just swearing at it.","win":"Achieved an impressive 35.84% yearly profit (2x leverage) in US stock trading through a self-directed strategy, significantly outperforming key market indices like the Nasdaq.","recommendation":"To grow their audience on X, 蟹仔量化 should balance their expert quantitative insights with more accessible explanations and tempered tone. Engaging more with followers, sharing educational threads, and occasionally humanizing the trading experience could attract a wider, more loyal following while maintaining credibility."},"created":1763617141910,"type":"the analyst","id":"string1992"},{"user":{"id":"722416080","name":"Fran Zekan","description":"senior engineer @ https://t.co/Puxv8xSHqa\n\nex-engineer @sizzyapp\nex-engineering lead @stemi_edu\n\n🧗♂️🚴♂️🏃♂️🏊♂️🏸🎮\n\nGithub: https://t.co/KygY6XvoCx","followers_count":1819,"friends_count":5111,"statuses_count":7936,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1545051799765151744/WqwkRmcL_normal.jpg","screen_name":"Zeko369","location":"Zagreb","entities":{"description":{"urls":[{"display_url":"unidy.de","expanded_url":"http://unidy.de","url":"https://t.co/Puxv8xSHqa","indices":[18,41]},{"display_url":"github.com/Zeko369","expanded_url":"http://github.com/Zeko369","url":"https://t.co/KygY6XvoCx","indices":[125,148]}]}}},"details":{"type":"The Analyst","description":"Fran Zekan is a seasoned engineering expert who combines sharp technical insights with a playful sense of humor. With a prolific tweeting history, Fran dissects the latest tech developments and industry surprises while engaging an audience hungry for clear, critical perspectives. An avid adventurer in both the digital and physical worlds, Fran balances code and cardio with enviable ease.","purpose":"Fran’s life purpose revolves around unraveling complex engineering mysteries for the broader tech community, making the convoluted simple and sparking thoughtful conversations that push technology forward.","beliefs":"Believing in the power of transparency, relentless curiosity, and the importance of security done right, Fran champions honesty in tech, the celebration of innovation, and the notion that tough problems deserve straightforward solutions.","facts":"Fun fact: Fran's tweets regularly rack up millions of views and tens of thousands of likes, proving that not only can they engineer complex systems, but they can also engineer viral content that resonates across tech circles.","strength":"Fran excels at breaking down technical topics into digestible, relatable insights while maintaining a witty, approachable voice, which keeps an engaged and growing audience eager for the next revelation.","weakness":"Sometimes Fran’s dry, expert tone might feel a bit cryptic to non-technical followers, which could limit broader appeal outside their core engineering community.","recommendation":"To grow their audience on X, Fran should embrace more shareable, bite-sized explainer threads and leverage interactive Q&A sessions to make engineering topics accessible to enthusiasts of all levels — turning those massive tech brains into crowd pleasers.","roast":"Fran tweets complex tech truths so fast and with such depth, you'd think they’re trying to alpha-test your brain's RAM speed—slow buffering followers may need to upgrade just to keep up.","win":"Fran’s biggest win is delivering one of the most viral and insightful tech tweets post-ReactConf, sparking widespread conversations about React Native’s capabilities and changing how developers think about app frameworks."},"created":1763616885670,"type":"the analyst","id":"zeko369"},{"user":{"id":"962557148336181249","name":"thlm-学渣同学 🚀game","description":"#digination intp 想让ai帮我做事 深挖ai技术能实现什么,如何为我们更高效的解决问题,分享通过ai实现盈利的实战经验,关注我,帮你在ai领域走得更远更稳,让我们一起探索未来把,头号联盟链游公会https://t.co/pP1Kl7ZdQ9❤️","followers_count":205,"friends_count":1621,"statuses_count":6681,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1461894617113128965/uF9AQK4Q_normal.jpg","screen_name":"l200892013","location":"","entities":{"description":{"urls":[{"display_url":"thlm.com","expanded_url":"https://thlm.com","url":"https://t.co/pP1Kl7ZdQ9","indices":[106,129]}]},"url":{"urls":[{"display_url":"debank.com/profile/0x565a…","expanded_url":"https://debank.com/profile/0x565ac90a1fddb23bcd13ea37b7268cd473203c15","url":"https://t.co/CqEFu5sne1","indices":[0,23]}]}}},"details":{"type":"The Analyst","description":"Thlm-学渣同学 🚀game is a deep-dive thinker and AI enthusiast who loves dissecting the tech behind AI to unlock practical, profit-generating strategies. With an INTP's curious mind, they explore cutting-edge tools and share their hands-on findings to help others navigate the AI landscape effectively. Always looking to push boundaries, they blend curiosity with real-world applications to guide their community into the future.","purpose":"Their life purpose is to unravel the complexities of AI technology and translate them into actionable insights and profitable ventures, empowering themselves and others to move confidently forward in a rapidly evolving digital world.","beliefs":"They believe in the power of technology, especially AI, to solve problems more efficiently and create new opportunities. Precision, knowledge-sharing, and continuous experimentation are core values, along with a commitment to building a community that explores and thrives together in the AI space.","facts":"Fun fact: Despite using the same AI tools as others, thlm-学渣同学 notices wildly different output results — like watching a blockbuster Hollywood video versus a slow-motion PPT slideshow — and openly invites others to share tips for mastery.","strength":"Exceptional analytical skills, a hunger for understanding AI's full potential, and a transparent sharing of practical experiences that help build trust and credibility among peers.","weakness":"Sometimes their exploration dives so deep into technical details that audience engagement might suffer, leading to fewer likes and retweets compared to their tweet volume, which can cause their high-effort content to be underappreciated.","recommendation":"To boost growth on X, thlm-学渣同学 should mix their deep insights with more engaging, relatable storytelling and invite direct audience participation through polls or challenges. Short, visually appealing threads on AI tips paired with clear user benefits could turn casual scrollers into loyal followers.","roast":"For someone who’s so fascinated by AI’s unpredictability, you seem to have a talent for turning high-tech tools into the social media equivalent of a complicated math problem — impressive to a few, but leaves most of us Googling for a translator.","win":"Their biggest win so far is building a knowledgeable and trustworthy personal brand in the AI niche, consistently sharing hands-on AI tool experiments and unique insights that help peers stay ahead in this cutting-edge field."},"created":1763616824631,"type":"the analyst","id":"l200892013"},{"user":{"id":"1847289520485773313","name":"T68 Lupin","description":"On-chain signal analyst @Polymarket Writing short insights on prediction markets & market psychology.","followers_count":2108,"friends_count":2562,"statuses_count":8775,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1975830615682654210/JjQCwMKG_normal.jpg","screen_name":"huynh_tinh1604","location":"Việt Nam","entities":{"description":{"urls":[]},"url":{"urls":[{"display_url":"polymarket.com/?via=huynh-tinh","expanded_url":"https://polymarket.com?via=huynh-tinh","url":"https://t.co/psr8licNTQ","indices":[0,23]}]}}},"details":{"type":"The Analyst","description":"T68 Lupin is a thoughtful on-chain signal analyst deeply engaged with the intersection of AI, blockchain, and data privacy, crafting insightful commentaries on prediction markets and market psychology. Their tweets reveal a passion for demystifying complex technologies like Fully Homomorphic Encryption with clarity and conviction. They serve as a trusted guide for the Web3 community eager to understand security innovations shaping the future.","purpose":"Their life purpose revolves around bridging sophisticated technological advances with accessible knowledge, empowering communities to trust and build a secure decentralized future. They aim to shine light on the often opaque world of blockchain and AI through insightful analysis that promotes ethical innovation and privacy-first solutions.","beliefs":"T68 Lupin believes in technological progress that harmonizes transparency with privacy, valuing trust as the cornerstone of digital ecosystems. They hold that emerging tech, like FHE, should protect individual freedoms rather than exploit data—and that security and innovation can coexist to foster a truly human-centered Web3.","facts":"Fun fact: Despite tweeting nearly 8,775 times and deeply influencing Web3 security discourse, T68 Lupin remains focused on quality insights over follower count, maintaining a large following yet following 2,562 other innovators closely to stay ahead of trends.","strength":"Their greatest strength lies in their ability to analyze and translate complex, technical subjects into compelling narratives that engage diverse audiences while maintaining authoritative depth. They are a vocal advocate for privacy-centric protocols and have strong ties to pioneering projects like Zama.","weakness":"Conversely, their highly specialized and technical content may limit broader mass appeal, risking their messages being too niche or dense for casual observers. Their high volume of tweets might also dilute the impact if not curated strategically.","recommendation":"To grow their audience on X, T68 Lupin should consider weaving in more bite-sized, relatable analogies or real-world use cases that connect daily lives to blockchain privacy innovations. Engaging with popular crypto influencers through collaborative threads or AMAs can also extend their reach beyond technical circles.","roast":"For someone tweeting 8,775 times, you’ve got the stamina of a caffeinated parrot—but sometimes your tech jargon flyover makes even Web3 insiders reach for a dictionary; hey, even the best analysts need a decoder ring now and then!","win":"T68 Lupin’s biggest win is becoming a respected voice in the Web3 security space, particularly through their consistent and passionate support of Zama’s pioneering Fully Homomorphic Encryption tech, helping position it as a foundational pillar for privacy-first blockchain applications."},"created":1763616781866,"type":"the analyst","id":"huynh_tinh1604"},{"user":{"id":"1951238734579638273","name":"BT投研 🐷","description":"清华韭菜,前阿里pm,国内百万粉kol,科学赌博系统研究者。一键清空过往,专注meme、alpha、链上机会投研,每日复盘https://t.co/N5DqJYwMGx","followers_count":1470,"friends_count":623,"statuses_count":282,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1987532143137071104/I1s52tlJ_normal.jpg","screen_name":"butten9981","location":"","entities":{"description":{"urls":[{"url":"https://t.co/N5DqJYwMGx","expanded_url":"https://t.me/+Lq3SHsFhXJQ2M2E1","display_url":"t.me/+Lq3SHsFhXJQ2M…","indices":[61,84]}]}}},"details":{"type":"The Analyst","description":"BT投研 🐷 is a sharp-minded former Alibaba PM turned top-tier crypto KOL with a passion for scientific gambling and deep dive investment research. Known for his methodical approach to market dynamics and meme culture, he combines rigorous analysis with a playful tone that resonates with his community. His commitment to wiping the slate clean and embracing Web3 opportunities marks him as a relentless seeker of alpha on the blockchain frontier.","purpose":"To decode complex market systems and deliver scientifically grounded investment insights that empower his followers to make strategic decisions in the volatile world of crypto assets. His purpose is to demystify blockchain economics and gambling theories to discover high-value, under-the-radar opportunities, fostering a smarter, more informed investor base.","beliefs":"BT投研 believes in rigorous research backed by data, the power of continuous learning through failure and review, and the necessity of bold reinvention in the face of uncertainty. He values transparency, calculated risk-taking, and the synergy between traditional analytic methods and innovative blockchain tech, while eschewing hype in favor of disciplined strategy.","facts":"Fun fact: Despite having cleared a massive 500k follower base on a previous platform, he bravely restarted from zero to pursue Web3, showcasing fearless dedication to his vision even against conventional wisdom and warnings from peers.","strength":"His analytical prowess and ability to weave gambling system concepts into market timing set him apart, combined with his disciplined habit of daily retrospectives that continuously sharpen his edge. His extensive insider experience and candid communication style build strong credibility and trust.","weakness":"The intensity of his analytical focus and critical perspective can sometimes alienate more casual followers or those looking for simpler narratives, and his bold moves to reset his brand may risk losing audience continuity. Additionally, his deep dives may occasionally overwhelm newcomers unfamiliar with technical jargon.","recommendation":"To grow his audience on X, BT投研 should leverage his unique blend of storytelling and analysis by posting concise, high-impact thread summaries of his findings, and engage more interactively through AMAs or polls focused on crypto trends. Embracing trending memes while educating will balance his in-depth content with broader accessibility.","roast":"BT投研’s dedication is so intense, he probably analyzes his dinner’s spice level with the same passion he forecasts token inflation—betting on every chili like it’s a crypto crash, but hey, at least his taste buds have a good poker face.","win":"Successfully pivoting from a million-follower Web2 influencer to a respected Web3 research authority, he has demonstrated both visionary risk tolerance and a mastery of crypto market mechanics that few can match."},"created":1763616215723,"type":"the analyst","id":"butten9981"},{"user":{"id":"713996605","name":"suckmydiscoteque.eth","description":"flânerie in crypto / prev @Optimism lead ambassador /now @polymarket and @zscdao aligned","followers_count":1500,"friends_count":2325,"statuses_count":2387,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1987858447572799489/xGD5G2TD_normal.jpg","screen_name":"bullrungenius","location":"Metaverse","entities":{"description":{"urls":[]},"url":{"urls":[{"display_url":"portal.abs.xyz/profile/0xF104…","expanded_url":"https://portal.abs.xyz/profile/0xF1048BE0B55403D1AD9cdb9D16911c6B76FCB67C","url":"https://t.co/bFVVDXZg1b","indices":[0,23]}]}}},"details":{"type":"The Analyst","description":"Suckmydiscoteque.eth is a crypto-savvy thinker who thrives on dissecting market nuances and emerging trends with a contrarian edge. Formerly a lead ambassador at Optimism, they now align with Polymarket and ZSCDao, bringing a keen eye for integrity and innovative capital models. Their deep dive analyses and balanced enthusiasm make them a trusted voice in the crypto community.","purpose":"To educate and empower the crypto community by uncovering hidden value in complex projects and innovating fair investment narratives that protect retail investors.","beliefs":"They believe in transparency, accountability, and the power of decentralized finance to democratize opportunity, while remaining skeptical of hype-driven projects and memorably championing sustainable blockchain innovation.","facts":"Fun fact: Despite their relaxed flânerie approach, they actively spot undervalued ICOs and unique crypto mechanics, like advocating for copytrading vaults and championing Internet Capital Markets with investor safeguards.","strength":"Sharp analytical skills combined with practical experience in ambassador roles enable them to uniquely identify undervalued projects and articulate complex concepts in accessible ways, building credibility and trust.","weakness":"Their highly detailed and occasionally niche-focused content may alienate casual followers or those unfamiliar with crypto's intricate ecosystems, thus limiting broader appeal.","recommendation":"To grow their audience on X, they should mix in more bite-sized insights and engaging questions while leveraging trending crypto hashtags and retweeting emerging voices to boost visibility and foster community interaction.","roast":"For someone named suckmydiscoteque.eth, you sure have a serious knack for making coinomics sound like a bedtime story—fun but detailed enough to put half the Twitter crypto crowd to sleep before market bell.","win":"Having transitioned from a lead ambassador at Optimism to a respected contributor aligned with Polymarket and ZSCDao, they've successfully built a reputation as a thoughtful navigator of crypto's complex waters."},"created":1763616084344,"type":"the analyst","id":"bullrungenius"},{"user":{"id":"245581702","name":"Wes Gray 🇺🇸","description":"Marine. Ph.D. Dad x3.\nRIA/blog/education: https://t.co/uYiYwqvK7J\nETFs: https://t.co/uSfV8O19zS\nWhite label ETF: https://t.co/gGlhaJsd2B","followers_count":48676,"friends_count":3878,"statuses_count":32403,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1322500630771081217/-F3Gpxl3_normal.jpg","screen_name":"alphaarchitect","location":"Palmas Del Mar, PR","entities":{"url":{"urls":[{"url":"https://t.co/owCKyFGJmR","expanded_url":"https://alphaarchitect.com","display_url":"alphaarchitect.com","indices":[0,23]}]},"description":{"hashtags":[],"symbols":[],"user_mentions":[],"urls":[{"url":"https://t.co/uYiYwqvK7J","expanded_url":"http://alphaarchitect.com","display_url":"alphaarchitect.com","indices":[42,65]},{"url":"https://t.co/uSfV8O19zS","expanded_url":"http://funds.alphaarchitect.com","display_url":"funds.alphaarchitect.com","indices":[72,95]},{"url":"https://t.co/gGlhaJsd2B","expanded_url":"http://etfarchitect.com","display_url":"etfarchitect.com","indices":[113,136]}]}}},"details":{"type":"The Analyst","description":"Wes Gray is a data-driven financial expert and dedicated educator who combines academic rigor with real-world market insight. As a Marine, Ph.D., and father of three, his tweets blend sharp analytical commentary on investment strategies with practical, actionable tools for investors. He’s not afraid to call out industry quirks while empowering followers with knowledge and innovation.","purpose":"Wes’s life purpose is to demystify the complexities of the financial world, providing clarity and tools that help investors make smarter, data-backed decisions. He aims to challenge entrenched industry practices and champion transparency and efficiency in investment management.","beliefs":"He believes in rigorous due diligence, avoiding pay-to-play schemes, and fostering long-term investment horizons that focus on genuine value rather than short-term gains. Integrity, education, and empowering investors with knowledge are at the core of his values.","facts":"Fun fact: Despite tweeting over 32,000 times, Wes maintains a high level of technical detail in his content, actively launching free beta tools to help followers ‘understand what they own’ in the financial markets.","strength":"His key strengths include deep analytical insight, an ability to communicate complex financial concepts clearly, and a strong commitment to integrity and transparency in investing. He also leverages his military discipline and academic background to provide trustworthy content.","weakness":"Wes’s focus on data and technical detail might sometimes be too dense for casual followers or those new to investing, potentially limiting broader audience appeal. His frequent tweeting combined with high information density could overwhelm or alienate less experienced users.","recommendation":"To grow his audience on X, Wes should consider blending his detailed insights with more digestible, storytelling-style tweets and engaging visual content like infographics or short videos. Encouraging community interaction via polls or Q&As can humanize the technical talk and boost engagement.","roast":"For someone who’s fired off over 32,000 tweets, Wes might just be the only person who can make scrolling Twitter feel like an advanced finance seminar—but hey, at least you’re never short of charts to explain why your portfolio looks like a rollercoaster.","win":"Wes’s biggest win is the creation and launch of innovative, free financial tools like the Fund and Stock Factor Screeners, which empower investors to uncover hidden insights and make smarter decisions, truly embodying the role of educator and innovator."},"created":1763615722491,"type":"the analyst","id":"alphaarchitect"}],"activities":{"nreplies":[{"label":"2025-10-22","value":0,"startTime":1761004800000,"endTime":1761091200000,"tweets":[]},{"label":"2025-10-23","value":0,"startTime":1761091200000,"endTime":1761177600000,"tweets":[]},{"label":"2025-10-24","value":0,"startTime":1761177600000,"endTime":1761264000000,"tweets":[{"bookmarked":false,"display_text_range":[0,14],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[]},"favorited":false,"lang":"zh","quoted_status_id_str":"1980475117256995254","quoted_status_permalink":{"url":"https://t.co/hS3OB2R6JR","expanded":"https://twitter.com/sanmiguelnoodle/status/1980475117256995254","display":"x.com/sanmiguelnoodl…"},"retweeted":false,"fact_check":null,"id":"1981163447288287367","view_count":3121,"bookmark_count":0,"created_at":1761181148000,"favorite_count":7,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"152682525","conversation_id_str":"1981163447288287367","full_text":"不知道为什么莫名地笑了www","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":1,"is_ai":null,"ai_score":null}]},{"label":"2025-10-25","value":0,"startTime":1761264000000,"endTime":1761350400000,"tweets":[]},{"label":"2025-10-26","value":0,"startTime":1761350400000,"endTime":1761436800000,"tweets":[]},{"label":"2025-10-27","value":0,"startTime":1761436800000,"endTime":1761523200000,"tweets":[]},{"label":"2025-10-28","value":0,"startTime":1761523200000,"endTime":1761609600000,"tweets":[]},{"label":"2025-10-29","value":0,"startTime":1761609600000,"endTime":1761696000000,"tweets":[]},{"label":"2025-10-30","value":0,"startTime":1761696000000,"endTime":1761782400000,"tweets":[]},{"label":"2025-10-31","value":16,"startTime":1761782400000,"endTime":1761868800000,"tweets":[{"bookmarked":false,"display_text_range":[0,152],"entities":{"hashtags":[],"media":[{"display_url":"pic.x.com/gznhpr1ozz","expanded_url":"https://x.com/hemashushu/status/1983873764501909646/photo/1","id_str":"1983869845902082048","indices":[153,176],"media_key":"3_1983869845902082048","media_url_https":"https://pbs.twimg.com/media/G4gfHSWaQAAaz8_.jpg","type":"photo","url":"https://t.co/gznhpr1ozz","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":1152,"w":2048,"resize":"fit"},"medium":{"h":675,"w":1200,"resize":"fit"},"small":{"h":383,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":2160,"width":3840,"focus_rects":[{"x":0,"y":10,"w":3840,"h":2150},{"x":1128,"y":0,"w":2160,"h":2160},{"x":1261,"y":0,"w":1895,"h":2160},{"x":1668,"y":0,"w":1080,"h":2160},{"x":0,"y":0,"w":3840,"h":2160}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1983869845902082048"}}}],"symbols":[],"timestamps":[],"urls":[{"display_url":"github.com/graphitemaster…","expanded_url":"https://github.com/graphitemaster/detour","url":"https://t.co/ZGhW4qx8uB","indices":[113,136]}],"user_mentions":[]},"extended_entities":{"media":[{"display_url":"pic.x.com/gznhpr1ozz","expanded_url":"https://x.com/hemashushu/status/1983873764501909646/photo/1","id_str":"1983869845902082048","indices":[153,176],"media_key":"3_1983869845902082048","media_url_https":"https://pbs.twimg.com/media/G4gfHSWaQAAaz8_.jpg","type":"photo","url":"https://t.co/gznhpr1ozz","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":1152,"w":2048,"resize":"fit"},"medium":{"h":675,"w":1200,"resize":"fit"},"small":{"h":383,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":2160,"width":3840,"focus_rects":[{"x":0,"y":10,"w":3840,"h":2150},{"x":1128,"y":0,"w":2160,"h":2160},{"x":1261,"y":0,"w":1895,"h":2160},{"x":1668,"y":0,"w":1080,"h":2160},{"x":0,"y":0,"w":3840,"h":2160}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1983869845902082048"}}}]},"favorited":false,"lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1983873764501909646","view_count":25494,"bookmark_count":190,"created_at":1761827338000,"favorite_count":153,"quote_count":2,"reply_count":12,"retweet_count":35,"user_id_str":"152682525","conversation_id_str":"1983873764501909646","full_text":"优雅!巧妙!\n\n我之前也想了很久如何实现:在静态链接的程序里调用动态链接库的函数。\n\n之所以有这样的想法是想让程序尽可能减少库依赖,但诸如GPU驱动、GTK/Webkit 等库显然没法将它们通通做静态链接。\n\n然后这个项目 (https://t.co/ZGhW4qx8uB) 用了一个很巧妙的方法实现了。 https://t.co/gznhpr1ozz","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,175],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[{"display_url":"ld-linux.so","expanded_url":"http://ld-linux.so","url":"https://t.co/p3peuRINDs","indices":[15,38]}],"user_mentions":[]},"favorited":false,"in_reply_to_screen_name":"hemashushu","lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1983873768851435540","view_count":996,"bookmark_count":1,"created_at":1761827339000,"favorite_count":6,"quote_count":0,"reply_count":1,"retweet_count":1,"user_id_str":"152682525","conversation_id_str":"1983873764501909646","full_text":"简单来说,主程序一开始就加载 https://t.co/p3peuRINDs(该库是静态链接的),然后多准备了一个只有 main 函数的副程序,让 ld-linux 加载这个副程序,main 函数的作用是获取 dlopen/dlsym 等 dl* 函数的地址,然后返回到主程序。如此一来主程序就可以使用 dl* 等动态加载函数了。\n\n只所以要这么绕…","in_reply_to_user_id_str":"152682525","in_reply_to_status_id_str":"1983873764501909646","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,159],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[]},"favorited":false,"in_reply_to_screen_name":"hemashushu","lang":"zh","retweeted":false,"fact_check":null,"id":"1983873771292520716","view_count":1342,"bookmark_count":1,"created_at":1761827340000,"favorite_count":4,"quote_count":0,"reply_count":2,"retweet_count":0,"user_id_str":"152682525","conversation_id_str":"1983873764501909646","full_text":"这么绕的原因是你无法直接将动态链接库(/usr/lib/*.so)加载到内存,然后通过寻找函数地址的方式来调用其中的函数。\n\n因为这些库在设计上实际上都是由 ld-linux 加载的,加载器会做很多初始化工作,如加载依赖的依赖,它其实就是一个 runtime,所以函数自然没法在缺少 runtime 的情况下正常运行。","in_reply_to_user_id_str":"152682525","in_reply_to_status_id_str":"1983873768851435540","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,144],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[]},"favorited":false,"in_reply_to_screen_name":"hemashushu","lang":"zh","retweeted":false,"fact_check":null,"id":"1983873774325002619","view_count":1228,"bookmark_count":0,"created_at":1761827341000,"favorite_count":3,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"152682525","conversation_id_str":"1983873764501909646","full_text":"当然这个方法要求主程序在运行中“静悄悄地”释放一个可执行程序,也不算非常优雅,但确实是最简单且可行的方法。\n\n早前我还想过能不能在程序里嵌入一个动态加载器(即类似ld-linux的角色),如果目标动态库没有再依赖其他库,倒是可行,但这样通用性就大打折扣了,就不知道还有没其他优雅的方法……","in_reply_to_user_id_str":"152682525","in_reply_to_status_id_str":"1983873771292520716","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[12,164],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"7755562","name":"AlexZ 🦀","screen_name":"blackanger","indices":[0,11]}]},"favorited":false,"in_reply_to_screen_name":"blackanger","lang":"zh","retweeted":false,"fact_check":null,"id":"1983896092384358614","view_count":740,"bookmark_count":0,"created_at":1761832662000,"favorite_count":1,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"152682525","conversation_id_str":"1983873764501909646","full_text":"@blackanger 理论上是可以把glibc或者musl的动态链接器包含在主程序里,但比较稳健的做法还是使用当前系统的链接器,毕竟不确定最终运行环境的是哪一个以及版本是什么,不同加载器和版本不太通用(用 musl 加载器加载基于 glibc 的共享库好像会出错)话说我挺强烈赞成全部用rust重写的,真受够这些部署的依赖问题","in_reply_to_user_id_str":"7755562","in_reply_to_status_id_str":"1983891975930810774","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-01","value":6,"startTime":1761868800000,"endTime":1761955200000,"tweets":[{"bookmarked":false,"display_text_range":[0,159],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[{"display_url":"emily.space/posts/251023-uv","expanded_url":"https://emily.space/posts/251023-uv","url":"https://t.co/dKaV5ByaGf","indices":[136,159]}],"user_mentions":[]},"favorited":false,"lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1984141269581602873","view_count":4318,"bookmark_count":34,"created_at":1761891116000,"favorite_count":36,"quote_count":0,"reply_count":6,"retweet_count":2,"user_id_str":"152682525","conversation_id_str":"1984141269581602873","full_text":"近一两年工具方面让我印象比较深刻的有pnpm和uv。\n\n这两者较相似,都是在一大堆莫名奇妙的前任们肆虐开发者身心几年后,终于冒出比较正常的包管理器。\n\n其中uv更为深刻,虽说用rust编写生成的代码不会变快但利用了可靠的并行方法让程序整体效率的确有显著的提升,很有启发。 https://t.co/dKaV5ByaGf","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[12,33],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"743651613848408064","name":"yuahuua","screen_name":"yuahualove","indices":[0,11]}]},"favorited":false,"in_reply_to_screen_name":"yuahualove","lang":"zh","retweeted":false,"fact_check":null,"id":"1984183703023824987","view_count":89,"bookmark_count":0,"created_at":1761901233000,"favorite_count":1,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"152682525","conversation_id_str":"1983873764501909646","full_text":"@yuahualove 让程序变成 portable (绿色软件)","in_reply_to_user_id_str":"743651613848408064","in_reply_to_status_id_str":"1984178808350761222","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-02","value":0,"startTime":1761955200000,"endTime":1762041600000,"tweets":[]},{"label":"2025-11-03","value":0,"startTime":1762041600000,"endTime":1762128000000,"tweets":[]},{"label":"2025-11-04","value":0,"startTime":1762128000000,"endTime":1762214400000,"tweets":[]},{"label":"2025-11-05","value":0,"startTime":1762214400000,"endTime":1762300800000,"tweets":[]},{"label":"2025-11-06","value":0,"startTime":1762300800000,"endTime":1762387200000,"tweets":[]},{"label":"2025-11-07","value":0,"startTime":1762387200000,"endTime":1762473600000,"tweets":[]},{"label":"2025-11-08","value":0,"startTime":1762473600000,"endTime":1762560000000,"tweets":[]},{"label":"2025-11-09","value":0,"startTime":1762560000000,"endTime":1762646400000,"tweets":[]},{"label":"2025-11-10","value":0,"startTime":1762646400000,"endTime":1762732800000,"tweets":[]},{"label":"2025-11-11","value":33,"startTime":1762732800000,"endTime":1762819200000,"tweets":[{"bookmarked":false,"display_text_range":[0,177],"entities":{"hashtags":[],"media":[{"display_url":"pic.x.com/y7mQaYxAcO","expanded_url":"https://x.com/hemashushu/status/1987684873579229366/photo/1","id_str":"1987684496427331584","indices":[178,201],"media_key":"3_1987684496427331584","media_url_https":"https://pbs.twimg.com/media/G5WshK8aMAAkKjq.jpg","type":"photo","url":"https://t.co/y7mQaYxAcO","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":2048,"w":605,"resize":"fit"},"medium":{"h":1200,"w":354,"resize":"fit"},"small":{"h":680,"w":201,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":4096,"width":1209,"focus_rects":[{"x":0,"y":2017,"w":1209,"h":677},{"x":0,"y":1751,"w":1209,"h":1209},{"x":0,"y":1666,"w":1209,"h":1378},{"x":0,"y":1146,"w":1209,"h":2418},{"x":0,"y":0,"w":1209,"h":4096}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1987684496427331584"}}},{"display_url":"pic.x.com/y7mQaYxAcO","expanded_url":"https://x.com/hemashushu/status/1987684873579229366/photo/1","id_str":"1987684745992691712","indices":[178,201],"media_key":"3_1987684745992691712","media_url_https":"https://pbs.twimg.com/media/G5WsvspbYAAVTFM.jpg","type":"photo","url":"https://t.co/y7mQaYxAcO","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":864,"w":1493,"resize":"fit"},"medium":{"h":694,"w":1200,"resize":"fit"},"small":{"h":394,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":864,"width":1493,"focus_rects":[{"x":0,"y":0,"w":1493,"h":836},{"x":0,"y":0,"w":864,"h":864},{"x":0,"y":0,"w":758,"h":864},{"x":45,"y":0,"w":432,"h":864},{"x":0,"y":0,"w":1493,"h":864}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1987684745992691712"}}}],"symbols":[],"timestamps":[],"urls":[{"display_url":"build-your-own.org/redis/","expanded_url":"https://build-your-own.org/redis/","url":"https://t.co/6mVtSlCXnB","indices":[154,177]}],"user_mentions":[]},"extended_entities":{"media":[{"display_url":"pic.x.com/y7mQaYxAcO","expanded_url":"https://x.com/hemashushu/status/1987684873579229366/photo/1","id_str":"1987684496427331584","indices":[178,201],"media_key":"3_1987684496427331584","media_url_https":"https://pbs.twimg.com/media/G5WshK8aMAAkKjq.jpg","type":"photo","url":"https://t.co/y7mQaYxAcO","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":2048,"w":605,"resize":"fit"},"medium":{"h":1200,"w":354,"resize":"fit"},"small":{"h":680,"w":201,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":4096,"width":1209,"focus_rects":[{"x":0,"y":2017,"w":1209,"h":677},{"x":0,"y":1751,"w":1209,"h":1209},{"x":0,"y":1666,"w":1209,"h":1378},{"x":0,"y":1146,"w":1209,"h":2418},{"x":0,"y":0,"w":1209,"h":4096}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1987684496427331584"}}},{"display_url":"pic.x.com/y7mQaYxAcO","expanded_url":"https://x.com/hemashushu/status/1987684873579229366/photo/1","id_str":"1987684745992691712","indices":[178,201],"media_key":"3_1987684745992691712","media_url_https":"https://pbs.twimg.com/media/G5WsvspbYAAVTFM.jpg","type":"photo","url":"https://t.co/y7mQaYxAcO","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":864,"w":1493,"resize":"fit"},"medium":{"h":694,"w":1200,"resize":"fit"},"small":{"h":394,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":864,"width":1493,"focus_rects":[{"x":0,"y":0,"w":1493,"h":836},{"x":0,"y":0,"w":864,"h":864},{"x":0,"y":0,"w":758,"h":864},{"x":45,"y":0,"w":432,"h":864},{"x":0,"y":0,"w":1493,"h":864}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1987684745992691712"}}}]},"favorited":false,"lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1987684873579229366","view_count":57766,"bookmark_count":855,"created_at":1762735977000,"favorite_count":721,"quote_count":4,"reply_count":9,"retweet_count":155,"user_id_str":"152682525","conversation_id_str":"1987684873579229366","full_text":"分享一个非常适合入门 Linux 编程的教程《Build Your Own Redis with C/C++》\n\n这个教程的特点是将知识点讲得非常细致,生怕你看不懂,同时循序渐进地展开怕你中途放弃。从 socket/tcp 开始,讲到并发(异步)、散列表、序列化、快取等,可谓非常全面,非常适合用来练手。\n\nhttps://t.co/6mVtSlCXnB https://t.co/y7mQaYxAcO","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,152],"entities":{"hashtags":[],"media":[{"display_url":"pic.x.com/8NN4CZ3f2L","expanded_url":"https://x.com/hemashushu/status/1987681953987043411/video/1","id_str":"1987681362309246976","indices":[153,176],"media_key":"13_1987681362309246976","media_url_https":"https://pbs.twimg.com/amplify_video_thumb/1987681362309246976/img/gSvi_xou6TJZeUVR.jpg","type":"video","url":"https://t.co/8NN4CZ3f2L","additional_media_info":{"monetizable":false},"ext_media_availability":{"status":"Available"},"sizes":{"large":{"h":1080,"w":1920,"resize":"fit"},"medium":{"h":675,"w":1200,"resize":"fit"},"small":{"h":383,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":1080,"width":1920,"focus_rects":[]},"allow_download_status":{"allow_download":true},"video_info":{"aspect_ratio":[16,9],"duration_millis":16850,"variants":[{"content_type":"application/x-mpegURL","url":"https://video.twimg.com/amplify_video/1987681362309246976/pl/TvNA8h0a0DqA8eDM.m3u8?tag=14&v=cfc"},{"bitrate":288000,"content_type":"video/mp4","url":"https://video.twimg.com/amplify_video/1987681362309246976/vid/avc1/480x270/K2DQ8S2rEBIY3VDF.mp4?tag=14"},{"bitrate":832000,"content_type":"video/mp4","url":"https://video.twimg.com/amplify_video/1987681362309246976/vid/avc1/640x360/4WXmaHbeJOzC5BAY.mp4?tag=14"},{"bitrate":2176000,"content_type":"video/mp4","url":"https://video.twimg.com/amplify_video/1987681362309246976/vid/avc1/1280x720/Us1JABpY7xYFag_Q.mp4?tag=14"}]},"media_results":{"result":{"media_key":"13_1987681362309246976"}}}],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[]},"extended_entities":{"media":[{"display_url":"pic.x.com/8NN4CZ3f2L","expanded_url":"https://x.com/hemashushu/status/1987681953987043411/video/1","id_str":"1987681362309246976","indices":[153,176],"media_key":"13_1987681362309246976","media_url_https":"https://pbs.twimg.com/amplify_video_thumb/1987681362309246976/img/gSvi_xou6TJZeUVR.jpg","type":"video","url":"https://t.co/8NN4CZ3f2L","additional_media_info":{"monetizable":false},"ext_media_availability":{"status":"Available"},"sizes":{"large":{"h":1080,"w":1920,"resize":"fit"},"medium":{"h":675,"w":1200,"resize":"fit"},"small":{"h":383,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":1080,"width":1920,"focus_rects":[]},"allow_download_status":{"allow_download":true},"video_info":{"aspect_ratio":[16,9],"duration_millis":16850,"variants":[{"content_type":"application/x-mpegURL","url":"https://video.twimg.com/amplify_video/1987681362309246976/pl/TvNA8h0a0DqA8eDM.m3u8?tag=14&v=cfc"},{"bitrate":288000,"content_type":"video/mp4","url":"https://video.twimg.com/amplify_video/1987681362309246976/vid/avc1/480x270/K2DQ8S2rEBIY3VDF.mp4?tag=14"},{"bitrate":832000,"content_type":"video/mp4","url":"https://video.twimg.com/amplify_video/1987681362309246976/vid/avc1/640x360/4WXmaHbeJOzC5BAY.mp4?tag=14"},{"bitrate":2176000,"content_type":"video/mp4","url":"https://video.twimg.com/amplify_video/1987681362309246976/vid/avc1/1280x720/Us1JABpY7xYFag_Q.mp4?tag=14"}]},"media_results":{"result":{"media_key":"13_1987681362309246976"}}}]},"favorited":false,"lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1987681953987043411","view_count":41218,"bookmark_count":52,"created_at":1762735281000,"favorite_count":117,"quote_count":3,"reply_count":24,"retweet_count":8,"user_id_str":"152682525","conversation_id_str":"1987681953987043411","full_text":"刚看到一个视频,博主用切换窗口动画的流畅度来判断操作系统的强弱。\n\n其实我觉得linux桌面的动画一直还不错哈,早期是ubuntu8.04还是更早版本记得不太清楚,桌面动画非常夸张,后来倒是逐渐朴素。\n\n视频是我尝试弹射read-it-later浏览器窗口,可能是因为本地录频有点掉帧,实际动画很流畅的。 https://t.co/8NN4CZ3f2L","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-12","value":0,"startTime":1762819200000,"endTime":1762905600000,"tweets":[{"bookmarked":false,"display_text_range":[11,87],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"4375814952","name":"Tit1e","screen_name":"evollyone","indices":[0,10]}]},"favorited":false,"in_reply_to_screen_name":"evollyone","lang":"zh","retweeted":false,"fact_check":null,"id":"1988072941205287050","view_count":167,"bookmark_count":0,"created_at":1762828500000,"favorite_count":1,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"152682525","conversation_id_str":"1987757085795455282","full_text":"@evollyone 是的,高速滚动的画面遇到尽头突然停止,在视觉上是有一点“心理膈应”的感觉,使用“回弹”来解决其实挺巧妙的,后来android用“拉伸”来解决好像也不错。","in_reply_to_user_id_str":"4375814952","in_reply_to_status_id_str":"1987757085795455282","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-13","value":0,"startTime":1762905600000,"endTime":1762992000000,"tweets":[]},{"label":"2025-11-14","value":0,"startTime":1762992000000,"endTime":1763078400000,"tweets":[]},{"label":"2025-11-15","value":0,"startTime":1763078400000,"endTime":1763164800000,"tweets":[]},{"label":"2025-11-16","value":0,"startTime":1763164800000,"endTime":1763251200000,"tweets":[]},{"label":"2025-11-17","value":0,"startTime":1763251200000,"endTime":1763337600000,"tweets":[]},{"label":"2025-11-18","value":0,"startTime":1763337600000,"endTime":1763424000000,"tweets":[]},{"label":"2025-11-19","value":0,"startTime":1763424000000,"endTime":1763510400000,"tweets":[]},{"label":"2025-11-20","value":0,"startTime":1763510400000,"endTime":1763596800000,"tweets":[]},{"label":"2025-11-21","value":0,"startTime":1763596800000,"endTime":1763683200000,"tweets":[]}],"nbookmarks":[{"label":"2025-10-22","value":0,"startTime":1761004800000,"endTime":1761091200000,"tweets":[]},{"label":"2025-10-23","value":0,"startTime":1761091200000,"endTime":1761177600000,"tweets":[]},{"label":"2025-10-24","value":0,"startTime":1761177600000,"endTime":1761264000000,"tweets":[{"bookmarked":false,"display_text_range":[0,14],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[]},"favorited":false,"lang":"zh","quoted_status_id_str":"1980475117256995254","quoted_status_permalink":{"url":"https://t.co/hS3OB2R6JR","expanded":"https://twitter.com/sanmiguelnoodle/status/1980475117256995254","display":"x.com/sanmiguelnoodl…"},"retweeted":false,"fact_check":null,"id":"1981163447288287367","view_count":3121,"bookmark_count":0,"created_at":1761181148000,"favorite_count":7,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"152682525","conversation_id_str":"1981163447288287367","full_text":"不知道为什么莫名地笑了www","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":1,"is_ai":null,"ai_score":null}]},{"label":"2025-10-25","value":0,"startTime":1761264000000,"endTime":1761350400000,"tweets":[]},{"label":"2025-10-26","value":0,"startTime":1761350400000,"endTime":1761436800000,"tweets":[]},{"label":"2025-10-27","value":0,"startTime":1761436800000,"endTime":1761523200000,"tweets":[]},{"label":"2025-10-28","value":0,"startTime":1761523200000,"endTime":1761609600000,"tweets":[]},{"label":"2025-10-29","value":0,"startTime":1761609600000,"endTime":1761696000000,"tweets":[]},{"label":"2025-10-30","value":0,"startTime":1761696000000,"endTime":1761782400000,"tweets":[]},{"label":"2025-10-31","value":192,"startTime":1761782400000,"endTime":1761868800000,"tweets":[{"bookmarked":false,"display_text_range":[0,152],"entities":{"hashtags":[],"media":[{"display_url":"pic.x.com/gznhpr1ozz","expanded_url":"https://x.com/hemashushu/status/1983873764501909646/photo/1","id_str":"1983869845902082048","indices":[153,176],"media_key":"3_1983869845902082048","media_url_https":"https://pbs.twimg.com/media/G4gfHSWaQAAaz8_.jpg","type":"photo","url":"https://t.co/gznhpr1ozz","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":1152,"w":2048,"resize":"fit"},"medium":{"h":675,"w":1200,"resize":"fit"},"small":{"h":383,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":2160,"width":3840,"focus_rects":[{"x":0,"y":10,"w":3840,"h":2150},{"x":1128,"y":0,"w":2160,"h":2160},{"x":1261,"y":0,"w":1895,"h":2160},{"x":1668,"y":0,"w":1080,"h":2160},{"x":0,"y":0,"w":3840,"h":2160}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1983869845902082048"}}}],"symbols":[],"timestamps":[],"urls":[{"display_url":"github.com/graphitemaster…","expanded_url":"https://github.com/graphitemaster/detour","url":"https://t.co/ZGhW4qx8uB","indices":[113,136]}],"user_mentions":[]},"extended_entities":{"media":[{"display_url":"pic.x.com/gznhpr1ozz","expanded_url":"https://x.com/hemashushu/status/1983873764501909646/photo/1","id_str":"1983869845902082048","indices":[153,176],"media_key":"3_1983869845902082048","media_url_https":"https://pbs.twimg.com/media/G4gfHSWaQAAaz8_.jpg","type":"photo","url":"https://t.co/gznhpr1ozz","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":1152,"w":2048,"resize":"fit"},"medium":{"h":675,"w":1200,"resize":"fit"},"small":{"h":383,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":2160,"width":3840,"focus_rects":[{"x":0,"y":10,"w":3840,"h":2150},{"x":1128,"y":0,"w":2160,"h":2160},{"x":1261,"y":0,"w":1895,"h":2160},{"x":1668,"y":0,"w":1080,"h":2160},{"x":0,"y":0,"w":3840,"h":2160}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1983869845902082048"}}}]},"favorited":false,"lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1983873764501909646","view_count":25494,"bookmark_count":190,"created_at":1761827338000,"favorite_count":153,"quote_count":2,"reply_count":12,"retweet_count":35,"user_id_str":"152682525","conversation_id_str":"1983873764501909646","full_text":"优雅!巧妙!\n\n我之前也想了很久如何实现:在静态链接的程序里调用动态链接库的函数。\n\n之所以有这样的想法是想让程序尽可能减少库依赖,但诸如GPU驱动、GTK/Webkit 等库显然没法将它们通通做静态链接。\n\n然后这个项目 (https://t.co/ZGhW4qx8uB) 用了一个很巧妙的方法实现了。 https://t.co/gznhpr1ozz","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,175],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[{"display_url":"ld-linux.so","expanded_url":"http://ld-linux.so","url":"https://t.co/p3peuRINDs","indices":[15,38]}],"user_mentions":[]},"favorited":false,"in_reply_to_screen_name":"hemashushu","lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1983873768851435540","view_count":996,"bookmark_count":1,"created_at":1761827339000,"favorite_count":6,"quote_count":0,"reply_count":1,"retweet_count":1,"user_id_str":"152682525","conversation_id_str":"1983873764501909646","full_text":"简单来说,主程序一开始就加载 https://t.co/p3peuRINDs(该库是静态链接的),然后多准备了一个只有 main 函数的副程序,让 ld-linux 加载这个副程序,main 函数的作用是获取 dlopen/dlsym 等 dl* 函数的地址,然后返回到主程序。如此一来主程序就可以使用 dl* 等动态加载函数了。\n\n只所以要这么绕…","in_reply_to_user_id_str":"152682525","in_reply_to_status_id_str":"1983873764501909646","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,159],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[]},"favorited":false,"in_reply_to_screen_name":"hemashushu","lang":"zh","retweeted":false,"fact_check":null,"id":"1983873771292520716","view_count":1342,"bookmark_count":1,"created_at":1761827340000,"favorite_count":4,"quote_count":0,"reply_count":2,"retweet_count":0,"user_id_str":"152682525","conversation_id_str":"1983873764501909646","full_text":"这么绕的原因是你无法直接将动态链接库(/usr/lib/*.so)加载到内存,然后通过寻找函数地址的方式来调用其中的函数。\n\n因为这些库在设计上实际上都是由 ld-linux 加载的,加载器会做很多初始化工作,如加载依赖的依赖,它其实就是一个 runtime,所以函数自然没法在缺少 runtime 的情况下正常运行。","in_reply_to_user_id_str":"152682525","in_reply_to_status_id_str":"1983873768851435540","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,144],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[]},"favorited":false,"in_reply_to_screen_name":"hemashushu","lang":"zh","retweeted":false,"fact_check":null,"id":"1983873774325002619","view_count":1228,"bookmark_count":0,"created_at":1761827341000,"favorite_count":3,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"152682525","conversation_id_str":"1983873764501909646","full_text":"当然这个方法要求主程序在运行中“静悄悄地”释放一个可执行程序,也不算非常优雅,但确实是最简单且可行的方法。\n\n早前我还想过能不能在程序里嵌入一个动态加载器(即类似ld-linux的角色),如果目标动态库没有再依赖其他库,倒是可行,但这样通用性就大打折扣了,就不知道还有没其他优雅的方法……","in_reply_to_user_id_str":"152682525","in_reply_to_status_id_str":"1983873771292520716","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[12,164],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"7755562","name":"AlexZ 🦀","screen_name":"blackanger","indices":[0,11]}]},"favorited":false,"in_reply_to_screen_name":"blackanger","lang":"zh","retweeted":false,"fact_check":null,"id":"1983896092384358614","view_count":740,"bookmark_count":0,"created_at":1761832662000,"favorite_count":1,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"152682525","conversation_id_str":"1983873764501909646","full_text":"@blackanger 理论上是可以把glibc或者musl的动态链接器包含在主程序里,但比较稳健的做法还是使用当前系统的链接器,毕竟不确定最终运行环境的是哪一个以及版本是什么,不同加载器和版本不太通用(用 musl 加载器加载基于 glibc 的共享库好像会出错)话说我挺强烈赞成全部用rust重写的,真受够这些部署的依赖问题","in_reply_to_user_id_str":"7755562","in_reply_to_status_id_str":"1983891975930810774","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-01","value":34,"startTime":1761868800000,"endTime":1761955200000,"tweets":[{"bookmarked":false,"display_text_range":[0,159],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[{"display_url":"emily.space/posts/251023-uv","expanded_url":"https://emily.space/posts/251023-uv","url":"https://t.co/dKaV5ByaGf","indices":[136,159]}],"user_mentions":[]},"favorited":false,"lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1984141269581602873","view_count":4318,"bookmark_count":34,"created_at":1761891116000,"favorite_count":36,"quote_count":0,"reply_count":6,"retweet_count":2,"user_id_str":"152682525","conversation_id_str":"1984141269581602873","full_text":"近一两年工具方面让我印象比较深刻的有pnpm和uv。\n\n这两者较相似,都是在一大堆莫名奇妙的前任们肆虐开发者身心几年后,终于冒出比较正常的包管理器。\n\n其中uv更为深刻,虽说用rust编写生成的代码不会变快但利用了可靠的并行方法让程序整体效率的确有显著的提升,很有启发。 https://t.co/dKaV5ByaGf","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[12,33],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"743651613848408064","name":"yuahuua","screen_name":"yuahualove","indices":[0,11]}]},"favorited":false,"in_reply_to_screen_name":"yuahualove","lang":"zh","retweeted":false,"fact_check":null,"id":"1984183703023824987","view_count":89,"bookmark_count":0,"created_at":1761901233000,"favorite_count":1,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"152682525","conversation_id_str":"1983873764501909646","full_text":"@yuahualove 让程序变成 portable (绿色软件)","in_reply_to_user_id_str":"743651613848408064","in_reply_to_status_id_str":"1984178808350761222","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-02","value":0,"startTime":1761955200000,"endTime":1762041600000,"tweets":[]},{"label":"2025-11-03","value":0,"startTime":1762041600000,"endTime":1762128000000,"tweets":[]},{"label":"2025-11-04","value":0,"startTime":1762128000000,"endTime":1762214400000,"tweets":[]},{"label":"2025-11-05","value":0,"startTime":1762214400000,"endTime":1762300800000,"tweets":[]},{"label":"2025-11-06","value":0,"startTime":1762300800000,"endTime":1762387200000,"tweets":[]},{"label":"2025-11-07","value":0,"startTime":1762387200000,"endTime":1762473600000,"tweets":[]},{"label":"2025-11-08","value":0,"startTime":1762473600000,"endTime":1762560000000,"tweets":[]},{"label":"2025-11-09","value":0,"startTime":1762560000000,"endTime":1762646400000,"tweets":[]},{"label":"2025-11-10","value":0,"startTime":1762646400000,"endTime":1762732800000,"tweets":[]},{"label":"2025-11-11","value":907,"startTime":1762732800000,"endTime":1762819200000,"tweets":[{"bookmarked":false,"display_text_range":[0,177],"entities":{"hashtags":[],"media":[{"display_url":"pic.x.com/y7mQaYxAcO","expanded_url":"https://x.com/hemashushu/status/1987684873579229366/photo/1","id_str":"1987684496427331584","indices":[178,201],"media_key":"3_1987684496427331584","media_url_https":"https://pbs.twimg.com/media/G5WshK8aMAAkKjq.jpg","type":"photo","url":"https://t.co/y7mQaYxAcO","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":2048,"w":605,"resize":"fit"},"medium":{"h":1200,"w":354,"resize":"fit"},"small":{"h":680,"w":201,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":4096,"width":1209,"focus_rects":[{"x":0,"y":2017,"w":1209,"h":677},{"x":0,"y":1751,"w":1209,"h":1209},{"x":0,"y":1666,"w":1209,"h":1378},{"x":0,"y":1146,"w":1209,"h":2418},{"x":0,"y":0,"w":1209,"h":4096}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1987684496427331584"}}},{"display_url":"pic.x.com/y7mQaYxAcO","expanded_url":"https://x.com/hemashushu/status/1987684873579229366/photo/1","id_str":"1987684745992691712","indices":[178,201],"media_key":"3_1987684745992691712","media_url_https":"https://pbs.twimg.com/media/G5WsvspbYAAVTFM.jpg","type":"photo","url":"https://t.co/y7mQaYxAcO","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":864,"w":1493,"resize":"fit"},"medium":{"h":694,"w":1200,"resize":"fit"},"small":{"h":394,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":864,"width":1493,"focus_rects":[{"x":0,"y":0,"w":1493,"h":836},{"x":0,"y":0,"w":864,"h":864},{"x":0,"y":0,"w":758,"h":864},{"x":45,"y":0,"w":432,"h":864},{"x":0,"y":0,"w":1493,"h":864}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1987684745992691712"}}}],"symbols":[],"timestamps":[],"urls":[{"display_url":"build-your-own.org/redis/","expanded_url":"https://build-your-own.org/redis/","url":"https://t.co/6mVtSlCXnB","indices":[154,177]}],"user_mentions":[]},"extended_entities":{"media":[{"display_url":"pic.x.com/y7mQaYxAcO","expanded_url":"https://x.com/hemashushu/status/1987684873579229366/photo/1","id_str":"1987684496427331584","indices":[178,201],"media_key":"3_1987684496427331584","media_url_https":"https://pbs.twimg.com/media/G5WshK8aMAAkKjq.jpg","type":"photo","url":"https://t.co/y7mQaYxAcO","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":2048,"w":605,"resize":"fit"},"medium":{"h":1200,"w":354,"resize":"fit"},"small":{"h":680,"w":201,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":4096,"width":1209,"focus_rects":[{"x":0,"y":2017,"w":1209,"h":677},{"x":0,"y":1751,"w":1209,"h":1209},{"x":0,"y":1666,"w":1209,"h":1378},{"x":0,"y":1146,"w":1209,"h":2418},{"x":0,"y":0,"w":1209,"h":4096}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1987684496427331584"}}},{"display_url":"pic.x.com/y7mQaYxAcO","expanded_url":"https://x.com/hemashushu/status/1987684873579229366/photo/1","id_str":"1987684745992691712","indices":[178,201],"media_key":"3_1987684745992691712","media_url_https":"https://pbs.twimg.com/media/G5WsvspbYAAVTFM.jpg","type":"photo","url":"https://t.co/y7mQaYxAcO","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":864,"w":1493,"resize":"fit"},"medium":{"h":694,"w":1200,"resize":"fit"},"small":{"h":394,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":864,"width":1493,"focus_rects":[{"x":0,"y":0,"w":1493,"h":836},{"x":0,"y":0,"w":864,"h":864},{"x":0,"y":0,"w":758,"h":864},{"x":45,"y":0,"w":432,"h":864},{"x":0,"y":0,"w":1493,"h":864}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1987684745992691712"}}}]},"favorited":false,"lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1987684873579229366","view_count":57766,"bookmark_count":855,"created_at":1762735977000,"favorite_count":721,"quote_count":4,"reply_count":9,"retweet_count":155,"user_id_str":"152682525","conversation_id_str":"1987684873579229366","full_text":"分享一个非常适合入门 Linux 编程的教程《Build Your Own Redis with C/C++》\n\n这个教程的特点是将知识点讲得非常细致,生怕你看不懂,同时循序渐进地展开怕你中途放弃。从 socket/tcp 开始,讲到并发(异步)、散列表、序列化、快取等,可谓非常全面,非常适合用来练手。\n\nhttps://t.co/6mVtSlCXnB https://t.co/y7mQaYxAcO","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,152],"entities":{"hashtags":[],"media":[{"display_url":"pic.x.com/8NN4CZ3f2L","expanded_url":"https://x.com/hemashushu/status/1987681953987043411/video/1","id_str":"1987681362309246976","indices":[153,176],"media_key":"13_1987681362309246976","media_url_https":"https://pbs.twimg.com/amplify_video_thumb/1987681362309246976/img/gSvi_xou6TJZeUVR.jpg","type":"video","url":"https://t.co/8NN4CZ3f2L","additional_media_info":{"monetizable":false},"ext_media_availability":{"status":"Available"},"sizes":{"large":{"h":1080,"w":1920,"resize":"fit"},"medium":{"h":675,"w":1200,"resize":"fit"},"small":{"h":383,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":1080,"width":1920,"focus_rects":[]},"allow_download_status":{"allow_download":true},"video_info":{"aspect_ratio":[16,9],"duration_millis":16850,"variants":[{"content_type":"application/x-mpegURL","url":"https://video.twimg.com/amplify_video/1987681362309246976/pl/TvNA8h0a0DqA8eDM.m3u8?tag=14&v=cfc"},{"bitrate":288000,"content_type":"video/mp4","url":"https://video.twimg.com/amplify_video/1987681362309246976/vid/avc1/480x270/K2DQ8S2rEBIY3VDF.mp4?tag=14"},{"bitrate":832000,"content_type":"video/mp4","url":"https://video.twimg.com/amplify_video/1987681362309246976/vid/avc1/640x360/4WXmaHbeJOzC5BAY.mp4?tag=14"},{"bitrate":2176000,"content_type":"video/mp4","url":"https://video.twimg.com/amplify_video/1987681362309246976/vid/avc1/1280x720/Us1JABpY7xYFag_Q.mp4?tag=14"}]},"media_results":{"result":{"media_key":"13_1987681362309246976"}}}],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[]},"extended_entities":{"media":[{"display_url":"pic.x.com/8NN4CZ3f2L","expanded_url":"https://x.com/hemashushu/status/1987681953987043411/video/1","id_str":"1987681362309246976","indices":[153,176],"media_key":"13_1987681362309246976","media_url_https":"https://pbs.twimg.com/amplify_video_thumb/1987681362309246976/img/gSvi_xou6TJZeUVR.jpg","type":"video","url":"https://t.co/8NN4CZ3f2L","additional_media_info":{"monetizable":false},"ext_media_availability":{"status":"Available"},"sizes":{"large":{"h":1080,"w":1920,"resize":"fit"},"medium":{"h":675,"w":1200,"resize":"fit"},"small":{"h":383,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":1080,"width":1920,"focus_rects":[]},"allow_download_status":{"allow_download":true},"video_info":{"aspect_ratio":[16,9],"duration_millis":16850,"variants":[{"content_type":"application/x-mpegURL","url":"https://video.twimg.com/amplify_video/1987681362309246976/pl/TvNA8h0a0DqA8eDM.m3u8?tag=14&v=cfc"},{"bitrate":288000,"content_type":"video/mp4","url":"https://video.twimg.com/amplify_video/1987681362309246976/vid/avc1/480x270/K2DQ8S2rEBIY3VDF.mp4?tag=14"},{"bitrate":832000,"content_type":"video/mp4","url":"https://video.twimg.com/amplify_video/1987681362309246976/vid/avc1/640x360/4WXmaHbeJOzC5BAY.mp4?tag=14"},{"bitrate":2176000,"content_type":"video/mp4","url":"https://video.twimg.com/amplify_video/1987681362309246976/vid/avc1/1280x720/Us1JABpY7xYFag_Q.mp4?tag=14"}]},"media_results":{"result":{"media_key":"13_1987681362309246976"}}}]},"favorited":false,"lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1987681953987043411","view_count":41218,"bookmark_count":52,"created_at":1762735281000,"favorite_count":117,"quote_count":3,"reply_count":24,"retweet_count":8,"user_id_str":"152682525","conversation_id_str":"1987681953987043411","full_text":"刚看到一个视频,博主用切换窗口动画的流畅度来判断操作系统的强弱。\n\n其实我觉得linux桌面的动画一直还不错哈,早期是ubuntu8.04还是更早版本记得不太清楚,桌面动画非常夸张,后来倒是逐渐朴素。\n\n视频是我尝试弹射read-it-later浏览器窗口,可能是因为本地录频有点掉帧,实际动画很流畅的。 https://t.co/8NN4CZ3f2L","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-12","value":0,"startTime":1762819200000,"endTime":1762905600000,"tweets":[{"bookmarked":false,"display_text_range":[11,87],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"4375814952","name":"Tit1e","screen_name":"evollyone","indices":[0,10]}]},"favorited":false,"in_reply_to_screen_name":"evollyone","lang":"zh","retweeted":false,"fact_check":null,"id":"1988072941205287050","view_count":167,"bookmark_count":0,"created_at":1762828500000,"favorite_count":1,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"152682525","conversation_id_str":"1987757085795455282","full_text":"@evollyone 是的,高速滚动的画面遇到尽头突然停止,在视觉上是有一点“心理膈应”的感觉,使用“回弹”来解决其实挺巧妙的,后来android用“拉伸”来解决好像也不错。","in_reply_to_user_id_str":"4375814952","in_reply_to_status_id_str":"1987757085795455282","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-13","value":0,"startTime":1762905600000,"endTime":1762992000000,"tweets":[]},{"label":"2025-11-14","value":0,"startTime":1762992000000,"endTime":1763078400000,"tweets":[]},{"label":"2025-11-15","value":0,"startTime":1763078400000,"endTime":1763164800000,"tweets":[]},{"label":"2025-11-16","value":0,"startTime":1763164800000,"endTime":1763251200000,"tweets":[]},{"label":"2025-11-17","value":0,"startTime":1763251200000,"endTime":1763337600000,"tweets":[]},{"label":"2025-11-18","value":0,"startTime":1763337600000,"endTime":1763424000000,"tweets":[]},{"label":"2025-11-19","value":0,"startTime":1763424000000,"endTime":1763510400000,"tweets":[]},{"label":"2025-11-20","value":0,"startTime":1763510400000,"endTime":1763596800000,"tweets":[]},{"label":"2025-11-21","value":0,"startTime":1763596800000,"endTime":1763683200000,"tweets":[]}],"nretweets":[{"label":"2025-10-22","value":0,"startTime":1761004800000,"endTime":1761091200000,"tweets":[]},{"label":"2025-10-23","value":0,"startTime":1761091200000,"endTime":1761177600000,"tweets":[]},{"label":"2025-10-24","value":0,"startTime":1761177600000,"endTime":1761264000000,"tweets":[{"bookmarked":false,"display_text_range":[0,14],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[]},"favorited":false,"lang":"zh","quoted_status_id_str":"1980475117256995254","quoted_status_permalink":{"url":"https://t.co/hS3OB2R6JR","expanded":"https://twitter.com/sanmiguelnoodle/status/1980475117256995254","display":"x.com/sanmiguelnoodl…"},"retweeted":false,"fact_check":null,"id":"1981163447288287367","view_count":3121,"bookmark_count":0,"created_at":1761181148000,"favorite_count":7,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"152682525","conversation_id_str":"1981163447288287367","full_text":"不知道为什么莫名地笑了www","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":1,"is_ai":null,"ai_score":null}]},{"label":"2025-10-25","value":0,"startTime":1761264000000,"endTime":1761350400000,"tweets":[]},{"label":"2025-10-26","value":0,"startTime":1761350400000,"endTime":1761436800000,"tweets":[]},{"label":"2025-10-27","value":0,"startTime":1761436800000,"endTime":1761523200000,"tweets":[]},{"label":"2025-10-28","value":0,"startTime":1761523200000,"endTime":1761609600000,"tweets":[]},{"label":"2025-10-29","value":0,"startTime":1761609600000,"endTime":1761696000000,"tweets":[]},{"label":"2025-10-30","value":0,"startTime":1761696000000,"endTime":1761782400000,"tweets":[]},{"label":"2025-10-31","value":36,"startTime":1761782400000,"endTime":1761868800000,"tweets":[{"bookmarked":false,"display_text_range":[0,152],"entities":{"hashtags":[],"media":[{"display_url":"pic.x.com/gznhpr1ozz","expanded_url":"https://x.com/hemashushu/status/1983873764501909646/photo/1","id_str":"1983869845902082048","indices":[153,176],"media_key":"3_1983869845902082048","media_url_https":"https://pbs.twimg.com/media/G4gfHSWaQAAaz8_.jpg","type":"photo","url":"https://t.co/gznhpr1ozz","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":1152,"w":2048,"resize":"fit"},"medium":{"h":675,"w":1200,"resize":"fit"},"small":{"h":383,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":2160,"width":3840,"focus_rects":[{"x":0,"y":10,"w":3840,"h":2150},{"x":1128,"y":0,"w":2160,"h":2160},{"x":1261,"y":0,"w":1895,"h":2160},{"x":1668,"y":0,"w":1080,"h":2160},{"x":0,"y":0,"w":3840,"h":2160}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1983869845902082048"}}}],"symbols":[],"timestamps":[],"urls":[{"display_url":"github.com/graphitemaster…","expanded_url":"https://github.com/graphitemaster/detour","url":"https://t.co/ZGhW4qx8uB","indices":[113,136]}],"user_mentions":[]},"extended_entities":{"media":[{"display_url":"pic.x.com/gznhpr1ozz","expanded_url":"https://x.com/hemashushu/status/1983873764501909646/photo/1","id_str":"1983869845902082048","indices":[153,176],"media_key":"3_1983869845902082048","media_url_https":"https://pbs.twimg.com/media/G4gfHSWaQAAaz8_.jpg","type":"photo","url":"https://t.co/gznhpr1ozz","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":1152,"w":2048,"resize":"fit"},"medium":{"h":675,"w":1200,"resize":"fit"},"small":{"h":383,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":2160,"width":3840,"focus_rects":[{"x":0,"y":10,"w":3840,"h":2150},{"x":1128,"y":0,"w":2160,"h":2160},{"x":1261,"y":0,"w":1895,"h":2160},{"x":1668,"y":0,"w":1080,"h":2160},{"x":0,"y":0,"w":3840,"h":2160}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1983869845902082048"}}}]},"favorited":false,"lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1983873764501909646","view_count":25494,"bookmark_count":190,"created_at":1761827338000,"favorite_count":153,"quote_count":2,"reply_count":12,"retweet_count":35,"user_id_str":"152682525","conversation_id_str":"1983873764501909646","full_text":"优雅!巧妙!\n\n我之前也想了很久如何实现:在静态链接的程序里调用动态链接库的函数。\n\n之所以有这样的想法是想让程序尽可能减少库依赖,但诸如GPU驱动、GTK/Webkit 等库显然没法将它们通通做静态链接。\n\n然后这个项目 (https://t.co/ZGhW4qx8uB) 用了一个很巧妙的方法实现了。 https://t.co/gznhpr1ozz","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,175],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[{"display_url":"ld-linux.so","expanded_url":"http://ld-linux.so","url":"https://t.co/p3peuRINDs","indices":[15,38]}],"user_mentions":[]},"favorited":false,"in_reply_to_screen_name":"hemashushu","lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1983873768851435540","view_count":996,"bookmark_count":1,"created_at":1761827339000,"favorite_count":6,"quote_count":0,"reply_count":1,"retweet_count":1,"user_id_str":"152682525","conversation_id_str":"1983873764501909646","full_text":"简单来说,主程序一开始就加载 https://t.co/p3peuRINDs(该库是静态链接的),然后多准备了一个只有 main 函数的副程序,让 ld-linux 加载这个副程序,main 函数的作用是获取 dlopen/dlsym 等 dl* 函数的地址,然后返回到主程序。如此一来主程序就可以使用 dl* 等动态加载函数了。\n\n只所以要这么绕…","in_reply_to_user_id_str":"152682525","in_reply_to_status_id_str":"1983873764501909646","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,159],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[]},"favorited":false,"in_reply_to_screen_name":"hemashushu","lang":"zh","retweeted":false,"fact_check":null,"id":"1983873771292520716","view_count":1342,"bookmark_count":1,"created_at":1761827340000,"favorite_count":4,"quote_count":0,"reply_count":2,"retweet_count":0,"user_id_str":"152682525","conversation_id_str":"1983873764501909646","full_text":"这么绕的原因是你无法直接将动态链接库(/usr/lib/*.so)加载到内存,然后通过寻找函数地址的方式来调用其中的函数。\n\n因为这些库在设计上实际上都是由 ld-linux 加载的,加载器会做很多初始化工作,如加载依赖的依赖,它其实就是一个 runtime,所以函数自然没法在缺少 runtime 的情况下正常运行。","in_reply_to_user_id_str":"152682525","in_reply_to_status_id_str":"1983873768851435540","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,144],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[]},"favorited":false,"in_reply_to_screen_name":"hemashushu","lang":"zh","retweeted":false,"fact_check":null,"id":"1983873774325002619","view_count":1228,"bookmark_count":0,"created_at":1761827341000,"favorite_count":3,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"152682525","conversation_id_str":"1983873764501909646","full_text":"当然这个方法要求主程序在运行中“静悄悄地”释放一个可执行程序,也不算非常优雅,但确实是最简单且可行的方法。\n\n早前我还想过能不能在程序里嵌入一个动态加载器(即类似ld-linux的角色),如果目标动态库没有再依赖其他库,倒是可行,但这样通用性就大打折扣了,就不知道还有没其他优雅的方法……","in_reply_to_user_id_str":"152682525","in_reply_to_status_id_str":"1983873771292520716","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[12,164],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"7755562","name":"AlexZ 🦀","screen_name":"blackanger","indices":[0,11]}]},"favorited":false,"in_reply_to_screen_name":"blackanger","lang":"zh","retweeted":false,"fact_check":null,"id":"1983896092384358614","view_count":740,"bookmark_count":0,"created_at":1761832662000,"favorite_count":1,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"152682525","conversation_id_str":"1983873764501909646","full_text":"@blackanger 理论上是可以把glibc或者musl的动态链接器包含在主程序里,但比较稳健的做法还是使用当前系统的链接器,毕竟不确定最终运行环境的是哪一个以及版本是什么,不同加载器和版本不太通用(用 musl 加载器加载基于 glibc 的共享库好像会出错)话说我挺强烈赞成全部用rust重写的,真受够这些部署的依赖问题","in_reply_to_user_id_str":"7755562","in_reply_to_status_id_str":"1983891975930810774","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-01","value":2,"startTime":1761868800000,"endTime":1761955200000,"tweets":[{"bookmarked":false,"display_text_range":[0,159],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[{"display_url":"emily.space/posts/251023-uv","expanded_url":"https://emily.space/posts/251023-uv","url":"https://t.co/dKaV5ByaGf","indices":[136,159]}],"user_mentions":[]},"favorited":false,"lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1984141269581602873","view_count":4318,"bookmark_count":34,"created_at":1761891116000,"favorite_count":36,"quote_count":0,"reply_count":6,"retweet_count":2,"user_id_str":"152682525","conversation_id_str":"1984141269581602873","full_text":"近一两年工具方面让我印象比较深刻的有pnpm和uv。\n\n这两者较相似,都是在一大堆莫名奇妙的前任们肆虐开发者身心几年后,终于冒出比较正常的包管理器。\n\n其中uv更为深刻,虽说用rust编写生成的代码不会变快但利用了可靠的并行方法让程序整体效率的确有显著的提升,很有启发。 https://t.co/dKaV5ByaGf","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[12,33],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"743651613848408064","name":"yuahuua","screen_name":"yuahualove","indices":[0,11]}]},"favorited":false,"in_reply_to_screen_name":"yuahualove","lang":"zh","retweeted":false,"fact_check":null,"id":"1984183703023824987","view_count":89,"bookmark_count":0,"created_at":1761901233000,"favorite_count":1,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"152682525","conversation_id_str":"1983873764501909646","full_text":"@yuahualove 让程序变成 portable (绿色软件)","in_reply_to_user_id_str":"743651613848408064","in_reply_to_status_id_str":"1984178808350761222","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-02","value":0,"startTime":1761955200000,"endTime":1762041600000,"tweets":[]},{"label":"2025-11-03","value":0,"startTime":1762041600000,"endTime":1762128000000,"tweets":[]},{"label":"2025-11-04","value":0,"startTime":1762128000000,"endTime":1762214400000,"tweets":[]},{"label":"2025-11-05","value":0,"startTime":1762214400000,"endTime":1762300800000,"tweets":[]},{"label":"2025-11-06","value":0,"startTime":1762300800000,"endTime":1762387200000,"tweets":[]},{"label":"2025-11-07","value":0,"startTime":1762387200000,"endTime":1762473600000,"tweets":[]},{"label":"2025-11-08","value":0,"startTime":1762473600000,"endTime":1762560000000,"tweets":[]},{"label":"2025-11-09","value":0,"startTime":1762560000000,"endTime":1762646400000,"tweets":[]},{"label":"2025-11-10","value":0,"startTime":1762646400000,"endTime":1762732800000,"tweets":[]},{"label":"2025-11-11","value":163,"startTime":1762732800000,"endTime":1762819200000,"tweets":[{"bookmarked":false,"display_text_range":[0,177],"entities":{"hashtags":[],"media":[{"display_url":"pic.x.com/y7mQaYxAcO","expanded_url":"https://x.com/hemashushu/status/1987684873579229366/photo/1","id_str":"1987684496427331584","indices":[178,201],"media_key":"3_1987684496427331584","media_url_https":"https://pbs.twimg.com/media/G5WshK8aMAAkKjq.jpg","type":"photo","url":"https://t.co/y7mQaYxAcO","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":2048,"w":605,"resize":"fit"},"medium":{"h":1200,"w":354,"resize":"fit"},"small":{"h":680,"w":201,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":4096,"width":1209,"focus_rects":[{"x":0,"y":2017,"w":1209,"h":677},{"x":0,"y":1751,"w":1209,"h":1209},{"x":0,"y":1666,"w":1209,"h":1378},{"x":0,"y":1146,"w":1209,"h":2418},{"x":0,"y":0,"w":1209,"h":4096}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1987684496427331584"}}},{"display_url":"pic.x.com/y7mQaYxAcO","expanded_url":"https://x.com/hemashushu/status/1987684873579229366/photo/1","id_str":"1987684745992691712","indices":[178,201],"media_key":"3_1987684745992691712","media_url_https":"https://pbs.twimg.com/media/G5WsvspbYAAVTFM.jpg","type":"photo","url":"https://t.co/y7mQaYxAcO","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":864,"w":1493,"resize":"fit"},"medium":{"h":694,"w":1200,"resize":"fit"},"small":{"h":394,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":864,"width":1493,"focus_rects":[{"x":0,"y":0,"w":1493,"h":836},{"x":0,"y":0,"w":864,"h":864},{"x":0,"y":0,"w":758,"h":864},{"x":45,"y":0,"w":432,"h":864},{"x":0,"y":0,"w":1493,"h":864}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1987684745992691712"}}}],"symbols":[],"timestamps":[],"urls":[{"display_url":"build-your-own.org/redis/","expanded_url":"https://build-your-own.org/redis/","url":"https://t.co/6mVtSlCXnB","indices":[154,177]}],"user_mentions":[]},"extended_entities":{"media":[{"display_url":"pic.x.com/y7mQaYxAcO","expanded_url":"https://x.com/hemashushu/status/1987684873579229366/photo/1","id_str":"1987684496427331584","indices":[178,201],"media_key":"3_1987684496427331584","media_url_https":"https://pbs.twimg.com/media/G5WshK8aMAAkKjq.jpg","type":"photo","url":"https://t.co/y7mQaYxAcO","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":2048,"w":605,"resize":"fit"},"medium":{"h":1200,"w":354,"resize":"fit"},"small":{"h":680,"w":201,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":4096,"width":1209,"focus_rects":[{"x":0,"y":2017,"w":1209,"h":677},{"x":0,"y":1751,"w":1209,"h":1209},{"x":0,"y":1666,"w":1209,"h":1378},{"x":0,"y":1146,"w":1209,"h":2418},{"x":0,"y":0,"w":1209,"h":4096}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1987684496427331584"}}},{"display_url":"pic.x.com/y7mQaYxAcO","expanded_url":"https://x.com/hemashushu/status/1987684873579229366/photo/1","id_str":"1987684745992691712","indices":[178,201],"media_key":"3_1987684745992691712","media_url_https":"https://pbs.twimg.com/media/G5WsvspbYAAVTFM.jpg","type":"photo","url":"https://t.co/y7mQaYxAcO","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":864,"w":1493,"resize":"fit"},"medium":{"h":694,"w":1200,"resize":"fit"},"small":{"h":394,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":864,"width":1493,"focus_rects":[{"x":0,"y":0,"w":1493,"h":836},{"x":0,"y":0,"w":864,"h":864},{"x":0,"y":0,"w":758,"h":864},{"x":45,"y":0,"w":432,"h":864},{"x":0,"y":0,"w":1493,"h":864}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1987684745992691712"}}}]},"favorited":false,"lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1987684873579229366","view_count":57766,"bookmark_count":855,"created_at":1762735977000,"favorite_count":721,"quote_count":4,"reply_count":9,"retweet_count":155,"user_id_str":"152682525","conversation_id_str":"1987684873579229366","full_text":"分享一个非常适合入门 Linux 编程的教程《Build Your Own Redis with C/C++》\n\n这个教程的特点是将知识点讲得非常细致,生怕你看不懂,同时循序渐进地展开怕你中途放弃。从 socket/tcp 开始,讲到并发(异步)、散列表、序列化、快取等,可谓非常全面,非常适合用来练手。\n\nhttps://t.co/6mVtSlCXnB https://t.co/y7mQaYxAcO","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,152],"entities":{"hashtags":[],"media":[{"display_url":"pic.x.com/8NN4CZ3f2L","expanded_url":"https://x.com/hemashushu/status/1987681953987043411/video/1","id_str":"1987681362309246976","indices":[153,176],"media_key":"13_1987681362309246976","media_url_https":"https://pbs.twimg.com/amplify_video_thumb/1987681362309246976/img/gSvi_xou6TJZeUVR.jpg","type":"video","url":"https://t.co/8NN4CZ3f2L","additional_media_info":{"monetizable":false},"ext_media_availability":{"status":"Available"},"sizes":{"large":{"h":1080,"w":1920,"resize":"fit"},"medium":{"h":675,"w":1200,"resize":"fit"},"small":{"h":383,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":1080,"width":1920,"focus_rects":[]},"allow_download_status":{"allow_download":true},"video_info":{"aspect_ratio":[16,9],"duration_millis":16850,"variants":[{"content_type":"application/x-mpegURL","url":"https://video.twimg.com/amplify_video/1987681362309246976/pl/TvNA8h0a0DqA8eDM.m3u8?tag=14&v=cfc"},{"bitrate":288000,"content_type":"video/mp4","url":"https://video.twimg.com/amplify_video/1987681362309246976/vid/avc1/480x270/K2DQ8S2rEBIY3VDF.mp4?tag=14"},{"bitrate":832000,"content_type":"video/mp4","url":"https://video.twimg.com/amplify_video/1987681362309246976/vid/avc1/640x360/4WXmaHbeJOzC5BAY.mp4?tag=14"},{"bitrate":2176000,"content_type":"video/mp4","url":"https://video.twimg.com/amplify_video/1987681362309246976/vid/avc1/1280x720/Us1JABpY7xYFag_Q.mp4?tag=14"}]},"media_results":{"result":{"media_key":"13_1987681362309246976"}}}],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[]},"extended_entities":{"media":[{"display_url":"pic.x.com/8NN4CZ3f2L","expanded_url":"https://x.com/hemashushu/status/1987681953987043411/video/1","id_str":"1987681362309246976","indices":[153,176],"media_key":"13_1987681362309246976","media_url_https":"https://pbs.twimg.com/amplify_video_thumb/1987681362309246976/img/gSvi_xou6TJZeUVR.jpg","type":"video","url":"https://t.co/8NN4CZ3f2L","additional_media_info":{"monetizable":false},"ext_media_availability":{"status":"Available"},"sizes":{"large":{"h":1080,"w":1920,"resize":"fit"},"medium":{"h":675,"w":1200,"resize":"fit"},"small":{"h":383,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":1080,"width":1920,"focus_rects":[]},"allow_download_status":{"allow_download":true},"video_info":{"aspect_ratio":[16,9],"duration_millis":16850,"variants":[{"content_type":"application/x-mpegURL","url":"https://video.twimg.com/amplify_video/1987681362309246976/pl/TvNA8h0a0DqA8eDM.m3u8?tag=14&v=cfc"},{"bitrate":288000,"content_type":"video/mp4","url":"https://video.twimg.com/amplify_video/1987681362309246976/vid/avc1/480x270/K2DQ8S2rEBIY3VDF.mp4?tag=14"},{"bitrate":832000,"content_type":"video/mp4","url":"https://video.twimg.com/amplify_video/1987681362309246976/vid/avc1/640x360/4WXmaHbeJOzC5BAY.mp4?tag=14"},{"bitrate":2176000,"content_type":"video/mp4","url":"https://video.twimg.com/amplify_video/1987681362309246976/vid/avc1/1280x720/Us1JABpY7xYFag_Q.mp4?tag=14"}]},"media_results":{"result":{"media_key":"13_1987681362309246976"}}}]},"favorited":false,"lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1987681953987043411","view_count":41218,"bookmark_count":52,"created_at":1762735281000,"favorite_count":117,"quote_count":3,"reply_count":24,"retweet_count":8,"user_id_str":"152682525","conversation_id_str":"1987681953987043411","full_text":"刚看到一个视频,博主用切换窗口动画的流畅度来判断操作系统的强弱。\n\n其实我觉得linux桌面的动画一直还不错哈,早期是ubuntu8.04还是更早版本记得不太清楚,桌面动画非常夸张,后来倒是逐渐朴素。\n\n视频是我尝试弹射read-it-later浏览器窗口,可能是因为本地录频有点掉帧,实际动画很流畅的。 https://t.co/8NN4CZ3f2L","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-12","value":0,"startTime":1762819200000,"endTime":1762905600000,"tweets":[{"bookmarked":false,"display_text_range":[11,87],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"4375814952","name":"Tit1e","screen_name":"evollyone","indices":[0,10]}]},"favorited":false,"in_reply_to_screen_name":"evollyone","lang":"zh","retweeted":false,"fact_check":null,"id":"1988072941205287050","view_count":167,"bookmark_count":0,"created_at":1762828500000,"favorite_count":1,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"152682525","conversation_id_str":"1987757085795455282","full_text":"@evollyone 是的,高速滚动的画面遇到尽头突然停止,在视觉上是有一点“心理膈应”的感觉,使用“回弹”来解决其实挺巧妙的,后来android用“拉伸”来解决好像也不错。","in_reply_to_user_id_str":"4375814952","in_reply_to_status_id_str":"1987757085795455282","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-13","value":0,"startTime":1762905600000,"endTime":1762992000000,"tweets":[]},{"label":"2025-11-14","value":0,"startTime":1762992000000,"endTime":1763078400000,"tweets":[]},{"label":"2025-11-15","value":0,"startTime":1763078400000,"endTime":1763164800000,"tweets":[]},{"label":"2025-11-16","value":0,"startTime":1763164800000,"endTime":1763251200000,"tweets":[]},{"label":"2025-11-17","value":0,"startTime":1763251200000,"endTime":1763337600000,"tweets":[]},{"label":"2025-11-18","value":0,"startTime":1763337600000,"endTime":1763424000000,"tweets":[]},{"label":"2025-11-19","value":0,"startTime":1763424000000,"endTime":1763510400000,"tweets":[]},{"label":"2025-11-20","value":0,"startTime":1763510400000,"endTime":1763596800000,"tweets":[]},{"label":"2025-11-21","value":0,"startTime":1763596800000,"endTime":1763683200000,"tweets":[]}],"nlikes":[{"label":"2025-10-22","value":0,"startTime":1761004800000,"endTime":1761091200000,"tweets":[]},{"label":"2025-10-23","value":0,"startTime":1761091200000,"endTime":1761177600000,"tweets":[]},{"label":"2025-10-24","value":7,"startTime":1761177600000,"endTime":1761264000000,"tweets":[{"bookmarked":false,"display_text_range":[0,14],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[]},"favorited":false,"lang":"zh","quoted_status_id_str":"1980475117256995254","quoted_status_permalink":{"url":"https://t.co/hS3OB2R6JR","expanded":"https://twitter.com/sanmiguelnoodle/status/1980475117256995254","display":"x.com/sanmiguelnoodl…"},"retweeted":false,"fact_check":null,"id":"1981163447288287367","view_count":3121,"bookmark_count":0,"created_at":1761181148000,"favorite_count":7,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"152682525","conversation_id_str":"1981163447288287367","full_text":"不知道为什么莫名地笑了www","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":1,"is_ai":null,"ai_score":null}]},{"label":"2025-10-25","value":0,"startTime":1761264000000,"endTime":1761350400000,"tweets":[]},{"label":"2025-10-26","value":0,"startTime":1761350400000,"endTime":1761436800000,"tweets":[]},{"label":"2025-10-27","value":0,"startTime":1761436800000,"endTime":1761523200000,"tweets":[]},{"label":"2025-10-28","value":0,"startTime":1761523200000,"endTime":1761609600000,"tweets":[]},{"label":"2025-10-29","value":0,"startTime":1761609600000,"endTime":1761696000000,"tweets":[]},{"label":"2025-10-30","value":0,"startTime":1761696000000,"endTime":1761782400000,"tweets":[]},{"label":"2025-10-31","value":167,"startTime":1761782400000,"endTime":1761868800000,"tweets":[{"bookmarked":false,"display_text_range":[0,152],"entities":{"hashtags":[],"media":[{"display_url":"pic.x.com/gznhpr1ozz","expanded_url":"https://x.com/hemashushu/status/1983873764501909646/photo/1","id_str":"1983869845902082048","indices":[153,176],"media_key":"3_1983869845902082048","media_url_https":"https://pbs.twimg.com/media/G4gfHSWaQAAaz8_.jpg","type":"photo","url":"https://t.co/gznhpr1ozz","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":1152,"w":2048,"resize":"fit"},"medium":{"h":675,"w":1200,"resize":"fit"},"small":{"h":383,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":2160,"width":3840,"focus_rects":[{"x":0,"y":10,"w":3840,"h":2150},{"x":1128,"y":0,"w":2160,"h":2160},{"x":1261,"y":0,"w":1895,"h":2160},{"x":1668,"y":0,"w":1080,"h":2160},{"x":0,"y":0,"w":3840,"h":2160}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1983869845902082048"}}}],"symbols":[],"timestamps":[],"urls":[{"display_url":"github.com/graphitemaster…","expanded_url":"https://github.com/graphitemaster/detour","url":"https://t.co/ZGhW4qx8uB","indices":[113,136]}],"user_mentions":[]},"extended_entities":{"media":[{"display_url":"pic.x.com/gznhpr1ozz","expanded_url":"https://x.com/hemashushu/status/1983873764501909646/photo/1","id_str":"1983869845902082048","indices":[153,176],"media_key":"3_1983869845902082048","media_url_https":"https://pbs.twimg.com/media/G4gfHSWaQAAaz8_.jpg","type":"photo","url":"https://t.co/gznhpr1ozz","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":1152,"w":2048,"resize":"fit"},"medium":{"h":675,"w":1200,"resize":"fit"},"small":{"h":383,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":2160,"width":3840,"focus_rects":[{"x":0,"y":10,"w":3840,"h":2150},{"x":1128,"y":0,"w":2160,"h":2160},{"x":1261,"y":0,"w":1895,"h":2160},{"x":1668,"y":0,"w":1080,"h":2160},{"x":0,"y":0,"w":3840,"h":2160}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1983869845902082048"}}}]},"favorited":false,"lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1983873764501909646","view_count":25494,"bookmark_count":190,"created_at":1761827338000,"favorite_count":153,"quote_count":2,"reply_count":12,"retweet_count":35,"user_id_str":"152682525","conversation_id_str":"1983873764501909646","full_text":"优雅!巧妙!\n\n我之前也想了很久如何实现:在静态链接的程序里调用动态链接库的函数。\n\n之所以有这样的想法是想让程序尽可能减少库依赖,但诸如GPU驱动、GTK/Webkit 等库显然没法将它们通通做静态链接。\n\n然后这个项目 (https://t.co/ZGhW4qx8uB) 用了一个很巧妙的方法实现了。 https://t.co/gznhpr1ozz","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,175],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[{"display_url":"ld-linux.so","expanded_url":"http://ld-linux.so","url":"https://t.co/p3peuRINDs","indices":[15,38]}],"user_mentions":[]},"favorited":false,"in_reply_to_screen_name":"hemashushu","lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1983873768851435540","view_count":996,"bookmark_count":1,"created_at":1761827339000,"favorite_count":6,"quote_count":0,"reply_count":1,"retweet_count":1,"user_id_str":"152682525","conversation_id_str":"1983873764501909646","full_text":"简单来说,主程序一开始就加载 https://t.co/p3peuRINDs(该库是静态链接的),然后多准备了一个只有 main 函数的副程序,让 ld-linux 加载这个副程序,main 函数的作用是获取 dlopen/dlsym 等 dl* 函数的地址,然后返回到主程序。如此一来主程序就可以使用 dl* 等动态加载函数了。\n\n只所以要这么绕…","in_reply_to_user_id_str":"152682525","in_reply_to_status_id_str":"1983873764501909646","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,159],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[]},"favorited":false,"in_reply_to_screen_name":"hemashushu","lang":"zh","retweeted":false,"fact_check":null,"id":"1983873771292520716","view_count":1342,"bookmark_count":1,"created_at":1761827340000,"favorite_count":4,"quote_count":0,"reply_count":2,"retweet_count":0,"user_id_str":"152682525","conversation_id_str":"1983873764501909646","full_text":"这么绕的原因是你无法直接将动态链接库(/usr/lib/*.so)加载到内存,然后通过寻找函数地址的方式来调用其中的函数。\n\n因为这些库在设计上实际上都是由 ld-linux 加载的,加载器会做很多初始化工作,如加载依赖的依赖,它其实就是一个 runtime,所以函数自然没法在缺少 runtime 的情况下正常运行。","in_reply_to_user_id_str":"152682525","in_reply_to_status_id_str":"1983873768851435540","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,144],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[]},"favorited":false,"in_reply_to_screen_name":"hemashushu","lang":"zh","retweeted":false,"fact_check":null,"id":"1983873774325002619","view_count":1228,"bookmark_count":0,"created_at":1761827341000,"favorite_count":3,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"152682525","conversation_id_str":"1983873764501909646","full_text":"当然这个方法要求主程序在运行中“静悄悄地”释放一个可执行程序,也不算非常优雅,但确实是最简单且可行的方法。\n\n早前我还想过能不能在程序里嵌入一个动态加载器(即类似ld-linux的角色),如果目标动态库没有再依赖其他库,倒是可行,但这样通用性就大打折扣了,就不知道还有没其他优雅的方法……","in_reply_to_user_id_str":"152682525","in_reply_to_status_id_str":"1983873771292520716","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[12,164],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"7755562","name":"AlexZ 🦀","screen_name":"blackanger","indices":[0,11]}]},"favorited":false,"in_reply_to_screen_name":"blackanger","lang":"zh","retweeted":false,"fact_check":null,"id":"1983896092384358614","view_count":740,"bookmark_count":0,"created_at":1761832662000,"favorite_count":1,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"152682525","conversation_id_str":"1983873764501909646","full_text":"@blackanger 理论上是可以把glibc或者musl的动态链接器包含在主程序里,但比较稳健的做法还是使用当前系统的链接器,毕竟不确定最终运行环境的是哪一个以及版本是什么,不同加载器和版本不太通用(用 musl 加载器加载基于 glibc 的共享库好像会出错)话说我挺强烈赞成全部用rust重写的,真受够这些部署的依赖问题","in_reply_to_user_id_str":"7755562","in_reply_to_status_id_str":"1983891975930810774","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-01","value":37,"startTime":1761868800000,"endTime":1761955200000,"tweets":[{"bookmarked":false,"display_text_range":[0,159],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[{"display_url":"emily.space/posts/251023-uv","expanded_url":"https://emily.space/posts/251023-uv","url":"https://t.co/dKaV5ByaGf","indices":[136,159]}],"user_mentions":[]},"favorited":false,"lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1984141269581602873","view_count":4318,"bookmark_count":34,"created_at":1761891116000,"favorite_count":36,"quote_count":0,"reply_count":6,"retweet_count":2,"user_id_str":"152682525","conversation_id_str":"1984141269581602873","full_text":"近一两年工具方面让我印象比较深刻的有pnpm和uv。\n\n这两者较相似,都是在一大堆莫名奇妙的前任们肆虐开发者身心几年后,终于冒出比较正常的包管理器。\n\n其中uv更为深刻,虽说用rust编写生成的代码不会变快但利用了可靠的并行方法让程序整体效率的确有显著的提升,很有启发。 https://t.co/dKaV5ByaGf","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[12,33],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"743651613848408064","name":"yuahuua","screen_name":"yuahualove","indices":[0,11]}]},"favorited":false,"in_reply_to_screen_name":"yuahualove","lang":"zh","retweeted":false,"fact_check":null,"id":"1984183703023824987","view_count":89,"bookmark_count":0,"created_at":1761901233000,"favorite_count":1,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"152682525","conversation_id_str":"1983873764501909646","full_text":"@yuahualove 让程序变成 portable (绿色软件)","in_reply_to_user_id_str":"743651613848408064","in_reply_to_status_id_str":"1984178808350761222","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-02","value":0,"startTime":1761955200000,"endTime":1762041600000,"tweets":[]},{"label":"2025-11-03","value":0,"startTime":1762041600000,"endTime":1762128000000,"tweets":[]},{"label":"2025-11-04","value":0,"startTime":1762128000000,"endTime":1762214400000,"tweets":[]},{"label":"2025-11-05","value":0,"startTime":1762214400000,"endTime":1762300800000,"tweets":[]},{"label":"2025-11-06","value":0,"startTime":1762300800000,"endTime":1762387200000,"tweets":[]},{"label":"2025-11-07","value":0,"startTime":1762387200000,"endTime":1762473600000,"tweets":[]},{"label":"2025-11-08","value":0,"startTime":1762473600000,"endTime":1762560000000,"tweets":[]},{"label":"2025-11-09","value":0,"startTime":1762560000000,"endTime":1762646400000,"tweets":[]},{"label":"2025-11-10","value":0,"startTime":1762646400000,"endTime":1762732800000,"tweets":[]},{"label":"2025-11-11","value":838,"startTime":1762732800000,"endTime":1762819200000,"tweets":[{"bookmarked":false,"display_text_range":[0,177],"entities":{"hashtags":[],"media":[{"display_url":"pic.x.com/y7mQaYxAcO","expanded_url":"https://x.com/hemashushu/status/1987684873579229366/photo/1","id_str":"1987684496427331584","indices":[178,201],"media_key":"3_1987684496427331584","media_url_https":"https://pbs.twimg.com/media/G5WshK8aMAAkKjq.jpg","type":"photo","url":"https://t.co/y7mQaYxAcO","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":2048,"w":605,"resize":"fit"},"medium":{"h":1200,"w":354,"resize":"fit"},"small":{"h":680,"w":201,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":4096,"width":1209,"focus_rects":[{"x":0,"y":2017,"w":1209,"h":677},{"x":0,"y":1751,"w":1209,"h":1209},{"x":0,"y":1666,"w":1209,"h":1378},{"x":0,"y":1146,"w":1209,"h":2418},{"x":0,"y":0,"w":1209,"h":4096}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1987684496427331584"}}},{"display_url":"pic.x.com/y7mQaYxAcO","expanded_url":"https://x.com/hemashushu/status/1987684873579229366/photo/1","id_str":"1987684745992691712","indices":[178,201],"media_key":"3_1987684745992691712","media_url_https":"https://pbs.twimg.com/media/G5WsvspbYAAVTFM.jpg","type":"photo","url":"https://t.co/y7mQaYxAcO","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":864,"w":1493,"resize":"fit"},"medium":{"h":694,"w":1200,"resize":"fit"},"small":{"h":394,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":864,"width":1493,"focus_rects":[{"x":0,"y":0,"w":1493,"h":836},{"x":0,"y":0,"w":864,"h":864},{"x":0,"y":0,"w":758,"h":864},{"x":45,"y":0,"w":432,"h":864},{"x":0,"y":0,"w":1493,"h":864}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1987684745992691712"}}}],"symbols":[],"timestamps":[],"urls":[{"display_url":"build-your-own.org/redis/","expanded_url":"https://build-your-own.org/redis/","url":"https://t.co/6mVtSlCXnB","indices":[154,177]}],"user_mentions":[]},"extended_entities":{"media":[{"display_url":"pic.x.com/y7mQaYxAcO","expanded_url":"https://x.com/hemashushu/status/1987684873579229366/photo/1","id_str":"1987684496427331584","indices":[178,201],"media_key":"3_1987684496427331584","media_url_https":"https://pbs.twimg.com/media/G5WshK8aMAAkKjq.jpg","type":"photo","url":"https://t.co/y7mQaYxAcO","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":2048,"w":605,"resize":"fit"},"medium":{"h":1200,"w":354,"resize":"fit"},"small":{"h":680,"w":201,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":4096,"width":1209,"focus_rects":[{"x":0,"y":2017,"w":1209,"h":677},{"x":0,"y":1751,"w":1209,"h":1209},{"x":0,"y":1666,"w":1209,"h":1378},{"x":0,"y":1146,"w":1209,"h":2418},{"x":0,"y":0,"w":1209,"h":4096}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1987684496427331584"}}},{"display_url":"pic.x.com/y7mQaYxAcO","expanded_url":"https://x.com/hemashushu/status/1987684873579229366/photo/1","id_str":"1987684745992691712","indices":[178,201],"media_key":"3_1987684745992691712","media_url_https":"https://pbs.twimg.com/media/G5WsvspbYAAVTFM.jpg","type":"photo","url":"https://t.co/y7mQaYxAcO","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":864,"w":1493,"resize":"fit"},"medium":{"h":694,"w":1200,"resize":"fit"},"small":{"h":394,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":864,"width":1493,"focus_rects":[{"x":0,"y":0,"w":1493,"h":836},{"x":0,"y":0,"w":864,"h":864},{"x":0,"y":0,"w":758,"h":864},{"x":45,"y":0,"w":432,"h":864},{"x":0,"y":0,"w":1493,"h":864}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1987684745992691712"}}}]},"favorited":false,"lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1987684873579229366","view_count":57766,"bookmark_count":855,"created_at":1762735977000,"favorite_count":721,"quote_count":4,"reply_count":9,"retweet_count":155,"user_id_str":"152682525","conversation_id_str":"1987684873579229366","full_text":"分享一个非常适合入门 Linux 编程的教程《Build Your Own Redis with C/C++》\n\n这个教程的特点是将知识点讲得非常细致,生怕你看不懂,同时循序渐进地展开怕你中途放弃。从 socket/tcp 开始,讲到并发(异步)、散列表、序列化、快取等,可谓非常全面,非常适合用来练手。\n\nhttps://t.co/6mVtSlCXnB https://t.co/y7mQaYxAcO","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,152],"entities":{"hashtags":[],"media":[{"display_url":"pic.x.com/8NN4CZ3f2L","expanded_url":"https://x.com/hemashushu/status/1987681953987043411/video/1","id_str":"1987681362309246976","indices":[153,176],"media_key":"13_1987681362309246976","media_url_https":"https://pbs.twimg.com/amplify_video_thumb/1987681362309246976/img/gSvi_xou6TJZeUVR.jpg","type":"video","url":"https://t.co/8NN4CZ3f2L","additional_media_info":{"monetizable":false},"ext_media_availability":{"status":"Available"},"sizes":{"large":{"h":1080,"w":1920,"resize":"fit"},"medium":{"h":675,"w":1200,"resize":"fit"},"small":{"h":383,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":1080,"width":1920,"focus_rects":[]},"allow_download_status":{"allow_download":true},"video_info":{"aspect_ratio":[16,9],"duration_millis":16850,"variants":[{"content_type":"application/x-mpegURL","url":"https://video.twimg.com/amplify_video/1987681362309246976/pl/TvNA8h0a0DqA8eDM.m3u8?tag=14&v=cfc"},{"bitrate":288000,"content_type":"video/mp4","url":"https://video.twimg.com/amplify_video/1987681362309246976/vid/avc1/480x270/K2DQ8S2rEBIY3VDF.mp4?tag=14"},{"bitrate":832000,"content_type":"video/mp4","url":"https://video.twimg.com/amplify_video/1987681362309246976/vid/avc1/640x360/4WXmaHbeJOzC5BAY.mp4?tag=14"},{"bitrate":2176000,"content_type":"video/mp4","url":"https://video.twimg.com/amplify_video/1987681362309246976/vid/avc1/1280x720/Us1JABpY7xYFag_Q.mp4?tag=14"}]},"media_results":{"result":{"media_key":"13_1987681362309246976"}}}],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[]},"extended_entities":{"media":[{"display_url":"pic.x.com/8NN4CZ3f2L","expanded_url":"https://x.com/hemashushu/status/1987681953987043411/video/1","id_str":"1987681362309246976","indices":[153,176],"media_key":"13_1987681362309246976","media_url_https":"https://pbs.twimg.com/amplify_video_thumb/1987681362309246976/img/gSvi_xou6TJZeUVR.jpg","type":"video","url":"https://t.co/8NN4CZ3f2L","additional_media_info":{"monetizable":false},"ext_media_availability":{"status":"Available"},"sizes":{"large":{"h":1080,"w":1920,"resize":"fit"},"medium":{"h":675,"w":1200,"resize":"fit"},"small":{"h":383,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":1080,"width":1920,"focus_rects":[]},"allow_download_status":{"allow_download":true},"video_info":{"aspect_ratio":[16,9],"duration_millis":16850,"variants":[{"content_type":"application/x-mpegURL","url":"https://video.twimg.com/amplify_video/1987681362309246976/pl/TvNA8h0a0DqA8eDM.m3u8?tag=14&v=cfc"},{"bitrate":288000,"content_type":"video/mp4","url":"https://video.twimg.com/amplify_video/1987681362309246976/vid/avc1/480x270/K2DQ8S2rEBIY3VDF.mp4?tag=14"},{"bitrate":832000,"content_type":"video/mp4","url":"https://video.twimg.com/amplify_video/1987681362309246976/vid/avc1/640x360/4WXmaHbeJOzC5BAY.mp4?tag=14"},{"bitrate":2176000,"content_type":"video/mp4","url":"https://video.twimg.com/amplify_video/1987681362309246976/vid/avc1/1280x720/Us1JABpY7xYFag_Q.mp4?tag=14"}]},"media_results":{"result":{"media_key":"13_1987681362309246976"}}}]},"favorited":false,"lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1987681953987043411","view_count":41218,"bookmark_count":52,"created_at":1762735281000,"favorite_count":117,"quote_count":3,"reply_count":24,"retweet_count":8,"user_id_str":"152682525","conversation_id_str":"1987681953987043411","full_text":"刚看到一个视频,博主用切换窗口动画的流畅度来判断操作系统的强弱。\n\n其实我觉得linux桌面的动画一直还不错哈,早期是ubuntu8.04还是更早版本记得不太清楚,桌面动画非常夸张,后来倒是逐渐朴素。\n\n视频是我尝试弹射read-it-later浏览器窗口,可能是因为本地录频有点掉帧,实际动画很流畅的。 https://t.co/8NN4CZ3f2L","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-12","value":1,"startTime":1762819200000,"endTime":1762905600000,"tweets":[{"bookmarked":false,"display_text_range":[11,87],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"4375814952","name":"Tit1e","screen_name":"evollyone","indices":[0,10]}]},"favorited":false,"in_reply_to_screen_name":"evollyone","lang":"zh","retweeted":false,"fact_check":null,"id":"1988072941205287050","view_count":167,"bookmark_count":0,"created_at":1762828500000,"favorite_count":1,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"152682525","conversation_id_str":"1987757085795455282","full_text":"@evollyone 是的,高速滚动的画面遇到尽头突然停止,在视觉上是有一点“心理膈应”的感觉,使用“回弹”来解决其实挺巧妙的,后来android用“拉伸”来解决好像也不错。","in_reply_to_user_id_str":"4375814952","in_reply_to_status_id_str":"1987757085795455282","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-13","value":0,"startTime":1762905600000,"endTime":1762992000000,"tweets":[]},{"label":"2025-11-14","value":0,"startTime":1762992000000,"endTime":1763078400000,"tweets":[]},{"label":"2025-11-15","value":0,"startTime":1763078400000,"endTime":1763164800000,"tweets":[]},{"label":"2025-11-16","value":0,"startTime":1763164800000,"endTime":1763251200000,"tweets":[]},{"label":"2025-11-17","value":0,"startTime":1763251200000,"endTime":1763337600000,"tweets":[]},{"label":"2025-11-18","value":0,"startTime":1763337600000,"endTime":1763424000000,"tweets":[]},{"label":"2025-11-19","value":0,"startTime":1763424000000,"endTime":1763510400000,"tweets":[]},{"label":"2025-11-20","value":0,"startTime":1763510400000,"endTime":1763596800000,"tweets":[]},{"label":"2025-11-21","value":0,"startTime":1763596800000,"endTime":1763683200000,"tweets":[]}],"nviews":[{"label":"2025-10-22","value":0,"startTime":1761004800000,"endTime":1761091200000,"tweets":[]},{"label":"2025-10-23","value":0,"startTime":1761091200000,"endTime":1761177600000,"tweets":[]},{"label":"2025-10-24","value":3121,"startTime":1761177600000,"endTime":1761264000000,"tweets":[{"bookmarked":false,"display_text_range":[0,14],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[]},"favorited":false,"lang":"zh","quoted_status_id_str":"1980475117256995254","quoted_status_permalink":{"url":"https://t.co/hS3OB2R6JR","expanded":"https://twitter.com/sanmiguelnoodle/status/1980475117256995254","display":"x.com/sanmiguelnoodl…"},"retweeted":false,"fact_check":null,"id":"1981163447288287367","view_count":3121,"bookmark_count":0,"created_at":1761181148000,"favorite_count":7,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"152682525","conversation_id_str":"1981163447288287367","full_text":"不知道为什么莫名地笑了www","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":1,"is_ai":null,"ai_score":null}]},{"label":"2025-10-25","value":0,"startTime":1761264000000,"endTime":1761350400000,"tweets":[]},{"label":"2025-10-26","value":0,"startTime":1761350400000,"endTime":1761436800000,"tweets":[]},{"label":"2025-10-27","value":0,"startTime":1761436800000,"endTime":1761523200000,"tweets":[]},{"label":"2025-10-28","value":0,"startTime":1761523200000,"endTime":1761609600000,"tweets":[]},{"label":"2025-10-29","value":0,"startTime":1761609600000,"endTime":1761696000000,"tweets":[]},{"label":"2025-10-30","value":0,"startTime":1761696000000,"endTime":1761782400000,"tweets":[]},{"label":"2025-10-31","value":29800,"startTime":1761782400000,"endTime":1761868800000,"tweets":[{"bookmarked":false,"display_text_range":[0,152],"entities":{"hashtags":[],"media":[{"display_url":"pic.x.com/gznhpr1ozz","expanded_url":"https://x.com/hemashushu/status/1983873764501909646/photo/1","id_str":"1983869845902082048","indices":[153,176],"media_key":"3_1983869845902082048","media_url_https":"https://pbs.twimg.com/media/G4gfHSWaQAAaz8_.jpg","type":"photo","url":"https://t.co/gznhpr1ozz","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":1152,"w":2048,"resize":"fit"},"medium":{"h":675,"w":1200,"resize":"fit"},"small":{"h":383,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":2160,"width":3840,"focus_rects":[{"x":0,"y":10,"w":3840,"h":2150},{"x":1128,"y":0,"w":2160,"h":2160},{"x":1261,"y":0,"w":1895,"h":2160},{"x":1668,"y":0,"w":1080,"h":2160},{"x":0,"y":0,"w":3840,"h":2160}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1983869845902082048"}}}],"symbols":[],"timestamps":[],"urls":[{"display_url":"github.com/graphitemaster…","expanded_url":"https://github.com/graphitemaster/detour","url":"https://t.co/ZGhW4qx8uB","indices":[113,136]}],"user_mentions":[]},"extended_entities":{"media":[{"display_url":"pic.x.com/gznhpr1ozz","expanded_url":"https://x.com/hemashushu/status/1983873764501909646/photo/1","id_str":"1983869845902082048","indices":[153,176],"media_key":"3_1983869845902082048","media_url_https":"https://pbs.twimg.com/media/G4gfHSWaQAAaz8_.jpg","type":"photo","url":"https://t.co/gznhpr1ozz","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":1152,"w":2048,"resize":"fit"},"medium":{"h":675,"w":1200,"resize":"fit"},"small":{"h":383,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":2160,"width":3840,"focus_rects":[{"x":0,"y":10,"w":3840,"h":2150},{"x":1128,"y":0,"w":2160,"h":2160},{"x":1261,"y":0,"w":1895,"h":2160},{"x":1668,"y":0,"w":1080,"h":2160},{"x":0,"y":0,"w":3840,"h":2160}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1983869845902082048"}}}]},"favorited":false,"lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1983873764501909646","view_count":25494,"bookmark_count":190,"created_at":1761827338000,"favorite_count":153,"quote_count":2,"reply_count":12,"retweet_count":35,"user_id_str":"152682525","conversation_id_str":"1983873764501909646","full_text":"优雅!巧妙!\n\n我之前也想了很久如何实现:在静态链接的程序里调用动态链接库的函数。\n\n之所以有这样的想法是想让程序尽可能减少库依赖,但诸如GPU驱动、GTK/Webkit 等库显然没法将它们通通做静态链接。\n\n然后这个项目 (https://t.co/ZGhW4qx8uB) 用了一个很巧妙的方法实现了。 https://t.co/gznhpr1ozz","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,175],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[{"display_url":"ld-linux.so","expanded_url":"http://ld-linux.so","url":"https://t.co/p3peuRINDs","indices":[15,38]}],"user_mentions":[]},"favorited":false,"in_reply_to_screen_name":"hemashushu","lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1983873768851435540","view_count":996,"bookmark_count":1,"created_at":1761827339000,"favorite_count":6,"quote_count":0,"reply_count":1,"retweet_count":1,"user_id_str":"152682525","conversation_id_str":"1983873764501909646","full_text":"简单来说,主程序一开始就加载 https://t.co/p3peuRINDs(该库是静态链接的),然后多准备了一个只有 main 函数的副程序,让 ld-linux 加载这个副程序,main 函数的作用是获取 dlopen/dlsym 等 dl* 函数的地址,然后返回到主程序。如此一来主程序就可以使用 dl* 等动态加载函数了。\n\n只所以要这么绕…","in_reply_to_user_id_str":"152682525","in_reply_to_status_id_str":"1983873764501909646","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,159],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[]},"favorited":false,"in_reply_to_screen_name":"hemashushu","lang":"zh","retweeted":false,"fact_check":null,"id":"1983873771292520716","view_count":1342,"bookmark_count":1,"created_at":1761827340000,"favorite_count":4,"quote_count":0,"reply_count":2,"retweet_count":0,"user_id_str":"152682525","conversation_id_str":"1983873764501909646","full_text":"这么绕的原因是你无法直接将动态链接库(/usr/lib/*.so)加载到内存,然后通过寻找函数地址的方式来调用其中的函数。\n\n因为这些库在设计上实际上都是由 ld-linux 加载的,加载器会做很多初始化工作,如加载依赖的依赖,它其实就是一个 runtime,所以函数自然没法在缺少 runtime 的情况下正常运行。","in_reply_to_user_id_str":"152682525","in_reply_to_status_id_str":"1983873768851435540","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,144],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[]},"favorited":false,"in_reply_to_screen_name":"hemashushu","lang":"zh","retweeted":false,"fact_check":null,"id":"1983873774325002619","view_count":1228,"bookmark_count":0,"created_at":1761827341000,"favorite_count":3,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"152682525","conversation_id_str":"1983873764501909646","full_text":"当然这个方法要求主程序在运行中“静悄悄地”释放一个可执行程序,也不算非常优雅,但确实是最简单且可行的方法。\n\n早前我还想过能不能在程序里嵌入一个动态加载器(即类似ld-linux的角色),如果目标动态库没有再依赖其他库,倒是可行,但这样通用性就大打折扣了,就不知道还有没其他优雅的方法……","in_reply_to_user_id_str":"152682525","in_reply_to_status_id_str":"1983873771292520716","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[12,164],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"7755562","name":"AlexZ 🦀","screen_name":"blackanger","indices":[0,11]}]},"favorited":false,"in_reply_to_screen_name":"blackanger","lang":"zh","retweeted":false,"fact_check":null,"id":"1983896092384358614","view_count":740,"bookmark_count":0,"created_at":1761832662000,"favorite_count":1,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"152682525","conversation_id_str":"1983873764501909646","full_text":"@blackanger 理论上是可以把glibc或者musl的动态链接器包含在主程序里,但比较稳健的做法还是使用当前系统的链接器,毕竟不确定最终运行环境的是哪一个以及版本是什么,不同加载器和版本不太通用(用 musl 加载器加载基于 glibc 的共享库好像会出错)话说我挺强烈赞成全部用rust重写的,真受够这些部署的依赖问题","in_reply_to_user_id_str":"7755562","in_reply_to_status_id_str":"1983891975930810774","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-01","value":4407,"startTime":1761868800000,"endTime":1761955200000,"tweets":[{"bookmarked":false,"display_text_range":[0,159],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[{"display_url":"emily.space/posts/251023-uv","expanded_url":"https://emily.space/posts/251023-uv","url":"https://t.co/dKaV5ByaGf","indices":[136,159]}],"user_mentions":[]},"favorited":false,"lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1984141269581602873","view_count":4318,"bookmark_count":34,"created_at":1761891116000,"favorite_count":36,"quote_count":0,"reply_count":6,"retweet_count":2,"user_id_str":"152682525","conversation_id_str":"1984141269581602873","full_text":"近一两年工具方面让我印象比较深刻的有pnpm和uv。\n\n这两者较相似,都是在一大堆莫名奇妙的前任们肆虐开发者身心几年后,终于冒出比较正常的包管理器。\n\n其中uv更为深刻,虽说用rust编写生成的代码不会变快但利用了可靠的并行方法让程序整体效率的确有显著的提升,很有启发。 https://t.co/dKaV5ByaGf","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[12,33],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"743651613848408064","name":"yuahuua","screen_name":"yuahualove","indices":[0,11]}]},"favorited":false,"in_reply_to_screen_name":"yuahualove","lang":"zh","retweeted":false,"fact_check":null,"id":"1984183703023824987","view_count":89,"bookmark_count":0,"created_at":1761901233000,"favorite_count":1,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"152682525","conversation_id_str":"1983873764501909646","full_text":"@yuahualove 让程序变成 portable (绿色软件)","in_reply_to_user_id_str":"743651613848408064","in_reply_to_status_id_str":"1984178808350761222","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-02","value":0,"startTime":1761955200000,"endTime":1762041600000,"tweets":[]},{"label":"2025-11-03","value":0,"startTime":1762041600000,"endTime":1762128000000,"tweets":[]},{"label":"2025-11-04","value":0,"startTime":1762128000000,"endTime":1762214400000,"tweets":[]},{"label":"2025-11-05","value":0,"startTime":1762214400000,"endTime":1762300800000,"tweets":[]},{"label":"2025-11-06","value":0,"startTime":1762300800000,"endTime":1762387200000,"tweets":[]},{"label":"2025-11-07","value":0,"startTime":1762387200000,"endTime":1762473600000,"tweets":[]},{"label":"2025-11-08","value":0,"startTime":1762473600000,"endTime":1762560000000,"tweets":[]},{"label":"2025-11-09","value":0,"startTime":1762560000000,"endTime":1762646400000,"tweets":[]},{"label":"2025-11-10","value":0,"startTime":1762646400000,"endTime":1762732800000,"tweets":[]},{"label":"2025-11-11","value":98984,"startTime":1762732800000,"endTime":1762819200000,"tweets":[{"bookmarked":false,"display_text_range":[0,177],"entities":{"hashtags":[],"media":[{"display_url":"pic.x.com/y7mQaYxAcO","expanded_url":"https://x.com/hemashushu/status/1987684873579229366/photo/1","id_str":"1987684496427331584","indices":[178,201],"media_key":"3_1987684496427331584","media_url_https":"https://pbs.twimg.com/media/G5WshK8aMAAkKjq.jpg","type":"photo","url":"https://t.co/y7mQaYxAcO","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":2048,"w":605,"resize":"fit"},"medium":{"h":1200,"w":354,"resize":"fit"},"small":{"h":680,"w":201,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":4096,"width":1209,"focus_rects":[{"x":0,"y":2017,"w":1209,"h":677},{"x":0,"y":1751,"w":1209,"h":1209},{"x":0,"y":1666,"w":1209,"h":1378},{"x":0,"y":1146,"w":1209,"h":2418},{"x":0,"y":0,"w":1209,"h":4096}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1987684496427331584"}}},{"display_url":"pic.x.com/y7mQaYxAcO","expanded_url":"https://x.com/hemashushu/status/1987684873579229366/photo/1","id_str":"1987684745992691712","indices":[178,201],"media_key":"3_1987684745992691712","media_url_https":"https://pbs.twimg.com/media/G5WsvspbYAAVTFM.jpg","type":"photo","url":"https://t.co/y7mQaYxAcO","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":864,"w":1493,"resize":"fit"},"medium":{"h":694,"w":1200,"resize":"fit"},"small":{"h":394,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":864,"width":1493,"focus_rects":[{"x":0,"y":0,"w":1493,"h":836},{"x":0,"y":0,"w":864,"h":864},{"x":0,"y":0,"w":758,"h":864},{"x":45,"y":0,"w":432,"h":864},{"x":0,"y":0,"w":1493,"h":864}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1987684745992691712"}}}],"symbols":[],"timestamps":[],"urls":[{"display_url":"build-your-own.org/redis/","expanded_url":"https://build-your-own.org/redis/","url":"https://t.co/6mVtSlCXnB","indices":[154,177]}],"user_mentions":[]},"extended_entities":{"media":[{"display_url":"pic.x.com/y7mQaYxAcO","expanded_url":"https://x.com/hemashushu/status/1987684873579229366/photo/1","id_str":"1987684496427331584","indices":[178,201],"media_key":"3_1987684496427331584","media_url_https":"https://pbs.twimg.com/media/G5WshK8aMAAkKjq.jpg","type":"photo","url":"https://t.co/y7mQaYxAcO","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":2048,"w":605,"resize":"fit"},"medium":{"h":1200,"w":354,"resize":"fit"},"small":{"h":680,"w":201,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":4096,"width":1209,"focus_rects":[{"x":0,"y":2017,"w":1209,"h":677},{"x":0,"y":1751,"w":1209,"h":1209},{"x":0,"y":1666,"w":1209,"h":1378},{"x":0,"y":1146,"w":1209,"h":2418},{"x":0,"y":0,"w":1209,"h":4096}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1987684496427331584"}}},{"display_url":"pic.x.com/y7mQaYxAcO","expanded_url":"https://x.com/hemashushu/status/1987684873579229366/photo/1","id_str":"1987684745992691712","indices":[178,201],"media_key":"3_1987684745992691712","media_url_https":"https://pbs.twimg.com/media/G5WsvspbYAAVTFM.jpg","type":"photo","url":"https://t.co/y7mQaYxAcO","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":864,"w":1493,"resize":"fit"},"medium":{"h":694,"w":1200,"resize":"fit"},"small":{"h":394,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":864,"width":1493,"focus_rects":[{"x":0,"y":0,"w":1493,"h":836},{"x":0,"y":0,"w":864,"h":864},{"x":0,"y":0,"w":758,"h":864},{"x":45,"y":0,"w":432,"h":864},{"x":0,"y":0,"w":1493,"h":864}]},"allow_download_status":{"allow_download":true},"media_results":{"result":{"media_key":"3_1987684745992691712"}}}]},"favorited":false,"lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1987684873579229366","view_count":57766,"bookmark_count":855,"created_at":1762735977000,"favorite_count":721,"quote_count":4,"reply_count":9,"retweet_count":155,"user_id_str":"152682525","conversation_id_str":"1987684873579229366","full_text":"分享一个非常适合入门 Linux 编程的教程《Build Your Own Redis with C/C++》\n\n这个教程的特点是将知识点讲得非常细致,生怕你看不懂,同时循序渐进地展开怕你中途放弃。从 socket/tcp 开始,讲到并发(异步)、散列表、序列化、快取等,可谓非常全面,非常适合用来练手。\n\nhttps://t.co/6mVtSlCXnB https://t.co/y7mQaYxAcO","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,152],"entities":{"hashtags":[],"media":[{"display_url":"pic.x.com/8NN4CZ3f2L","expanded_url":"https://x.com/hemashushu/status/1987681953987043411/video/1","id_str":"1987681362309246976","indices":[153,176],"media_key":"13_1987681362309246976","media_url_https":"https://pbs.twimg.com/amplify_video_thumb/1987681362309246976/img/gSvi_xou6TJZeUVR.jpg","type":"video","url":"https://t.co/8NN4CZ3f2L","additional_media_info":{"monetizable":false},"ext_media_availability":{"status":"Available"},"sizes":{"large":{"h":1080,"w":1920,"resize":"fit"},"medium":{"h":675,"w":1200,"resize":"fit"},"small":{"h":383,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":1080,"width":1920,"focus_rects":[]},"allow_download_status":{"allow_download":true},"video_info":{"aspect_ratio":[16,9],"duration_millis":16850,"variants":[{"content_type":"application/x-mpegURL","url":"https://video.twimg.com/amplify_video/1987681362309246976/pl/TvNA8h0a0DqA8eDM.m3u8?tag=14&v=cfc"},{"bitrate":288000,"content_type":"video/mp4","url":"https://video.twimg.com/amplify_video/1987681362309246976/vid/avc1/480x270/K2DQ8S2rEBIY3VDF.mp4?tag=14"},{"bitrate":832000,"content_type":"video/mp4","url":"https://video.twimg.com/amplify_video/1987681362309246976/vid/avc1/640x360/4WXmaHbeJOzC5BAY.mp4?tag=14"},{"bitrate":2176000,"content_type":"video/mp4","url":"https://video.twimg.com/amplify_video/1987681362309246976/vid/avc1/1280x720/Us1JABpY7xYFag_Q.mp4?tag=14"}]},"media_results":{"result":{"media_key":"13_1987681362309246976"}}}],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[]},"extended_entities":{"media":[{"display_url":"pic.x.com/8NN4CZ3f2L","expanded_url":"https://x.com/hemashushu/status/1987681953987043411/video/1","id_str":"1987681362309246976","indices":[153,176],"media_key":"13_1987681362309246976","media_url_https":"https://pbs.twimg.com/amplify_video_thumb/1987681362309246976/img/gSvi_xou6TJZeUVR.jpg","type":"video","url":"https://t.co/8NN4CZ3f2L","additional_media_info":{"monetizable":false},"ext_media_availability":{"status":"Available"},"sizes":{"large":{"h":1080,"w":1920,"resize":"fit"},"medium":{"h":675,"w":1200,"resize":"fit"},"small":{"h":383,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":1080,"width":1920,"focus_rects":[]},"allow_download_status":{"allow_download":true},"video_info":{"aspect_ratio":[16,9],"duration_millis":16850,"variants":[{"content_type":"application/x-mpegURL","url":"https://video.twimg.com/amplify_video/1987681362309246976/pl/TvNA8h0a0DqA8eDM.m3u8?tag=14&v=cfc"},{"bitrate":288000,"content_type":"video/mp4","url":"https://video.twimg.com/amplify_video/1987681362309246976/vid/avc1/480x270/K2DQ8S2rEBIY3VDF.mp4?tag=14"},{"bitrate":832000,"content_type":"video/mp4","url":"https://video.twimg.com/amplify_video/1987681362309246976/vid/avc1/640x360/4WXmaHbeJOzC5BAY.mp4?tag=14"},{"bitrate":2176000,"content_type":"video/mp4","url":"https://video.twimg.com/amplify_video/1987681362309246976/vid/avc1/1280x720/Us1JABpY7xYFag_Q.mp4?tag=14"}]},"media_results":{"result":{"media_key":"13_1987681362309246976"}}}]},"favorited":false,"lang":"zh","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1987681953987043411","view_count":41218,"bookmark_count":52,"created_at":1762735281000,"favorite_count":117,"quote_count":3,"reply_count":24,"retweet_count":8,"user_id_str":"152682525","conversation_id_str":"1987681953987043411","full_text":"刚看到一个视频,博主用切换窗口动画的流畅度来判断操作系统的强弱。\n\n其实我觉得linux桌面的动画一直还不错哈,早期是ubuntu8.04还是更早版本记得不太清楚,桌面动画非常夸张,后来倒是逐渐朴素。\n\n视频是我尝试弹射read-it-later浏览器窗口,可能是因为本地录频有点掉帧,实际动画很流畅的。 https://t.co/8NN4CZ3f2L","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-12","value":167,"startTime":1762819200000,"endTime":1762905600000,"tweets":[{"bookmarked":false,"display_text_range":[11,87],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"4375814952","name":"Tit1e","screen_name":"evollyone","indices":[0,10]}]},"favorited":false,"in_reply_to_screen_name":"evollyone","lang":"zh","retweeted":false,"fact_check":null,"id":"1988072941205287050","view_count":167,"bookmark_count":0,"created_at":1762828500000,"favorite_count":1,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"152682525","conversation_id_str":"1987757085795455282","full_text":"@evollyone 是的,高速滚动的画面遇到尽头突然停止,在视觉上是有一点“心理膈应”的感觉,使用“回弹”来解决其实挺巧妙的,后来android用“拉伸”来解决好像也不错。","in_reply_to_user_id_str":"4375814952","in_reply_to_status_id_str":"1987757085795455282","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-13","value":0,"startTime":1762905600000,"endTime":1762992000000,"tweets":[]},{"label":"2025-11-14","value":0,"startTime":1762992000000,"endTime":1763078400000,"tweets":[]},{"label":"2025-11-15","value":0,"startTime":1763078400000,"endTime":1763164800000,"tweets":[]},{"label":"2025-11-16","value":0,"startTime":1763164800000,"endTime":1763251200000,"tweets":[]},{"label":"2025-11-17","value":0,"startTime":1763251200000,"endTime":1763337600000,"tweets":[]},{"label":"2025-11-18","value":0,"startTime":1763337600000,"endTime":1763424000000,"tweets":[]},{"label":"2025-11-19","value":0,"startTime":1763424000000,"endTime":1763510400000,"tweets":[]},{"label":"2025-11-20","value":0,"startTime":1763510400000,"endTime":1763596800000,"tweets":[]},{"label":"2025-11-21","value":0,"startTime":1763596800000,"endTime":1763683200000,"tweets":[]}]},"interactions":{"users":[{"created_at":1257907233000,"uid":"89087981","id":"89087981","screen_name":"vireriver","name":"情绪价值","friends_count":1133,"followers_count":108,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1928514401897951239/emhyHJdT_normal.jpg","description":"解决问题才是最牛逼的情绪价值。\n但大多数人并不准备解决问题,他们只需要安慰、 同情和接纳——这类很低端的情绪价值。","entities":{"description":{"urls":[]}},"interactions":1},{"created_at":1487078900000,"uid":"831495289441628160","id":"831495289441628160","screen_name":"changwei1006","name":"Chang Wei 昌维","friends_count":4909,"followers_count":18470,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1154149299820748800/AfDMcaKi_normal.jpg","description":"PhD student, Dept of Adult & Continuing Education, National Taiwan Normal University.\nFormerly studied ECE & CSIE.\nInterned at @PingCAP & @RisingWaveLabs as FE.","entities":{"description":{"urls":[]},"url":{"urls":[{"display_url":"changwei.me","expanded_url":"https://www.changwei.me","url":"https://t.co/d6BXAYKIG3","indices":[0,23]}]}},"interactions":1},{"created_at":1335953495000,"uid":"569062086","id":"569062086","screen_name":"quanruzhuoxiu","name":"Leyang","friends_count":504,"followers_count":1408,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1968902518790045697/O2EaIUiR_normal.jpg","description":"Web Infra@Bytedance. Prev: DiDi.","entities":{"description":{"urls":[]},"url":{"urls":[{"display_url":"lifeos.vip","expanded_url":"https://lifeos.vip","url":"https://t.co/cPdWHvmrUQ","indices":[0,23]}]}},"interactions":1},{"created_at":1319950472000,"uid":"401169849","id":"401169849","screen_name":"S3condhandLif3","name":"h40","friends_count":824,"followers_count":315,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1513398083215896577/Dm9FwDCg_normal.jpg","description":"多少男人因为没钱错过了真爱","entities":{"description":{"urls":[]}},"interactions":1},{"created_at":1319778095000,"uid":"399869367","id":"399869367","screen_name":"QiCloudage","name":"Qi ✞","friends_count":246,"followers_count":132,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1787484228600709120/o46VviMx_normal.jpg","description":"A veteran API invoker, an expert of code copying & pasting.","entities":{"description":{"urls":[]}},"interactions":1},{"created_at":1234439158000,"uid":"20670891","id":"20670891","screen_name":"Oceanic24D","name":"大洋航空","friends_count":94,"followers_count":179,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1759784704193204224/fvRORyOh_normal.jpg","description":"至今还在岛上。\n\n好消息:我航司今天第二件行李半价。\n\n古法编程 CURD 爱好者","entities":{"description":{"urls":[]}},"interactions":1},{"created_at":1685294553000,"uid":"1662871897309347842","id":"1662871897309347842","screen_name":"ForsakenDreamm","name":"然然然","friends_count":765,"followers_count":468,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1952549718510493696/5TpjMYpV_normal.jpg","description":"小米和华为的唯一区别就是名字叫小米","entities":{"description":{"urls":[]}},"interactions":1},{"created_at":1649302816000,"uid":"1511911668854321158","id":"1511911668854321158","screen_name":"may_existed","name":"哦落落","friends_count":63,"followers_count":76,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1910526663886290944/AA_eHr9i_normal.jpg","description":"","entities":{"description":{"urls":[]}},"interactions":1},{"created_at":1272115811000,"uid":"136631870","id":"136631870","screen_name":"justtwwit","name":"Janx","friends_count":518,"followers_count":84,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1906154966676545536/TbON9yTS_normal.jpg","description":"Don’t panic","entities":{"description":{"urls":[]},"url":{"urls":[{"display_url":"twitter.com/#!/janx","expanded_url":"https://twitter.com/#!/janx","url":"https://t.co/mrU4JlkCEH","indices":[0,23]}]}},"interactions":1},{"created_at":1566490005000,"uid":"1164569032323768320","id":"1164569032323768320","screen_name":"a995b305d8df67f","name":"123","friends_count":348,"followers_count":91,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1841159136186351616/GNW-bzfW_normal.jpg","description":"翻墙爱国蛆是推特上最下贱的东西","entities":{"description":{"urls":[]}},"interactions":1}],"period":14,"start":1762407275433,"end":1763616875433}}},"settings":{},"session":null,"routeProps":{"/creators/:username":{}}}