+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
6 January 2025 · 2 mins ·
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ loading
+
+
+
+
+
+
+
+
+ ·
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ loading
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Morethan
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Experience
+
+
+
+
+
+
+
diff --git a/en/index.json b/en/index.json
index 9795989..77ed63f 100644
--- a/en/index.json
+++ b/en/index.json
@@ -1,4 +1,4 @@
-[{"content":" Background Overview # You should know how to interact with the computer via the command line, including but not limited to: how to open the command line/terminal in Windows, when a running command ends, etc.\nA little knowledge of bypassing internet censorship is helpful. OverLeaf is foreign software, and its related LaTeX projects are also hosted abroad. Therefore, directly accessing foreign traffic when downloading dependencies can save a lot of trouble. If you don’t have a VPN, you will need to specify a domestic source for each package manager, though sometimes the updates from domestic sources are not timely.\nBasic familiarity with Vim operations is useful, such as: how to enter insert mode, how to save and exit, how to exit without saving, etc.\nFull Deployment Process # Installing Linux # Search for a Linux distribution in the Windows App Store and download it. The author chose Kali. After installation, you can open it directly from the Start menu. Upon opening, a command-line window will pop up, and you will need to register with a username and password.\nAt this point, your command line should display a warning. This is because you haven’t installed WSL (Windows Subsystem for Linux).\nAlso, when entering the password, your input will not be displayed in the command line, but it has been recorded.\nWhy do you need a Linux system? Because OverLeaf\u0026rsquo;s ShareLaTeX model requires a Linux environment. It is said that OverLeaf runs more smoothly on Linux systems.\nInstalling WSL # To install WSL2, run the following in the Windows command line:\nwsl --install After installation, you can open it directly. Another warning will appear. At this point, you need to create a text file in the C:\\Users\\ASUS directory and rename it to .wslconfig.\nEnter the following content:\n[experimental] autoMemoryReclaim=gradual # gradual | dropcache | disabled networkingMode=mirrored dnsTunneling=true firewall=true autoProxy=true Installing Docker # Go to the Docker website to download Docker, which will be the container for the ShareLaTeX model. Docker is an open-source application container engine that includes images, containers, and repositories. Its purpose is to manage the lifecycle of application components, such as encapsulation, distribution, deployment, and operation, allowing users to \u0026ldquo;package once, run anywhere,\u0026rdquo; much like a container, developed and encapsulated by programmers, which users can directly move around.\nOnce Docker is installed, you can double-click to start it in the background. We will interact with Docker later via the command line.\nPulling the Image # Open Kali, and run the following command:\ngit clone https://github.com/overleaf/toolkit.git ./overleaf-toolkit Then run:\ncd ./overleaf-toolkit bin/init vim ./config/variables.env At this point, you should be in the document interface of the Vim text editor. Vim has many shortcuts, and pressing the \u0026quot;I\u0026quot; key will enter insert mode for text editing. Press \u0026quot;esc\u0026quot; to return to normal mode. In insert mode, type: OVERLEAF_SITE_LANGUAGE=zh-CN.\nAfter typing, press \u0026quot;esc\u0026quot; to return to normal mode, then type :wq to \u0026ldquo;save and quit.\u0026rdquo; If you make a mistake, type :e! to discard all changes and start over. This step will set your OverLeaf interface to Chinese.\nAfter successfully saving and quitting, return to the familiar Kali command-line interface and run bin/up. This will pull the ShareLaTeX image and related network tools. There will be a large amount of data transfer, so ensure that your network is stable (your VPN should be reliable!).\nConfiguring the User # Once the previous command finishes, run bin/start. At this point, open Docker and enter the ShareLaTeX container. You should see code \u0026ldquo;flashing.\u0026rdquo; If there are no red messages, everything is running normally.\nNow open a browser and visit http://localhost/launchpad.\nAfter registering an Administrator Account, you will be redirected to http://localhost/project. The basic OverLeaf webpage should now be displayed. If you compile now, it will most likely report an error ᕕ( ᐛ )ᕗ.\nThis is because ShareLaTeX is missing many required packages🙃\u0026quot;\nInstalling Extension Packages # Open Kali, navigate to the appropriate directory, and run bin/shell. Then execute the following one by one:\ncd /usr/local/texlive # Download and run the upgrade script wget http://mirror.ctan.org/systems/texlive/tlnet/update-tlmgr-latest.sh sh update-tlmgr-latest.sh -- --upgrade # Change the TeX Live download source tlmgr option repository https://mirrors.sustech.edu.cn/CTAN/systems/texlive/tlnet/ # Upgrade tlmgr tlmgr update --self --all # Install the full TeX Live package (this will take time, so don’t let the shell disconnect) tlmgr install scheme-full # Exit the ShareLaTeX command-line interface exit # Restart the ShareLaTeX container docker restart sharelatex After restarting, enter the shell again and run:\napt update # Install fonts apt install --no-install-recommends ttf-mscorefonts-installer fonts-noto texlive-fonts-recommended tex-gyre fonts-wqy-microhei fonts-wqy-zenhei fonts-noto-cjk fonts-noto-cjk-extra fonts-noto-color-emoji fonts-noto-extra fonts-noto-ui-core fonts-noto-ui-extra fonts-noto-unhinted fonts-texgyre # Install pygments apt install python3-pygments # Install Beamer and others apt install texlive-latex-recommended apt install texlive-latex-extra # Install English fonts echo \u0026#34;yes\u0026#34; | apt install -y --reinstall ttf-mscorefonts-installer # Install Chinese fonts apt install -y latex-cjk-all texlive-lang-chinese texlive-lang-english cp fonts/* /usr/share/fonts/zh-cn/ cd /usr/share/fonts fc-cache -fv # Update font cache fc-list :lang=zh-cn fc-match Arial Finally, in the shell directory, run:\nvim /usr/local/texlive/2023/texmf.cnf Open the configuration file and add shell_escape = t at the bottom.\nI’m not sure what this does, but it was passed down by the predecessors 🤔 Note, if the TeX Live version (the official name for extension packages) differs, the directory path may also change. You will need to adjust the path based on the actual version, for example, change 2023 to 2024.\nYou can use ls -l in the Linux command line to view all files in the current directory. Successful Deployment # Now you can happily use your local OverLeaf version without worrying about compilation timeouts~\nIf you\u0026rsquo;re lucky and happen to be a CQUer, here’s a graduation thesis template from Chongqing University, super user-friendly: CQUThesis\n","date":"12 July 2024","externalUrl":null,"permalink":"/en/blog/localoverleaf/","section":"Blogs","summary":"\u003ch2 class=\"relative group\"\u003eBackground Overview \n \u003cdiv id=\"background-overview\" class=\"anchor\"\u003e\u003c/div\u003e\n \n \u003cspan\n class=\"absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100\"\u003e\n \u003ca class=\"group-hover:text-primary-300 dark:group-hover:text-neutral-700\"\n style=\"text-decoration-line: none !important;\" href=\"#background-overview\" aria-label=\"Anchor\"\u003e#\u003c/a\u003e\n \u003c/span\u003e \n \n\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eYou should know how to interact with the computer via the command line, including but not limited to: how to open the command line/terminal in Windows, when a running command ends, etc.\u003c/p\u003e","title":"Local OverLeaf Deployment","type":"blog"},{"content":" Reference # Honestly, I\u0026rsquo;m not familiar with BayesianOPT, the opinions mentioned stem from the below. 👇\n【机器学习】一文看懂贝叶斯优化/Bayesian Optimization\n一文详解贝叶斯优化(Bayesian Optimization)原理\n贝叶斯优化(BayesianOptimization)\n超参数优\u0026mdash;贝叶斯优化及其改进(PBT优化)\n贝叶斯优化 (Bayesian Optimization)\nMATLAB Offical Document\nAdvantages \u0026amp; Algorithm Principle # Here we are going to talk about the advantages \u0026amp; algorithm principle of BayesianOPT. If you only want to konw how to use it, you can read the #Advantage section, then go to the #MATLAB Practice\nAdvantages # Algorithm Principle # MATLAB Practice # Well, we can put Bayesian Optimization into practice even though we don\u0026rsquo;t understand it, using the predefined function of MATLAB, the \u0026lsquo;bayesopt\u0026rsquo;. Here is the official guidance of the function: bayesopt\nFinal code display # % define the obj function function y = objectiveFcn(x) y = (1 - x.x1)^2 + 100 * (x.x2 - x.x1^2)^2; end % define the variables vars = [optimizableVariable(\u0026#39;x1\u0026#39;, [-2, 2]) optimizableVariable(\u0026#39;x2\u0026#39;, [-2, 2])]; % conduce the optimizer results = bayesopt(@objectiveFcn, vars, ... \u0026#39;AcquisitionFunctionName\u0026#39;, \u0026#39;expected-improvement-plus\u0026#39;, ... \u0026#39;MaxObjectiveEvaluations\u0026#39;, 30, ... \u0026#39;IsObjectiveDeterministic\u0026#39;, true, ... \u0026#39;Verbose\u0026#39;, 1); % get result bestPoint = results.XAtMinObjective; bestObjective = results.MinObjective; % result output fprintf(\u0026#39;最优解 x1: %.4f, x2: %.4f\\n\u0026#39;, bestPoint.x1, bestPoint.x2); fprintf(\u0026#39;最优目标值: %.4f\\n\u0026#39;, bestObjective); I\u0026rsquo;d commit that the code is generated by AI 🥲\nAI is a better coder, at least when comparing with me. 🫠\nParameters Explaination # Params Meaning AcquisitionFunctionName select a Acquisition Function, which determines the method how bayesopt choose the next acquisition point MaxObjectiveEvaluations the maximize evalu turns IsObjectiveDeterministic If the obj function contains noise, set to true ; Otherwise, set to false Verbose Determine the detailing extend of console output, the complete output includes many figures. Want more detailed information? Refer to the Offical document: bayesopt. It\u0026rsquo;s more completed and with amount of examples.\nIt\u0026rsquo;s basic for every MathModeler to read the offical document. 😝 ","date":"5 August 2024","externalUrl":null,"permalink":"/en/blog/bayesianopt/","section":"Blogs","summary":"\u003ch2 class=\"relative group\"\u003eReference \n \u003cdiv id=\"reference\" class=\"anchor\"\u003e\u003c/div\u003e\n \n \u003cspan\n class=\"absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100\"\u003e\n \u003ca class=\"group-hover:text-primary-300 dark:group-hover:text-neutral-700\"\n style=\"text-decoration-line: none !important;\" href=\"#reference\" aria-label=\"Anchor\"\u003e#\u003c/a\u003e\n \u003c/span\u003e \n \n\u003c/h2\u003e\n\u003cp\u003eHonestly, I\u0026rsquo;m not familiar with BayesianOPT, the opinions mentioned stem from the below. 👇\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://blog.csdn.net/qq_27590277/article/details/115451660\" target=\"_blank\"\u003e【机器学习】一文看懂贝叶斯优化/Bayesian Optimization\u003c/a\u003e\u003c/p\u003e","title":"Bayesian Optimization","type":"blog"},{"content":" Virtual Env # Creat # Some tipical code 👇\n# creat a virtual env named \u0026#34;your_env_name\u0026#34; python -m venv your_env_name # assign the version of python, make sure your python in default direction python -m venv your_env_name --python=python3.11 # simply list the absolute direction of python, simple and efficient D:\\Python\\Python311\\python.exe -m venv your_env_name More parameters you may need for a customized virtual env. 🤔\nParams Meaning --system-site-packages Give the virtual environment access to the system site-packages dir. --clear Delete the contents of the environment directory if it already exists, before environment creation. --version print the python version of the env All the detailed expaination of the parameters can be got by the code python -m venv -h. No need to search everywhere~😆 Activate # The virtual env is defaulted not active. In the direction your_env_name/Scripts/ will be a file named activate. Run it with your cmd.\n# activate virtual env your_env_name/Scripts/activate ","date":"10 August 2024","externalUrl":null,"permalink":"/en/blog/pythontips/","section":"Blogs","summary":"\u003ch2 class=\"relative group\"\u003eVirtual Env \n \u003cdiv id=\"virtual-env\" class=\"anchor\"\u003e\u003c/div\u003e\n \n \u003cspan\n class=\"absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100\"\u003e\n \u003ca class=\"group-hover:text-primary-300 dark:group-hover:text-neutral-700\"\n style=\"text-decoration-line: none !important;\" href=\"#virtual-env\" aria-label=\"Anchor\"\u003e#\u003c/a\u003e\n \u003c/span\u003e \n \n\u003c/h2\u003e\n\n\n\u003ch3 class=\"relative group\"\u003eCreat \n \u003cdiv id=\"creat\" class=\"anchor\"\u003e\u003c/div\u003e\n \n \u003cspan\n class=\"absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100\"\u003e\n \u003ca class=\"group-hover:text-primary-300 dark:group-hover:text-neutral-700\"\n style=\"text-decoration-line: none !important;\" href=\"#creat\" aria-label=\"Anchor\"\u003e#\u003c/a\u003e\n \u003c/span\u003e \n \n\u003c/h3\u003e\n\u003cp\u003eSome tipical code 👇\u003c/p\u003e","title":"Python Tpis","type":"blog"},{"content":" Preface # This article is primarily a review and summary of the entire process of CUMCM 2024.\nOur team was formed in the winter of 2023, and CUMCM 2024 was our first participation in the \u0026ldquo;Mathematical Modeling\u0026rdquo; competition. After numerous mock contests, we finally made it to the national competition. After submitting the final paper, we won the first prize at the provincial level and were recommended for the first prize at the national level, ultimately receiving the second prize at the national level.\nThere were moments of excitement and surprise, as well as disappointment; we must have done some things right in the competition, which is why we won a national award in our first attempt; but there are definitely shortcomings, after all, there must be a reason for going from \u0026ldquo;recommended for the first prize at the national level\u0026rdquo; to \u0026ldquo;second prize at the national level\u0026rdquo;.\nIn short, this experience is truly unforgettable, and it is even more worth summarizing and learning from the experience to prepare for next year\u0026rsquo;s competition.\nCUMCM stands for Chinese Undergraduate Mathematical Contest in Modeling; it is commonly referred to as the \u0026ldquo;National Mathematical Modeling Competition\u0026rdquo;. Terminology Explanation # Term Explanation Computational System The traditional modeling process, encapsulating a large function Optimization System A system used to optimize the adjustable parameters in the computational system to generate the best parameter configuration Computational Flow The process of handling input data in the computational system Computational Flow Node A key intermediate step in the workflow Optimization Flow The main logic of the optimization system Main Body of the Paper Includes the abstract, restatement, descriptions of computational and optimization flows, results presentation and analysis, that is, all content before the conclusion of the paper Conclusion of the Paper Includes sensitivity analysis and model extension Objective Conditions # Task Division # Although there were many topics to choose from for the competition, our group chose to focus on optimization problems, which is Topic A.\nMe: Modeling + Coding + Part of Paper Writing CL: Modeling + Paper Writing + Part of Coding HWJ: Paper Beautification Workflow # The coding part of the entire Topic A can be roughly divided into two systems:\nComputational System: Function: Accept input data and parameters, return the required results Nature: Directly determined by the problem, different topics have different computational systems, which need to be constructed temporarily Optimization System: Function: Accept the computational system as the target function to be optimized, execute its own optimization logic, and finally return the computational results Nature: The method system is relatively mature and can be prepared in advance of the competition with various optimization systems The paper writing part is divided into:\nOverall Framework: Determined by the LaTeX template Main Content Filling: Clear description of the workflow and optimization flow Typesetting and Beautification: Adjust the details of each part, with illustrative images (flowcharts, schematics) Concluding Content Pre-Modeling # Objective: Under the premise of accurately understanding the problem, quickly carry out preliminary modeling, basically determine the direction of modeling and calculation methods;\nEstimated Time: 3 hours\nWork: All team members conduct a web search to see if there are any literature materials that basically hit the topic.\nHit Successful: The most ideal situation, at this time, you can directly study the papers and collect ideas; Hit Unsuccessful: Although there are no ready-made materials for reference, some ideas have been accumulated in the process of literature review. Early Modeling # Overall Objective: Construct a precise and optimization method adaptable computational system\nModeling: Clarify the operations between input data and each computational flow node Coding: Implement the computational flow with code and achieve data visualization Paper: Fill in the content of the first question and initially typeset Estimated Time: 30 hours\nWork:\nAll team members model together, first clarify the modeling ideas, and provide a complete mathematical derivation process Me and CL: Code implementation and paper content filling are carried out simultaneously HWJ: Draw more vivid schematic diagrams that cannot be generated by code Mid-Modeling # Overall Objective: Construct a suitable optimization system\nModeling: According to the particularity of the computational system, choose the most matching optimization system Coding: Make minor changes in the implementation of the optimization system to match the computational system Paper: Complete the main part of the paper and start local detail fine-tuning Estimated Time: 20 hours\nWork: Similar to the previous, but the focus of work has shifted from code writing to paper writing\nSimplify the paper, at this time, the paper is very bloated Fine-tune the logic of the paper to make the context more closely related Beautify the typesetting, reduce text, increase images Late Modeling # The basic modeling is completed, and all members check for loopholes: Conventional checks such as typos, inaccurate expressions, formula spelling errors, etc. Optimize code comments to make them more readable Focus on checking personal information Personal information must not be retained in the competition paper, including file paths in the code, such as C:\\Users\\Morethan; retaining personal information is a very serious mistake! Actual Combat Effectiveness # When we applied the above strategies to the actual combat process, that is, the formal competition of CUMCM 2024, the results were as follows:\nEffective Time: The total duration of the competition is three days, a total of 72 hours The team works from seven in the morning to eight in the evening, excluding meal times, with an effective time of 12 hours a day Time utilization rate is \\( 50 \\% \\) (quite low in comparison🤔) Completed Work: The main body of the paper is 28 A4 pages The code part is 35 A4 pages, excluding the reused code between each sub-question, there should be about 20 pages A total of 25 illustrations in the paper The above data is after the paper has been streamlined, with the initial draft of the paper being nearly 50 pages Uncompleted Work: The final result calculation, due to the large amount of calculation (the code efficiency is not high), the code was finished two hours in advance, but there was not enough time to calculate the results😭😭 The calculation accuracy of the model is not enough, the accuracy is 1s which does not meet the standard answer\u0026rsquo;s precision The conclusion part of the paper was not actually completed Strengths # Topic Selection # Focused on Topic A, accumulated sufficient experience in mock contests, and polished a set of efficient workflows\nThe methodology for Topic A is relatively well-constructed\nWorkflow # The workflow is relatively clear, and the efficiency is high\nGuided by the final paper, modeling, paper, and code are carried out simultaneously, ensuring sufficient content in the paper\nDivision of Labor # Adopted a blurred division of labor, each team member has a main job and a secondary job, can work independently on their main job, and can also complete some work on the secondary job, greatly improving time utilization\nThe team members are very capable, as handling two division tasks means more learning costs\nWeaknesses # Workflow # The plan is perfect, but some necessary links were not well done in practice\nEffective time ratio: finishing work at eight in the evening is too early! More time should be taken to model trial and error to ensure the correctness and accuracy of the model\nDivision of Labor # The code writing, code debugging, code visualization, result calculation, and result visualization involve too much code, which is difficult for one person to handle;\nTask overlap caused by blurred division of labor increases collaboration costs\nModeling # Topic understanding accuracy: This time, there was a significant deviation in our understanding of the topic, which led to wasting a lot of time on model correction; Code # Code efficiency: Due to no time limit before, there was insufficient preparation for \u0026ldquo;very long\u0026rdquo; code, no experience with code parallelism;\nResult precision: The initial modeling was too rough, and a bad characteristic was used: setting the time step to 1, and using it as an array index, which made it difficult to reduce the time step later, resulting in insufficient precision of the final results\nImprovement Plans # Carefully select the venue, increasing effective time✨is the most important✨ Division of Labor # Slightly change the division of labor, increase the investment of human resources in coding\nIncrease learning input in each main and secondary division to increase work efficiency\nModeling # Focus more on understanding the topic, don\u0026rsquo;t rush; correcting modeling errors is not worth the loss Code # Build a set of effective code collaboration plans to enhance code writing speed\nStart building code writing standards:\nVariable naming Documentation at the beginning of the file Code writing process standards Code parallelization: Add some parallelizable code to the code to increase running speed\nAll code improvements must be implemented in a document! Not just slogans! Paper # Study excellent papers\nPay attention to its paper framework Pay attention to its language style, text readability, detail, illustration logic, and image readability Improve ourselves\nOptimize the paper\u0026rsquo;s main logic framework, refine the content of each section Improvements in language style, text readability, detail, illustration logic, and image readability, etc. The results are fixed in the form of comments in the LaTeX template! Summary # A test paper without full marks is more rewarding than one with full marks!\nAccumulating knowledge of applied mathematics, enhancing paper writing skills, and improving the ability to discover problems are more meaningful than the competition itself. 🫡\nCUMCM, every MathModeler can benefit from it. 🤗\n","date":"12 September 2024","externalUrl":null,"permalink":"/en/blog/cumcm2024/","section":"Blogs","summary":"\u003ch2 class=\"relative group\"\u003ePreface \n \u003cdiv id=\"preface\" class=\"anchor\"\u003e\u003c/div\u003e\n \n \u003cspan\n class=\"absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100\"\u003e\n \u003ca class=\"group-hover:text-primary-300 dark:group-hover:text-neutral-700\"\n style=\"text-decoration-line: none !important;\" href=\"#preface\" aria-label=\"Anchor\"\u003e#\u003c/a\u003e\n \u003c/span\u003e \n \n\u003c/h2\u003e\n\u003cp\u003eThis article is primarily a review and summary of the entire process of CUMCM 2024.\u003c/p\u003e","title":"CUMCM 2024 Summary","type":"blog"},{"content":"Morethan\u0026rsquo;s dummy blog page~\n","date":"3 January 2025","externalUrl":null,"permalink":"/en/blog/moravecs-paradox/","section":"Blogs","summary":"\u003cp\u003eMorethan\u0026rsquo;s dummy blog page~\u003c/p\u003e","title":"The reflection of Moravec's paradox","type":"blog"},{"content":" 记一次写插件的经历,以及从中收获的一些感想。 缘由 # 事情起源于我这个博客网站。我在微信公众号上偶然间浏览到了关于用 Hugo 建立博客网站的信息,正好我也想翻新一下我那简陋的小网站。我原来的小网站非常非常的原始,整个写作流程都需要在 HTML JS 和 CSS 之间狼狈地切换。并且我非常崇拜的大佬 Lilian Weng 的 博客 也是用 Hugo 搭建的,这也更加坚定了我换底层的决心。\n于是我便迅速开始了对于 Hugo 的接触。\n结果真的出乎意料!我原来的网页花费了我将近一个月的时间,用 Hugo 竟然不到一上午就搞定了。更令我惊讶的是 Hugo 作为一个用 Go 编写的程序,其竟然不需要用户搭建 Go 环境!😮\n同时,我也发现了一个非常用心的 Hugo 主题 Blowfish 。这真的是我见过的文档配置最为详细的一个项目,没有之一(๑•̀ㅂ•́)و✧\n在 Hugo 和 Blowfish 的强力驱动下,我的小网站竟然变得像模像样的了。当然请原谅我并不擅长美化页面,所以我就直接套用了 Blowfish 官方网站的界面设置,因为我觉得任何的改动都会让这个精美的页面变得不协调。\n说实话,做完这一切我并没有什么特别的情绪波动,除了敬佩 Hugo 和 Blowfish 的作者们强悍的编码能力。\n直到我想将我在 Obsidian 中大量的笔记都上传到这个博客网站。\n原创的苦涩 # 我发现在 Obsidian 中并没有现成的可以直接适配 Blowfish 主题的格式转换插件。于是在前面那“愉快体验”的助推下,我决定自己写一个插件!(😄虽然过一会儿就笑不出来了😢)\n后面的经历实在是没什么好描述的,一遍又一遍地在网页之间来回切换,不停地搜索各种API文档,与AI机器人的沟通也从未停止。经过了无数次修改,我终于写出来了一个再简单不过的东西:识别文档中的固定模式然后进行内容替换。\n令人哭笑不得,相比于创建网站那短短的几个小时,我这将近四十个小时的工作几乎可以说微不足道。有那么一瞬间我真的想直接删掉我那几百行的代码。\n是的,就这么一个简单的插件就让我心力交瘁,疲惫不堪。我亲口品尝到了原创的苦涩。\n现在让我回头看 Hugo 和 Blowfish 我感受到了深深的震撼,如此复杂的功能实现不知道要消耗多少经历。如果说他们的工作都是付费的,那我还能心安理得地接受如此的工作量。然而他们都是开源的,有没有收入全凭用户喜好。\n我看着 Blowfish 作者那停滞在2024年3月的博客,我陷入了沉思。\n情怀与理想 # 我猜想 Blowfish 的作者肯定是因为别的什么事情暂时放缓了对于这个主题的维护,毕竟这个项目并没有带来多少实际的收入。\n突然之间我回想起了之前那些被我忽略的现象,一些 GitHub 达人主页上满满的绿色瓷砖慢慢变得稀疏,最后消失。在这平静如水的变化之下,或许是一个人生活的转变。或因生活工作忙碌,或因开发动力逐渐衰减,但最后原本的热血初心都淹没在了寂静之中。我无法阻止这样的现象发生,但我理解这背后的原因。\n开源是情怀,但是情怀不能当饭吃。人总是要活在当下的。\n我想起来 bilibili 上的一位博主 码农高天 ,一位 Python 的核心开发者,用幽默诙谐的段子吐槽开源人的悲惨待遇。他那年纪轻轻就已经花白的头发让人不经感慨“生活真是不容易啊”——写了大半辈子的代码,现在竟然还是待业在家,靠着发发视频赚点外快。\n写在最后 # 人生不如意,十之八九。我又一次看着那四十多小时的工作成功,笑着摇了摇头。\n写完这一句,我就睡觉去了,现在是2025年1月6日凌晨1:48,明天还有英语的期末考试,还没复习呢。\n我看着这篇博客,又一次笑着摇了摇头。\n这就是生活。\n","date":"2024-01-06","externalUrl":null,"permalink":"/blog/plugin-writing-experience/","section":"Blogs","summary":"\u003cdiv class=\"lead text-neutral-500 dark:text-neutral-400 !mb-9 text-xl\"\u003e\n 记一次写插件的经历,以及从中收获的一些感想。\n\u003c/div\u003e\n\n\n\n\u003ch3 class=\"relative group\"\u003e缘由 \n \u003cdiv id=\"%E7%BC%98%E7%94%B1\" class=\"anchor\"\u003e\u003c/div\u003e\n \n \u003cspan\n class=\"absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100\"\u003e\n \u003ca class=\"group-hover:text-primary-300 dark:group-hover:text-neutral-700\"\n style=\"text-decoration-line: none !important;\" href=\"#%E7%BC%98%E7%94%B1\" aria-label=\"锚点\"\u003e#\u003c/a\u003e\n \u003c/span\u003e \n \n\u003c/h3\u003e\n\u003cp\u003e事情起源于我这个博客网站。我在微信公众号上偶然间浏览到了关于用 \u003ccode\u003eHugo\u003c/code\u003e 建立博客网站的信息,正好我也想翻新一下我那简陋的小网站。我原来的小网站非常非常的原始,整个写作流程都需要在 \u003ccode\u003eHTML\u003c/code\u003e \u003ccode\u003eJS\u003c/code\u003e 和 \u003ccode\u003eCSS\u003c/code\u003e 之间狼狈地切换。并且我非常崇拜的大佬 \u003ccode\u003eLilian Weng\u003c/code\u003e 的 \u003ca href=\"https://lilianweng.github.io/\" target=\"_blank\"\u003e博客\u003c/a\u003e 也是用 \u003ccode\u003eHugo\u003c/code\u003e 搭建的,这也更加坚定了我换底层的决心。\u003c/p\u003e","title":"一次写插件经历","type":"blog"},{"content":"","date":"6 January 2025","externalUrl":null,"permalink":"/en/blog/","section":"Blogs","summary":"","title":"Blogs","type":"blog"},{"content":" ","date":"6 January 2025","externalUrl":null,"permalink":"/en/","section":"Welcome to More's website","summary":"\u003c!-- \u003cdiv class=\"flex px-4 py-2 mb-8 text-base rounded-md bg-primary-100 dark:bg-primary-900\"\u003e\n \u003cspan class=\"flex items-center ltr:pr-3 rtl:pl-3 text-primary-400\"\u003e\n \n \n \u003cspan class=\"relative inline-block align-text-bottom icon\"\u003e\n \u003csvg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"\u003e\u003cpath fill=\"currentColor\" d=\"M506.3 417l-213.3-364c-16.33-28-57.54-28-73.98 0l-213.2 364C-10.59 444.9 9.849 480 42.74 480h426.6C502.1 480 522.6 445 506.3 417zM232 168c0-13.25 10.75-24 24-24S280 154.8 280 168v128c0 13.25-10.75 24-23.1 24S232 309.3 232 296V168zM256 416c-17.36 0-31.44-14.08-31.44-31.44c0-17.36 14.07-31.44 31.44-31.44s31.44 14.08 31.44 31.44C287.4 401.9 273.4 416 256 416z\"/\u003e\u003c/svg\u003e\n \n \u003c/span\u003e\n \n\n \u003c/span\u003e\n \u003cspan class=\"flex items-center justify-between grow dark:text-neutral-300\"\u003e\n \u003cspan class=\"prose dark:prose-invert\"\u003eThis is a demo of the \u003ccode id=\"layout\"\u003ebackground\u003c/code\u003e layout.\u003c/span\u003e\n \u003cbutton\n id=\"switch-layout-button\"\n class=\"px-4 !text-neutral !no-underline rounded-md bg-primary-600 hover:!bg-primary-500 dark:bg-primary-800 dark:hover:!bg-primary-700\"\n \u003e\n Switch layout \u0026orarr;\n \u003c/button\u003e\n \u003c/span\u003e\n\u003c/div\u003e --\u003e","title":"Welcome to More's website","type":"page"},{"content":"","date":"3 January 2025","externalUrl":null,"permalink":"/en/tags/ai/","section":"Tags","summary":"","title":"AI","type":"tags"},{"content":"","date":"2025-01-03","externalUrl":null,"permalink":"/series/ai%E9%81%90%E6%83%B3/","section":"系列","summary":"","title":"AI遐想","type":"series"},{"content":"","date":"3 January 2025","externalUrl":null,"permalink":"/en/authors/","section":"Authors List","summary":"","title":"Authors List","type":"authors"},{"content":"","date":"3 January 2025","externalUrl":null,"permalink":"/en/tags/imagination/","section":"Tags","summary":"","title":"Imagination","type":"tags"},{"content":" Hi, welcome to my info page. 👋 # Basic Info # My casual English name is Morethan because it resembles my Chinese name. 🙃\nNow I\u0026rsquo;m a university student in China. ᕕ( ᐛ )ᕗ Nothing more to say. 🫠\nBlog Focus # Personal Knowledge Base: to store frequently-used operations and valuable experience.\nMicro Paper Stack: to store inspirations for my Graduation Thesis, usually serious and logical, attempt to follow the standard thesis working stream.\nKnowledge Outlet: to put what I leant into practice.\nFinal # If you find the content is useful, click a like please at the beginning of that page. 🤗\nIf you want to share the content, cite this website please. 🫡\nIf you find some bug, push an issue on the GitHub please. 🥰\n","date":"3 January 2025","externalUrl":null,"permalink":"/en/authors/morethan/","section":"Authors List","summary":"\u003ch1 class=\"relative group\"\u003eHi, welcome to my info page. 👋 \n \u003cdiv id=\"hi-welcome-to-my-info-page-\" class=\"anchor\"\u003e\u003c/div\u003e\n \n \u003cspan\n class=\"absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100\"\u003e\n \u003ca class=\"group-hover:text-primary-300 dark:group-hover:text-neutral-700\"\n style=\"text-decoration-line: none !important;\" href=\"#hi-welcome-to-my-info-page-\" aria-label=\"Anchor\"\u003e#\u003c/a\u003e\n \u003c/span\u003e \n \n\u003c/h1\u003e\n\n\n\u003ch2 class=\"relative group\"\u003eBasic Info \n \u003cdiv id=\"basic-info\" class=\"anchor\"\u003e\u003c/div\u003e\n \n \u003cspan\n class=\"absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100\"\u003e\n \u003ca class=\"group-hover:text-primary-300 dark:group-hover:text-neutral-700\"\n style=\"text-decoration-line: none !important;\" href=\"#basic-info\" aria-label=\"Anchor\"\u003e#\u003c/a\u003e\n \u003c/span\u003e \n \n\u003c/h2\u003e\n\u003cp\u003eMy casual English name is Morethan because it resembles my Chinese name. 🙃\u003c/p\u003e","title":"Morethan","type":"authors"},{"content":" ","date":"3 January 2025","externalUrl":null,"permalink":"/en/series/","section":"Seires","summary":"\u003chr\u003e","title":"Seires","type":"series"},{"content":" ","date":"3 January 2025","externalUrl":null,"permalink":"/en/tags/","section":"Tags","summary":"\u003chr\u003e","title":"Tags","type":"tags"},{"content":"","date":"3 January 2025","externalUrl":null,"permalink":"/en/series/wild-imagination-of-ai/","section":"Seires","summary":"","title":"Wild Imagination of AI","type":"series"},{"content":"","date":"2025-01-03","externalUrl":null,"permalink":"/tags/%E9%81%90%E6%83%B3/","section":"标签","summary":"","title":"遐想","type":"tags"},{"content":"","date":"12 September 2024","externalUrl":null,"permalink":"/en/tags/cumcm/","section":"Tags","summary":"","title":"CUMCM","type":"tags"},{"content":"","date":"12 September 2024","externalUrl":null,"permalink":"/en/tags/math/","section":"Tags","summary":"","title":"Math","type":"tags"},{"content":"","date":"12 September 2024","externalUrl":null,"permalink":"/en/series/mathmodel/","section":"Seires","summary":"","title":"MathModel","type":"series"},{"content":"","date":"2024-09-12","externalUrl":null,"permalink":"/series/%E6%95%B0%E5%AD%A6%E5%BB%BA%E6%A8%A1/","section":"系列","summary":"","title":"数学建模","type":"series"},{"content":"","date":"10 August 2024","externalUrl":null,"permalink":"/en/series/operation/","section":"Seires","summary":"","title":"Operation","type":"series"},{"content":"","date":"10 August 2024","externalUrl":null,"permalink":"/en/tags/python/","section":"Tags","summary":"","title":"Python","type":"tags"},{"content":"","date":"2024-08-10","externalUrl":null,"permalink":"/series/%E6%8A%80%E6%9C%AF%E6%B5%81%E7%A8%8B/","section":"系列","summary":"","title":"技术流程","type":"series"},{"content":"","date":"5 August 2024","externalUrl":null,"permalink":"/en/tags/matlab/","section":"Tags","summary":"","title":"MATLAB","type":"tags"},{"content":"","date":"12 July 2024","externalUrl":null,"permalink":"/en/tags/latex/","section":"Tags","summary":"","title":"LaTeX","type":"tags"},{"content":"","date":"12 July 2024","externalUrl":null,"permalink":"/en/tags/overleaf/","section":"Tags","summary":"","title":"Overleaf","type":"tags"},{"content":"","date":"2024-01-06","externalUrl":null,"permalink":"/tags/%E7%BB%8F%E5%8E%86/","section":"标签","summary":"","title":"经历","type":"tags"},{"content":"","date":"2024-01-06","externalUrl":null,"permalink":"/series/%E9%9A%8F%E7%AC%94/","section":"系列","summary":"","title":"随笔","type":"series"},{"content":"This is the advanced tag. Just like other listing pages in Blowfish, you can add custom content to individual taxonomy terms and it will be displayed at the top of the term listing. \u0026#x1f680;\nYou can also use these content pages to define Hugo metadata like titles and descriptions that will be used for SEO and other purposes.\n","externalUrl":null,"permalink":"/en/tags/advanced/","section":"Tags","summary":"\u003cp\u003eThis is the advanced tag. Just like other listing pages in Blowfish, you can add custom content to individual taxonomy terms and it will be displayed at the top of the term listing. \u0026#x1f680;\u003c/p\u003e","title":"Advanced","type":"tags"},{"content":"","externalUrl":null,"permalink":"/en/categories/","section":"Categories","summary":"","title":"Categories","type":"categories"}]
\ No newline at end of file
+[{"content":" Background Overview # You should know how to interact with the computer via the command line, including but not limited to: how to open the command line/terminal in Windows, when a running command ends, etc.\nA little knowledge of bypassing internet censorship is helpful. OverLeaf is foreign software, and its related LaTeX projects are also hosted abroad. Therefore, directly accessing foreign traffic when downloading dependencies can save a lot of trouble. If you don’t have a VPN, you will need to specify a domestic source for each package manager, though sometimes the updates from domestic sources are not timely.\nBasic familiarity with Vim operations is useful, such as: how to enter insert mode, how to save and exit, how to exit without saving, etc.\nFull Deployment Process # Installing Linux # Search for a Linux distribution in the Windows App Store and download it. The author chose Kali. After installation, you can open it directly from the Start menu. Upon opening, a command-line window will pop up, and you will need to register with a username and password.\nAt this point, your command line should display a warning. This is because you haven’t installed WSL (Windows Subsystem for Linux).\nAlso, when entering the password, your input will not be displayed in the command line, but it has been recorded.\nWhy do you need a Linux system? Because OverLeaf\u0026rsquo;s ShareLaTeX model requires a Linux environment. It is said that OverLeaf runs more smoothly on Linux systems.\nInstalling WSL # To install WSL2, run the following in the Windows command line:\nwsl --install After installation, you can open it directly. Another warning will appear. At this point, you need to create a text file in the C:\\Users\\ASUS directory and rename it to .wslconfig.\nEnter the following content:\n[experimental] autoMemoryReclaim=gradual # gradual | dropcache | disabled networkingMode=mirrored dnsTunneling=true firewall=true autoProxy=true Installing Docker # Go to the Docker website to download Docker, which will be the container for the ShareLaTeX model. Docker is an open-source application container engine that includes images, containers, and repositories. Its purpose is to manage the lifecycle of application components, such as encapsulation, distribution, deployment, and operation, allowing users to \u0026ldquo;package once, run anywhere,\u0026rdquo; much like a container, developed and encapsulated by programmers, which users can directly move around.\nOnce Docker is installed, you can double-click to start it in the background. We will interact with Docker later via the command line.\nPulling the Image # Open Kali, and run the following command:\ngit clone https://github.com/overleaf/toolkit.git ./overleaf-toolkit Then run:\ncd ./overleaf-toolkit bin/init vim ./config/variables.env At this point, you should be in the document interface of the Vim text editor. Vim has many shortcuts, and pressing the \u0026quot;I\u0026quot; key will enter insert mode for text editing. Press \u0026quot;esc\u0026quot; to return to normal mode. In insert mode, type: OVERLEAF_SITE_LANGUAGE=zh-CN.\nAfter typing, press \u0026quot;esc\u0026quot; to return to normal mode, then type :wq to \u0026ldquo;save and quit.\u0026rdquo; If you make a mistake, type :e! to discard all changes and start over. This step will set your OverLeaf interface to Chinese.\nAfter successfully saving and quitting, return to the familiar Kali command-line interface and run bin/up. This will pull the ShareLaTeX image and related network tools. There will be a large amount of data transfer, so ensure that your network is stable (your VPN should be reliable!).\nConfiguring the User # Once the previous command finishes, run bin/start. At this point, open Docker and enter the ShareLaTeX container. You should see code \u0026ldquo;flashing.\u0026rdquo; If there are no red messages, everything is running normally.\nNow open a browser and visit http://localhost/launchpad.\nAfter registering an Administrator Account, you will be redirected to http://localhost/project. The basic OverLeaf webpage should now be displayed. If you compile now, it will most likely report an error ᕕ( ᐛ )ᕗ.\nThis is because ShareLaTeX is missing many required packages🙃\u0026quot;\nInstalling Extension Packages # Open Kali, navigate to the appropriate directory, and run bin/shell. Then execute the following one by one:\ncd /usr/local/texlive # Download and run the upgrade script wget http://mirror.ctan.org/systems/texlive/tlnet/update-tlmgr-latest.sh sh update-tlmgr-latest.sh -- --upgrade # Change the TeX Live download source tlmgr option repository https://mirrors.sustech.edu.cn/CTAN/systems/texlive/tlnet/ # Upgrade tlmgr tlmgr update --self --all # Install the full TeX Live package (this will take time, so don’t let the shell disconnect) tlmgr install scheme-full # Exit the ShareLaTeX command-line interface exit # Restart the ShareLaTeX container docker restart sharelatex After restarting, enter the shell again and run:\napt update # Install fonts apt install --no-install-recommends ttf-mscorefonts-installer fonts-noto texlive-fonts-recommended tex-gyre fonts-wqy-microhei fonts-wqy-zenhei fonts-noto-cjk fonts-noto-cjk-extra fonts-noto-color-emoji fonts-noto-extra fonts-noto-ui-core fonts-noto-ui-extra fonts-noto-unhinted fonts-texgyre # Install pygments apt install python3-pygments # Install Beamer and others apt install texlive-latex-recommended apt install texlive-latex-extra # Install English fonts echo \u0026#34;yes\u0026#34; | apt install -y --reinstall ttf-mscorefonts-installer # Install Chinese fonts apt install -y latex-cjk-all texlive-lang-chinese texlive-lang-english cp fonts/* /usr/share/fonts/zh-cn/ cd /usr/share/fonts fc-cache -fv # Update font cache fc-list :lang=zh-cn fc-match Arial Finally, in the shell directory, run:\nvim /usr/local/texlive/2023/texmf.cnf Open the configuration file and add shell_escape = t at the bottom.\nI’m not sure what this does, but it was passed down by the predecessors 🤔 Note, if the TeX Live version (the official name for extension packages) differs, the directory path may also change. You will need to adjust the path based on the actual version, for example, change 2023 to 2024.\nYou can use ls -l in the Linux command line to view all files in the current directory. Successful Deployment # Now you can happily use your local OverLeaf version without worrying about compilation timeouts~\nIf you\u0026rsquo;re lucky and happen to be a CQUer, here’s a graduation thesis template from Chongqing University, super user-friendly: CQUThesis\n","date":"12 July 2024","externalUrl":null,"permalink":"/en/blog/localoverleaf/","section":"Blogs","summary":"\u003ch2 class=\"relative group\"\u003eBackground Overview \n \u003cdiv id=\"background-overview\" class=\"anchor\"\u003e\u003c/div\u003e\n \n \u003cspan\n class=\"absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100\"\u003e\n \u003ca class=\"group-hover:text-primary-300 dark:group-hover:text-neutral-700\"\n style=\"text-decoration-line: none !important;\" href=\"#background-overview\" aria-label=\"Anchor\"\u003e#\u003c/a\u003e\n \u003c/span\u003e \n \n\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eYou should know how to interact with the computer via the command line, including but not limited to: how to open the command line/terminal in Windows, when a running command ends, etc.\u003c/p\u003e","title":"Local OverLeaf Deployment","type":"blog"},{"content":" Reference # Honestly, I\u0026rsquo;m not familiar with BayesianOPT, the opinions mentioned stem from the below. 👇\n【机器学习】一文看懂贝叶斯优化/Bayesian Optimization\n一文详解贝叶斯优化(Bayesian Optimization)原理\n贝叶斯优化(BayesianOptimization)\n超参数优\u0026mdash;贝叶斯优化及其改进(PBT优化)\n贝叶斯优化 (Bayesian Optimization)\nMATLAB Offical Document\nAdvantages \u0026amp; Algorithm Principle # Here we are going to talk about the advantages \u0026amp; algorithm principle of BayesianOPT. If you only want to konw how to use it, you can read the #Advantage section, then go to the #MATLAB Practice\nAdvantages # Algorithm Principle # MATLAB Practice # Well, we can put Bayesian Optimization into practice even though we don\u0026rsquo;t understand it, using the predefined function of MATLAB, the \u0026lsquo;bayesopt\u0026rsquo;. Here is the official guidance of the function: bayesopt\nFinal code display # % define the obj function function y = objectiveFcn(x) y = (1 - x.x1)^2 + 100 * (x.x2 - x.x1^2)^2; end % define the variables vars = [optimizableVariable(\u0026#39;x1\u0026#39;, [-2, 2]) optimizableVariable(\u0026#39;x2\u0026#39;, [-2, 2])]; % conduce the optimizer results = bayesopt(@objectiveFcn, vars, ... \u0026#39;AcquisitionFunctionName\u0026#39;, \u0026#39;expected-improvement-plus\u0026#39;, ... \u0026#39;MaxObjectiveEvaluations\u0026#39;, 30, ... \u0026#39;IsObjectiveDeterministic\u0026#39;, true, ... \u0026#39;Verbose\u0026#39;, 1); % get result bestPoint = results.XAtMinObjective; bestObjective = results.MinObjective; % result output fprintf(\u0026#39;最优解 x1: %.4f, x2: %.4f\\n\u0026#39;, bestPoint.x1, bestPoint.x2); fprintf(\u0026#39;最优目标值: %.4f\\n\u0026#39;, bestObjective); I\u0026rsquo;d commit that the code is generated by AI 🥲\nAI is a better coder, at least when comparing with me. 🫠\nParameters Explaination # Params Meaning AcquisitionFunctionName select a Acquisition Function, which determines the method how bayesopt choose the next acquisition point MaxObjectiveEvaluations the maximize evalu turns IsObjectiveDeterministic If the obj function contains noise, set to true ; Otherwise, set to false Verbose Determine the detailing extend of console output, the complete output includes many figures. Want more detailed information? Refer to the Offical document: bayesopt. It\u0026rsquo;s more completed and with amount of examples.\nIt\u0026rsquo;s basic for every MathModeler to read the offical document. 😝 ","date":"5 August 2024","externalUrl":null,"permalink":"/en/blog/bayesianopt/","section":"Blogs","summary":"\u003ch2 class=\"relative group\"\u003eReference \n \u003cdiv id=\"reference\" class=\"anchor\"\u003e\u003c/div\u003e\n \n \u003cspan\n class=\"absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100\"\u003e\n \u003ca class=\"group-hover:text-primary-300 dark:group-hover:text-neutral-700\"\n style=\"text-decoration-line: none !important;\" href=\"#reference\" aria-label=\"Anchor\"\u003e#\u003c/a\u003e\n \u003c/span\u003e \n \n\u003c/h2\u003e\n\u003cp\u003eHonestly, I\u0026rsquo;m not familiar with BayesianOPT, the opinions mentioned stem from the below. 👇\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://blog.csdn.net/qq_27590277/article/details/115451660\" target=\"_blank\"\u003e【机器学习】一文看懂贝叶斯优化/Bayesian Optimization\u003c/a\u003e\u003c/p\u003e","title":"Bayesian Optimization","type":"blog"},{"content":" Virtual Env # Creat # Some tipical code 👇\n# creat a virtual env named \u0026#34;your_env_name\u0026#34; python -m venv your_env_name # assign the version of python, make sure your python in default direction python -m venv your_env_name --python=python3.11 # simply list the absolute direction of python, simple and efficient D:\\Python\\Python311\\python.exe -m venv your_env_name More parameters you may need for a customized virtual env. 🤔\nParams Meaning --system-site-packages Give the virtual environment access to the system site-packages dir. --clear Delete the contents of the environment directory if it already exists, before environment creation. --version print the python version of the env All the detailed expaination of the parameters can be got by the code python -m venv -h. No need to search everywhere~😆 Activate # The virtual env is defaulted not active. In the direction your_env_name/Scripts/ will be a file named activate. Run it with your cmd.\n# activate virtual env your_env_name/Scripts/activate ","date":"10 August 2024","externalUrl":null,"permalink":"/en/blog/pythontips/","section":"Blogs","summary":"\u003ch2 class=\"relative group\"\u003eVirtual Env \n \u003cdiv id=\"virtual-env\" class=\"anchor\"\u003e\u003c/div\u003e\n \n \u003cspan\n class=\"absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100\"\u003e\n \u003ca class=\"group-hover:text-primary-300 dark:group-hover:text-neutral-700\"\n style=\"text-decoration-line: none !important;\" href=\"#virtual-env\" aria-label=\"Anchor\"\u003e#\u003c/a\u003e\n \u003c/span\u003e \n \n\u003c/h2\u003e\n\n\n\u003ch3 class=\"relative group\"\u003eCreat \n \u003cdiv id=\"creat\" class=\"anchor\"\u003e\u003c/div\u003e\n \n \u003cspan\n class=\"absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100\"\u003e\n \u003ca class=\"group-hover:text-primary-300 dark:group-hover:text-neutral-700\"\n style=\"text-decoration-line: none !important;\" href=\"#creat\" aria-label=\"Anchor\"\u003e#\u003c/a\u003e\n \u003c/span\u003e \n \n\u003c/h3\u003e\n\u003cp\u003eSome tipical code 👇\u003c/p\u003e","title":"Python Tpis","type":"blog"},{"content":" Preface # This article is primarily a review and summary of the entire process of CUMCM 2024.\nOur team was formed in the winter of 2023, and CUMCM 2024 was our first participation in the \u0026ldquo;Mathematical Modeling\u0026rdquo; competition. After numerous mock contests, we finally made it to the national competition. After submitting the final paper, we won the first prize at the provincial level and were recommended for the first prize at the national level, ultimately receiving the second prize at the national level.\nThere were moments of excitement and surprise, as well as disappointment; we must have done some things right in the competition, which is why we won a national award in our first attempt; but there are definitely shortcomings, after all, there must be a reason for going from \u0026ldquo;recommended for the first prize at the national level\u0026rdquo; to \u0026ldquo;second prize at the national level\u0026rdquo;.\nIn short, this experience is truly unforgettable, and it is even more worth summarizing and learning from the experience to prepare for next year\u0026rsquo;s competition.\nCUMCM stands for Chinese Undergraduate Mathematical Contest in Modeling; it is commonly referred to as the \u0026ldquo;National Mathematical Modeling Competition\u0026rdquo;. Terminology Explanation # Term Explanation Computational System The traditional modeling process, encapsulating a large function Optimization System A system used to optimize the adjustable parameters in the computational system to generate the best parameter configuration Computational Flow The process of handling input data in the computational system Computational Flow Node A key intermediate step in the workflow Optimization Flow The main logic of the optimization system Main Body of the Paper Includes the abstract, restatement, descriptions of computational and optimization flows, results presentation and analysis, that is, all content before the conclusion of the paper Conclusion of the Paper Includes sensitivity analysis and model extension Objective Conditions # Task Division # Although there were many topics to choose from for the competition, our group chose to focus on optimization problems, which is Topic A.\nMe: Modeling + Coding + Part of Paper Writing CL: Modeling + Paper Writing + Part of Coding HWJ: Paper Beautification Workflow # The coding part of the entire Topic A can be roughly divided into two systems:\nComputational System: Function: Accept input data and parameters, return the required results Nature: Directly determined by the problem, different topics have different computational systems, which need to be constructed temporarily Optimization System: Function: Accept the computational system as the target function to be optimized, execute its own optimization logic, and finally return the computational results Nature: The method system is relatively mature and can be prepared in advance of the competition with various optimization systems The paper writing part is divided into:\nOverall Framework: Determined by the LaTeX template Main Content Filling: Clear description of the workflow and optimization flow Typesetting and Beautification: Adjust the details of each part, with illustrative images (flowcharts, schematics) Concluding Content Pre-Modeling # Objective: Under the premise of accurately understanding the problem, quickly carry out preliminary modeling, basically determine the direction of modeling and calculation methods;\nEstimated Time: 3 hours\nWork: All team members conduct a web search to see if there are any literature materials that basically hit the topic.\nHit Successful: The most ideal situation, at this time, you can directly study the papers and collect ideas; Hit Unsuccessful: Although there are no ready-made materials for reference, some ideas have been accumulated in the process of literature review. Early Modeling # Overall Objective: Construct a precise and optimization method adaptable computational system\nModeling: Clarify the operations between input data and each computational flow node Coding: Implement the computational flow with code and achieve data visualization Paper: Fill in the content of the first question and initially typeset Estimated Time: 30 hours\nWork:\nAll team members model together, first clarify the modeling ideas, and provide a complete mathematical derivation process Me and CL: Code implementation and paper content filling are carried out simultaneously HWJ: Draw more vivid schematic diagrams that cannot be generated by code Mid-Modeling # Overall Objective: Construct a suitable optimization system\nModeling: According to the particularity of the computational system, choose the most matching optimization system Coding: Make minor changes in the implementation of the optimization system to match the computational system Paper: Complete the main part of the paper and start local detail fine-tuning Estimated Time: 20 hours\nWork: Similar to the previous, but the focus of work has shifted from code writing to paper writing\nSimplify the paper, at this time, the paper is very bloated Fine-tune the logic of the paper to make the context more closely related Beautify the typesetting, reduce text, increase images Late Modeling # The basic modeling is completed, and all members check for loopholes: Conventional checks such as typos, inaccurate expressions, formula spelling errors, etc. Optimize code comments to make them more readable Focus on checking personal information Personal information must not be retained in the competition paper, including file paths in the code, such as C:\\Users\\Morethan; retaining personal information is a very serious mistake! Actual Combat Effectiveness # When we applied the above strategies to the actual combat process, that is, the formal competition of CUMCM 2024, the results were as follows:\nEffective Time: The total duration of the competition is three days, a total of 72 hours The team works from seven in the morning to eight in the evening, excluding meal times, with an effective time of 12 hours a day Time utilization rate is \\( 50 \\% \\) (quite low in comparison🤔) Completed Work: The main body of the paper is 28 A4 pages The code part is 35 A4 pages, excluding the reused code between each sub-question, there should be about 20 pages A total of 25 illustrations in the paper The above data is after the paper has been streamlined, with the initial draft of the paper being nearly 50 pages Uncompleted Work: The final result calculation, due to the large amount of calculation (the code efficiency is not high), the code was finished two hours in advance, but there was not enough time to calculate the results😭😭 The calculation accuracy of the model is not enough, the accuracy is 1s which does not meet the standard answer\u0026rsquo;s precision The conclusion part of the paper was not actually completed Strengths # Topic Selection # Focused on Topic A, accumulated sufficient experience in mock contests, and polished a set of efficient workflows\nThe methodology for Topic A is relatively well-constructed\nWorkflow # The workflow is relatively clear, and the efficiency is high\nGuided by the final paper, modeling, paper, and code are carried out simultaneously, ensuring sufficient content in the paper\nDivision of Labor # Adopted a blurred division of labor, each team member has a main job and a secondary job, can work independently on their main job, and can also complete some work on the secondary job, greatly improving time utilization\nThe team members are very capable, as handling two division tasks means more learning costs\nWeaknesses # Workflow # The plan is perfect, but some necessary links were not well done in practice\nEffective time ratio: finishing work at eight in the evening is too early! More time should be taken to model trial and error to ensure the correctness and accuracy of the model\nDivision of Labor # The code writing, code debugging, code visualization, result calculation, and result visualization involve too much code, which is difficult for one person to handle;\nTask overlap caused by blurred division of labor increases collaboration costs\nModeling # Topic understanding accuracy: This time, there was a significant deviation in our understanding of the topic, which led to wasting a lot of time on model correction; Code # Code efficiency: Due to no time limit before, there was insufficient preparation for \u0026ldquo;very long\u0026rdquo; code, no experience with code parallelism;\nResult precision: The initial modeling was too rough, and a bad characteristic was used: setting the time step to 1, and using it as an array index, which made it difficult to reduce the time step later, resulting in insufficient precision of the final results\nImprovement Plans # Carefully select the venue, increasing effective time✨is the most important✨ Division of Labor # Slightly change the division of labor, increase the investment of human resources in coding\nIncrease learning input in each main and secondary division to increase work efficiency\nModeling # Focus more on understanding the topic, don\u0026rsquo;t rush; correcting modeling errors is not worth the loss Code # Build a set of effective code collaboration plans to enhance code writing speed\nStart building code writing standards:\nVariable naming Documentation at the beginning of the file Code writing process standards Code parallelization: Add some parallelizable code to the code to increase running speed\nAll code improvements must be implemented in a document! Not just slogans! Paper # Study excellent papers\nPay attention to its paper framework Pay attention to its language style, text readability, detail, illustration logic, and image readability Improve ourselves\nOptimize the paper\u0026rsquo;s main logic framework, refine the content of each section Improvements in language style, text readability, detail, illustration logic, and image readability, etc. The results are fixed in the form of comments in the LaTeX template! Summary # A test paper without full marks is more rewarding than one with full marks!\nAccumulating knowledge of applied mathematics, enhancing paper writing skills, and improving the ability to discover problems are more meaningful than the competition itself. 🫡\nCUMCM, every MathModeler can benefit from it. 🤗\n","date":"12 September 2024","externalUrl":null,"permalink":"/en/blog/cumcm2024/","section":"Blogs","summary":"\u003ch2 class=\"relative group\"\u003ePreface \n \u003cdiv id=\"preface\" class=\"anchor\"\u003e\u003c/div\u003e\n \n \u003cspan\n class=\"absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100\"\u003e\n \u003ca class=\"group-hover:text-primary-300 dark:group-hover:text-neutral-700\"\n style=\"text-decoration-line: none !important;\" href=\"#preface\" aria-label=\"Anchor\"\u003e#\u003c/a\u003e\n \u003c/span\u003e \n \n\u003c/h2\u003e\n\u003cp\u003eThis article is primarily a review and summary of the entire process of CUMCM 2024.\u003c/p\u003e","title":"CUMCM 2024 Summary","type":"blog"},{"content":"Morethan\u0026rsquo;s dummy blog page~\n","date":"3 January 2025","externalUrl":null,"permalink":"/en/blog/moravecs-paradox/","section":"Blogs","summary":"\u003cp\u003eMorethan\u0026rsquo;s dummy blog page~\u003c/p\u003e","title":"The reflection of Moravec's paradox","type":"blog"},{"content":" A Reflection on Writing a Plugin and What I Learned from the Experience. The Beginning # It all started with my blog website. I stumbled upon an article on WeChat about building a blog with Hugo, and since I wanted to revamp my old, simple site, I decided to give it a try. My original site was extremely rudimentary, and the whole writing process involved jumping between HTML, JS, and CSS in a rather awkward manner. On top of that, I had always admired the blog of a great tech guru, Lilian Weng, which was also built with Hugo. This further strengthened my resolve to change my site\u0026rsquo;s underlying platform.\nSo, I quickly started diving into Hugo.\nTo my surprise, the results were extraordinary! My old webpage took me nearly a month to build, but with Hugo, I was able to finish everything in less than half a day. What shocked me even more was that Hugo, a program written in Go, didn’t require users to set up a Go environment! 😮\nAt the same time, I discovered an incredibly well-documented Hugo theme—Blowfish. This was by far the most detailed documentation I had ever seen for any project, bar none (๑•̀ㅂ•́)و✧.\nWith Hugo and Blowfish working in tandem, my small site quickly took shape. Of course, I’m not great at designing, so I just used the default layout from Blowfish, as I felt any changes would ruin the beauty of the page.\nTo be honest, after all this work, I didn’t have any strong emotional reactions, except for deep respect for the coding skills of the authors of Hugo and Blowfish.\nThat was until I wanted to upload the massive amount of notes I had in Obsidian to my new blog.\nThe Bitter Taste of Originality # I soon realized that there wasn’t a plugin available to directly convert the format of my Obsidian notes to fit the Blowfish theme. Fueled by the earlier \u0026ldquo;pleasant experience,\u0026rdquo; I decided to write a plugin myself! (😄 Although, I would soon stop laughing 😢)\nThe rest of the experience wasn’t anything particularly exciting—just endless switching between webpages, searching through API documentation, and never-ending conversations with AI bots. After countless revisions, I finally ended up with something exceedingly simple: a plugin that identifies specific patterns in documents and performs content replacement.\nIt was quite laughable. Compared to the few hours it took to set up the website, the nearly forty hours I spent writing that plugin felt almost negligible. At one point, I seriously considered just deleting my few hundred lines of code.\nYes, such a simple plugin drained me mentally and physically. I truly tasted the bitterness of originality.\nNow, looking back at Hugo and Blowfish, I feel deeply shocked by their complexity and the effort required to implement all of those features. If they were getting paid for this work, I could at least understand the level of effort involved. But they were both open-source, relying entirely on user goodwill and appreciation.\nI saw the last update of the Blowfish author’s blog, which was in March 2024, and I fell into deep thought.\nSentiments and Idealism # I imagine that the author of Blowfish must have paused the development of the theme for some reason—perhaps due to life circumstances. After all, this project didn’t bring in much real income.\nSuddenly, I remembered the changes I had noticed before—those GitHub profiles, once full of green squares, gradually becoming sparse, and eventually disappearing. Beneath this peaceful change, there might be a shift in someone\u0026rsquo;s life. Whether it\u0026rsquo;s because of busy work or the gradual fading of motivation, the original passionate drive eventually drowns in silence. I can\u0026rsquo;t stop this from happening, but I understand the reasons behind it.\nOpen-source is driven by passion, but passion doesn’t pay the bills. People need to live in the present.\nI recalled a tech YouTuber, Ma Nong Gao Tian, a core Python developer who humorously complained about the harsh realities of open-source life. His prematurely graying hair made me feel a pang of empathy—he had spent most of his life writing code and yet found himself out of work, surviving on a few extra bucks from his videos.\nIn Conclusion # Life is rarely as we wish. Once again, I looked at my forty-plus hours of work and couldn’t help but laugh and shake my head.\nAfter writing this, I’m off to bed. It’s now 1:48 AM on January 6, 2025, and I still haven’t reviewed for my English final exam tomorrow.\nLooking at this blog again, I laughed and shook my head.\nSuch is life.\n","date":"6 January 2025","externalUrl":null,"permalink":"/en/blog/plugin-writing-experience/","section":"Blogs","summary":"\u003cdiv class=\"lead text-neutral-500 dark:text-neutral-400 !mb-9 text-xl\"\u003e\n A Reflection on Writing a Plugin and What I Learned from the Experience.\n\u003c/div\u003e\n\n\n\n\u003ch3 class=\"relative group\"\u003eThe Beginning \n \u003cdiv id=\"the-beginning\" class=\"anchor\"\u003e\u003c/div\u003e\n \n \u003cspan\n class=\"absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100\"\u003e\n \u003ca class=\"group-hover:text-primary-300 dark:group-hover:text-neutral-700\"\n style=\"text-decoration-line: none !important;\" href=\"#the-beginning\" aria-label=\"Anchor\"\u003e#\u003c/a\u003e\n \u003c/span\u003e \n \n\u003c/h3\u003e\n\u003cp\u003eIt all started with my blog website. I stumbled upon an article on WeChat about building a blog with \u003ccode\u003eHugo\u003c/code\u003e, and since I wanted to revamp my old, simple site, I decided to give it a try. My original site was extremely rudimentary, and the whole writing process involved jumping between \u003ccode\u003eHTML\u003c/code\u003e, \u003ccode\u003eJS\u003c/code\u003e, and \u003ccode\u003eCSS\u003c/code\u003e in a rather awkward manner. On top of that, I had always admired the \u003ca href=\"https://lilianweng.github.io/\" target=\"_blank\"\u003eblog\u003c/a\u003e of a great tech guru, \u003ccode\u003eLilian Weng\u003c/code\u003e, which was also built with \u003ccode\u003eHugo\u003c/code\u003e. This further strengthened my resolve to change my site\u0026rsquo;s underlying platform.\u003c/p\u003e","title":"An experience of a plugin writing","type":"blog"},{"content":"","date":"6 January 2025","externalUrl":null,"permalink":"/en/authors/","section":"Authors List","summary":"","title":"Authors List","type":"authors"},{"content":"","date":"6 January 2025","externalUrl":null,"permalink":"/en/blog/","section":"Blogs","summary":"","title":"Blogs","type":"blog"},{"content":"","date":"6 January 2025","externalUrl":null,"permalink":"/en/series/casual-essay/","section":"Seires","summary":"","title":"Casual Essay","type":"series"},{"content":"","date":"6 January 2025","externalUrl":null,"permalink":"/en/tags/experience/","section":"Tags","summary":"","title":"Experience","type":"tags"},{"content":" Hi, welcome to my info page. 👋 # Basic Info # My casual English name is Morethan because it resembles my Chinese name. 🙃\nNow I\u0026rsquo;m a university student in China. ᕕ( ᐛ )ᕗ Nothing more to say. 🫠\nBlog Focus # Personal Knowledge Base: to store frequently-used operations and valuable experience.\nMicro Paper Stack: to store inspirations for my Graduation Thesis, usually serious and logical, attempt to follow the standard thesis working stream.\nKnowledge Outlet: to put what I leant into practice.\nFinal # If you find the content is useful, click a like please at the beginning of that page. 🤗\nIf you want to share the content, cite this website please. 🫡\nIf you find some bug, push an issue on the GitHub please. 🥰\n","date":"6 January 2025","externalUrl":null,"permalink":"/en/authors/morethan/","section":"Authors List","summary":"\u003ch1 class=\"relative group\"\u003eHi, welcome to my info page. 👋 \n \u003cdiv id=\"hi-welcome-to-my-info-page-\" class=\"anchor\"\u003e\u003c/div\u003e\n \n \u003cspan\n class=\"absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100\"\u003e\n \u003ca class=\"group-hover:text-primary-300 dark:group-hover:text-neutral-700\"\n style=\"text-decoration-line: none !important;\" href=\"#hi-welcome-to-my-info-page-\" aria-label=\"Anchor\"\u003e#\u003c/a\u003e\n \u003c/span\u003e \n \n\u003c/h1\u003e\n\n\n\u003ch2 class=\"relative group\"\u003eBasic Info \n \u003cdiv id=\"basic-info\" class=\"anchor\"\u003e\u003c/div\u003e\n \n \u003cspan\n class=\"absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100\"\u003e\n \u003ca class=\"group-hover:text-primary-300 dark:group-hover:text-neutral-700\"\n style=\"text-decoration-line: none !important;\" href=\"#basic-info\" aria-label=\"Anchor\"\u003e#\u003c/a\u003e\n \u003c/span\u003e \n \n\u003c/h2\u003e\n\u003cp\u003eMy casual English name is Morethan because it resembles my Chinese name. 🙃\u003c/p\u003e","title":"Morethan","type":"authors"},{"content":" ","date":"6 January 2025","externalUrl":null,"permalink":"/en/series/","section":"Seires","summary":"\u003chr\u003e","title":"Seires","type":"series"},{"content":" ","date":"6 January 2025","externalUrl":null,"permalink":"/en/tags/","section":"Tags","summary":"\u003chr\u003e","title":"Tags","type":"tags"},{"content":" ","date":"6 January 2025","externalUrl":null,"permalink":"/en/","section":"Welcome to More's website","summary":"\u003c!-- \u003cdiv class=\"flex px-4 py-2 mb-8 text-base rounded-md bg-primary-100 dark:bg-primary-900\"\u003e\n \u003cspan class=\"flex items-center ltr:pr-3 rtl:pl-3 text-primary-400\"\u003e\n \n \n \u003cspan class=\"relative inline-block align-text-bottom icon\"\u003e\n \u003csvg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"\u003e\u003cpath fill=\"currentColor\" d=\"M506.3 417l-213.3-364c-16.33-28-57.54-28-73.98 0l-213.2 364C-10.59 444.9 9.849 480 42.74 480h426.6C502.1 480 522.6 445 506.3 417zM232 168c0-13.25 10.75-24 24-24S280 154.8 280 168v128c0 13.25-10.75 24-23.1 24S232 309.3 232 296V168zM256 416c-17.36 0-31.44-14.08-31.44-31.44c0-17.36 14.07-31.44 31.44-31.44s31.44 14.08 31.44 31.44C287.4 401.9 273.4 416 256 416z\"/\u003e\u003c/svg\u003e\n \n \u003c/span\u003e\n \n\n \u003c/span\u003e\n \u003cspan class=\"flex items-center justify-between grow dark:text-neutral-300\"\u003e\n \u003cspan class=\"prose dark:prose-invert\"\u003eThis is a demo of the \u003ccode id=\"layout\"\u003ebackground\u003c/code\u003e layout.\u003c/span\u003e\n \u003cbutton\n id=\"switch-layout-button\"\n class=\"px-4 !text-neutral !no-underline rounded-md bg-primary-600 hover:!bg-primary-500 dark:bg-primary-800 dark:hover:!bg-primary-700\"\n \u003e\n Switch layout \u0026orarr;\n \u003c/button\u003e\n \u003c/span\u003e\n\u003c/div\u003e --\u003e","title":"Welcome to More's website","type":"page"},{"content":"","date":"2025-01-06","externalUrl":null,"permalink":"/tags/%E7%BB%8F%E5%8E%86/","section":"标签","summary":"","title":"经历","type":"tags"},{"content":"","date":"2025-01-06","externalUrl":null,"permalink":"/series/%E9%9A%8F%E7%AC%94/","section":"系列","summary":"","title":"随笔","type":"series"},{"content":"","date":"3 January 2025","externalUrl":null,"permalink":"/en/tags/ai/","section":"Tags","summary":"","title":"AI","type":"tags"},{"content":"","date":"2025-01-03","externalUrl":null,"permalink":"/series/ai%E9%81%90%E6%83%B3/","section":"系列","summary":"","title":"AI遐想","type":"series"},{"content":"","date":"3 January 2025","externalUrl":null,"permalink":"/en/tags/imagination/","section":"Tags","summary":"","title":"Imagination","type":"tags"},{"content":"","date":"3 January 2025","externalUrl":null,"permalink":"/en/series/wild-imagination-of-ai/","section":"Seires","summary":"","title":"Wild Imagination of AI","type":"series"},{"content":"","date":"2025-01-03","externalUrl":null,"permalink":"/tags/%E9%81%90%E6%83%B3/","section":"标签","summary":"","title":"遐想","type":"tags"},{"content":"","date":"12 September 2024","externalUrl":null,"permalink":"/en/tags/cumcm/","section":"Tags","summary":"","title":"CUMCM","type":"tags"},{"content":"","date":"12 September 2024","externalUrl":null,"permalink":"/en/tags/math/","section":"Tags","summary":"","title":"Math","type":"tags"},{"content":"","date":"12 September 2024","externalUrl":null,"permalink":"/en/series/mathmodel/","section":"Seires","summary":"","title":"MathModel","type":"series"},{"content":"","date":"2024-09-12","externalUrl":null,"permalink":"/series/%E6%95%B0%E5%AD%A6%E5%BB%BA%E6%A8%A1/","section":"系列","summary":"","title":"数学建模","type":"series"},{"content":"","date":"10 August 2024","externalUrl":null,"permalink":"/en/series/operation/","section":"Seires","summary":"","title":"Operation","type":"series"},{"content":"","date":"10 August 2024","externalUrl":null,"permalink":"/en/tags/python/","section":"Tags","summary":"","title":"Python","type":"tags"},{"content":"","date":"2024-08-10","externalUrl":null,"permalink":"/series/%E6%8A%80%E6%9C%AF%E6%B5%81%E7%A8%8B/","section":"系列","summary":"","title":"技术流程","type":"series"},{"content":"","date":"5 August 2024","externalUrl":null,"permalink":"/en/tags/matlab/","section":"Tags","summary":"","title":"MATLAB","type":"tags"},{"content":"","date":"12 July 2024","externalUrl":null,"permalink":"/en/tags/latex/","section":"Tags","summary":"","title":"LaTeX","type":"tags"},{"content":"","date":"12 July 2024","externalUrl":null,"permalink":"/en/tags/overleaf/","section":"Tags","summary":"","title":"Overleaf","type":"tags"},{"content":"This is the advanced tag. Just like other listing pages in Blowfish, you can add custom content to individual taxonomy terms and it will be displayed at the top of the term listing. \u0026#x1f680;\nYou can also use these content pages to define Hugo metadata like titles and descriptions that will be used for SEO and other purposes.\n","externalUrl":null,"permalink":"/en/tags/advanced/","section":"Tags","summary":"\u003cp\u003eThis is the advanced tag. Just like other listing pages in Blowfish, you can add custom content to individual taxonomy terms and it will be displayed at the top of the term listing. \u0026#x1f680;\u003c/p\u003e","title":"Advanced","type":"tags"},{"content":"","externalUrl":null,"permalink":"/en/categories/","section":"Categories","summary":"","title":"Categories","type":"categories"}]
\ No newline at end of file
diff --git a/en/index.xml b/en/index.xml
index 7b8cef6..513c8c1 100644
--- a/en/index.xml
+++ b/en/index.xml
@@ -118,5 +118,31 @@
+
-
+
An experience of a plugin writing
+ https://morethan987.github.io/en/blog/plugin-writing-experience/
+ Mon, 06 Jan 2025 00:00:00 +0000
+ morthan@qq.com (Morethan)
+ https://morethan987.github.io/en/blog/plugin-writing-experience/
+ <div class="lead text-neutral-500 dark:text-neutral-400 !mb-9 text-xl">
+ A Reflection on Writing a Plugin and What I Learned from the Experience.
+</div>
+
+
+
+<h3 class="relative group">The Beginning
+ <div id="the-beginning" class="anchor"></div>
+
+ <span
+ class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
+ <a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700"
+ style="text-decoration-line: none !important;" href="#the-beginning" aria-label="Anchor">#</a>
+ </span>
+
+</h3>
+<p>It all started with my blog website. I stumbled upon an article on WeChat about building a blog with <code>Hugo</code>, and since I wanted to revamp my old, simple site, I decided to give it a try. My original site was extremely rudimentary, and the whole writing process involved jumping between <code>HTML</code>, <code>JS</code>, and <code>CSS</code> in a rather awkward manner. On top of that, I had always admired the <a href="https://lilianweng.github.io/" target="_blank">blog</a> of a great tech guru, <code>Lilian Weng</code>, which was also built with <code>Hugo</code>. This further strengthened my resolve to change my site’s underlying platform.</p>
+
+
+
diff --git a/en/series/casual-essay/index.html b/en/series/casual-essay/index.html
new file mode 100644
index 0000000..1e22f46
--- /dev/null
+++ b/en/series/casual-essay/index.html
@@ -0,0 +1,1111 @@
+
+
+
+
+
+
+
+
+
+
Casual Essay · More's awesome website
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/en/series/casual-essay/index.xml b/en/series/casual-essay/index.xml
new file mode 100644
index 0000000..a152140
--- /dev/null
+++ b/en/series/casual-essay/index.xml
@@ -0,0 +1,41 @@
+
+
+
+ Casual Essay on More's awesome website
+ https://morethan987.github.io/en/series/casual-essay/
+ Recent content in Casual Essay on More's awesome website
+ Hugo -- gohugo.io
+ en
+ morthan@qq.com (Morethan)
+ morthan@qq.com (Morethan)
+ © 2025 Morethan
+ Mon, 06 Jan 2025 00:00:00 +0000
+
+ -
+
An experience of a plugin writing
+ https://morethan987.github.io/en/blog/plugin-writing-experience/
+ Mon, 06 Jan 2025 00:00:00 +0000
+ morthan@qq.com (Morethan)
+ https://morethan987.github.io/en/blog/plugin-writing-experience/
+ <div class="lead text-neutral-500 dark:text-neutral-400 !mb-9 text-xl">
+ A Reflection on Writing a Plugin and What I Learned from the Experience.
+</div>
+
+
+
+<h3 class="relative group">The Beginning
+ <div id="the-beginning" class="anchor"></div>
+
+ <span
+ class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
+ <a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700"
+ style="text-decoration-line: none !important;" href="#the-beginning" aria-label="Anchor">#</a>
+ </span>
+
+</h3>
+<p>It all started with my blog website. I stumbled upon an article on WeChat about building a blog with <code>Hugo</code>, and since I wanted to revamp my old, simple site, I decided to give it a try. My original site was extremely rudimentary, and the whole writing process involved jumping between <code>HTML</code>, <code>JS</code>, and <code>CSS</code> in a rather awkward manner. On top of that, I had always admired the <a href="https://lilianweng.github.io/" target="_blank">blog</a> of a great tech guru, <code>Lilian Weng</code>, which was also built with <code>Hugo</code>. This further strengthened my resolve to change my site’s underlying platform.</p>
+
+
+
+
+
diff --git a/en/series/casual-essay/page/1/index.html b/en/series/casual-essay/page/1/index.html
new file mode 100644
index 0000000..8b091ca
--- /dev/null
+++ b/en/series/casual-essay/page/1/index.html
@@ -0,0 +1,10 @@
+
+
+
+
https://morethan987.github.io/en/series/casual-essay/
+
+
+
+
+
+
diff --git a/en/series/index.html b/en/series/index.html
index 64f19f3..31c37e8 100644
--- a/en/series/index.html
+++ b/en/series/index.html
@@ -861,6 +861,22 @@