diff --git a/.github/workflows/jekyll.yml b/.github/workflows/jekyll.yml new file mode 100644 index 00000000..61cb2f07 --- /dev/null +++ b/.github/workflows/jekyll.yml @@ -0,0 +1,64 @@ +# This workflow uses actions that are not certified by GitHub. +# They are provided by a third-party and are governed by +# separate terms of service, privacy policy, and support +# documentation. + +# Sample workflow for building and deploying a Jekyll site to GitHub Pages +name: Deploy Jekyll site to Pages + +on: + # Runs on pushes targeting the default branch + push: + branches: ["master"] + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages +permissions: + contents: read + pages: write + id-token: write + +# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. +# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. +concurrency: + group: "pages" + cancel-in-progress: false + +jobs: + # Build job + build: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Setup Ruby + uses: ruby/setup-ruby@8575951200e472d5f2d95c625da0c7bec8217c42 # v1.161.0 + with: + ruby-version: '3.1' # Not needed with a .ruby-version file + bundler-cache: true # runs 'bundle install' and caches installed gems automatically + cache-version: 0 # Increment this number if you need to re-download cached gems + - name: Setup Pages + id: pages + uses: actions/configure-pages@v4 + - name: Build with Jekyll + # Outputs to the './_site' directory by default + run: bundle exec jekyll build --baseurl "${{ steps.pages.outputs.base_path }}" + env: + JEKYLL_ENV: production + - name: Upload artifact + # Automatically uploads an artifact from the './_site' directory by default + uses: actions/upload-pages-artifact@v3 + + # Deployment job + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + needs: build + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 diff --git a/Gemfile b/Gemfile index 8532205c..da760df5 100644 --- a/Gemfile +++ b/Gemfile @@ -1,6 +1,7 @@ source "https://rubygems.org" -gem 'jekyll' +gem "jekyll" gem 'jekyll-paginate' gem 'jekyll-sitemap' gem "jekyll-pdf-embed" +gem 'jekyll-feed' diff --git a/Gemfile.lock b/Gemfile.lock index 7503df5e..232500a4 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,22 +1,26 @@ GEM remote: https://rubygems.org/ specs: - addressable (2.8.4) + addressable (2.8.6) public_suffix (>= 2.0.2, < 6.0) colorator (1.1.0) - concurrent-ruby (1.2.2) + concurrent-ruby (1.2.3) em-websocket (0.5.3) eventmachine (>= 0.12.9) http_parser.rb (~> 0) eventmachine (1.2.7) - ffi (1.15.5) + ffi (1.16.3) forwardable-extended (2.6.0) - google-protobuf (3.23.4-arm64-darwin) - google-protobuf (3.23.4-x86_64-darwin) + google-protobuf (3.25.2) + google-protobuf (3.25.2-aarch64-linux) + google-protobuf (3.25.2-arm64-darwin) + google-protobuf (3.25.2-x86-linux) + google-protobuf (3.25.2-x86_64-darwin) + google-protobuf (3.25.2-x86_64-linux) http_parser.rb (0.8.0) i18n (1.14.1) concurrent-ruby (~> 1.0) - jekyll (4.3.2) + jekyll (4.3.3) addressable (~> 2.4) colorator (~> 1.0) em-websocket (~> 0.5) @@ -32,6 +36,8 @@ GEM safe_yaml (~> 1.0) terminal-table (>= 1.8, < 4.0) webrick (~> 1.7) + jekyll-feed (0.17.0) + jekyll (>= 3.7, < 5.0) jekyll-paginate (1.1.0) jekyll-pdf-embed (1.1.3) jekyll @@ -52,31 +58,71 @@ GEM mercenary (0.4.0) pathutil (0.16.2) forwardable-extended (~> 2.6) - public_suffix (5.0.3) + public_suffix (5.0.4) rb-fsevent (0.11.2) rb-inotify (0.10.1) ffi (~> 1.0) rexml (3.2.6) - rouge (4.1.3) + rouge (4.2.0) safe_yaml (1.0.5) - sass-embedded (1.64.2-arm64-darwin) - google-protobuf (~> 3.23) - sass-embedded (1.64.2-x86_64-darwin) - google-protobuf (~> 3.23) + sass-embedded (1.70.0-aarch64-linux-android) + google-protobuf (~> 3.25) + sass-embedded (1.70.0-aarch64-linux-gnu) + google-protobuf (~> 3.25) + sass-embedded (1.70.0-aarch64-linux-musl) + google-protobuf (~> 3.25) + sass-embedded (1.70.0-arm-linux-androideabi) + google-protobuf (~> 3.25) + sass-embedded (1.70.0-arm-linux-gnueabihf) + google-protobuf (~> 3.25) + sass-embedded (1.70.0-arm-linux-musleabihf) + google-protobuf (~> 3.25) + sass-embedded (1.70.0-arm64-darwin) + google-protobuf (~> 3.25) + sass-embedded (1.70.0-x86-linux-android) + google-protobuf (~> 3.25) + sass-embedded (1.70.0-x86-linux-gnu) + google-protobuf (~> 3.25) + sass-embedded (1.70.0-x86-linux-musl) + google-protobuf (~> 3.25) + sass-embedded (1.70.0-x86_64-darwin) + google-protobuf (~> 3.25) + sass-embedded (1.70.0-x86_64-linux-android) + google-protobuf (~> 3.25) + sass-embedded (1.70.0-x86_64-linux-gnu) + google-protobuf (~> 3.25) + sass-embedded (1.70.0-x86_64-linux-musl) + google-protobuf (~> 3.25) terminal-table (3.0.2) unicode-display_width (>= 1.1.1, < 3) - unicode-display_width (2.4.2) + unicode-display_width (2.5.0) webrick (1.8.1) PLATFORMS - arm64-darwin-22 - x86_64-darwin-21 + aarch64-linux + aarch64-linux-android + aarch64-linux-gnu + aarch64-linux-musl + arm-linux-androideabi + arm-linux-gnueabihf + arm-linux-musleabihf + arm64-darwin + x86-linux + x86-linux-android + x86-linux-gnu + x86-linux-musl + x86_64-darwin + x86_64-linux + x86_64-linux-android + x86_64-linux-gnu + x86_64-linux-musl DEPENDENCIES jekyll + jekyll-feed jekyll-paginate jekyll-pdf-embed jekyll-sitemap BUNDLED WITH - 2.3.15 + 2.5.6 diff --git a/_config.yml b/_config.yml index b4630071..e7c8b321 100644 --- a/_config.yml +++ b/_config.yml @@ -1,59 +1,71 @@ -title: Tw93 -description: "Hi,我是 Tw93,是一个前端工程师,会一点 Swift / Rust / Python,喜欢折腾各种新技术。" +# Site Information +title: Tw93 +description: "一个喜欢开源和折腾的工程师" +url: https://tw93.fun +repo: tw93/tw93.github.io +lang: zh-CN +timezone: Africa/El_Aaiun +# Social Media and External URLs github: tw93 zhihu: tw93 twitter: HiTw93 v2ex: tw93 - -url: https://tw93.fun menu: - - title: 'Categories' - url: '/categories.html' - - title: 'About' - url: '/about' - - title: 'Weekly' - url: 'https://weekly.tw93.fun/' - - title: 'Github' - url: 'https://github.com/tw93' - - title: 'RSS' - url: '/feed.xml' - -timezone: Africa/El_Aaiun -locale: zh_CN -lang: zh-cmn-Hans -future: true -highlighter: rouge -markdown: kramdown -sass: - sass_dir: _sass - style: compressed - -permalink: /:year-:month-:day/:title.html -assetUrl: //tw93.fun/images/ -defaultImage: data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== + - title: "Categories" + url: "/categories.html" + - title: "About" + url: "/about.html" + - title: "Weekly" + url: "https://weekly.tw93.fun/" -google_analytics: UA-57207999-1 -baidu_verify: kxGpkpWG7G -google_verify: DbapjTyfmMvvmkuA1GiGcXMqgPQrtgxeUTGY-MrEOYw +# SEO and Analytics +google_analytics: G-KS7EDB6BRM +# Build Settings paginate: 10 post_ext: md page_ext: md post_layout: post page_layout: page titlecase: true +future: true +highlighter: rouge +markdown: kramdown +permalink: /:year-:month-:day/:title.html +sass: + sass_dir: _sass + style: compressed -showBuyCoffee: true -payImage: //gw.alipayobjects.com/zos/k/vb/1.png +collections: + posts: + output: true + permalink: /:year-:month-:day/:title.html + posts_en: + output: true + permalink: /en/:year-:month-:day/:title.html + sort_by: date include: [".htaccess"] -exclude: ["Gemfile", "Gemfile.lock", "README.md", "LICENSE", "package.json","node_modules"] -gems: - - jekyll-paginate - - jekyll-sitemap - - jekyll-feed +exclude: + [ + "Gemfile", + "Gemfile.lock", + "README.md", + "LICENSE", + "package.json", + "node_modules", + ] +# Plugins plugins: - jekyll-paginate - jekyll-pdf-embed + - jekyll-sitemap + - jekyll-feed + +# Custom Site Settings +showBuyCoffee: true +payImage: //gw.alipayobjects.com/zos/k/vb/1.png +assetUrl: //tw93.fun/images/ +defaultImage: data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== diff --git a/_includes/buy-me-coffee.html b/_includes/buy-me-coffee.html index 437f935b..5ffce3a9 100644 --- a/_includes/buy-me-coffee.html +++ b/_includes/buy-me-coffee.html @@ -1,10 +1,12 @@ {% if site.showBuyCoffee != false %}
- 喜欢文章 → 去喂猫❤️ + + {% if page.lang == 'en-US' %} + Like the article ❤️ + {% else %} + 给汤圆可乐喂罐头❤️ + {% endif %} + +
{% endif %} diff --git a/_includes/footer.html b/_includes/footer.html index e234e223..2aa24e4d 100644 --- a/_includes/footer.html +++ b/_includes/footer.html @@ -1,44 +1,41 @@ - + {% if site.google_analytics %} - + {% endif %} {% if page.url=="/" %} diff --git a/_includes/giscus.html b/_includes/giscus.html index 569bff4d..35632018 100644 --- a/_includes/giscus.html +++ b/_includes/giscus.html @@ -2,17 +2,18 @@
diff --git a/_includes/head.html b/_includes/head.html index f03eb239..131a45c3 100644 --- a/_includes/head.html +++ b/_includes/head.html @@ -1,75 +1,60 @@ - {% if page.layout =='post' or page.hideHomeActive or page.is404 %}{{ page.title }} - {% endif %}{{ site.title }} - + {% if page.layout == 'post' or page.hideHomeActive or page.is404 %}{{ page.title }} - {% endif %}{{ site.title }} + {% if page.tags %} {% endif %} - + + - - + + - + - - - -{% if page.layout == "post" %} - - - - - -{% if page.feature %} - - -{% else %} - - -{% endif %} -{% endif %} - - {% if site.baidu_verify %} - - {% endif %} - - {% if site.google_verify %} - - {% endif %} - {% if page.feature %} {% else %} - + {% endif %} + + {% if page.layout == "post" %} + + + + + + + + {% endif %} - {% capture canonical %}{{ site.url }}{% if site.permalink contains '.html' %}{{ page.url }}{% else %}{{ page.url | - remove:'index.html' | strip_slash }}{% endif %}{% endcapture %} + + {% capture canonical %}{{ site.url }}{% if site.permalink contains '.html' %}{{ page.url }}{% else %}{{ page.url | remove: 'index.html' | strip_slash }}{% endif %}{% endcapture %} - - - - - - + + - - - + {% if page.lang == 'en-US' %} + + {% endif %} {% if page.layout == "post" %} {% endif %} + + + + + + + + + diff --git a/_includes/header.html b/_includes/header.html index 86b67736..e8231c79 100644 --- a/_includes/header.html +++ b/_includes/header.html @@ -1,8 +1,3 @@ - - {% assign homeActive = 'active' %} {% if page.hideHomeActive %} {% assign homeActive = nil %} @@ -10,10 +5,21 @@
+{% assign fontSize = 36 %} +{% if page.url contains '/en/' %} +{% assign fontSize = 34 %} +{% endif %}
- + - + - + {{ page.title }} diff --git a/_includes/pagination.html b/_includes/pagination.html index b77666a4..6d5c3530 100644 --- a/_includes/pagination.html +++ b/_includes/pagination.html @@ -4,9 +4,9 @@ {% comment %} Link for previous page {% endcomment %} {% if paginator.previous_page %} {% if paginator.previous_page == 1 %} -
  • Previous
  • +
  • <
  • {% else %} -
  • Previous
  • +
  • <
  • {% endif %} {% endif %} @@ -18,7 +18,7 @@ {% endif %} {% assign page_start = 2 %} - {% if paginator.page > 4 %} + {% if paginator.page > 5 %} {% assign page_start = paginator.page | minus: 2 %} {% comment %} Ellipsis for truncated links {% endcomment %}
  • @@ -32,34 +32,26 @@ {% for index in (page_start..page_end) %} {% if index == paginator.page %} -
  • {{index}}
  • +
  • {{ index }}
  • {% else %} - {% comment %} Distance from current page and this link {% endcomment %} - {% assign dist = paginator.page | minus: index %} - {% if dist < 0 %} - {% comment %} Distance must be a positive value {% endcomment %} - {% assign dist = 0 | minus: dist %} - {% endif %} -
  • {{index}}
  • +
  • {{ index }}
  • {% endif %} {% endfor %} {% comment %} Ellipsis for truncated links {% endcomment %} - {% if pages_to_end > 3 %} + {% if pages_to_end > 4 %}
  • {% endif %} {% if paginator.page == paginator.total_pages %} -
  • {{ paginator.page }}
  • +
  • {{ paginator.total_pages }}
  • {% else %}
  • {{ paginator.total_pages }}
  • {% endif %} - {% comment %} - Link next page - {% endcomment %} + {% comment %} Link for next page {% endcomment %} {% if paginator.next_page %} -
  • Next
  • +
  • >
  • {% endif %}
    diff --git a/_includes/post-item.html b/_includes/post-item.html new file mode 100644 index 00000000..058f98d3 --- /dev/null +++ b/_includes/post-item.html @@ -0,0 +1,12 @@ +{% for post in include.posts %} + {% if post.hide != true %} + + {% endif %} +{% endfor %} diff --git a/_includes/ppt-footer.html b/_includes/ppt-footer.html index 22258828..543c0bfd 100644 --- a/_includes/ppt-footer.html +++ b/_includes/ppt-footer.html @@ -18,7 +18,7 @@ }, }); - function changeAspect() { + function changeAspect () { //缩放控制 const defaultAspect = 1536 / 960; const innerHeight = window.innerHeight; diff --git a/_includes/ppt-head.html b/_includes/ppt-head.html index 0a4500a8..baa96620 100644 --- a/_includes/ppt-head.html +++ b/_includes/ppt-head.html @@ -1,12 +1,6 @@ - + - + {{ page.title }} - diff --git a/_includes/read-more.html b/_includes/read-more.html index 4da52e81..65af6204 100644 --- a/_includes/read-more.html +++ b/_includes/read-more.html @@ -1,7 +1,7 @@ {% if page.previous.url and site.related_posts.size > 0 and page.previous.hide !=true%}
    -
    Read More
    +
    Read More

    {{ page.previous.title}}

    diff --git a/_layouts/home.html b/_layouts/home.html index 2e826800..8d3f2c5a 100644 --- a/_layouts/home.html +++ b/_layouts/home.html @@ -1,11 +1,22 @@ - + {% include head.html %} + -{% include header.html %} -
    - {{ content }} -
    -{% include footer.html %} + {% include header.html %} +
    + {% if page.url contains '/en/' %} + + {% assign current_posts = site.posts_en | sort: 'date' | reverse %} + {% include post-item.html posts=current_posts %} + {% else %} + + {% include post-item.html posts=paginator.posts %} + {% include pagination.html %} + {% endif %} + {{ content }} +
    + {% include footer.html %} + diff --git a/_layouts/page.html b/_layouts/page.html index 5e48643d..5e385f92 100644 --- a/_layouts/page.html +++ b/_layouts/page.html @@ -1,16 +1,18 @@ - + {% include head.html %} + -{% include header.html %} -
    -
    -
    - {{ content }} -
    - {% include giscus.html %} -
    -
    -{% include footer.html %} + {% include header.html %} +
    +
    +
    + {{ content }} +
    + {% include giscus.html %} +
    +
    + {% include footer.html %} + diff --git a/_layouts/post.html b/_layouts/post.html index fd7ec488..4db5a206 100644 --- a/_layouts/post.html +++ b/_layouts/post.html @@ -1,26 +1,28 @@ - + {% include head.html %} + -{% include header.html %} -
    -
    -
    -

    {{ page.title }}

    -

    - Categories: {{page.categories}} - -
    -
    -
    -

    - {{ content }} - {% include buy-me-coffee.html %} -
    - {% include giscus.html %} - {% include read-more.html %} -
    -
    -{% include footer.html %} + {% include header.html %} +
    +
    +
    +

    {{ page.title }}

    +

    + Categories: {{page.categories}} + +
    +
    +
    +

    + {{ content | cdn_image_filter }} + {% include buy-me-coffee.html %} +
    + {% include giscus.html %} + {% include read-more.html %} +
    +
    + {% include footer.html %} + diff --git a/_layouts/ppt.html b/_layouts/ppt.html index 026bb2f6..8a4d8d7e 100644 --- a/_layouts/ppt.html +++ b/_layouts/ppt.html @@ -1,16 +1,18 @@ - - {% include head.html %} {% include ppt-head.html %} - -
    -
    -
    - -
    -
    +
    - {% include ppt-footer.html %} - +
    + {% include ppt-footer.html %} + + diff --git a/_plugins/cdn_image_filter.rb b/_plugins/cdn_image_filter.rb new file mode 100644 index 00000000..6ca6a408 --- /dev/null +++ b/_plugins/cdn_image_filter.rb @@ -0,0 +1,24 @@ +# Optimize the images of CDN using OSS rules, except for GIF and SVG images. +# Usage: {{ content | cdn_image_filter }} +module Jekyll + module CDNImageFilter + def cdn_image_filter(input) + input.gsub(/ + {:/nomarkdown} - 上述动画css3使用animation: rotate 0.2s linear infinite;实现: diff --git a/_posts/2016-09-20-generators-and-channels-in-javascript.md b/_posts/2016-09-20-generators-and-channels-in-javascript.md index e0a13dbd..e8b503bc 100644 --- a/_posts/2016-09-20-generators-and-channels-in-javascript.md +++ b/_posts/2016-09-20-generators-and-channels-in-javascript.md @@ -3,7 +3,7 @@ layout: post title: Generators and Channels in JavaScript date: 2016-09-20 21:47:29 summary: 以下这篇文章是对 Generator 和 Channel 的一个介绍,如果你对 Promise,Generator,Coroutine 和 Channel 有过了解,可以直接跳到 Using Generators and Channels with React 这部分,虽然接下来这些案例可能不是很适合真实的项目环境,但是它可以看成一个起点,尝试通过这种方法来实践可能出现的地方 ... -categories: Technology +categories: Study --- ![]({{ site.assetUrl }}1-smaK057Fp29kcTJPN5DdCg%20%281%29.png) diff --git a/_posts/2017-01-26-SVG.md b/_posts/2017-01-26-SVG.md index 5f409c60..97a412c0 100644 --- a/_posts/2017-01-26-SVG.md +++ b/_posts/2017-01-26-SVG.md @@ -3,7 +3,7 @@ layout: post title: SVG 新司机开车指南 date: 2017-01-26 16:00:00 summary: SVG 其相关特性远比想象中要强,本文首先介绍下SVG的相关定义、优缺点和 Demo,接下来会介绍它的相关语法和动画,最后告诉大家如何使用和优化 SVG。确保大家一小时内可以开车上路,来不及解释了,快上车 ... -categories: Technology +categories: Study --- ## TL,TR diff --git a/_posts/2017-04-21-web-and-cg.md b/_posts/2017-04-21-web-and-cg.md index 3dfc94ce..399688c9 100644 --- a/_posts/2017-04-21-web-and-cg.md +++ b/_posts/2017-04-21-web-and-cg.md @@ -3,7 +3,7 @@ layout: post title: Web 计算机图形学(上) date: 2017-04-21 16:00:00 summary: Web前端技术中和图形学挂钩的大致是 CSS3 的动画变换、SVG、Canvas、WebGL 这一些东西,但是前端工程师大多只停留在上层 API 操作方面,对于图形学的原理,譬如 GPU、三维空间、光照、纹理、层次模型可能不是很了解。在研究完 SVG 相关内容后,对底层的一些技术有一些兴趣,加上对这一块属于空白区,故花了几天时间对图形学基本进行学习,记录于此 ... -categories: Technology +categories: Study --- ## 序 diff --git a/_posts/2018-01-21-weex-conf-weex-ui.md b/_posts/2018-01-21-weex-conf-weex-ui.md index efb2b076..612811aa 100644 --- a/_posts/2018-01-21-weex-conf-weex-ui.md +++ b/_posts/2018-01-21-weex-conf-weex-ui.md @@ -43,7 +43,7 @@ Weex 其实很好的解决了上述的一些问题,包括在飞猪、手淘、 接下来我们可以从下面这个展示来看 Weex 和 H5 业务的一个展示、数据对比,详细可看此[录制视频>>>](https://gw.alipayobjects.com/os/rmsportal/FptvGkFpdBXRPtuNGMdk.mp4) - + 这是一个业务逻辑复杂的页面,包括筛选、排序、日历选择、收藏、长列表、业务逻辑也很复杂的页面,重构成 Weex 以后,我们**首屏可用时间降级 68%**、**Bundle 大小直接减少了 73%**,由于体验变好变快、让我们**页面转化率居然提升了 14.5%**。 @@ -88,7 +88,7 @@ Weex 并不是像外界某些人传言说没有什么公司在使用 Weex 的, 大家可以看下如下这几个场景的[视频展示>>>](https://gw.alipayobjects.com/os/rmsportal/SZwliPeMLRmyCyVvLYIp.mp4) - + 大家可能会觉得 Weex 不适合复杂的场景,其实也不一定,通过很多方式是可以做到复杂场景的支持,包括**双 11**超长列表滚动,30 多屏数据,快速滚动很顺滑。 @@ -156,13 +156,13 @@ Weex 并不是像外界某些人传言说没有什么公司在使用 Weex 的, 6、自动测试 Weex Ui,包括打开组件、点击交互逻辑 7、自动各个页面运行截图,并将测试情况邮件给测试方 - + #### Weex 无障碍优化 Weex 其实也是支持无障碍的,也即让盲人在最短的时间内通过最快的方式找到自己想要的信息。同时当盲人访问我们 Weex 页面时候,让他们对 Weex 是可感知的、可操作的、可理解的、同时页面也是鲁棒的。譬如如下这个[演示>>>](http://p.tb.cn/rmsportal_7819__E6_97_A0_E9_9A_9C_E7_A2_8D.mov): - + 无障碍在 Weex 实现起来是很简单的,譬如如下实现: diff --git a/_posts/2018-02-08-ios-1.md b/_posts/2018-02-08-ios-1.md index bcb0111f..734b5b38 100644 --- a/_posts/2018-02-08-ios-1.md +++ b/_posts/2018-02-08-ios-1.md @@ -3,7 +3,7 @@ layout: post title: 写给前端看的 iOS 梳理 (上) date: 2018-02-07 16:00:00 summary: 去年双十一为了排查一些 Weex 性能问题开始接触 iOS 相关学习,恰逢今年 1 月份开始慢慢参与 iOS 业务开发,借此机会整理一下 iOS 开发中的一些基础知识,用于备忘,同时旨在通过系列文章让前端同学在日后碰到 iOS 的代码可以看懂,方便更好的理解端上的一些原理。 -categories: Technology +categories: Study --- ![](https://img.alicdn.com/tfs/TB15vVXX7yWBuNjy0FpXXassXXa-4032-3024.jpg){:class="img-zoom"} diff --git a/_posts/2018-02-11-open-source.md b/_posts/2018-02-11-open-source.md index 705cca6c..34580b6a 100644 --- a/_posts/2018-02-11-open-source.md +++ b/_posts/2018-02-11-open-source.md @@ -3,7 +3,7 @@ layout: post title: 该以怎样的心态对待开源? date: 2018-02-11 16:00:00 summary: 知乎的一个问答记录,`该以怎样的心态对待开源`? -categories: Share +categories: Thought --- 知乎的一个问答记录,[该以怎样的心态对待开源](https://www.zhihu.com/question/266954088){:target="_blank"}? @@ -26,7 +26,7 @@ categories: Share 这里打算和大家分享一下 [Weex Ui](https://github.com/alibaba/weex-ui){:target="_blank"} 开源的一些事情和心态。 - + #### 1:开源的东西对开发者是有用的 diff --git a/_posts/2018-02-19-just-do-it.md b/_posts/2018-02-19-just-do-it.md index 26401879..196a63fd 100644 --- a/_posts/2018-02-19-just-do-it.md +++ b/_posts/2018-02-19-just-do-it.md @@ -3,7 +3,7 @@ layout: post title: 勿拖延 date: 2018-02-19 16:00:00 summary: 有点儿题文不相关,一直想写一篇关于生活的文章,总结下 2017,并计划下 2018,从春节前拖延到大年初四,应该说2017很喜欢拖延,故起名`勿拖延`,希望 2018 年遇事不拖延,想到就去做。 -categories: Share +categories: Life --- @@ -31,7 +31,7 @@ categories: Share 主要从 0 开始用 Weex 写了一些频道业务,包括踩坑调研、富交互实现、后续组件的抽离和业务迭代维护,这里大概花费我**一年工作中 20% 左右的时间**。 -
    +
    ### Weex Ui 层建设 @@ -46,7 +46,7 @@ categories: Share 以上值得一提的有 **[Weex Ui 组件库](https://github.com/alibaba/weex-ui){:target="_blank"} 的建设开源** 和 **Weex 飞猪双十一会场性能体验优化** 这两件事情。 -
    +
    左:Weex Ui 样板间        右:飞猪双十一会场效果 diff --git a/_posts/2018-03-17-js-in-ios.md b/_posts/2018-03-17-js-in-ios.md index db03704a..b11f498c 100644 --- a/_posts/2018-03-17-js-in-ios.md +++ b/_posts/2018-03-17-js-in-ios.md @@ -3,7 +3,7 @@ layout: post title: iOS 中的 JS date: 2018-03-17 16:00:00 summary: 最近主要在研究 iOS 中的 JS 这一块内容,打算从 为什么不能单纯地搞前端、JSCore 的原理和通信机制、OC 底层 Runtime 原理、如何通过 JS 任意修改 iOS 的运行结果 这4部分来阐述,旨在让前端和 iOS 开发同学更加了解跨端开发的原理,并知晓他俩结合起来做哪些意想不到的事情做。 -categories: Technology +categories: Study --- 最近主要在研究 iOS 中的 JS 这一块内容,打算从**为什么不能单纯地搞前端、JSCore 的原理和通信机制、OC 底层 Runtime 原理、如何通过 JS 任意修改 iOS 的运行结果** 这 4 部分来阐述,旨在让前端和 iOS 开发同学更加了解跨端开发的原理,同时了解他俩结合起来做哪些意想不到的事情。 diff --git a/_posts/2018-03-31-weex-ui-report.md b/_posts/2018-03-31-weex-ui-report.md index 6de644d1..0fed5246 100644 --- a/_posts/2018-03-31-weex-ui-report.md +++ b/_posts/2018-03-31-weex-ui-report.md @@ -3,7 +3,7 @@ layout: post title: Weex Ui 半年开源之路 date: 2018-03-31 16:00:00 summary: Weex Ui 于去年9月30日开源后,距离今天刚好半年时间,本文打算从起源、定位、现状、发展、展望这5部分来给大家分享 Weex Ui 半年的开源之路。 -categories: Technology +categories: Share ---

    diff --git a/_posts/2018-07-08-hacker.md b/_posts/2018-07-08-hacker.md index bfd02948..675a826d 100644 --- a/_posts/2018-07-08-hacker.md +++ b/_posts/2018-07-08-hacker.md @@ -3,7 +3,7 @@ layout: post title: 《黑客与画家》读书笔记 date: 2018-07-08 16:00:00 summary: 最近在看《黑客与画家》这一本书,主要介绍黑客即优秀程序员的爱好和动机,讨论黑客成长、黑客对世界的贡献以及编程语言和黑客工作方法等所有对计算机时代感兴趣的人的一些话题,本文用于记录读书过程中的一些笔记和思考。 -categories: Share +categories: Study feature: https://gw.alicdn.com/imgextra/i1/O1CN01VdLKpO1NIZVXL67I7_!!6000000001547-0-tps-6016-4016.jpg --- diff --git a/_posts/2018-07-29-createjs.md b/_posts/2018-07-29-createjs.md index 80b3a0d5..980b4a93 100644 --- a/_posts/2018-07-29-createjs.md +++ b/_posts/2018-07-29-createjs.md @@ -3,7 +3,7 @@ layout: post title: CreateJS 新司机开车指南 date: 2018-07-28 16:00:00 summary: 最近在对前端互动游戏技术一些学习和探索,恰逢上一个小游戏使用了 CreateJS 技术,借此文对其使用做一次备忘,同时让想用 CreateJS 写小游戏的同学可以快速上手。 -categories: Technology +categories: Study --- diff --git a/_posts/2019-11-25-product-and-github.md b/_posts/2019-11-25-product-and-github.md index 5532743c..4a82413e 100644 --- a/_posts/2019-11-25-product-and-github.md +++ b/_posts/2019-11-25-product-and-github.md @@ -52,7 +52,7 @@ categories: Share ![1](https://gw.alipayobjects.com/zos/k/open/IMG_00021.jpeg) -

    diff --git a/_posts/2022-06-13-a-good-markdown.md b/_posts/2022-06-13-a-good-markdown.md index 7651a109..a3d8f82b 100644 --- a/_posts/2022-06-13-a-good-markdown.md +++ b/_posts/2022-06-13-a-good-markdown.md @@ -3,7 +3,7 @@ layout: post title: 妙言 Markdown 编辑器介绍 date: 2022-06-13 16:00:00 summary: 最近将自己两年前做的一个 macOS 的 Markdown 笔记应用给完善了一下,放出来给大伙试试。 -categories: Share +categories: Creation --- ## 缘由 diff --git a/_posts/2022-06-25-mac.md b/_posts/2022-06-25-mac.md index 758c0567..2df34e9f 100644 --- a/_posts/2022-06-25-mac.md +++ b/_posts/2022-06-25-mac.md @@ -3,7 +3,7 @@ layout: post title: 2022 年我的 Mac 软件折腾之旅 date: 2022-06-25 16:00:00 summary: 何为差生文具多,看完这个你就清楚了, 用于2022年6月16日团队双周会的一个快闪分享。 -categories: Share +categories: Creation --- > **何为差生文具多**,看完这个你就清楚了. diff --git a/_posts/2022-07-09-code.md b/_posts/2022-07-09-code.md index 84932876..7c3a6f4e 100644 --- a/_posts/2022-07-09-code.md +++ b/_posts/2022-07-09-code.md @@ -3,7 +3,7 @@ layout: post title: 如何给你的代码祝寿 date: 2022-07-09 07:00:00 summary: 最近 XRender 3 岁了,之前玩过的 gource 和 ffmpeg,想着可以用这两个库给她开源这一路来的历程当做一个故事给播放出来。 -categories: Share +categories: Creation --- diff --git a/_posts/2022-09-09-miaoyan.md b/_posts/2022-09-09-miaoyan.md index 7317308c..9aebb734 100644 --- a/_posts/2022-09-09-miaoyan.md +++ b/_posts/2022-09-09-miaoyan.md @@ -3,7 +3,7 @@ layout: post title: 妙言 - 更适合工程师的笔记应用 date: 2022-09-09 19:00:00 summary: 这篇文章主要想给大家介绍一下妙言的功能清单,为啥更适合工程师使用,也包括个人对于产品本身的一些想法。 -categories: Share +categories: Creation --- ## 太长不读 diff --git a/_posts/2022-10-22-weekly.md b/_posts/2022-10-22-weekly.md index d8bb0ef7..2a7c414f 100644 --- a/_posts/2022-10-22-weekly.md +++ b/_posts/2022-10-22-weekly.md @@ -3,7 +3,7 @@ layout: post title: 潮流周刊 100 期,做了个官网 date: 2022-10-22 19:00:00 summary: 之前潮流周刊放到了 Github 上,不是太好用,趁着国庆那几天,学习了下 Astro ,自己设计开发了一个潮流周刊的官网,终于感觉舒服一些了,分享出来给大家。 -categories: Share +categories: Creation --- ## 起源 diff --git a/_posts/2022-11-05-pake.md b/_posts/2022-11-05-pake.md index 19af554b..9bae2d92 100644 --- a/_posts/2022-11-05-pake.md +++ b/_posts/2022-11-05-pake.md @@ -1,9 +1,9 @@ --- layout: post -title: 用 Pake 打包了一个极简 Twitter +title: 用 Pake 打包了个极简 Twitter date: 2022-11-05 10:00:00 summary: 一个很简单的用 Rust 打包网页生成很小的 Mac App 工具,底层使用 Tauri,当前支持微信读书、Twitter、语雀、RunCode、Witeboard、Flomo、Vercel 等。 -categories: Share +categories: Creation --- ## 介绍 Pake diff --git a/_posts/2022-12-04-openai.md b/_posts/2022-12-04-openai.md index 9c9af632..999606e6 100644 --- a/_posts/2022-12-04-openai.md +++ b/_posts/2022-12-04-openai.md @@ -3,7 +3,7 @@ layout: post title: 普通人如何不被 OpenAI 取代? date: 2022-12-04 10:00:00 summary: 今天试了试 OpenAI 的一些功能,通过主题来记录一下使用场景,发现了不少他强于普通人的地方,那么我们怎么在认知和能力方面不被他取代呢? -categories: Share +categories: Thought --- 今天试了试 OpenAI 的一些功能,通过主题来记录一下使用场景,发现了不少他强于普通人的地方,偏搞笑文(狗头),那么我们怎么在认知和能力方面不被他取代呢? diff --git a/_posts/2023-01-02-low-code.md b/_posts/2023-01-02-low-code.md index 568eb6f6..4af471a6 100644 --- a/_posts/2023-01-02-low-code.md +++ b/_posts/2023-01-02-low-code.md @@ -4,7 +4,7 @@ title: 什么是比较好的低代码产品 date: 2023-01-02 07:00:00 feature: https://gw.alicdn.com/imgextra/i4/O1CN01rIhOlN1GGYSuuxJaq_!!6000000000595-0-tps-3704-2568.jpg summary: 说到低代码,喜欢的人特别喜欢,不喜欢的人很不喜欢,此外也有“假装”去喜欢的,也有喜欢得不明不白的,我现在对于低代码是有点儿喜欢的那种,不过只限于在特定领域,实现需求的速度比熟练工程师写代码要快的场景,最近在思考团队下一步的提效方式,来看看业界开源的低代码产品,说不定会有一些输入。 -categories: Technology +categories: Thought --- ## 随便扯扯 diff --git a/_posts/2023-01-25-my-2022.md b/_posts/2023-01-25-my-2022.md index 85a67b9c..ed4b2e35 100644 --- a/_posts/2023-01-25-my-2022.md +++ b/_posts/2023-01-25-my-2022.md @@ -3,7 +3,7 @@ layout: post title: 2022 年总结 - 率性而活 date: 2023-01-25 21:00:00 summary: 今天是 2023 年的大年初四,对于拖延症患者而言再不写可能就被我拖没了,那可不行,等到老了以后再来回忆应该都记不住发生了啥,对我而言 2022 年是值得记录的一年,本文打算从生活、折腾、工作三方面来随便聊聊。 -categories: Share +categories: Life useVideo: true --- diff --git a/_posts/2023-02-06-alacritty.md b/_posts/2023-02-06-alacritty.md index 74150bf0..211478df 100644 --- a/_posts/2023-02-06-alacritty.md +++ b/_posts/2023-02-06-alacritty.md @@ -4,7 +4,7 @@ title: 改良了下传说中最快的终端 date: 2023-02-06 21:00:00 feature: https://static.tw93.fun/img/0AscUe.png summary: 最近发现了 Alacritty,一个基于 Rust 使用 OpenGL 加速的跨平台终端仿真器,只有 5M 的样子,传说中最快的终端,不过是真的丑,想着要不要改造一下,看能否当做我的默认终端,最终成品还不错。 -categories: Technology +categories: Creation --- ## 长话短说 diff --git a/_posts/2023-05-17-eyes.md b/_posts/2023-05-17-eyes.md index 5a8bdfba..2fed0190 100644 --- a/_posts/2023-05-17-eyes.md +++ b/_posts/2023-05-17-eyes.md @@ -3,7 +3,7 @@ layout: post title: 全飞秒近视手术过程和恢复记录 date: 2023-05-17 21:00:00 summary: 5月中旬做了一个全飞秒近视手术,在这里记录一下当天、术后的感受,希望可以给到好奇的同学一些参考。 -categories: Share +categories: Life --- 5 月中旬做了一个全飞秒近视手术,在这里记录一下当天、术后的感受,希望可以给到好奇的同学一些参考。 @@ -14,7 +14,7 @@ categories: Share 4 月份突发奇想不戴眼镜是不是很爽,然后就去检查了下适合做什么的,好多台机器验了下眼睛,最后发了 2 瓶眼药水在术前 3 天开始滴。 -到了做的那天,先去交钱,验光,然后排队等到叫,换上手术服,不能带手机,眼睛等外部东西,先洗眼睛 10mim,不停用药水去冲,挺酸爽。然后给脸部用酒精全消毒,接着坐到手术室门口等叫号。 +到了做的那天,先去交钱,验光,然后排队等到叫,换上手术服,不能带手机,眼镜等外部东西,先洗眼睛 10mim,不停用药水去冲,挺酸爽。然后给脸部用酒精全消毒,接着坐到手术室门口等叫号。 叫到号后,会先在眼睛里面滴麻药眼药水,然后就扶进去了,躺到机器上,一只眼睛一只眼睛做,过程就是盯着绿灯看 20s,然后告诉你非常棒,最后一边几秒钟用镊子夹出切割体,最后用机器观察了下,没问题直接出手术室。 diff --git a/_posts/2023-07-02-great.md b/_posts/2023-07-02-great.md index a2b5f7b0..c6995065 100644 --- a/_posts/2023-07-02-great.md +++ b/_posts/2023-07-02-great.md @@ -3,7 +3,7 @@ layout: post title: 译·如何做出伟大的工作 date: 2023-07-20 21:00:00 summary: 最近「黑客与画家」的作者出了一篇新的文章《How To Do Great Work / 如何做出伟大的工作》,写得特别好,很符合我的胃口,我用 ChatGPT4 给翻译了一下,帮大伙省下 Token,全文很长,可以有空时候细看。 -categories: Share +categories: Study --- > 最近「黑客与画家」的作者出了一篇新的文章《How To Do Great Work / 如何做出伟大的工作》,写得特别好,很符合我的胃口,我用 ChatGPT4 给翻译了一下,帮大伙省下 Token,全文很长,可以有空时候细看。 diff --git a/_posts/2023-07-02-hongkong.md b/_posts/2023-07-02-hongkong.md index c5064d4d..4aa54496 100644 --- a/_posts/2023-07-02-hongkong.md +++ b/_posts/2023-07-02-hongkong.md @@ -3,7 +3,7 @@ layout: post title: 香港和想象中不一样的地方 date: 2023-07-02 21:00:00 summary: 第一次去香港,平时旅游不太喜欢赶场打卡,反而喜欢观察人文环境,发现不少和想象中不一样的地方,放到这里随便聊聊。 -categories: Share +categories: Life feature: https://gw.alicdn.com/imgextra/i3/O1CN01Qa9eyp1XpgMQR8wsf_!!6000000002973-0-tps-4032-2268.jpg --- @@ -52,51 +52,51 @@ feature: https://gw.alicdn.com/imgextra/i3/O1CN01Qa9eyp1XpgMQR8wsf_!!60000000029 #### 晚点的飞机 -

    + #### 深圳湾望香港 -

    + #### 维多利亚港 -

    + -

    + -

    + #### 菲佣阿姨 -

    + #### 九龙公园 -

    + #### 尖沙咀 -

    + -

    + -

    + #### 华嫂冰室 -

    + #### 地铁盲文 @@ -105,8 +105,8 @@ feature: https://gw.alicdn.com/imgextra/i3/O1CN01Qa9eyp1XpgMQR8wsf_!!60000000029 #### 虚拟币购买 - + #### 深圳机场内部的摆渡车地铁 - + diff --git a/_posts/2023-08-03-pake.md b/_posts/2023-08-03-pake.md index c7e7eebf..88c20f7c 100644 --- a/_posts/2023-08-03-pake.md +++ b/_posts/2023-08-03-pake.md @@ -1,9 +1,9 @@ --- layout: post -title: Pake - 利用 Rust 轻松构建轻量级应用 +title: Pake - 轻松构建轻量级桌面应用 date: 2023-08-03 21:00:00 summary: 上周四在掘金的跨端技术分享上的一个主题,将 Pake 开源过程中的一些思考和经验分享给大家,同时也聊了聊前端、Rust、开源、技术产品化的一些自己想法,文章中有对应的分享稿、视频、知识点梳理等内容。 -categories: Share +categories: Creation --- 上周四在掘金的跨端技术分享上的一个主题,将 [**Pake**](https://github.com/tw93/pake) 开源过程中的一些思考和经验分享给大家,同时也聊了聊前端、Rust、开源、技术产品化的一些自己想法,欢迎感兴趣的同学一起交流,有没有讲清晰的地方辛苦直接指出。 diff --git a/_posts/2023-08-20-edge.md b/_posts/2023-08-20-edge.md new file mode 100644 index 00000000..b952d44a --- /dev/null +++ b/_posts/2023-08-20-edge.md @@ -0,0 +1,141 @@ +--- +layout: post +title: 2023 我的浏览器折腾之旅 +date: 2023-08-20 16:00:00 +feature: https://tw93.fun/images/edge1.png +summary: 浏览器应该是不少同学电脑上使用频次最高的应用,对强迫症而言,会经常将干活的工具折腾到好用的状态。去年有写过我的 Mac 软件折腾之旅,经过一年的迭代变化,打算今年继续写,刚好有朋友问我用的是什么浏览器,那就从「2023 我的浏览器折腾之旅」开始吧。 +categories: Creation +--- + +## 为什么要写 + +浏览器应该是不少同学电脑上使用频次最高的应用,对强迫症而言,会经常将干活的工具折腾到好用的状态。去年有写过我的 Mac 软件折腾之旅,经过一年的迭代变化,打算今年继续写,刚好有朋友问我用的是什么浏览器,那就从「2023 我的浏览器折腾之旅」开始吧。 + +## 好用浏览器的特征 + +除去当前浏览器的兼容性都没有啥问题了,包括在安全这一块大家也都差不多,那么对于我来说一个好用的浏览器应该具备哪些特性呢? + +1. **轻快放第一位**:打开网页的速度必须要快,这个是第一要义,同时不能太卡,有一种猎豹之感。 +2. **几乎都可配置**:可以将我不需要的东西都关闭掉,即使默认初始化效果一般,但是需要都可以关闭掉。 +3. **简单易用漂亮**:一定要简单易用,有确定性,想要的东西可以立马找到,同时窗口展示不能太丑。 + +## 使用过的浏览器 + +刚好周六做了一个问卷调查,回收回来 948 份答案,对象太多是工程师或者对于 IT 感兴趣的同学,答案和我想的差不太多,此外还有 40 个左右很喜欢火狐浏览器的。 + + + +大部分同学使用的应该是 Chrome 浏览器,下载下来以后,简单易用,速度也还可以的,不过性能其实一般般,特别是之前用 19 款的 Mac 时候对比很明显。同时我比较钟爱垂直侧边栏,顶部的 tab 拦对于我而言会有些浪费空间。 + +我还比较深度使用过 [ARC](https://arc.net/) 浏览器,一个超级漂亮,交互超级出众的潮流浏览器,不过每次我基本上是用几天,就感觉用不下去了,满足漂亮这点,当时我认为在操作确定性、轻快性能上相比传统浏览器要差一点。 + +除去这些,还有 Firefox,大学 Windows 时代最喜欢的浏览器,不过后面由于扩展兼容性的原因加上标准不太一致工作写前端就没有用了。其他的还使用过 Opera、[Vivaldi](https://vivaldi.com/zh-hans/)、[Brave](https://brave.com/zh/download/) 这几个,Opera 由于不支持侧边栏给放弃了,Vivaldi 过于可定制化使用起来太麻烦了,Brave 其实还可以,假如你注重隐私的话,也支持侧边栏,单我感觉不是很漂亮,就放弃了;此外还有 Mac 上面众多苹果开发者超级喜欢使用的 Safari,我很喜欢他的简洁,但是不兼容 Chrome 扩展,然后每次装扩展相当于多装一个 App,也被我放弃了。 + +## 最后我的选择 + +去年我的 Mac 软件折腾之旅介绍浏览器部分就是 Edge,今年居然还是 Edge,对这个浏览器真的是又爱又恨,恨的原因是太微软风格了,纯粹卖家秀之王,演示好看人用很丑,初始化效果给人真的是乱糟糟的。**不过好在附属的东西全部可以关掉,加上今年 UI 有很多升级,速度真心很轻快,同时还支持的垂直侧边 Tab 栏**,让我觉得对比下来,很符合我认为的「好用浏览器」的要求,不过要达到这一步,需要做不少配置工作,也是写这篇文的的缘由。 + + + +## 开始配置了 + +假如没有安装 Edge 可以先去下载 [正式版](https://www.microsoft.com/en-us/edge/download),下载完成以后,建议先登录同步功能,假如没有微软的账号,可以创建一个,方便后面的配置保存防止换新机器的时候丢失。 + +**开始配置之前,为了更顺畅的使用起来,建议将之前的历史纪录、书签的同步到新浏览器,可以点击菜单栏第一个 Tab `Microsoft Edge`,选择 `导入浏览器数据`,将你之前用的浏览器的记录给导入进来,好比一键搬家。** + +**当然假如你很习惯了 Chrome,其实接下来除去「关掉乱起八糟的东西」这一段外,也都是可以参考的**。 + +## 关掉乱起八糟的东西 + +1. `Command+.` 进入设置页面,在`个人资料`里面关闭 Microsoft Rewards,少去一些干扰。 +2. 选择`隐私、搜索和服务`,除去`防止跟踪` / `Microsoft Defender Smartscreen` 这两个打开之外,其他的全部关闭,[效果截图](https://gw.alipayobjects.com/zos/k/8f/SCR-20230818-nzug.png)。 +3. 继续在 `隐私、搜索和服务` 最下面,找到 `地址栏和搜索`,将地址栏中的`搜索引擎`修改成 `Google`,相比 Bing 要好用不少,[效果如图](https://gw.alipayobjects.com/zos/k/db/o8kr1v.png)。 +4. 选择`外观`,将`试用 Microsoft Edge 的全新外观`、`在标题栏中显示个人资料图标`、`在配置文件按钮中显示配置文件类型`全部打开,页面缩放修改到 110%(假如你是高分辨率的 Mac 建议放大一点会更舒服),在`自定义工具栏`中打开`在垂直选项卡中隐藏标题栏`、启用`显示当前所有浏览器窗口的垂直标签`,全部关闭`选择要在工具栏上显示的按钮`,全部关闭`上下文菜单`,`自定义浏览器`中打开`在网页上按 Tab 将突出显示链接和表单域`、`使用双击关闭浏览器选项卡`,其他的都关闭,最终配置 [效果截图](https://gw.alipayobjects.com/zos/k/14/ORSLHn.png)。 +5. 继续在`外观`最下面,选择`自定义字体`,默认应该是空的,可以将字体都修改成 `Helvetica Neue`,等宽字体可以配置成`JetBrains Mono`,[效果截图](https://gw.alipayobjects.com/zos/k/t0/n1OVak.png)。 +6. 继续在`外观`,找到`悬浮菜单`,可以把里面的都给关闭了,[效果截图](https://gw.alipayobjects.com/zos/k/2g/CIr88d.png)。 +7. 选择`侧栏`,假如你是一个强迫症患者,建议这里全部都给关闭了,然后点击`Discover`进去将`显示必应聊天`给给关闭了,[效果截图](https://gw.alipayobjects.com/zos/k/hl/Ly6T61.png)、[Discover 截图](https://gw.alipayobjects.com/zos/k/nd/q8xMtt.png)。 +8. 选择`系统和性能`,可以根据自己的情况去配置好对应的优化,可以参考 [我的配置](https://gw.alipayobjects.com/zos/k/wa/9ExeYQ.jpg)。 + +经过上面的步骤,你的新浏览器应该变得简洁了不少,哈哈,Edge 的产品经理看到以后,应该会想拿着 30 米长的大刀来砍我了。 + +## 找一些好用的扩展 + +扩展这个东西不建议很多,常用的即可,防止太多了,反而引起运行效率问题,甚至有时候会导致页面的 Bug 不好排查,此外不建议直接使用 Edge 商店安装扩展,直接用从 [Chrome Web Store](https://chrome.google.com/webstore/category/extensions) 获取扩展,丰富且安全,以下 6 个扩展是我用得很多的,可以简单介绍一下。 + + + +### [Maple Bookmarks](https://chrome.google.com/webstore/detail/maple-bookmarks/lgncmpklmepncbjpiebhdoejhmbcnjad) + +Maple 书签是 2 年前我自己写的一个书签管理扩展,不过一直在本地使用着,最近改了改将其传到了 Chrome 商店上,满足朋友们的使用。主要原因是,我认为 **浏览器默认的书签栏挡住了我的视线**,由于直接露出在页面上,很容易出现在做一个事情的时候,被上面的入口给分心,所以我一般是将浏览器默认书签给隐藏起来,然后使用这个扩展来顺畅使用浏览器。 + +安装完成以后,只需要按住 `Command + E` 就可以快速访问书签,甚至输入立即搜索,实用且方便,效果是这样。 + + + +**建议使用前,先整理好自己的书签,可以调整常用顺序以及删除不常使用的,有文件夹的放后面**,然后通过`Command+Shift+B`隐藏掉书签栏即可,也很建议在扩展里面将`Maple`给显示到 Toolbar,可点击打开。 + +此外**假如你觉得 Edge 默认的新标签页面太丑了,可以换成我这个 [Maple Newtab](https://chrome.google.com/webstore/detail/maple-newtab/fobmbldflolfooglijmbibmnhoflbjlb/)**,支持空白纯净页、潮流周刊图、Bing 图三种形式的效果,光标放置背景图上,等待 2s 会出现切换框,点击即可切换。 + +### [沉浸式翻译](https://chrome.google.com/webstore/detail/immersive-translate/bpoadfkcbjbfhfodiogcnhhhpibjhbnh) + +这款插件是我今年碰到的最神奇最牛逼的一款 Chrome 扩展,也是最好的网页翻译插件,下载以后很建议按照他的说明流程来配置,同时设置自己顺手的快捷键,很建议使用 ChatGPT 的方式来进行翻译,效果很好的。 + + + +更多详细的使用,可以去 [沉浸式翻译](https://immersivetranslate.com/)的官网查看,基本上完全免费可以使用。 + +### [uBlock Origin](https://chrome.google.com/webstore/detail/ublock-origin/cjpalhdlnbpafiamejdnhcphjbkeiagm) + +一个浏览器怎么可以没有去广告的插件,不过不少去广告插件很占用内存,同时没有那么轻量可定制,我用了好几年的是 uBlock Origin,一款高效的网络请求过滤工具,占用极低的内存和 CPU。 + +安装好以后,可以进入到扩展设置里面关闭掉你认为不重要的选项,同时在规则列表里面只选择主要的过滤规则,比如说带 Chinese、中文的这种,**假如更想偷懒,可以下载我的 [my-ublock-backup](https://gw.alipayobjects.com/os/k/1/my-ublock-backup.txt),在设置中选择 `从文件还原...` 直接覆盖即可**。 + + + +有了这个以后,后面你碰到没有拦截的,或者说不是广告但是也想隐藏的,可以直接右键自定义隐藏掉你不想见到的东西。 + +### [暴力猴](https://chrome.google.com/webstore/detail/jinjaccalgkegednnccohejagnlnfdag) + +暴力猴这个东西属于不用不知道,一用吓一跳的好东西,好久之前也听说过油猴脚本,但是一直都没有太使用,后面碰到了一些情况必须使用,就用上了,这样就一用不可收拾了,可以基于这个注入 JS 的能力做大量的事情,同时也可以去找到大量别人已经写好的脚本。 + + + +不过这个也不建议安装太多,我当前主要是如上这 7 个脚本,可以有选择的来安装即可,此外很建议在扩展设置里面,打开同步的功能,方便下次换电脑时候使用。**假如不想麻烦,可以导入我这个自己的配置好的 [备份文件](https://gw.alipayobjects.com/os/k/lc/violentmonkey.zip)**。 + +1. [Twitter X -> 小蓝鸟](https://greasyfork.org/zh-CN/scripts/471782-twitter-x-blue-bird):假如你玩 Twitter,用小蓝鸟替换 Twitter 的 X Logo。 +2. [CSDN 广告完全过滤](https://greasyfork.org/zh-CN/scripts/378351-%E6%8C%81%E7%BB%AD%E6%9B%B4%E6%96%B0-csdn%E5%B9%BF%E5%91%8A%E5%AE%8C%E5%85%A8%E8%BF%87%E6%BB%A4-%E4%BA%BA%E6%80%A7%E5%8C%96%E8%84%9A%E6%9C%AC%E4%BC%98%E5%8C%96-%E4%B8%8D%E7%94%A8%E5%86%8D%E7%99%BB%E5%BD%95%E4%BA%86-%E8%AE%A9%E4%BD%A0%E4%BD%93%E9%AA%8C%E4%BB%A4%E4%BA%BA%E6%83%8A%E5%96%9C%E7%9A%84%E5%B4%AD%E6%96%B0csdn):人性化脚本优化,不用再登录了!让你体验令人惊喜的崭新 CSDN。 +3. Remove Specific Background Watermarks:这个是我自己写的一个插件,用于去除网页上的水印,很简单,你可以搜索一下看看怎么来写,让你的网页变得不那么丑陋,这个在备份文件里面可以复原。 +4. [anti-redirect](https://greasyfork.org/zh-CN/scripts/11915-anti-redirect):去除重定向, 支持谷歌/百度/搜狗/360/知乎/贴吧/简书/豆瓣/微博... +5. [V2EX Polish](https://greasyfork.org/zh-CN/scripts/459848-v2ex-polish-%E4%BD%93%E9%AA%8C%E6%9B%B4%E7%8E%B0%E4%BB%A3%E5%8C%96%E7%9A%84-v2ex):一款专为 V2EX 用户设计的浏览器插件,提供了丰富的扩展功能,让原生页面焕然一新。 +6. [让你的飞书更好用](https://greasyfork.org/zh-CN/scripts/473205-%E8%AE%A9%E4%BD%A0%E7%9A%84%E9%A3%9E%E4%B9%A6%E6%9B%B4%E5%A5%BD%E7%94%A8-%E4%BC%98%E5%8C%96%E7%89%88):破解飞书的复制限制,特别适合你要复制一些文档的时候,发现被禁止了,还是很难受的。 + +### [Minimal Theme for Twitter](https://chrome.google.com/webstore/detail/minimal-theme-for-twitter/pobhoodpcipjmedfenaigbeloiidbflp) + +假如你上 Twitter,那就不要错过这个扩展,可以将你很丑陋的 Twitter 页面变成一个很简洁的页面,我的配置 [长这样](https://gw.alipayobjects.com/zos/k/lf/nYtapH.png),你可以来抄作业。 + +## 最后的最后 + +浏览器其实很很多高效使用技巧,比如说你可以熟悉一遍快捷键,我用得比较多的有这些其实可以记住: + +1. `Command+L` 快捷搜索历史纪录、书签、网址 +2. `Command+T`:新建标签页 +3. `Command+Y`:历史纪录 +4. `Command+Shift+B`:隐藏显示书签栏 +5. `Command+Shift+J`:去下载 +6. `Command + Shift + N`:隐身模式 +7. `Command + 数字`:定位到 TAB 页面 +8. `Command + Shift + Delete`:清除浏览器纪录 +9. `Command + Shift + []`:上下 Tab 切换 + +此外我也收藏了一些常用的书签页面,在很多时候能够帮助我提效或者学习、阅读: + +1. [Shots](https://shots.so/):本篇文章中的大部分截图我使用的这个工具帮我美化以及规范了一下 +2. [Dribbble](https://dribbble.com/shots):我经常去上面找一些设计思路和灵感 +3. [Daily.dev](https://app.daily.dev/onboarding):用来看一些国外技术文章的地方 +4. [macOSicons](https://macosicons.com/#/):我经常会去上面找 Mac 应用的好看图标 +5. [Pexels](https://www.pexels.com/zh-cn/):找无版权的图片,很好看 +6. [unDraw](https://undraw.co/illustrations):找一些好看简单的 SVG 插图 +7. [Squoosh](https://squoosh.app/):压缩图片 +8. [Iconfont](https://www.iconfont.cn/):越来月好用的 icon 下载 + +慢慢习惯快捷操作浏览器,以及记住一些你常用的地方,你应该可以获得一个很舒服的浏览器了,不过不建议你全部参考我的做法,可以有选择的来按照自己的思路来,不过都可以去折腾一下,挺好玩的。假如有你觉得很好用的浏览器使用技巧,也很欢迎留言讨论,交流 ❤️。 diff --git a/_posts/2023-09-18-open.md b/_posts/2023-09-18-open.md new file mode 100644 index 00000000..332fa498 --- /dev/null +++ b/_posts/2023-09-18-open.md @@ -0,0 +1,33 @@ +--- +layout: post +title: 该以一种怎么样的心态来对待开源 +date: 2023-09-18 16:00:00 +summary: 最近好几位我喜欢的开发者被开源工作影响到了心情,加上国内的开源环境氛围不是很好,想碎碎念来聊一下,对于开发者和使用者,我们应该以一种怎么样的心态来对待开源,让自己可以持续的快乐写自己喜欢的代码。可能有些我理解偏差地方,很欢迎大伙指出。 +categories: Thought +--- + +最近好几位我喜欢的开发者被开源工作影响到了心情,加上国内的开源环境氛围不是很好,想碎碎念来聊一下,**对于开发者和使用者,我们应该以一种怎么样的心态来对待开源,让自己可以持续的快乐写自己喜欢的代码**。可能有些我理解偏差地方,很欢迎大伙指出。 + +### 对于开发者而言 + +1. 首先我们明确一个大前提,**我写开源代码是为了让我 Happy**,写自己喜欢的代码对于工程师而言真的是一件很幸福的事情,要是作品被很多人也喜欢上那就更 Happy 了。基于这个前提,就很简单了,远离一切影响我们开心的事情,**首先要做的就是要拒绝,拒绝不合理的需求,拒绝你不想做的事情**。 + +2. 其次需要意识到**其实我不需要那么负责**,首先开源作品本身就是为爱发电,我们并没有通过这个来商业化赚钱,也没有签甲乙方协议,优秀程序员在工作中对待事情会很认真很负责,但是在开源社区中,**假如在你时间不是很够的情况下,过于负责会让你超级心累的**。 + +3. **让更多人来给你帮忙**,超级喜欢玩 Github 的原因是里面有很多有趣而且能力很强的小伙伴,我们可以 **在使用者中寻找一批不错的同学来一起参与进来**,他们也会和你一样当作一件很快乐的事情来写代码,同时你会接受到大量的反馈和建议,甚至是技术的相互学习,这样可以帮助你省去很的力气,有更多时间专注在项目长远发展上。 + +4. **不要建立易于加入的社交群**,开源过程中其实写代码是最轻松的,往往面对刁难不礼貌的、或者不停问重复问题的用户会让开发者很心累的,所以这里有一个很有必要的建议,**不要建立微信用户群、不要建立钉钉用户群、不要建立飞书用户群**,一切很方便国内社交工具加入的答疑群都不要建立,因为加入成本很低,使用者碰到问题会很急,会让你耗费大量时间解决问题。推荐使用 Github 中的 Issues 来反馈 Bug,通过 Discussions 来交流,因为这种方式是异步的,不会让你心累。 + +5. **如何让自己更省心?** 除去上面说的这些,还有一些地方关注到会让你更省心,首先**开源产品一定要有清晰易于阅读的文档、FAQ、贡献文档**,有问题先引导用户去查文档自己解决,在代码清晰有提交教程的情况下,有能力的用户可以自己来帮你提交代码,这个过程会省去很多力气。还有一个重要的,**难免代码会有 Bug,发布前的仔细测试至关重要**,没有问题的代码,让使用者也会舒服些。 + +### 对于用户而言 + +1. **抱着合作的心态超级重要**,很多时候开发者也是使用者,使用者是指使用他人开源项目的小伙伴,作为使用者的我们在寻找帮助之前需要意识到,**开源项目的用户和开发者之间并不是甲方和乙方的关系,同时开发者不是客服,我们在碰到问题,或者不爽时候,更多应该抱着『一起合作来解决这个问题』的心态来弄,有任何建议或者使用不爽的地方,或者自己觉得这样弄更好,直接描述清楚通过 issue 或者邮件的方式去沟通解决,给维护者更多的输入,这样才能更好促进其发展。** + +2. **抱着好奇和学习的心态**,很多时候作为用户的自己去逛开源社区,逛 Github trending,经常会发现很多超级好玩的东西,也会觉得,卧槽这人好牛逼,这个代码写得真好的感叹,然后 clone 下代码,本地运行跑跑看,假如发现可优化的,就顺手提一个 PR 挺好玩的。 + +3. **抱着我也可以成为开发者的心态**,用户其实完全没有必要仰望开发者,其实大家都一样,也是一步一步写代码过来的,只不过他玩开源起步比你早而已,其实我们只要坚持下去,从易于接近的问题上去参与到社区贡献,甚至在你喜欢的开源产品下帮忙答疑,慢慢的让作者带着一起写代码,其实也是一种很不错的成长路径。 + +最后,我想说的是 **Please feel free to use and contribute to the development.** 大家都轻松些,松弛些,写开源和用开源都是为了我们工程师那种独特的 Happy,不需要较真。 + +**也很期待国内的开源氛围在大伙的努力下越来越好**。 diff --git a/_posts/2023-09-29-tv.md b/_posts/2023-09-29-tv.md new file mode 100644 index 00000000..f9f1b825 --- /dev/null +++ b/_posts/2023-09-29-tv.md @@ -0,0 +1,57 @@ +--- +layout: post +title: 我的家庭影院入门实践 +date: 2023-09-29 16:00:00 +summary: 分享一下 Apple TV + 索尼 + 回音壁 + 后环绕音箱 组成的家庭影音搭建过程,不少朋友想要详细教程,我随便写了下给大伙参考,欢迎交流。 +categories: Life +--- + +![](https://cdn.fliggy.com/upic/QdmV2b.jpeg) + +分享一下 Apple TV + 索尼 + 回音壁 + 后环绕音箱 组成的家庭影音搭建过程,不少朋友想要详细教程,我随便写了下给大伙参考,欢迎交流。 + +### 关于配置 + +我比较追求极简和性价比以及不能接受交了钱还有广告,平时看国外剧稍多,很喜欢看电影类,所以选择了 Apple TV 做电视盒子,配置如下: + +- Apple TV 7 港版 128g 淘宝代购 +- 电视索尼 X90L 75 寸 +- 回音壁 三星 Q600B +- 后环绕 三星 9200S +- 路由器 小米 AX9000 + +### 关于软件 + +1. Netflix,这个强推,我很喜欢看网飞的电视剧,相比国内电视剧做得精致很多,同时没有美图秀秀滤镜感,平时使用新加坡节点方便看到华人相关的推荐。 +2. Youtube,这个空余时间用得很多,大部分视频画质很好,平时用来看有趣的 UP 主,偏数码、国际新闻、演唱会、台湾综艺类比较多。 +3. Spotify,现在是我手机、电脑默认音乐播放器使用的这个,电视就习惯使用这个了,相比其他的歌多、音质好,还可以听播客。 +4. VidHub,结合阿里云盘使用,我之前使用的 Infuse,由于索引比较慢就切到这个来了,很快性能很好,用来补充网飞、Youtube 上面没有的内容,比如说家人喜欢看的甄嬛传,以及各种韩剧。 +5. Cheers,B 站的第三方软件,做得还不错,也支持弹幕,之前比较爱看,现在由于前面很多内容满足使用,现在偶尔使用。 +6. APTV,看卫视电视,其实我平时几乎不用,不过有时候家里老人过来,可以给他们用用,各种国内的电视台。 +7. Stash,由于手机使用的这个,能够很好支持多端同步以及部署,以及设置不同域名对应的节点,这里不多说。 +8. 还有一个功能用得比较多,就是 iPhone 手机视频可以比较好的共享到 AppleTV,比如平时做 Keep 的时候。 + +关于购买软件和服务,可以选择一个便宜点儿的区,对于订阅类的,很建议找靠谱的家庭组去拼车,Netflix、YouTube、Spotify 我都是用的拼车,很实惠也很稳定。 + + + +### 关于接口 + +Apple TV 一个口直接用超 6 类线连路由器,另外一个口用 HDMI 2.1 线连接电视。音响部分回音壁用 HDMI 线连接电视 HDMI ARC 口,低音炮和后环绕和回音壁配对遥控即可。后环绕两个音响用送的支架给立到沙发两边斜 45 度,线放支架管子里面,底部用后双面胶固定,双线连到一起藏到沙发经过就看不到了。 + +### 关于布线 + + + + + + +
    + + + +
    + +那么怎么做到正面一点儿都看不到,这里我用了子母扣、厚双面胶、理线器三个东西,我把几斤多大路由器直接用两个子母扣给粘墙上了,Apple TV 、音响电源转换器、插排都用双面胶粘柜子后面了,多余的长线用理线器收起来,可见最后一张图,最后柜子往里一推,就啥也看不到了,也不会落到地上。 + +最后对于纠结是否需要购买 Apple TV 的小伙伴,假如你把上面弄好,然后再加一个回音壁后环绕,这个家庭影院系统会是你在家里超级值得的电子产品。 diff --git a/_posts/2023-10-25-new-fe.md b/_posts/2023-10-25-new-fe.md new file mode 100644 index 00000000..4edaaeeb --- /dev/null +++ b/_posts/2023-10-25-new-fe.md @@ -0,0 +1,75 @@ +--- +layout: post +title: 新一代前端发展的困境与破局 +date: 2023-10-25 16:00:00 +summary: 在重庆前端大会上的一个分享,对象为 React/Vue 出来之后的新一代前端开发者,在造轮子时代已经过去、国内前端环境很卷的情况下,前端工程师的成长路径相比之前要难不少,在这些困境下,分享如何以一种新的方式破局,用前端技术去真正解决业务难题,提升产品工程师实力,让自己以最不卷的方式成长起来。 +categories: Share +--- + +### 概述 + +在重庆前端大会上的一个分享,对象为 React/Vue 出来之后的新一代前端开发者,在造轮子时代已经过去、国内前端环境很卷的情况下,前端工程师的成长路径相比之前要难不少,在这些困境下,分享如何以一种新的方式破局,用前端技术去真正解决业务难题,提升产品工程师实力,让自己以最不卷的方式成长起来。 + +观点只代表个人也不一定对,随便看看,PDF 文件以及分享视频在底部。 + +### 内容 + +![1](https://gw.alipayobjects.com/zos/k/fe1/fe.001.jpeg) + +![2](https://gw.alipayobjects.com/zos/k/fe1/fe.002.jpeg) + +![3](https://gw.alipayobjects.com/zos/k/fe1/fe.003.jpeg) + +![4](https://gw.alipayobjects.com/zos/k/fe1/fe.004.jpeg) + +![5](https://gw.alipayobjects.com/zos/k/fe1/fe.005.png) +![6](https://gw.alipayobjects.com/zos/k/fe1/fe.0051.png) + +![7](https://gw.alipayobjects.com/zos/k/fe1/fe.006.png) +![8](https://gw.alipayobjects.com/zos/k/fe1/fe.0061.png) + +![9](https://gw.alipayobjects.com/zos/k/fe1/fe.007.jpeg) + +![10](https://gw.alipayobjects.com/zos/k/fe1/fe.008.jpeg) + +![11](https://gw.alipayobjects.com/zos/k/fe1/fe.009.png) +![12](https://gw.alipayobjects.com/zos/k/fe1/fe.0091.png) + +![13](https://gw.alipayobjects.com/zos/k/fe1/fe.010.png) +![14](https://gw.alipayobjects.com/zos/k/fe1/fe.0101.png) + +![15](https://gw.alipayobjects.com/zos/k/fe1/fe.011.png) +![16](https://gw.alipayobjects.com/zos/k/fe1/fe.0111.png) + +![17](https://gw.alipayobjects.com/zos/k/fe1/fe.012.jpeg) + +![18](https://gw.alipayobjects.com/zos/k/fe1/fe.013.jpeg) + +![19](https://gw.alipayobjects.com/zos/k/fe1/fe.014.jpeg) + +![20](https://gw.alipayobjects.com/zos/k/fe1/fe.015.jpeg) + +![21](https://gw.alipayobjects.com/zos/k/fe1/fe.016.jpeg) + +![22](https://gw.alipayobjects.com/zos/k/fe1/fe.017.jpeg) + +![23](https://gw.alipayobjects.com/zos/k/fe1/fe.018.jpeg) + +![24](https://gw.alipayobjects.com/zos/k/fe1/fe.019.jpeg) + +![25](https://gw.alipayobjects.com/zos/k/fe1/fe.020.jpeg) + +![26](https://gw.alipayobjects.com/zos/k/fe1/fe.021.jpeg) + +![27](https://gw.alipayobjects.com/zos/k/fe1/fe.022.jpeg) + +![27](https://gw.alipayobjects.com/zos/k/fe1/fe.023.jpeg) + +![28](https://gw.alipayobjects.com/zos/k/fe1/fe.024.jpeg) + +![29](https://gw.alipayobjects.com/zos/k/fe1/fe.025.jpeg) + +### 更多 + +1. [PDF文件](https://tw93.fun/images/pdf/new-fe.pdf) +2. [B站视频](https://www.bilibili.com/video/BV1ze41197i9/?p=1) diff --git a/_posts/2023-10-26-dahang.md b/_posts/2023-10-26-dahang.md new file mode 100644 index 00000000..572c2cf9 --- /dev/null +++ b/_posts/2023-10-26-dahang.md @@ -0,0 +1,27 @@ +--- +layout: post +title: 我的自行车入门实践 +date: 2023-10-6 16:00:00 +summary: 买了一辆大行 P8 很是喜欢,想来整理一个入门者自行车周边的最佳实践,希望可以给想骑车的小伙伴一些入门参考,哈哈有想抄作业的可以抄一抄。 +categories: Life +--- + +🤔 买了一辆大行 P8 很是喜欢,想来整理一个入门者自行车周边的最佳实践,希望可以给想骑车的小伙伴一些入门参考,哈哈有想抄作业的可以抄一抄。 + +🤣 骑自行车好处很多,我感觉最明显的就是睡眠变得超级好,甚至玄学了,每天差不多来回上班一共 12km,中午晚上睡觉的时候基本上放下手机后 5 分钟内就睡着了,而且中途睡得很香,骑车相比其他运动还有一个好处就是边运动边享受,有风,加上杭州绿色植物超级多,路上的桂花香,阴凉处,各种各样路边的花,骑车很舒服的。 + +![](https://cdn.fliggy.com/upic/K9EC4d.jpeg) + +🚴 关于自行车的选择,一般可以选择折叠车和公路车,由于我属于日常骑行,加上有一个大诉求就是可以折叠放后备箱,可以开车出去找一个地方,然后拿下自行车直接骑,甚至骑车在路上下雨或者不骑累了直接打个车就回去了,所以选择的折叠车,折叠车做得不错的有小布和大行,前者价格一两万虽然很好看但是想了想没必要,大行属于质量很好,价格合适,加上「大行 P8 经典款」去店里看过,消光黑很漂亮,加上很保值耐操,最后没有犹豫 3500 左右拿下。当然假如你更爱颜值,也可以试试大行 D7 橄榄绿复古版真心好看。 + +💼 关于自行车配件的选择,首先推荐第二张图中的「洛克兄弟自行车尾包」,太太太实用和贴合大行了,之前有买过两个其他的自行车包都被我纠结给退了,这个包平时出门放个水,放手机耳机啥的超级方便,而且才 55,而且放到后面对于强迫症而言看不到很舒服,之前买过一个水壶架装到杠子上,由于使用频率很低加上影响观感,用了 2 天就给拆了,所以假如不是远途经常使用需要路上喝水的,不建议安装。 + + + +🔔 骑行骑行第一步,需要买「头盔和骑行眼镜」,前者属于为了安全必须要买,后者属于出太阳不带眼镜真的很刺眼,我的考虑点是首先要耐操,其次需要美观,太丑的不考虑,最后逛线下迪卡侬给买的,头盔选择深蓝迷彩,很轻盈舒适透气,特别夏天骑车一点不热,价格 250 左右。骑行眼镜考虑到质感选择的他家的骑行防雾高对比太阳眼镜,价格 130 的样子,也是很耐操。 + +😊 还有几个小东西,买车可能大家首先想到要买一个锁,我也是,最后发现使用频次很低,而且放车上也不方便,骑行老手一般会说「买锁是丢车的第一步」,最后我基本上就不带锁了,但是为了防止丢失,加上 P8 的铃铛其实不是不响亮,心想是不是可以换一个铃铛,结果搜索的时候发现一个神奇物件「AirTag 铃铛」,也就是这个铃铛里面可以放下 AirTag 隐藏掉,同时本身是一个铃铛,这个设计实在太巧妙了,然后又下单了一个 AirTag,解决了锁车和铃铛的烦恼,铃铛到货以后,相比原始的那个好按很多,声音还响亮,深得我心了,铃铛买也是洛克兄弟家的,不到 30 块解决。然后对于夜间骑车假如想安全一点,需要买一个「前后灯」,假如平时都是宽敞亮路其实可以不买,我的是迪卡侬买的一套,防水电量很耐用,也耐操看着简洁,不过稍贵 200 块的样子。 + +🤣 大行这款车还有一个不算缺点但是对于新手会觉得不舒服的地方,就是座椅其实有些硬,当然专业人骑车会穿骑行裤,但是对于我这种日常业余的感觉必要性不大,所有需要找一个「软垫」包裹一下,我的这个线下买的,不记得牌子了,和这款车很贴合,大家可以去搜索同款车的软坐垫应该就好了。 + +🍎 关于记录软件,我平时一般用 Keep,可以比较方便和手表结合同时给我报时报骑了多久,还可以记录路线使用还算方便,当然苹果运动其实也方便好用,习惯哪一个用哪一个就好了,我当前骑了 430km 了,感受还不错。 diff --git a/_posts/2023-11-20-coffee.md b/_posts/2023-11-20-coffee.md new file mode 100644 index 00000000..aefd024d --- /dev/null +++ b/_posts/2023-11-20-coffee.md @@ -0,0 +1,25 @@ +--- +layout: post +title: 我的咖啡机入门实践 +date: 2023-11-20 16:00:00 +summary: 如何不到一千块钱实现每天好喝咖啡自由?想通过这篇短文来给大伙分享一下我的咖啡机购买使用以及配件选择的经验,属于最近买得最有生活意义的一个物件。 +categories: Life +--- + +![](https://cdn.fliggy.com/upic/hWzmuK.png) + +如何不到一千块钱实现每天好喝咖啡自由?想通过这条短文来给大伙分享一下我的咖啡机购买使用以及配件选择的经验,属于最近买得最有生活意义的一个物件。 + +☕️ 最近几乎每天早上起床后,第一件事是磨咖啡豆,然后用半自动咖啡机萃取,弄半杯牛奶打成热奶泡,融合到咖啡里面,满满一杯,加上窗外透进来的早上的太阳,一股咖啡油脂微苦香醇味道和牛奶香甜味结合一起甚是满足,一个月用下来咖啡豆用得很少,牛奶用了几盒,价格相比买星巴克实惠太多了,关键这个动手制作过程以及味道远比买咖啡的过程好太多了,一个月机器成本就回来了。 + +🤖 咖啡机有好几种,比如说胶囊咖啡机,使用简单快速,也有全自动咖啡机,功能丰富操作要求低,直接按钮下就都好了,我选择的是半自动咖啡机,在山姆买的德龙 ECP33.21.W 这款,才 629 元,白色金属机身很有质感,就两个功能,萃取和打奶泡,使用其实也不难,选择半自动更多是喜欢动手这个过程,同时功能简单也好清洗,我认为这款很适合初学者,有质感还耐用。 + +🫘 咖啡豆也是在山姆购买的,买前小红书查了查推荐,买的 MM 经典意式拼配咖啡豆 1kg 99 元,橙黄色包装那一款,买后打开倒入保存罐那个瞬间真的太太太舒服了,咖啡油脂香味颗粒饱满,那股透出来的咖啡香味至今难忘,味道真正喝起来也超出我的预期,不太酸也不太苦但很醇香,喝了快一个月居然消耗量很少。 + +🥛 牛奶一开始就有预期,一定要买适合咖啡的牛奶,全脂的会更香,第一次试的山姆的蒙牛鲜牛奶 2L 才 20 元,性价比超级高,味道我感觉也挺不错,就是量太大了,每天一杯的消耗比较难在保鲜期内用完,后面有试过盒马的明治醇壹牛乳,入口醇厚,这个也不错,后面尝试了不少咖啡朋友推荐的优诺 4.0,盒马没货了,买了 5.0 也很不错,香甜味结合咖啡有一种刚刚好的感觉,后面我应该这几款会继续使用。 + +🎻 聊到咖啡机配件,最不要忘记的就是磨豆机,我选择的是电动的,最开始想着手摇更有仪式感,后面一想没必要,意式需要磨很细的粉,手工太累了。磨好粉就是需要把粉压平压紧了,咖啡机只送了一个勺子和压咖啡两用的塑料工具,我感觉质感一般,就去弄了个金属勺子,然后想让做咖啡过程更有仪式感,就买了布粉器和压粉器,作用就是让咖啡压得更平整和更紧,我认为属于辅助用品,用机器送到那个勺子也还行,用这个更好。然后买了一个冲奶金属杯,这个相比玻璃杯好太多了,倒奶摸温都很方便,后面买了小刷子和咖啡抹布以及敲渣桶,这三个小东西便宜,但是超级方便好用,远比之前我用纸来清理好了不知道多少。 + +👷‍♀️ 关于做咖啡过程,我还没有学会拉出好看的花,只能说好喝而已,咖啡萃取需要注意时间不能太久,唯一有点儿操作的就是如何打出绵密的奶泡可以小红书学习练习,我的技巧是蒸汽头位置先放中心点然后斜转到 3 点钟方向,奶泡高速旋转,到杯壁烫手的时候就可以关掉了,然后斜斜倒入咖啡中。 + +😄 总之,没有买之前认为买了肯定吃灰,买之后发现居然每天都习惯做一杯咖啡迎接我的起床,让起床居然都有了动力,很像大学时候每天起床的动力是食堂吃个刚做的好吃肉夹馍和现磨豆浆的那种期待感。朋友来家里还会很迫不及待给做杯咖啡让尝尝我的手艺,这种感觉挺好。 diff --git a/_posts/2023-12-17-jp.md b/_posts/2023-12-17-jp.md new file mode 100644 index 00000000..2da1ccd8 --- /dev/null +++ b/_posts/2023-12-17-jp.md @@ -0,0 +1,268 @@ +--- +layout: post +title: 日本东京&大阪游记 +date: 2023-12-17 16:00:00 +summary: 11月底去日本玩了5天,第二次去日本玩,想用这篇文章来记录一下看到、听到、和本地朋友聊天等方式下和自己固有想法不一样的地方,或者说是我自己的独特感受,可能有偏差欢迎指出,也希望给后面去玩的朋友一些输入。 +categories: Life +feature: https://gw.alicdn.com/imgextra/i2/O1CN01SqcBiP1Mg6LyWNuqi_!!6000000001463-2-tps-3956-2225.png +--- + +## 缘起 + +疫情几年一直没有机会出国,很是难受,11 月底的时候团队 Outing 目的地首选就是出境游,最终小伙伴定下来日本大阪,由于 5 年前我去大阪玩过,所以想着这次行程安排成大阪落脚玩 1.5 天,剩余 3 天全部在东京玩,看看亚洲第一的城市东京怎么样,刚好那个时候在看《纸房子》,里面有一个角色也叫东京,那就对东京更加向往了。 + +这篇游记想随便讲讲出发前准备、旅途中所见,旅途过程中和我想的不一样的地方这几块,希望可以给看到的朋友一点输入,里面的观点可能也有我理解偏差,欢迎指出。 + +## 出发前 + +出发前主要就是办签证,买充电宝,买保险,下谷歌地图和翻译软件,Apple Pay 西瓜卡充钱,银行换钱(我懒,出发前找同事换的),买日本流量卡(不要贪便宜,可以买流量多一点的),提前填写日本入境申报材料,这里大部分小红书都可以找到教程。 + +杭州机票去大阪很便宜,来回才 1500 块,然后订酒店,酒店记得上次也是差不多大阪订在了难波,去周围都很方便,此外订酒店的时候建议多试几家,比如说 Booking、Agoda、谷歌地图、飞猪、携程都可以去看看,包括评价和位置,找到性价比更不错的。 + +由于汇率实在很便宜,加上免税,对奢侈品感兴趣的建议做好功课,买到合适的好比可以帮你省去机票和酒店费用了 😁 不过建议回国的时候记得把盒子以及发票给扔了或者放到其他人行李箱里面。 + +![](https://gw.alipayobjects.com/zos/k/j1/1.png) + +甚至为了安排行程我还做了一个脑图,不过很多时候计划赶不上变化,就最多只是一个参考了,详细行程在第二部分来说。 + +## 旅途 + +### 旅途第一天 · 大阪 + +其实也不算一天,当天杭州中午吃完饭就出门了,然后地铁直接到机场,4 点左右飞机,全程 2 小时 20 分钟到大阪,感觉真的很近,相比我从杭州去一趟新疆玩,可以去 3 躺日本了的距离。 + +由于日本在东九区,会比国内东八区早一个小时,好比当时我们到的时候日本时间晚上 8 点,其实国内才 7 点,最后坐地铁到酒店大概 9 点多,办好入住以后,出去逛了逛,哈哈比如说飞田新地料理组合是个好地方,逛完后到 10 点多当时很多吃饭地方都关门了,找了个日本本地烧烤大排档吃了点儿东西。 + + + + + + +
    + + + +
    + +由于是第二次去日本玩,和第一次的新鲜感不太一样,所以会特地观察当地事物,发现些不一样的地方,我打算放到最后一个章节一起来汇总下。 + +### 旅途第二天 · 东京市区 + +大阪到东京可以坐飞机、新干线、夜间巴士,飞机想着来回麻烦 Pass,夜间巴士看着挺好挺便宜,不过有同事之前坐过,一晚上很难受也 Pass,选择新干线一个很大的点就是沿途天气好的话可以看到富士山。缺点就是直接购票单程大概 700 块人民币(有点儿高铁一等座的价格了),最后通过飞猪找到旅行社新干线 450 解决,购买后会发一个取票方式给你,直接在大站就可以取出,这里几个人来回省去了不少钱。 + +这里有一个有趣的选择,就是新干线的票也有几种,有一种是不定座位票,好像是当天时间段都可以去坐,会留出前面几个车厢来使用,谁来得早就坐,比较难保证固定座位,不过飞猪上卖家卖的都是一个价,同时想看富士山需要坐 DE 座位,肯定就选择固定时间固定座位的选择了。 + +由于国内习惯导致,想着留半小时以上的 buffer,所以购买的是 9 点半的票,由于地铁也准时,也不要安检,8 点从酒店出门,8 点 40 取到票,那天刚好日本感恩节放假,人还不少,结果干等了 40 分钟的样子,这里的经验是不要去那么早,留 10 分钟 buffer 用来找站台就差不多了。 + +看富士山一般是从大阪出发 1 小时 45 分钟后,直接算就好,基本上等到到了静冈站,然后过一个隧道就可以准备了,由于买票比较晚,直选选到了 BC 座,所以我等到时间就直接去车厢连接处等着去看富士山了,这里有一个更好的好处,没人、窗户大,此外日本窗户很干净,所有就拍到了下面的美景,实际眼睛看到的更加好看。 + + + +大概 12 点左右就到东京了,然后同行小伙伴的本地朋友带着我们一起去上野站附近吃神户牛肉,属于那种一人一锅的感觉,肉很嫩,微甜,不错,当地的特色啤酒,本地人很喜欢,不过我感觉有些微苦,顺便一起聊了不少日本的公司职工的事情,放到后面感想部分来说。 + + + + + + +
    + + + +
    + +东京的人口密度远大于大阪,到处都是人的感觉,而且走得很快,相比上海的人口密度还大 2-3 倍样子,吃完饭去对面的阿美横丁商店街逛了逛,是高架铁路线下的商店群,有不少卖吃的的,稍微嘈杂,也很热闹,人密度大,由于刚刚吃饱,所以就直接走过这条街道了,平时车经过的时候楼层甚至远处的高楼还会左右微微摇晃也是很神奇,开始以为自己看花眼了,问了问日本不少建筑都是这样抗震设计的。 + + + + + + +
    + + + +
    + +穿过阿美横丁就到浅草寺了,东京这边最古老的一个寺庙,大门叫做「雷门」,有一个标志性的大灯笼,整体寺庙建筑很漂亮。一直在路上找行李箱寄存的,基本站内都有,不过由于人太多大部分满了,后面在雷门附近找到了一个给存了下来。寺庙日本本地人也很多,发现和国内一样,都还挺喜欢拜佛的,也有求签服务,水池里面也有不少的硬币,由于人实在太多了,拍了拍照就走了,因为看到了晴空塔,实在太太太高和漂亮了,关键这几天天气特别好,看远处很清晰,天空也很蓝。 + + + + + + +
    + + + +
    + +然后后面就走路去晴空塔买票,打算上塔上看看东京全景,不巧的是人多买票也需要排队,只买到 7 点的票,这个空余时间就在外面走了走,歇了歇,顺便找了一家当地老夫妻开的烧鸟鱼店,吃了个完饭,肉质不错,味道还可以,吃完慢慢就到晴空塔排队进去,400 多米的塔,世界第一高,望下面还是很震撼的,拍了不少照片和视频,看完以后,由于走了太多步了,就直接回酒店了。 + + + + + + +
    + + + +
    + +### 旅途第三天 · 东京迪士尼 + + + + + + +
    + + + +
    + +这天订的行程就是在东京迪尼斯呆一天,上文说到日本人不卷,但是出去玩,东京人和国内人一样卷了,当时前一天晚上我们查好攻略,想着一定要早出门,其实我们认为早,8 点前就把早饭吃完出门了,到东迪大概 9 点,进门前还去逛了下纪念品商店,属于第一站,出来后去排队,人是真的多啊,超级长的对,这才意识到来晚了,来晚了,来晚了,最后排了大概 40 多分钟队,终于进去了。 + + + + + + +
    + + + +
    + +由于来得晚,首先进去第一件事就是买快速票,这种属于比较公平的,大家一起抢,抢完一个,等待玩完以后才能抢另一个,想氪金都难,我们进去的时候就只有飞溅山可以抢了,第一个项目玩的加勒比海盗,坐船观赏海盗世界,喜欢电影杰克船长的必玩,后面玩了巨雷山,这个应该是我觉得这里面最刺激的一个了,后面到了飞溅山,其实就是激流勇进,这个也算刺激类,体验很好,里面的小吃啥的其实没有上海迪斯尼那么贵的感觉,也挺好吃,后面去做了几个船,属于很悠闲那种,还有一个刺激的叫做太空山,这个是里面唯一一个反复强调假如你感觉不行就不要坐的一个,总之刺激的基本上都玩到了,那个比较火的美女与野兽实在一直排队都是很久,就放弃了。 + + + + + + +
    + + + +
    + +东京迪士尼在刺激好玩程度上相比大阪环球影城还是差了不少,很适合小女生去玩,那简直属于童话世界,好在是两对夫妻出游,不然全部是男的去玩就很无聊了。 + +看完花车以后,担心地铁人太多,我们就开始往回赶了,哈哈,这里我们选择回来回来去歌舞伎看看,很神奇的地方,去东京喜欢猎奇的人可以去随便看看。 + +### 旅途第四天 · 东京随便玩 + +这天属于在东京的最后一天,晚上的新干线回大阪,有一个东京小伙伴约中午在涩谷一起吃个饭,所以早上睡到自然醒,然后屁颠屁颠到东京站找一个地方去存行李,这样一天本地玩就很轻松,然后回去时候刚好拿上箱子,想着存完有空就去银座逛逛。 + +结果这里也在意想之外了,东京站超级大,存行李的地方也特别多,结果居然一层和负一层的全部都满了,连小的都没有了,这里花费了半小时找地方还没有存到,然后东京朋友建议我直接拿箱子来涉谷,所以当时就去找这号线的地铁入口,结果由于里面实在太大了(后面查了下 18 万 2000 平方米,每天坐车人数 45w 的量),实在没有办法了,我就去找工作人员了,这里也很神奇,居然他拿出一张东京站室内纸质地图来了,像玩游戏一样帮我画了一个路径图,很感谢这个地图,让我找到了车站入口,最后刚好 12 点到涉谷站。 + +涉谷站人也属于超级多,那儿有一个标志建筑忠犬八公像,不少外国人在那儿拍照,东京朋友带我们去吃了一个特别好吃的咖喱鸡肉饭,最最最神奇的是带辣椒味道,这几天在日本吃得实在太清淡了,吃上这么一顿真的太满足了,一碗饭,菜和肉,连汤都给吃完了,顿时觉得这远比日本烤肉好吃,哈哈。 + + + + + + + +
    + + + + + +
    + +后面吃完饭不就,在涉谷随便走了走,这一块有不少地下偶像女团啥的,有不少在举行宣传活动,还有粉丝包一辆类似公交车的车,地下偶像在车上给他们唱歌直播,也是很是有趣。 + +逛完以后,就坐地铁去银座了,东京属于亚洲最繁华的城市,那么银座就属于东京最繁华高级的地方,也就是哈哈,银座属于亚洲最繁华的 POI 了,随便去逛了逛,看了看珠宝/奢侈包啥的,不得不说品类是真的全,当时没怎么做功课,没有怎么买东西,差不多到点就往东京站走了,晚上回大阪。 + +### 旅途第五天 · 大阪 + +晚上继续住进去第一天那个酒店了,相比东京的那个锦系町里士满酒店要小一点儿,不过真的都是麻雀虽小五脏俱全,该有的都有。 + +最后一天的任务很轻松,逛和买东西,不过我属于那种不喜欢囤东西的人,所以上次和这次药妆、卡通产品没有怎么吸引到我囤,最后一天活动区域在大板桥附近,随便走走看看。 + + + + + + + +
    + + + + + +
    + +首先发觉的就是游戏厅真多啊,而且好多老头甚至老太太在里面玩,真的是一种五彩斑斓游戏声音很大的感觉,然后看到了一个夹娃娃的厅,100 日元(5rmb)夹一次,我第二次居然夹到了一个不错的娃娃,很高兴,然后发现服务员也有帮助那种抓了好几次抓不到的人打开柜子帮忙移动到洞口。哈哈,很有趣的。 + +夹完就去哪儿附近的百货商场看了看,发现没有啥买的,最后到团队聚餐吃饭的时间了,就过去了,是一个烤肉局,肉还不错,居然有地方可以放下 30 多人,吃饱喝足差不多,就大家说好机场集合的时间,就去逛街去了。 + +这次去的 Parco,这个地方买东西这不错,奢侈品也不少,逛的第一家 GUCCI,款式很多,看到一个包很喜欢,我们就直接买下来了,感觉很赚的样子,一方面汇率 1:21,一方面免税,和国内相比好比打 7.5 折的样子,所有差不多买个包有一种赚了几千块多的感觉,后面去看了看鸟,一个很大的上下 2 层的店,最近很多人喜欢这个牌子,不过我感觉我实在欣赏不来,就给放弃了。 + +然后去逛了逛楼上的其他店,其实衣服相比国内差不多也是打 8 折,甚至 lulu 打 6 折的感觉,挺推荐大家去购物。 + +最后差不多就地铁去机场了,这里也是体验我觉得最不好的地方,关西机场其实不大,当天刚好周天,有不少回国的飞机,我们那个是 7 点起飞,我们差不多 4 点半去办的行李,排在停靠前的,结果居然排到了 7 点,飞机都要停止安检了,才进去几个人,也即大部分乘客都还没有安检在外面排着队,最后航空公司只能开一个便捷通道,快速安检,等到大家都进去以后再起飞。心想,卧槽,我们排了 2 个小时属于纯浪费了。然后最后的最后大概 10 点多到杭州了,收拾,睡觉,明天上班。 + +## 独特感受 + +### 人的方面 + +1. **在日本感觉很难丢东西**,有一个 case,当时我们在大阪的同学晚上去看烟火大会,下车的时候太充忙忘记拿包了,包里有最重要的两件东西,护照和身份证居然放到了一起,那可是一个急切啊,当时刚好是周五晚上,第二天是周末,第三天需要回国,然后后面去报警,去找地铁工作人员报备,都做好去大使馆下周一上班办理回国的手续的事情了,结果在周六早上 7 点 50 在酒店附近的地铁站就给送到了,有惊无险的感觉,一方面对我其实很触动,我的印象中日本属于干活不急不慢的感觉,在这种对方紧急的事情上确做得这么好。 + +2. **大部分人很不喜欢打扰他人且很有强迫症**,这一点属于我在两次新干线上的关注,旁边坐的是日本人,吃一个便当店买的很精致带木盒子的便当,从拆包装的过程声音很轻,然后吃饭居然没有声音..过一会儿全部给吃完了,然后又原封不动的把东西整理好,最后用绳子给系上,看起来和当时拿出来的样子居然没啥差别,当时有些想竖个大拇指,顿时觉得我是一个假强迫症了。 + +3. **大部分日本女生的装束都是可爱风精致感觉**,对于年轻女生一般是前面刘海微微卷一下,打扮很精致,脸部会抹点儿腮红,然后下半身不少是光腿裙子,关于冬天年轻女生喜欢光腿穿裙子在 5 年前去日本也发现了,很是惊讶。然后对于结婚后年纪稍微大一点点的女性一般是鱼尾裙,很多鱼尾裙,整体而言打扮都很精致,也有可能是我在东京这种热闹城市的缘故。 + +4. **发现中年人都特别喜欢用翻盖手机壳**,这里后面我查了查,一是更好保护隐私和手机防摔,另一方面日本卡类比较多,用这个塞卡使用很方便。在手机型号方面 iPhone 很多,几乎没有见到过新版本,很少见到有人使用带灵动岛的 iPhone,还发现好几个手机壳边角都坏了还在使用的,这里不太清楚原因也不评价。 + +5. **还有少量男生打扮得很日系动漫**,不多但挺精致,期间碰到了 5 ~ 6 次这样的场景,比如说蓝偏长的头发,化妆,有美甲,还有些脖子上弄个黑色的箍子,大概可以想象出来是啥样子。 + +6. **年轻人居然很能喝酒**,记得第一晚在当地的大排档吃烧烤,很多本地年轻人的桌子上都是那种大杯子装啤酒,甚至看到好几个女生,几口一大杯酒就给干完了,很是厉害,而且很是开心的感觉。 + +### 生活方面 + +1. **店铺支持好多种形式的支付**,国内更多是支付宝、微信就差不多了,他们便利店甚至支持几十种支付方式,有点儿像主动去适配各种,甚至还有香港、台湾那种我不太认识的支付方式,让各国的人在那儿都可以付上钱,这里还有一点很牛逼,支持现金和机器自动找零钱,甚至在酒店办理入职交押金的时候,机器还可以吐出硬币来找零,有些惊讶了,不过日本大部分看到的本地人还是现金银行卡使用比较多,交通西瓜卡支付的也不少。 + +2. **点菜的在线工具有点儿老旧简单的感觉**,相比国内而言在性能体验美观度上做得差距很大了,甚至很多时候烧烤的点菜的图片居然还是烧烤前拍的生的食物的那个感觉,不少还没有图片,这里在国内就不太敢想了。不过这里也有一个优点,就是日本大部分线上工具,比如说订座、点菜都是不需要登录的,直接扫码进去就可以用。 + +3. **便利店里面的牛奶比水居然要便宜**,很神奇的感觉,包括水果很贵,这一点之前也在社交网看过,买 2 根香蕉差不多人民币 15 块的样子。 + +4. **当地吃的味道普遍偏淡**,这里聊到吃的当天的烧烤烧的,普遍有点儿原味的感觉,这边比较流行吃应季新鲜原味食物,包括后面几天吃的烤肉类的也是,突然吃点儿还行,要是长期吃对于湖南人这种口味还是有些受不住。 + +5. **公共厕所的马桶很干净有坐垫加热有温水冲洗**,用了几次公共类厕所,基本上这些功能都有,甚至在酒店一楼的公共厕所,还有自动的白噪音水流声音,应该是避免尴尬啥的。 + +#### 交通工具方面 + +1. **路上跑的车都超级干净**,这一点很出乎我的意料,他们是天天洗车吗?甚至连拉货的车都是干干净净的,轮子上也没有泥土,很多小车看着其实有年代感了,但是真的很干净。 + +2. **日本地铁、公共交通都不需要安检,也无需实名**,买票就能走,甚至新干线(类比我们高铁)也不需要实名安检,有一种很被信任的感觉。 + +3. 他们 **交通工具非常非常准时**,甚至你可以从谷歌地图上看到每一趟车的时间表,基本上不会出现任何误差,所以你只需要在提前 1 分钟到达你的站台,基本上都没啥问题。 + +4. 日本地铁做了**很多细节易用性优化**,比如说地铁坐垫有点儿像高铁那种软布包裹,甚至居然还有加热,这点儿有些突破意料,同时站立处的拉手的高度居然也是高高低低都有,方便不同高度的人可以握到。 + +5. 虽然有不少地铁比较老旧,有些坐着有一种做小时候绿皮车那种声响,但是乘客**都很安静**,基本上没有啥说话的声音,有点儿古板感又有点儿出乎意料。 + +### 工作方面 + +1. **日本的假期是真的多,而且没有调休这个操作**,还有一个有趣的是比如说周二是一个节假日,一般公司会周一也给员工放了,这样可以凑上 4 天,周四也是,会凑上周五一起,而且本身假期也各种各样,比如说各种天皇的出生日和去世日也放假,随着历史越来越长,感觉会越来越多,甚至还有成人礼日,春分、绿之日、海之日、山之日、秋分、体育之日、文化之日这种假日。 + +2. **日本上班居然没有迟到的,都很准时**,特别在东京明显感觉到早上上班的人是一种小步快跑的感觉,后面问了问朋友,原来是日本人认为迟到是一种不被信任的感觉,所以会特别重视上班不迟到,加上公共交通很准时,所以就卡点就好,我问朋友有没有特殊情况,还真有,比如说地铁不小心晚点了,会给每个人发一张晚点证明,用于大家给公司交差,也是很有趣。 + +3. **日本工作有健全的社保制度,规则感很强**,听起来是他们对于大企业都有对应的工会,能够很好帮助员工来维护一些权益,包括对于加班的工资、年假、保险保障什么的,和中国企业相比相当于多了一个第三方组织保障。假如一个日本人进了一个大企业,加上不少有终身雇用,对于比较想安稳的人其实就类比我们之前公务员的感觉,很有保障,不过也有一个弊端,就是对于有想法的人很多时候换工作的成本会比国内大不少。 + +4. **日本不少年轻人悟得比较早,在没有阶级跃迁情况下会偏躺平**,问了问普遍认为的阶级跃迁是年薪超过 1000w 日元,大概人民币 50w 以上,其实这里也暴露出其实日本高工资没有我们想象得高,但是由于福利好,贷款利率极低,好比这个工资属于他们的可支配使用的钱,所以其实也挺多的,所以很多时候当地年轻人意识到无论怎么努力只是稍微涨一点,远到不了这个阶段,所以更多还是躺平的方式来上班。 + +5. **日本工作场景下大部分人需要穿西服,比较正式**,刚好那一天是周五,看了看早上的上班族,大部分都是西服,穿着比较正式,后面听朋友说甚至不少程序员有时候跑客户也是需要这样,很神奇。 + +## 收尾一下 + +这次日本之行,通过眼见为实的方式去修正自己一些之前的偏见,即使也体会到了东京人实在太多了、空间窄、酒店小、日常东西比国内贵、路人很正经甚至有些“古板”的这些非优点的感受,但整体而言,社会的发展水平、公众的素质、公共设施的友好性还是很值得学习和向往的。 + +这几年我的旅行对于目的地打卡兴趣不是那么大,更多喜欢去观察当地的人、事、生活方式,然后和自己经历的去做一些反思对比,对于一些不理解的东西通过查阅的方式了解更多,这种“装模做样”学知识的过程其实很有趣,或许也是旅行的意义。 diff --git a/_posts/2023-12-23-fe.md b/_posts/2023-12-23-fe.md new file mode 100644 index 00000000..fec0c689 --- /dev/null +++ b/_posts/2023-12-23-fe.md @@ -0,0 +1,21 @@ +--- +layout: post +title: 不喜欢前端娱乐圈这种氛围 +date: 2023-12-26 16:00:00 +summary: 其实我个人挺不喜欢「前端娱乐圈」这种氛围,最近推上还出现了前端之十二生肖,一时不知道是自嘲还是娱乐。 +categories: Thought +--- + +其实我个人挺不喜欢「前端娱乐圈」这种氛围,最近推上还出现了前端之十二生肖,一时不知道是自嘲还是娱乐。 + +我认为技术圈应该有更多的技术交流、碰撞、分享,而非博眼球、撕逼争热度,这类多了自然就被大家认为娱乐圈了,很多时候非正常逻辑发展的事情会更容易聚集流量和讨论,进一步推动这个氛围往前走,变得更差。 + +我认为前端是各类程序员岗位中最有趣的一类,点子多、会编程、有审美的综合体,用「黑客与画家」来描述特别合适,正是当时大学在图书馆看了这本书后从后端转到了前端,那时相比 JS 更喜欢写 CSS/Canvas/WebGL,因为可以用代码做成特别炫酷的效果,还可以对一个东西反复改来改去到自己满意的地步,这个过程很爽。 + +10年前国内技术氛围真心挺好的,有不少前辈分享各类技术实现,社区里面技术讨论也热闹非凡,当时 CNode 对我很有帮助,不少人是真的不求回报的分享,也正是这些引路人吸引了不少学生了解前端,学习前端,最后找到一份自己很喜欢又可以赚钱的工作。 + +很期待现在的技术氛围能够在开源、分享、技术碰撞上变得越来越好,当然现在推上也有很多我超级喜欢的技术朋友在技术分享 AI、分享技术思路、分享最近做的好产品,守护好这一块技术人喜欢的东西。 + +最后想用陈皓哥在「谈谈我的“三观”」文章中面对社会这里面的这句话来结尾。 + +> “把时间多放在一些想法上,对自己、对社会都是有意义的,而把时间用来八卦别人,说长道短,你既不可能改善自己的生活,也不会让你有所成长,更不会提升你的影响力。记住,你的影响力不是你对别人说长道短的能力,而是体现在有多少人信赖你并希望得到你的帮助。因此,多交一些有想法的朋友,多把自己的想法付诸实践,哪怕没有成功,你的人生也会比别人过得有意义。” diff --git a/_posts/2023-12-30-30.md b/_posts/2023-12-30-30.md new file mode 100644 index 00000000..5c41768c --- /dev/null +++ b/_posts/2023-12-30-30.md @@ -0,0 +1,15 @@ +--- +layout: post +title: 我居然 30 岁了 +date: 2023-12-30 16:00:00 +summary: 过完今晚我居然就满 30 岁了,一直很无耻的感觉自己才 24 岁,虽然在这之前,我更无耻的认为自己才 18 岁,真不敢想象时间怎么过得这么快,年纪好像是一个从山顶滚下来的轮子,随着时间拉长越滚越快。虽然经历越来越丰富,但一年的时间长度感知明显比小时候得短很多,还是会有些惋惜和遗憾。 +categories: Thought +--- + +过完今晚我居然就满 30 岁了,一直很无耻的感觉自己才 24 岁,虽然在这之前,我更无耻的认为自己才 18 岁,真不敢想象时间怎么过得这么快,年纪好像是一个从山顶滚下来的轮子,随着时间拉长越滚越快。虽然经历越来越丰富,但一年的时间长度感知明显比小时候得短很多,还是会有些惋惜和遗憾。 + +发现身边不少人随着时间的变化,慢慢的就有那个年纪该有的样子,好比到了要转变的时候,会自动升级一样,比如说从学生踏入社会里面就变成了一个成人,从年轻人到有小孩以后就立马变成了成熟父亲角色。我感觉我在角色变化上一直是被外力推着走的,甚至有些别扭,有一种心态还是大学阶段的没啥变化的感觉,很像送快递作者胡安焉在文章中说的那个感觉。不过这种稚嫩心态我反而没有阻碍到我,反而还让我活得更轻松好奇一些,可能是当时大学稀里糊涂喜欢上了敲代码,在 15 年毕业时走狗屎运找到了喜欢的程序员工作,不需要过于考虑社会人情世故,要是没学计算机去做了其他的行业,可能会很难适应现在这个社会。 + +应该是在工作 2 年后,等到 95 后入职,逐步发现自己不是团队中年纪最小的了,然后慢慢发现 97 的在团队里成为中坚力量,到现在 00 后开始来实习了,不由的感叹,年轻真好啊,年轻人真不错啊,优秀的年轻人很多地方很值得学习,会更有意识的去培养有潜力年轻人,给到更多空间挑战,不喜欢按资排辈的去安排事情,而是觉得能力牛逼和年纪无关。 + +回到现在 30 岁,希望能一直保持住 too young too simple,希望到 40 岁、50 岁、甚至 60 岁的时候心态还是年轻的那种感觉,依旧潮流,依旧写自己喜欢的代码。不跟风,不攀比,不要变得油腻,不要变得年轻时候讨厌的那种中年人好为人师的样子,让自己舒舒服服过日子就够了。 diff --git a/_posts/2024-01-13-open.md b/_posts/2024-01-13-open.md new file mode 100644 index 00000000..47a1aa82 --- /dev/null +++ b/_posts/2024-01-13-open.md @@ -0,0 +1,93 @@ +--- +layout: post +title: 我的开源成长之旅 +date: 2024-01-12 16:00:00 +summary: 在微软上海 Github Universe 2023 的一个分享,主要是讲我从大学开源到现在 9 年做的一些有趣的事情,以及如何做好一个开源产品的经验,希望可以给热爱开源的朋友一些输入。 +categories: Share +feature: https://gw.alicdn.com/imgextra/i1/O1CN01VkShRI1YtdSHs52rJ_!!6000000003117-0-tps-1920-1080.jpg +--- + +在微软上海 Github Universe 2023 的一个分享,主要是讲我从大学开源到现在 9 年做的一些有趣的事情,以及如何做好一个开源产品的经验,希望可以给热爱开源的朋友一些输入,现场分享视频在文章后面,感兴趣的小伙伴可以一看。 + +> 我的 Github: + +## 分享稿 + +![](https://gw.alipayobjects.com/zos/k/open/01.jpeg) + +![](https://gw.alipayobjects.com/zos/k/open/02.jpeg) + +![](https://gw.alipayobjects.com/zos/k/open/03.jpeg) + +![](https://gw.alipayobjects.com/zos/k/open/04.jpeg) + + + +![](https://gw.alipayobjects.com/zos/k/open/15.jpeg) + + + +![](https://gw.alipayobjects.com/zos/k/open/19.jpeg) + + + +![](https://gw.alipayobjects.com/zos/k/open/22.jpeg) + +![](https://gw.alipayobjects.com/zos/k/open/23.jpeg) + +![](https://gw.alipayobjects.com/zos/k/open/24.jpeg) + + + +![](https://gw.alipayobjects.com/zos/k/open/29.jpeg) + +![](https://cdn.fliggy.com/upic/H1yP9F.jpeg) + + + + + + +![](https://gw.alipayobjects.com/zos/k/open/36.jpeg) + +![](https://gw.alipayobjects.com/zos/k/open/37.jpeg) + +![](https://gw.alipayobjects.com/zos/k/open/38.jpeg) + +![](https://gw.alipayobjects.com/zos/k/open/39.jpeg) + +![](https://cdn.fliggy.com/upic/2iGuqc.jpeg) + + +![](https://cdn.fliggy.com/upic/A7RFMH.jpeg) + + +![](https://cdn.fliggy.com/upic/ZIrSwR.jpeg) + + +![](https://gw.alipayobjects.com/zos/k/open/46.jpeg) + + + +![](https://gw.alipayobjects.com/zos/k/open/51.jpeg) + + + +## 现场视频 + +{::nomarkdown} + +
    + +
    +{:/nomarkdown} + +## 现场照片 + +![](https://gw.alicdn.com/imgextra/i3/O1CN019vFlyq1IcCWiCfraO_!!6000000000913-0-tps-4800-3200.jpg) + +![](https://gw.alipayobjects.com/zos/k/4b/IMG_7420.JPG) + +![](https://gw.alipayobjects.com/zos/k/k3/IMG_7416.JPG) + +![](https://gw.alipayobjects.com/zos/k/hl/IMG_7422.JPG) diff --git a/_posts/2024-02-09-tools.md b/_posts/2024-02-09-tools.md new file mode 100644 index 00000000..4a3884c1 --- /dev/null +++ b/_posts/2024-02-09-tools.md @@ -0,0 +1,153 @@ +--- +layout: post +title: 我的年度工具折腾之旅 +date: 2024-02-09 16:00:00 +summary: 最近趁着过年有空,将一年自己使用的比较不错的 Mac 软件、网站、生活好物给整理了一下,保持着简单易用美观的原则,期待当你有同样选择纠结的时候的一些帮助。 +categories: Share +feature: https://img.alicdn.com/imgextra/i1/O1CN01kIwTkb1D3mgkwzqtV_!!6000000000161-0-tps-5712-4284.jpg +--- + +最近趁着过年有空,将一年自己使用的比较不错的 Mac 软件、网站、生活好物给整理了一下,保持着简单易用美观的原则,期待当你有同样选择纠结的时候的一些帮助。 + +## Mac 软件 + +今年没有过多的折腾软件,更多是在持续使用的基础上去做些优化让自己用起来更舒服,尽量不用两种功能类似的软件,保持简单易用美观的原则,这是我今年使用的比较不错的 Mac 软件,假如你也喜欢折腾,可以将一些没有用过的软件下载起来玩玩。 + +![](https://cdn.fliggy.com/upic/x7M782.png) + +### 今年最爱 + +1. [**妙言**](https://github.com/tw93/MiaoYan/):一个自己 3 年前开发的简单易用的原生 Markdown 笔记应用,使用过程中持续更新着。 +2. [**ChatGPT 桌面端**](https://github.com/tw93/Pake):通过自己开发的 Pake 打包官方 GPT 网页版本的桌面端,注入了样式和脚本方便更好使用,通过快捷键唤起每天使用。 +3. [**MessAuto**](https://github.com/LeeeSe/MessAuto):一个接收手机短信验证码并自动回填到 Mac 上的小工具,很好用,解决了每次从手机看然后手填的麻烦。 +4. [**Alacritty**](https://github.com/alacritty/alacritty):一个用 Rust 写的命令行终端,之前博客有发过 [改良了下传说中最快的终端](https://tw93.fun/2023-02-06/alacritty.html) 这篇文章,很快很简单很漂亮。 +5. [**Top Calendar**](https://guojiubo.github.io/zh/):一个菜单栏的日历软件,可以看到日历、节假日、农历,以及最近的日程,关键也是做得很美观。 +6. [**Shottr**](https://shottr.cc/):超级喜欢的一个截图软件,平时大家看到我发的推对应截图不少通过他自己截取的,同时也支持滚动截图、标注等功能。 +7. [**Raycast**](https://www.raycast.com/):这个全局搜索工具超级好用和强大,假如你还在用 Alfred,很推荐你试试,此外他的出现,通过插件还可以帮你干掉很多软件。 +8. [**Bob**](https://bobtranslate.com/):随手翻译软件,配置了 OpenAI 的服务,划词一键翻译,快捷键唤起翻译,多个翻译对比结果,很是喜欢。 +9. [**uPic**](https://github.com/gee1k/uPic):一个超级方便的图片上传软件,可以用 FaaS 写一个上传服务或者直接使用云厂商的 OSS 服务,可以一键上传直接复制使用。 + +### 输入输出 + +1. [**MindNode**](https://www.mindnode.com/):可以画出很好看的脑图的工具,从工作开始用了快 8 年了,用于脑暴快速思考使用。 +2. [**NetNewsWire**](https://github.com/Ranchero-Software/NetNewsWire):RSS 订阅软件,我的大部分资讯和技术文章阅读来源于 RSS,通过这个工具给我推送阅读。 +3. [**Things**](https://culturedcode.com/things/):很简洁的备忘 Todo 软件,正是由于太简单了,反而能够让你更加聚焦使用。 +4. [**Revezone**](https://revezone.com/index.html):最近 Excalidraw 帮了我很多忙,用于产出一些产品的原型便于团队同学快速去落地,Revezone 这个工具支持不错的中文字体以及多 Tab 使用,解决了之前单实例的问题。 +5. [**VSCode**](https://code.visualstudio.com/):依然是我用得最多的代码编辑器,甚在什么代码都可以打开直接修改,同时美观。 +6. [**WebStorm**](https://www.jetbrains.com/webstorm/):项目场景开发使用,之前博客有发过 [你居然还在用 WebStorm](https://tw93.fun/2021-07-09/webstorm.html) 文章,特别喜欢他的 git 比对功能,很稳定,没有软件做得他那么好用。 +7. [**Spotify**](https://www.spotify.com/):我的多设备音乐播放软件,之前有推荐过,喜欢他的简单和歌曲丰富音质不错。 +8. **邮件**,没错就是苹果默认的邮件,可以简单设置一下,之前有发过 [推](https://twitter.com/HiTw93/status/1709358419617128678),让他的侧边栏隐藏,各个邮箱置顶 Tab 的方式,很方便使用。 + +### 效率工具 + +1. [**Edge 浏览器**](https://www.microsoft.com/en-us/edge?ep=313&form=MA13M0&es=40):这个浏览器我属于又爱又恨,有试过 Arc 奈何还是有些复杂最多坚持一周,主要用 Edge 的最大原因是垂直标签栏以及性能速度很不错,博客有写过 [2023 我的浏览器折腾之旅](https://tw93.fun/2023-08-20/edge.html) 可参考。 +2. [**Thorium 浏览器**](https://thorium.rocks/):由于 Edge 还不是很美观,年中的时候发现了一个超级快以及可以自定义不少能力的浏览器,我会时不时切换到这个使用,说不定哪天直接替代了 Edge。 +3. [**ScreenFlow**](https://www.telestream.net/screenflow/overview.htm):我的默认录制屏幕和编辑视频的软件,很耐用的一个软件,使用起来简单强大,我一般用它来录制产品演示以及加速视频。 +4. [**TotalFinder**](https://totalfinder.binaryage.com/):很强大的 Finder 代替工具,让他变成类似 Chrome 多 Tab 这种体验,同时和原有的很像,增加了不少有用的功能比如说剪切。 +5. [**App Cleaner & Uninstaller**](https://nektony.com/mac-app-cleaner):软件卸载工具,对于一个常常试用软件的人,这个卸载得很干净的工具很需要,界面漂亮功能好用。 +6. [**Stash**](https://stash.ws/):科学上网工具,由于多端使用,特别是 Apple TV / 手机 / 电脑不想来回折腾 ,加上作者持续迭代着,还不错。 +7. [**Dozer**](https://github.com/Mortennn/Dozer):帮你隐藏顶部菜单栏多余的应用图标,对于一个强迫症,只能允许需要的软件出现。 +8. [**Input Source Pro**](https://inputsource.pro/zh-CN):推友开发的一个输入法自动切换工具,用了好久了,使用起来很默默无闻,但是帮我节省了很多时间。 +9. [**Drop**](http://dropyourcolor.com/):取色软件,特别是 UI 开发过程中,假如想去配一个好看的颜色,可以借助这个工具看看做得好的软件的颜色是什么。 +10. [**DMG Canvas**](https://www.araelium.com/dmgcanvas):用于 Mac 开发中编辑产生 dmg 安装包的工具,做得很简单易于使用。 + +## 工具网站 + +这次从 [**潮流周刊**](https://weekly.tw93.fun/) 2023 年近 50 篇文章中选择出一批我常用的学习/视听/工具/素材的网站。 + +![](https://cdn.fliggy.com/upic/qCwDNl.png) + +### 学习类 + +1. [**Language Reactor**](https://www.languagereactor.com/):一个很不错的学习英语发音工具,透过观赏外语电影与电视剧,愉快且有效地自学新的语言。 +2. [**YouGlish**](https://youglish.com/):使用 YouTube 来提高你的英语发音,告诉你真实人们在什么情境下说英语。 +3. [**元素周期表 PRO**](https://pt.ziziyi.com/):高颜值化学必备工具,很适合喜欢化学的小伙伴,通过可视化的方式来展示元素周期表。 +4. [**Dribbble**](https://dribbble.com/):一般通过这个来看一些不错的设计师作品,提高自己的审美。 +5. [**美叶**](https://www.meiye.art/):设计内容推荐平台,相比 Dribbble,本土化做得更好,设计相关的素材学习特别丰富。 +6. [**Supercreative**](https://supercreative.design/):一千个灵感网站收集,当你没有好的想法的时候,可以去看看。 +7. [**MuscleWiki**](https://musclewiki.com/):肌肉锻炼网站,可以很清楚看到你想锻炼的地方应该怎样来练习。 +8. [**every-programmer-should-know**](https://github.com/mtdvio/every-programmer-should-know):将每个软件开发人员都应该知道的技术事项的集合进行了整理,包括计算机科学、算法数据结构、分布式、正则、安全、可用性、代码设计、工程哲学等,适合喜欢钻研的同学。 + +### 视听类 + +1. [**SkylineWebcams**](https://www.skylinewebcams.com/):一个全球高清摄像头实时分享,通过他你可以看到耶路撒冷的西墙、埃特纳的火山爆发、南非头水坑的大象,甚至苏梅岛夜店门口的路景。 +2. [**EarthCam**](https://www.earthcam.com/):可以看到世界各地的城市风景、建筑、甚至动物园、海洋馆里面的实时直播,甚至还可以看到有人分享的鸡蛋孵化小鸡的过程。 +3. [**City Walks**](https://www.citywalks.live/):一个在各个城市散步的网站,实时观看来自全球各地的城市街景,了解当地氛围景色要好不少。 +4. [**NASA Eyes**](https://eyes.nasa.gov/):一个很牛逼的三维太空可视化探索工具,可以实时体会到从太空可地球、行星、卫星运行状态、位置,对于星文爱好者甚至可以用这个来探索下太阳系和宇宙中好玩的东西。 +5. [**Radio Garden**](http://radio.garden/):通过全球地球 3D 可视化的方式浏览不同国家城市的高质量广播,甚至还可以发现众多各种风格的小众国外音乐。 +6. [**Music For Programming**](https://musicforprogramming.net/):一个很适合编程时听的音乐 MusicForProgramming 工具,作者精挑细选了不少音乐有助于让减少分心,帮助你更加专注,有一点点心流的魔法。 + +### 工具类 + +1. [**Shots**](https://shots.so/):我很喜欢的一个截图生成的工具,可以生成漂亮的各种格式风格的截图背景。 +2. [**Upscayl**](https://www.upscayl.org/):AI 图片放大工具,也提供客户端的能力,超级方便好用。 +3. [**AllinOneTools**](https://allinone.tools/):使用一个工具完成各种文件格式的转换,包括图片、PDF、视频、网页等。 +4. [**IT Tools**](https://it-tools.tech/):一个很全的给开发人员提供方便的在线工具的网站,好比工程师的瑞士军刀。 +5. [**WakaTime**](https://wakatime.com/):支持各种代码 IDE 的时间/类型/项目的指标监控度量工具,可以看你敲了多少代码。 +6. [**OrbStack**](https://orbstack.dev/):一个超级漂亮轻量的用于替代 Docker、Linux 的 Mac 工具。 +7. [**Bio Link**](https://bio.link/):一个简单的个人链接网站,可以将自己作品地址放到上面,用于汇总展示。 +8. [**Reactive Resume**](https://rxresu.me/):一个免费开源的简历编辑工具,适合要找工作的人使用。 +9. [**Nomad List**](https://nomadlist.com/):收集和展示了数千个城市的数字游民指数,包括成本、网络速度、生活质量等,你可以探索到一个最适合工作和生活的地方。 + +### 素材类 + +1. [**macOSicons**](https://macosicons.com/#/):超过 5000 个适用于 macOS 和 iOS 的免费图标,常用于替换 Mac 上面软件不好看的图标保证统一风格。 +2. [**Pexels**](https://www.pexels.com/zh-cn/):免费的图片和视频素材的网站。 +3. [**Loose Drawing**](https://loosedrawing.com/):可商用的插画素材,一个日本设计师弄的,里面的风格挺不错的。 +4. [**ManyPixels**](https://www.manypixels.co/):矢量图插图下载网站,一些深色背景的也比较合适使用,每一张图都做得很细腻精致。 +5. [**Mockups Design**](https://mockups-design.com/):一个免费的高质量真实世界的模版素材下载的网站,比如手 3D 物体、画册、名片等素材样张 PSD 文件。 + +## 生活好物 + +工程师其实除了软件代码外,更需要有生活和爱生活,赚钱的意义最终是为了更幸福的生活,这里给大伙推荐下我使用下来觉得可以提高幸福感的生活物件,假如你有选择困难症,或者刚好在装修,说不定可以参考一下。 + +![](https://cdn.fliggy.com/upic/5y33k2.jpg) + +### IT 设备 + +1. **电脑**:MacBook Pro M2 32GB 16 寸深空灰,相比之前 19 款要快太多了,我由于不用显示器,所以电脑尽可能选屏幕大的。 +2. **手机**:iPhone 15 Pro 256GB 原色,相比之前的 13Pro 外观质感要好不少,很轻,对于常用的设备很建议在力所能力下买更好的。 +3. **耳机**:AirPods Pro2,之前 Pro1 用了 3 年左右,之后把其他耳机都给咸鱼了,现在只有这个耳机,完全满足日常各种场景使用。 +4. **手表**:Apple Watch Series 7 星光色,买了几年了,属于美丽小废物,换了官方尼龙回环表带佩戴无感,假如只当做手表那么不值,当做装饰和健康监控,那还可以。 +5. **路由器**:[小米 AX9000](https://u.jd.com/jiNKzm2),一个大黑块头,性能和网速很强劲,覆盖全屋,加上宽带很便宜,在家里体会看网飞 4K 视频快进拖动很顺畅。 +6. **椅子**:永艺人体工学椅 MC-1128E 灰白色,椅背可升降,腰靠可角度调节,隐藏式拉脚踏,可倾仰,山姆买的,很舒服性价比很高。 +7. **台灯**:[米家台灯 1S 增强版耀夜黑](https://u.jd.com/jsNCMq0),之前推特有发过,做得实在太太精致好看了,我平时用电脑和看书的时候会打开,灯光不错。 +8. **充电宝**:[安克自带线 10000 毫安 30W](https://u.jd.com/juNMRUw),出门旅游前买的,现在发现很好用很美观,甚至有时候在客厅不想用插线,包括给家里其他设备充电直接插上就好,很方便。 + +### 家庭影院 + + + +1. **盒子**:[Apple TV 7](https://u.jd.com/julUGD5),之前有在推特和博客都推荐过 [我的家庭影院入门实践](https://tw93.fun/2023-09-29/tv.html):Apple TV 我愿称之为年度最值的产品,太太太简单好用了。 +2. **电视**:[索尼 X90L 75 寸](https://u.jd.com/jiNLA2v),当时买电视的时候去线下对比了不少,在性价比考虑范围内选择这款,用下来体验的确电视只有索尼和其他,不过假如你有钱,建议买越大越好。 +3. **音响**:[三星 Q600B 回音壁 + 后环绕 9200S](https://u.jd.com/jsNMT51),价格比较实惠,效果相比直接电视发声好太多了,买了回音壁很建议加上后环绕。 + +### 小家电 + +1. **咖啡机**:德龙 ECP33.21.W 半自动咖啡机,咖啡机属于我生活中最最最幸福感的一个机器了,之前推特有推荐过配套设施,太喜欢了。 +2. **空气炸锅**:松下 NF-HCSAM400,逛山姆时候买的,299,后面经常用来烤面包烤鸡翅,很不错的,同时白色的颜值很高。 +3. **电饭煲**:[东芝 1H RC-10HPC](https://u.jd.com/jqNQ2Wh),想着吃上香喷喷的米饭,就买了一个稍贵的电饭煲,这里家里过来一致觉得煮饭好吃。 + +### 大东西 + +1. **玩具车**:特斯拉 Model3 红色,远远看就像一个小时候喜欢的玩具车,很喜欢简单美感的产品,买了 2 年多了,生活半径大了很多,优点远大于缺点。 +2. **自行车**:[大行 P8 消光黑折叠车](https://u.jd.com/j8Nrpae),这个车太太太喜欢了,线下购买,很好骑,之前有写过 [我的自行车入门实践](https://tw93.fun/2023-10-06/dahang.html) 可参考。 +3. **洗衣机**:LG 洗烘套装 [FY11MW4 + RH10V9PV2W](https://u.jd.com/jqN6U4A),买洗衣机也做了很多功课,很多网上图片吹得花里胡哨,线下一看其实质感很一般,看来看去 LG 性价比美观上都不错,最后使用下来体验很好,洗完衣服直接烘干就收起来了。 +4. **冰箱**:松下 [NR-W591-CP-W](https://u.jd.com/j8NuXJo) 十字对开门白冰箱,好看的要么太贵,买么尺寸不合适,这款价格、尺寸、功能、美观刚刚好,关于选冰箱小红书上有很多最佳实践,可以线下看看,不过第一选择应该是尺寸是否 OK。 +5. **床垫**:Serta 舒达肖恩床垫,买床垫属于所有东西里面最费力气的事情,因为品牌很多,而且很多需要实际睡过才知道感觉,很多我感觉不值那个价,第一考虑舒适度,想起五星级酒店床垫不错,查了查希尔顿、万豪这种用的舒达家的,最后线下买了,包裹感很强基本上每天很快入睡,翻身也没啥动静。 +6. **净水器**:[史密斯佳尼特 CAR800-FA1](https://u.jd.com/jzNnCp5),家里相当于不需要再买桶装水了,支持热水、温水、冷水直饮,这款性价比 OK,其他的都很好,不过有时间假如我需要接很多开水的时候就需要分几次,还好这种场景不是很多。 + +### 智能工具 + +1. **门铃**:[小米智能门铃 3](https://u.jd.com/j8NqbVV),这个不到 300 的小东西,我愿称为最该买的一个东西,充一次电可以用半年,充当门外摄像头和门铃两大功能,安装在门锁上方,和原有的锁很搭配,完全不突兀。 +2. **洗手机**:[苏泊尔自动感应泡沫洗手机](https://u.jd.com/j8NQOLH),这个小东西放洗手间超级实用,灌入洗手液,充一次电可以用半年,手放到瓶身,自动出泡沫。 +3. **电动牙刷**:[Usmile Y10 曜黑](https://u.jd.com/jqNDKyJ),价格合适,充一次电用半年,带一个小屏幕现实电量、模式,居然还支持检测你没有没有刷到位,相比之前买的其他品牌新价比高很多。 +4. **音箱**:[小爱音箱 Pro](https://u.jd.com/j8N3TjW) 小黑桶,用过其他的音箱发现都不那么聪明,结果小爱还好,能用,也不多嘴,用来中枢控制家里的设备还不错。 +5. **窗帘**:[米家智能窗帘 1S](https://u.jd.com/jQNs0rz) ,卧室自动窗帘是我认为最有用的智能设备了,早上开,晚上关,一句话就好了,为啥选小米,还是由于不太熟悉这个领域,就选了性价比高的。 +6. **扫地机器人**:[石头 p10 pro](https://u.jd.com/jsNrhK3),使用起来还不错,就是声音有些大,或许大部分扫地机声音都大,当时做了点功课选择了这个,买后几乎没有拖过地,选择外出后自动扫拖,解放了不少。 +7. **阳台灯**:[美的雷达光感人体感应吸顶灯](https://u.jd.com/j8NrYv3),把之前的灯给换了,现在只需要满足黑夜以及外面有人走动就自动开和关,还是比较方便。 +8. **温湿度计**:[米家温湿度计 3](https://u.jd.com/juN3sm4),属于美观的装饰品,默默无闻,但是很多时候看看家里的温度、湿度还是很不错的。 + +--- + +最后,生活需要一些有趣的东西,保持折腾,保持喜爱,保持年轻,保持热爱,同样也祝你幸福。 diff --git a/_posts/2024-02-13-my-2023.md b/_posts/2024-02-13-my-2023.md new file mode 100644 index 00000000..83fb2fb0 --- /dev/null +++ b/_posts/2024-02-13-my-2023.md @@ -0,0 +1,167 @@ +--- +layout: post +title: 2023年总结 - 随心而行 +date: 2024-02-13 16:00:00 +summary: 今天是大年初四,哈哈我的年度总结又拖延了,2022 年总结「率性而活」也是这个时候,这一年根据自己喜好做了不少想做的事情,小标题就叫「随心而行」吧,打算通过自问自答的方式来聊聊我 2023 年的有趣生活、折腾、工作。 +categories: Life +--- + +今天是大年初四,哈哈我的年度总结又拖延了,22 年总结「率性而活」也是这个时候,23 年根据自己喜好做了不少想做的事情,小标题就叫「**随心而行**」吧,打算通过自问自答的方式来聊聊我这一年的生活、折腾、工作。 + +## 生活 + +一直觉得,假如日子每天过得都一样,那么这天就我被浪费掉了,所以我尽可能想着多去经历些不一样的事,多去见些不一样的人,这样的生活才有意思些。 + +### 一. 23 年发生了哪些有意思的事? + +![](https://gw.alipayobjects.com/zos/k/bw/IMG_4743.JPG) + +3 月,天气不错,去杭州周边踏春了下,看看新绿,还看了不少樱花,拍了下照片做潮流周刊的封面图,**去了好多个不错的新咖啡店喝了喝咖啡**,周末带着电脑去写代码。 + +4 月,去千岛湖度了个假,记得一个鱼头 200 块还很难吃,商业气息有些重下次就不去了。月底还晚上去了趟西湖,体会了下 0 点年轻人的西湖,听到了万青的「杀死那个石家庄人」,很激情。 + +5 月,做了个 **全飞秒近视手术**,把我 10 多年的眼镜给摘了,不戴眼镜很爽,这个月记忆深刻的就是天天滴眼药水以及视力恢复的这个过程很神奇。 + +6 月,天气很热,不少时间周末在咖啡馆敲敲代码,剩余的时间都在逛家具和电器,看书桌、餐桌、电视柜、冰箱、洗衣机这些东西,选这种东西我特别感兴趣,因为有一种买自己喜欢东西的快乐感。 + +7 月,月初去了一躺 **深圳 GIAC 大会** 分享「Pake-利用 Rust 轻松构建轻量级应用」,也是第一次去深圳,见到了好几年没见面的好哥们,后面还 **去了香港**,拍了不少照片,吃了不少东西,写了「香港和想象中不一样的地方」;下旬时候在掘金直播也分享了下 Rust 相关的内容;这个月我的 **MacBook Pro M2** 深空灰终于领到了,太太太喜欢了。 + +8 月,月初线下和 Thomas Yao、图拉鼎、明城、安不菲等朋友良渚聚了聚,还去莫干山喝了咖啡,聊得很开心;中旬去了趟王小波书店「我的精神家园」,很安静很有感觉,我很爱王小波的文章;下旬最快乐的事情是买了大行 P8 折叠车,后面几个月都骑车上下班,吹着微风很舒服,**现在居然累计骑行了 600 公里了**,很爽。 + +9 月,今年的一个大事,**从出租屋搬到了新家**,买了不少好看的家具和电器,弄了书房、猫屋,顺便搭建了个简单的家庭影院,慢慢有些过日子的感觉了,很满意。 + +10 月,国庆又开玩具车回了趟湖南老家,吃了不少好吃的,回来后不久**去了一趟重庆前端大会** 分享「新一代前端的困境与破局」,也见到了好久没有见到的蚂蚁的朋友,吃了当地老火锅,玩了个周末很巴适。这个月买到了 15 Pro,顺手把 13 Pro 卖了,这个月还开始养鱼了,买了鱼缸/鱼/水草,喂食、换水、看鱼,挺有意思。 + +11 月,疫情后的第一次出国,**去了日本东京、大阪玩了 5 天**,坐新干线见到了梦寐以求的富士山,上了晴空塔看东京夜景,去了东迪、银座,还和妙言的日文开发者甘吃了个饭聊得很开心,还给老婆买了个 GUCCI 的包,很好看,她很开心。 + +12 月,**去上海微软 GitHub Universe 分享「我的开源成长之旅」**,见到了 Github 的 VP Scott Densmore,让我意识到能讲好英语在开源社区会更有趣,后面去看了浦东美术馆的展也挺不错;这个月买了 AirPods Pro2,弄了个烤肉架烤牛排味道还行,还买了个半自动咖啡机,每早一杯咖啡很舒服。 + +12 月 1 月,上旬请了快 18 个小伙伴来家里玩了一天,玩 Switch、撸猫、打德州、吃烤肉,还不错;中旬 **去了一趟安康**,见到了一个很小的机场,吃到了好吃的蒸面,还从亲戚家顺回来几根麻辣香肠;**快过年前给团队办了个年夜饭**,包了个烤全羊的二楼,送了些礼物,有说有笑挺好的;这个月买了个好看的台灯、手感不错的麻将,补齐了做咖啡的器具,还去花鸟市场补了 10 条孔雀鱼,以及 5 年前 P2P 暴雷的团贷网居然开始退钱了,挺满足。 + +24 年 2 月,年前 **把家人从湖南接到了杭州过年玩了 10 天**,在家做饭、打麻将、市内逛逛,春节一家子人热热闹闹的,很开心。 + +### 二. 最值得纪念的事情是什么? + +一共有两个,第一个应该是 **近视手术**,从做决定要做完只花了 1 个月的样子,好在恢复得很正常,现在不戴眼镜很方便,过程可见 [全飞秒近视手术过程和恢复记录](https://tw93.fun/2023-05-17/eyes.html)。 + +第二个是 **搬到了新家**,在 23 年的 9 月份底终于结束了租房的日子,四室一厅,弄了一个自己单独的书房,方便在里面安静的看书和写代码,入住过程中也 [置办了不少自己想买的东西](https://twitter.com/HiTw93/status/1756636712049250365),这个挑选东西的过程也蛮有趣。 + + + + + + +
    + + + +
    + +## 折腾 + +**折腾对我而言更像是活着的兴奋剂,既是自己喜欢的事情,做好了又可以很好的帮助到更好的生活、学习和工作**,甚至还可以让自己保持年轻,这种正反馈的感觉让我很有动力去继续做事情,在这一趴我想和大伙聊聊我在技术开源上、内容输出上的一些折腾的事情。 + +### 三. 在开源上做了哪些有趣的事? + +> + +![](https://gw.alipayobjects.com/zos/k/cw/339shots_so.png) + +开源作品上继续迭代着妙言、Pake 这两个产品,同时新增了个 Maple Chrome 扩展自用,加上 XRender、潮流周刊、博客,23 年一共维护着 6 个产品,其中妙言 Star 3.5k->5K,累计发布 6 个版本,Pake Star 9.8k -> 20.9k,累计发布 12 个版本,加上之前开源的 Weex Ui,**我的代码类开源作品累计有 38K Star,4600 Follower**。 + +![](https://gw.alipayobjects.com/zos/k/yr/975shots_so.png) + +今年是我玩开源的第九年,从中学习到了不少东西,认识了不少朋友,也借此自驱的去学习如何做一个好用的产品,如何把开源经验应用到工作、团队管理上。不过今年下半年业余时间大部分在房子软装,周末写开源代码时间少了些,期待 24 年能够多花时间在开源上做些好用的东西给大家使用。 + +### 四. 输出了什么哪些有用的内容? + +#### 把推特当做小记 + +> + +![](https://gw.alipayobjects.com/zos/k/lu/460shots_so.png) + +**推特从 22 年的 22k 关注者涨到了 23 年的 74k**,每天早上发一条昨天看到的比较不错的工具,或者是折腾的一些好玩的东西,或者是开源产品的更新、最近的文章、感想、学习,甚至还可能是生活中做的菜,**我不喜欢网红氛围,不喜欢哗众取宠,不喜欢争论事情,不喜欢随波逐流**,推特对我而言更像是一个和志同道合的朋友交流的地方。 + +#### 把周刊当做朋友圈 + +> + +![](https://gw.alipayobjects.com/zos/k/my/C7r9H4.png) + +潮流周刊起源于 20 年团队会上立的一个 Flag,**在 23 年一共输出了 52 期,当前累计 163 期**,同步发布在内网语雀、外网,将自己一周看到的技术学习、潮流工具、书籍电影给整理出来,更像是一个每周习惯,**每期选封面图很像发朋友圈**,也正是封面图让我多出去走拍拍好看照片,也吸引了一批感兴趣的小伙伴一起交流,挺好的。 + +#### 把博客当做花园 + +> + + + + + + + + + + +
    技术折腾生活感悟
    +
      +
    1. 我的年度工具折腾之旅
    2. +
    3. 2023 我的浏览器折腾之旅
    4. +
    5. 改良了下传说中最快的终端
    6. +
    7. 新一代前端发展的困境与破局(演讲)
    8. +
    9. Pake - 轻松构建轻量级桌面应用(演讲)
    10. +
    11. 我的开源成长之旅(演讲)
    12. +
    13. 该以一种怎么样的心态来对待开源
    14. +
    15. 译·如何做出伟大的工作
    16. +
    +
    +
      +
    1. 日本东京&大阪游记
    2. +
    3. 香港和想象中不一样的地方
    4. +
    5. 全飞秒近视手术过程和恢复记录
    6. +
    7. 我的咖啡机入门实践
    8. +
    9. 我的家庭影院入门实践
    10. +
    11. 我的自行车入门实践
    12. +
    13. 我居然 30 岁了
    14. +
    15. 不喜欢前端娱乐圈这种氛围
    16. +
    +
    + +23 年写博客要比之前更加勤快一些,一方面由于对外演讲多了一点,一方面博客慢慢加入了生活的元素,这一年累计写了 16 篇博客,有长有短,有虚有实,**把一些值得沉淀的内容都放在了这里,慢慢就变成一个花园**,读者进来后可以慢慢看,到处瞧瞧找找,对于感兴趣的内容一起讨论交流,这个过程很有意思。 + +## 工作 + +从毕业到现在工作 8 年了,时间过起来真是快,从最开始的很新的年轻人,慢慢变成了部门的老人,幸运的是每一年做得事情我都很喜欢也很有挑战,通过解决难题来让我有持续的动力,这次想和大家聊聊我这一年在工作上做的一些有挑战的事情。 + +### 五. 团队上有什么好的变化? + +![](https://gw.alipayobjects.com/zos/k/i3/1403A475-83B8-4753-B6DD-E8F41DA3245F-9996-000005EE927CC2BE.jpg) + +**人数翻倍**:从 22 年 30 人(24 正式 + 6SP)变成了现在 58 人(36 正式 + 22SP),按照工作职能分成了 4 个小组,培养出 2 个一线 TeamLeader 做得很棒,还有 2 个小组长也慢慢做出感觉来了。 + +**角色转变**:团队不少同学完成从前端工程师往产品工程师升级,具备很好的产品 Sense,会画原型交互,会用产品化的方式去解决问题,也具备一定的多团队角色协作的能力,都慢慢成长起来了。 + +**氛围变化**:持续用开源社区的方式去做团队建设,尽力去推工程师文化,双周有趣技术分享会场场人满无瞌睡,每月的 OneOne 沟通慢慢做起来了,没有所谓上下级的观念,更多关注技术本身,有问题直接指出,加上年轻人慢慢多了起来,氛围变得更加轻松直接。 + +### 六. 做了哪些不一样的工作? + +**把自己当做专业的服务端去做事情**:这一年成立了个专职的 Node 后端团队,承接公司业务的对外网关对接以及开放能力,并提供服务接口给行业 Java 后端去调用,借助我们产品工程师的优势,把这一套业务支撑做得事情做成了一个工作台,借助了很多 AI 的能力去提效,最终效率相比之前提升了 2 倍多,省掉了不少人力成本,同时由于产品化做得比较简单易用,可以满足产品、开发、测试在上面协作使用。不过这里也有一个很大的挑战,前端转换成做后端,在稳定性能力、业务全链路能力相比专业后端有一定差距,近半年持续重点在做这方面做提升。 + +**把自己当做独立创业者去做事情**:这一年 AI 特别火,将团队想法不错同学拉出来成立了一个 AI 的虚拟小组,我们花了很多时间去做 AI 与业务场景的融合落地,从 Demo 快速实验验证效果到产品化能力批量化流程生产,在业务上有强痛点、需求具备规模性、边际成本低的场景上做了大量的落地,最后变成业务追着我们提需求通过 AI 去解决问题,在 AI 浪潮中慢慢变成了没有岗位区分,而是一个解决各种问题的全栈工程师。 + +**把自己外国人的习惯去做事情**:由于疫情的放开,国际化这一块投入加大,也慢慢有意识拆出一块国际的前端团队,在本对本用户、商家使用产品的开发上,我们放弃了之前国内这一套开发模式和交互习惯,在多语言、多时区、多货币场景下,多想当地人的操作习惯,并在技术选型上使用目前社区成熟的方式去做尝试。 + +**把自己当做数据分析师去做事情**:数据更多是用于发现问题的,但是很多时候不是没有数据,而是没有一个好的分析方式,这一年我们在业务经营数据产品化、用户流量数据产品化、开放埋点数据校验产品化上、性能体验顺畅度诊断工具上做了挺多事情,慢慢去学习数据分析的一些业务方法思路,并有意识的借助前端的用户使用视角去寻找更好的分析展示方式,帮助业务发现更多看不见的问题。 + +### 七. 个人而言有什么成长和遗憾? + +**成长**:由于 22 年带着团队做了不少有挑战的事,帮助业务解决了些难题,在 23 年初时直通晋升到了下个层级,这一年来要求和能力水位相比之前要高不少,好在有很多干活三观上很契合的合作方,在做难搞的事情上给了很多无声的帮助,也学习到了对方很多技术判断上做事情的方法。 + +**遗憾**:一方面由于事情比较多,加上频繁需要和大家对技术方案,自己时间分配不太合理,写代码的时间相比之前少了不少,很多时候写代码是让自己放松的一个很好方式;另一方面,由于精力的分配这一年的锻炼除了骑自行车外少之可怜,书也看得不是很多,越往后走越觉得有一个健康的身体加上一个有想法的脑袋比什么都重要,这里有点遗憾。 + +## 结尾 + +写文章前,想了挺久用一个什么词来描述我的 2023,最后选择了「随心而行」,**多做自己想做的事情,根据自己的心意或兴趣来行动,不受外界约束或影响**,或许这也是是生活的意义。 + +希望我的 2024,多去做些不一样的事情,在平凡的日子里活得更有意思些,希望你也是。 diff --git a/_posts/2024-03-03-simple.md b/_posts/2024-03-03-simple.md new file mode 100644 index 00000000..14748957 --- /dev/null +++ b/_posts/2024-03-03-simple.md @@ -0,0 +1,49 @@ +--- +layout: post +title: 我的极简生活经验 +date: 2024-03-03 16:00:00 +summary: 想和大伙随便聊聊的极简主义,我挺喜欢这种生活方式,但并不是说每个人需要极简,有的人喜欢收藏,有喜欢购物买很多东西,让自己舒心的生活方式我觉得都挺好的。但假如你也喜欢简单生活方式,或者有点儿强迫症,那这些小建议可能适合你。 +categories: Life +--- + +## 极简是恰到好处的东西 + +想和大伙随便聊聊的极简主义,我挺喜欢这种生活方式,但并不是说每个人需要极简,有的人喜欢收藏,有喜欢购物买很多东西,让自己舒心的生活方式我觉得都挺好的。但假如你也喜欢简单生活方式,或者有点儿强迫症,那这些小建议可能适合你。 + +首先,**极简主义不是把大部分的东西都扔掉,在空无一物的环境中才极简,而是选择对你重要的东西但不在于多,同时也没有必要每个地方都极简,比如说你喜欢读书以及某些收藏,完全是可以精挑细选去置办。极简生活更多是减少生活中不必要的元素,让你更多专注在真正重要的事物上**。 + +## 经常性的整理 + +开始的第一步,应该是经常性的整理,一般是扔东西、卖二手、收纳起来,不要总觉得留着以后能用上,**如果近 1 年都没用过,基本以后也用不上**。 + +**扔东西**:可以先从冰箱和厨房做起,对于过期的、好久没有动放了很久的东西给扔掉,这里很多人可以扔掉很多;接着收拾各种抽屉柜子里面比如已经坏掉的物件、没有用的配件、廉价充电线充电头、没用的说明书、之前放里面的票据、快递盒子、购物袋子等,总之一般是随手放里面,觉得以后会用的但是过了很久其实都没有用的东西。 + +**卖二手**:接着你会发现有不少东西其实扔掉有些可惜,但是自己又不怎么用了,对于不太值钱但是又有些用的东西,比如再也不看的书、2 年都没有穿的旧衣服,可以去支付宝或者其他 App 看看有上门回收捐赠的服务,相比直接扔掉会让你觉得好一点;其次就是将还值点钱,但是消费冲动买的但是自己又不怎么用的东西,把它擦干净、拍照发闲鱼,卖给下一个冲动消费的人,这样可以帮你回一些本,这里其实也很好判断,比如说几乎半年都不用耳机、二手电脑、手表、小电器这一类很好出手,留下你一直在用而且很好用的那个就好,重复功能的东西只留一件。 + +**收纳起来**:假如收纳空间有限,可以买几个收纳箱和真空收纳袋,这样你的存放物体的体积缩小一半,放到看不到的地方,比如不是这个季节的衣服、被子,都可以用收收纳袋抽干收起来,然后对于不太方便袋子装的可以用盒子装起来放柜子里,让它整齐和知晓位置,让每一个物品都有它特定的空间位置,用完返回原处下次找起来会很方便。 + +上面整理的这一步,会花费你一些周末时间,不过当整理完成,打扫干净区域后,一般都会让你心情舒畅,感觉很爽的。 + +## 培养自己的消费观 + +接着第二步,慢慢培养自己的消费观,这里一般是 **只买好的、不被消费主义、有目的的购买、不要囤东西** 的这几个建议。 + +**只买好的**:很多时候东西多的一个很大原因,就是买了很多自己觉得用得上的东西,或者是买的时候有些纠结,但是最后还是买了的那些东西,基本上放柜子里也不想用,还后悔。对于必须品而言,一般建议购买力所能及范围内更好的那一个,比如说手机、电脑、衣服、鞋子、耳机这一类,品质好,价格稍贵,但是会让你很长时间不会纠结要不要换一个更好的,同时也让你生活品质其实会更好,这里还可以新入了一件,可以尽快把之前那件按照第一步方法给整理掉。 + +**不被消费主义**:越来越觉得,现在生活中大部分必须品都已经很满足了,很多时候消费都是属于仪式感下的消费,比如说看到小红书推荐、抖音里面好东西、得物上的潮流东西,会很容易被当时那个环境下误导下单,因为做电商的开发应该都知道,那一个个小功能其实都是一个大的产品业务团队同学天天想方设法迭代用来提高转化率用的,想方设法让你购买。 + +**有目的的购买**:很容易出现在逛超市、逛山姆的时候,进去前就想着随便逛逛,结果你会发现出来后买了几百块东西,仔细一想,不少是属于可以买可不买的,其实可以在出发前,先想想这次要买的东西,列一个很简单清单,就不会剁手买一些自认为需要的东西,而且这种有目的的挑选方式会让你更舒服。这里同样适合去逛街的时候,先想好要买的东西和品牌。 + +**不要囤东西**:囤东西本意是为了省钱和省心,当时很多时候买一箱箱的纸、洗衣液、沐浴露用一两年反而会让你烦心,甚至还会出现为了尽快用完,double 使用的方式,其实反而浪费了,还占用了你家里很多东西来放这些很多,很多时候,这些东西没有那么紧急,需要下单到到家其实很快的。这里还有一个东西也是容易囤的,那就是实体书了,这里可以先看电子书,再买纸质书,搬家的时候这东西很重的。 + +### 减少网络中的被动消息 + +上面从出和入两步控制住了你生活中的物件,其实还有一块是虚拟生活中的东西,其实也可以极简起来,这里说的是手机、电脑、知识这几块接收,**信息的过载很多时候也让人过得不顺畅,尽量减少被动信息的接收,需要的信息主动寻找**。 + +**App 处理**:我一般做法是 3 个月不用的 App 删除掉,用的时候再装用完又卸载或者直接小程序,这样手机 App 基本上控制在 2 屏完全可以满足生活所需;第二个是,控制所有 App 的消息,**我一般只开启银行交易、支付宝交易、微信、工作软件的消息通知,其他的 App 的消息我都在设置里面去掉了,屏幕上没有小红点**,同时很多 App 里面也可以设置去掉一些营销通知;第三个是,不装新闻软件、不装抖音快手,差不多一年多没有装了,感觉不太需要这种看着有用的新闻消息,这里对于电脑上的软件也是一样。 + +**资料整理**:删除没有用的短消息,其实大部分都没有用,我平时一般是除了亲人信息,其他的定期全删除;然后第二个就是删除没有用的图片和视频,这里可以删除很多东西,第三个是删除没有用的微信聊天消息,之前不知道怎么加上的人也可以删除掉,让你常用的工具都是清爽的,这里对于电脑上的东西也是一样。 + +**主动接受消息**:刚刚这些东西用于处理被动的消息接受,尽可能减少算法灌东西给你,**更多的可以订阅 RSS 接收消息**,关注喜欢的博主接收消息,不喜欢的直接屏蔽或者 mute 就好了,同时免打扰模式在你需要专注的时候可以开启起来,也即减少你不想看到的消息有很多你自己可以做的事情。 + +差不多碎碎念完了,**归根结底最重要的就是勤收拾、买好不买多、主动接收这几块,这种极简生活的方式很多时候可以影响一个人的三观,包括他做的产品、他的生活方式、他的喜好性格。最后同样也希望你快乐,过得幸福**。 diff --git a/_posts/2024-04-14-musk.md b/_posts/2024-04-14-musk.md new file mode 100644 index 00000000..f9d1ea75 --- /dev/null +++ b/_posts/2024-04-14-musk.md @@ -0,0 +1,57 @@ +--- +layout: post +title: 埃隆·马斯克传 - 读书笔记 +date: 2024-04-14 16:00:00 +summary: 最近利用早上的阅读时间陆陆续续把《埃隆·马斯克传》给看完了,很推荐工程师同学一读,虽然平时马斯克在 X 上表现有些奇怪,其实在书里其实是一个实打实的工程师,很擅长将技术和商业以及成本控制结合的一个牛人,不过也有不少缺点的一个人,随手记录一些文字用于备忘。同样看完这本书,作为特斯拉股东,愿意继续持有。 +categories: Study +--- + + + +最近利用早上的阅读时间陆陆续续把《埃隆·马斯克传》给看完了,很推荐工程师同学一读,虽然平时马斯克在 X 上表现有些奇怪,其实在书里其实是一个实打实的工程师,很擅长将技术和商业以及成本控制结合的一个牛人,不过也有不少缺点的一个人,随手记录一些文字用于备忘。同样看完这本书,作为特斯拉股东,愿意继续持有。 + +### 五部工作法 + +1. **质疑每项要求**,提出任何一项要求时,都应该附上提出这一要求的人。永远不要接受一项来自某个部门的要求,比如来自“法务部门”或者“安全部门”的要求。你必须知道提出这项要求的人的名字,接下来你应该质疑它,不管这个人有多聪明,聪明人提出的要求才是最危险的,因为人们不太可能质疑他们。这件事要一直做下去,即便这项要求来自我马斯克本人,质疑后,大家就要改进要求,让它变得不那么愚蠢。 +2. **删除要求当中所有你能删除的部分和流程**,虽然你可能还得把它们加回来。事实上,你如果最后加回来的部分还不到删除部分的 10%,那就说明你删减得还不够。 +3. **简化和优化**,这应该放在第 2 步之后,因为人们常犯的错误就是简化和优化一个原本不应该存在的部分或者流程。 +4. **加快周转时间**,每个流程都可以加快,但只有遵循了前三个步骤之后才能这么做,在特斯拉工厂,我错误地把很多精力花在加快生产流程上,后来我才意识到有些流程原本就应该被拿掉。 +5. **自动化**,在内华达工厂和弗里蒙特工厂犯下的一个大错就是我一开始试图将每个步骤进行自动化改造,我们本应该先质疑所有要求,删除不必要的部分和流程,把问题筛出来、处理掉,然后再推进自动化。 + +### 这套工作法有时还衍生出一些推论 + +1. **所有技术经理都必须有实战经验**,比如说软件团队的管理人员必须至少花 20%的时间进行编程,太阳能屋顶业务的经理必须花时间在屋顶上亲自做安装工作。否则光说不练,他们就像是不会骑马的骑兵队队长、不会舞刀弄枪的将军。 +2. **“你好,我好,大家好”是很危险的**,人们会因此不再质疑同事的工作成果。人们天然有一种倾向是不想把要好的同事踢下船,而这种危险倾向一定要避免。 +3. **犯错没关系,但错了还不肯低头就不行**。 +4. **永远不要要求你的团队做你自己都不愿意做的事。** +5. 每当有问题需要解决时,不要只与你直接管理的相关负责人聊,深入调研就要跨层级沟通,**去跟你属下的属下直接交流吧**。 +6. **招聘要招态度端正的人,技能是可以教的,但要扭转一个人的工作态度可就太费劲了,得给他“换个脑子”,疯狂的紧迫感是我们公司运作的法则**。 +7. 唯一要遵守的规则就是物理学定律能推导出来的规则,其他一切都只是建议。 + +### 成本意识很强 + +1. 几十年来,成本加成合同让航空航天业对成本控制问题漠不关心。火箭上的一个阀门比汽车上用的类似阀门要贵 30 倍,所以马斯克不断要求他的团队多从航空航天领域以外的公司采购零部件。Nasa 在空间站中使用的门闩,一个就要 1 500 美元。SpaceX 的一名工程师改造了浴室隔间门上使用的插销,做出了一种闭锁机构,成本只要 30 美元。一名工程师走到马斯克的办公室隔间,告诉他猎鹰 9 号有效载重舱的空气冷却系统要耗资 300 多万美元,他就扯着嗓子问旁边隔间的格温·肖特韦尔:家用的一套空调系统成本要多少钱?她回答说大约 6 000 美元。随后 SpaceX 团队就买了一些商用空调设备,改造了其中的泵,然后就把它用在了火箭顶部。 +2. 自从马斯克当年完成了俄罗斯之行,计算了一番自己制造火箭的成本后,**他就在内部普及了一个概念,叫“白痴指数”,也就是一个零部件的总成本与它的原材料成本的比值。如果白痴指数很高,比如零部件成本 1000 美元,而制作它的铝的成本只有 100 美元,那么很可能就是设计过于复杂或制造过程效率太低导致的**。 +3. 一天晚上,闪电击中了一个试验台,打坏了一个油箱的增压系统,导致油箱的一层膜出现鼓包和裂缝。换作一家正常的航空航天公司,那就应该更换油箱了,得花上几个月的时间。“不要换,修修就行。”马斯克说,“带着锤子上去,鼓包敲一敲,裂缝焊接好,然后接着弄。”布扎觉得这样做太疯狂了,但他已经学乖了,听老板的就好。于是他们走到试验合前,把隆起的鼓包敲回去。马斯克跳上飞机,飞了三个小时过来,亲自监督整个过程。“当他出现时,我们开始测试装有燃料的油箱,没有出什么问题。”布扎说,“埃隆相信逢山开路、遇水搭桥,出什么情况都有办法补救。这让我们获益匪浅,而且整个过程很有趣。”这样也为 SpaceX 省下了几个月的时间,可以测试火箭样机了。 +4. 我们应该要求这里面的每一个人看看他们能不能将自己负责的零部件成本降低 80%,”马斯克建议,“他们如果不能,而其他人可以做到,我们应该考虑让他们退位让贤。 + +### 疯狂的管理风格 + +1. 一般来说,在这种令人不安的成功时刻,马斯克会刻意制造出戏剧性事件。他会发起一场狂飙运动,立即投入行动,再宣布一个最后期限,通常这个期限不仅不切实际,而且毫无必要。自动驾驶日、星舰火箭堆叠太阳能屋顶安装、特斯拉量产地狱,每一次都是他拉响了警报,强迫大家开展“消防演习”。金博尔说:“通常情况下,他会走进他旗下的某家公司,搞点儿事情,把它变成一场危机。”但这次马斯克没有这样做,取而代之的是,他在没有经过深思熟虑的情况下决定收购推特。 +2. 然而推动变革没有那么多和风细雨。自猎鹰 1 号火箭以来,马斯克动用的手段一向如此:保持快速迭代,勇于承担风险,行事风格粗暴,接受阶段性失败,再次发起尝试。 +3. 从某些角度来说,马斯克就像史蒂夫·乔布斯,是一个能力出众但不近人情的“工头”,他们的现实扭曲力场可以把手底下的人逼疯,但也可以推动他们做出他们原以为不可能的事情。无论是对同事还是对竞争对手他们谁的面子都可以不给。但从 2011 年起执掌苹果公司的蒂姆·库克可不一样,他沉着冷静,高度自律,温文尔雅。虽然在必要的时候,他也很强硬,但他总是会避免那些不必要的冲突。乔布斯和马斯克似乎都很容易被戏剧性冲突吸引,而库克有一种化解戏剧性冲突的本能——他的道德罗盘是非常稳定的。 +4. 我算了一下,这样他就得管理六家公司——特斯拉、SpaceX 及其星链部门、推特、Boring Company、Neuralink 和 X.AI,这相当于史蒂夫·乔布斯巅峰时期掌舵公司(苹果和皮克斯)数量的 3 倍。 +5. 每当决定录用一个人或者提拔一个人时,马斯克都抱着这样一个观点:一个人的态度比他的简历他所掌握的技能更重要。他对“工作态度好”的定义就是一个人渴望疯狂工作、拼命工作。所以马斯克当场就雇用了邓契夫。 +6. 机器学习系统在进行自我训练时通常需要一个目标或指标作为指导。马斯克在管理时喜欢通过下命令的方式来决定哪些指标最重要,于是他给了他们一个标准:特斯拉全自动驾驶车辆在没有人类干预的情况下能够行驶的里程数。“**我希望每次开会的第一张幻灯片都能展示每次干预前自动行驶里程的最新数据**。”马斯克说,“如果训练人工智能,我们应该优化什么?答案是提高两次干预之间的行驶里程数。”他告诉他们。要向打游戏一样,每天都能看到自己的得分。“没有分数的电子游戏是无聊的,所以每天看着单次干预前的里程数增加就会很有干劲儿。” + +### 对待产品的态度 + +1. 这是很典型的马斯克式做法,给新车绘制造型设计图纸的设计师应该与那些能决定车辆制造工艺的工程师携手合作。冯·霍兹豪森说:“在我工作过的其他公司里,有一些设计师的状态就是当甩手掌柜,他们有了设计思路,然后就把它发给工程师,对方可能在另一幢大楼里工作,甚至在另一个国家工作。”而马斯克会让工程师和设计师共处一室,冯·霍兹豪森说:“这样做希望达成的目标就是,**我们要培养出一群像工程师一样思考的设计师,再培养出一群像设计师一样思考的工程师**。” +2. 马斯克有一个核心思想,就是不把工程和产品设计分开。事实上,**产品设计应该由工程师来推动**。像特斯拉和 SpaceX 一样,推特在所有组织层级上都应该以工程师为导向。 +3. 马斯克采取了一种迭代式的设计方法:迅速制成火箭和发动机原型,进行测试,炸毁,修改,再次尝试,知道最后做出能用的东西。快速推进,把试验品炸掉,然后重复这一过程。你不需要完美的规避多少问题,关键是你能多快找出问题,然后解决它。 + +### 收购推特的故事 + +1. 马斯克对工程问题的直觉很灵敏,但他的脑回路在处理人际情感问题时就不够灵光,而他收购推特的问题正在于此。他认为这是一家技术型公司,实际上它属于广告传媒行业,这个行业的逻辑是基于情感交流和人际关系的。 +2. 马斯克告诉他们,未来,推特的团队将由像他们这样的工程师来领导,而不是由设计师和产品经理。这是个微妙的转变,体现出他的价值观:推特的本质应该是一家软件工程公司,领导者一定是熟悉程序代码的人;它不是一家媒体和消费类产品公司,不应该让精通人际关系、洞察人心欲望的人来领导。 +3. 马斯克在恼羞成怒时,经常会抛出非常具体的问题来刁难别人。面对推特的高管,他就抛出了一连串的问题。他们的软件工程师平均每天写多少行代码?他在特斯拉的自动驾驶团队有 200 名软件工程师,为什么推特有 2500 名?推特每年在服务器上花费 10 亿美元,占用这些计算时间和存储空间最多的功能是什么?这些功能是如何排序的?他发现他们很难干脆地给出答案。在特斯拉,因为不了解这些细节,一些人丢掉了饭碗。 diff --git a/_posts/2024-05-08-sony.md b/_posts/2024-05-08-sony.md new file mode 100644 index 00000000..3e60480d --- /dev/null +++ b/_posts/2024-05-08-sony.md @@ -0,0 +1,164 @@ +--- +layout: post +title: 我居然用回有线耳机了 +date: 2024-05-08 16:00:00 +summary: 男人的快乐,我居然用回有线耳机了,最近周末抽时间去线下试了不少好耳机,最后很意外买了索尼这款 MV1 开放式监听耳机,也不降噪还有线,却出奇的喜欢,想和大伙聊聊我的选择过程。 +feature: https://img.alicdn.com/imgextra/i2/O1CN010DShe61OIP9RpCjWx_!!6000000001682-0-tps-3658-2744.jpg +categories: Life +--- + +![](https://img.alicdn.com/imgextra/i2/O1CN010DShe61OIP9RpCjWx_!!6000000001682-0-tps-3658-2744.jpg) + +## 关于我用回有线耳机这个事情 + +男人的快乐,我居然用回有线耳机了,最近周末抽时间去线下试了不少好耳机,最后很意外买了索尼这款 MV1 开放式监听耳机,也不降噪还有线,却出奇的喜欢,想和大伙聊聊我的选择过程。 + +现场去对比过 AirPods Max 音质很好很方便但是太太重了,不经常戴考虑颜值音质以及苹果互通其实很合适。 + +索尼无线 WH-1000XM5 和 4,降噪很好也还轻,不太关心音质同时需要降噪耳机的很推荐 5,戴着也舒服,很适合出行使用。 + +也去试了下 Bose QC45 和 700,前者比后者舒服,很舒服,而且样子也好看,700 也很有个性,不过音质有点儿闷,那个提示音很反人类有气无力那种感觉,但是戴着真的舒服,考虑舒适度喜欢低音的其实可以考虑。 + +我很考虑音质我甚至去试了下 森海塞尔 HD 600、650、660S,都是有线,需要有前端去推,音质上假如习惯听交响乐那 600 是真的厉害,30 年的产品依然很抗打,喜欢听人声 650 超级合适,我觉得这一款对我而言是音质好性价比最高的,660 属于这两款有点结合,更贵钱够可考虑,但是普通设备推不动这种 300 和 150 欧阻抗的机子,需要配置一个很重的外放前端,只适合放家里书房使用,考虑到便携和钱最终还是放弃了,此外佩戴舒适度其实可以接受但是比不过前面索尼和 Bose 这两个。 + +后面在索尼店里的时候,问店员有没有音质好的耳机可以试听,给我指了下里面有一个小屋都是有线好设备,进去听了听音质真的牛逼耳朵怀孕那种感觉,一看价格 2w 加上 1w 的外放给放弃了,只能欣赏买不起。 + +在出来时候发现外面一个不起眼的台子上放着这台很不起眼的黑色塑料壳子的耳机索尼 MV1,拿起来顺手戴戴,我去!怎么这么轻怎么戴着这么舒服,怎么音质这么好,很突破我的固有想法,监听耳机不是专业人员用的吗,居然也这么适合听音乐,空旷音质很无敌,媲美上面听到的森海塞尔 HD660S。 + +于是乎就决定就买这个稀有品种,网上买便宜点儿,最近收到了,一回到家就细细品味,O-Daiko 的鼓声,One I Love 的女声轻唱,Bubbles 的环境氛围音,Michael 的 Billie Jean 感觉就在耳边给你唱,很神奇属于我买的很喜欢的一个耳机。 + +最后说起选择耳机,假如你是苹果机器,不考虑音质,其实 AirPods 系列很适合很方便,降噪就 Pro,颜值居家有钱头可以顶块砖就 Max。假如有考虑音质,也需要降噪那就推荐索尼 XM5 性价比就 4。假如考虑舒适降噪可以去现场试试 Bose,居家以及对于音质有极致要求,可以去试试森海。 + +假如和我一样,有一个通行日常所需的小降噪苹果耳机,想随便听听考虑音质轻巧舒适度以及不介意有线,那可以试试这一款,但是由于每一个人耳朵不一样,还是很推荐去线下试听,无需跟风,最后还是要听自己的耳朵。 + +## 索尼 MV1 的一些图片 + + + + + + + + + + +
    + + + +
    + + + +
    + +## 一些试耳机的好音乐 + +> + + + +挑选了一些试耳机的音乐,范围比较广,有鼓声、人声、交响、环境氛围音等,给我感觉有一种有线耳机居然可以这么好听。我在音乐欣赏这一块属于很小白,欢迎大伙推荐,此外建议使用 Apple Music 来听无损,同时关闭音量平衡,无损的格式开到最大。 + +## 值得一听的华语专辑 + +> + + + +很多好听的歌都是在我出生前后的年代,甚至更早很多年,太怀念那个时代了,还有有歌声留下来。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    专辑名称歌手时间经典歌曲
    之乎者也罗大佑1982 年鹿港小镇、之乎者也
    唐朝唐朝乐队1992 年梦回唐朝、飞翔鸟
    新长征路上的摇滚崔健1989 年新长征路上的摇滚
    黑梦窦唯1994 年高级动物
    万能青年旅店万能青年旅店2010 年杀死那个石家庄人
    生命中的精靈李宗盛1994 年爱的代价
    范特西周杰伦2001 年简单爱、爱在西元前
    大熱张国荣1995 年当年情、追
    U 87陈奕迅2005 年夕阳无限好
    黑色柳丁陶喆1997 年黑色柳丁
    我去 2000 年朴树1999 年那些花儿
    吻別张学友1993 年吻别
    摇滚中国乐势力魔岩三杰1995 年很多好听的歌
    + +## 结尾 + +生活除了吃饱喝足,还需要有一点精神快乐,这样才会更有意思些。 diff --git a/_posts/2024-06-30-china.md b/_posts/2024-06-30-china.md new file mode 100644 index 00000000..c7db8a0f --- /dev/null +++ b/_posts/2024-06-30-china.md @@ -0,0 +1,79 @@ +--- +layout: post +title: 置身事内 - 读书笔记 +date: 2024-06-30 16:00:00 +summary: 最近把「置身事内 - 中国政府与经济发展」这本书读完了,去年粗读了下,最近趁着杭州持续下雨呆家里听着雨声看看书很自在,是一本可以读两遍的好书,花了点时间把一些不错的观点摘抄备忘。 +categories: Study +--- + +## 看书 + + + +最近把「置身事内 - 中国政府与经济发展」这本书读完了,去年粗读了下,最近趁着杭州持续下雨呆家里听着雨声看看书很自在,是一本可以读两遍的好书,花了点时间把一些不错的观点摘抄备忘。 + +## 抄书 + +1. 我国经济中有个现象:处在行政交界(尤其是省交界处)的地区,经济发展普遍比较落后。 + +2. 我国幅员辽阔,但人口分布极不平衡。如果从黑龙江的瑷珲(今黑河市南)到云南的腾冲之间画一条直线,把国土面积一分为二,东边占了 43%的面积却住了 94%的人口,而西边占了 57%的面积却只住了 6%的人口。 + +3. 2019 年,浙江省 53 个县(含县级市)里,18 个是全国百强县。但在其他一些省份,“省直管县”改革至少遭遇了两个困难。首先是省里管不过来。改革前,一个省平均管 12 个市,改革后平均管 52 个市县。钱和权给了县,但监管跟不上,县域出现了种种乱象,比如和土地有关的腐败盛行。 + +4. 获取和传递信息需要花费大量时间精力,上级要不断向下传达,下级要不断向上汇报,平级要不断沟通,所以体制内工作的一大特点就是“文山会海”。作为信息载体的文件和会议也成了权力的载体之一,而一套复杂的文件和会议制度就成了权力运作不可或缺的部分。 + +5. 公众所接触的信息和看到的现象,大都已经是博弈后的结果,而缺少社会阅历的学生容易把博弈结果错当成博弈过程。 + +6. 所谓权力,实质就是在说不清楚的情况下由谁来拍板决策的问题。 + +7. 要想把握政府的真实意图和动向,不能光读文件,还要看政府资金的流向和数量,所以财政从来不是一个纯粹的经济问题。 + +8. 要理解政府治理和运作的模式,首先要了解权力和资源在政府体系中的分布规则,既包括上下级政府间的纵向分布,也包括同级政府间的横向分布。 + +9. 我国政府各层级之间的职能基本同构,上级领导下级。原则上,上级对下级的各项工作都有最终决策权,可以推翻下级所有决定。但上级不可能掌握和处理所有信息,所以很多事务实际上由下级全权处理。即使上级想干预,常常也不得不依赖下级提供的信息。比如上级视察工作,都要听取下级汇报,内容是否可靠,上级不见得知道。如果上级没有独立的信息来源,就可能被下级牵着鼻子走。 所以上级虽然名义上有最终决定权,拥有“形式权威”,但由于信息复杂、不易处理,下级实际上自主性很大,拥有“实际权威”。维护两类权威的平衡是政府有效运作的关键。若下级有明显信息优势,且承担主要后果,那就该自主决策。若下级虽有信息优势,但决策后果对上级很重要,上级就可能多干预。但上级干预可能会降低下级的工作积极性,结果不一定对上级更有利。 + +10. 因为信息复杂,不可信的信息比比皆是,而权力和责任又高度个人化,所以体制内的规章制度无法完全取代个人信任。上级在提拔下级时,除了考虑工作能力外,关键岗位上都要尽量安排信得过的人。 + +11. 成功的政策背后是成功的协商和妥协,而不是机械的命令与执行,所以理解利益冲突,理解协调和解决机制,是理解政策的基础。 + +12. 我国地方政府推动经济发展的模式有三大特点,一是城市化过程中“重土地,轻人”,二是招商引资竞争中“重规模,重扩张”,三是经济结构上“重投资、重生产、轻消费”。 + +13. 所谓“土地财政”,不仅包括巨额的土地使用权转让收入,还包括与土地使用和开发有关的各种税收收入,当然地方政府本来也不是靠卖地赚钱,它真正要的是土地开发之后吸引来的工商业经济活动。 + +14. 经济学家张五常曾做过一个比喻:地方政府就像一家商场,招商引资就是引入商铺。商铺只要交一个低廉的入场费用(类似工业用地转让费),但营业收入要和商场分成(类似增值税,不管商铺是否盈利,只要有流水就要分成)。商场要追求总体收入最大化,所以既要考虑入门费和租金的平衡,也要考虑不同商铺间的平衡。一些商铺大名鼎鼎,能为商场带来更大客流,那商场不仅可以免除它们的入门费,还可以降低分成,甚至可以倒贴(类似地方给企业的各种补贴)。 + +15. 这种以土地为中心的城市化忽视了城市化的真正核心:人。地价要靠房价拉动,但房价要由老百姓买单,按揭要靠买房者的收入来还。所以土地的资本化,实质是个人收入的资本化。支撑房价和地价的,是人的收入。忽略了人,忽略了城市化本该服务于人,本该为人创造更好的环境和更高的收入,城市化就入了歧途。 + +16. 地方政府不仅可以为经济发展创造环境,它本身就是经济发展的深度参与者,这一点在招商引资过程中体现得淋漓尽致。 + +17. 我国经济结构失衡的最突出特征是消费不足……居民收入转移到了政府和企业手中,变成了公路和高铁等基础设施、厂房和机器设备等,而老百姓汽车和家电等消费品占比则相对较低……在经济发展初期,将更多资源从居民消费转为资本积累,变成基础设施和工厂,可以有效推动经济起飞和产业转型,提高生产率和收入,但当经济发展到一定阶段后,这种方式就不可持续了。 + +18. 房地产常被称作“经济周期之母”,根源就在于其内在的供需矛盾:一方面,银行可以通过按揭创造几乎无限的新购买力;而另一方面,不可再生的城市土地供给却有限。这对矛盾常常会导致资产泡沫与破裂的周期循环,是金融和房地产不稳定的核心矛盾。而房地产不仅连接着银行,还连接着千家万户的财富和消费,因此影响很大。 + +19. 房价上涨时不仅会增加按揭债务负担,还会拉大贫富差距,进而刺激低收入人群举债消费,这一现象被称为“消费下渗”,在负债的人当中,低收入人群的债务负担尤其重,居民债务居高不下,会很难抵御经济衰退,尤其是房产价格下跌所引发的经济衰退。低收入人群的财富几乎全部就是房产,其中大部分是欠银行的按揭,负债率很高,很容易受到房价下跌的打击。 + +20. 要化解居民债务风险,除了遏制房价上涨势头以外,根本的解决之道还在于提高收入,尤其是中低收入人群的收入,鼓励他们到能提供更多机会和更高收入的地方去工作。让地区间的经济发展和收入差距成为低收入人群谋求发展的机会,而不是变成人口流动的障碍。 + +21. 累积的财富差距一般远大于每年的收入差距,因为有财富的人往往更容易积累财富,资产回报更高,可选择的投资方式以及应对风险的手段也更多。 + +22. 在购置土地环节,发达国家一般要求企业使用自有资本金,而我国允许房企借钱“买地”,这就刺激了房企竞相抬高地价和储备土地。储备的土地又可以作为抵押去撬动更多借贷资金,进而储备更多土地,所以房企规模和债务都越滚越大。 + +23. 北京居民的户均总资产(不是净资产,未扣除房贷和其他负债)是 893 万元,上海是 807 万元,是新疆(128 万元)和吉林(142 万元)的六七倍。这个差距大部分来自房价。房价上涨也拉大了同城之内的不平等。房价高的城市房屋空置率往往也高,一边很多人买不起房,一边很多房子空置。如果把房子在内的所有家庭财富(资产)算在一起的话,按照上述中国人民银行的调查数据,2019 年最富有的 10%的人占有总财富的 49%,而最穷的 40%的人只占有总财富的 8%。 房价上涨不仅会增加按揭债务负担,还会拉大贫富差距,进而刺激低收入人群举债消费,这一现象被称为“消费下渗”( trickle-down consumption),这在发达国家是很普遍的。2014-2017 年间,我国收入最低的 50%的人储蓄基本为零甚至为负(入不敷出)。自 2015 年起,信用卡、蚂蚁花呗、京东白条等各种个人消费贷激增。根据中国人民银行关于支付体系运行情况的数据,2016-2018 年这三年,银行信用卡和借记卡内合计的应偿还信贷余额年均增幅接近 30%。2019 年,信用卡风险浮现,各家银行纷纷刹车。 + +24. 我国居民债务负担接近发达国家,政府债务负担低于发达国家,但企业债务负担远高于发达国家。 + +25. 中国人财富的压舱石是房子,美国人财富的压舱石是金融资产,这个重大差别可以帮助理解两国的一些基本政策,比如中国对房市的重视以及美国对股市的重视。 + +26. 债务累积或“加杠杆”的过程,就是人与人之间商业往来增加的过程,会推动经济繁荣。而债务紧缩或“去杠杆”的也就是商业活动减少的过程,会带来经济衰退。 + +27. 居民债务居高不下,就很难抵御经济衰退。尤其是房产价格下跌所引发的经济衰退。低收入人群的财富几乎全部是房产,其中大部分是欠银行的按揭,负债率很高,很容易受到房价下跌的打击。在 2008 年美国的房贷危机中,每 4 套按揭贷款中就有 1 套资不抵债,很多穷人的资产一夜清零。2007 年至 2010 年,美国最穷的 20%的人,净资产从平均 3 万美元下降到几乎为零。而最富的 20%的人,净资产只下跌了不到 10%,从平均 320 万美元变成了 290 万美元,而且这种下跌非常短暂。2016 年,随着股市和房市的反弹,最富的 10%的人实际财富(扣除通货膨胀)比危机前还增长了 16%。但收入底部的 50%的人,实际财富被腰斩,回到了 1971 年的水平。40 年的积累,在一场危机后荡然无存。 + +28. 总体看来,无论是破产重整还是破产清算,我国在企业退出方面的制度改革和建设还有很长的路要走。 + +29. 新能源技术必须在没有竞争优势的时候就进入市场,这时候只有两个办法:第一是对传统能源征收高额碳税或化石燃料税,增加其成本,为新能源的发展制造空间;第二是直接补贴新能源行业。第一种办法明显不够经济,因为在新能源发展早期,传统能源占据九成以上的市场,且成本低廉,对其征收重税会大大加重税收负担,造成巨大扭曲。所以更加合理的做法是直接补贴新能源,加速其技术进步和成本降低,待其市场份额不断扩大、成本逼近传统能源之后,再逐渐降低补贴,同时对传统能源征税,加速其退出。 +30. +31. 大到经济发展模式,小到具体产业政策,不存在脱离了具体场景、放之四海而皆准的答案,必须具体问题具体分析,并根据现实变化不断调整。政策工具需要不断发展和变化,因为政府能力和市场条件也在不断发展和变化。在这个意义上,深入了解发达国家的真实发展历程,了解其经历的具体困难和脱困方式,比夸夸其谈的“华盛顿共识”更有启发。 + +## 感悟 + +整体而言作者属于偏正面来讲,同样也有很多背面的东西应该不太好说,不过已经算是当前很不错的一本讲诉中国经济和政策的书籍了,相比原来的的我看完这本书,至少看到了更深一点儿的东西,也修正了一些自己原来错误的认知以及不知道的东西,挺好的,读书就是一个逐步修正自己视角认知的过程。 diff --git a/_posts/2024-09-09-future.md b/_posts/2024-09-09-future.md new file mode 100644 index 00000000..e12dfeb6 --- /dev/null +++ b/_posts/2024-09-09-future.md @@ -0,0 +1,152 @@ +--- +layout: post +title: 聊聊未来技术趋势 +date: 2024-09-09 16:00:00 +summary: 最近在团队的一个分享,基于自己对 AI、投资、下一代技术的一些理解,结合网络上的报告、资料、论文、财报等简单梳理了下,假如有不懂的名词可以问 GPT,希望你开心,但不要在不懂市场的情况下基于此去投资,风险会很高。 +categories: Share +--- + +{% raw %} + +{% endraw %} + +> 最近在团队的一个分享,基于自己对 AI、投资、下一代技术的一些理解,结合网络上的 ark 报告、资料、论文、财报等梳理了下,假如有不懂的名词可以问 GPT,希望你开心,但不要在不懂市场的情况下基于此去投资,风险会很高,分享的 PDF 文件以及参考资料在文章结尾可以找到。 + + + +![](https://gw.alipayobjects.com/zos/k/future/02.jpeg) + +![](https://gw.alipayobjects.com/zos/k/future/03.jpeg) + +![](https://gw.alipayobjects.com/zos/k/future/04.jpeg) + + + +![](https://gw.alipayobjects.com/zos/k/future/06.jpeg) + +![](https://gw.alipayobjects.com/zos/k/future/07.jpeg) + +![](https://gw.alipayobjects.com/zos/k/future/08.jpeg) + +![](https://gw.alipayobjects.com/zos/k/future/09.jpeg) + +![](https://gw.alipayobjects.com/zos/k/future/10.jpeg) + +![](https://gw.alipayobjects.com/zos/k/future/11.jpeg) + +![](https://gw.alipayobjects.com/zos/k/future/12.jpeg) + +![](https://gw.alipayobjects.com/zos/k/future/13.jpeg) + +![](https://gw.alipayobjects.com/zos/k/future/14.jpeg) + +![](https://gw.alipayobjects.com/zos/k/future/15.jpeg) + +![](https://gw.alipayobjects.com/zos/k/future/16.jpeg) + +![](https://gw.alipayobjects.com/zos/k/future/17.jpeg) + +![](https://gw.alipayobjects.com/zos/k/future/18.jpeg) + +![](https://gw.alipayobjects.com/zos/k/future/19.jpeg) + +### SpaceX 的火箭回收技术 + + + +![](https://gw.alipayobjects.com/zos/k/future/21.jpeg) + +![](https://gw.alipayobjects.com/zos/k/future/22.jpeg) + +![](https://gw.alipayobjects.com/zos/k/future/23.jpeg) + +![](https://gw.alipayobjects.com/zos/k/future/24.jpeg) + +![](https://gw.alipayobjects.com/zos/k/future/25.jpeg) + +![](https://gw.alipayobjects.com/zos/k/future/26.jpeg) + +![](https://gw.alipayobjects.com/zos/k/future/27.jpeg) + + + +![](https://gw.alipayobjects.com/zos/k/future/29.jpeg) + +![](https://gw.alipayobjects.com/zos/k/future/30.jpeg) + +![](https://gw.alipayobjects.com/zos/k/future/31.jpeg) + +![](https://gw.alipayobjects.com/zos/k/future/32.jpeg) + + + +![](https://gw.alipayobjects.com/zos/k/future/34.jpeg) + +![](https://gw.alipayobjects.com/zos/k/future/35.jpeg) + +![](https://gw.alipayobjects.com/zos/k/future/36.jpeg) + +![](https://gw.alipayobjects.com/zos/k/future/37.jpeg) + +![](https://gw.alipayobjects.com/zos/k/future/38.jpeg) + +![](https://gw.alipayobjects.com/zos/k/future/39.jpeg) + +![](https://gw.alipayobjects.com/zos/k/future/40.jpeg) + +![](https://gw.alipayobjects.com/zos/k/future/41.jpeg) + +![](https://gw.alipayobjects.com/zos/k/future/42.jpeg) + +![](https://gw.alipayobjects.com/zos/k/future/43.jpeg) + +![](https://gw.alipayobjects.com/zos/k/future/44.jpeg) + +![](https://gw.alipayobjects.com/zos/k/future/45.jpeg) + +![](https://gw.alipayobjects.com/zos/k/future/46.jpeg) + +### OneKey 硬件钱包 + + + +![](https://gw.alipayobjects.com/zos/k/future/48.jpeg) + +![](https://gw.alipayobjects.com/zos/k/future/49.jpeg) + +![](https://gw.alipayobjects.com/zos/k/future/50.jpeg) + +![](https://gw.alipayobjects.com/zos/k/future/51.jpeg) + +![](https://gw.alipayobjects.com/zos/k/future/52.jpeg) + +![](https://gw.alipayobjects.com/zos/k/future/53.jpeg) + +![](https://gw.alipayobjects.com/zos/k/future/54.jpeg) + +### PDF 文件下载 + +
    聊聊未来技术趋势_Tw93.pdf + +### 参考资料 + +- [ARK Invest Big Ideas 2024](https://europe.ark-funds.com/wp-content/uploads/2024/02/ARK-Invest-Big-Ideas-2024.pdf) +- [App Economy Insights](https://www.appeconomyinsights.com/) +- [3D 动画揭秘芯片完整的制造流程和制造工艺](https://www.youtube.com/watch?v=LcGGI2BIymg) +- [AI Supremacy 发展报告](https://www.ai-supremacy.com/) +- [李沐讲座:大语言模型的实践经验和未来预测](https://www.youtube.com/watch?v=ziHUcDh0DwM) +- [The LLM Triangle Principles to Architect Reliable AI Apps](https://towardsdatascience.com/the-llm-triangle-principles-to-architect-reliable-ai-apps-d3753dd8542e) +- [AI 50: Companies of the Future](https://www.sequoiacap.com/article/ai-50-2024/) +- [Apple Intelligence 为 iPhone、iPad 和 Mac 引入强大的生成式模型](https://www.apple.com.cn/newsroom/2024/06/introducing-apple-intelligence-for-iphone-ipad-and-mac/) +- [OneKey硬件钱包](https://onekey.so/zh_CN/shop/) +- [METAMASK 加密货币钱包和区块链应用程序网关](https://metamask.io/zh-CN/) +- [比特币-维基百科](https://zh.wikipedia.org/wiki/%E6%AF%94%E7%89%B9%E5%B8%81) +- [比特币的工作原理](https://bitcoin.org/zh_CN/how-it-works) +- [智能合约编写之Solidity运行原理](https://fisco-bcos-documentation.readthedocs.io/zh-cn/latest/docs/articles/3_features/35_contract/solidity_operation_principle.html) +- [全球各种资产在过去10 年的收益率对比图](https://x.com/Wolfy_XBT/status/1672608317649326081) +- [埃隆·马斯克传](https://m.douban.com/book/subject/36518892/) +- [Tesla AI & Robotics](https://www.tesla.com/en_eu/AI) diff --git a/_posts/2024-10-13-intuition.md b/_posts/2024-10-13-intuition.md new file mode 100644 index 00000000..3cc67699 --- /dev/null +++ b/_posts/2024-10-13-intuition.md @@ -0,0 +1,64 @@ +--- +layout: post +title: 别相信直觉 - 读书笔记 +date: 2024-10-13 16:00:00 +summary: 最近看完了「别相信直觉」用数据思维获取你想要的生活这本小书,比较简单好读,基本上花一下午就可以看完,把生活中可能会遇到的婚恋、育儿、财富、创业、运气、外貌、快乐、痛苦都给讲了讲,把里面有一些有意思的观点记录到这里。 +categories: Share +--- + +最近看完了「别相信直觉」用数据思维获取你想要的生活这本小书,比较简单好读,基本上花一下午就可以看完,把生活中可能会遇到的婚恋、育儿、财富、创业、运气、外貌、快乐、痛苦都给讲了讲,把里面有一些有意思的观点记录到这里。 + + + +### 婚恋 + +1. 一个人如果单身的时就十分幸福,那么在他建立亲密关系后,他也会十分幸福。 +2. 在相亲市场上,人们竞相追求的相亲对象不一定让人感情幸福。预测感情是否幸福的难度是非常高的。 +3. 找伴侣需要考虑的最重要的特征是他的性格,对生活的满意度、安全性依恋、尽责型、成长型心态。 +4. 外貌会影响一个人的吸引力,而且影响非常显著,身高在男性吸引女性方面发挥重要作用,此外相亲过程中种族歧视非常明显。 +5. 收入影响一个人在相亲市场的表现,且对男的影响最大。 +6. 一个很酷的职业比虽然挣得多但枯燥的职业更能吸引女性。 +7. 建议相亲的人把寻找范围更多集中在那些缺乏高度竞争力的人身上,集中在那些有强大心理素质的人身上。 + +### 育儿 + +1. 父母对于孩子整体的发展影响小的出奇(前提是不作恶,正常养育),在养育子女方面,你可能需要更多关注孩子接触的人,这才是影响孩子未来发展的关键因素。 +2. 从事不同运动的申请者在大学获得奖学金的比例有巨大差异,可以选择申请人少的项目这样就没有那么卷。 +3. 有些运动能力与基因关系很大,比如说篮球,但是基因在棒球和橄榄球中的重要性远不及在篮球的一半,马术和跳水受基因影响很小。 + +### 财富 + +1. 以薪水为基础通往财富自由之路的案例非常罕见,富人一般都拥有自己的企业。 +2. 不同行业的致富情况差异巨大,富人一般都是拥有盈利的企业, +3. 保持企业利润很重要,避免价格竞争,基于零利润定理,价格竞争将会持续下去,直到利润为 0,一些几乎不可能让人致富的行业,建筑设备承包商、住宅建筑、汽车维修和保养、住房买卖租赁服务、建筑工程和相关服务、室内装修设计承包商、个人护理服务、加油站。 +4. 真正适合创业的领域,一般是大企业允许许多区域性垄断企业存在的领域,6 大致富行业有房地产、投资、汽车经销、独立创意、市场研究、其他商品经销。 +5. 想要致富,你可以利用数据所反应出来的内容来理解职业生涯的三大必问问题。1、我有自己的企业吗?2、我的企业可以避开无情的价格竞争吗?3、我的企业所在行业可以避免被全球化巨头垄断吗? + +### 创业 + +1. 创业并非是年轻人的优势,美国企业创始人的平均年龄是 41.9 岁,一个 60 岁的初创企业创始人创建一家有利可图的企业概率大概是一个 30 岁初创企业创始人的三倍。 +2. 并非局外人更有优势创业,在商业领域,深厚的领域知识储备不是诅咒,不会阻碍企业家创新,相反,在商业领域,成为一名优秀的内部人士对创业的来说优势更大。 +3. 当创始人在创业前的收入进入所在行业的前 0.1%时,他们创业成功率最高。 +4. 在成功之路要有耐心,用多年时间学习一个行业的各种知识和细节,通过成为行业内薪水最高的员工来证明你的价值,然后再去创业,最终获得真正的财富。可以花多年的时间巩固专业知识,建立人脉网,同时在一个行业取得成功,然后再中年时开始独立创业。 + +### 运气 + +1. 山姆·奥尔特曼:创业成功 = 想法 x 产品 x 执行 x 团队 x 运气,而运气是 0 ~ 10000 的随机数。 +2. 克林斯和汉森:成功公司的运气并不比其他公司好,他们只是能更好利用所获得的运气,利用任何一家公司都能遇到的运气。 +3. 在难以评价一个人表现好坏的领域里,有两个突出的效应,蒙娜丽莎效应:不可预测的事件对成功产生很大的影响(在展出前 114 年一直也是这么挂着,和其他的没有什么区别,直到 1911 年,发现被一个很蠢的小偷给偷走了,然后到处报道才引起很大的关注);达芬奇效应:艺术家的一次成功会给他带来更多次的成功,人们愿意花更多钱购买已经成名的艺术家的作品。 +4. 斯普林斯汀定律:四处旅行,寻找你的运气。讲到了画家的例子,在世界各个地方画廊展示他们的作品,不放过任何一次机会。 +5. 毕加索定律:多产的艺术家更有机会收获幸运,在相亲中、就业中也可以运用这个定律,多次尝试。 + +### 快乐 + +1. 个人外貌和他人印象之间有强关联,灯光和笑容的细微差别以及胡子、发型、银镜等更大外貌变化对人们的吸引力有很大影响,可以借助 AI 生成多个风格的你、快速市场调研和统计分析评估外貌。 +2. 峰终定律:在判断过去一段经历的好或坏时,我们基于的不是过程,而是峰值的感受(好的时候有多好,坏的时候有多坏)和结束时候的感受(无论好坏)。 +3. 让自己快乐的最好方法之一是,避免下意识地拒绝做一些看起来需要大量精力的事情。 +4. 一切都很好,但没有人快乐,金钱对于快乐的影响很小。思维限制我们追求快乐的一个关键是:由于我们无法专注于当下;人们常深陷沮丧情绪而无法自拔 +5. 缓解工作痛苦的办法:听音乐、居家办公、和朋友一起工作。 +6. 人们最快乐的时候是与恋人、朋友等我们选择的人待在一起的时候。此外自己独处时总比弱关系互动时快乐。 +7. 社交媒体可能让我们不开心,在社交媒体上互动是休闲活动中产生快乐最少的一项活动。 +8. 失利给球迷带来痛苦远远超过胜利带来的快乐,建议观看更多你不是铁杆球迷球赛的比赛。 +9. 人想要快乐,可以走进大自然,寻找周围美丽风景。明媚的阳光、完美的天气确实可以改变我们的心情,但是不要夸大天气的重要性,天气本身不能让你快乐,你还是需要和让你快乐的人一起做让你快乐的事情。 +10. 快乐排名活动表:性爱、戏剧舞蹈音乐会、看展览/逛博物馆/去图书馆、运动锻炼、园艺活动、唱歌表演、与人聊天进行社交、观鸟/自然观察、散步远足、打猎/钓鱼、喝酒、业余爱好/艺术/工艺、冥想/宗教活动、比赛/体育赛事、照顾孩子/和孩子一起玩、照顾宠物/和宠物一起玩、听音乐、玩游戏、购物/跑腿、赌博、看电视、玩电脑游戏、吃饭吃零食、做饭/准备食材、喝茶/咖啡、阅读、听演讲播客 +11. 最不快乐活动表:卧病在床、工作/学习、照顾和帮助成年人、等待/排队、行政/财务/管理、开会/上课、旅行/通勤、做家务。 diff --git a/_posts_en/2023-01-02-low-code.md b/_posts_en/2023-01-02-low-code.md new file mode 100644 index 00000000..ea23c494 --- /dev/null +++ b/_posts_en/2023-01-02-low-code.md @@ -0,0 +1,141 @@ +--- +layout: post +title: What Makes a Good Low-Code Product +date: 2023-01-02 07:00:00 +feature: https://gw.alicdn.com/imgextra/i4/O1CN01rIhOlN1GGYSuuxJaq_!!6000000000595-0-tps-3704-2568.jpg +summary: When it comes to low-code, there are those who love it passionately and those who are decidedly less enthusiastic. There are also those who "pretend" to like it and others who like it without really understanding why. Currently, I find myself somewhat fond of low-code, but only within specific domains where it can significantly speed up the development process compared to traditional coding by skilled engineers. Lately, I've been contemplating the next steps for team efficiency and decided to explore the open-source low-code products in the industry, which might offer some insights. +categories: Thought +lang: en-US +--- + +## Just Chatting + +Low-code platforms are typically associated with tools that simplify the process of building web pages. Internally, there are quite a few platforms of this sort, but there are also low-code solutions focused on logic assembly or BaaS capabilities that offer a more visual approach to what traditionally requires coding. The goal of low-code is to "**enable the development of applications with minimal coding, leveraging more convenient methods to achieve what traditionally required code**." + +People have mixed feelings about low-code: some love it, others hate it, and there are those who are somewhere in between. My current stance is that I appreciate low-code solutions, especially "**in specific domains where they can deliver solutions faster than an experienced engineer could through traditional coding**." These scenarios can truly benefit from low-code, making the experience quite satisfying. However, there might be times when using low-code isn't as pleasant, but this discomfort is far outweighed by the benefits it brings, minus the time investment required for traditional coding. + +Creating a comprehensive low-code product is challenging, particularly those aiming to cover a broad spectrum of functionalities. The complexity of considering numerous factors can lead to slow progress and difficulty in achieving user-friendliness. This often results in a significant investment of resources with a pressing need to launch and implement the product, leading to a situation where the platform feels burdensome to the developers and unsatisfactory to the users. Success usually requires enduring a long period of discomfort before reaching a satisfactory state, but many products falter before achieving their goals. Niche solutions for forms, tables, or charts, as well as BaaS solutions focusing on specific domains, tend to perform better. + +Integrated low-code platforms, which span both backend and frontend development, represent a significant challenge, particularly within large organizations where responsibilities are divided across multiple teams. The challenge stems from the difficulty in aligning standards, protocols, and database models across diverse teams. However, if a single team manages both frontend and backend, with a unified model and protocol, success is more attainable. The following are two examples of such products: + +### [Appsmith](https://github.com/appsmithorg/appsmith) + +Appsmith is an open-source framework designed for building internal applications, ideal for creating enterprise back-office systems, CRUD operations, Dashboards, and data reports. Originating from an Indian startup, it serves as an open-source alternative to [Retool](https://retool.com/), offering a similar development routine that includes UI design, data source connection, integration, and deployment, with a shift from traditional coding to visual programming. + +![Appsmith](https://cdn.fliggy.com/upic/gVjjkM.svg) + +Additionally, Appsmith offers a wide range of templates for various sectors like Project Management, Human Resources, Sales, Marketing, and Finance, providing valuable insights for low-code directions. + +### [Budibase](https://github.com/Budibase/budibase) + +Budibase positions itself as a low-code platform that developers enjoy using, focusing on speeding up application development. It distinguishes itself from Appsmith with a different approach and includes built-in databases, external data sources, GUI design, and automation features. Budibase's UI creation leans towards a design-centric method, resulting in more aesthetically pleasing interfaces. + +![Budibase](https://cdn.fliggy.com/upic/bDoZda.jpg) + +### [ToolJet](https://github.com/ToolJet/ToolJet) + +ToolJet is another noteworthy low-code framework that supports integration with various data sources through a drag-and-drop interface, including mobile support. It uses JavaScript, making it developer-friendly. + +![ToolJet](https://cdn.fliggy.com/upic/9eo9NR.jpg) + +Other notable mentions include [nocobase](https://github.com/nocobase/nocobase), [illa-builder](https://github.com/illacloud/illa-builder), and [refine](https://github.com/refinedev/refine), which are also worth exploring. + +## BaaS (Backend as a Service) in Low-Code + +The concept of BaaS became familiar to me around 2019 while working on Serverless, highlighting the potential ease of developing FaaS functions with robust BaaS capabilities. BaaS allows developers to focus on frontend development by offloading backend infrastructure management, facilitating rapid application development and market deployment. This sector, particularly in the international market, features several commendable services. + +### [Supabase](https://github.com/supabase/supabase) + +Supabase is a combination of open-source tools that builds the functionality of Firebase using enterprise-level open-source products. Firebase is a BaaS cloud service company under Google, allowing developers to easily develop an App through Firebase's framework without the need for servers or infrastructure. Knowing what it is, you roughly know what Supabase is. + +![Supabase Overview](https://cdn.fliggy.com/upic/XppYbm.jpg) + +Its main features include database hosting, authentication and authorization, automatic API generation, function services, file storage, etc., meaning users do not need to write these codes themselves, but just need to call them. Additionally, it provides client libraries for JS/C#/Flutter/Go/Java/Python/Swift/Rust, and more can be found in the [documentation](https://supabase.com/docs). + +![Supabase Features](https://cdn.fliggy.com/upic/NiGx5z.jpg) + +### [Appwrite](https://github.com/appwrite/appwrite) + +Besides Supabase, Appwrite is also a famous complete backend service capability that can be considered its competitor, with similar functions. It greatly simplifies the tedious process of writing APIs from scratch through a visual interface, creating an efficient development environment for developers under the premise of ensuring software security. It is an end-to-end developer platform based on Docker, and its containerized microservices library can be applied to web, mobile, and backend. + +![Appwrite Overview](https://cdn.fliggy.com/upic/045fTb.png) + +It provides corresponding software services, such as accounts, users, teams, databases, storage, cloud functions, multilingual, avatars, and other general capabilities, along with corresponding client or server development kits, using a microservices architecture method for better expansion. + +![Appwrite Features](https://cdn.fliggy.com/upic/8Wp6qC.svg) + +In addition, in the database field, there is an end-to-end cloud-native database called **[SurrealDB](https://github.com/surrealdb/surrealdb)**, suitable for Web, mobile, serverless, backend, and traditional applications. It reduces the development time of modern applications by simplifying database and API calls, eliminating the need for most server-side components. + +## Headless CMS + +Backend colleagues who have been coding for nearly 10 years should be very familiar with frameworks like Discuz, DedeCMS, WordPress, which were very popular at the time. I remember frequently using DedeCMS for commercial projects during my college days, which was quick and satisfying. Now, this type of backend solution has further developed to become simpler, more beautiful, and easier to use. Here, I will briefly introduce the Strapi-like headless CMS, which in simple terms is a content management system that only provides data, does not focus on UI, and prioritizes content. + +### [Strapi](https://github.com/strapi/strapi) + +Strapi is an open-source headless CMS, using JavaScript, very flexible and fully customizable, supporting many plugins. It can quickly generate a REST API service, and overall it is quite familiar for front-end colleagues to use, worth trying. + +![Strapi Overview](https://cdn.fliggy.com/upic/IviIfL.gif) + +### [Cube](https://github.com/cube-js/cube.js) + +Cube is a headless business intelligence framework for building data applications, using data from any source, organizing it into consistent metrics, and using it for every data application. + +![Cube Overview](https://cdn.fliggy.com/upic/LhZJs7.png) + +In addition to Strapi and Cube, which are two well-known headless CMSs, you can also try [payload](https://github.com/payloadcms/payload) and [webiny-js](https://github.com/webiny/webiny-js). + +## Workflow Orchestration + +It appears that many companies have their own service orchestration platforms. For larger enterprises, it's possible that each Business Unit (BU) has one. However, it's generally difficult to achieve user-friendliness, and it's hard to convey the point that "service orchestration is faster and more convenient than coding". Usually, there's a lot of enthusiasm in the early stages, stability in the mid-stage, and it becomes difficult to continue in the later stages. The journey is long and challenging, but I'm looking forward to those who are working on it reaching the point where "after enduring, one sees the light", and exploring this capability deeper. + +However, in some specific workflow domains, there are some well-executed examples, such as Automate and n8n. These tools can serve as references for building workflow orchestration. + +### [Automa](https://github.com/AutomaApp/automa) + +Automa is a browser automation workflow extension that uses connectable blocks to conveniently orchestrate your common operations. It includes capabilities like auto-filling forms, taking screenshots, data retrieval, scheduled triggering, browser operations, and web interactions. It can efficiently take over your repetitive tasks, similar to quick commands. + +![](https://cdn.fliggy.com/upic/7lTSua.gif) + +Its strengths lie in its ease of use and the provision of many out-of-the-box capabilities, allowing users to quickly meet their needs. + +### [n8n](https://github.com/n8n-io/n8n) + +n8n is an expandable workflow automation tool. From what I've seen, it's quite good for orchestrating process nodes and logical control. Moreover, it supports self-deployment based on code. + +![](https://cdn.fliggy.com/upic/eZ0K1t.png) + +## Other Unique Tools + +Aside from the commonly used low-code capabilities mentioned above, there are three very unique tools. In fact, the widely used Notion notebook is also a low-code tool. Its open-source counterpart is called AppFlowy. Another tool, YAO, builds functionalities of various parts through writing configuration DSL JSON. Lastly, there's an open-source method called NocoDB that follows the [Airtable](https://www.airtable.com/) model. + +### [AppFlowy](https://github.com/AppFlowy-IO/AppFlowy) + +As mentioned, those working on low-code should definitely try out Notion, which has been extensively utilized by many. Additionally, you can try the open-source AppFlowy. Based on this, you can explore how to control the data-to-interface display process. + +![](https://cdn.fliggy.com/upic/LOFHaV.jpg) + +### [YAO](https://github.com/YaoApp/yao) + +YAO is an open-source application engine written in Golang and exists as a command-line tool that is ready to use upon download. It's suitable for developing business systems, website/APP APIs, admin panels, and building your own low-code platforms. YAO uses a flow-based programming model and allows for the implementation of various functionalities by writing YAO DSL (JSON format logic description) or using JavaScript to write processors. + +![](https://cdn.fliggy.com/upic/SpKs8N.jpg) + +When I first encountered YAO last year, I was attracted by its innovative approach. Additionally, its built-in interface capabilities are well-designed, and the overall installation experience is smooth. The product implementation of YAO should provide valuable insights for those interested in protocol-driven approaches. For example, the system below is astonishingly created using JSON configuration, including UI presentation. + +![](https://cdn.fliggy.com/upic/n2J5a3.gif) + +### [NocoDB](https://github.com/nocodb/nocodb) + +NocoDB is an open-source alternative to [Airtable](https://www.airtable.com/). What is Airtable? It's a spreadsheet-database hybrid with the functions of a database but essentially a spreadsheet. It can integrate text, images, links, documents, and various materials. Looking back, Notion follows a similar approach, though with a focus on collaborative usage scenarios. + +NocoDB transforms MySQL, PostgreSQL, SQL Server, SQLite, or MariaDB into a smart spreadsheet. Its use cases are quite imaginative, as shown in the gif below. + +![](https://cdn.fliggy.com/upic/7mUPKT.gif) + +Additionally, there's a newcomer in the Airtable domain called **[ApiTable](https://github.com/apitable/apitable)**, which has recently been open-sourced. Overall, it's quite refined and highly recommended to explore. + +![](https://cdn.fliggy.com/upic/JmDgxL.gif) + +## Conclusion + +The low-code segment is highly competitive, but if you find the right application scenarios and can truly solve problems more efficiently than traditional coding, then there is a significant opportunity for growth. Moreover, some opinions in this article are personal; if you find any inaccuracies, please feel free to point them out. diff --git a/_posts_en/2023-01-25-my-2022.md b/_posts_en/2023-01-25-my-2022.md new file mode 100644 index 00000000..2e560824 --- /dev/null +++ b/_posts_en/2023-01-25-my-2022.md @@ -0,0 +1,191 @@ +--- +layout: post +title: Summary of 2022 - Live Freely +date: 2023-01-25 21:00:00 +summary: Today is the fourth day of the new year 2023. For a procrastinator like me, delaying any further might mean never writing it at all, which can't happen. By the time I'm old, I probably won't remember what happened. To me, 2022 was a year worth recording. This article intends to casually talk about life, tinkering, and work. +categories: Life +useVideo: true +lang: en-US +--- + +## What to Talk About + +After 3 years, the pandemic finally ended. It has been years since I wrote a summary other than work-related ones. Today is the fourth day of the new year 2023, and for a procrastinator like me, delaying any further might mean never writing it at all. By the time I'm old, I probably won't remember what happened. + +2022 was a year worth recording for me. I experienced quite a few interesting things and slowly started to understand life a bit more. The title might as well be "Live Freely." I plan to casually talk about life, tinkering, and work from these three aspects. + +## Life + +This year, aside from coding on weekends, some time was spent living life to the fullest. I gradually lost the mindset of "caring about others' opinions." **Live freely, do what I want to do, eat what I want to eat, say what I want to say, with a relaxed attitude, because I don't want to live with too many regrets or too repetitively**. + +### Twelve Months of the Year + +In mid-February, it snowed in Hangzhou. Most of the weekends of that month were probably spent **practicing for the driving test**—reversing, parallel parking, and driving on curved roads. + +In March, I did a **decluttering**, selling the iPad, an extra Mac, several watches, a ukulele, extra headphones, and speakers on Xianyu. I cleaned up the house, threw away a lot of stuff, and felt more refreshed. + +In April, I went to Fuyang to **take the driving test**. I was shocked when I failed the first attempt because I crossed the line, but I passed with 100 points on the second attempt by driving seriously and holding my breath. Due to the Shanghai pandemic lockdown, I specifically went to the supermarket to buy a lot of stuff to stay safe. Fortunately, Hangzhou was not locked down. + +In early May, I went to **play in Jinyun, Lishui** with a group of friends. The scenery in Jinyun is really nice, the sesame cakes are delicious, and we also brought equipment to camp by a small bridge and lake in the drizzle. On the way back, we also experienced the fun of camping on the roadside in the countryside and cooking snail noodles; I got my driver's license this month, passing the third and fourth subjects in one go, which was very cool. Due to the average accommodation arranged by the driving school, I didn't want to go to Fuyang anymore. + +In early June, I drove to **Tai Lake** in Jiangsu for a trip. It was not as fun as Lishui, but luckily I found a good **coffee** shop and had some delicious coffee. On the way back on the highway, a torrential rain started, bigger than the one when Yi Ping went to ask her dad for money that night. It was really scary because I couldn't see anything clearly, but fortunately, I got back safely; later, I went to Xiang Lake a few times, saw the blooming lotus flowers, went boating, and also went to Binjiang to find good coffee. + +In July, Hangzhou started to get hot, and I began to learn swimming. Another exciting event was that **the music festival, closed for over 300 days, finally took place in Taihu, Changzhou**. I immediately bought tickets and finally saw MeCardle live, my favorite rock band, along with Ma Yuan, Fazi, Sea Turtle, Tongue, and New Pants, which I also like. At the end of the month, I went to Tonglu for rafting and visited the cool caves, but the queue for rafting under the scorching sun made me feel a bit ripped off. + +In August, I continued swimming on weekends. It was too hot to go out, so I usually took my Mac to find a place to drink coffee and code. I went to the West Lake area a few times, once stumbling upon a hot spring bathhouse, but parking there was really difficult. + +In September, I suddenly wanted to ride roller coasters and swings, so I spent a day at Hangzhou Paradise. It was my third visit, but this time it felt a bit dull; only physical stimulation, no emotional thrill. Fortunately, at the end of the month, I discovered a surprise: **a new KTV opened near my home, with excellent effects and many original songs by Li Zhi**. I was so happy. + +In October, during the National Day holiday, since traveling abroad was not an option due to the pandemic in recent years, and I had already visited many places in China, I decided to **drive more than 900 KM back home**. I left a day early, without rushing, enjoying the scenery along the way. Thankfully, there was no traffic jam. Most of the journey was on autopilot, but sitting in the car still felt quite tiring. I left at 9 a.m. and arrived home at midnight. I ate a lot of delicious Hunan cuisine at home; after coming back, I continued to sing songs by Li Zhi and ended the month with a barbecue at a friend's balcony and a day of camping in the Jingshan Flower Sea, enjoying the fine weather. + +In November, the weather started to improve. I got into the habit of keeping a camping set in the car. When the sun wasn't too hot, I'd just lay down in the park and sleep, not wanting to think about anything. It was very comfortable. + +In December, the Taiziwan Music Festival in Hangzhou came along, and it was **the best music festival I've ever attended**. Tang Chao happened to be in Hangzhou because he couldn't return to Beijing due to strict controls. I was very much looking forward to Dirty Fingers, MeCardle, and also discovered the treasure band at Baixian Restaurant. In addition, Zhao Lei's live performance was excellent. This month, our team's Outing finally started. We went on a **self-driving tour from Haikou to Wanning to Sanya**. We rented a BMW M4, and the overall travel experience was superb. Wanning is really nice, not too commercialized, and the hotel was excellent. + +In January 2023, **the pandemic finally opened up**. Coincidentally, just a week before Hangzhou opened up, my community was locked down, and I couldn't leave the house for 5 days. After the reopening, I promptly got sunburned a week later, but fortunately, I only felt uncomfortable for an afternoon; the rest was fine. Then came the Spring Festival holiday, and I went to **Xinjiang** for the first time in a long while. The snow was really nice, the food was good, but it was very cold. + +Many records can be seen in this year's [Trend Weekly](http://weekly.tw93.fun/). In addition, I made a video set to Li Zhi's "Rice Store" to preserve some memories. + +{::nomarkdown} + +
    + +
    +{:/nomarkdown} + +### Learned to Drive + +A new change this year is that I learned to drive. At the end of 2021, my wife signed me up for a driving school. After passing the first subject, I didn't go because it was too cold. So, thinking of motivating myself to get my driver's license sooner, I pre-ordered a **Model 3**, thinking that by the time the queue was over and I got my license, the car would also be ready. However, the car was ready at the end of March, but I had just passed the second subject 😂. So, in April, I practiced driving crazily and finally got my license on May 13. + + + +Having a car is like having a big toy. I love it even from afar. My life radius has expanded significantly. Later, I drove to the Changzhou Music Festival, to Lishui, to Tai Lake, and even drove from Hangzhou to my hometown in Hunan for the National Day. + +### Learned to Swim + +This summer in Hangzhou was quite hot, and with the pandemic, there weren't many places to go. So, I used my weekends to learn swimming. It wasn't so much learning as it was a new form of entertainment because "learning" often feels like a task with a purpose, whereas this was more like playing, similar to coding. + +After about 7 lessons, from being able to breathe properly to being able to swim back and forth without getting too tired, the moment of realization was genuinely exciting. It was like, "So this is how it's done." Going out to play now included a new activity—hotel swimming, which was very enjoyable. + + + +Since I learned to swim, I wasn't as afraid of the sea anymore. In November, I went diving in Wuzhizhou Island in Hainan and even got a certificate. After coming up to the surface, I had the instructor watch me as I swam in the sea for a while, which was a very fun experience. + +## Tinkering + +The tinkering here refers to technology, learning, and community engagement. In the second half of this year, I consciously started exploring new things, including communicating with peers from other industries, sharing my tinkering, and expressing my products, views, and interesting finds in the community. It was a fun process to discover a different world gradually. + +One change in my thinking this year is **a strong belief in long-termism**. Persisting a little in many things can actually lead to great results, such as open source, Trend Weekly, learning, and community operations mentioned below, all of which are good examples. + +### On Open Source + +> + +This year, I open-sourced 3 works, one of them is [Miaoyan](http://miaoyan.app/), and in October, I open-sourced [Pake](https://github.com/tw93/Pake/). Both projects were well-received by many friends and even attracted interest from investors—a magical experience. Moreover, **Pake surprisingly became the top-ranked Rust project created in 2022**. Through open-sourcing, I met many friends, including fellow Hunanese, designer friends, and partners from Taiwan. We had a lot of exchanges in the group chat, and they even authentically helped prepare the English version, which was quite nice. + + + +Another project is Trend Weekly, which is my weekly learning compilation. I usually spend an afternoon every Sunday on this, discovering new things and playing with new technologies. It was first published on the internal Yuque platform two years ago. Later, some friends who left asked if there was an external version, so I spent a weekend using Astro to create an external version. This year, I published about 50 issues, which was very interesting, more like a special circle of friends for me. + +> + + + +Since the products are open-sourced and free to use, I thought of making an interesting connection and created a "Feed Tangyuan and Cola Canned Food" page. From the second half of the year, the cat food, cans, machines, cat litter, etc., used by the two cats at home, were all covered by friends who support cloud cat raising. I sincerely thank them. + + + +**In total, over the years, open-sourcing Miaoyan / Pake / XRender / WeexUi has accumulated about 20K Stars, gained 2500 followers on GitHub, and met many like-minded friends. It's been very worthwhile!** + +### Social Network + +> + +After the release of Miaoyan in June, I thought of synchronizing subsequent version release logs via Twitter. It was previously posted on V2EX and got promoted by some peers, gradually shifting my main social circle to Twitter, which has a much better atmosphere than domestic platforms. I also met many friends, including some industry big names who later became mutual followers. + + + +Later, I often shared good tools I encountered daily and learning materials on Twitter, along with product iterations of Pake, Miaoyan, and Trend Weekly. In half a year, my Twitter followers increased to over 22,000. Looking at the backend, there were nearly 3 million impressions in a month, which was quite amazing. + + + +**It's very insightful; we can fully express our genuine opinions/interests/tinkering on the internet. Just a little persistence can bring a magical force that introduces you to like-minded people, allowing you to recognize each other and chat about technology or anything else without any reservations, eventually becoming good friends.** + +Additionally, there was an interesting event on Zhihu during the 1024 activities, where I chatted with students from other fields about "How programmers can maintain competitiveness during the internet revolution period." Surprisingly, it got pushed to the homepage, and overall, the conversation was very enjoyable, and I made new friends. That day, I also made a [1024 Easter Egg](https://tw93.netlify.app/) for fellow programmers, which even won an excellent code award on Juejin. + + + +### On Learning + +I believe learning mainly involves input and output. This year, the input was more about **learning beyond technology**, such as business understanding, how to operate a product, how to design, cost calculation, and reading books. The output was mainly sharing with the department and writing articles. + +**On output**, I wrote 10 articles this year. Some were organized drafts of shared talks, and others were about my tinkering projects. + +> + + + +**On input**, I read 9 books this year, mostly after buying a Kindle. Initially, I thought it would just collect dust, but it ended up becoming something I carry with me all the time. Reading books on it is very comfortable. + + + + + + +
    + 1. Energy Management
    + 2. Elon Musk: Tesla, SpaceX, and the Quest for a Fantastic Future
    + 3. The Boiling New Decade
    + 4. The Silent Majority
    + 5. The Golden Age
    + 6. Xiaomi Startup Thoughts
    + 7. The Revelation - Creating Products Users Love
    + 8. The Lychees of Chang'an
    + 9. Liu Qing's Lectures on Western Thoughts
    +
    + +Working five days a week, work constitutes the majority of time spent in one's life. Fortunately, during my more than seven years at my company, I've mostly been engaged in work I enjoy, which leaves me quite content. + +Leading a team for over three years, a significant organizational adjustment occurred in July, transitioning from managing a platform-oriented front-end team to an industry-oriented one. The team size grew from 11 to approximately 24 members, reaching a total of over 30 individuals when including SP partners. The shift in focus went from **"improving the platform's integration and ease of integration"** to **"using technology to upgrade industry models,"** presenting numerous fresh challenges. + +In the first half of the year, thanks to efforts in 2021 to address technical debt, including standardizing various tech stacks and refactoring legacy code, we ensured that technical issues did not slow down business development. From a platform perspective, we could have pursued many initiatives but chose to dedicate 120% effort to those we fully understood, quickly verifying results for the rest. This self-driven approach allowed us to deliver more value to the business under the correct premises. + +In the latter half, the focus shifted towards addressing business development from an industry perspective, paying closer attention to solving full-chain business pain points and linking B-side supply chains with C-side user scenarios. This shift uncovered many issues and provided opportunities for solutions, centering the team's efforts on **"how front-end technology can assist the business."** + +Due to privacy and public disclosure concerns, I'll broadly cover a few areas: **"Solving business headaches", "Addressing team pain points" and "How to lead a team."** + +### Solving Business Headaches + +Applying technical solutions to business pain points—from designing solutions to collaborating with partners and seeing the development impact—proves significantly better than blindly following requirement documents. This approach not only resolves issues but also gives the team a greater sense of achievement. + +For platform-oriented businesses, the main concern is **"how my offerings can be integrated into the industry chain quickly and efficiently, and how my platform capabilities can be easily integrated by industry colleagues with clear division of labor."** We helped several business units by migrating their industry modules back to the platform and designing universal solutions to ensure **"the same page in different industries uses the same module for the same function,"** and managed business identities through backend capabilities for unified control. We also developed a simple multi-end module communication solution, enhancing efficiency in multi-end scenarios. This effort, which took about half a year, significantly sped up subsequent business iterations. + +Addressing platform tool scenarios provides an excellent opportunity for engineers to "train." Tool scenarios primarily aim to solve efficiency and usability issues. For example, customer service tools were outdated and scattered across different systems, involving multiple industries and corporate central platforms. We developed a customer service workbench, starting from sketching product fidelity drafts to discussing with business product and backend colleagues, then using product design to delineate platform and industry relations while leveraging micro-frontend capabilities to prevent mutual interference. By mid-year, most customer service staff began using this revamped and more user-friendly system. + +Additionally, we addressed a BD scenario where, after several discussions and understanding tool usage, we collaborated with designers and business colleagues to upgrade the mobile workbench twice. The first upgrade addressed old issues and established product framework logic, while the second, at year-end, focused on improving usability in crucial workflows, enhancing efficiency. + +### Addressing Team Pain Points + +"One codebase for multiple platforms" is a hot topic in the domestic front-end field. Honestly, developing mini-programs can be inefficient and painful, especially when supporting platforms like Alipay, WeChat, and Douyin. With tight deadlines, solving this basic need became the first challenge with the new industry team. + +During a project to enter Douyin, we deployed our mini-program experts and collaborated with platform colleagues to re-evaluate this area, identifying development pain points and incorporating solutions into our OKRs, shifting from a "friendly" cooperation atmosphere to a more contractual collaboration to ensure implementation. We rebuilt the middleware involving Runtime, engineering, and multi-end components, opting for compiled product solutions for performance (though time-consuming). With infrastructure prepared in advance, the business project was completed in one month, earning a fast-coding award. + +Another focus was on user-end performance and experience, often discussed but seldom well-implemented, despite attracting attention. I believe performance issues should be resolved with vigor, followed by a productized tracking solution, allowing a minimal team to maintain an unnoticeable user impact. This approach frees more team members for development efficiency and business innovation. + +Preferring practical user experience over "big data metrics," we bypassed broad indicators to detail performance standards for key industry pages, developing a performance decomposition tree for data visualization. This tool, like solving a math problem, addresses performance issues, with recent upgrades clarifying the cause of page latency and user experience distribution. Monitoring alerts directly notify responsible individuals, establishing a "routine" for addressing these issues. Additionally, we tackled the experience aspect, requiring hands-on effort to resolve issues and develop tools. + +### Leading a Team + +This year, when leading the team, I often reflected on how to enhance the engineering skills of team members through our activities, ensuring everyone has substantial takeaways. Here, engineering capabilities include not only technical skills but also the ability to articulate issues clearly, solve various problems, complete tasks, learn and explore new domains, and develop user-friendly tools and products. We undertook several initiatives, such as continuous open-source contributions, collaborating with the data team on data product visualization analysis, drawing product drafts for numerous B-side products, and observing how users interact with our tools. + +In terms of team development, we gradually focused on cultivating leadership among top team members, forming three sub-teams and two virtual groups. For new members, training involved hands-on guidance from more experienced members, setting good examples. Over the past six months, we regularly shared the "How to be an Engineer" series. + +![New Year's gift from a collaborating team leader](https://gw.alipayobjects.com/zos/k/lk/IMG_3012.jpg) + +The role of frontend developers is gradually evolving into that of product engineers, requiring more than just support tasks but collaboration with backend developers, product managers, and business units to solve real issues with technical solutions. Fortunately, this year's collaboration with the team was close and comfortable, fostering a genuine spirit of teamwork. + +## Conclusion + +Indeed, 2022 had its share of regrets, including stocks from the previous year still "playing dead," seemingly less commitment to keeping up with exercises, and days that sometimes felt repetitive and dull. However, within the 365 days of the year, there were moments that sparkled, as summarized above. + +As Wang Xiaobo wrote in "The Golden Age," "**One must have a theme in life that sustains one's dreams and souls.**" I hope to maintain this state throughout the year. diff --git a/_posts_en/2023-02-06-alacritty.md b/_posts_en/2023-02-06-alacritty.md new file mode 100644 index 00000000..bab2f6d8 --- /dev/null +++ b/_posts_en/2023-02-06-alacritty.md @@ -0,0 +1,130 @@ +--- +layout: post +title: Improvements to the Legendary Fastest Terminal +date: 2023-02-06 21:00:00 +feature: https://static.tw93.fun/img/0AscUe.png +summary: Recently, I discovered Alacritty, a cross-platform terminal emulator powered by Rust and accelerated with OpenGL, merely around 5MB in size, touted as the fastest terminal. However, it's truly unattractive. I contemplated whether to revamp it to possibly make it my default terminal. The final product turned out quite well. +categories: Creation +lang: en-US +--- + +## Long Story Short + +It's been a while since I tinkered with command-line terminal tools on my computer. After using iTerm2 for many years, due to being part of the aesthetics crowd, I started using Hyper last year, paired with Oh My Zsh, and it's been pretty smooth, except for the somewhat slow cold start. I've also tried others like Warp, Wez's, Kitty, etc., but none felt quite right. + +I recently stumbled upon Alacritty, a cross-platform terminal emulator powered by Rust and accelerated with OpenGL, merely around 5MB in size, reputed to be the fastest terminal. Regarding its claim to fame as the fastest, the official documentation [here](https://github.com/alacritty/alacritty#faq) explains it. After giving it a try, I found it indeed fast, but also incredibly unattractive. The default appearance was so bad it turned many people away. I thought about giving it a makeover, had some free time over the weekend, and ended up quite pleased with the result. So, I've documented the configuration steps for those interested in tinkering. It takes roughly 10 minutes to set up, **and additionally, on 20230211, by fiddling with Tmux, I enabled Alacritty to support multi-tab switching**, which is detailed at the end of the article. + +### 1. Download Installation Package + +Before starting, you can go to [Alacritty](https://github.com/alacritty/alacritty) on Github to download the corresponding package. For Mac users, the package is [Alacritty-v0.11.0.dmg](https://github.com/alacritty/alacritty/releases/download/v0.11.0/Alacritty-v0.11.0.dmg). After downloading, you will see the effect on the left side of the image below, and finally, we will change it to the optimized effect on the right side. + +![Comparison](https://cdn.fliggy.com/upic/OKZX5C.png) + +### 2. Replace the Default Application Icon + +The application icon is really ugly, first, you can download my [logo.icns](https://gw.alipayobjects.com/os/k/41/logo.icns), find `Alacritty.app` in the application folder, select it and press `command + i` to open the Get Info window, then drag and drop the downloaded icns file onto the icon in the top left corner to complete the replacement. The icon will automatically update after reopening. + +### 3. Make Its Display More Beautiful + +I personally prefer software to use an immersive header, and I like to use the [JetBrains Mono](https://www.jetbrains.com/lp/mono/) font. If it's not installed locally, you can download and install it directly. Finally, configure the colors according to preference. Fortunately, all these settings can be put in `~/.config/alacritty/alacritty.yml`. Mine is [alacritty.yml](https://gw.alipayobjects.com/os/k/s0/alacritty.yml). Run the following command to directly download and place it in the corresponding location. + +```bash +curl -fLo ~/.config/alacritty/alacritty.yml --create-dir \ + https://gw.alipayobjects.com/os/k/j2/alacritty.yml +``` + +After executing, reopen to try, and the effect will almost change to the right image effect above. In addition to the style configuration, some common shortcuts are also added (ah, even shortcuts have to be configured), including the following: + +```shell +command + r: Clear the screen, clearing the display of historical command lines +command + w: Hide, the default is to quit directly, this is changed to hide +command + t: Open a new window, if you need a second terminal window +command + shift + w: Close the current window +command + delete: Delete a line +command + f: Search for keywords +command + ←: Jump to the beginning of the line +command + →: Jump to the end of the line +``` + +After configuration, the UI color and font display are roughly as follows, basically quite comfortable highlights. + + +### 4. Why Not Try Fish Shell + +Many students probably use zsh; I did too. However, the overall loading and usage performance of zsh is not very fast, and it is not so convenient to configure. Here, I recommend trying [Fish](https://fishshell.com/), which is very out-of-the-box, and performs very well, with built-in auto-suggestions, syntax highlighting, tab auto-completion, visual Web configuration features. Additionally, the shell's prompt loads super fast, with almost no delay. + +First, you can install the fish shell via brew. During the installation process, it should ask if you want to set it as the default. If after installation, the default is not fish, you can refer to this document [default-shell](https://fishshell.com/docs/current/index.html#default-shell) to set it as default. + +```shell +brew install fish +``` + +After installing fish, it's basically good enough to use. You can also run `fish_config` to open the web visualization settings. Besides, I generally don't use too many plugins, but these two are essential to install. The steps can be seen in the installation commands below. + +The first one is `z`, which helps you remember your previous history of opened directories, allowing you to open a corresponding address from any path with just one key. The installation address is at [jethrokuan/z](https://github.com/jethrokuan/z). Before using it, you need to install [fisher](https://github.com/jorgebucaran/fisher) to download plugins. + +The second one is the [pure-fish/pure](https://github.com/pure-fish/pure) theme, which is quite minimalist and can also be downloaded through fisher. + +```shell +# Install fisher +curl -sL https://raw.githubusercontent.com/jorgebucaran/fisher/HEAD/functions/fisher.fish | source && fisher install jorgebucaran/fisher +# Install z +fisher install jethrokuan/z +# Install pure theme +fisher install pure-fish/pure +``` + +The effect after the final installation is as follows: + + + +Regarding the pure theme, you can slightly configure it by entering the commands directly in the terminal, as shown below: + +```bash +# You can change the original > to an emoji you like, for example, I set it to 🏂 +set --universal pure_symbol_prompt 🏂 +# If you don't like the two-line mode, you can put the command line input and the current folder on one line +set --universal pure_enable_single_line_prompt true +``` + +After all configurations are complete, using a normal time-consistent screen recording without any acceleration, you can basically see it opens instantly. + + + +### 5. Possible Issues + +1. Commands installed globally with npm do not work? It's basically because the global install directory is not set in PATH, you can refer to [NPM global commands not working with fish](https://github.com/fish-shell/fish-shell/issues/3023#issuecomment-387944920). +2. How to set Alacritty to open with a global shortcut? Try [Thor](https://github.com/gbammc/Thor), set its shortcut to `option+space` or whatever you prefer, so you can quickly open it even when it's not already open. +3. How to set Fish as the default command line tool for VS Code? Open settings, search for `shellArgs.osx`, and change the option to fish. +4. Alacritty does not support multiple tabs. How can this be supported? There are two ways, the first is to use [zellij](https://github.com/zellij-org/zellij) or [Tmux](https://github.com/tmux/tmux) plugins, you can search for the corresponding documentation. Another way is to package it yourself, refer to this [issue](https://github.com/alacritty/alacritty/issues/1544), but if you're used to it, I think not using tabs is also fine. + +### 6. Adding Multi-Tab Capability + +Some users have feedback that Alacritty is not easy to use without the Tab function. Here, I played with [Tmux](https://github.com/tmux/tmux) to customize this capability. However, to be honest, this plugin's functionality is too complex and abundant. My ideal product should be a plug-and-play one with just one command to get everything done. I tried to package it towards a minimalist direction, making the user experience consistent with Chrome's shortcuts. The final effect can be seen below: + + + +Here, I didn't use its split-screen functionality because I don't need it, only the Tab switching and current record retention features were used. Actually, if you're just using the command line simply, the non-Tab solution mentioned above is completely sufficient. However, if you have a strong need for multiple Tabs, then you can follow the steps below to play around: + +```bash +# 1. First, install tmux +brew install tmux +# 2. Download tmux configuration file to local +curl -fLo ~/.tmux.conf \ + https://gw.alipayobjects.com/os/k/8b/.tmux.conf +# 3. Replace the alacritty configuration file +curl -fLo ~/.config/alacritty/alacritty.yml --create-dir \ + https://gw.alipayobjects.com/os/k/l9/alacritty.yml +``` + +After the installation is complete, you can restart Alacritty, and it should by default load tmux. The following shortcuts are added on top of the previous setup: + +```shell +command + t: Open a new tab +command + w: Close the tab +command + number: Jump to the corresponding tab +command + shift + [: Switch to the previous tab +command + shift + ]: Switch to the next tab +``` + +I won't explain too much about what the corresponding configuration files do here, haha, actually, I tinkered for a long time because Tmux's configuration is really too complicated. Those interested in making secondary modifications can find the official documentation to tinker with. Have fun playing. diff --git a/_posts_en/2023-07-02-hongkong.md b/_posts_en/2023-07-02-hongkong.md new file mode 100644 index 00000000..9077ab44 --- /dev/null +++ b/_posts_en/2023-07-02-hongkong.md @@ -0,0 +1,116 @@ +--- +layout: post +title: Hong Kong and Not What I Expected +date: 2023-07-02 21:00:00 +summary: My first trip to Hong Kong was not about ticking off tourist spots but rather observing the culture and environment, leading to discoveries quite different from what I had imagined. Here's a casual chat about those observations. +categories: Life +feature: https://gw.alicdn.com/imgextra/i3/O1CN01Qa9eyp1XpgMQR8wsf_!!6000000002973-0-tps-4032-2268.jpg +lang: en-US +--- + +## The Beginning + +A few months ago, thanks to an introduction by Uncle Wolf, GIAC's Global Internet Architecture Conference invited me to share about the integration of Rust and frontend technologies. The conference was in Shenzhen, and I immediately accepted the offer. Despite having traveled extensively, I had never visited Shenzhen or Hong Kong. Some good friends live there, and finally, there was a "pretext" to visit, which felt great. + +However, my flight from Hangzhou to Shenzhen on Friday night was delayed from 7:40 PM to 10:40 PM. Arriving in Shenzhen around 1 AM, it took me over 20 minutes just to walk out of the airport. After a taxi ride to the hotel, it was already 2:30 AM, and I was exhausted. + +I was scheduled to speak in the afternoon session of the second day. Attending the morning sessions, I noticed how hot AIGC was, while Web 3.0 and Node seemed a bit on the decline. After the day ended, my friends took me out for a barbecue. Although I didn't explore much of Shenzhen, the oysters were truly exceptional (YYDS). Later, we strolled around Shenzhen Bay, gazing at Hong Kong across the water, and then headed to a bar for some casual drinks, which was quite enjoyable. + +The next morning, I headed to Hong Kong. I took a taxi to Futian station, and a 15-minute high-speed train ride later, I arrived at Hong Kong's West Kowloon station. It felt just like taking the subway, albeit with an additional immigration process. + +## Observations + +It was my first visit to Hong Kong. I'm not the type to rush through tourist attractions; instead, I prefer to observe the cultural and environmental settings. I noticed several aspects that were "**Not What I Expected**," which I'll casually talk about here. + +1. On Sundays, parks, plazas, and bridges are filled with gatherings of Filipino maids. I was surprised by their numbers. Despite the rain, they sat on the ground with large and small bags around them, clad in colorful attire, eating, chatting, laughing, singing, and even video chatting with family. It felt like a joyful day off for these hardworking individuals. I saw many such gatherings at Victoria Harbour and later at Kowloon Park. After some research, I learned that Sundays are their official day off. Since restaurants and malls can be expensive, public spaces become a popular choice for these gatherings, reminiscent of a low-key version of camping activities in our country. This also highlights Hong Kong's inclusivity. + +2. The cost of living in Hong Kong is higher than I expected. A bottle of water costs 10 HKD, and a small sandwich from FamilyMart is 30 HKD. Dining at a slightly upscale restaurant can set you back by an average of 500 HKD per person, which deterred me. However, prices at Starbucks are similar to those in mainland China. The fees for services surprised me too; storing luggage at West Kowloon station cost me 140 HKD, and forgetting a locker's code meant paying an additional 60 HKD. Uber rides are pricey; a short trip can easily cost 60 HKD, reminiscent of taxi fares in Japan. Thankfully, the extensive subway network makes public transportation a viable option. Yet, there are places where prices are only marginally higher than in mainland China. For example, dining at "WaSo Ice Room" in Tsim Sha Tsui, we ordered five dishes for just under 160 HKD, leaving us full and satisfied. + +3. Public spaces are exceptionally accessible, creating an atmosphere of equality. Almost every traffic light, elevator, and subway station is equipped to assist visually impaired individuals. Traffic lights emit beeping sounds to indicate when it's safe to cross, and handrails and subway barriers have prominent Braille labels. Even subway station entrances feature Braille for reading and button interactions. + +4. Transportation in Hong Kong has its peculiarities, starting with customizable license plates. In mainland China, plates like "666" or "ILoveYou" would seem fake, but they're perfectly legal in Hong Kong. Cars drive incredibly fast, giving small vehicles a racing feel. Interestingly, adherence to traffic lights isn't strict; about a third of pedestrians cross on red lights if the road is clear. + +5. People in Hong Kong are generally friendly. A local gentleman at the high-speed train station went out of his way to give us directions. Convenience store staff are courteous in explaining things, and it's common to see older individuals working. The streets are filled with foreigners and locals alike, engaging in conversations in Cantonese, which thrilled me as a fan of Hong Kong movies and Cantonese music. + +6. Other observations include the scarcity of power banks (bring your own next time), extremely cold air conditioning in malls, and unpredictable rain showers (an umbrella is a must). + +Observing the cultural and environmental aspects of Hong Kong on my first visit, I discovered many aspects that were **"Not What I Expected"** and wish to share them here. + +1. **Sunday Gatherings of Filipino Maids:** Surprisingly, parks, plazas, and bridges were crowded with Filipino maids on Sundays. Despite the rain, they sat on the ground, surrounded by their belongings, wearing colorful clothes, eating, chatting, laughing, singing, and video chatting with family. This joyful day off seemed like a happy, hardworking holiday. I witnessed this vibrant scene in Victoria Harbour and Kowloon Park. Sundays are their official rest days, and due to high expenses in restaurants and malls, public places become a preferred spot for gatherings with homemade food, reminiscent of a low-key version of camping activities in our country. This showcases Hong Kong's inclusivity. + +2. **High Cost of Living:** The cost of living in Hong Kong was higher than expected. A bottle of water costs 10 HKD, and a small sandwich from FamilyMart is 30 HKD. Dining at a decent restaurant can easily reach an average of 500 HKD per person, which deterred me, although Starbucks prices are similar to those in mainland China. Service fees surprised me; luggage storage at West Kowloon station cost 140 HKD, and forgetting a locker's code required an extra 60 HKD. Considering Uber for a short 1.5 km trip showed a fare of 60 HKD, reminiscent of taxi fares in Japan. Fortunately, the extensive subway network facilitates public transportation. Yet, some places seemed only slightly more expensive than in mainland China. For instance, dining at "WaSo Ice Room" in Tsim Sha Tsui, we spent under 160 HKD for five dishes, feeling full and satisfied. + +3. **Accessibility in Public Spaces:** Public spaces in Hong Kong are remarkably accessible, promoting an atmosphere of equality. Traffic lights, elevators, and subways are well-equipped for visually impaired users, with audible signals at traffic lights and Braille on elevator handrails and subway barriers, even allowing for Braille reading and button interaction at subway station entrances. + +4. **Unique Transportation Aspects:** Vehicle license plates in Hong Kong can be customized, which is quite fascinating. The driving side is the same as in the UK, with cars driving incredibly fast, and small cars giving off a racing vibe. Interestingly, adherence to traffic lights isn't strict; about a third of pedestrians cross even during red lights if the road is clear. + +5. **Friendly Encounters:** Many people, including a helpful gentleman at the high-speed train station and a courteous convenience store worker, were exceptionally friendly. The streets had a fair number of elderly workers, indicating a society that offers employment opportunities to older individuals. The presence of many foreigners and locals alike, conversing in Cantonese, excited me as a fan of Hong Kong movies and Cantonese music. + +6. **Other Observations:** The scarcity of power banks suggests bringing your own on the next visit. Also, mall air conditioning is exceptionally cold, and the weather tends to be unpredictable with sudden rain showers, making an umbrella necessary. Additionally, large screens outside malls displaying news and stock market indices, along with the ease of communication in fluent Cantonese or English, enhance the experience. For instance, ordering a Flat White at Starbucks revealed the importance of understanding local terms. + +In conclusion, while the cost of living is higher than expected, the culture, atmosphere, and scenic beauty of Hong Kong make it worth a second visit. + + +### Take a picture casually + +#### delayed flight + + + + + +#### Shenzhen Bay overlooking Hong Kong + + + + + +#### Victoria Harbour + + + + + + + + + +#### Maid from the Philippines + + + + + +#### Kowloon Park + + + + + +#### Tsim Sha Tsui + + + + + + + + + +#### Hua Sao Ice Room + + + + + +#### Subway Braille + + + +#### Purchase of virtual currency + + + +#### Shenzhen Airport internal shuttle subway + + diff --git a/_posts_en/2023-08-20-edge.md b/_posts_en/2023-08-20-edge.md new file mode 100644 index 00000000..adfbb3ad --- /dev/null +++ b/_posts_en/2023-08-20-edge.md @@ -0,0 +1,142 @@ +--- +layout: post +title: My 2023 Browser Tinkering Journey +date: 2023-08-20 16:00:00 +feature: https://tw93.fun/images/edge1.png +summary: The browser is likely the most frequently used application on many people's computers. For those of us with a penchant for optimization, we often tinker with our work tools until they're in a state of peak usability. Last year, I wrote about my journey tinkering with Mac software. After a year of iterations and changes, I plan to continue writing this year, starting with "My 2023 Browser Tinkering Journey," especially since a friend recently asked me which browser I use. +categories: Creation +lang: en-US +--- + +## Why Write + +The browser is likely the most frequently used application on many people's computers. For those of us with a penchant for optimization, we often tinker with our work tools until they're in a state of peak usability. Last year, I wrote about my journey tinkering with Mac software. After a year of iterations and changes, I plan to continue writing this year, especially since a friend recently asked me which browser I use. So, let's start with "My 2023 Browser Tinkering Journey." + +## Characteristics of a Useful Browser + +Aside from the current browsers generally having no issues with compatibility, including security aspects where they're more or less the same, what characteristics do I believe make a browser useful? + +1. **Speed is paramount**: The speed of opening web pages must be fast, which is the primary criterion. It should not feel sluggish, imparting a sense of swiftness akin to a cheetah. +2. **Highly configurable**: I should be able to turn off anything I don't need. Even if the default initialization isn't great, it should all be disable-able. +3. **Simple, easy to use, and aesthetically pleasing**: It must be straightforward, with a predictable interface where I can find what I need immediately, and the window display should not be unattractive. + +## Browsers I've Used + +I conducted a questionnaire survey last Saturday, retrieving 948 responses, primarily from engineers or those interested in IT. The results were more or less as expected, with an additional 40 or so respondents expressing a strong preference for Firefox. + + + +Most respondents likely use the Chrome browser, which is simple, user-friendly, and reasonably fast after downloading. However, its performance is actually just average, especially evident when I used a 2019 model Mac for comparison. I also have a particular fondness for vertical sidebars, as the top tab bar feels like a waste of space to me. + +I've also extensively used the [ARC](https://arc.net/) browser, a super stylish browser with outstanding interaction design. However, I usually find myself unable to continue using it after a few days, satisfying the aesthetic requirement but falling short in operational certainty and swiftness compared to traditional browsers. + +Besides these, there's Firefox, my favorite browser during my university days when I was a Windows user. However, I stopped using it later due to extension compatibility issues and inconsistent standards in frontend development. I've also tried Opera, [Vivaldi](https://vivaldi.com/zh-hans/), and [Brave](https://brave.com/zh/download/). I gave up on Opera because it doesn't support sidebars, Vivaldi was too customizable and hence too complicated for my liking, and Brave was okay if you value privacy and supports sidebars, but I didn't find it very attractive and eventually gave up on it. Additionally, there's Safari, highly favored by many Apple developers for its simplicity, but its incompatibility with Chrome extensions and the need to install an app for each extension made me abandon it as well. + +## My Final Choice + +Last year, my journey with Mac software introduced Edge as my browser choice, and surprisingly, it remains Edge this year. I have a love-hate relationship with this browser; the hate comes from its very Microsoft-style approach—great for showcases but messy in actual use, with a default effect that feels cluttered. **However, thankfully, all the extra features can be turned off, and with significant UI upgrades this year, the speed feels genuinely swift. Plus, the support for vertical side tab bars** makes it meet my criteria for a "useful browser." However, reaching this state requires considerable configuration work, which is why I'm writing this article. + + + +## Starting Configuration + +If you haven't installed Edge yet, you can download the [official version](https://www.microsoft.com/en-us/edge/download). After downloading, I suggest logging in to the sync feature first. If you don't have a Microsoft account, create one to save your configurations and prevent loss when switching to a new machine. + +**Before starting the configuration, to ensure a smoother transition, I recommend syncing your previous browsing history and bookmarks to the new browser. You can click the first tab on the menu bar `Microsoft Edge`, choose `Import browser data`, and import the records from your previous browser, akin to one-click moving.** + +**Of course, if you're accustomed to Chrome, except for the section "Turning off all the unnecessary stuff," the following can also be applicable**. + +## Turning Off All the Unnecessary Stuff + +1. `Command+.` to enter the settings page, in `Profiles` turn off Microsoft Rewards to minimize distractions. +2. Select `Privacy, search, and services`, aside from `Tracking prevention` and `Microsoft Defender Smartscreen`, turn everything else off, [screenshot of the effect](https://gw.alipayobjects.com/zos/k/8f/SCR-20230818-nzug.png). +3. Continue in `Privacy, search, and services` to the bottom, find `Address bar and search`, change the search engine in the address bar to `Google`, which is significantly better than Bing, [as shown in the screenshot](https://gw.alipayobjects.com/zos/k/db/o8kr1v.png). +4. Select `Appearance`, turn on `Try the new Microsoft Edge appearance`, `Show profile icon in the title bar`, `Show profile switcher in the profile button`, set page zoom to 110% (if you have a high-resolution Mac, a bit of zooming will feel more comfortable), in `Customize toolbar` enable `Hide the title bar in vertical tabs`, enable `Show all open browser windows in vertical tabs`, turn off all `Choose what to show on the toolbar`, turn off all `Context menus`, in `Customize browser` turn on `Tab stops highlight links and form fields on webpages`, `Use double click to close browser tabs`, turn everything else off, final configuration [screenshot](https://gw.alipayobjects.com/zos/k/14/ORSLHn.png). +5. Continue in `Appearance` to the bottom, choose `Customize fonts`, which should be empty by default, you can change all fonts to `Helvetica Neue`, and monospace font to `JetBrains Mono`, [screenshot of the effect](https://gw.alipayobjects.com/zos/k/t0/n1OVak.png). +6. Continue in `Appearance`, find `Hover menu`, you can turn everything off there, [screenshot of the effect](https://gw.alipayobjects.com/zos/k/2g/CIr88d.png). +7. Select `Sidebar`, if you're someone with OCD, I suggest turning everything off here, then click `Discover` to turn off `Show Bing Chat`, [screenshot of the effect](https://gw.alipayobjects.com/zos/k/hl/Ly6T61.png), [Discover screenshot](https://gw.alipayobjects.com/zos/k/nd/q8xMtt.png). +8. Select `System and performance`, you can configure the optimizations according to your situation, you can refer to [my configuration](https://gw.alipayobjects.com/zos/k/wa/9ExeYQ.jpg). + +After the above steps, your new browser should become much cleaner, haha, Edge's product managers might want to chase me down with a 30-meter-long sword after seeing this. + +## Finding Some Useful Extensions + +It's not recommended to have too many extensions, only the essentials, to avoid running efficiency problems or even making it difficult to troubleshoot page bugs. Furthermore, it's advisable not to install extensions directly from the Edge store but to get them from the [Chrome Web Store](https://chrome.google.com/webstore/category/extensions) for a richer and safer experience. The following 6 extensions are ones I use a lot, which I can briefly introduce. + + + +### [Maple Bookmarks](https://chrome.google.com/webstore/detail/maple-bookmarks/lgncmpklmepncbjpiebhdoejhmbcnjad) + +Maple Bookmarks is a bookmark management extension I wrote two years ago but have been using locally until recently, when I decided to upload it to the Chrome store for friends to use. The main reason is that **the browser's default bookmark bar blocks my view**. Having it directly exposed on the page easily distracts me when I'm working on something, so I usually hide the default bookmark bar and use this extension for a smoother browsing experience. + +After installation, simply press `Command + E` to quickly access bookmarks, even with immediate search capability, practical and convenient, like this. + + + +**Before using it, it's advised to organize your bookmarks, adjust the commonly used order, and delete the less frequently used ones, placing folders at the back**. Then, hide the bookmark bar with `Command+Shift+B`, and it's also recommended to show `Maple` in the Toolbar for easy access. + +Additionally, **if you find Edge's default new tab page too ugly, you can switch to my [Maple Newtab](https://chrome.google.com/webstore/detail/maple-newtab/fobmbldflolfooglijmbibmnhoflbjlb/)**, which supports blank clean pages, Trendy Weekly images, Bing images as background options. Place the cursor on the background image, wait for 2s for the switch box to appear, and click to switch. + +### [Immersive Translate](https://chrome.google.com/webstore/detail/immersive-translate/bpoadfkcbjbfhfodiogcnhhhpibjhbnh) + +This extension is the most amazing and powerful Chrome extension I've encountered this year, and also the best web page translation plugin. After downloading, it's highly recommended to follow its setup instructions, set up convenient shortcuts, and it's advised to use the ChatGPT mode for translation, which works very well. + + + +For more detailed usage, you can visit the [Immersive Translate](https://immersivetranslate.com/) official website, which is almost entirely free to use. + +### [uBlock Origin](https://chrome.google.com/webstore/detail/ublock-origin/cjpalhdlnbpafiamejdnhcphjbkeiagm) + +How could a browser exist without an ad-blocking plugin? However, many ad-blocking plugins are memory-intensive and not as lightweight or customizable as I would prefer. I've been using uBlock Origin for several years, an efficient network request filtering tool that uses minimal memory and CPU. + +Once installed, you can go into the extension settings and turn off options you deem unnecessary. Also, in the rules list, select only the main filtering rules, such as those with "Chinese" or "中文". **If you want to simplify the process, you can download my [my-ublock-backup](https://gw.alipayobjects.com/os/k/1/my-ublock-backup.txt) and choose `Restore from file...` in the settings to overwrite directly**. + + + +With this, if you encounter unblocked ads or non-ad elements you wish to hide, you can directly right-click to customize and hide things you don't want to see. + +### [Violentmonkey](https://chrome.google.com/webstore/detail/jinjaccalgkegednnccohejagnlnfdag) + +Violentmonkey is one of those tools that you don't realize how powerful it is until you start using it. I had heard about userscripts long ago but hadn't really used them until I encountered situations where they became essential. Once I started, I couldn't stop. With its ability to inject JS, you can do a lot, and there are many scripts already written by others. + + + +However, I don't recommend installing too many scripts. Currently, I mainly use these 7 scripts, and you can selectively install as needed. Additionally, it's advisable to turn on the sync feature in the extension settings for easy use on a new computer. **If you prefer not to bother, you can import my pre-configured [backup file](https://gw.alipayobjects.com/os/k/lc/violentmonkey.zip)**. + +1. [Twitter X -> Blue Bird](https://greasyfork.org/zh-CN/scripts/471782-twitter-x-blue-bird): If you use Twitter, replace the Twitter X logo with a little blue bird. +2. [CSDN Ad Blocker](https://greasyfork.org/zh-CN/scripts/378351-csdn-ad-blocker): No need to log in anymore! Experience a new CSDN. +3. Remove Specific Background Watermarks: A plugin I wrote to remove watermarks from web pages. It's simple, and you can look up how to write it, making your pages less ugly. This is available in the backup file. +4. [anti-redirect](https://greasyfork.org/zh-CN/scripts/11915-anti-redirect): Removes redirections on Google/Baidu/Sogou/360/Zhihu/Tieba/Jianshu/Douban/Weibo... +5. [V2EX Polish](https://greasyfork.org/zh-CN/scripts/459848-v2ex-polish): A browser plugin designed for V2EX users, offering rich extension features for a rejuvenated native page. +6. [Make Your Lark Better](https://greasyfork.org/zh-CN/scripts/473205-make-your-lark-better): Breaks Lark's copy restriction, especially useful when you need to copy some documents and find it restricted. + +### [Minimal Theme for Twitter](https://chrome.google.com/webstore/detail/minimal-theme-for-twitter/pobhoodpcipjmedfenaigbeloiidbflp) + +If you're on Twitter, don't miss this extension. It can transform your ugly Twitter page into a very clean one. My configuration [looks like this](https://gw.alipayobjects.com/zos/k/lf/nYtapH.png), and you're welcome to copy it. + +## The Very End + +There are many efficient ways to use a browser, such as becoming familiar with shortcuts. Here are some I frequently use that you might find helpful to remember: + +1. `Command+L` for quick searches of history, bookmarks, and URLs. +2. `Command+T` to open a new tab. +3. `Command+Y` for history. +4. `Command+Shift+B` to toggle the bookmarks bar. +5. `Command+Shift+J` for downloads. +6. `Command + Shift + N` for incognito mode. +7. `Command + Number` to jump to a specific TAB page. +8. `Command + Shift + Delete` to clear browser history. +9. `Command + Shift + []` to switch between tabs. + +Additionally, I've bookmarked some commonly used pages that help me improve efficiency or for learning and reading: + +1. [Shots](https://shots.so/): Most screenshots in this article were beautified and standardized using this tool. +2. [Dribbble](https://dribbble.com/shots): A go-to for design ideas and inspiration. +3. [Daily.dev](https://app.daily.dev/onboarding): For reading international tech articles. +4. [macOSicons](https://macosicons.com/#/): For finding attractive icons for Mac apps. +5. [Pexels](https://www.pexels.com/zh-cn/): For royalty-free images. +6. [unDraw](https://undraw.co/illustrations): For simple, attractive SVG illustrations. +7. [Squoosh](https://squoosh.app/): For compressing images. +8. [Iconfont](https://www.iconfont.cn/): An increasingly useful icon download site. + +Getting used to quick browser operations and remembering your commonly used sites can significantly enhance your browsing experience. However, I suggest not following my methods entirely but selecting based on your preferences. Still, it's worth tinkering with, as it can be quite fun. If you have any browser tips you find useful, feel free to discuss and share ❤️. diff --git a/_posts_en/2024-02-09-tools.md b/_posts_en/2024-02-09-tools.md new file mode 100644 index 00000000..6a43c0c1 --- /dev/null +++ b/_posts_en/2024-02-09-tools.md @@ -0,0 +1,154 @@ +--- +layout: post +title: My Handy Tool Exploration Journey +date: 2024-02-09 16:00:00 +summary: Recently, taking advantage of the holiday downtime, I organized some of the better Mac software, websites, and lifestyle goods I've used over the year. Adhering to the principles of simplicity, usability, and aesthetics, I hope this can offer some assistance when you find yourself puzzled with choices. +categories: Share +feature: https://img.alicdn.com/imgextra/i1/O1CN01kIwTkb1D3mgkwzqtV_!!6000000000161-0-tps-5712-4284.jpg +lang: en-US +--- + +Leveraging the recent holiday break, I took the opportunity to tidy up a list of Mac software, websites, and daily life gadgets that I've found particularly useful over the past year. I've always valued simplicity, ease of use, and beauty in my tools, hoping to provide some guidance when you face similar dilemmas in choice. + +## Mac Software + +This year, I didn't venture into new software territories as much as refining and optimizing my current toolkit for a more comfortable usage experience. I aimed to avoid duplicating tools with similar functionalities, keeping to the principle of simplicity and beauty. Here are some of the Mac applications I've favored this year. If you're into experimenting with new tools, you might find some of these worth downloading and trying out. + +![](https://cdn.fliggy.com/upic/x7M782.png) + +### Favorites of the Year + +1. [**MiaoYan**](https://github.com/tw93/MiaoYan/): A simple and easy-to-use native Markdown note application I developed 3 years ago, continuously updated throughout its use. +2. [**ChatGPT Desktop**](https://github.com/tw93/Pake): A desktop version of the official GPT webpage, packaged using my own Pake, with injected styles and scripts for enhanced usability, invoked through shortcuts for daily use. +3. [**MessAuto**](https://github.com/LeeeSe/MessAuto): A handy tool for receiving SMS verification codes on your phone and automatically filling them in on your Mac, solving the hassle of manually typing them from your phone. +4. [**Alacritty**](https://github.com/alacritty/alacritty): A command-line terminal written in Rust. I've previously discussed improving the "fastest terminal in the west" in a [blog post](https://tw93.fun/2023-02-06/alacritty.html), highlighting its speed, simplicity, and beauty. +5. [**Top Calendar**](https://guojiubo.github.io/zh/): A menu bar calendar app that shows the calendar, holidays, lunar calendar, and upcoming schedules, all in a beautiful interface. +6. [**Shottr**](https://shottr.cc/): A screenshot tool I absolutely love. Many of the screenshots I share are captured with it, supporting scrolling screenshots, annotations, and more. +7. [**Raycast**](https://www.raycast.com/): An incredibly useful and powerful global search tool. If you're still using Alfred, I highly recommend giving this a try. Its plugin system can also replace many other applications you might be using. +8. [**Bob**](https://bobtranslate.com/): A handy translation tool configured with OpenAI's services, offering one-click word translation, shortcut-invoked translations, and comparisons of multiple translation results. +9. [**uPic**](https://github.com/gee1k/uPic): A super convenient image upload tool that supports custom upload services through FaaS or direct use of cloud providers' OSS services, allowing for easy upload and immediate use. + +### Input/Output Tools + +1. [**MindNode**](https://www.mindnode.com/): A tool for creating visually appealing mind maps, which I've been using for nearly 8 years, ideal for brainstorming and quick thinking. +2. [**NetNewsWire**](https://github.com/Ranchero-Software/NetNewsWire): An RSS subscription software, my main source for news and technical articles, providing a streamlined reading experience. +3. [**Things**](https://culturedcode.com/things/): A simple and clean to-do software, its simplicity actually helps to focus more on the tasks at hand. +4. [**Revezone**](https://revezone.com/index.html): Lately, Excalidraw has been incredibly helpful for quickly producing product prototypes for team collaboration. Revezone supports excellent Chinese fonts and multi-tab usage, addressing the limitations of single instances. +5. [**VSCode**](https://code.visualstudio.com/): Still my most-used code editor, capable of opening and editing virtually any codebase, combining aesthetics with functionality. +6. [**WebStorm**](https://www.jetbrains.com/webstorm/): Used for project-specific development. I've previously written about its virtues in ["You're Still Using WebStorm?"](https://tw93.fun/2021-07-09/webstorm.html), especially praising its git comparison features, stability, and unmatched usability. +7. [**Spotify**](https://www.spotify.com/): My go-to multi-device music streaming service, previously recommended for its simplicity and rich music library. +8. **Mail**, yes, the default Apple Mail app, can be easily configured for a cleaner interface, allowing for a more efficient email management experience. + +### Efficiency Tools + +1. [**Edge Browser**](https://www.microsoft.com/en-us/edge?ep=313&form=MA13M0&es=40): I have a love-hate relationship with this browser. I tried Arc but found it somewhat complex, barely lasting a week. The primary reason I stick with Edge is its vertical tab bar and impressive performance speed. I've written about my browser journey in 2023 in this blog post, [My 2023 Browser Odyssey](https://tw93.fun/2023-08-20/edge.html), for reference. +2. [**Thorium Browser**](https://thorium.rocks/): Since Edge isn't the most aesthetically pleasing, I discovered this super-fast browser mid-year that allows for considerable customization. I switch to it from time to time, and who knows, it might one day replace Edge entirely. +3. [**ScreenFlow**](https://www.telestream.net/screenflow/overview.htm): My go-to software for screen recording and video editing. It's a durable piece of software that's both simple and powerful. I primarily use it for product demos and speeding up videos. +4. [**TotalFinder**](https://totalfinder.binaryage.com/): A powerful Finder alternative that brings a Chrome-like multi-tab experience to Finder while maintaining a familiar look and adding several useful features, such as cut and paste. +5. [**App Cleaner & Uninstaller**](https://nektony.com/mac-app-cleaner): A software uninstallation tool essential for someone who frequently tests new software. This tool performs clean uninstalls with an attractive interface and useful features. +6. [**Stash**](https://stash.ws/): A tool for bypassing internet censorship. Its multi-platform support, especially for Apple TV, mobile phones, and computers, means I don't have to fuss with settings. Plus, the developer is continuously updating it, which is great. +7. [**Dozer**](https://github.com/Mortennn/Dozer): Helps hide unnecessary app icons from the top menu bar. As someone with OCD, I only allow essential software icons to be visible. +8. [**Input Source Pro**](https://inputsource.pro/zh-CN): A tool developed by a friend for automatically switching input methods. It's been very reliable and has saved me a lot of time. +9. [**Drop**](http://dropyourcolor.com/): A color picker tool, especially useful during UI development when you're looking to match a visually appealing color palette by examining the colors used in well-designed software. +10. [**DMG Canvas**](https://www.araelium.com/dmgcanvas): A tool for editing and creating dmg packages for Mac development. It's straightforward and easy to use. + +## Tool Websites + +This time, I've selected a batch of my frequently used websites for learning, audio-visual content, tools, and resources from nearly 50 articles published in [**Trend Weekly**](https://weekly.tw93.fun/) in 2023. + +![](https://cdn.fliggy.com/upic/qCwDNl.png) + +### Learning Resources + +1. [**Language Reactor**](https://www.languagereactor.com/): A fantastic tool for learning English pronunciation through enjoying foreign films and TV shows, making language learning enjoyable and effective. +2. [**YouGlish**](https://youglish.com/): Uses YouTube to improve your English pronunciation, showing how real people use English in various contexts. +3. [**Periodic Table PRO**](https://pt.ziziyi.com/): A high-aesthetic must-have for chemistry enthusiasts, visualizing the periodic table in an engaging way. +4. [**Dribbble**](https://dribbble.com/): I generally browse this site to view impressive designer works, enhancing my aesthetic sense. +5. [**Meiye**](https://www.meiye.art/): A design content recommendation platform that, compared to Dribbble, is more localized and rich in design-related learning materials. +6. [**Supercreative**](https://supercreative.design/): A collection of a thousand inspirational websites. When you're out of ideas, this is a good place to explore. +7. [**MuscleWiki**](https://musclewiki.com/): A muscle workout website that clearly shows how to exercise specific body parts. +8. [**every-programmer-should-know**](https://github.com/mtdvio/every-programmer-should-know): A curated collection of technical topics every software developer should know, including computer science, algorithms and data structures, distributed systems, regex, security, usability, code design, and engineering philosophy. It's suitable for those who love to delve into details. + +### Audio-Visual + +1. [**SkylineWebcams**](https://www.skylinewebcams.com/): A platform sharing real-time HD webcam footage from around the world, allowing you to see the Western Wall in Jerusalem, eruptions of Mount Etna, elephants at a watering hole in South Africa, and even the street view outside a nightclub on Koh Samui. +2. [**EarthCam**](https://www.earthcam.com/): Offers real-time views of cityscapes, architecture, and even live broadcasts from zoos and aquariums worldwide. You can even watch eggs hatch into chicks shared by some users. +3. [**City Walks**](https://www.citywalks.live/): A website for virtual city tours, providing real-time views of streetscapes from around the globe, giving a better sense of local atmospheres and scenery. +4. [**NASA Eyes**](https://eyes.nasa.gov/): An impressive 3D space visualization tool that lets you experience the earth, planets, satellites' orbits, and positions in real-time. For space enthusiasts, it's a great tool to explore the solar system and the universe. +5. [**Radio Garden**](http://radio.garden/): Navigate through different countries and cities' high-quality broadcasts using a 3D visualization of the globe, discovering a wide variety of niche foreign music styles. +6. [**Music For Programming**](https://musicforprogramming.net/): A collection of music selected to help reduce distractions and enhance focus during programming, providing a bit of a flow-state magic. + +### Tool Category + +1. [**Shots**](https://shots.so/): A screenshot generation tool I really like, capable of creating beautiful screenshots with various style backgrounds. +2. [**Upscayl**](https://www.upscayl.org/): An AI-powered image upscaling tool that also offers a desktop client, making it super convenient and easy to use. +3. [**AllinOneTools**](https://allinone.tools/): A single tool for converting between various file formats, including images, PDFs, videos, and webpages. +4. [**IT Tools**](https://it-tools.tech/): A comprehensive online toolbox for developers, akin to a Swiss Army knife for engineers. +5. [**WakaTime**](https://wakatime.com/): A time, type, and project metrics monitoring tool that supports various code IDEs, showing how much code you've written. +6. [**OrbStack**](https://orbstack.dev/): A super sleek and lightweight tool for Mac, serving as an alternative to Docker and Linux. +7. [**Bio Link**](https://bio.link/): A simple personal link website where you can compile and display links to your work. +8. [**Reactive Resume**](https://rxresu.me/): A free, open-source resume builder tool, perfect for job seekers. +9. [**Nomad List**](https://nomadlist.com/): Gathers and displays the digital nomad index for thousands of cities, including cost, internet speed, and quality of life, helping you find the best place to work and live. + +### Resources Category + +1. [**macOSicons**](https://macosicons.com/#/): Over 5000 free icons for macOS and iOS, commonly used to replace unattractive app icons for a unified style. +2. [**Pexels**](https://www.pexels.com/zh-cn/): A website offering free images and video materials. +3. [**Loose Drawing**](https://loosedrawing.com/): Commercially usable illustration materials by a Japanese designer, showcasing a unique style. +4. [**ManyPixels**](https://www.manypixels.co/): A vector illustration download website suitable for dark backgrounds, with each image finely crafted and exquisite. +5. [**Mockups Design**](https://mockups-design.com/): A free high-quality mockup material download website, offering real-world templates like 3D objects, brochures, business cards in PSD format. + +## Life's Good Things + +Engineers need more than just software and code; a fulfilling life and love for living are essential. The purpose of earning money is to lead a happier life. Here, I recommend some life-enhancing gadgets that have increased my happiness. If you suffer from choice paralysis or are in the midst of decorating, these might give you some ideas. + +![](https://cdn.fliggy.com/upic/5y33k2.jpg) + +### IT Devices + +1. **Computer**: MacBook Pro M2 32GB 16-inch Space Gray, significantly faster than the 2019 model. I opt for larger screens since I don't use external monitors. +2. **Phone**: iPhone 15 Pro 256GB in the original color, a noticeable upgrade in appearance and texture from the 13 Pro, and lighter. I recommend purchasing the best device your budget allows for everyday use. +3. **Headphones**: AirPods Pro2, having used Pro1 for about 3 years before selling all other headphones. Now, this is my only headphone, fully satisfying my daily needs. +4. **Watch**: Apple Watch Series 7 in starlight, bought a few years ago. It's a beautiful but somewhat frivolous item. If used merely as a watch, it's not worth it, but for decoration and health monitoring, it's acceptable. +5. **Router**: [Xiaomi AX9000](https://u.jd.com/jiNKzm2), a large black device with strong performance and speed, covering the entire house. Paired with affordable broadband, it provides a smooth experience watching 4K Netflix videos. +6. **Chair**: Yongyi Ergonomic Chair MC-1128E in grey white, with adjustable backrest and waist support, hidden pull-out footrest, and reclining feature. Purchased from Sam's, it offers great comfort and value for money. +7. **Desk Lamp**: [Mi Desk Lamp 1S Enhanced Edition in Night Black](https://u.jd.com/jsNCMq0), previously mentioned on Twitter, is exquisitely made and aesthetically pleasing, ideal for computer use and reading. +8. **Power Bank**: [Anker 10000mAh 30W with built-in cable](https://u.jd.com/juNMRUw), bought for a trip and found to be very useful and attractive. It's convenient for charging other devices in the living room without plugging in. + +### Home Theater + + + +1. **Box**: [Apple TV 7](https://u.jd.com/julUGD5), as recommended on Twitter and in my blog post [My Entry into Home Cinema](https://tw93.fun/2023-09-29/tv.html): Apple TV is the product of the year for its simplicity and ease of use. +2. **TV**: [Sony X90L 75 inches](https://u.jd.com/jiNLA2v), chosen for its value after comparing many models offline. The experience confirms that there's Sony and then there's everything else. However, if affordable, I recommend getting the largest TV possible. +3. **Sound System**: [Samsung Q600B Soundbar + Rear Surround 9200S](https://u.jd.com/jsNMT51), reasonably priced and significantly better than the TV's built-in speakers. If you have a soundbar, adding rear surround speakers is highly recommended. + +### Small Appliances + +1. **Coffee Machine**: De'Longhi ECP33.21.W, a semi-automatic coffee machine that is the greatest source of happiness in my life. I've recommended its accessories on Twitter before; I absolutely love it. +2. **Air Fryer**: Panasonic NF-HCSAM400, bought on a whim at Sam's for 299. It's frequently used for baking bread and chicken wings, performing well and looking great in white. +3. **Rice Cooker**: [Toshiba 1H RC-10HPC](https://u.jd.com/jqNQ2Wh), purchased to enjoy fragrant, fluffy rice, unanimously approved by my family as making delicious rice. + +### Big Items + +1. **Toy Car**: Tesla Model 3 in red, looks just like the toy cars I adored in my childhood. I love products with a simple beauty. It's been over 2 years since the purchase, and the pros far outweigh the cons, expanding my life's radius significantly. +2. **Bicycle**: [Dahon P8 Matte Black Folding Bike](https://u.jd.com/j8Nrpae), I absolutely adore this bike. Purchased offline, it rides wonderfully. I've written about [My Entry into Bicycling](https://tw93.fun/2023-10-06/dahang.html) which you might find helpful. +3. **Washing Machine**: LG Washer-Dryer Combo [FY11MW4 + RH10V9PV2W](https://u.jd.com/jqN6U4A), I did a lot of research before buying a washing machine. Many online photos make them look fancy, but in person, the quality feels average. After much consideration, LG stood out in terms of cost-effectiveness and aesthetics. The experience has been great, with clothes washed and dried without fuss. +4. **Refrigerator**: Panasonic [NR-W591-CP-W](https://u.jd.com/j8NuXJo) French Door Fridge in white. The good-looking ones were either too expensive or the wrong size. This model was just right in price, size, functionality, and aesthetics. Little Red Book has many best practices for choosing a fridge, worth a look offline, but the primary selection criterion should be the size. +5. **Mattress**: Serta Shaun Mattress. Choosing a mattress was the most labor-intensive of all purchases because there are so many brands, and you really need to sleep on one to know how it feels. Many seemed overpriced to me. My first consideration was comfort, reminiscent of the mattresses in five-star hotels. After some research, I found that Hilton and Marriott use Serta, so I ended up buying one offline. The sense of being enveloped is strong, facilitating quick sleep, and it's quiet when turning over. +6. **Water Purifier**: [A.O. Smith Janette CAR800-FA1](https://u.jd.com/jzNnCp5), making it unnecessary to buy bottled water for home use anymore. It supports hot, warm, and cold drinking water directly, with a great cost-performance ratio. The only downside is if I need a lot of hot water at once, it requires a few sessions, but luckily, that's a rare scenario. + +### Smart Tools + +1. **Doorbell**: [Xiaomi Smart Doorbell 3](https://u.jd.com/j8NqbVV), this sub-300 item I consider the most worthwhile purchase. A single charge lasts half a year, serving as both an outdoor camera and doorbell. Installed above the door lock, it matches the existing lock without being obtrusive. +2. **Hand Washing Device**: [SUPOR Automatic Foam Hand Washing Device](https://u.jd.com/j8NQOLH), incredibly practical in the bathroom. Fill it with hand soap, and a single charge lasts half a year. Place your hand under the dispenser for automatic foam delivery. +3. **Electric Toothbrush**: [Usmile Y10 in Obsidian Black](https://u.jd.com/jqNDKyJ), reasonably priced with a charge lasting half a year. Features a small screen displaying battery life and mode, and it even detects if you've missed spots, offering much better value compared to other brands I've bought before. +4. **Speaker**: [XiaoAi Speaker Pro](https://u.jd.com/j8N3TjW) in black. After using other speakers, I found they weren't as smart. XiaoAi does the job well without being overly talkative, making it a decent choice for central control of home devices. +5. **Curtains**: [Mi Smart Curtain 1S](https://u.jd.com/jQNs0rz), automatic bedroom curtains are, in my opinion, the most useful smart device. "Open in the morning, close at night," just one command. Why Xiaomi? Mainly because I'm not too familiar with this area and went for the best value for money. +6. **Vacuum Robot**: [Roborock P10 Pro](https://u.jd.com/jsNrhK3), performs well, though it's a bit noisy, which seems common for most vacuum robots. After some research, I chose this one and have hardly needed to mop since. Setting it to clean automatically when I'm out has been liberating. +7. **Balcony Light**: [Midea Radar Light Sensing Human Body Sensor Ceiling Light](https://u.jd.com/j8NrYv3), I replaced the previous light, and now it automatically turns on and off just by satisfying the conditions of being nighttime and someone moving outside, which is quite convenient. +8. **Thermohygrometer**: [Xiaomi Thermohygrometer 3](https://u.jd.com/juN3sm4), serves as a beautiful decoration that quietly does its job. However, checking the temperature and humidity at home from time to time is quite nice. + +--- + +In conclusion, life needs a bit of fun. Keep tinkering, keep loving, stay young, and keep your passion alive. I wish you happiness just the same. diff --git a/_posts_en/2024-02-13-my-2023.md b/_posts_en/2024-02-13-my-2023.md new file mode 100644 index 00000000..67e85ce7 --- /dev/null +++ b/_posts_en/2024-02-13-my-2023.md @@ -0,0 +1,168 @@ +--- +layout: post +title: 2023 Summary - Follow Your Heart +date: 2024-02-13 16:00:00 +summary: Today is the fourth day of the Lunar New Year. Haha, my annual summary is delayed again. The summary for 2022, "Live Freely," was also around this time. This year, I did quite a few things I wanted to do according to my own preferences. Let's call it "Follow Your Heart." I plan to talk about my interesting life, endeavors, and work in 2023 through a self-questioning and answering format. +categories: Life +lang: en-US +--- + +Today is the fourth day of the Lunar New Year. Haha, my annual summary is delayed again. The summary for 2022, "Live Freely," was also around this time. This year, I did quite a few things I wanted to do according to my own preferences. Let's call it "**Follow Your Heart**." I plan to talk about my life, endeavors, and work this year through a self-questioning and answering format. + +## Life + +I've always felt that if every day is the same, then that day is wasted. So, I try to experience different things as much as possible, meet different people, as such a life is more interesting. + +### I. What interesting things happened in 2023? + +![](https://gw.alipayobjects.com/zos/k/bw/IMG_4743.JPG) + +In March, the weather was nice, so I went for a spring outing around Hangzhou, admiring the new greenery and a lot of cherry blossoms. I took some photos for the cover of a trendy weekly magazine, **visited many nice new coffee shops to enjoy coffee**, and spent the weekends coding on my laptop. + +In April, I took a vacation to Qiandao Lake. I remember a fish head costing 200 yuan and it wasn't even tasty; the commercial vibe was a bit too strong, so I won't go again next time. At the end of the month, I also went to West Lake at night to experience the West Lake of the young people at midnight, listening to Wan Qing's "Kill That Man from Shijiazhuang," which was very passionate. + +In May, I underwent **all-laser LASIK surgery**, getting rid of my glasses of more than 10 years. It felt great not wearing glasses. What I remember most about this month was daily eye drops and the miraculous process of vision recovery. + +In June, the weather was very hot. I spent a lot of weekends coding in cafes, and the rest of the time was spent shopping for furniture and appliances like desks, dining tables, TV cabinets, refrigerators, and washing machines. I find choosing these kinds of things particularly interesting because it brings me joy to buy things I like. + +In July, at the beginning of the month, I went to the **Shenzhen GIAC Conference** to share "Pake - Easily Build Lightweight Applications with Rust." It was also my first visit to Shenzhen, where I met up with good buddies I hadn't seen for several years. Later, I **went to Hong Kong**, took many photos, ate a lot, and wrote about "Hong Kong and its Unexpected Aspects"; in the latter half of the month, I also shared content related to Rust on a live broadcast on Juejin; this month, my **MacBook Pro M2 in Space Gray** finally arrived, and I absolutely loved it. + +In August, at the beginning of the month, I met offline with friends like Thomas Yao, Tura Ding, Mingcheng, and An Bufe at Liangzhu and went to Mogan Mountain for coffee, which was very enjoyable; mid-month, I visited Wang Xiaobo's bookstore "My Spiritual Home," which was very quiet and atmospheric, as I love Wang Xiaobo's articles; the happiest event at the end of the month was buying a Dahon P8 folding bike, and for the following months, I rode it to and from work, enjoying the breeze, **and I've actually ridden 600 kilometers so far**, which is very cool. + +In September, a major event of the year was **moving from the rental house to the new home**, buying many beautiful pieces of furniture and appliances, setting up a study and a cat house, and even putting together a simple home theater, slowly getting the feeling of settling down, which was very satisfying. + +In October, during the National Day holiday, I drove a toy car back to my hometown in Hunan, ate a lot of delicious food, and shortly after returning, **I went to the Chongqing Frontend Conference** to share "The Dilemma and Breakthrough of the New Generation of Frontend Development." I also met friends from Ant Group that I hadn't seen for a long time, ate local hotpot, and had a great weekend. This month I got the 15 Pro, sold my 13 Pro, and started keeping fish, buying an aquarium/fish/aquatic plants, feeding, changing water, and watching the fish, which was quite interesting. + +In November, for the first time post-pandemic, **I went to Tokyo and Osaka in Japan for 5 days**, took the Shinkansen to see the long-awaited Mount Fuji, went up the Tokyo Skytree to view the night scene of Tokyo, visited Akihabara, Ginza, and had a delightful meal with MiaoYan's Japanese developers. I also bought a GUCCI bag for my wife, which was very beautiful, and she was very happy. + +In December, **I went to the Microsoft GitHub Universe in Shanghai to share "My Open Source Growth Journey"**, met Github's VP Scott Densmore, which made me realize that being fluent in English would make participating in the open source community more interesting. Later, I visited the Pudong Art Museum's exhibition, which was quite nice; this month, I bought AirPods Pro2, grilled steaks on a grill (which tasted okay), bought a semi-automatic coffee machine, and enjoyed a cup of coffee every morning. + +In December and January, in the early days, I invited nearly 18 buddies to my place for a day of fun, playing Switch, petting cats, playing Texas Hold'em, and barbecuing, which was quite nice; in mid-January, **I went to Ankang**, saw a very small airport, tasted delicious steamed noodles, and brought back some spicy sausages from a relative's home; **before the New Year, I organized a New Year's Eve dinner for the team**, rented the second floor of a roasted whole lamb restaurant, gave out some gifts, and had a good time laughing and talking; this month, I bought a nice-looking lamp, a good-feeling mahjong set, completed my coffee-making tools, and went to the flower and fish market to get 10 peacock fishes, as well as the fact that Tuandai.com, which burst in a P2P scandal five years ago, started refunding money, which was quite satisfying. + +In February 2024, before the New Year, **I brought my family from Hunan to Hangzhou to spend the New Year for 10 days**, cooking at home, playing mahjong, and strolling around the city, spending the Spring Festival with the family lively and happily. + +### II. What was the most memorable thing? + +There were two things, the first one being the **LASIK surgery**. It only took about a month from deciding to get it done to completion, and fortunately, the recovery went very well. Now, it's so convenient not wearing glasses. The process can be seen at [All-Laser LASIK Surgery Process and Recovery Record](https://tw93.fun/2023-05-17/eyes.html). + +The second one was **moving into the new home**. At the end of September 2023, I finally ended my days of renting. With four bedrooms and a living room, I set up a private study for myself, convenient for quietly reading and coding. During the move-in process, I [bought quite a few things that I wanted](https://twitter.com/HiTw93/status/1756636712049250365), and the process of selecting these items was quite interesting. + + + + + + +
    + + + +
    + +## Endeavors + +**To me, endeavors are more like an elixir of life; they are things I like doing, and doing them well can greatly improve my life, learning, and work**. They even keep me young. This positive feedback loop motivates me to continue doing things. In this section, I want to talk about some of the endeavors I've engaged in technology and open source, as well as content production. + +### III. What interesting things have you done in open source? + +> + +![](https://gw.alipayobjects.com/zos/k/cw/339shots_so.png) + +On the open source front, I continued iterating on MiaoYan and Pake, while also creating a Maple Chrome extension for personal use. Along with XRender, Trendy Weekly, and my blog, I maintained 6 products in 2023. MiaoYan's stars increased from 3.5k to 5k, with 6 releases in total; Pake's stars went from 9.8k to 20.9k, with 12 releases in total. Including my previously open-sourced Weex Ui, **my code-related open source works have accumulated 38K stars and 4600 followers**. + +![](https://gw.alipayobjects.com/zos/k/yr/975shots_so.png) + +This year marks my ninth year in open source, from which I've learned a lot, met many friends, and driven myself to learn how to create useful products and apply open source experience to my work and team management. However, in the second half of this year, most of my spare time was spent on home decoration, so I had less time for coding open source projects on weekends. I hope to spend more time on open source in 2024, creating useful things for everyone to use. + +### IV. What useful content have you produced? + +#### Using Twitter as a Notepad + +> + +![](https://gw.alipayobjects.com/zos/k/lu/460shots_so.png) + +**Twitter followers increased from 22k in 2022 to 74k in 2023**. Every morning, I post about a nice tool I saw the day before, some interesting tinkering, updates on open-source products, recent articles, reflections, learning, and even dishes I've cooked. **I don't like the influencer atmosphere, seeking attention, arguing over issues, or following trends blindly**. Twitter is more like a place for me to communicate with like-minded friends for me. + +#### Treating Weekly Updates as a Circle of Friends + +> + +![](https://gw.alipayobjects.com/zos/k/my/C7r9H4.png) + +Trendy Weekly originated from a flag set at a team meeting in 2020. **In 2023, I produced 52 issues, accumulating to 163 issues in total**, published on both the intranet Yuque and the internet. It compiles the technology learning, trendy tools, books, and movies I encountered over the week. It's more like a weekly habit, **choosing the cover image is quite like posting on a circle of friends**. It’s precisely the cover images that inspire me to go out, take beautiful photos, and attract a group of interested friends to communicate, which is great. + +#### Treating the Blog as a Garden + +> + + + + + + + + + + +
    Tech TinkeringLife Insights
    +
      +
    1. My Annual Tool Tinkering Journey
    2. +
    3. My 2023 Browser Tinkering Journey
    4. +
    5. Improving the Allegedly Fastest Terminal
    6. +
    7. The Dilemma and Breakthrough of New Generation Frontend Development (Speech)
    8. +
    9. Pake - Easily Build Lightweight Desktop Apps (Speech)
    10. +
    11. My Open Source Growth Journey (Speech)
    12. +
    13. How to Approach Open Source with the Right Mindset
    14. +
    15. Translation: How to Do Great Work
    16. +
    +
    +
      +
    1. Travelogue of Tokyo & Osaka, Japan
    2. +
    3. Hong Kong: Not What I Expected
    4. +
    5. All-Laser LASIK Surgery Process and Recovery Record
    6. +
    7. My Coffee Machine Beginner's Practice
    8. +
    9. My Home Theater Beginner's Practice
    10. +
    11. My Cycling Beginner's Practice
    12. +
    13. I Can't Believe I'm 30
    14. +
    15. Disliking the Entertainment Atmosphere in Frontend Community
    16. +
    +
    + +In 2023, I was more diligent in blogging than before, partly because I gave more public speeches and gradually incorporated elements of life into my blog. This year, I wrote a total of 16 blog posts, long and short, abstract and concrete, **putting some worthy content here, slowly turning it into a garden**. Readers can come in and take their time looking around, discussing and exchanging ideas on topics of interest, which is very interesting. + +## Work + +Having worked for 8 years since graduation, time has indeed flown by. From being the new, young member to gradually becoming one of the veterans in the department, I'm fortunate that every year, the work I've done has been both enjoyable and challenging, providing me with continuous motivation through solving difficult problems. This time, I'd like to share some of the challenging tasks I've undertaken at work this year. + +### V. What significant changes have occurred in the team? + +![](https://gw.alipayobjects.com/zos/k/i3/1403A475-83B8-4753-B6DD-E8F41DA3245F-9996-000005EE927CC2BE.jpg) + +**Doubling the team size**: From 30 members (24 full-time + 6 SP) in 2022 to 58 members (36 full-time + 22 SP) now, organized into 4 groups according to job functions, we've cultivated 2 outstanding first-line TeamLeaders, and 2 group leaders are also gradually making their mark. + +**Role transformation**: Many team members have transitioned from front-end engineers to product engineers, possessing a strong product sense, capable of drafting prototypes and interactions, solving problems in a productized manner, and collaborating across multiple teams, showing significant growth. + +**Atmospheric change**: Continuously adopting the open-source community approach for team building, pushing for an engineering culture, bi-weekly technical sharing sessions are full and engaging, and monthly OneOnOne communications are progressively established. There's no sense of hierarchy, with a focus more on technology itself. Issues are pointed out directly, and with an increasing number of younger members, the atmosphere has become more relaxed and direct. + +### VI. What different kinds of work have you done? + +**Acting as a professional server-side engineer**: This year, we established a dedicated Node backend team, taking over the company's external gateway integration and open capabilities, providing service interfaces for industry Java backends. Leveraging the advantage of our product engineers, we turned these tasks into a workbench, utilizing AI capabilities for efficiency improvement, ultimately doubling the efficiency compared to before, saving considerable human costs. The productization made it simpler and more accessible for products, development, and testing to collaborate. However, transitioning from front-end to backend poses a significant challenge in terms of stability and comprehensive business capabilities, which we've focused on improving in the past six months. + +**Acting as an independent entrepreneur**: With the surge in AI this year, we formed an AI virtual group with innovative team members, spending a lot of time integrating AI with business scenarios, from rapid experimentation with demos to productized capabilities for mass production. We applied AI extensively in business areas with strong pain points, scalable demands, and low marginal costs, eventually leading to business units actively seeking AI solutions to their problems, transforming the team into problem-solving full-stack engineers without strict role definitions. + +**Adopting foreign habits in work**: With the pandemic easing and increased investment in internationalization, we gradually formed a dedicated international front-end team. Moving away from domestic development modes and interaction habits, we adapted to local user behaviors in multilingual, multi-timezone, and multicurrency scenarios, trying community-proven technical solutions. + +**Acting as a data analyst**: Data is often used to identify issues, but the challenge lies not in the lack of data but in the absence of effective analysis methods. This year, we worked on productizing business operational data, user traffic data, open tracking data validation, and performance smoothness diagnostic tools. We're learning business methods of data analysis and intentionally using the front-end perspective to find better ways to present and analyze data, helping to uncover hidden problems. + +### VII. What personal growth and regrets have you experienced? + +**Growth**: After leading the team through numerous challenges in 2022 and helping solve significant problems for the business, I was directly promoted to the next level at the beginning of 2023. This year required a higher level of demand and capability, but fortunately, I had the support of many like-minded partners who provided silent assistance in tackling tough issues, from whom I learned many technical and methodological approaches. + +**Regrets**: On one hand, due to a multitude of tasks and frequent technical discussions, my time management was suboptimal, leading to less coding time, which is usually a relaxing activity for me. On the other hand, apart from cycling, my exercise was minimal this year, and I didn't read as much as I would have liked. Moving forward, I realize more than ever the importance of maintaining a healthy body and an active mind, which is a slight regret for me. + +## Conclusion + +Before writing this article, I pondered over what word best describes my 2023, eventually settling on "Follow Your Heart" — **doing more of what I want to do, acting according to my own desires or interests, uninhibited by external constraints or influences**. Perhaps this is the essence of life. + +I hope to embark on more unique endeavors in 2024, living more interestingly even on ordinary days, and I hope the same for you. diff --git a/_posts_en/2024-03-03-simple.md b/_posts_en/2024-03-03-simple.md new file mode 100644 index 00000000..6a29f35b --- /dev/null +++ b/_posts_en/2024-03-03-simple.md @@ -0,0 +1,50 @@ +--- +layout: post +title: My Minimalist Living Experience +date: 2024-03-03 16:00:00 +summary: Just want to casually talk about minimalism with everyone. I quite like this lifestyle, but that doesn't mean everyone needs to be a minimalist. Some people enjoy collecting things, some love shopping and buying lots of stuff. I think any lifestyle that makes you comfortable is good. But if you also like a simple way of living, or maybe you're a bit of a perfectionist, then these little tips might suit you. +categories: Life +lang: en-US +--- + +## Minimalism is about having just the right amount of things + +Just want to casually talk about minimalism with everyone. I quite like this lifestyle, but that doesn't mean everyone needs to be a minimalist. Some people enjoy collecting things, some love shopping and buying lots of stuff. I think any lifestyle that makes you comfortable is good. But if you also like a simple way of living, or maybe you're a bit of a perfectionist, then these little tips might suit you. + +First of all, **minimalism isn't about throwing away most of your possessions and living in an empty space. It's about choosing what's important to you, not about having a lot, and it's not necessary to be minimalist in every aspect of your life. For example, if you like reading and certain collections, you can definitely be selective and thoughtful in your acquisitions. Minimalist living is more about reducing unnecessary elements in your life, allowing you to focus more on what truly matters**. + +## Regular Organization + +The first step should be regular organization, which generally involves throwing things away, selling second-hand items, or storing them. Don't always think that you'll need something later on, **if you haven't used it in the past year, you probably won't use it in the future**. + +**Throwing things away**: You can start with the fridge and kitchen, throw away expired items, or things that have been sitting unused for a long time. Many people can get rid of a lot here; then tidy up various drawers and cabinets, such as broken items, useless accessories, cheap charging cables and heads, unused manuals, old receipts, delivery boxes, shopping bags, etc. In general, these are things you put away thinking you might use them later, but after a long time, they're actually unused. + +**Selling second-hand**: Then you'll find that some things are a pity to throw away, but you don't really use them anymore. For things that aren't very valuable but still somewhat useful, such as books you'll never read again, or clothes you haven't worn in 2 years, you can check Alipay or other apps for door-to-door recycling and donation services. Compared to throwing them away directly, this might make you feel better. Next, for things that are still worth some money, which you bought on impulse but don't really use, clean them up, take photos, and sell them on platforms like Idle Fish to the next person who's about to make an impulsive purchase. This can help you recover some of your investment. It's also easy to decide here, for example, if you hardly use headphones, second-hand computers, watches, small appliances, etc., these are easy to sell. Just keep the one you're always using and that works well, and only keep one item for repeated functions. + +**Storing away**: If storage space is limited, you can buy some storage boxes and vacuum storage bags to reduce the volume of your stored items by half, and place them out of sight, such as clothes and quilts that are not for the current season. They can be stored away using vacuum storage bags, and for items that are not convenient to put in bags, you can use boxes to organize them neatly in the cabinet, making sure each item has its specific space and is easy to find when you need it again. + +The organization step mentioned above will take up some of your weekend time, but once it's done and the area is cleaned up, it generally makes you feel good and refreshed. + +## Cultivate Your Own Consumption Philosophy + +The second step is to gradually cultivate your own consumption philosophy. Here, the general advice is **to only buy good quality items, not to be swayed by consumerism, to make purposeful purchases, and not to hoard things**. + +**Only buy good quality**: Often, one of the reasons for having too many things is buying a lot of stuff that you think you'll use, or items you were hesitant about but ended up buying anyway. These usually end up in the cabinet unused and regretted. For essentials, it's generally recommended to buy the better one within your means, such as phones, computers, clothes, shoes, headphones, etc. They are of good quality and slightly more expensive, but they will prevent you from feeling the need to replace them with something better for a long time, and they will actually improve your quality of life. Here, you can also quickly organize the previous item using the method from the first step. + +**Don't be swayed by consumerism**: More and more, I feel that most of the essentials in life are already very satisfying. Often, consumption is a part of the ritual, such as seeing recommendations on Little Red Book, good things on TikTok, trendy items on Dewu, which can easily mislead you into making a purchase. Those who work in e-commerce development should know that each small feature is actually iterated by a large product business team every day to improve conversion rates and persuade you to buy. + +**Make purposeful purchases**: It's easy to end up buying hundreds of dollars worth of things when you just think of wandering around a supermarket or Sam's Club. Upon reflection, many of these purchases are optional. You can think about what you need before you leave, make a simple list, and avoid impulse buying things you think you need. This purposeful selection method will make you more comfortable. This also applies when going shopping; think about what you want to buy and which brand beforehand. + +**Don't hoard things**: The original intention of hoarding is to save money and hassle, but often buying boxes of paper, laundry detergent, and shower gel to use for a year or two can be annoying. You might even end up using them double just to finish them quickly, which is actually wasteful and takes up a lot of space in your home. Most of the time, these items are not that urgent, and it's quick to order them for home delivery. Another item that is easy to hoard is physical books. You can read the e-book first, then buy the paper book. These are very heavy when moving. + +### Reducing Passive Messages Online + +We've controlled the physical items in your life with two steps, in and out, but there's also a part of your virtual life that can be simplified. Here, I'm talking about receiving information through your phone, computer, and knowledge channels. **Information overload often makes life less smooth, so try to minimize the reception of passive information and actively seek out the information you need**. + +**App Management**: My usual practice is to delete any app that I haven't used in 3 months. I'll reinstall it when needed and then uninstall it again or use a mini-program instead. This way, the apps on my phone are basically limited to two screens, which is completely sufficient for my daily needs. Secondly, I control the notifications from all apps. **I generally only enable notifications for bank transactions, Alipay transactions, WeChat, and work-related software. I disable notifications for all other apps in the settings, so there are no red dots on my screen**, and many apps also allow you to disable marketing notifications. Thirdly, I don't install news apps or short video platforms like TikTok. It's been over a year since I last installed them, and I don't feel the need for this kind of seemingly useful news and information. The same principle applies to software on my computer. + +**Data Organization**: Delete useless text messages, as most of them are not necessary. Usually, I delete all messages regularly except for those from family members. The second step is to delete unnecessary photos and videos, which can clear a lot of space. The third step is to delete useless WeChat messages and contacts that were added without knowing how or why, keeping your frequently used tools clean and tidy. The same applies to files on your computer. + +**Actively Receiving Messages**: The above steps are for dealing with passive reception of messages, trying to minimize the content algorithms push to you. **You can subscribe to RSS feeds to receive information more actively**, follow your favorite bloggers for updates, and directly block or mute those you dislike. Additionally, activating the do-not-disturb mode when you need to focus can also reduce unwanted messages. There are many things you can do to control the information you see. + +That's about all I have to ramble on about. **In essence, the most important aspects are regular tidying, buying quality over quantity, and actively seeking information. This minimalist lifestyle can often influence a person's worldview, including their product creation, lifestyle, and personal preferences and character. Lastly, I also wish you happiness and a fulfilling life**. diff --git a/_sass/_page.scss b/_sass/_page.scss index c523d071..2f8b078c 100644 --- a/_sass/_page.scss +++ b/_sass/_page.scss @@ -104,19 +104,29 @@ iframe { h3 > a, h4 > a, p > a, + strong > a, li > a { @include need-dotted(); } } -.need_dotted { - @include need-dotted(); +.social-icon { + width: 18px; + height: 18px; + margin-left: 16px; + margin-top: -4px; } .github-icon { - width: 20px; - height: 20px; - margin-top: -5px; + margin-left: 0; +} + +.time-icon { + margin-left: 11px; +} + +.repo-time { + @include font-rem(16); } ///sections @@ -255,11 +265,12 @@ iframe { // Post Pagination Module .pagination { - margin: 48px 10px 16px; + margin: 36px 10px; text-align: center; - @include font-rem(16); + @include font-rem(18); @media #{$medium} { - margin: 48px 10px 48px; + margin: 48px 10px 78px; + @include font-rem(20); } ul { display: inline; @@ -490,8 +501,23 @@ iframe { padding-left: 8px; padding-right: 8px; @media #{$medium} { - padding-left: 20px; - padding-right: 20px; + padding-left: 14px; + padding-right: 14px; + &:nth-child(2) { + padding-right: 14px; + } + &:nth-child(2) { + padding-right: 22px; + } + } + + @media #{$large} { + &:nth-child(2) { + padding-right: 26px; + } + &:nth-child(4) { + padding-right: 14px; + } } a { vertical-align: middle; @@ -515,6 +541,30 @@ iframe { } } +.header-item-title { + @media #{$medium} { + padding-left: 20px; + padding-right: 20px; + } +} + +.language-switch { + letter-spacing: 0.1px; + a, + a:visited { + color: #4e7b56; + } + span { + font-family: "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", + "Noto Color Emoji", sans-serif; + @include font-rem(13); + margin-right: -4px; + @media #{$medium} { + @include font-rem(14); + } + } +} + ///sections .logo { width: $menu-height; @@ -529,23 +579,7 @@ iframe { .header-item { height: 100%; - &:nth-child(2), - &:nth-child(3) { - display: none; - } - &:nth-child(4) { - padding-right: 0; - } - @media #{$large} { - display: block; - &:nth-child(2), - &:nth-child(3) { - display: block; - } - &:nth-child(4) { - padding-right: 8px; - } - } + display: block; } .header-item-title { @@ -567,6 +601,63 @@ iframe { display: block; } +html[lang="en-US"] { + body, + .header-href, + .hentry, + h1, + h2, + h3, + h4, + h5, + h6 { + font-family: Source Serif Pro, Georgia, Cambria, "Times New Roman", Times, + serif; + letter-spacing: 0.2px; + @media #{$medium} { + letter-spacing: 0.3px; + } + } + h1, + h2, + h3, + h4, + h5, + h6, + strong, + .header-item a, + .header-item-title a { + font-weight: 600; + } + .language-switch { + letter-spacing: 0.2px; + } + .language-switch span { + margin-right: -1px; + @media #{$medium} { + margin-right: -2px; + } + } + .header-item:nth-child(1), + .header-item:nth-child(5) { + display: none; + } + .hentry h1.entry-title { + @include font-rem(20); + @media #{$medium} { + @include font-rem(28); + } + } + + .header-href .entry-content { + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-line-clamp: 5; + overflow: hidden; + text-overflow: ellipsis; + } +} + .index-content-time { margin-left: -6px; } @@ -668,3 +759,34 @@ iframe { height: 0px; overflow: hidden; } + +.video { + margin-block-end: 1em; +} + +.bg-img { + padding: 10px 15px 15px; + background: #171f32; + margin-top: -2px; + @media #{$medium} { + padding: 10px 30px 30px; + } +} + +video.bg-img { + margin-block-start: -1em; +} + +.btn-arrow { + @include font-rem(24); +} + +.video-border { + padding: 24px; + background: url(https://gw.alipayobjects.com/zos/k/0d/UpT4s7.png) no-repeat + center; +} + +.entry-content img{ + cursor: zoom-in; +} diff --git a/_sass/_typography.scss b/_sass/_typography.scss index a0dc9a98..a1dfb833 100644 --- a/_sass/_typography.scss +++ b/_sass/_typography.scss @@ -5,7 +5,7 @@ body { color: $text-color; letter-spacing: 0.5px; @media #{$medium} { - letter-spacing: 0.8px; + letter-spacing: 0.7px; } } @@ -32,6 +32,14 @@ table, th, td { border-collapse: collapse; } +.text-table td, .text-table th{ + padding: 6px 16px; +} + +.text-table, th{ + text-align: left; +} + // Links // -------------------------------------------------- a { diff --git a/_sass/post.html b/_sass/post.html new file mode 100644 index 00000000..c01920c8 --- /dev/null +++ b/_sass/post.html @@ -0,0 +1,28 @@ + + +{% include head.html %} + + + {% include header.html %} +
    +
    +
    +

    {{ page.title }}

    +

    + Categories: {{page.categories}} + +
    +
    +
    +

    + {{ content }} + {% include buy-me-coffee.html %} +
    + {% include giscus.html %} + {% include read-more.html %} +
    +
    + {% include footer.html %} + + + diff --git a/about.md b/about.md index 806e88d1..bd6006ee 100644 --- a/about.md +++ b/about.md @@ -1,20 +1,20 @@ --- layout: page title: About -permalink: /about/ +permalink: /about.html hideHomeActive: true --- -## About Me +## 关于我 -- I'm a front-end engineer hailing from China, with a passion for experimenting with diverse software. -- I'm the creator of several projects, including [MiaoYan](https://miaoyan.app/), [Pake](https://github.com/tw93/pake), [XRender](https://xrender.fun/), [WeexUi](https://apache.github.io/incubator-weex-ui/), and [cz-emoji-chinese](https://github.com/tw93/cz-emoji-chinese), among others. -- My personal blog at [tw93.fun](https://tw93.fun/) is where I frequently express my thoughts and share interesting experiences from my life. Additionally, I document life's fascinating occurrences through my [trend weekly](https://weekly.tw93.fun/) column. -- My skill set encompasses a wide range of areas, including accessibility, interactive games, iOS/macOS, serverless technology, micro front-end development, technical productization, and team management. Feel free to ask me any questions you may have. +- 我是一名来自杭州的工程师,主职前端,会一点 Swift、Rust、Python,也会点设计。 +- 喜欢开源,不喜欢技术网红环境,会去折腾一些新技术,很相信长期主义这个事情。 +- 喜欢做简洁美观易用的产品,开发了 [**MiaoYan**](https://github.com/tw93/MiaoYan)、[**Pake**](https://github.com/tw93/pake)、[**Maple**](https://github.com/tw93/Maple)、[**XRender**](https://xrender.fun/)、[**WeexUi**](https://apache.github.io/incubator-weex-ui/)。 +- 在 [**Tw93**](https://tw93.fun/) 博客沉淀我的技术/生活/思考方式,用 [**潮流周刊**](https://weekly.tw93.fun/) 每周发一些看到的好东西。 -## Follow Me +## 关注我 -- [Github](https://github.com/{{site.github}}){:target="\_blank"} -- [Twitter](https://twitter.com/{{site.twitter}}){:target="\_blank"} -- [知乎](https://www.zhihu.com/people/{{site.zhihu}}){:target="\_blank"} -- [V2EX](https://www.v2ex.com/member/{{site.v2ex}}){:target="\_blank"} +- [Github](https://github.com/{{site.github}}) +- [Twitter](https://twitter.com/{{site.twitter}}) +- [知乎](https://www.zhihu.com/people/{{site.zhihu}}) +- [V2EX](https://www.v2ex.com/member/{{site.v2ex}}) diff --git a/css/comment.css b/css/comment.css index 144f54ef..266749ea 100644 --- a/css/comment.css +++ b/css/comment.css @@ -1,4 +1,6 @@ @import url('https://gw.alipayobjects.com/os/k/font/lxgwwenkaiscreenr.css'); +@import url('https://fonts.loli.net/css?family=Source+Serif+Pro:400,600,700&display=swap'); + main { --color-prettylights-syntax-comment: #6e7781; --color-prettylights-syntax-constant: #0550ae; @@ -134,6 +136,7 @@ main .gsc-comment-box-textarea:focus, .gsc-reactions-count { visibility: hidden; } + .gsc-reactions-count:after { content: '欢迎一起交流~'; visibility: visible; @@ -143,6 +146,14 @@ main .gsc-comment-box-textarea:focus, margin-left: -4rem; } +html[lang="en"] .gsc-reactions-count:after { + content: 'Feel free to discuss~'; +} + +html[lang="en"] main{ + font-family: Source Serif Pro, Georgia, Cambria, "Times New Roman", Times, serif; +} + .gsc-reply-content { padding-top: 0.9rem; padding-bottom: 0.8rem; @@ -161,3 +172,8 @@ input:focus { padding-inline-end: 6px; padding-inline-start: 6px; } + +.link-secondary.overflow-hidden.text-ellipsis { + text-decoration-line: none; + word-spacing: -2px; +} diff --git a/css/index.scss b/css/index.scss index 03d5db3e..a109e6da 100644 --- a/css/index.scss +++ b/css/index.scss @@ -2,15 +2,6 @@ sitemap: false --- -/* - * - * HPSTR - * - * Designer: Michael Rose - * Twitter: http://twitter.com/mmistakes - * -*/ - // Partials @import "variables"; @import "mixins"; diff --git a/en/about.md b/en/about.md new file mode 100644 index 00000000..6b6b87d7 --- /dev/null +++ b/en/about.md @@ -0,0 +1,21 @@ +--- +layout: page +title: About +permalink: /en/about.html +hideHomeActive: true +lang: en-US +--- + +## About Me + +- I'm an engineer based in Hangzhou, China, specializing in front-end development, with some experience in Swift, Rust, Python, and a bit of design. +- I'm a fan of open-source culture and not keen on the tech influencer scene. I enjoy experimenting with new technologies and am a strong believer in long-termism. +- I have a passion for creating products that are simple, beautiful, and user-friendly. I've developed projects such as [**MiaoYan**](https://github.com/tw93/MiaoYan), [**Pake**](https://github.com/tw93/pake), [**Maple**](https://github.com/tw93/Maple), [**XRender**](https://xrender.fun/), and [**WeexUi**](https://apache.github.io/incubator-weex-ui/). +- My blog [**Tw93**](https://tw93.fun/), is where I share my insights on technology, life, and thought processes. Through [**Trend Weekly**](https://weekly.tw93.fun/), I share cool finds every week. + +## Follow Me + +- [Github](https://github.com/{{site.github}}) +- [Twitter](https://twitter.com/{{site.twitter}}) +- [Zhihu](https://www.zhihu.com/people/{{site.zhihu}}) +- [V2EX](https://www.v2ex.com/member/{{site.v2ex}}) diff --git a/en/index.html b/en/index.html new file mode 100644 index 00000000..f105eab1 --- /dev/null +++ b/en/index.html @@ -0,0 +1,6 @@ +--- +layout: home +title: Be yourself and don't go with the flow. +comments: false +lang: en-US +--- diff --git a/feed.xml b/feed.xml index 57006ba0..4c70df7d 100644 --- a/feed.xml +++ b/feed.xml @@ -5,11 +5,15 @@ layout: none - Tw93 的博客 + Tw93 Blog {% if site.description %}{{ site.description | xml_escape }}{% endif %} - https://gw.alipayobjects.com/zos/k/hj/sLnZnY.jpg + https://gw.alicdn.com/imgextra/i1/O1CN01BjlaXE1auDGoniJGl_!!6000000003389-2-tps-480-444.png + + 41147805272531976 + 42909600318350336 + {{ site.url }} {% for post in site.posts limit:10 %} diff --git a/github.html b/github.html new file mode 100644 index 00000000..c0f584a9 --- /dev/null +++ b/github.html @@ -0,0 +1,258 @@ + + + + + + + + Easter egg for GitHub + + + + + + + + + diff --git a/images/edge1.png b/images/edge1.png new file mode 100644 index 00000000..e944fe10 Binary files /dev/null and b/images/edge1.png differ diff --git a/images/pdf/2023AI.pdf b/images/pdf/2023AI.pdf new file mode 100644 index 00000000..90d4eed5 Binary files /dev/null and b/images/pdf/2023AI.pdf differ diff --git a/images/pdf/aigc.pdf b/images/pdf/aigc.pdf new file mode 100644 index 00000000..cf33678b Binary files /dev/null and b/images/pdf/aigc.pdf differ diff --git a/images/pdf/new-fe.pdf b/images/pdf/new-fe.pdf new file mode 100644 index 00000000..f1942603 Binary files /dev/null and b/images/pdf/new-fe.pdf differ diff --git "a/images/pdf/\350\201\212\350\201\212\346\234\252\346\235\245\346\212\200\346\234\257\350\266\213\345\212\277_Tw93.pdf" "b/images/pdf/\350\201\212\350\201\212\346\234\252\346\235\245\346\212\200\346\234\257\350\266\213\345\212\277_Tw93.pdf" new file mode 100644 index 00000000..6dae359b Binary files /dev/null and "b/images/pdf/\350\201\212\350\201\212\346\234\252\346\235\245\346\212\200\346\234\257\350\266\213\345\212\277_Tw93.pdf" differ diff --git a/index.html b/index.html index 0ae78db9..0143b9af 100644 --- a/index.html +++ b/index.html @@ -1,22 +1,5 @@ --- layout: home -title: "Be yourself and don't go with the flow." -description: "Tw93 前端杂货铺 javascript ios css html weex react 代码 编程 知乎" +title: Be yourself and don't go with the flow. comments: false --- - -{% for post in paginator.posts %} -{% if post.hide != true %} - -{% endif %} -{% endfor %} -{% include pagination.html %} diff --git a/js/index.js b/js/index.js index 8a162081..ae2c9fc0 100644 --- a/js/index.js +++ b/js/index.js @@ -105,11 +105,10 @@ document.addEventListener("DOMContentLoaded", function () { }); }); - var zoomImgs = document.querySelectorAll('.img-zoom'); - (zoomImgs && zoomImgs.length > 0) && loadScript("https://gw.alipayobjects.com/os/k/3m/intense.min.js", function () { - Intense && Intense(zoomImgs,{invertInteractionDirection: true}); + var zoomImgs = document.querySelectorAll('.entry-content img'); + (zoomImgs && zoomImgs.length > 0) && loadScript("https://gw.alipayobjects.com/os/k/x5/intense.min.js", function () { + Intense && Intense(zoomImgs); }); - }, false); diff --git a/js/index.min.js b/js/index.min.js index bca14c9a..d572468d 100644 --- a/js/index.min.js +++ b/js/index.min.js @@ -1,4 +1,4 @@ /** * Created by Tw93 on 2017/1/31. */ -window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame;document.addEventListener("DOMContentLoaded",function(){if(!isPC()){return}var beforeScrollTop=document.documentElement.scrollTop;document.addEventListener("scroll",function(){var afterScrollTop=document.documentElement.scrollTop;var delta=afterScrollTop-beforeScrollTop;document.getElementById("J_header").setAttribute("class",delta>0&&afterScrollTop>0?"header-menu header-menu-overflow":"header-menu");beforeScrollTop=afterScrollTop});var width=window.innerWidth;var height=260;var canvas=document.getElementById("J_firework_canvas");canvas.width=width;canvas.height=height;var ctx=canvas.getContext("2d");var points=[];var mouse={x:0,y:9999};function Point(x,y,speed,width,color){this.x=x;this.y=y;this.width=width;this.color=color;this.alpha=Math.random()-.1;this.speed=speed;this.active=true;this.physx=function(){this.y+=this.speed;if(this.y>canvas.height)this.kill()};this.kill=function(){points.splice(points.indexOf(this),1);this.active=false};this.draw=function(){ctx.beginPath();ctx.arc(this.x,this.y,this.width,0,Math.PI*2,true);ctx.fillStyle=this.color;ctx.lineWidth=this.width;ctx.save();ctx.globalAlpha=this.alpha;ctx.fill();ctx.restore()}}function drawFirework(){ctx.clearRect(0,0,canvas.width,canvas.height);for(var i=0;i<5;i++){var posX=mouse.x+Math.random()*10;var posY=mouse.y+Math.random()*10;points.push(new Point(posX,posY,1+Math.random()*2,5,"white"))}for(var i in points){if(points[i].active){points[i].draw();points[i].physx()}}requestAnimationFrame(drawFirework)}drawFirework();document.onmousemove=function(e){mouse.x=e.pageX;mouse.y=e.pageY};document.onmouseout=function(e){mouse.x=0;mouse.y=9999};var qrTextEl=document.getElementById("J_qr_text");var isShowQr=qrTextEl&&qrTextEl.offsetParent;isShowQr&&loadScript("https://gw.alipayobjects.com/os/k/qa/qrcode.min.js",function(){QRCode&&new QRCode(document.getElementById("J_qr_code"),{width:128,height:128,useSVG:true,text:window.location.href,correctLevel:QRCode.CorrectLevel.L})});var zoomImgs=document.querySelectorAll(".img-zoom");zoomImgs&&zoomImgs.length>0&&loadScript("https://gw.alipayobjects.com/os/k/3m/intense.min.js",function(){Intense&&Intense(zoomImgs,{invertInteractionDirection:true})})},false);function isPC(){var userAgentInfo=navigator.userAgent;var Agents=["Android","iPhone","Windows Phone","iPad","iPod"];var flag=true;for(var v=0;v0){flag=false;break}}return flag}function loadScript(url,callback){var script=document.createElement("script");script.type="text/javascript";if(script.readyState){script.onreadystatechange=function(){if(script.readyState=="loaded"||script.readyState=="complete"){script.onreadystatechange=null;callback()}}}else{script.onload=function(){callback()}}script.src=url;document.body.appendChild(script)} \ No newline at end of file +window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame;document.addEventListener("DOMContentLoaded",function(){if(!isPC()){return}var beforeScrollTop=document.documentElement.scrollTop;document.addEventListener("scroll",function(){var afterScrollTop=document.documentElement.scrollTop;var delta=afterScrollTop-beforeScrollTop;document.getElementById("J_header").setAttribute("class",delta>0&&afterScrollTop>0?"header-menu header-menu-overflow":"header-menu");beforeScrollTop=afterScrollTop});var width=window.innerWidth;var height=260;var canvas=document.getElementById("J_firework_canvas");canvas.width=width;canvas.height=height;var ctx=canvas.getContext("2d");var points=[];var mouse={x:0,y:9999};function Point(x,y,speed,width,color){this.x=x;this.y=y;this.width=width;this.color=color;this.alpha=Math.random()-.1;this.speed=speed;this.active=true;this.physx=function(){this.y+=this.speed;if(this.y>canvas.height)this.kill()};this.kill=function(){points.splice(points.indexOf(this),1);this.active=false};this.draw=function(){ctx.beginPath();ctx.arc(this.x,this.y,this.width,0,Math.PI*2,true);ctx.fillStyle=this.color;ctx.lineWidth=this.width;ctx.save();ctx.globalAlpha=this.alpha;ctx.fill();ctx.restore()}}function drawFirework(){ctx.clearRect(0,0,canvas.width,canvas.height);for(var i=0;i<5;i++){var posX=mouse.x+Math.random()*10;var posY=mouse.y+Math.random()*10;points.push(new Point(posX,posY,1+Math.random()*2,5,"white"))}for(var i in points){if(points[i].active){points[i].draw();points[i].physx()}}requestAnimationFrame(drawFirework)}drawFirework();document.onmousemove=function(e){mouse.x=e.pageX;mouse.y=e.pageY};document.onmouseout=function(e){mouse.x=0;mouse.y=9999};var qrTextEl=document.getElementById("J_qr_text");var isShowQr=qrTextEl&&qrTextEl.offsetParent;isShowQr&&loadScript("https://gw.alipayobjects.com/os/k/qa/qrcode.min.js",function(){QRCode&&new QRCode(document.getElementById("J_qr_code"),{width:128,height:128,useSVG:true,text:window.location.href,correctLevel:QRCode.CorrectLevel.L})});var zoomImgs=document.querySelectorAll(".entry-content img");zoomImgs&&zoomImgs.length>0&&loadScript("https://gw.alipayobjects.com/os/k/x5/intense.min.js",function(){Intense&&Intense(zoomImgs)})},false);function isPC(){var userAgentInfo=navigator.userAgent;var Agents=["Android","iPhone","Windows Phone","iPad","iPod"];var flag=true;for(var v=0;v0){flag=false;break}}return flag}function loadScript(url,callback){var script=document.createElement("script");script.type="text/javascript";if(script.readyState){script.onreadystatechange=function(){if(script.readyState=="loaded"||script.readyState=="complete"){script.onreadystatechange=null;callback()}}}else{script.onload=function(){callback()}}script.src=url;document.body.appendChild(script)} \ No newline at end of file diff --git a/package.json b/package.json index ff6580fe..fc1db083 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "tw93", - "author": "侑夕", + "author": "Tw93", "homepage": "https://tw93.fun", "repository": { "type": "git", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 00000000..f7d1ff31 --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,142 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + devDependencies: + uglify-js: + specifier: ^2.7.5 + version: 2.8.29 + +packages: + + align-text@0.1.4: + resolution: {integrity: sha512-GrTZLRpmp6wIC2ztrWW9MjjTgSKccffgFagbNDOX95/dcjEcYZibYTeaOntySQLcdw1ztBoFkviiUvTMbb9MYg==} + engines: {node: '>=0.10.0'} + + camelcase@1.2.1: + resolution: {integrity: sha512-wzLkDa4K/mzI1OSITC+DUyjgIl/ETNHE9QvYgy6J6Jvqyyz4C0Xfd+lQhb19sX2jMpZV4IssUn0VDVmglV+s4g==} + engines: {node: '>=0.10.0'} + + center-align@0.1.3: + resolution: {integrity: sha512-Baz3aNe2gd2LP2qk5U+sDk/m4oSuwSDcBfayTCTBoWpfIGO5XFxPmjILQII4NGiZjD6DoDI6kf7gKaxkf7s3VQ==} + engines: {node: '>=0.10.0'} + + cliui@2.1.0: + resolution: {integrity: sha512-GIOYRizG+TGoc7Wgc1LiOTLare95R3mzKgoln+Q/lE4ceiYH19gUpl0l0Ffq4lJDEf3FxujMe6IBfOCs7pfqNA==} + + decamelize@1.2.0: + resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} + engines: {node: '>=0.10.0'} + + is-buffer@1.1.6: + resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} + + kind-of@3.2.2: + resolution: {integrity: sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==} + engines: {node: '>=0.10.0'} + + lazy-cache@1.0.4: + resolution: {integrity: sha512-RE2g0b5VGZsOCFOCgP7omTRYFqydmZkBwl5oNnQ1lDYC57uyO9KqNnNVxT7COSHTxrRCWVcAVOcbjk+tvh/rgQ==} + engines: {node: '>=0.10.0'} + + longest@1.0.1: + resolution: {integrity: sha512-k+yt5n3l48JU4k8ftnKG6V7u32wyH2NfKzeMto9F/QRE0amxy/LayxwlvjjkZEIzqR+19IrtFO8p5kB9QaYUFg==} + engines: {node: '>=0.10.0'} + + repeat-string@1.6.1: + resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} + engines: {node: '>=0.10'} + + right-align@0.1.3: + resolution: {integrity: sha512-yqINtL/G7vs2v+dFIZmFUDbnVyFUJFKd6gK22Kgo6R4jfJGFtisKyncWDDULgjfqf4ASQuIQyjJ7XZ+3aWpsAg==} + engines: {node: '>=0.10.0'} + + source-map@0.5.7: + resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} + engines: {node: '>=0.10.0'} + + uglify-js@2.8.29: + resolution: {integrity: sha512-qLq/4y2pjcU3vhlhseXGGJ7VbFO4pBANu0kwl8VCa9KEI0V8VfZIx2Fy3w01iSTA/pGwKZSmu/+I4etLNDdt5w==} + engines: {node: '>=0.8.0'} + hasBin: true + + uglify-to-browserify@1.0.2: + resolution: {integrity: sha512-vb2s1lYx2xBtUgy+ta+b2J/GLVUR+wmpINwHePmPRhOsIVCG2wDzKJ0n14GslH1BifsqVzSOwQhRaCAsZ/nI4Q==} + + window-size@0.1.0: + resolution: {integrity: sha512-1pTPQDKTdd61ozlKGNCjhNRd+KPmgLSGa3mZTHoOliaGcESD8G1PXhh7c1fgiPjVbNVfgy2Faw4BI8/m0cC8Mg==} + engines: {node: '>= 0.8.0'} + + wordwrap@0.0.2: + resolution: {integrity: sha512-xSBsCeh+g+dinoBv3GAOWM4LcVVO68wLXRanibtBSdUvkGWQRGeE9P7IwU9EmDDi4jA6L44lz15CGMwdw9N5+Q==} + engines: {node: '>=0.4.0'} + + yargs@3.10.0: + resolution: {integrity: sha512-QFzUah88GAGy9lyDKGBqZdkYApt63rCXYBGYnEP4xDJPXNqXXnBDACnbrXnViV6jRSqAePwrATi2i8mfYm4L1A==} + +snapshots: + + align-text@0.1.4: + dependencies: + kind-of: 3.2.2 + longest: 1.0.1 + repeat-string: 1.6.1 + + camelcase@1.2.1: {} + + center-align@0.1.3: + dependencies: + align-text: 0.1.4 + lazy-cache: 1.0.4 + + cliui@2.1.0: + dependencies: + center-align: 0.1.3 + right-align: 0.1.3 + wordwrap: 0.0.2 + + decamelize@1.2.0: {} + + is-buffer@1.1.6: {} + + kind-of@3.2.2: + dependencies: + is-buffer: 1.1.6 + + lazy-cache@1.0.4: {} + + longest@1.0.1: {} + + repeat-string@1.6.1: {} + + right-align@0.1.3: + dependencies: + align-text: 0.1.4 + + source-map@0.5.7: {} + + uglify-js@2.8.29: + dependencies: + source-map: 0.5.7 + yargs: 3.10.0 + optionalDependencies: + uglify-to-browserify: 1.0.2 + + uglify-to-browserify@1.0.2: + optional: true + + window-size@0.1.0: {} + + wordwrap@0.0.2: {} + + yargs@3.10.0: + dependencies: + camelcase: 1.2.1 + cliui: 2.1.0 + decamelize: 1.2.0 + window-size: 0.1.0