archlinux kde
最进运行 chromium 无法启动 命令行执行chromium 发现报错
获取当前周下周上周日期
/*获取yyyy-mm-dd day天的日期数组
* getDays('2012-11-01',2)
* 返回['2012-11-01','2012-11-02']
*/
function getDays(str, day){
var dd, mm, yy;
var reg = /^(\d{4})-(\d{1,2})-(\d{1,2})$/;
if (arr = str.match(reg)) {
yy = Number(arr[1]);
mm = Number(arr[2])-1;
dd = Number(arr[3]);
} else {
var d = new Date();
yy = d.getUTCFullYear();
mm = ("00"+(d.getUTCMonth())).slice(-2);
dd = ("00"+d.getUTCDate()).slice(-2);
}
var aa=[];
if(day>=0){
for(var i=0;i<day;i++){
aa.push(_getDate(yy, mm, dd, i));
}
}else{
for(var i=(day+1);i<=0;i++){
aa.push(_getDate(yy, mm, dd, i));
}
}
//alert(aa);
return aa;
}
/*
*返回n天后的日期
* get_day("2012-11-01",3) 返回 "2012-11-04"
*
*/
function get_day(str, n){
var dd, mm, yy;
var reg = /^(\d{4})-(\d{1,2})-(\d{1,2})$/;
if (arr = str.match(reg)) {
yy = Number(arr[1]);
mm = Number(arr[2])-1;
dd = Number(arr[3]);
} else {
var d = new Date();
yy = d.getUTCFullYear();
mm = ("00"+(d.getUTCMonth())).slice(-2);
dd = ("00"+d.getUTCDate()).slice(-2);
}
var aa=_getDate(yy, mm, dd, n);
return aa;
}
/*
* 获取day天后的日期
* 例如_getDate(2012,11,1,2):获取2012-11-01后2天的日期
例如_getDate(2012,11,1,-2):获取2012-11-01前2天的日期
*/
function _getDate(yy, mm, dd, day) {
var s, d, t, t2;
t = Date.UTC(yy, mm, dd);
t2 = day * 1000 * 3600 * 24; //加减day天的时间
t+= t2;
d = new Date(t);
s = d.getUTCFullYear() + "-";
s += ("00"+(d.getUTCMonth()+1)).slice(-2) + "-";
s += ("00"+d.getUTCDate()).slice(-2);
//alert(s);
return s;
}
/*这个方法将取得 某日期(nowDate) 所在周的星期几(weekDay)的日期
* getNextDate("2012-11-04",1); 2012-11-04所在周的星期一的日期
* 返回2012-10-29
*
*/
function getNextDate(str,weekDay){
var dd, mm, yy;
var reg = /^(\d{4})-(\d{1,2})-(\d{1,2})$/;
if (arr = str.match(reg)) {
yy = Number(arr[1]);
mm = Number(arr[2])-1;
dd = Number(arr[3]);
}
var t = Date.UTC(yy, mm, dd);
var d = new Date(t);
weekDay%=7;
var day = d.getDay();
if(day==0)day=7;//自己加的 否则如果是周日 day=0 我取所在周一的日期,返回的是下周的
var time = d.getTime();
var sub = weekDay-day;
time+=sub*24*3600000;
d.setTime(time);
var s = d.getUTCFullYear() + "-";
s += ("00"+(d.getUTCMonth()+1)).slice(-2) + "-";
s += ("00"+d.getUTCDate()).slice(-2);
return s;
}
function getNextDate1(str,weekDay){
var d=new Date(str);
weekDay%=7;
var day = d.getDay();
if(day==0)day=7;//自己加的 否则如果是周日 day=0 我取所在周一的日期,返回的是下周的
var time = d.getTime();
var sub = weekDay-day;
time+=sub*24*3600000;
d.setTime(time);
var s = d.getUTCFullYear() + "-";
s += ("00"+(d.getUTCMonth()+1)).slice(-2) + "-";
s += ("00"+d.getUTCDate()).slice(-2);
return s;
}
/*
* 参数 2012-11-08
* 返回周几
*/
function week(dd){
dd=dd.replace(/\-/g,"/");
var week="日一二三四五六".charAt(new Date(dd).getDay());
return week;
}
/*
* 获取当前日期
*/
function getCurrDay(){
var d = new Date();
yy = d.getUTCFullYear();
mm = ("00"+(d.getUTCMonth()+1)).slice(-2);
dd = ("00"+d.getUTCDate()).slice(-2);
return yy+"-"+mm+"-"+dd;
}
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<SCRIPT type=text/javascript src="week_day.js"></SCRIPT>
<script type="text/javascript">
function getWeek(flag){
var start_day="";
var curr_day=getCurrDay();
var mon_day=getNextDate(curr_day,1);//当前日期所在周星期一的日期
if(flag=='本周'){//查询本周
start_day=mon_day;//当前时间
d=getDays(start_day,7);
}else if(flag=='下周'){//下周
start_day=get_day(mon_day,7);//获取7天后的开始日期
d=getDays(start_day,7);
}else if(flag=='下下周'){//下下周
start_day=get_day(mon_day,14);//获取14天后的开始日期
d=getDays(start_day,7);
}else if (flag=='上周'){
start_day=get_day(mon_day,-7);//获取7天后的开始日期
d=getDays(start_day,7);
}
alert(d);
}
</script>
</head>
<body>
<button onclick="getWeek('上周')">上周</button>
<button onclick="getWeek('本周')">本周</button>
<button onclick="getWeek('下周')">下周</button>
<button onclick="getWeek('下下周')">下下周</button>
</body>
</html>
GOAGENT又一个基于GAE的穿越利器

此文章来源 http://www.lhzhang.org/
参考了https://code.google.com/p/goagent/
有一些小改动
GoAgent是 一个使用Python和Google Appengine SDK编写的代理软件。部署和使用方法非常简单,不需要安装Python或者Google Appenginge SDK ,几分钟即可搞定。
wuala的CBFS 更新文件

wuala被墙掉了,CBFS无法更新,自己翻墙下载了更新文件,给大家共享
附:wuala 注册邀请链接(需翻墙) http://www.wuala.com/referral/KF4CJ64PM5PFPBF6GBB6
LMDE Update Pack 3 is out!
这个Linux Mint Debian的更新包,如果你没有用这个版本,请跳过
有2个较大个更新:
- 全新的3.0内核
- 包括安全和多媒体库更新.
Changing your repositories
首先要修改Multimedia and Security repositories. 编辑APT源:
gksu gedit /etc/apt/sources.list
- Replace security.debian.org with debian.linuxmint.com/latest/security
- Replace debian-multimedia.org with debian.linuxmint.com/latest/multimedia
Your APT sources, should now look like this:
deb http://packages.linuxmint.com/ debian main upstream import deb http://debian.linuxmint.com/latest testing main contrib non-free deb http://debian.linuxmint.com/latest/security testing/updates main contrib non-free deb http://debian.linuxmint.com/latest/multimedia testing main non-free
Save and close the file.
Using the Update Manager
… to update itself
首先要升级Update Manager。
If you see an update for “mintupdate-debian“, accept it and wait for the Update Manager to restart itself.
![]()
如果Update Manager可以升级,在升级列表里只会显示Update Manager。
… to check your APT sources
目前最新的mintupdate-debian 版本是1.0.4,会检查你的APT源配置是否正确
- 点击 “Update Pack Info” 按钮
- 确定 “Your system configuration” 处显示的是绿色的按钮并且没有任何警告或错误信息
- 如果有警告或错误信息,按照它的提示重新配置,直到没有错误信息
![]()
检查系统配置并显示系统配置信息
请仔细阅读Update Pack Info里面的信息
… 开始升级 Update Pack 3
准备好了吧
请点击 Install Updates 按钮。
升级期间会有一些提问,有一个非常重要:the new kernel will ask you where to install Grub。Answer with the location of your current Grub menu (which on most systems is “/dev/sda“).
详情请参考:http://blog.linuxmint.com/?p=1836
linux贴纸 unixstickers.com
出售各种开源相关的贴纸(GNU/Linux, Gnome, KDE, Java, MySQL, Apache, PHP, Python, and other Linux distributions)

【pdf】Android_UI开发专题
貌似被墙了啊
is-programmer.com 只能翻墙访问了啊
Android软件汉化 APK软件汉化
来源:http://www.uugo.org/project/Android/71096.html
在Android平台下,程序文件的后缀名为“.APK”,APK是Android Package的缩写,意思是Android安装包,是类似WM系统“.CAB”和Symbian系统“.SIS”的文件格式。APK程序文件可以用WinRAR之类的解压缩软件解压,我们只需要将其中的resources.arsc文件解压出来,用汉化工具将.arsc文件内的英文资源翻译为中文,修改包含英文的图片,再替换原文件,最后将APK文件重新签名即可。
汉化APK软件需要事先下载安装好以下工具:
1.Java
2.解压缩软件:WinRAR
3.汉化工具:AndroidResEdit(需要.NET Framework 2.0支持)
4.图片汉化软件:Photoshop
5.签名程序:Auto-sign(推荐使用AndroidResEdit软件自带的签名功能)
android service 的交互
这个例子演示了activity调用本地服务,点击按钮就会显示结果

结果:

步骤如下:
1 创建服务接口
服务接口提供了可以调用的方法
IService.java
package com.demo.service;
public interface IService {
public String getName();
}
2 实现服务
myService.java
package com.demo.service;
import android.app.Service;
import android.content.Intent;
import android.os.Binder;
import android.os.IBinder;
public class myService extends Service {
/*
* binder 起到个桥梁的作用,
*/
private MyServiceBinder myServiceBinder = new MyServiceBinder();
@Override
public IBinder onBind(Intent intent) {
// TODO Auto-generated method stub
return myServiceBinder;
}
public String getName(){
return "你好啊 返回的结果";
}
public class MyServiceBinder extends Binder implements IService{
public String getName() {
// TODO Auto-generated method stub
return myService.this.getName();
}
}
}
3 调用服务的activity
mainActivity.java
package com.demo.service;
import android.app.Activity;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.ServiceConnection;
import android.os.Bundle;
import android.os.IBinder;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.TextView;
/*
* service 的交互
*/
public class mainActivity extends Activity {
/** Called when the activity is first created. */
private myConn conn=new myConn();
private IService serviceInstance;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Intent intent = new Intent(this, myService.class);
/*
* 激活服务 会调用 myConn 返回桥梁 serviceImpl
*/
bindService(intent, conn, Context.BIND_AUTO_CREATE);
final TextView nameTextView = (TextView) findViewById(R.id.name);
this.findViewById(R.id.button).setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
//点击时调用服务中的方法
String nameString = serviceInstance.getName();
nameTextView.setText(nameString);
}
});
}
private final class myConn implements ServiceConnection{
/*
* (non-Javadoc)
* @see android.content.ServiceConnection#onServiceConnected(android.content.ComponentName, android.os.IBinder)
* 这个IBinder 是 myServece中的返回的IBinder
*/
public void onServiceConnected(ComponentName name, IBinder service) {
serviceInstance = (IService) service;
}
public void onServiceDisconnected(ComponentName name) {
serviceInstance=null;
}
}
@Override
protected void onDestroy() {
//退出时 解除绑定
unbindService(conn);
super.onDestroy();
}
}