Nexus S吃上KitKat,满血复活(cm11+刷机方法)…

Nexus S吃上KitKat,满血复活(cm11+刷机方法)…

CM11 官方ROM已经发布,请关注:http://download.cyanogenmod.org/?device=crespo
用Nexus S已经3年了,眼看着壮士老矣,卡到毙..该退休了..

Android 4.4  KitKat出现了..当然,当年的二太子已没有了往日的特权,无法再获取官方的更新,可是多个第三方Rom还没有忘记他,现在已经有多个4.4 的Rom出现。

这里跟大家分享这个基于Cyanogenmod有xda上大神们贡献,目前还在不断更新的 [ROM] [CM11] [UNOFFICIAL] Crespo Nightly Kangs [Kitkang] [cherry-pick]。

这个Rom几乎没有什么明显Bug,运行起来非常流畅…

big-6

nexus_s_4.4

这里是xda的页面地址:http://forum.xda-developers.com/showthread.php?t=2548222

ROM发布和下载地址:http://fitsnugly.euroskank.com/?rom=cm11&device=crespo

当然,或许你还需要刷入最新的4.4的Gapps,这里给一下下载的地址:http://d-h.st/EIM

nexus_s_4.4

我的Nexus S复活了,快试试吧…

简单刷机步骤:(这里都给出官方下载,保证最新)
1.下载ROM
这个是每日更新版,选择最新的版本下载cm-11-YYYYMMDD-****-crespo.zip,
 http://fitsnugly.euroskank.com/?rom=cm11&device=crespo
如果你目前使用的是cm-10.2/1,请把下载的rom zip包放在手机的cmupdater目录下,否则随意。
2.下载recovery(recovery-clockwork-6.0.4.3-crespo.img),下面页面进入,选择nexus s :
http://www.clockworkmod.com/rommanager
或者直接点击:http://download2.clockworkmod.com/recoveries/recovery-clockwork-6.0.4.3-crespo.img
3.刷入recovery,没有新意,具体请参照其它教程贴。
4.如果你目前使用的是cm-10,那么直接进入系统设置—关于手机—cyanogenmod 更新–选择你最新下载的cm-11-YYYYMMDD-****-crespo.zip,安装重启。
5.如果目前使用的不是cm-10.或其他slim等基于cm的rom,重启手机,电源+音量上进入recovery–>备份–>wipe userdata–>wipe cache–>刷如zip包–>在sd卡上选择cm-11-YYYYMMDD-****-crespo.zip.
6.重启手机
7.如果需要刷入Google服务包,在上面找到下载地址,下载, gapps-kk-20131031.zip放在手机里。重启手机进入recovery,选择刷入zip包,cm11需要的是android4.4 Google服务包,必须要升级,否则,Google paly无法连接,各种FC….

链接

CM-10.2更新后Google服务无法连接及FC问题解决

CM-10.2-R1已经发布,当然那些喜欢CyanogenMod 或者喜欢尝鲜但得不到官方升级的筒子们早就在Nightly版早就体验到4.3了。

可是对于从CM-10.1或者其他升级不想删除原有数据的用户,Google 的服务会出现罢工的问题:Google play无法连接,Google play music,Google keep,Google hangouts等应用频繁出现“已停止运行”,而且无法打开,这里将告诉你解决方法,以后的升级亦可。

首先,你需要升级googleapps,因为gapps已经陈旧了,必须刷入新的gapps,最新的gapps地址在这里:http://goo.im/gapps,
选择对应的CM版本和gapps版本下载,使用兼容的recovery刷入下载的zip包,不需要wipe数据。

CM 10.2.x 4.3.0 20130813
CM 10.1.x 4.2.2 20130812

 

recovery 最新版可以在这里下载:http://www.clockworkmod.com/rommanager

cyanogen

Neuxs S Download ROMs:     6.0.4.3      6.0.4.3
接下来,你需要重新安装一些应用,因为前提不想wipe数据,那么卸载fc的应用,重新安装,搞定!

如果图省事,你可以选择恢复出厂,删除Google帐号,wipe用户数据亦可解决,但操作起来还是麻烦点。

另,CM11已经在开发中了,古董机器必须Nexus s有福了….

Ubuntu12 一步步安装配置(系统,FTP,TELNET..设置)

Ubuntu12 一步步安装配置(系统,FTP,TELNET..设置)

最近重新安装了Linux 操作系统,发现一些常用的配置又忘记了,需要一个个的重新google查阅进行设置,今天把我个人的操作记录下来.

这是我的几个步骤,由于记录时简单用E文写的,就粘上来了:

  1. install ubuntu linux os using U-DISK beside Widows 7 ,Warning: choose  the place where  grub.cfg  should  locate in.
  2. wlan drivers, maybe you need to connect to an available wried network, download and install the driver,and then active it.

  3. Disable the guest session.

  4. Setting the ftp and telnet server.

  5. Set up Root account.

linux logo

具体描述一下:

1.使用U盘安装,首先制作好USB启动盘,由于PC比较老(2008年的机器),设置还小麻烦;如果安装windows 7 和linux双系统,首先需要装Windows ,否则需要修复BCD,挺麻烦。不要把Boot选择到你的U盘分区,否则..,每次要进Ubuntu还需要那个U盘。

2.安装好了,没有无线网卡驱动,还需要联网获取,如果有线网也不能用,那就要手工找了,电脑也该换了,因为太老了..

3.登录系统,禁用客人会话( guest session),具体方法很简单,在etc/lightdm/lightdm.conf 添加

[SeatDefaults]
greeter-session=unity-greeter
user-session=ubuntu
allow-guest=false

Ubuntu14.04禁用客人会话 更改配置  /usr/share/lightdm/lightdm.conf.d /50-unity-greeter.conf

[SeatDefaults]
greeter-session=unity-greeter

以前我写过这个方法:https://www.gigiwangs.com/archives/564。有些网站明明从这里复制的,还..算了,毕竟自己太菜…

4.安装Telnet和Ftp服务端程序

sudo apt-get install telnetd
sudo apt-get install vsftpd

这个在Ubuntu下安装太简单,几乎不需要任何设置就可用,Fedora就不一样,Selinux,防火墙都要设置,这里也没有了..

5.启用Root用户,Ubuntu 12是默认禁止root登录的,把它启用吧..这个也很简单:

sudo passwd root

6.安装一些常用软件和库…..

AIX db2嵌入式SQL(sqc)编译

AIX db2嵌入式SQL(sqc)编译

编译SQC

使用C语言编写嵌入式SQL以访问DB2的程序,DB2预编译器可以将SQL语法直接转换为DB2行时服务应用程序编程接口(API)调用。

bind的主要作用是根据SQC中的SQL语句使用的表和操作指定访问时DB要使用的策略,是一种优化作用,以加快数据访问的速度。

aix_sqc 编译

 

预编译命令:

db2 prep *.sqc bindfile

bindfile参数作用是生成和sqc文件同名的.bnd文件。

接下来就和一般的C程序一样进行编译了,来看看这个简单的Makefile,AIX 编译64位的应用。

CHMOD =chmod 755
RM =rm -f
#export OBJECT_MODE=64
DB2_HOME=/opt/IBM/db2/V9.1
CFLAGS=  -q64 -qchars=signed -I.  -g -I$(DB2_HOME)/include
LDFLAGS = -b64 -g -L $(DB2_HOME)/lib64 -ldb2
DB2 =db2
BINHOME=$(HOME)/batch/bin

CC= xlc_r

#DB CONFIGURE
DBNAME = db2name
USEID = db2user
PASWD = db2pswd

ALL =$(BINHOME)/ApsBatchWS
all:$(ALL)
.SUFFIXES:
.SUFFIXES:.sqc .cpp .c .o
OBJS = dbcons.o serv.o util.o log.o flow.o

.sqc.o:
        $(DB2)  connect to $(DBNAME) user $(USEID) using $(PASWD)
        @$(RM)   *.bnd $*.c
        @$(DB2)  prep $< bindfile
        @$(DB2)  bind $*.bnd
        @$(DB2)  connect reset
        @$(DB2)  terminate
        @$(CC)  $(CFLAGS) -s -c  $*.c
.c.o:
        $(CC) -c $(CFLAGS)  $<
.cpp.o:
        $(CC) -c  $(CFLAGS)  $<

$(ALL) : $(OBJS)
        $(CC) $(CFLAGS)  $(OBJS) $(LDFLAGS) -o  $@
        $(CHMOD)  $@

clean:
        $(RM) *.o dbcon.c dbcons.bnd $(ALL)

看这里还有好多的例子:点击这里查看

sqc的编写方法这里就不再赘述,相关的文章已经太多了。

 

植物大战僵尸2可能引发Android mediaserver服务耗电问题

植物大战僵尸2可能引发Android mediaserver服务耗电问题

–更新注:文章所提“植物大战僵尸2”为中国宝开官方特制版,非Goolge Play的官方版本。目前(20131025 Google play 现已发布)还未测试该版本。

这是一个讨论贴,而非技术流,究竟什么是mediaserver,为何会被触发,又是如何这么耗电,这里不做详细讨论。简单了解一下什么时候这个服务会开启?

大家可以多使用google搜索,找找答案,多思考分析,一起交流分享。

简单的说,当你使用任何媒体服务都有可能需要这个mediaserver服务,如果使用某些App,听音乐,看视频,使用OTG外接设备,都有可能唤醒这个服务,更有可能某些app无故开启此服务,并使其保持运行状态,这种流氓行为才真令人深恶痛绝…

mediaserver take away battery.
mediaserver take away battery.

《植物大战僵尸2》已经发布,准确地说是中国版的植物大战僵尸,其不是通过Google play发布,而是各种奇怪的途径。笔者在Nexus 7(2g)该游戏之后,发现平板的续航大大下降,而后发现Mediaserver在后台一直运行,耗电量达到30%以上。由此推断《植物大战僵尸2》中国版是引发mediaserver后台耗电的元凶。

如果也遇到Nexus7耗电突然增多,考虑一下最近是否安装了《植物大战僵尸2》这款游戏;本文系作者个人观点,如果您认为原因不在此,欢迎指正。

Google Play 版本:Plants vs. Zombies™ 2

关于Google Nexus 7(二代) 外设的那些事

关于Google Nexus 7(二代) 外设的那些事

首先,无需Root,Nexus 7是直接可以连接鼠标和键盘的。虽然很蛋疼,但确是支持的,仅需一条OTG数据线,这点是靠谱的。
那么,U盘或者移动硬盘呢?你可以选择Root,也可以不Root。尽管Nexus 7已经有16G或者32G更大的存储空间,但是偶尔需要直接读取
移动存储中的照片,电影等文件,那么可以在未Root的Nexus 7使用 Nexus Media Importer(收费软件,也有对应免费版本),如果Root,可以选择StickMount。在Google play上搜索或者搜索OTG,这样的软件一大堆。安装之后,按照提示,使用任意文件管理器便可轻松搞定移动外设的文件管理。

nexus7

无线网卡呢,当然也可以!使用 PPP Widget ,这是一款无广告无添加的免费软件,使用条件是Root,系统低于4.3.
Andr​​oid 4.3用户:似乎有谷歌内核模块加载禁用! PPP Widget可能会停止工作!要怪就怪谷歌。

点击这里查看:Nexus Media Importer

点击这里查看:StickMount

点击这里查看:PPP Widget

稍后会在分享一下Nexus 7的好软件,有些没有经过专门优化,可能在Goolge Play无法搜索到,因此也不列出。

AirDroid | Your Android, on the Web.

Google 日曆 | Gmail|Google Maps

Evernote

Flipboard: Your News Magazine

Any.DO待办事项列表 | 任务列表

Dropbox

Nexus Media Importer

Pocket 

………

几款优秀RSS阅读器-个人推荐

几款优秀RSS阅读器-个人推荐

Google Reader究竟还是死了,但是阅读还要继续的。但好的消息是,Google Reader关闭后同类Rss阅读器市场一片繁荣。现在推荐几款个人喜欢的Rss/杂志阅读器,希望对大家有所帮助,–会更新…

rss

1.Feedly

feedly

   Feedly用户体验还不错,无论Web还是App,支持各种网页浏览器和运行iOS或Android的移动设备,也是一个基于云端的服务。其从各种在线资源聚合用户自定的新闻订阅源,并可与他人分享。使用Google帐号登录,无需注册。(存在被墙的问题)

  • 开发者: DevHD
  • 初始版本:2008年
  • 平台: Web,iOS,Android
  • 类型 :新闻聚合器
  • 网站:http://cloud.feedly.com

2.AOL Reader

AOLReader

 AOL Reader 目前还没有Android或者ios平台的APP,web页面也是beta测试版,但体验不错,方便快捷。

 

 3.Digg Reader

digg

Digg Reader也是不负期望的一个产品,可以使用Facebook,twitter以及Google帐号登录。

  • 开发者: Digg
  • 初始版本:2013年
  • 平台: Web,iOS,Android
  • 类型 :新闻聚合器
  • 网站:http://digg.com

 

4.Filpboard 

Flipboard

   Filpboard 几乎没什么可说的,移动杂志界的绝对佼佼者,针对中国大陆推出有中国本地化的APP,最近国际版的更新似乎已经无法在中国大陆区捕捉Facebook,Twitter,Google+的信息流.

  • 开发者: Filpboard
  • 初始版本:2011年
  • 平台: iOS,Android,Chrome 插件
  • 类型 :新闻杂志
  • 网站:https://flipboard.com/

5.Google Currents/Google Play Newsstand

Google Play Newsstand

 

Google Currents 和Google Play Magazines合并成为 Google Play Newsstand,已于2013年11年21日在Google play发布,看了下原来的Google Reader还保留在Currents中,现在可以直接同步订阅到Google Play Newsstand,何必呢,Google?Reader被谋杀之后,还有人会钟情于Google Play Newsstand吗?看看最近表现吧..

  • 开发者: Google
  • 初始版本:2013年(Play Newsstand)
  • 平台: Android
  • 类型 :新闻杂志
  • 网站: https://play.google.com
exFAT文件系统不可写问题修复

exFAT文件系统不可写问题修复

背景: exFAT 是为解决FAT32等不支持4G及其更大的文件而推出的一种兼备fat和NTFS文件系统特点的文件系统。
我的移动硬盘格式化为exfat原因有:

1. 支持单个大于4G文件的读写。
2.需要在Mac和Windows两种不同操作系统写使用读写,Mac是支持写入Fat32和exFat的,但不能写NTFS.

但是一段时间就出现了移动硬盘只能读,不能写(删除,修改)的问题,起初以为移动硬盘问题,搜索后解决:

在Windows 命令提示符(CMD)敲入下列命令:
chkdsk G: /f
G:为移动硬盘分区盘盘符 /f 参数为修复错误

来学习一下这个命令:

修复磁盘上的错误
CMD:Chkdsk

D:\>chkdsk /?
检查磁盘并显示状态报告。

CHKDSK [volume[[path]filename]]] [/F] [/V] [/R] [/X] [/I] [/C] [/L[:size]] [/B]

volume 指定驱动器号(后面跟一个冒号)、装入点或卷名。
filename 仅用于 FAT/FAT32: 指定要检查是否有碎片的文件。
/F 修复磁盘上的错误。
/V 在 FAT/FAT32 上: 显示磁盘上每个文件的完整路径和名称。
在 NTFS 上: 如果有清除消息,则显示。
/R 查找损坏的扇区并恢复可读信息
(隐含 /F)。
/L:size 仅用于 NTFS: 将日志文件大小更改为指定的 KB 数。如果未
指定大小,则显示当前
大小。
/X 如果必要,则先强制卸除卷。
该卷的所有打开句柄都会无效
(隐含 /F)。
/I 仅用于 NTFS: 对索引项进行强度较小的检查。
/C 仅用于 NTFS: 跳过文件夹结构的
循环检查。
/B 仅用于 NTFS: 重新评估该卷上的坏簇
(隐含 /R)
/I 或 /C 开关通过跳过对该卷的某些检查,可减少运行 Chkdsk 所需的时间。

阻止电脑休眠程序

阻止电脑休眠程序

这个软件,无论功能和界面看起来好傻..是吧?

多年前写的一个PC上软件,阻止电脑休眠,进入屏幕保护的方法有N+种,为什么需要这个蛋疼呢?

黑先生曾经说过:All that is real is rational; and all that is rational is real.那么这个存在也是存在蛋疼的理由的。那些年的回忆啊…

那是在一个庞大的公司,上上下下全是人,有木有?公司电脑可都是加入域,你没有管理员权限,就是说,你仅有运行已安装在上面的若干软件的权限,而没有更改任何配置的权限,当然也包括了更改屏幕保护。于是你一个转身,电脑进入屏幕保护,你不不得再输入密码…

理由也算充分了,在某些地方他并非一无是处。除了阻止电脑休眠,而且可以在下班后自动为你关闭电脑,假如你决定翘班……这就是当年的生活…

shots

 

今天,偶然翻看google drive,看到了这个小工具,居然还可以运行,多年前辛辛苦苦学习VC++,MFC,到现在代码居然看不懂…

时光是把杀猪刀……

BOOL CAnti_SleepDlg::OnInitDialog()
{
	CDialog::OnInitDialog();

//  when the application's main window is not a dialog
	SetIcon(m_hIcon, TRUE);			// Set big icon
	SetIcon(m_hIcon, FALSE);		// Set small icon

	SetWindowText("阻止屏保开启/计算机休眠");
	long val=GetWindowLong(this->GetSafeHwnd(),GWL_STYLE);   
	val|= WS_SYSMENU; //需要系统菜单
	SetWindowLong(this->GetSafeHwnd(),GWL_STYLE,val);
	m_brush.CreateSolidBrush(RGB(0,0,255));
	//ModifyStyle(0,WS_SYSMENU,0);

	ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
	ASSERT(IDM_ABOUTBOX < 0xF000);	
	CMenu* pSysMenu = GetSystemMenu(FALSE);
	if (pSysMenu != NULL)
	{
		CString strAboutMenu;	
		strAboutMenu.LoadString(IDS_ABOUTBOX);

		if (!strAboutMenu.IsEmpty())
		{
			pSysMenu->AppendMenu(MF_STRING, IDM_MINIWND, "隐藏到托盘");
			pSysMenu->AppendMenu(MF_SEPARATOR);
			pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX,"关于.." );			
		}
		pSysMenu->RemoveMenu(0,MF_BYPOSITION);
		//pSysMenu->RemoveMenu(1,MF_BYPOSITION);
		pSysMenu->RemoveMenu(2,MF_BYPOSITION);
		pSysMenu->RemoveMenu(3,MF_BYPOSITION);
		pSysMenu->RemoveMenu(SC_SIZE,MF_BYCOMMAND);
		pSysMenu->RemoveMenu(SC_MAXIMIZE,MF_BYCOMMAND);
	}
	GetDlgItem(IDC_WORKSTATIC)->ShowWindow(FALSE);
	quitBBT.AutoLoad(IDCANCEL,this);
	quitBBT.LoadBitmaps(IDB_BITMAP3);
	shutBBT.AutoLoad(ID_TIMESHUTDOWN,this);
	shutBBT.LoadBitmaps(IDB_SHUTDOWNBMP);
	hideBBT.AutoLoad(ID_TOTRAY,this);
	hideBBT.LoadBitmaps(IDB_BITMAP2);
	return TRUE;  // return TRUE  unless you set the focus to a control
}

祭奠一下…放在了Github上..但愿还有用武之地……
Git:  https://github.com/iocoo/Anti_Sleep.git