2010年7月30日

在7月的尾巴,买到了程序员7月号。其中有一篇文章很吸引我“激发企业创新力:内部开源”.

 

其内容主要是讲作者通过观察开源社区的工作模式,将其引入到企业中来。加强团队的开放度以及创造力和凝聚力。如果感兴趣的可以找找程序员7月号看看,或者直接看原著《beautiful teams》,杂志上是书籍摘选。

 

最近对于团队开放以及气氛很是关切,因为不同的部门工作的经历真是让我感到几乎天壤之别。

在刚到公司部门A的一个月左右,我发现部门内部气氛压抑,毫无创造力,沟通不利,相当封闭。于是我写邮件发给部门领导人,正是询问部门主管我们是否可以开源方式的运行我们的内部项目以及框架。可能是我长的天生猥琐,部门总监一定是把我当成个骗子来骗取公司代码,拒绝了我,继续维持原来的运行方式。后来也反思,是不是自己的方法不对,也没有深入追究。这里并不是埋怨什么,在当前KPI的强大压力下,完成任务就已经谢天谢地,谁还有精力照顾这些。都不容易

 

后来去了部门B,这里开放很多,这里虽然不是想问中“开源"模式,但是恰恰具备了开源模式的三点很重要的因素:代码访问权,文档访问权,代码记录访问权。这给人的感觉很美妙。

 

团队建设并不是那么简单,往往都是一些细节,小事情却造成了很大的区别,都在喊着开放,做到真的不容易。

posted @ 2010-07-30 21:09 老三 阅读(1537) 评论(6) 编辑

2010年7月28日

今天把博客的副标题改成了记录无知的地方,那以后就不怕丢人,尽量把所有的无知都记录下来。这才带劲。

 

早在几年前,貌似是4年前吧接触的.NET,直接上手的是.NET2.0. 随后就信誓旦旦,专注于.NET决不动摇,甚至鄙视其他语言,深钻c#,准备大干一场。

 

现在想想,挺可笑。

 

首先是视野问题,忘了是哪位大神说过,他每次技术上面的瓶颈都是视野的原因。视野的重要性我也不太会谈,举我自己的例子,我是一个windows程序员 ,对我影响很大的却是《Unix 编程艺术》,《重构》以及 unix 哲学,如果我再跟当年神经质似的专注于.NET,恐怕影响我最大的怕会是《c# 高级编程》?

 

其次,我当时“专注”的原因在于我怕学习其他的影响了学习.NET的进度以及效率。没有比这个更二的想法了。

都是编程,写程序,函数式语言,动态语言,可以扩充编程思路。平台框架我最初是ASP.NET程序员,想想webform,有点扯淡,以至于ASP.NET MVC,都也是社区早就有的玩意。我当然不是说.NET不行,还是很行的,像Linq.

 

 

今天看到了一篇文章:怎样练习一万小时http://www.geekonomics10000.com/519.文中提到,各个领域,培养出世界级的高手只要练习一万小时,当然要配合着好的方法,科学的练习计划。类似的说法我听过,貌似是在笑来老师的书《把时间当作朋友》里面,我很赞同。

文中提到了一点很有趣的是:练习的时候,练习自己不熟悉的、自己搞不定的才会有进步。这听起来貌似是废话,但是这却是自学时很容易忽略的一点,也是非常难以做到的一点。因为,你在练习你不会的,不熟悉的东西的时候,会有不爽的感觉,由于天生的自我保护,人都会主动回避这一部分,漫长的坚持本来就非常的困难,加上“自我保护”,这就难上加难。

 

写程序,都是自学出来的。那么自学的方法就非常关键,每天编程10小时,3年就可以成为顶级高手。真是诱人。可是如何计划,如何摆脱自己内心对于自己的束缚,这真的很难。

posted @ 2010-07-28 15:18 老三 阅读(68) 评论(2) 编辑

2010年7月16日

 

 

[DebuggerHidden]
        IEnumerator<string> IEnumerable<string>.GetEnumerator()
        {
            if (Interlocked.CompareExchange(ref this.$PC, 0, -2) == -2)
            {
                return this;
            }
            fuckleo.<ToString>c__Iterator0 iterator = new fuckleo.<ToString>c__Iterator0();
            iterator.source = this.<mce_markergt;source;
            return iterator;
        }

 

 

 

这个-2 是怎么回事,现在累了,记录一下回头解决
posted @ 2010-07-16 18:01 老三 阅读(58) 评论(0) 编辑

2010年6月13日

编译调试mono,并不复杂,首先在   http://www.go-mono.com/mono-downloads/download.html 下载源代码.

 

下载之后,按照 http://www.mono-project.com/Compiling_Mono_From_Tarball 所说的进行编译安装。(可以通过设置 ./Configure 的 --prefix=dirname 参数来指定安装目录。)

 

如下操作:

gdb mono

结果:

 

Reading symbols from /home/liulijin/monosvnbuild/bin/mono...done.
Mono support loaded.
(gdb) break mono_main
Breakpoint 1 at 0x80b3d0c: file driver.c, line 1291.
(gdb) run ~/cs/y.exe
Starting program: /home/liulijin/monosvnbuild/bin/mono ~/cs/y.exe
[Thread debugging using libthread_db enabled]
Breakpoint 1, mono_main (argc=2, argv=0xbffff424) at driver.c:1291
1291 setlocale (LC_ALL, "");
(gdb) print argc
$1 = 2

Reading symbols from /yourfoldername/bin/mono...done.

Mono support loaded.
(gdb) break mono_main
Breakpoint 1 at 0x80b3d0c: file driver.c, line 1291.
(gdb) run ~/cs/y.exe
Starting program: /home/liulijin/monosvnbuild/bin/mono ~/cs/y.exe
[Thread debugging using libthread_db enabled]
Breakpoint 1, mono_main (argc=2, argv=0xbffff424) at driver.c:1291
1291 setlocale (LC_ALL, "");
(gdb) print argc
$1 = 2

 

通过源码生成的mono才有symbol信息,本来挺简单的东西,由于我不太熟悉linux环境,浪费了不少时间。。
posted @ 2010-06-13 13:48 老三 阅读(291) 评论(2) 编辑

2010年6月9日

在学校里的时候,我就不断尝试着从windows阵营出来,想到linux下面看看,不知道为啥这家伙会有那么多的铁杆粉丝。

 

之前尝试过suse,ubuntu,都已失败告终。对了,我还多次尝试Emacs,结果一样,现在都还没敢继续碰。最近不断接触linux相关东西,成功了。后来想了想,原因实际上挺简单,主要还是在学习曲线上面(当然,还有一个重要的原因,就是linux桌面的不断成熟,已经大大的降低了门槛,好比ubuntu10.04)。

 

Linux系统的学习曲线相对于windows来说坡度要高很多,我想这就是我最初几次都失败的原因。最开始,有很多问题我在linux下面不会弄,于是搞得非常的麻烦,本来在windows下面应该很简单的东西,在这里变得就这样麻烦。我心里很不爽,这次不同的是,我接受了这种小“麻烦”,继续使用这个系统,随着使用的时间增长,以前解决不了的问题,现在也能解决了。

 

编辑器方面我用的是Vim,因为Emacs的学习曲线,我没有考虑它。最初的时候,我只会最最基本的快捷键:hjkl$^#npu. 就是这样用下去,用了一段时间后发现离不开了,逐渐的开始认识的更多了,开始研究怎么写脚本,怎么映射快捷键等等。这样,就没有那种,怎么设置都不成功的痛苦感了。

 

实际这问题说出来特简单:一步步来,别指望一下子解决全部问题,边用边解决。

posted @ 2010-06-09 16:07 老三 阅读(224) 评论(0) 编辑

2010年6月3日

摘要: mono最开始使用的是Boehm-Demers-Wiser Conservative Garbage Collector,作为默认的垃圾收集器也是这个。后来mono有了自己的 Simple Generational GC , 就是 Sgen. 从邮件列表中的一些测试结果来看,这个Sgen的时间效率已经和Boehm非常接近,内存方面更加优秀。文档地址:http://www.mono-project....阅读全文
posted @ 2010-06-03 16:09 老三 阅读(74) 评论(1) 编辑

2010年6月2日

摘要: 记录一下:mini/driver.cmono_main():Mono 执行顺序mono_gc_base__initmono_debug_initmono_config_parsemono_assembly_openmono_runtime_exec_managed_code(SubThread)mono_thread_handler -> mono_thread_managemono_met...阅读全文
posted @ 2010-06-02 17:03 老三 阅读(67) 评论(0) 编辑

2010年5月8日

摘要: 最近项目中经常用到UTF8编码以及BASE64操作。于是有兴趣看看UFT8编码到底怎么回事。UTF8是Ken Thompson 和 Rob pike 两位大神完成的。具体的实际上有一个表就可以弄明白了:0XXXXXXX110XXXXX 10XXXXXX1110XXXX 10XXXXXX 10XXXXXX11110XXX 10XXXXXX 10XXXXXX 10XXXXXXUTF8编码1-4byte...阅读全文
posted @ 2010-05-08 21:16 老三 阅读(145) 评论(1) 编辑

2010年4月25日

摘要: ----------------------------------------------------2010-05-30 更新:最初遇到这个问题的时候,想到了由于unix系统的原因文件名大小写敏感导致了这个问题,这段时间看mono的源代码,找到的源码所在,更直观一些。mono的底层库用的最开始用的是eglibc,访问文件正式用的这个库。当然,unix标准的库,大小写肯定不能放过。加载程序集:文...阅读全文
posted @ 2010-04-25 20:23 老三 阅读(277) 评论(0) 编辑

2010年4月18日

摘要: Midguel最近Reflector出了6.0版本。加了很多的功能,还支持.NET4.0,还挺不错的。但是运行在Mono上面却有些问题。错误信息如下:** Message: Unknown heap type: {smartassembly}Unhandled Exception: System.InvalidProgramException: Invalid ILcode in Reflecto...阅读全文
posted @ 2010-04-18 11:07 老三 阅读(135) 评论(1) 编辑

导航

公告

怎么安排这一万小时的训练?
昵称:老三
园龄:4年7个月
粉丝:8
关注:4
<2012年2月>
2930311234
567891011
12131415161718
19202122232425
26272829123
45678910

统计

搜索

 
 

常用链接

我的标签

随笔分类(13)

随笔档案(20)

积分与排名

最新评论

阅读排行榜

评论排行榜

推荐排行榜