分享自己做的Kindle3交叉编译工具链

2015年12月28日 Terence 75 次阅读 没有评论

      最新突然兴起想要在k3上跑一些c/c++项目的程序,可惜光有源码没有编译工具很是头疼。找了一大圈Google就是没找到一个合适的现成的交叉编译工具链,不是Glibc版本过低,就是arm目标平台不符合,最后只好放弃这个偷懒的方法(其实已经算不上偷懒了,在找交叉编译工具链上已经花了大量的时间精力。。。),取而代之的方法就是直接源码编译交叉编译工具链呗。

      看了下网上关于工具链源码编译的方法还是挺多的,本着哪个方便就用哪个的原则,我发现了一个编译神器:crosstool-ng,这玩意儿本身也是需要源码编译,依赖bison gperf flex texinfo libtool ncurses-libs ncurses-devel gawk gcc gcc-c++ gcc-java glibc glibc-common libc-client-devel libc-client glibc-devel glibc-static glibc-utils (确切地说是编译GCC要用),使用方法照着文档说明就行,主要就是[......]

继续阅读…

分类: 开发技术 标签:

适用于Kindle 3 原生系统3.4.2 的Launchpad热键管理程序

2015年10月31日 Terence 285 次阅读 没有评论

      Launchpad是适用于Kindle 3的快捷键管理程序,就是以指定的键盘按键(或键盘组合)来快速运行特定程序或命令,它非常的实用且轻量,后台就一个常驻进程,内存占用小。可是自从原生系统更新到3.4.1后,Launchpad的安装包拷贝到Kindle根目录下后,“Update Your Kindle”这个选项始终处于不可选状态,表现的情况和当时我做的拼音输入法安装包0.4.1版一致,详情点击这里

      究其原因是由于3.4.1后Amazon更新了OTA升级包的版本标识,导致用了老的打包程序在新的固件系统上识别不出来。原理清楚后解决方法就很容易了,只要把原来的安装包解开,然后用新的打包程序生成下就可以使用了。可正当我打包完新安装包后,回头去看了下mobileread论坛,暮然发现原来那个发布Launchpad的帖子里已经有热心的朋友抢先在9月份就发布0.0.1d版本的新安装包了,更新说明和我现在做的如出一辙。好吧,看来我不用多操心了,直接放上论坛地址供有需要的朋友下载吧,帖子地址点击这里,下载文件lpad-[......]

继续阅读…

分类: 开发技术 标签:

[完美版发布!] Kindle 3 原生系统3.4.2拼音输入法完美版安装包[最新版本0.4.2]

2015年7月11日 Terence 1,285 次阅读 13 条评论

       由于百度Hi空间的寿终正寝,原来发在上面的关于kindle3原生系统3.4.1拼音输入法的帖子随之消失的一干二净,故不得不转载自己的帖子到自己的博客里了。吐槽下,本来好好的产品就这样被糟蹋了 :???:

*************************************************

2015.7.17针对kindle 3更新官方固件到3.4.2的说明

       距上次1月份官方固件更新到3.4.1后,今年的6月下旬又紧接着出来了3.4.2版,时隔5个月,虽然官方说这是一次普通的bug修复升级,但通过逆向分析更新包后发现实际上还是更新了有149个系统文件之巨,官网链接在此。不过好在这些更新并不影响拼音输入法0.4.2版的正常工作,已手工测试通过该版本的安装和卸载,请大家放心使用。

       需要提醒的是,在更新官方固件3.4.2的时候需要先卸载拼音输入法,否则更新固件时会报失败,具体安装卸载的方法见下面的说明。

**********[......]

继续阅读…

如何手动连接802.1x EAP证书加密WIFI

2015年2月25日 Terence 1,112 次阅读 1 条评论

首先声明一点:本文只是从实用角度来阐述如何免第三方工具连接通过802.1x EAP证书加密的WIFI,但并不以恶意地揣测第三方连接工具有多危险为目的。。。

PRE START:为什么要这么做

      其实我也不知道这么做的好处是啥,充其量也就是为了研究那些所谓的自动wifi连接工具的实际核心操作,二来也有想要一个相对纯净的系统的私心吧 ;-) 。 

SETP 1:提取证书

      这一步是关键,之所以网上基本上找不到手动方式连接通过802.1x EAP证书加密的WIFI是因为通常来讲,用第三方连接工具会帮你自动把所需要的证书导入到了你的系统中,但被标记为了不可导出私钥状态,因此你也没法获得到它。但通过Github大法一搜,还真被我搜到了一个项目,名叫jailbreak,通俗易懂,反正作用就是能够导出Windows下被标记为不可导出私钥的证书,这样一来最大的障碍就轻松扫除了,该项目从提交日志来看是近半年才开发出来的,所以在之前都是无法想像的事,不过有了这一工具后细细一想,越想越怕。。。是微软的漏洞么?

  [......]

继续阅读…

分类: 网络技术 标签: ,

MyEclipse一站式调试Maven Web项目

2014年9月13日 Terence 1,587 次阅读 没有评论

      之前使用Myeclipse开发完代码后,总是需要通过Maven程序打包成war包并拷贝到外部Tomcat的webapp目录下进行调试,Myeclipse去连接Tomcat的远程调试端口,感觉非常的麻烦。遂下决心一定要找到一个简便的,能在Myeclipse平台下一站式地开发和调试Maven Web项目。但网上对于Myeclipse一站式开发讲述的非常零散,在查阅了许多篇文章后,终于总结出了一个简单有效的方式,可以完全不用外部程序做到svn代码检出、Maven Web项目支持以及通过Myeclipse内置的Tomcat来调试项目。下面是详细的操作步骤:

环境配置

JDK 1.6

eclipse 3.6.2(有加载中文插件) + Myeclipse 9.1插件 + Subclipse 1.8.x插件(插件均以dropins方式加载)

Maven4MyEclipse + Myeclipse Integrated Sandbox Tomcat 6(Myeclipse 9.1均已内置)

两点需要提醒的

1、由于我使用了加载过中[......]

继续阅读…

WordPress数据库的一处性能优化

2014年7月22日 Terence 1,146 次阅读 1 条评论

      前几天发现博客的响应速度略有降低,除了经常被并发攻击所导致的线程等待原因外,隐隐觉得是不是在数据库方面还有提升的空间。因此打开了MySQL慢查询日志记录开关,记录查询超过1秒的SQL语句。经过一周的运行,当我再次打开慢查询日志文件时,终于有所发现,以下是日志文件的去重后部分:

/usr/libexec/mysqld, Version: 5.1.73-log (Source distribution). started WITH:
Tcp port: 4000  Unix socket: /var/lib/mysql/mysql.sock
Time                 Id Command    Argument
# Time: 140720  5:00:55
# [email protected]: twx[twx] @ localhost []
# Query_time: 1.421887  Lock_time: 0.026132 Rows_sent: 232  Rows_examined: 279
USE wordpress;[......]

继续阅读…

分类: 数据库 标签: , ,

Spring容器在Oracle JDK和OpenJDK中的类装载差异导致的自动装箱bug问题

2014年5月31日 Terence 287 次阅读 1 条评论

      一次偶然的机会,为了测试公司项目新代码需要,把svn上的代码检出到了一台新的测试机器上,机器上的环境都是自己通过yum安装的,本文发生的原因也是因此而起。

      在测试的过程中我点了一个链接,地址是http://10.69.67.203/exception/list/1 ,结果抛出了匪夷所思的500错误,报错内容如下(项目采用的是Spring MVC+Hibernate+Velocity架构):

org.hibernate.AssertionFailure: Interceptor.onPrepareStatement() returned null or empty string.
	at org.hibernate.jdbc.AbstractBatcher.getSQL(AbstractBatcher.java:490)
	at org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(Abstrac[......]

继续阅读…

分类: 开发技术 标签: , ,

VAMT 3.1独立版下载

2014年5月27日 Terence 191 次阅读 没有评论

      玩过微软MAK key的同学一定知道VAMT这个工具吧,它的全称是Volume Activation Management Tool,本意是微软专门为企业开发的批量激活管理工具,现在主要用来个人检测微软密钥的可用性和激活次数,包括的产品有Office套件系列、Windows系列等。需要注意的是MAK key只能用来激活标有vol的微软产品,而对rtm产品无效,其实实际上vol和rtm仅仅是软件授权方式上有区别,在功能和版本上没有任何的区别。

      老的VAMT版本不能检测新的微软产品密钥,例如,VAMT 2.0最多能支持到Office 2010和Windows 7,VAMT 3.0最多能支持到Office 2013和Windows 8,而VAMT 3.1则能支持到Windows 8.1以及Windows Server 2012 R2。当然高版本的VAMT能够向下兼容老版本的微软产品密钥。

      但抓狂的是自VAMT 3.0起,它的安装包就不再是一个独立的版本了,取而代之的是[......]

继续阅读…

分类: 随便写写 标签: ,

Chrome进行大小写字符敏感的内容查找

2014年4月8日 Terence 371 次阅读 没有评论

      用过Chrome内容查找功能的人都知道在搜索英文字符串的时候它是不区分大小写的,这对于经常检索代码关键字的人来说这是非常不方便的。比如搜索“Hello”的时候会把“hello”等相关无用的字符串都给标记高亮了。

      当然解决方法是有,就是会麻烦些,我们通过自定义js书签的方式变相实现了该功能。首先新建一个书签,名称随便写,网址栏填入以下js代码:

javascript:(function(){var text=prompt('Search for:','');if(text==null || text.length==0)return;var spans=document.getElementsByClassName('labnol');if(spans){for(var i=0;i < spans.length;i++){spans[i].style[......]

继续阅读…

分类: 开发技术 标签:

Hibernate中变通使用Criteria API对自定义SQL表达式列进行排序操作

2014年3月31日 Terence 489 次阅读 1 条评论

      先说一些题外话。众所周知,在Java持久层中有三种查询方式,分别是SQL、JPQL、和Criteria API。

一、SQL

      这个很好理解,一般小项目并且对安全性、效率性和灵活性没有特别需求的都会采用这个最原始的方法:

// 获得实体管理器
EntityManager em = ...
// 建立SQL查询
String getByFirstName = "SELECT * FROM contacts c WHERE c.first_name = ?1";
// 创建查询实例
Query query = em.createNativeQuery(getByFirstName, Contact.class);
// 设置查询参数
query.setParameter(1, "John");
// 获取结果
List contacts = query.getResultList();

上面的例子告诉我们3件事:

1)[......]

继续阅读…

分类: 开发技术 标签: ,