-
在安徽淮北的杨庄煤矿,我终于体验了一把下到煤矿矿井下的生活。没下去之前,矿井下的世界常常被下去经历过的人传的很可怕,甚至有些妖魔化了,再加上自己的一些臆想,就觉得下面应该是一个局仄闷热,煤灰飞溅,瓦斯聚集的“人间地狱”,稍不留意就有垮塌,爆炸的危险。工人的生产状况应该是像小说里写的那样,个个脱的赤条条在井下挥汗如雨的玩命。下井之前的中午,在食堂看到一些工人师傅们,干干净净的穿着矿上统一的制服,捧着硕大的巨型碗很享受的吃着一碗肉丝面后,我便对矿井下的想像及时做了一番修正,觉得下面也许不坏。
下午一点不到的时候,顾工过来招呼我跟他一起出去,我问是不是要下去了,他一边点头一边便开始给我讲起在下面注意的安全事项起来,他认真的说,我认真的听着,我知道这可不是儿戏,对于一个头一次下井的人,安全问题确实太重要了。矿上专门做了一间专供外来技术人员的澡堂,澡堂倒是挺干净,里面宽敞明亮,开着空调,还置了两排休息的躺椅,里间有一个水池,围绕水池旁边的是一圈花洒。这里面还有一个房间放一些供下井人穿的工作服,安全帽,塑料靴等装备。我们进去后便脱的精光,内裤也不剩,统统丢在躺椅上,然后进那个放井装备的房间里,在一堆脏兮兮的工作服里寻找稍微干净一点的适合自己尺码的衣服,套在身上。我找了半天硬是没有找到一件合适的,可能我太瘦,那些衣服显得很肥大,扣子大多崩坏了,上面胸口上的扣子怎么也扣不拢。找到一条裤子,腰围算是最小的了,对于我来说也是差不多还可以放进一条大腿,没办法只有将就一下了,裤子没有皮带的,都是用一条细细的绳索捆系起来。安全帽对于我来说都大了,顾工找了一个稍微小一点的摁在了我的头上。带着帽子,头转动的时候帽子还可以保持原方向。然后在脖子上系上一条浅灰色的毛巾,套上一双黑不溜秋的胶鞋,我装备好自己后特意去外面那块大玻璃镜子前去端详了一下自己,呵呵,完全认不出来了,有点像小萝卜头或者三毛,怎么看都觉得特别扭,看不出一点矿工的气质。我于是把袖子撸起来到肘子处,把帽子往后脑勺扣一扣,再看看,觉得有那么几分味道了。顾工看到我这副装束有点发笑,带着我便出门往井口去了。一路上看到一些矿上的师傅,可能我的确不像一个下矿的伙计了,引得他们齐齐像我行注目礼,搞得我很想笑,却努力装出一副技术员的表情和架势来。
在发放矿灯和井下急救瓶的地方,顾工出示了一张借条,便拿来了两幅装备,每幅装备包括一个井下急救瓶,很重,一个铁皮盒子里面也不知道是什么东西;一副矿灯,现在的矿灯都是充电型的冷光源,充一次电至少可以用近20个小时;一根针扣式皮带。用皮带穿上矿灯和急救瓶,便绑在了腰上,腰上立时便感到一股股沉甸甸的重量,矿灯加上急救瓶大概有2-3千克的样子。领好装备后便和顾工往井口运输升降机的地方去了,在一间大房子里,进去是一排排的塑料椅子,供工人下井之前坐着排队等候,本来的颜色是橘红色的,不过上面都已被煤灰抹的漆黑。在等候下井的地方,我们碰到一个液压支架厂家的服务人员,他知道我是第一次下井,又嘱咐了一次让我到下面后注意点安全。
-
徐办布置的倒是挺干净利落,3层的楼房上上下下都装修的光洁明亮。一楼是办公接待的地方,二楼是个会议室外加一个厨房,三楼是卧室,里面摆放了6张床,供这里10多个服务人员住宿,谁在谁睡。卧室貌似挺干净,待我翻开被子后却惊恐的发现鼠屎成堆,可想鼠灾挺重。在徐办睡的第一晚便让老鼠从头顶上翻来弄去,搞得再不敢合眼,一宿未眠,第二天精神萎靡不振,某工问我是不是不习惯此地,我不好推责于老鼠,只好苦笑了之。
在冷气充沛的大厅里很无聊的看了一天的电视,顾工回来了,寒暄几句,拟好第二天早上带我去安徽的淮北杨庄煤矿去走一走,看一看。他们都是在煤矿事业干了几十年的经验老到的师傅,听闻我还未下过矿井,这次过来可能是第一次,都显示出挺惊讶唏嘘的样子,老师傅笑着说:你下去就知道了,里面是个什么样子,嘿嘿...对于我来说,来之前就已经听过师兄和所里的一些人物绘声绘色见过矿井下面的景象,据说环境恶劣,险象环生,注意事项多多,毕竟从未身临其境,总觉得一丝新鲜占了上风,都有点迫不及待,跃跃欲试的姿态了。
第二天从徐州坐长途汽车去淮北矿业集团下属的杨庄煤矿,天气挺热,一路上和顾工聊天,大约知道了公司里一些我先不知的事情,然后又聊了些技术细节,估计我没闹啥技术层面上的笑话,他也乐意跟我交流,讲解甚欢。
说实话,这是我第一次走进煤矿,以前压根没见过此类单位,俺们湖北据说是没有煤炭的省。杨庄煤矿是50年代的国有老矿,采了50多年还没有采完,听此介绍就对这片地下的状况想入非非了,采了50多年还在以年产量200万吨的速度出煤,可想是不是连地心都是漆黑的了?没进大门就可以看到里面高高耸立的塔楼,巨大的皮带轮慢慢悠悠的转动着。进去后到该矿的招待所,该招待所院中央有一假山水池,水不深,池也不大,里面却有红色鱼群攒动,甚是称奇。招待所估计就是50年代建起来的,2层楼成一个缺一面的矩形包围形状,红砖灰墙。2楼有个房间里呆着几个我们的服务人员,房间很普通,里面放4张床,吊扇疯起来转还是热的慌,一床铺上放有一本《三国演义》,趁顾工在和人搭话的时候,我边拿起来翻读起来,结果不知不觉看了1个多小时,又昨晚深受老鼠骚扰,困乏至极,迷迷糊糊的睡过去了...
下井不下井不是你想与不想的,得考虑很多方面的事情,首先是安全第一,所以很多矿上不怎么乐意外人到井下去,因为他们要负上一份责任。去的当天自然是不会下井的,下井批条要办,还要做好下井的心理准备,挨到晚上,在矿上的食堂里吃完晚餐就又到招待所上去了。矿上食堂里的饭菜做的倒还可以,价格特便宜,5元钱买一堆菜,人民币的购买力好像在这里特别的牛气了,比起我在徐家汇6元吃的蛋炒饭不知要好多少倍去了。只是安徽淮北,可能地属原因,菜有些辣,什么菜里面都要放些干辣椒,白豆腐汤里也要丢一把胡椒,我开始不知,喝了一口汤,辣的不行。晚上睡在招待所一间大房间里,该房间里有一台柜式空调,里面放20张床,都是供给各厂家服务人员住宿的,有运输机厂的,有液压支架公司的,大家彼此挺熟,聊天说话,打发时间。被子,凉席都还蛮干净,我又把三国拿来,从第一回看起,慢慢的看起来,不想待我离开杨庄的时候已经被我看的差不多了。晚上因为下午吃的菜太辣,肚子疼了一宿,到早上5点多钟便睡不着起来去了厕所,然后下去到假山水池旁看鱼群去了...
-
本来盘算好好趁着最后一个暑假回武汉考驾照去的,不想6月底的最后一个礼拜五却被上头盯上了,中午草草交待几句便让我买了下个礼拜一去徐州的车票,说是为了论文的前期调研。当时就一头的恼火,一来这是老早就提过的事情却一直拖了两个月,把手头上的计划给破坏掉了;二来近段时间在做其他方面的事情,论文方面还没有怎么准备,有些措手不及;三来与其说是论文调研,说白了是上头没事找事,出发前我就估计效果应该不会太好。
礼拜天的晚上收拾了一些衣物,日常用品,礼拜一早上6点不到就起来去上海站候车。以前没有机会坐过动车组,听说是要提前半小时,等我赶到候车室时却还有半小时的盈余,坐下吃了早餐便干坐那里听候检票。第一次去徐州,临走时给徐州的老同学打了个电话,不想对方不在徐州了,于是心里总有一丝忐忑。去之前吴处也没有给我电话,让我快到的时候再给他电话,后来车到蚌埠,离徐州只有一站的时候才电话联络,发给我一个电话号码,说是徐州办事处的电话,让我到了再打。
动车坐的还确实比较舒服,因昨晚和同学打牌打到11点才睡的觉,他们几个又打通宵,熬夜看欧洲杯决赛,寝室的灯就没有熄过。于是大脑一直游离于似睡似醒之间,迷迷糊糊的到了6点整便爬起来就走。到坐定后,方觉有些困顿,于是浑然睡去。一觉醒来已经快到蚌埠了,去了一趟洗手间回来和邻座的一个中年妇女聊起来。聊不了三句话,我就厌恶起来,不想说话了,是个上海女人,三句话不离炫耀有多少多少钱,有几套房子,女儿要出国等等,甚是无趣。想起网上一些对上海男人,上海女人的经典素描,对照该物,竟如此的神似贴切,不觉由衷的佩服起网络群众的概括能力。
到达徐州站的时间是中午12点半,打通了徐办的电话问明地址后打了个车赶往徐办。徐州的天气真是热,问司机道是近来一直无雨,气温大概33度左右。我找到徐办的时候里面只有一个人在等我,寒暄了几句,我便出去找个饭摊吃饭然后回徐办休息,待主任回来安排事宜了。
-
2008-06-02
PHP调用mail函数的设置问题 - [学习体会]
因为是新手,遇到问题我们老是希望可以在网上找到妥善的处理方法。所谓妥善就是高手不故弄玄虚,能顺应着初学者(一点基础没有的菜鸟)的思维指点关键,然而,我们却得到的帮助却很少,因为是高手,所以他们喜欢片言只语的在你的问话回答区内打上几个莫名其妙,看起来高深莫测的汉字,更是让初学者丈二和尚,摸不着头脑,更加打击了学习问题的自信心。
闲话短说。
PHP中颇有用的一个函数---mail()函数,在使用的时候老是出现这样那样的错误,我重点只说一条:就是根本发送不了邮件。与你的mail()内参数无关,仅与你的配置有关。
在PHP中配置php.ini文件过程分为两个步骤:1.先找到你放置所有PHP,Apache,MySQL文件的地方,在PHP文件夹里你可以发现有一个文件:php.ini,打开后,找到mail function地方,将原来的配置代码改为如下(仅对windows系统):
[mail function]
; For Win32 only.
SMTP =smtp.sohu.com
mtp_port=25
; For Win32 only.
sendmail_from = 填上你的电子邮件全称。此处为以sohu的邮件服务器设置,如果你用163的邮箱,则设置为:smtp.163.com
2.在C盘搜索php.ini,选择不是快捷方式的那一个php.ini,应该在C/WINDOWS里面的,打开它,如上面一样修改它,保存。
设置完后,记得重启Apache服务器,然后mail()函数就可以用了。
-
2008-05-30
一个简单的PHP登录验证代码 - [学习体会]
最近参照网上的一些PHP开源代码,自己胡乱凑成了一段简单的页面登录验证代码,挂在这里,留此存照。
登录页面(很简单的HTML代码,如想丰富页面内容,添加相应HTML代码即可。)
<html>
<body>
<form name="login" action="login1.php" method="POST"> <!登录验证页:login1.php>
用户名<input type="text" name="name"/>
<p>密码<input type="password" name="password"/> </p>
<input name="log" type="submit" value="登录">
</form>
</body>
</html>login1.php代码:
<?php
$mysqli=mysqli_connect("localhost","root","***","testdb");
$name=$_POST["name"];
$passowrd=$_POST["password"];
if ($name && $passowrd){
$sql = "SELECT * FROM test1 WHERE name='$name' and password='$passowrd'";
$res = mysqli_query($mysqli,$sql);
$rows=mysqli_num_rows($res);
if($rows){
header("location:index.php");
exit;
}
else{
echo "faile";
}
mysqli_free_result($res);
mysqli_close($mysqli);
}
?>这里未考虑数据库安全性,如要考虑,则需另外添加相应代码。以上代码经验证可以实现简单的登录验证。
-
2008-05-23
ANN中训练函数与学习函数的区别 - [学习体会]
最近刚开始进入ANN(人工神经网络)的学习,在MATLAB实现中遇到了两个最基础的问题,但是苦于没有找到合适合理的解答,于是通过查找资料,并加上自己的理解,得出以下结论,不知是否正确。
1.ANN工具箱中的训练函数与学习函数的区别是什么?
在《神经网络理论与MATLAB R2007实现》一书中有这样的一句话:神经网络的学习也成为训练,指的是通过神经网络所在环境的刺激作用调整神经网络的参数(权值与阈值),是神经网络以一种新的方式对外部环境做出反应的一个过程。
这也就是说其实训练函数与学习函数是一回事,所以在神经网络工具箱中通用函数一章节中,作者将训练函数train,trainb和学习函数learnp,learnpn,adapt,revert放在一起写了。但是在后面的不同类型网络中又将这两个函数分开来写,如感知器中的创建参数中,只有学习函数而无训练函数,但是可以调用train对感知器神经元进行训练。BP网络中,训练函数与学习函数同时作为参数出现。
对于实例P,包含n个样本输入。网络的学习也分为两类:第一:网络对样本逐个的顺序输入而不断学习,是基于单个样本误差e的最小值进行。第二是待样本全部输入后,基于E的最小值来完成权值空间的梯度搜索,即批处理过程。我想正是有这两种学习方式的分类,决定了学习函数与训练函数的区别吧?
2.BP算法(广义δ规则)中误差e与MATLAB中的MSE的区别
在讨论BP(误差反向传播算法)时候,我们一般选取e=∑(t-o)2/2,t为目标输出,o为实际输出,小2为上标代表平方,前面有个系数1/2;而MSE中e的系数却是L,L为输出层神经元个数。
虽然在按负梯度最速下降法中,系数为参数对于方向没有影响(在求导过程中系数始终保持不变),但是对于下降的尺度却有不同,我不知道为什么会这样。是理论与MATLAB实现的字面区别么?
3.这里有个近似弱智的问题:在单样本处理模式中,第N+1次输入后,网络的权值和阈值会刷新第N次的值,那岂不是网络训练的结果等同于输入最后一次向量就可以了?
其实,人工神经网络原理就是模拟人脑的神经元结构。人脑在学习一系列新事物(样本)的时候,比如先学习了一个式子:1+2=3,再学习了2+3=5的时候,是不是又忘记了1+2=3呢?显然不是。在学习2+3=5后我们同时也启发了1+2=3,2+3=5的系列数学算式原理,组成了一个学习数学加法的思维模式了,这就是人脑学习的结果。对于人工神经网络来说,其实也一样,在一些列样本(无显著奇异)进入网络后,在调整权值的时候并不是完全刷新前一次的结果,而是在逐步的微调,使得网络得到了训练和学习最终达到稳定,具有了某种分析的能力了。
-
网站上有许多讲解PHP的GD库加载注意事项及其步骤,总结后如下:
1.配置PHP.ini文件,找到“extension=php_gd2.dll”这一条,将其前面的分号---“;”去掉。这样做意味着启用PHP.ini的php_gd2.dll扩展功能了。
2.在PHP.ini里找“extension_dir =D:\usr\local\php5\ext”这条,注意:查找的时候注意向上向下。其中“D:\usr\local\php5\ext”填上你本机上ext文件夹保存的位置。这样是为了让PHP.ini能够找得到可扩展库的位置。
3.如果你细心一点,你会发现“http://localhost:8080/”下的phpinfo()里所有PHP信息下有你ext文件夹里可扩展的信息。此时如果你的ext文件夹里缺失php_gd2.dll,那么你的GD库也没有加载,同时你也不会在phpinfo()里找到相应的信息段GD。
此时,你需要在网上down一个php_gd2.dll下来,注意,php_gd2.dll也有不同的版本,请仔细查看好你的ext文件夹里其他dll的版本,我的是5.2.0.0,很巧在网上找到了一个php_gd2.dll且是5.2.0.0version的。网址:http://www.downbai.com/wdown/1978.html
下载下来后放入你ext文件夹内,然后重启Apache服务器。刷新重载phpinfo()页面,此时你会发现GD可扩展信息段出现了,即意味你的GD加载成功!
gd
GD Support enabled GD Version bundled (2.0.28 compatible) FreeType Support enabled FreeType Linkage with freetype FreeType Version 2.1.9 T1Lib Support enabled GIF Read Support enabled GIF Create Support enabled JPG Support enabled PNG Support enabled WBMP Support enabled XBM Support enabled -
2008-05-09
PHP中使用文件上传 - [学习体会]
先将一个表单代码写入到html中,如下:
<html>
<head>
<title>A simple file upload form</title>
</head>
<body>
<form action="do_upload.php" enctype="multipart/form-data" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="51200"/>
<p><strong>File to Upload:</strong> <input type="file" name="fileupload"/></p>
<p><input type="submit" value="upload!"></p>
</form>
</body>
</html>然后创建do_upload.php脚本。代码如下:
<?php
$file_dir = "C:\doc..."; //写入路径
foreach($_FILES as $file_name => $file_array) {
/*因为$_FILES超全局变量是$_FILES['fileupload']["name"]此类的二维变量形式
所以,在此进行foreech转换,将$file_ array数组分离出来便于书写设置。 */
echo "path: ".$file_array["tmp_name"]."<br/>\n";
echo "name: ".$file_array["name"]."<br/>\n";
echo "type: ".$file_array["type"]."<br/>\n";
echo "size: ".$file_array["size"]."<br/>\n";if (is_uploaded_file($file_array["tmp_name"])) {
move_uploaded_file($file_array["tmp_name"], "$file_dir/".$file_array["name"]) or die ("Couldn't copy");
echo "file was moved!<br/>";
}
}
?>此中需要注意的是上传的文件必须是在Web服务器文档根目录下,否则不能正确显示,但能显示上传文件的name属性。(具体原因不明)。
-
2008-05-09
一个简单的PHP计算器代码 - [学习体会]
最近新学PHP,所用参考书为《php,MySQL和Apache编程导学》,Julie C.Meloni著。在第十一章后有一个思考题,第一题要求实现一个可以通过下拉框选择运算符号(四则运算)进行两个数字变量运算的PHP脚本。于是自行编写了该段代码,并在浏览器里运行,证实可行。代码如下:
<?php
$result=0; //对result赋值,定义变量。
if($_POST['fuhao']=="+"){
$result=$_POST['num1']+$_POST['num2'];
} else if($_POST['fuhao']=="-"){
$result=$_POST['num1']-$_POST['num2'];
} else if($_POST['fuhao']=="*"){
$result=$_POST['num1']*$_POST['num2'];
} else if($_POST['fuhao']=="/"){
$result=$_POST['num1']/$_POST['num2'];
}
?>
<html>
<body>
<h1><?php echo $result; ?></h1>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>"method="POST">
<p>num1:
<input type="text"name="num1"></p>
<p><select name="fuhao">
<option value="+">+</option>
<option value="-">-</option>
<option value="*">*</option>
<option value="/">/</option>
</select>
<p>num2:
<input type="text"name="num2"></p>
<p><input type="submit"value="提交"/></p>
</form>
</body>
</html> -
2008-05-06
将excel里的数据导入到sql的技巧 - [学习体会]
我这里说的技巧其实不是什么技巧,就是一个死办法而已,纯机械性的手动导入。但对于在导入的过程中出现这样那样问题的朋友来说,这也许倒是一个可行之策。(有时候洋枪还不如土炮呢)
在导入之前,先确定sql里的字段数与你要导入数据的excel里的字段数相一致,这是最基本的检查。检查好后,将excel打开,点文件-另存为,文件类型下拉框里选择CSV(逗号分隔)(*.csv)点保存。此处定excel名为test,打开刚才保存的test.csv,在第一个字段上右键点插入,插入新的一个字段,在此字段A1里写入:insert into *(你的sql表名) values (' 然后将其复制到该新字段的每一栏内;然后在最后一个字段后的一个新字段里写入:'); 然后保存,一路点“是”;然后以记事本打开test.csv,点编辑-替换,将记事本里的,全部替换为',' 再点保存,ok,复制该记事本全部内容,在运行 sql 查询框中粘贴,点执行,成功了!
该法虽然有些麻烦,但总是实用,屡试不爽的。其实就是将excel里的内容转化为sql语句然后插入到表中,这样就避免了一些格式,版式等一系列容易出错的麻烦了。







