年度归档:2019年

投篮练习

最近压力比较大,原来双十一准备买一个篮球,后来发现室友有一个闲置很久的篮球,我便借来用了,同时借来了打气筒。打足气后,能用。

上周一,也就是双十一当天,开始每天投篮约一小时。每次至少投进50球,已经连续一周了。现在大约30多分钟便可以投进60个罚篮。

0

2019年数学建模

2019年,华为杯第16届中国研究生数学建模竞赛在9月18日开始,组队参加这次比赛,得益于队友的支持,建模体验远好于本科时参与过的两次。

本科时国赛和两位交通学院的女生组队,建模程序文章全部我一人包圆,文章质量当然也是极差,没有获奖是意料之中。当年寒假,又和本学院的两位大神组队,参加美赛。那两位大佬国赛时和一名理学院的学弟组队,斩获国家二等奖。但是美赛的实际情况缺十分糟糕,四天三夜只得个安慰奖而已。并且报名、缴费等杂事也是我一人完成。这次体验,不免觉得这两个人在合伙搞我。

2019年和两位师兄报名了研究生数学建模,体验较好,合作愉快,结果另说。

选择D题,“汽车行驶工况构建”,主要是对数据的处理与挖掘。使用了主成分分析(Principal Component Analysis,PCA)和K均值聚类(k-means clustering)的方法,也算花了两天时间学习了一下这些数据科学种的常用方法。时间安排的也非常好,不熬夜佛西建模,迅速的讨论建模,早早写完稿子交上。算是在平日科研中的一种调剂,换换思维方式。


2019-11-11,在双十一这一天出了成绩,又是成功参与奖,依旧是最菜的。

0

转载:Zotero 使用笔记

Zotero 使用笔记

Zotero 是一个免费的文献管理工具。关于 Zotero 的使用推荐阳志平老师的博客:

本文主要介绍几个比较有用的插件和自己平时的操作流程。

插件

主要功能包括,文件重命名,导出 PDF 文件到指定目录,与云存储配合实现扩平台阅读。

Better Bib(La)Tex(link)(已过时,zotero 支持 clipboard 导入,看 tips5 )

Zotero 本身不支持 Bibtex 格式导入文章条目。该插件弥补了这一不足。
使用时,将 Bibtex 信息复制到 clipboard 中,然后选择 import from clipboard 即可。
zotero-import-from-bibtex

Markdown Here(link

使用 markdown 编写文章笔记,然后用 ctrl+alt+m 组合键将文本变为 html。该插件需要自行编译 xpi 插件包

Google Scholar Citation(link

查找文章的引用数,将引用信息填入 extra 字段中。
P.S. 最新版本的插件可能会不工作,可以使用老版本的插件(例如 v1.8.4)。如果一次更新太多会被 Google 认为是 Robot,限制访问。

工作流

[预备] 同步到 webDAV 上(使用 digital ocean 的私服搭建

  1. 文件导入(一般是 connector 或 bibtex);
  2. 批量下载 (chrono download),并创建索引(Create Bibliography from Item);
  3. 更新 scholar citation(Google Scholar Citation);
  4. 使用 Zotfile 发送到共享文件夹 (Google Drive),使用 IPad 浏览(PDF Expert)并记录笔记然后再用 Zotfile [Get from Tablet] 同步回 Zotero;
  5. 在条目中创建 notes ,使用 markdown 语法做笔记(markdown here)。

另外,阳的博客(6)中使用的 chrome 插件已经过时,更新为 Chrono Download Manager

Tips

  1. 递归显示 collection 中所有项目信息 (Hidden Perferences)
    希望实现的功能是,点击一个 collection 可以显示 sub-collection 的项目。Zotero 默认情况是不显示的。这个问题之前有人在 Zotero 社区问过
    解决方法是通过修改 Hidden Preference 文件中的 extensions.zotero.recursiveCollections 字段,将其修改为 true 即可。
    Zotero 的配置文件包括一般可用文件和隐藏文件。隐藏文件的修改可以进入 Advanced (Panel),选择 open:config 进行修改(当前 Zotero 版本是 4.0.29.15)。
  2. 显示 collection 目录下文件个数 (tips_and_tricks)
    To see how many items you have, click an item in the middle pane and Select All (Command-A on macOS or Control-A on Windows/Linux). A count of selected items will appear in the right-hand pane.
  3. 批量展开与折叠项目信息
    To determine total items, including child attachments and notes, click an item and press the + (plus) key to expand all parent items before using Select All. You can press – (minus) afterward to collapse all items.
  4. 查看一个条目在哪些目录(tips_and_tricks
    To see all the collections an item is in, select the item and then hold down the “Option” key (Mac OS X), “Control” key (Windows), or “Alt” key (Linux). This will highlight all collections that contain the selected item.
  5. 从粘贴板导入条目How does the Import from Clipboard feature work?
    Import from Clipboard allows you to import items from the raw code of any supported format (RIS, BibTeX, CSL JSON, etc.). Many websites post the bibliographic data for items in their raw form. To add these items to your Zotero library, select and copy the code from the site, then import through the option in File menu in Zotero, or by the keyboard shortcut (Windows/Linux: Ctrl-Alt-Shift-I / Mac: Cmd-Option-Shift-I).

TODO List

关于插件:

  • voyant-export 可以对储存在Zotero里的文字信息进行进一步分析,生成云图或者其它数据可视化图像。

原文链接:

https://leungf.github.io/2017/10/13/zotero-notes/

0

Matlab 相关操作小结(1)

之前使用matlab进行仿真的解析计算。最近在处理实验数据,也使用到了matlab,对于一些常见的操作进行一下小结。


1. 拟合

  • 使用cftool工具箱

工具箱操作相对便捷,首先导入数据,打开工具箱,选择需要拟合的X和Y(或Z)的数据,选择拟合类型,可以实时的看到拟合的结果。

  • 使用fit命令

fit命令 可以用于拟合函数需要注意的是,fit命令返回的fitobject对象。
可以用 Fit Postprocessing 拟合后处理函数,从对象中提取需要的内容。
feval(fitobject)可以得到拟合后的数值,plot(fitobject)可以绘制拟合前后的图像。

2. 批量读取.csv文件

dir命令可以列出文件夹内容
dir(*.csv)可以列出当前文件夹所有.csv文件,然后我的做法是再再当前文件夹下保存为.mat文件,以供后续使用。

csvread('filename',r,c) 可以用来读取.csv文件,r,c,分别用于开始从表中读取数据的偏移量。

文件路径
当前路径下 (mat和m文件在一起): load ***.mat;
在下一级路径下:load .\下一级路径的文件名\***.mat;
在上一级路径下:load ..\***.mat;
在平行文件夹内: load ..\平行的文件夹\***.mat;

3. 常用函数

  • size
    主要用来获得矩阵的各个维数的大小,或者指定维数的大小。

  • length
    用来获得一维数组的长度或者多维数组中最大的维数

  • array(array==0)=[]
    删除0值

  • max 、min
    最值

  • mean 、norm
    算数平均值,平方和开根号


最后,最重要的仍然是勤于搜索和翻阅手册。

欢迎点击 Mathworks官方的 在线文档

0

高斯光束

最近仿真需要用到高斯光束,学习了一下高斯光束的设置和相关理论。

在一定频率下,Maxwell方程并不独立完全独立,只有法拉第定律和安培定律(加位移电流)的两个方程独立。求解电场或磁场可以得到Helmholtz方程,是一定频率下电磁波的基本方程。其解是电场代表电磁波场强在空间中的分布,每种可能的形式成为一种波模。

基本的解有平面波、球面波和高斯光束。高斯光束在束腰可以看作平面波,而在远离束腰的地方可以看作球面波,是连接平面波和球面波的一种过渡的形式。

高斯光束的方程为:
$ \frac{E(r,z,t)}{E_0}=\frac{w_0}{w(z)}exp[-(\frac{r}{w(z)})^2]exp[i(\omega t-\Phi _T-\Phi _L)]$

高斯光束的基本参数有:
– Beam radius : $w(z)=w_0\sqrt{1+(\frac{z}{z_R})^2}$,代表z点处光斑半径
– Radius of curvature of phase front : $R(z)=z[1+(\frac{z_R}{z})^2]$,代表等相位面
– Transverse phase : $\Phi T(r,z)=\frac{kr^2}{2R(z)}$
– longitudinal phase : $\Phi _L(z)=k_z-arctan(\frac{z}{z_R})$
– Rayleigh Length : $ z_R=\frac{\pi w_0^2}{\lambda }$,也称为高斯光束的共焦参数
– Divergence angle : $\Theta =2\theta =2\times \lim
{z \to \infty } arctan(\frac{w(z)}{z})\simeq \frac{\lambda _0}{\pi nw_0}$,代表远场发散角

参考:
1. Understanding the Paraxial Gaussian Beam Formula
2. Gaussian beam – wikipedia
3. Gaussian beam – Youtube

0

乙亥猪年寒假

乙亥猪年的寒假从2019年1月29日至2月17日,共计20天。

回家休息仿真,期间购置了新的笔记本,京东美日亚,港行ThinkPad T480。

看完了《jojo的奇妙历险》目前已经播出的动画四部加正在连载的第五部动画,十分精彩,充满想象力和大胆独特的画风。

院线支持了《流浪地球》的票房,盗版看了其他春节档电影,没有一个能打的。以及补了前一年中国产影片的口碑之作。

初一至初五,亲戚各家拜年,加上表哥家正月十二有空聚餐完毕。表妹考研尚可。然而愈发发现大人们说的话,都是他们亲身经历后留下的思维钢印。

每个年龄段都有每个年龄段该面对的问题,没有什么是一直都会存在的困扰,也没有一招鲜吃遍天的技能。目前看来,有车有房有编有人是较为成功的一个标志。

高中同学小群聚餐两次,初中留德同学聚餐一次,大学舍友苏州聚餐一次。简单交流,互通有无,了解工作生活现状。然而大家都有各自的工作学习,并没人有切实的关心别人。

明天又要开始干活了。

0

《流浪地球》观后感

离开太阳系 to leave the solar system

その一

昨天晚上和高中同学聚会,吃完晚饭后去看了流浪地球,算得上是二刷支持一下票房,依旧是热泪盈眶和感慨颇深。

高中的时候看了大刘的《三体》,如实说是在高三暑假的时候,开始尝试看了很多次,都没有看下去,遂丢在一边。等到了寒假,大概是2013年初,在手机上看完了三本,思维十分震撼,最后一路狂飙。

去年暑假就在影院里看到了《流浪地球》的宣传片,当时知道《三体》改编权也放出去了,便误以为是其电影。后来才发现不是,但也很期待,终于《流浪地球》在今年春节档如期上映。

大学之后,带着高中迷恋大刘科幻残留的热情,一口气又看了《球闪》《乡村教师》《中国2185》等。电影上映前,更是回顾了一下《流浪地球》的原著。看完电影后,发现剧情并不完全相同,或许这就是科幻小说和商业科幻电影的区别,电影是需要改编的,用镜头语言给我们讲一个好故事。


その二

原著冰冷黑暗,小说的结尾更是在寂静严寒的绝望中爆发了氦闪,而后戛然而止。电影约莫有了好莱坞式电影工业的影子,成熟完整的叙事,接连不断的冲突,最后推向高潮。虽然存在有待提升的地方,但是瑕不掩瑜,整体上差强人意,更重要的也是靠同行衬托。

电影的故事可以看作围绕行星发动机展开的一系列救援。救援在不断的失败、不断地进行新的救援,从济宁到上海,再到杭州,途径马尼拉,最后在苏拉威西把离子流集中在一个喷射口,试图引爆木星。

什么是希望?或许先要理解什么是绝望,鲁迅说过悲剧就是把美的东西毁灭给人看。黄金时代体验课、想去看看外面的世界、大批行星发动机毁坏、救援行动初期的接连失败、刚子没了、姥爷活活冻死、杭州地下城三十五万人没了、最后即使救活的行星发动机全功率输出依旧改变不了偏离的航线。或许这就是绝望。


その三

电影中最令我印象深刻的是“饱和式救援”这个设定。用大量的、甚至全人类的资源去救援,一个行星发动机安排了多个救援小队执行任务,只要其中一个完成便大功告成了。这与举国体制的一将功成万骨枯不同,这里没有“将”的出现,在大自然、甚至宇宙面前,人是渺小而微不足道的,只有流血牺牲的拼命救援,构建成人类命运的共同体。

在主角抵达前,已经有别的救援队提前抵达并完成了救援。虽然其他救援队的部分一笔带过的略写,但也可以同理的想象出他们所遭遇的困难,“饱和式救援”体现的是人性的光辉,是伟大的无私奉献和牺牲精神,感受到了浓厚的人文关怀。

而另一处体现出人文关怀的,就是在主角尝试点燃木星时并点火成功,看到了另外两处喷射出的火光。这个点子,并不是个人英雄主义的由一个人想到,而是早就由以色列科学家计算出,但面对几率为零的方案,三个行星发动机的救援队仍然不放弃,勇敢拼搏,不可不谓之,人类的赞歌是勇气的赞歌,人类的伟大是勇气的伟大!摒除了个人主义,充满了人文关怀,人类在面对人类整个族群的危难时,散发出人性的光芒。

“饱和式”的行为在生活中也并不罕见,我甚至体会到目前的科研就是一种“饱和式科研”。站在人类整体的角度上,这并不为过。但是作为单一的个体,却只能体会到其残酷。当下科研谁都并不缺idea,然而实验物理面对没有仪器设备的窘境,也无法发出高档次的文章。然而这里面牵扯到的利益关系,只能感受到无奈。

0

Linux下重置MySQL root密码

一、手动修改

  1. 停止MySQL服务
    执行:/etc/init.d/mysql stop,你的机器上也不一定/etc/init.d/mysql也可能是/etc/init.d/mysqld

  2. 跳过验证启动MySQL
    /usr/local/mysql/bin/mysqld_safe --skip-grant-tables >/dev/null 2>&1 &
    注:如果mysqld_safe的位置如果和上面不一样需要修改成你的,如果不清楚可以用find命令查找。

  3. 重置密码
    等一会儿,然后执行:/usr/local/mysql/bin/mysql -u root mysql
    出现mysql提示符后输入:update user set password = Password('要设置的密码') where User = 'root';
    回车后执行:flush privileges; 刷新MySQL系统权限相关的表。再执行:exit; 退出。

  4. 重启MySQL
    杀死MySQL进程:killall mysqld
    重启MySQL:/etc/init.d/mysql start

二、使用重置脚本

wget http://soft.vpser.net/lnmp/ext/reset_mysql_root_password.sh;sh reset_mysql_root_password.sh

适合lnmp或MySQL管理脚本在/etc/init.d/mysql 且mysql安装在/usr/local/mysql/的。否则需要修改脚本后再执行sh reset_mysql_root_password.sh。

参考

Linux 下重置Mysql root密码

0

Shadowsocks 相关

前言

乙亥猪年第一天,发现SSR的IP好像被封了,VPS的IP可以ping通,也可以用SSH连接上。但是使用SSR提示ERR_SOCKS_CONNECTION_FAILED,而且使用IP查询,也无法获得有效的翻墙IP。

所以将Vultr上的VPS,take snapshot,并在sydney选了一个$3.5/mo的进行了restore。

目前使用的安装脚本是 秋水逸冰 大神的 Shadowsocks 一键安装脚本(四合一)

包含一键安装 Shadowsocks-Python, ShadowsocksR, Shadowsocks-Go, Shadowsocks-libev 版(四选一)服务端。
支持以多次运行来安装多个版本,且各个版本可以共存(注意端口号需设成不同)。

安装方法

使用root用户登录,运行以下代码

wget --no-check-certificate -O shadowsocks-all.sh https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks-all.sh
chmod +x shadowsocks-all.sh
./shadowsocks-all.sh 2>&1 | tee shadowsocks-all.log

安装完成后,提示

Congratulations, your_shadowsocks_version install completed!
Your Server IP        :your_server_ip
Your Server Port      :your_server_port
Your Password         :your_password
Your Encryption Method:your_encryption_method

Your QR Code: (For Shadowsocks Windows, OSX, Android and iOS clients)
 ss://your_encryption_method:your_password@your_server_ip:your_server_port
Your QR Code has been saved as a PNG file path:
 your_path.png

Welcome to visit:https://teddysun.com/486.html
Enjoy it!

卸载方法

若已安装多个版本,则卸载时也需多次运行(每次卸载一种);

./shadowsocks-all.sh uninstall

使用方法

分别对应各版本:启动,停止,重启,查看状态。

/etc/init.d/shadowsocks-python start | stop | restart | status

/etc/init.d/shadowsocks-r start | stop | restart | status

/etc/init.d/shadowsocks-go start | stop | restart | status

/etc/init.d/shadowsocks-libev start | stop | restart | status

各版本默认配置文件的位置

/etc/shadowsocks-python/config.json

/etc/shadowsocks-r/config.json

/etc/shadowsocks-go/config.json

/etc/shadowsocks-libev/config.json

开启多端口的方法

python版、R版和Go版,分别修改对应默认配置文件,并重启即可。
配置文件示例如下:

#python版
{
    "server":"0.0.0.0",
    "local_address":"127.0.0.1",
    "local_port":1080,
    "port_password":{
         "9000":"password0",
         "9001":"password1",
         "9002":"password2",
         "9003":"password3",
         "9004":"password4"
    },
    "timeout":300,
    "method":"your_encryption_method",
    "fast_open": false
}

R版
{
    "server":"0.0.0.0",
    "server_ipv6": "[::]",
    "local_address":"127.0.0.1",
    "local_port":1080,
    "port_password":{
        "9000":"password0",
        "9001":"password1",
        "9002":"password2",
        "9003":"password3",
        "9004":"password4"
    },
    "timeout":300,
    "method":"your_encryption_method",
    "protocol": "your_protocol",
    "protocol_param": "",
    "obfs": "your_obfs",
    "obfs_param": "",
    "redirect": "",
    "dns_ipv6": false,
    "fast_open": false,
    "workers": 1
}

Go版
{
    "port_password":{
         "9000":"password0",
         "9001":"password1",
         "9002":"password2",
         "9003":"password3",
         "9004":"password4"
    },
    "method":"your_encryption_method",
    "timeout":300
}

libev版开启多端口的步骤如下:
1. 下载脚本并赋予权限

wget -O /etc/init.d/shadowsocks-manager https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks-manager
chmod 755 /etc/init.d/shadowsocks-manager
  1. 新建配置存放目录
mkdir /etc/shadowsocks-manager
  1. 创建多端口配置文件 /etc/shadowsocks-manager/config.json 示例
{
    "server":"0.0.0.0",
    "port_password":{
         "9000":"password0",
         "9001":"password1",
         "9002":"password2",
         "9003":"password3",
         "9004":"password4"
    },
    "timeout":300,
    "user":"nobody",
    "method":"your_encryption_method",
    "nameserver":"8.8.8.8",
    "mode":"tcp_and_udp"
}

其他

以前用过一个带有多用户管理的SSR脚本感觉很好,换了VPS后,提示安装不成功。脚本来自都比根据地(doubi.io),可以最近主站上不去了,站长也不见了。

找到了几个粉丝做的备份:
1. 逗比云
2. 逗比根据地backup

参考:

  1. Shadowsocks 一键安装脚本(四合一)
  2. 如何启用 Shadowsocks 的多端口
  3. 自建ss服务器教程 Alvin9999
0