积累日常生活的点滴,开发过程的心得。

超级垃圾的铁通,珍爱生命,远离铁通

 家里装了一个铁通,以前一直用modem拨号上网,后来想两台电脑同时上网,买了个路由器,结果发现,用路由器死活上不去,经过分析路由器日志,发现铁通用了网络尖兵之类的东西限制路由器上网,打电话找客服,结果客服就是反复狡辩他们没有限制路由器上网,只是认为路由器上网会影响网络连接,做了不要紧,恶心的是做了还不承认,中国的公司一个赛一个的不要脸,到期坚决取消铁通了,这种公司趁早倒闭。

api key

1d1283ee00e0882692243ef57f73288f

30ef6f64be45ad8192818be5ba6d566c

Introduction

To send Push notification to an application/device couple you need an unique device token (see the ObjectiveC page) and a certificate.

Generate a Push Certificate

To generate a certificate on a Mac OS X:

在越狱后的IPhone上面部署APP

好久没有写博客了。最近在做Iphone的开发,所以写一下无需购买苹果的License将App部署到越狱后的Iphone上测试。

 

参考了一些网上的文章。

1.用Mac OSX的Key管理工具创建一个Login类型的iPhone Developer证书,

2.首先打开要部署的工程,添加用户定义的设定

PROVISIONING_PROFILE_ALLOWED = NO

PROVISIONING_PROFILE_REQUIRED = NO

3.再用Property List 打开”/Developer/Platforms/iPhoneOS.platform/Info.plist”文件,将所有“XCiPhoneOSCodeSignContext”替换为“XCCodeSignContext”

4.然后找到你项目的xxx-Info.plist文件,添加“signerIdentity”项,其值为“Apple iPhone OS Application Signing”.保存。

科学家和工程师的区别

最近在看H.264的KTA的程序,KTA的程序基本上都是搞科研的人写的基于JM11.0,看科学家们写的程序真是叫吐血呀。

我在看的一个函数写了2000多行。If else嵌套了几十层,中间还夹杂着10个条件编译指令。

另外一个函数超长的函数,也有2000多行,我用文本比较工具比较了一下这两个函数,发现85%以上都一样,

证明这个函数是Copy Paste之后的产物。而且程序里面全局的变量数组魔术字漫天乱飞,不同文件里面的数组定义

都不一样,没看几天就发现了好几个明显的Bug。

估计因为程序写得太垃圾了,找工程师重写了JM绝大部分代码,所以JM17的代码看上去好多了。

修改按钮文字颜色

Delphi的TButton虽然提供了Font的属性,但是更改Font的Color不会改变显示字体的颜色。

要想改变字体的显示颜色,必须使用TBitBtn

 

现在的方便面,太难吃了

这两天试验了几种方便面,今麦郎,康师傅,农辛拉面,真tmd难吃死了,再也不买了。

脑残的Maven

不记得Antlr是从3.x?开始使用Maven代替Ants来创建Build脚本了。第一次用Maven就觉得这东西怎么这么麻烦,看了好几篇又臭又长的教程,折腾了2天,我愣是没弄明白怎么用。Ants就已经比较脑残了,用XML来实现脚本的功能。Maven更加是脑残,比Ants还要笨重好几倍。

最近看到Antlr作者写的blog,在Antlr4开发前,他也许是被Maven折磨得不行了,终于承认Maven过于复杂,笨重,要重新回到Ants。同时也将以前Hudson持续集成服务器也关了。这事让我觉得好多鼓吹Maven或者类似的buzzword的人说不定就是想装B,不过千万别被雷劈,成了SB。

 这里一片文章《辩论:Maven是正确的构建工具吗》写得很好,骂得很痛快

99

慎用Jcl的线程安全模式

今天在调查一个多线程死锁的问题,最后发现是Jcl的容器类的ThreadSafe部分代码导致的,

没时间仔细研究它的线程排他的实现的问题,感觉Jcl的多线程好像老是有莫名其妙的的问题。

感觉好像没怎么仔细测试就拿出来了,tnnd。自己搞了个简单的线程互斥就好了。

减小Delphi2010程序的尺寸

因为Delphi2010中引入了新的RTTI反射机制,会导致编译出来的程序很大。禁用RTTI反射可以减小文件的尺寸

在工程的Uses语句前添加下面的定义就可以禁用RTTI反射

{ Reduce EXE size by disabling as much of RTTI as possible (delphi 2009/2010) }
{$IF CompilerVersion >= 21.0}
  {$WEAKLINKRTTI ON}
  {$RTTI EXPLICIT METHODS([]) PROPERTIES([]) FIELDS([])}
{$IFEND}

 

参见http://www.zipplet.co.uk/index.php/content/articles_programming_delphi2010rtti

同步内容