Ubuntu下解决apt-get “Hash校验和不符的方案”

各种坑爹,我也不知道为什么:

sudo gedit etc/apt/apt.conf.d/00aptitude

最后加一行:Acquire::CompressionTypes::Order "gz";


在Ubuntu下更改MYSQL的字符集

修改 /etc/mysql/my.cnf

[client]
default-character-set=utf8

[mysqld]
character_set_server=utf8

[mysql]
default-character-set=utf8

然后 sudo service mysql restart


Sublime configuration for Pascal

鉴于U盘中Sublime的配置常常莫名其妙地消失,在此将其记录一下。

Code

{
"cmd": ["fpc", "-S2", "${file}", "-o${file_path}/${file_base_name}.exe"],
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"working_dir": "${file_path}",
"selector": "source.pascal",

"variants": [
{
"name": "Run",
"cmd": ["cmd", "/c", "fpc", "-S2", "${file}", "-o${file_path}/${file_base_name}.exe",
"&&", "${file_path}/${file_base_name}.exe"]
}
],

"osx":
{
"path": "/usr/local/bin:/usr/bin:/bin:${path}"
}
}

关于 Ubuntu 突然无法连接Wifi的解决方案

事实上我也不知道发生了什么,大概是几天前插了“小度Wifi”的缘故。没有任何征兆地,Wifi就用不了了。 其实我也不知道原理,大概是某个驱动被刷掉了。下面是从网上找来的答案:

sudo apt-get install wicd-daemon

做个记录。


Extended 和 Double 的奇怪问题

最近在做一个项目,其中有一段判断一个 Extended 浮点数是否为整数的代码。我用如下方式实现:

function IsInt(F: Extended): Boolean;
begin
result := Trunc(F)-F = 0; //整数部分等于自身
end;

测试了许多样例都过了,唯独这个没过:

IsInt(4.000000002*1000000000); //False

调试时发现: Trunc(F) 居然等于 4000000001!开始以为是精度的问题,找了许多资料也没能解决。后来将 Extended 换成了 Double,就通过了。百思不得其解中。


MySQLDump导出时不加锁

在SAE上进行应用开发时,常常需要导入数据库,这时候就需要用MySQLDump工具进行本地数据库导出。

首先MySQLDump最基本的语法是这样的 mysqldump <database_name>,执行之后可以在控制台上看到SQL源码。但我第一次尝试将导出的源码上传至SAE时SAE却报错,原因是SAE的数据库管理不支持LOCK和UNLOCK语句。曾有一段时间,我是手动一行行删除LOCK语句。。30多张表那叫一个蛋疼。。后来,我翻阅了mysqlDump的help文档,发现可以添加这么一个参数--ADD-LOCKS=FALSE。几经尝试后发现果然没有LOCK语句了。 在此记录下整句命令:

mysqldump --add-locks=FALSE -uroot -p <database_name> > example.sql