有些不安于现状了,因为感觉有很多事情没有去做,做了的又觉得不那么好,比如说博客,样子早说要改,也没改,至于文章无非是两种调调:对自我状态的关注和琐事记录,以及较小的技术类文章。那么开始做一些改变现状,以至于形成习惯的事情吧。采取设定目标的方式如何呢,另外同事无意中的提醒也另外感到启发,他说对于喜欢的事情需要投入激情,什么是激情呢,我想那是一种专注而单纯的状态,而我则用过于理智和所谓的宏观考虑压制了这种激情的迸发。比如说网页前端的东西,老实说还是比较得心应手的,可就连自己也和目前的氛围一样,认为那不过是外网的东西,没什么难度也没什么好的理由需要坚持下去,甚至“有失身份”,于是进行了刻意的避让,而实际上呢,前端里高层次的东西就在眼前了,当视野更加开阔后,做到最好和随心所欲也绝不是那么简单的事情。于是,拿出热情来,好好的做一些学习上的事情吧。三个月的时间,明年元旦之前,去做做web性能方面的学习和积累如何呢?边学边写个读书笔记之类的东西,再抱以一个看到问题就去改进的心态和上进,我想也不至于如此不安了。
随便写点,生活
唠叨一下最近的生活和状态
毕业两个月,期待中的状态一直在寻找,想很好的树立学习这面旗帜,却不是那么容易,联想毕业前那段煎熬的时光,躲避喘气是一方面,慵懒则是另一方面的原因,但从职业生涯来考虑,这事终究是躲不过的,so,尽管我一再认为自己事业心并不强,而更愿意去接近某种生活状态,但为了避免碌碌无为的尴尬,早些把主动有计划的学习当作一个强有力的习惯吧。
个人站点是个好东西,给了我在网上捞第一桶金的机会,虽然只有几百块,虽然只花了一天时间,但好歹把两年的运营费用弄到手了,也让我尝试了这样一种方式。那天还被一个猎头加了msn,一问,说就是从个人站点留下的联系方式找到我的,于是又认识到了个人站点的另外一个价值,互联网的确是无限可能的。
最近跟家人联系得虽不频繁,但都挺深入的,小弟很遗憾的六级差一分没过,很信任的让我差分,说实话,联想起他高三的那一年,帮他辅导英语那会的水平,这个成绩我已经很是刮目相看了,注会的考试在即,继续加油吧。爸还是闲不住,干活儿去了,妈说是去以前工厂里一位发达了的同事开的厂子,老工友倒是不少,就在市里,这倒令我放心不少。只是又剩妈一个人在家了,电话里很高兴的说爸给新买的手机怎样怎样(其实就一山寨机),倒是容易满足,喂鸡、做豆瓣酱等等,尽其所能做的。
上周去公司的拓展培训,对自我的认识还是蛮有帮助的,人际沟通风格测试被认为是稀有的老虎型,特点是情绪不外露、直接、结果导向以及比较的自我为中心。启发最大的一个认识是常会给人一些实际上有压力事情或情况,但自己却往往意识不到,或者认为那是应该去克服的,联想到一些实例,这个倾向还是挺严重的,要尝试一些改变了。
手头有个写文章的活儿在和人一起做,还是相当艰难的,十多天的时间涉足一个没搞过的领域,头有些大,决定时间不能白白耽误下去了,明天打算硬着头皮来点实质性的内容。一方面的确是有意识在这方面锻炼一下自己,另一方面(似乎更重要)着实是为了我那越来越高的手机预算费用填坑啊。说到手机,同事新买的G1着实让我心动不已,相比之前看中的E66,现在更想考虑G2了,可是一雍的报价黑色2880,白色2990,有些过于高了,欲望真是这么一点点被挑弄起来的啊,等着吧,等着降价,等着活儿干完。
不早了,明天的巴阿大战应该不会错过吧:)
jQuery插件之让AjaxFileUpload支持多文件上传
AjaxFileUpload是一个基于jquery开发的文件上传插件,之前有写过一篇使用方面的文章,颇受欢迎,后因业务需要,需要在一个页面上传多个文件,这才意识到AjaxFileUpload只是支持单文件的,那么改造一下吧,使其支持多文件上传(只做比较简单的示例,您完全可以将其改造得更为强大)。另外对于AjaxFileUpload的基本使用和需要注意的问题请参考文章:jquery插件之AjaxFileUpload
- <input id="thumbnail" class="upfileText" name="thumbnail" size="30" type="file" />
- <input id="buttonUpload0" class="button" onclick="return ajaxFileUpload(this);" type="button" value="上传" />
做一个“添加”按钮
- <div id="add_seriesArea"><input id="add_series" class="button" type="button" value="添加" /></div>
为该按钮绑定click事件:
- function add_seriesInit(){
- var thumbStr = '<div class="thumbArea"><label class="label">缩略图片:</label><input id="thumbnail&" name="thumbnail&" class="upfileText" type="file" size="30" /><input id="buttonUpload&" class="button" onclick="return ajaxFileUpload(this);" type="button" value="上传" /></div>';
- $("#add_series").click(function(){
- series_c++;
- $("#add_seriesArea").before((thumbStr+hoverStr).replace(/&/g,series_c));
- });
- };
以上代码中,细心的你应该发现了其实就是通过一个添加按钮来生成多个上传文件的文件选择框和上传按钮,并且将原来的id=“buttonUpload” 和id=“thumbnail”替换成了buttonUpload0 buttonUpload1、thumbnail0、thumbnail1等系列值,为的是id不重复。同样的对ajaxFileUpload执行函数以及后台代码都要作修改。
改进后的php后台代码:
- //和作者提供的源代码不同,返回的是一个json格式的消息,SITE_ROOT是全局变量,定义的站点根目录
- $error = "";
- $msg = "";
- //$fileElementName 不再是写死的,需要从前台传入,以区别不同的file对象
- $fileElementName = $_GET["fileElementId"];
- if(!empty($_FILES[$fileElementName]['error']))
- {
- switch($_FILES[$fileElementName]['error'])
- {
- case '1':
- $error = 'The uploaded file exceeds the upload_max_filesize directive in php.ini';
- break;
- case '2':
- $error = 'The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form';
- break;
- case '3':
- $error = 'The uploaded file was only partially uploaded';
- break;
- case '4':
- $error = 'No file was uploaded.';
- break;
- case '6':
- $error = 'Missing a temporary folder';
- break;
- case '7':
- $error = 'Failed to write file to disk';
- break;
- case '8':
- $error = 'File upload stopped by extension';
- break;
- case '999':
- default:
- $error = 'No error code avaiable';
- }
- }
- elseif(empty($_FILES[$fileElementName]['tmp_name']) || $_FILES[$fileElementName]['tmp_name'] == 'none')
- {
- $error = 'No file was uploaded..';
- }
- else
- {
- $dir = SITE_ROOT . "/upload_images/";
- $tstamp = strval(time()).strval(rand(100,999));
- $fname = $tstamp.substr($_FILES[$fileElementName]['name'],strrpos($_FILES[$fileElementName]['name'],"."));
- $msg = $fname;
- $f=$dir.$fname;
- if(strpos($fileElementName,"thumbnail") != false){
- if($_FILES[$fileElementName]['size']/1024 > 100){
- $msg = $fileElementName."overmaxsize";
- }
- }
- else{
- if(!move_uploaded_file($_FILES[$fileElementName]['tmp_name'],$f))
- {
- $error = "failed";
- $msg = "move file failed";
- }
- else{
- $size = getimagesize($f);
- $width = $size[0];
- $height = $size[1];
- if($width == "" && $height == ""){
- $error = "failed";
- $msg = "上传的图片不符合格式要求";
- }
- }
- }
- }
- echo "{";
- echo "error: '" . $error . "',\n";
- echo "msg: '" . $msg . "',\n";
- echo "width: '" . $width . "',\n";
- echo "height: '" . $height . "'\n";
- echo "}";
以上就是改造的核心内容,当然,你还可以根据自己的需求随心所欲的加以改变,上面的思路就是参数化写死的变量,多个值换以数组的方式来保存,多文件上传还会遇到一些诸如文件顺序的问题,会使问题复杂化,至于如何处理,主要看需求吧。
一个统计n次命中的脚本
工作中有一个这样的需求,在一堆01排列的固定长度的数字中找出n次命中即出现n个1的情况,人肉的方式肯定不行,因为排列组合的情况太多了,用正则是当然的,怎么用却一时没想出来,后来翻了grep命令的一些参数后,找到一个方法,算简洁高效:
file=youfile
cat $file| grep -oP “^0{0,20}10{0,20}10{0,20}”
-P代表使用正则,不多说
-o倒是第一次使用,代表输出符合规则的字符流,而不是整行,如“0101001010…” 只会输出前面满足条件的0101
到这里,其实距离目标就只差一点了,再启用一个管道和正则:
| grep -P “\w{22}”
整个脚本的意思便是:选出01文件的固定长度(或起始有用的长度)为22,出现两次1的情况,注意1出现的次数和{0,20}中的20,两者加起来应该是整个长度22
同理,可以完成出现3次,4次,n次1的情况
为了简化正则书写,还可以改写成这样:
cat $file | grep -oP “^0{0,20}(10{0,20}){2}” | grep -P “\w{22}” >targetfile
近期生活小结
毕业快一月了,新的生活也跟着过了这么长时间。变化还是蛮大的,一开始就买冰箱、洗衣机办上网账号什么的,钱那是花花的流啊。很快就心疼了,加上现在每天都有做饭,对一顿饭的成本有了直接了解,加上口感等缘故,也越来越变得不喜欢吃外面的东西了。最近请饭的机会总是很多,花钱的感觉明显跟以前不一样了,唉,都说毕业前半年攒不下钱,我却貌似很快就变得对钱敏感了,不知是好是坏。
最近最大的好消息莫过于户口接收函终于审批下来了,虽然还有些手续,不过心中悬了大半年的石头终于落地了。小结了一下今年的一些事情,发生在某个有意义的日子的居多啊,愚人节icp终于办下来,恢复了个人网站,儿童节答辩并顺利通过,500年一遇的日全食那天又把户口这悬了许久的事情搞定,下个节日是啥,呵呵,是否可以期待一下呢。
做饭是每天生活的一个主题,现在阿金也成长起来了,厨艺一天天进步啊,他下班早,平时的话基本都是他做了,只有到周末我才为主做做饭,不过周末一般都有同学什么的过来,做大餐还是挺累的。家常的就不算了,煲汤、红烧,这星期还玩起了卤煮,相当不错,牛肉、肥肠、卤蛋,哈哈,好玩又好吃。下一个主题是啥?近期看看美食节目再说吧。
今天比较难过的事情是失去了一位有过好几年交往的朋友,或许由于是异性,又存在一些误解和想法上的巨大差异,以及种种很难说得清的事情和道理,没有办法,试图让每个人都对自己满意,赞不绝口那是非常错误和危险的思路和态度,我只能这样安慰自己了。另外令我感到巨大的不安的是我似乎给人的感觉是所谓的虚伪和暧昧,是以至此,善良似乎找不到空间,反驳和解释都是没有意义的,倒是给我提了一个严重的醒。过去的就只好让它过去了,不论对错是非,唯有祝福!
外公走好~天堂里多了位技艺精湛的老铁匠
虽然之前早有准备,但当今天下午得知消息的时候还是几近崩溃,忍住一切,正常上完班回家,正好今天早上下雨,没骑车,于是晚上是走回家的,一路上心里空落落的。“天堂是个更好的地方,节哀顺变,逝者已逝,生者当坚强!”,我是这样回复那位告诉我消息的但我不知道是谁的亲戚的。后来跟爸通电话,知道我回来很困难,才正式上班10多天,没打算告诉我。而我其实是更想跟妈通电话的,只是略一迟疑,我料定妈肯定早就哭得不行了,而我是更怕自己去面对那里的场面的,于是决定不打了。简略的回忆一下我的外公吧,就当生者对逝者,晚辈对长辈的缅怀。
外公是当地方圆百里有名的铁匠,光收的徒弟就有十多个,按每一个需要培养三年以上来算,这段生涯也是三十多年,小时候我就经常和那些徒弟们就常常玩耍。老人家十四岁就开始打铁,到去年身体不适方才放下铁锤,浩浩荡荡六十多年。只是这么长的时间从来没有过任何一个有关职业生涯的庆典之类的活动,更多的是生活的压力,默默的坚守。外公的手艺以快口和外观好看著称,尤其是快口,刀具最擅长,大到一米多的铡刀(就是刘胡兰就义的那种,当然,本地是用来切芦苇的),小到各种管制类匕首(这个得求情才会打的),杀猪用的点血刀,真正的一刀致命,再到各种常用的农具和菜刀。记得其中最关键的一道工序就是“溅火”,通俗的讲就是将通红的刀往水里面放那一下,极其讲究火候和时机,要求对各种不同特性的铁质性能了如指掌,这功夫,徒弟们是看在眼里,但就是学不来。我家炒菜用的锅铲,年纪比我还大,用的菜刀(之前用的那把亦是用了十几年才退休)和各种铁质小工具就连我钓鱼时用来挖蚯蚓的小铲子也是出自外公的铁匠铺。常常会有很多顾客跑几十里地,慕名而来,市里也有好多人托人带菜刀什么的。以我目前的些许生活经验,外公打的菜刀,即便晚年时期的作品,也比超市买的菜刀快了不知几条街。
老家流行在农历五月初五端午节的时候给小孩带一个铁手镯,保平安尤其是防水淹,据说带了铁手镯的人即便掉水里了,也会有水菩萨拖住的。我所有的亲戚几乎都有带,我自然也不例外,记得手镯上写的字是“阿弥陀佛,长命百岁”,周岁的时候带,带到12岁的时候要取掉,我当时调皮,不想取,于是家里就没给取,可是不料,没多久,某天在外玩耍归来,猛然发现就不见了,这事实在是蹊跷。扯远了,那所有的铁手镯便是外公打造的。每年五月初五,外公的铁匠铺真是门庭若市,上香、跪拜、鞭炮、刻字、佩戴、紧固等环节,一个个的来。真是段鲜活而传奇的回忆,可惜不回再有了。
外公好酒,因此逢年过节必定要送酒,晚年以养生的药酒为主,性子比较急,得病后的情绪就一直比较急躁,当时医生就说了是慢性病,不危及生命的。一辈子和铁锤打交道,突然放下并且再也没机会拿起来了,那种感觉无人知道,或许有些人注定就是这样的,条件允许的时候就尽情投入,老了,干不动了,便不安分了,耐不住那样的寂寞和煎熬,快意人生不过如此吧。
如今,外公走了,就像爷爷奶奶去世一样,选择了暑假,而我又再次不在身边,但祖辈那代人,总是能够给我很多思考和珍贵记忆,如今,在成千上万的家庭里用着的都是外公的作品,而且将由那些徒弟们继续发扬下去,一个人若有这样的价值,人生何尝有憾呢。
外公,您一路走好!可以想像,在天堂里,您一定正在温一壶老酒,吆喝三五个徒弟,在火热的铁铺里指挥着各道工序,而在一旁,摆满了一件件闪闪发光的得意作品。
放一些毕业照片
不知道何种原因,就和本科毕业那样,拍的毕业照好长一段时间都不想碰,今天终于借着上传到Picasa之名,看看了,并找出了当年本科毕业发的那些照片,顺便做了个对比,不多说,看pp吧
在二教前
和导师在一起,感谢导师,人非常不错
令我多少有些尴尬的全家福
宿舍兄弟们
个人pp一张,特地穿了搜狗的文化衫,代表自己毕业后有个归宿吧
研究生毕业时的学子情
本科毕业时的学子情
新的起点,整装待发
虽未到尘埃落定之时,但也是随波逐流、势不可挡,那么做好准备,整装待发吧。
毕业还剩下二十天左右了,平常工作时间除了必须回来签字办手续交材料啥的,不会请假了,所以晚上和周末的时间得做一些有意义的事情。于是,我有了些计划:
1)不管是全心投入还是装模作样,认真的看看书,内容暂定为linux操作系统相关的吧,一来的确是为将来工作做准备,二来再去去图书馆和二教,权当怀念;
2)来段DV如何?相机视频拍摄效果不错,但一直闲置,不如开发一下,拍摄一些学校和毕业的视频呢,水平虽然料到好不到哪里,但总有个开始才行,周末的时候多行动吧;
3)主动地去追求某女生,尽管目前还是相当的没有自信,且早将自己这方面定性为小学未毕业的水平,豁出去去做吧,特别是要让那该死的理性和面子滚一边去,给自己半年到一年的时间,大家多鼓励我吧,本人第一次这样的表露心机;
4)本来计划要让父母在我临毕业时来北京一趟的,上次电话探了下口风,估计难成行,等到国庆吧,顺便安排去内蒙堂哥那里一趟。
最后,我发现我已经习惯了作计划,按计划办事,答辩完后这几天,除了上班,没给自己设定什么任务,结果有些漫无目的,没过出效率和质量来,于是以后还是坚持多做计划吧。
绝境?悬崖?绝境逢生、悬崖勒马 OR 一无所有、无地自容?
<更新>
答辩后更新:前两条貌似被我个人主观的夸大了,被重新送审的论文第二天就回来了,且态度180°大转变(其实我没修改什么,附带了一个说明),今天的答辩过程也比较顺利,且把一些疑问都归到了我的陈述表达上(算了,表达不好我也认了,别归在其他方面就好),后面的提问回答大有力挽狂澜之势,另外不厚道的对比了其他同学的,心想应该不至于垫底了吧,囧。剩下的应该就是一些修修补补和材料准备的事情了,算完成一件心头大事。
另外,今天下午,了然打来电话说公司给我准备了生日蛋糕,真是乌龙了一把,本人生日还没到啊,呵呵,不过赶上儿童节,又是答辩刚结束,三喜临门一下吧。不过可惜了蛋糕,今天没去公司,到明天都坏了。。。
明天开始上班,堆积了好些事情了,重新集中精力做好工作上的事情。
稍微有个不好的消息,上了下水木,看到一个帖子,说一个哥们户口复审挂了,一看他的回复,跟我居然同专业!!!。。。这事儿顺其自然吧
</更新>
粗略的回忆了一下我这二十多年的人生,实在是找不出比目前更严峻更令人窒息更接近崩溃的状态了(或许几天后会有),罗列一下造成这种状态的原因:
1.匿名送审有一篇要重审,而且来得比正常状况要晚了一个星期,看了评审意见,更想**,对我的文章有比较深的误解,而提出的修改意见和质疑全都是在他的理解之上的,要迎合他的意见去修改,这几乎意味着我一年多来的思考要重新来一遍。时间相当紧迫,导师让我最好今天就送出,两三天后能返回来,赶上1号的答辩。
2.答辩日期比我预期提前了半个月的样子,程序仍然在白热化状态,且预感有些收不住,怕之前做那么多,然后只能草草收场,再然后自己跌份子,去求检查程序的老师什么的事情发生,第一条的意外更加重了这种可能性。
3.公司的事情给我的压力也达到了去公司后的峰值,且一直在高位运行,最近的突发需求也较多,任何闪失我都得考虑到,负责任,所幸目前没有出什么问题,内容那边习惯性的错误也都被我手工修正过来了,但以后呢,目前的这种状态让我感到有些不稳妥,但又有些无奈。
4.常规压力——户口一丁点儿消息也没有。
5.外公病危,在这种状态下,我不得不还需要做好还可能失去一位至亲,但无法回家的准备。
6.其他的事情已经称不上什么了
失去这些的话,我还有什么?毫无疑问,这种状态是结果导向的,每一个坏的结果足以给我一记重拳,一支刺入我心脏的毒箭。但另我自己都意外的是内心居然还保持着平静,人这个时候是最容易自责和责怪他人的,去怪自己怎么答应做这个连自己都始终觉得不那么顺畅的毕设?怪自己怠慢太久,咎由自取?怪其他人。。。这些都是无意义的了。选择了就要去承担选择所会带来的任何后果,好吧,这些会让我一无所有,让我延期,让我丢掉户口,让我工作上出错甚至丢掉工作,让我再次体会失去至亲的痛,那之后呢?命运,上天,你还能从我这里拿走什么?想再拿走?门都没有!
分析一下上面的事情,有些是我无法改变的,如4和5,剩下的我仍然可以改变,但要完成质的改变,对等所需要付出的代价也可想而知,那么去做吧,一周之后对我的努力和决心见分晓!
本人的发热报告和三院见闻
从5月1号开始,本人身体一直有恙,并于昨天(16号)察觉并确认了发热症状,校医院量体温38.5℃,建议我去三院做一下血检,排查一下H1N1的可能性。为了万一确诊的话,不影响他人,决定自己骑车去。本身就四肢无力了,骑过去那叫一个累(更可怕的是回来的时候已经刮大风了,差点没坚持下来)。
到三院快4点了,挂了号测体温,周围都是发热的病人,顿时觉得自己不是那么另类了,比较囧的是第一次由于我自己乱动,体温计没放好,护士看了说“你没烧啊”,我急了:“我真发烧了”。于是让我重测,38.6℃,于是开始做血常规检查。有几项值偏高,但我也看不懂意味着什么,等待大夫的传唤。这个过程中发生了两件事情,一件挺逗,一件挺爆炸性的。挺逗的事情是一哥们坚持怀疑自己的症状和H1N1一样,但大夫说不是,情急之下居然报警了,说大夫的诊断不负责任。警察赶到(天亮请睁眼),不了了之。挺爆炸性的事情是发现了一例**(还是不用疑似好,散布谣言的罪名我承担不起)!!!一位从洛杉矶回来的大爷的症状和血常规结果被怀疑是具有初步的可能性(据护士说该大爷开始并未承认自己是从美国回来的。。。),而我最近的时候离他只有2米远(当然带着口罩)。一会CDC(疾病控制中心)的专家和警察都赶到了,穿着生化服进入了隔离病房,后面的事情我就不知道了,至少今天的新闻媒体还没有相关报道(倒是确认了一例)。
再说说本人接下来的事情,诊断结果为扁桃体发炎(本人声音一直异常了半个月),我想快点好,要求输液治疗,大夫问我对头孢类药物过敏不?我都不知道头孢啥意思,说不知道,让做皮试,但把药全开了,病人在医生面前还能干啥?主动配合呗,这就为后续事情埋下了伏笔。买药共花去46.10(幸好校医院大夫交待三院药贵,能不在那里用药就不用,但三院的规定是第一次输液必须在三院进行。皮试的结果是阳性,不适合使用该药物(大夫说这个要今天第三次阳性了。。。不知道是不是诚心的)。让我换药,口服药。之前的药不退,然后我接着掏钱买新药。我抄~!这是哪门子搞法,不知道先做皮试,通过了再让我买药啊,幸好我坚持只买了第一次用的药,要不亏大发了。后来去拿口服药的时候,我心里就想把我之前买的药拿回来,自己扔了也行。于是去要,护士说不给,振振有词说医疗垃圾不能交给病人,我当时就想补一句“你们真的会当作垃圾处理吗?”,无奈我被折腾得快有气无力了,看那架式也争不会个什么来,甩了个不屑的表情走人。各位看官,提供三个选项,看看哪个可能性更大?
1.进行垃圾处理
2.重新入库
3.护士扣下来,卖个外面的药店
回来后再去了趟校医院报告病情,告诉这边的大夫说我没事,得知我第一次买的药被扣之后,校医院的大夫都忍不住低声骂了两句(还是咱校医院的大夫亲啊)。到今天早晨,量体温,已经正常,扁桃体炎症也有所缓解,但身体还没有完全恢复,这段时间得对自己好点了。
话说久病成医,我分析了一下我这漫长的生病过程,大体是这样的:5月1号放假,当然想休息,一大早起来看火箭的比赛,从床上坐起来,没加衣服,到下午感觉到了感冒的症状,没太当回事,以为睡一觉就好,3,4号的时候加重,嗓子很难受,仔细核对了猪流感的症状,告诉自己说只要发热了我就去医院。那几天一直都在实验室呆着(昨天去医院把笔记本撂实验室才发现那儿的灰尘不是一般的多,实在不是人呆的地方),反而诱发了呼吸道感染。接着还是以为嗓子的事情过个几天应该会好的,但没想一拖就是半个月,并有此引发炎症,引发了发热等症状。而前一段时间工作上的压力也比较大,总之各种不利因素堆积到一起,形成了我这次漫长的生病过程。教训显而易见,希望对各位有帮助