[原创] 用人话解释蒙特卡罗方法/Monte Carlo method(文章合集)

蒙特卡罗(洛)方法(Monte Carlo method),也称统计模拟方法,是1940年代中期由于科学技术的发展和电子计算机的发明,而提出的一种以概率统计理论为指导的数值计算方法。是指使用随机数来解决很多计算问题的方法。

阅读更多

[原创] Flutter相关配置

Flutter是什么?

Flutter是Google开源的移动应用程序SDK,一份代码可以同时生成iOS和Android两个高性能、高保真的应用程序。
Flutter目标是使开发人员能够交付在不同平台上都感觉自然流畅的高性能应用程序。我们兼容滚动行为、排版、图标等方面的差异。

在Ubuntu系统下,从零开始运行起来第一个Flutter程序不是那么容易的事情,有一些tricky的配置可能会浪费你很多时间。

阅读更多

解决LaTeX for WordPress插件在PHP 7.0下失效的问题

最近WordPress管理后台提示我升级WordPress版本到5.2.1,但由于5.2.1最低要求的PHP版本是5.6,我使用的PHP比这个版本还低,因此只能升级PHP版本,同时又考虑到现在PHP 7比较主流,因此我从PHP 5.4直接升到了PHP 7。

阅读更多

[原创] 如何把一块硬盘上的Ubuntu系统完整复制到另一块硬盘上?

最近我的Ubuntu台式机每隔两三天就会进入一种硬盘狂读+点击鼠标无反应的死机状态,由于SSD已经用了很多年,我非常担心它会随时挂掉,导致数据丢失的惨剧发生,于是我提前预防,买了块同品牌、同容量的SSD来替换它。但是从头开始重装系统+配置各种软件的过程实在太痛苦了,所以我决定做一次全盘复制,这样就能省去很多时间。

阅读更多

[原创] 如何用Jackson解析含有转义字符的JSON到Java对象?

如果一个JSON字符串里有一个字段,它的值又是一个完整的JSON字符串,那么这时候,它可能会含有转义字符。举个例子,我们有一个文件  codelast.json,它的内容为一行字符串:

{"aaa":"{\"ccc\":\"ccc\",\"ddd\":\"ddd\"}","bbb":{"ccc":"ccc","ddd":"ddd"}}

现在要用Jackson解析它为一个Java对象,怎么做?

阅读更多

[原创] MAC配置(杂)

 在MAC里安装Ubuntu虚拟机,使用共享文件夹
宿主机:MAC OS
虚拟机:Ubuntu 16.04
首先在Virtualbox软件里设置好永久性的共享文件夹,但你会发现Ubuntu里根本看不到设置的共享文件夹,原因是你需要在虚拟机中安装Virtual Guest Additions软件,方法:Devices->Insert Guest Additions CD Image...,然后Ubuntu就会自动开始安装Virtual Guest Additions软件,安装好之后重启Ubuntu虚拟机,你会看到在Ubuntu文件管理器的左栏中多了一个共享文件夹的链接,不要以为此时就大功告成了,事实上现在还不能用,只要你一点击它,就会提示没有权限,原因是你需要在Ubuntu虚拟机中把你的当前用户添加到vboxsf用户组中:

sudo adduser codelast vboxsf

然后重启Ubuntu虚拟机,再点击共享文件夹试试看,问题解决。

阅读更多

[原创] Ubuntu终端使用Privoxy代理

在Ubuntu下,除了浏览器之外,为了能在系统全局层面上自动使用代理访问那些“不存在的网站”,有一个常用的做法就是,在Chrome的SwitchyOmega插件里的“自动切换”情景模式下“导出PAC”,得到一个PAC文件,放在磁盘的某个路径下(假设为:/home/codelast/OmegaProfile__.pac),然后在Ubuntu系统的网络设置里如下设置:

阅读更多

[原创] 解决MAC OS的"ssh-add: illegal option -- K"错误

今天在MAC OS上用 brew install openssh 之后,再用iTerm2打开一个新窗口的时候,都会提示以下错误:

ssh-add: illegal option -- K

usage: ssh-add [options] [file …]

在我的例子中,是由于安装openssh之后装上了一个新的ssh-add程序,和MAC OS原来自带的ssh-add有些不一样,MAC自带的ssh-add程序包含-K参数,而openssh带的那个ssh-add没有-K参数,因此不能识别,从而造成了错误。

阅读更多

[原创] 区块链科普(兼介绍以太坊)

本文根据各种公开的资料,对最近火热的区块链技术做作了一个简单的科普(并顺带介绍了一下以太坊),由于撰写本文时查询了较多网站,难以对文中摘抄的各种数据、例子一一列出引用出处,在此向原作者们表示感谢。

阅读更多

[原创] 解决Ubuntu 无法用 apt-get install 安装任何软件(dpkg: error processing package xxx)的问题

Ubuntu不知道什么原因,不能用 apt-get install 安装任何软件了,并且在屏幕上输出海量错误信息,非常迷惑人,例如下面这一例:

insserv: Starting vpnagentd_init depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: There is a loop between service vpnagentd_init and mountkernfs if started
insserv:  loop involving service mountkernfs at depth 1
insserv: Starting vpnagentd_init depends on plymouth and therefore on system facility `$all' which can not be true!
......
insserv: Starting vpnagentd_init depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: There is a loop between service vpnagentd_init and dns-clean if started
insserv:  loop involving service dns-clean at depth 1
......
insserv: Starting vpnagentd_init depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: exiting now without changing boot order!
update-rc.d: error: insserv rejected the script header
dpkg: error processing package binfmt-support (--configure):
 subprocess installed post-installation script returned error exit status 1
No apport report written because MaxReports is reached already
                                                              Processing triggers for initramfs-tools (0.122ubuntu8.10) ...
update-initramfs: Generating /boot/initrd.img-4.13.0-32-generic
Errors were encountered while processing:
 udev
 grub-common
 grub2-common
 grub-pc-bin
 grub-pc
 resolvconf
 binfmt-support
E: Sub-process /usr/bin/dpkg returned an error code (1)

这里只列出了部分错误信息,实际上输出的内容极多,多得让人眼都瞎。

阅读更多

[原创] 蒙特卡罗方法的实例1:计算圆周率

查看本系列文章合集,请点击这里

为了对蒙特卡罗方法有一个直观的印象,我们先举一个实例(计算圆周率 \pi ),让从来没有接触过蒙特卡罗方法的人产生“原来这就是Monte Carlo”的感觉,以减少刚开始学习的困惑。

  • 非蒙特卡罗方法

圆周率 \pi 可以怎么计算?其中一个“常规”的方法就是利用 \pi 的莱布尼茨公式:
\frac{\pi }{4} = \sum\limits_{n = 0}^\infty {\frac{{{{\left( { - 1} \right)}^n}}}{{2n + 1}}} = 1 - \frac{1}{3} + \frac{1}{5} - \frac{1}{7} + \frac{1}{9} - \cdots
不断增大 n 的值,就能越来越逼近 \frac{\pi }{4}

阅读更多

[原创] 解决Selenium的"failed to change window state to maximized" 窗口最大化问题

OS:Ubuntu 16.04.3 LTS
JDK:1.8.0_60
Selenium:3.0.0
Chrome:61.0.3163.100

本文描述了用JAVA编程控制Selenium时,遇到的“failed to change window state to maximized, current state is normal”错误的解决方法。

阅读更多