2010年11月 的存档
201011 月18

市场经济

沪市,沪市,我是深市,我方损失惨重,收到请回答,收到请回答……
深市,深市,我是沪市,我方已全部阵亡,这是自动留言,无需回答……
沪市沪市,深市深市,我是菜市我是菜市,我们这里涨个不停
菜市,菜市,我是楼市,你那点鸡毛蒜皮的也算是涨啊
楼市,楼市, 我是人事,今年工资再降工资再降
人事 ,人事, 我是董事,工资不能降,要涨起来,把人留住,但不要给他们发工资
董事董事,我是西红柿,工资再不发,我就烂在菜市……

201011 月18

MyCity 我的城市街拍,新浪微博街拍Android客户端 1.0发布

MyCity —我的城市街拍 1.0

是Android上的一个新浪微博的客户端,目的是实现手机上街拍发布图片和地理位置信息到微博的功能。
现阶段主要实现以下功能:
1. 通过MyCity拍照,可以把图片发布到微博
2. 通过MyCity获得GPS地理位置,分享到微博(通过google地图展示)
3. 用户可以附加100字以内的说明文字

下载地址: /MyCity.apk

使用说明:
按MENU键或第一次按发布键绑定微博帐号,进行拍照后附加文字发布微博,若在室外空旷处运行获得GPS地理位置信息后程序会自动在微博内容中添加google地图链接。

更新日志:
1、2010-11-18 9:00 修改位置信息未添加到微博中的bug,囧,我的错。

应用效果

201011 月17

新浪微博Android 客户端通过HTTP POST发布图片和文字源代码(作废)

1、发送图片+文字

要特别注意,图片的文件名要为 pic 才会被新浪接收。

              Map map = new HashMap();
	   map.put("source", "appkey");//改成自己的key
	   map.put("status", txt);
	   postImg("http://api.t.sina.com.cn/statuses/upload.json",map,Environment.getExternalStorageDirectory()+ "/temp.jpg"
								,"帐号名字","密码");
              /**
	 * 直接通过HTTP协议提交数据到服务器,实现表单提交功能
	 * @param actionUrl 上传路径
	 * @param params 请求参数 key为参数名,value为参数值
	 * @param filename 上传文件
	 * @param username 用户名
	 * @param password 密码
	 */
	private void postImg(String actionUrl,Map<String, String> params, String  filename,String username,String password) {
		try {
			String BOUNDARY = "--------------et567z"; //数据分隔线
			String MULTIPART_FORM_DATA = "Multipart/form-data";  

			URL url = new URL(actionUrl);
			HttpURLConnection conn = (HttpURLConnection) url.openConnection(); 

			conn.setDoInput(true);//允许输入
			conn.setDoOutput(true);//允许输出
			conn.setUseCaches(false);//不使用Cache
			conn.setRequestMethod("POST");
			conn.setRequestProperty("Connection", "Keep-Alive");
			conn.setRequestProperty("Charset", "UTF-8");
			conn.setRequestProperty("Content-Type", MULTIPART_FORM_DATA + ";boundary=" + BOUNDARY);
			String usernamePassword=username+":"+password;
			conn.setRequestProperty("Authorization","Basic "+new String(SecBase64.encode(usernamePassword.getBytes())));

			StringBuilder sb = new StringBuilder();  

			//上传的表单参数部分,格式请参考文章
			for (Map.Entry<String, String> entry : params.entrySet()) {//构建表单字段内容
				sb.append("--");
				sb.append(BOUNDARY);
				sb.append("\r\n");
				sb.append("Content-Disposition: form-data; name=\""+ entry.getKey() + "\"\r\n\r\n");
				sb.append(entry.getValue());
				sb.append("\r\n");
			}
			//            System.out.println(sb.toString());
			DataOutputStream outStream = new DataOutputStream(conn.getOutputStream());
			outStream.write(sb.toString().getBytes());//发送表单字段数据
			byte[] content = readFileImage(filename);
			//上传的文件部分,格式请参考文章
			//System.out.println("content:"+content.toString());
			StringBuilder split = new StringBuilder();
			split.append("--");
			split.append(BOUNDARY);
			split.append("\r\n");
			split.append("Content-Disposition: form-data;name=\"pic\";filename=\"temp.jpg\"\r\n");
			split.append("Content-Type: image/jpg\r\n\r\n");
			System.out.println(split.toString());
			outStream.write(split.toString().getBytes());
			outStream.write(content, 0, content.length);
			outStream.write("\r\n".getBytes());  

			byte[] end_data = ("--" + BOUNDARY + "--\r\n").getBytes();//数据结束标志
			outStream.write(end_data);
			outStream.flush();
			int cah = conn.getResponseCode();
			//            if (cah != 200) throw new RuntimeException("请求url失败:"+cah);
			if(cah == 200)//如果发布成功则提示成功
			{
				/*读返回数据*/
				//String strResult = EntityUtils.toString(httpResponse.getEntity()); 

				new AlertDialog.Builder(Main.this)
				// Main.this视情况而定,这个一般是指当前显示的Activity对应的XML视窗。
				.setTitle("")// 设置对话框的标题
				.setPositiveButton("确定",// 设置对话框的确认按钮
						new DialogInterface.OnClickListener() {// 设置确认按钮的事件
					public void onClick(DialogInterface dialog, int which) {

					}})
					.setMessage(" 发布成功 ")// 设置对话框的内容
					.show();
			}
			else if(cah == 400)
			{
				new AlertDialog.Builder(Main.this)
				// Main.this视情况而定,这个一般是指当前显示的Activity对应的XML视窗。
				.setTitle("")// 设置对话框的标题
				.setPositiveButton("确定",// 设置对话框的确认按钮
						new DialogInterface.OnClickListener() {// 设置确认按钮的事件
					public void onClick(DialogInterface dialog, int which) {

					}})
					.setMessage(" 发布失败  \n 不可连续发布相同内容 ")// 设置对话框的内容
					.show();
			}else{
				throw new RuntimeException("请求url失败:"+cah);
			} 

			//            InputStream is = conn.getInputStream();
			//            int ch;
			//            StringBuilder b = new StringBuilder();
			//            while( (ch = is.read()) != -1 ){
			//                b.append((char)ch);
			//            }
			outStream.close();
			conn.disconnect();
		}
		catch (IOException e)
		{
			e.printStackTrace(); 

		}
		catch (Exception e)
		{
			e.printStackTrace();  

		}  

	}

             public static byte[] readFileImage(String filename) throws IOException {
		BufferedInputStream bufferedInputStream = new BufferedInputStream(
				new FileInputStream(filename));
		int len = bufferedInputStream.available();
		byte[] bytes = new byte[len];
		int r = bufferedInputStream.read(bytes);
		if (len != r) {
			bytes = null;
			throw new IOException("读取文件不正确");
		}
		bufferedInputStream.close();
		return bytes;
	}

2、只发文字

  //POST发布文本信息
	    public  void sendMsg(String status,String username,String password){
			HttpClient httpclient = new DefaultHttpClient();
	        HttpPost httppost = new HttpPost("http://api.t.sina.com.cn/statuses/update.json");
		        //NameValuePair实现请求参数的封装

		        List  params = new ArrayList ();
		        params.add(new BasicNameValuePair("source", "4016954419"));
		        params.add(new BasicNameValuePair("status", status));
		        try
		        { 

		          //添加请求参数到请求对象

		        	httppost.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8));
		        	httppost.getParams().setBooleanParameter(CoreProtocolPNames.USE_EXPECT_CONTINUE, false); 

		        	String data=username+":"+password;
		        	httppost.addHeader("Authorization","Basic "+new String(SecBase64.encode(data.getBytes())));
		        	httppost.addHeader("Content-Type", "application/x-www-form-urlencoded");

		          //发送请求并等待响应
		          HttpResponse httpResponse = new DefaultHttpClient().execute(httppost);
		          //若状态码为200 ok
		          if(httpResponse.getStatusLine().getStatusCode() == 200)
		          {
		            //读返回数据
		            //String strResult = EntityUtils.toString(httpResponse.getEntity()); 

		            new AlertDialog.Builder(Main.this)
					// Main.this视情况而定,这个一般是指当前显示的Activity对应的XML视窗。
					.setTitle("")// 设置对话框的标题
					.setPositiveButton("确定",// 设置对话框的确认按钮
				    new DialogInterface.OnClickListener() {// 设置确认按钮的事件
				        public void onClick(DialogInterface dialog, int which) {

				    }})
					.setMessage(" 发布成功 ")// 设置对话框的内容
					.show();
		          }
		          else if(httpResponse.getStatusLine().getStatusCode() == 400)
		          {
		        	  new AlertDialog.Builder(Main.this)
						// Main.this视情况而定,这个一般是指当前显示的Activity对应的XML视窗。
						.setTitle("")// 设置对话框的标题
						.setPositiveButton("确定",// 设置对话框的确认按钮
				    new DialogInterface.OnClickListener() {// 设置确认按钮的事件
				        public void onClick(DialogInterface dialog, int which) {

				    }})
						.setMessage(" 发布失败  \n 不可连续发布相同内容 ")// 设置对话框的内容
						.show();
		          } 

		        }
		        catch (ClientProtocolException e)
		        {
		          e.printStackTrace();
		          et.setText(et.getText()+" Error1:"+e.getMessage());
		        }
		        catch (IOException e)
		        {
		          e.printStackTrace();
		          et.setText(et.getText()+" Error2:"+e.getMessage());
		        }
		        catch (Exception e)
		        {
		          e.printStackTrace();
		          et.setText(et.getText()+" Error3:"+e.getMessage());
		        }  

		 }

3、加密类 SecBase64.java

package wizzer.cn.app;

public class SecBase64 {
private static final byte[] encodingTable = { (byte) 'A', (byte) 'B',
    (byte) 'C', (byte) 'D', (byte) 'E', (byte) 'F', (byte) 'G',
    (byte) 'H', (byte) 'I', (byte) 'J', (byte) 'K', (byte) 'L',
    (byte) 'M', (byte) 'N', (byte) 'O', (byte) 'P', (byte) 'Q',
    (byte) 'R', (byte) 'S', (byte) 'T', (byte) 'U', (byte) 'V',
    (byte) 'W', (byte) 'X', (byte) 'Y', (byte) 'Z', (byte) 'a',
    (byte) 'b', (byte) 'c', (byte) 'd', (byte) 'e', (byte) 'f',
    (byte) 'g', (byte) 'h', (byte) 'i', (byte) 'j', (byte) 'k',
    (byte) 'l', (byte) 'm', (byte) 'n', (byte) 'o', (byte) 'p',
    (byte) 'q', (byte) 'r', (byte) 's', (byte) 't', (byte) 'u',
    (byte) 'v', (byte) 'w', (byte) 'x', (byte) 'y', (byte) 'z',
    (byte) '0', (byte) '1', (byte) '2', (byte) '3', (byte) '4',
    (byte) '5', (byte) '6', (byte) '7', (byte) '8', (byte) '9',
    (byte) '+', (byte) '/' };
private static final byte[] decodingTable;
static {
   decodingTable = new byte[128];
   for (int i = 0; i < 128; i++) {
    decodingTable[i] = (byte) -1;
   }
   for (int i = 'A'; i <= 'Z'; i++) {
    decodingTable[i] = (byte) (i - 'A');
   }
   for (int i = 'a'; i <= 'z'; i++) {
    decodingTable[i] = (byte) (i - 'a' + 26);
   }
   for (int i = '0'; i <= '9'; i++) {
    decodingTable[i] = (byte) (i - '0' + 52);
   }
   decodingTable['+'] = 62;
   decodingTable['/'] = 63;
}

//加密

public static byte[] encode(byte[] data) {
   byte[] bytes;
   int modulus = data.length % 3;
   if (modulus == 0) {
    bytes = new byte[(4 * data.length) / 3];
   } else {
    bytes = new byte[4 * ((data.length / 3) + 1)];
   }
   int dataLength = (data.length - modulus);
   int a1;
   int a2;
   int a3;
   for (int i = 0, j = 0; i < dataLength; i += 3, j += 4) {
    a1 = data[i] & 0xff;
    a2 = data[i + 1] & 0xff;
    a3 = data[i + 2] & 0xff;
    bytes[j] = encodingTable[(a1 >>> 2) & 0x3f];
    bytes[j + 1] = encodingTable[((a1 << 4) | (a2 >>> 4)) & 0x3f];
    bytes[j + 2] = encodingTable[((a2 << 2) | (a3 >>> 6)) & 0x3f];
    bytes[j + 3] = encodingTable[a3 & 0x3f];
   }
   int b1;
   int b2;
   int b3;
   int d1;
   int d2;
   switch (modulus) {
   case 0: 
    break;
   case 1:
    d1 = data[data.length - 1] & 0xff;
    b1 = (d1 >>> 2) & 0x3f;
    b2 = (d1 << 4) & 0x3f;
    bytes[bytes.length - 4] = encodingTable[b1];
    bytes[bytes.length - 3] = encodingTable[b2];
    bytes[bytes.length - 2] = (byte) '=';
    bytes[bytes.length - 1] = (byte) '=';
    break;
   case 2:
    d1 = data[data.length - 2] & 0xff;
    d2 = data[data.length - 1] & 0xff;
    b1 = (d1 >>> 2) & 0x3f;
    b2 = ((d1 << 4) | (d2 >>> 4)) & 0x3f;
    b3 = (d2 << 2) & 0x3f;
    bytes[bytes.length - 4] = encodingTable[b1];
    bytes[bytes.length - 3] = encodingTable[b2];
    bytes[bytes.length - 2] = encodingTable[b3];
    bytes[bytes.length - 1] = (byte) '=';
    break;
   }
   return bytes;
}

//解密

public static byte[] decode(byte[] data) {
   byte[] bytes;
   byte b1;
   byte b2;
   byte b3;
   byte b4;
   data = discardNonBase64Bytes(data);
   if (data[data.length - 2] == '=') {
    bytes = new byte[(((data.length / 4) - 1) * 3) + 1];
   } else if (data[data.length - 1] == '=') {
    bytes = new byte[(((data.length / 4) - 1) * 3) + 2];
   } else {
    bytes = new byte[((data.length / 4) * 3)];
   }
   for (int i = 0, j = 0; i < (data.length - 4); i += 4, j += 3) {
    b1 = decodingTable[data[i]];
    b2 = decodingTable[data[i + 1]];
    b3 = decodingTable[data[i + 2]];
    b4 = decodingTable[data[i + 3]];
    bytes[j] = (byte) ((b1 << 2) | (b2 >> 4));
    bytes[j + 1] = (byte) ((b2 << 4) | (b3 >> 2));
    bytes[j + 2] = (byte) ((b3 << 6) | b4);
   }
   if (data[data.length - 2] == '=') {
    b1 = decodingTable[data[data.length - 4]];
    b2 = decodingTable[data[data.length - 3]];
    bytes[bytes.length - 1] = (byte) ((b1 << 2) | (b2 >> 4));
   } else if (data[data.length - 1] == '=') {
    b1 = decodingTable[data[data.length - 4]];
    b2 = decodingTable[data[data.length - 3]];
    b3 = decodingTable[data[data.length - 2]];
    bytes[bytes.length - 2] = (byte) ((b1 << 2) | (b2 >> 4));
    bytes[bytes.length - 1] = (byte) ((b2 << 4) | (b3 >> 2));
   } else {
    b1 = decodingTable[data[data.length - 4]];
    b2 = decodingTable[data[data.length - 3]];
    b3 = decodingTable[data[data.length - 2]];
    b4 = decodingTable[data[data.length - 1]];
    bytes[bytes.length - 3] = (byte) ((b1 << 2) | (b2 >> 4));
    bytes[bytes.length - 2] = (byte) ((b2 << 4) | (b3 >> 2));
    bytes[bytes.length - 1] = (byte) ((b3 << 6) | b4);
   }
   return bytes;
}

//解密

public static byte[] decode(String data) {
   byte[] bytes;
   byte b1;
   byte b2;
   byte b3;
   byte b4;
   data = discardNonBase64Chars(data);
   if (data.charAt(data.length() - 2) == '=') {
    bytes = new byte[(((data.length() / 4) - 1) * 3) + 1];
   } else if (data.charAt(data.length() - 1) == '=') {
    bytes = new byte[(((data.length() / 4) - 1) * 3) + 2];
   } else {
    bytes = new byte[((data.length() / 4) * 3)];
   }
   for (int i = 0, j = 0; i < (data.length() - 4); i += 4, j += 3) {
    b1 = decodingTable[data.charAt(i)];
    b2 = decodingTable[data.charAt(i + 1)];
    b3 = decodingTable[data.charAt(i + 2)];
    b4 = decodingTable[data.charAt(i + 3)];
    bytes[j] = (byte) ((b1 << 2) | (b2 >> 4));
    bytes[j + 1] = (byte) ((b2 << 4) | (b3 >> 2));
    bytes[j + 2] = (byte) ((b3 << 6) | b4);
   }
   if (data.charAt(data.length() - 2) == '=') {
    b1 = decodingTable[data.charAt(data.length() - 4)];
    b2 = decodingTable[data.charAt(data.length() - 3)];
    bytes[bytes.length - 1] = (byte) ((b1 << 2) | (b2 >> 4));
   } else if (data.charAt(data.length() - 1) == '=') {
    b1 = decodingTable[data.charAt(data.length() - 4)];
    b2 = decodingTable[data.charAt(data.length() - 3)];
    b3 = decodingTable[data.charAt(data.length() - 2)];
    bytes[bytes.length - 2] = (byte) ((b1 << 2) | (b2 >> 4));
    bytes[bytes.length - 1] = (byte) ((b2 << 4) | (b3 >> 2));
   } else {
    b1 = decodingTable[data.charAt(data.length() - 4)];
    b2 = decodingTable[data.charAt(data.length() - 3)];
    b3 = decodingTable[data.charAt(data.length() - 2)];
    b4 = decodingTable[data.charAt(data.length() - 1)];
    bytes[bytes.length - 3] = (byte) ((b1 << 2) | (b2 >> 4));
    bytes[bytes.length - 2] = (byte) ((b2 << 4) | (b3 >> 2));
    bytes[bytes.length - 1] = (byte) ((b3 << 6) | b4);
   }
   return bytes;
}

private static byte[] discardNonBase64Bytes(byte[] data) {
   byte[] temp = new byte[data.length];
   int bytesCopied = 0;
   for (int i = 0; i < data.length; i++) {
    if (isValidBase64Byte(data[i])) {
     temp[bytesCopied++] = data[i];
    }
   }
   byte[] newData = new byte[bytesCopied];
   System.arraycopy(temp, 0, newData, 0, bytesCopied);
   return newData;
}

private static String discardNonBase64Chars(String data) {
   StringBuffer sb = new StringBuffer();
   int length = data.length();
   for (int i = 0; i < length; i++) {
    if (isValidBase64Byte((byte) (data.charAt(i)))) {
     sb.append(data.charAt(i));
    }
   }
   return sb.toString();
}

private static boolean isValidBase64Byte(byte b) {
   if (b == '=') {
    return true;
   } else if ((b < 0) || (b >= 128)) {
    return false;
   } else if (decodingTable[b] == -1) {
    return false;
   }
   return true;
}

//测试类
public static void main(String[] args) {
   String data = "wizzer@qq.com:etpass";
   byte[] result = SecBase64.encode(data.getBytes());// 加密
   System.out.println("Basic "+data);
   System.out.println("Basic "+new String(result));
   System.out.println(new String(SecBase64.decode(new String(result))));// 解密
   }
}
201011 月16

Android 2.1 GPS定位和拍照功能代码

1、GPS功能代码

private void getLocation()
	{
		LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
		locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,
				 200, 0, locationListener);

	}
	private final LocationListener locationListener = new LocationListener() {
	    public void onLocationChanged(Location location) { //当坐标改变时触发此函数,如果Provider传进相同的坐标,它就不会被触发
	        // log it when the location changes
	        if (location != null) {
	        	Lat.setText(String.valueOf(location.getLatitude()));
	        	Lon.setText(String.valueOf(location.getLongitude()));

	        }
	    }

	    public void onProviderDisabled(String provider) {
	    // Provider被disable时触发此函数,比如GPS被关闭
	    }

	    public void onProviderEnabled(String provider) {
	    //  Provider被enable时触发此函数,比如GPS被打开
	    }

	    public void onStatusChanged(String provider, int status, Bundle extras) {
	    // Provider的转态在可用、暂时不可用和无服务三个状态直接切换时触发此函数
	    }
	};

2、拍照功能代码

public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
     // Hide the window title.
		requestWindowFeature(Window.FEATURE_NO_TITLE);

        setContentView(R.layout.main);
        imageView = (ImageView) this.findViewById(R.id.iv1);
		Button button = (Button) this.findViewById(R.id.bt1);
		button.setOnClickListener(new OnClickListener() {
			public void onClick(View v) {
				Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
				intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri
						.fromFile(new File(Environment
								.getExternalStorageDirectory(), "temp.jpg")));
				intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 0);
				startActivityForResult(intent, 0);
			}
		});

    }
	@Override
	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
		if (requestCode == 0 && resultCode == Activity.RESULT_OK) {
			this.imageView.setImageDrawable(Drawable.createFromPath(new File(
					Environment.getExternalStorageDirectory(), "temp.jpg")
					.getAbsolutePath()));

		}
	}

3、退出程序确认

public boolean onKeyDown(int keyCode, KeyEvent event) {

		//按下键盘上返回按钮
		if(keyCode == KeyEvent.KEYCODE_BACK){
			new AlertDialog.Builder(Main.this)
			// Main.this视情况而定,这个一般是指当前显示的Activity对应的XML视窗。
			.setTitle("")// 设置对话框的标题
			.setMessage(" 确定退出? ")// 设置对话框的内容
			.setPositiveButton("确定",// 设置对话框的确认按钮
			    new DialogInterface.OnClickListener() {// 设置确认按钮的事件
			        public void onClick(DialogInterface dialog, int which) {
			            //退出程序
			            android.os.Process.killProcess(android.os.Process.myPid());
			    }})
			.setNegativeButton("取消",// 设置对话框的取消按钮
			    new DialogInterface.OnClickListener() {// 设置取消按钮的事件
			        public void onClick(DialogInterface dialog, int which) {
			            // 如果你什么操作都不做,可以选择不写入任何代码
			            dialog.cancel();
			    }}
			).show();

			return true;
		}else{		
			return super.onKeyDown(keyCode, event);
		}
	}
201011 月16

玻璃球

诊所门前坐着两个小男孩。护士问:“小朋友你哪不舒服?”“我吞下了一颗玻璃球。”“你呢?”护士问另一个小孩。“我在等那颗玻璃球,那是我的。”

201011 月16

手机在我手里

自习时,甲捡到一部昂贵的手机。他翻开电话簿,找到“我的爸爸”,按号拨过去。接通后,信号不好,甲大声地说:“你儿子手机在我手里。”
电话里的男声很紧张:“你别动我儿子,要多少钱都好说……”
甲:“……”

201011 月16

失恋

一女士学车,碰到了树上。教练责怪:“怎么搞的?”女士说:“我是初练(恋),很紧张。”过了一会,女士又碰到了树上,教练说:“这次是因为失恋吧?!”

201011 月15

WM6.1 手机采购订单及GPS定位系统开发完成

某集团移动数据采集系统(采购、质检)开发告一段落,主要功能有客户拜访、收发货、质检单等数据上报,和ERP系统的接口,工作汇报等功能,有后台自动运行的每小时上传一次的GPS定位功能。

采购员可能到达全国各地,许多地方没有电脑上网条件,用移动终端智能手机系统能很好的解决此问题。

目前软件已在使用,不过在使用过程中也发现一些问题,如由于移动网络信号的问题,会出现网络传输中断不能上传的情况,此时就需要有本地保存批量上传功能;GPS定位的问题很怪,几个采购员出去,到目前为止仅有一个人能定位到,同样的程序其他人却不能定位,很奇怪……

201011 月14

成功男人的背后都有强大的女人

有一年,克林顿夫妇去一加油站,加油站小工是希拉里的初恋。克林顿跟老婆吹嘘说:你要是不嫁给我,你老公可能还是一加油站小工。希拉里回答说,我要是嫁给他,当总统的可能是他,哪里会轮得到你?

201011 月14

年度英语最新单词

ungelivable不给力,gelivable给力,Gambller 干部 ,Goveruption 政府,Profartssor叫兽,suihide 躲猫猫,zhuangbility装逼,shability傻逼,Departyment有关部门,Emotionormal 情绪稳定,Sexretary 女秘书,围观 Circusee,shitizen屁民,propoorty房地产,eggache蛋疼,Smilence笑而不语,Togayther终成眷属,shitizen屁民,Halfyuan五毛,vegeteal偷菜,yakshit亚克西,animale男人天性,niubility牛逼,antizen蚁民,stupig笨猪,Z-turn 折腾,Don’train动车,Foulsball中国足球,Freedamn自由。

201011 月14

人民币升值真的是美国人的阴谋吗?

自从美国指控中国政府操控汇率并威胁要对中国进行贸易制裁以来,两国有关汇率的口水仗激战犹酣。汇率问题不仅成广播电视报纸网络的热点,也成了街头巷尾寻常百姓的话题。一个个专家学者粉墨登场慷慨激昂之后,一个个百姓早已被撩拨得热血沸腾义愤填膺。 ,尽管百姓们对老美愤慨无比,其实他们对汇率知识的了解仍然还是片言只语凤毛麟角,有的压根就没听明白,他们只是习惯性逢美必反而已。当然,没听明白也不是老百姓的错,因为专家学者们所说的道理大都牛头马嘴破绽百出,本身就不合逻辑的理论说起来当然叫人如坠云里雾中。大部分人之所以人云亦云地反对人民币升值,其观点大致有如下三种:

  一是人民币升值,中国的出口的东西就很贵,出口企业就会倒闭,届时将百姓失业经济萧条;二是我们切身地感受到人民币已经在不断地贬值,美国人却在叫我们升值,这不是阴谋是什么;三是美帝国主义亡我之心不死,凡是美国人让我们做的,肯定没安什么好心!

  让人民币升值真的是美国人的阴谋吗?我奉劝广大同胞,弄清事实真相之前,切勿剑拔弩张横眉冷对。笔者不才,愿意试着用最浅显的语言把汇率的知识系统地讲述一遍,坚信各位读者即便没有任何经济学知识,也能使您对汇率问题重新认识,使您对上述疑问拨云见日,至少不会再轻易迷信那些在媒体上隔三差五抛头露面的所谓经济学家。
 
  一、为什么需要对外贸易?

  有一个故事不得不反复提起,虽然故事的内容早已老得掉牙了无新意,但对于没有经济学知识的老百姓来说,学习它对理解汇率原理至关重要。

  说是人类尚处在以物易物的蒙昧时代,某甲制造了两柄犀利的斧头,某乙射死了两只肥壮的野羊,甲只需其中的一柄便足够自己砍伐树木,另一柄只是闲置;乙一时半会也吃不了两只羊,另一只放长了时间就会腐烂变质。于是,两人便自发地将多余的东西进行交换,尽管斧头还是斧头,野羊仍是野羊,他们的数量与质量并未发生任何变化,但是双方的境况却因为交换而得到了改善,因为双方都用自己多余的物质换回了对自己有用的财富。

  这个故事告诉我们,平等自愿的交换使各种资源更加合理有效地得到分配,能使交换的双方增长财富。从这个故事推广开去,要想使一国一地的百姓更加富有,就必须通过合理的政策来促进更加广泛的交换,交换越多,百姓致富的步伐就越快。当然,人类早已进入了使用货币的文明时代,但是以物易物的交换本质并未发生任何改变,货币只是充当了交换的媒介而已。

  对外贸易与国内百姓之间的交换并无本质上的不同,同样也能促进交换双方的财富增长,这就是为什么各国政要都把捍卫贸易自由作为口号吊在嘴上的原因。但对外贸易与国内也有不同,因为各自的产品在计价时使用的计价单位并不一样,美国人用的是美元,中国人用的是人民币,用多少元人民币的中国产品才能换回一美元的美国产品,这是一个难题,于是汇率的问题应运而生。

  二、汇率是由什么决定的?

  前面已经说过,交换的本质是以物易物,假如甲国什么资源产品都有,而乙国资源产品匮乏,此时甲国的钞票就更值钱,因为乙国迫切需要甲国的产品资源,它情愿用更多的产品来换取甲国的钞票以购买甲国的资源,否则甲国就不会与你交换。

  但是,这种情况也不是一成不变的,假如乙国原先迫切需要甲国的石油资源,后来他们在自己的境内发现了一座贮量丰富的大油田,那么乙国对甲国的石油资源需求就会下降,此时乙国的钞票相对于甲国的钞票自然就会升值。因为乙国缺油的窘迫已经得到了缓解,原先换1吨甲国汽油愿意拿出10吨粮食,现在却只愿意拿出5吨粮食。

  以中美两国而言,人民币对美元的汇率其实是由中国对美国(或者说世界市场,因为美元是世界通用货币)各类资源产品和美国(或者世界市场)对中国各类资源产品的供需决定的,就象一国之内的物价是由供需双方决定一样。人民币汇率就是人民币在世界市场上的价格。

  改革开放初期的中国,彼时中国缺少制造技术,小车、电脑、飞机及各种机械装备皆不能造,而中国又急需这些东西以支持现代化建设,于是人民币在国际贸易中就非常不值钱,因为,一方面我们迫切需要美元在美国乃至世界市场购买先进的设备与技术,另一方面外方拿到了大把的人民币却在中国市场上没有什么他们需要的东西可采购。就象现在海地的货币不值钱道理一样,因为你现在即使拥有海地的货币,但因为其已遭受严重地震,你根本买不到你需要的东西。

  但是,随着中国改革开放的不断深入,中国除了大飞机之外,不仅自己能够制造电脑、小车和各类机械装备,而且能够利用这些装备和中国劳动力的优势,生产出更多鞋子袜子领带打火机等诸多轻工产品,这样,一方面我们并不需要更多的美元去美国购买工业产品,因而对美元的需求就下降了;另一方面美国人拿到人民币后却可以在中国买到价廉物美的轻工产品,因而他们对人民币的需求上升了,这一降一升,意味着对美元的需求减少对人民币的需求增加,人民币理所当然地越来越值钱了。也就是说,随着中国经济的发展,人民币对美元的升值是势所必然。

  三、汇率升降有没有客观标准? 

  现在的问题是人民币该升到多少才合适?有的专家说,汇率问题是主权问题,升不升应当由我们国家自行决定;有的专家说,人民币已经在5年间升了21%,不能再升了;有的专家学者干脆说,人民币不仅不应当升值,还应当贬值,因为贬值意味着我们的产品价格便宜,更有利于抢占世界市场。

  面对众说纷纭,老百姓当然是一头雾水。但是,从前文所叙的平等自愿的交换能够促进双方财富的增长这一基本原理出发,我们仍然可以对这个貌似高深莫测的问题找到清晰明了的答案。

  任何一方交换的目的从主观上说都不是为了他人,而是为了自己,虽然客观上也有助于他人。对外贸易,如果我们仅仅是把东西卖了出去这还不够,我们还必须把卖东西换回的美元再到美国市场上买回我们需要的东西,这样,交换才算完成。如果只卖不买,那意味着我们的东西倒是给了别人,但别人的东西却没有给我们,这样的交换也许是促进了美国人的财富增长,但却没有使我们自己的财富得到相应的增加。 

  现代社会已经进入了专业分工的时代,要真正彻底地完成两国之间的交换,既要依赖出口公司也要依赖进口公司。如果出口公司只管把产品卖到国外去,而进口公司却不愿意用出口公司换回的美元来完成进口,则意味着交换并没有完成。有一条标准可以衡量汇率是否正确,那就是出口公司换回来的美元能够毫无障碍地卖给进口公司,进口公司愿意收购这些美元并全部用于进口,此时就意味着交换的彻底完成,也就意味着我们的财富得到了增加,因而这样的汇率就是正确的。

  举一个例子可能有助于大家对上面一段话的理解。假定中国某客车厂出口一批高档客车给美国,美国人愿意出100万美元购买,超过了这个价格美国人就宁愿自己制造或者到他国购买。此时,客车厂要不要做这桩生意既取决于制造成本,也取决于汇率。假如客车的生产成本既定是600万人民币,能不能卖的关键就看这100万美元拿回国内可以换成多少人民币。中国是一个外汇管制的国家,客车厂拿到这100万之后,只能到国有商业银行按照国家规定的比例去兑换人民币。如果按照1美元兑换6.8元的人民币,则这批客车可以赚80万元人民币,这单生意当然可以做;假如国家将其更改为1美元只能兑换5元人民币,则这单生意就不能做,一定要做就意味着要亏损100万元人民币。通过这个事例我们可以看出,人民币的汇率越低(也就是1美元能够兑换更多的人民币),比如说1美元可以兑换100元人民币,则出口企业的生意将毫无疑义地兴隆无比。

  但是,问题到此并没有完结,人民币不值钱固然有利于我们出口,可攒美元并不是我们的目的,我们的目的是要用这些美元从美国或者世界市场上买回我们国内需要的东西,此时要靠进口企业担纲大任。进口就需要美元,那么进口企业该用什么样的价格向银行购买美元呢?当然是要按照银行从出口企业购买美元的价格执行,并且要加上手续费,否则银行岂不赔本?可是,此时进口企业根本就没有积极性,因为按照6.8元人民币才能兑换1美元的价格来购买美元,进口企业觉得除了少数诸如大飞机之类的高精尖产品之外,其他几乎无论买什么回到国内都不合算,要么他们自己的人民币不够多买不起这些产品,要么买回来这些产品回到国内价格昂贵不会有人购买。出过国的读者想必都有过类似的经历,当我们换了一大把美元到了国外之后,我们发现几乎无论买什么,如果折算成人民币都比国内贵,只好又把美元带回来重新换成人民币。也就是说,在现行汇率制度下,我们中国人大部分是用不起美元的。

  有一个现象可以作为辅证。中国的外汇储备在什么时候会大把用上呢?一般都是某某领导带队去一趟美国或者欧洲,结果回来时往往就签订了大手笔的订单。一般人也许会奇怪,怎么中国的企业家都成了小孩子,该不该进口,难道还要日理万机的国家领导人把关吗?其奥妙就在于,中国的企业用现行的汇率去购买国外的产品大部分都不合算,只有国有企业在政治任务当前的情况下,才心甘情愿或者无可奈何地去充当冤大头!

  讲完上述例子,读者诸君应当明白这样一个道理,假定汇率正确的话,银行的金库里账号上就不会有太多的美元堆积,因为它们从出口企业处买来的美元早已被需要进口的企业买走了,可事实是我们的国家已经堆积了2.4万亿庞大无比的巨额美元,您能说这样的汇率是正确的吗?

四、出口企业是在赚谁的钱?

  那么,目前到底应该以多少人民币去兑换1美元才算合理呢?其实,除了市场,任何专家学者都无法解答这个问题。因为市场总是在不断变化的,一个国家对外国资源产品的需求及外国对该国资源产品的需求都是动态的,什么统筹一揽子物品价格来综合计算,什么采用固定的比价紧盯美元的策略,以及将汇率一劳永逸地固定在某个数值上,都可能离真实的汇率差之千里。

  正因为市场是处于永恒的变化之中,几乎所有的市场经济国家对汇率都不进行强制干预,也不进行大量的外汇储存,而是让百姓根据自身的需要自由保存与兑换,这样的汇率才能真正反映市场的需求,才能使出口与进口达成平衡,此时的汇率才是正确的真实的,才能真正地促进交换双方的财富增长。也正因为这个原因,汇率是否自由浮动,就成为国际上通行的衡量一个国家是否是市场经济国家的重要标准。

  当然,汇率自由浮动,将给出口企业带来风险,比如三个月前是1美元兑换6.8元人民币,于是企业接了一单1000万美元的生意,可是三个月完成加工制作之后,汇率变成了1美元只能兑换5元钱,意味着收入将从6800万元人民币降到5000万元人民币,那么这桩订单完全有可能会从盈利变为血本无归。所以,对于出口企业而言,他们希望人民币汇率起码是稳定,最好是贬值,无论如何也不要升值。

   回到前面客车的例子,出口一批高档客车到美国,我们的生产成本是600万元,美国人只愿意出100万美元购买,如果按照现行的汇率客车厂可以赚回80万元人民币。但如果国家放开汇率管制,按照市场需求美元在中国并没有那么值钱,人民币势必升值,假定升值到1美元兑换5元人民币,则客车厂在真实的市场价格下,每生产一批客车,实际上亏损100万元,这单生意其实是不应该做的;但如果政府强制人民币继续贬值,比如贬到1美元兑换10元人民币,则每批客车可以赚到400万元,这对客车厂来说简直就是天上掉钞票。

  需要提请读者诸君注意的是,不管美元兑换多少人民币,即便是1美元兑换10元人民币,客车厂能够大发横财,美国人对这批客车也只付了100万美元,我们国家只能凭着这100万美元从美国市场上拿回100万美元的商品。既然美国人没有多付钱,但客车厂却赚得盆满钵满,这钱是从哪里来的?

  这钱其实与美国人一点关系都没有,这是客车厂把100万美元交给商业银行按固定的汇率标准兑换来的。中国像客车厂一样的出口企业何止千万,他们因为在现行的汇率标准下有钱可赚,必定会拼命地加大生产出口国外以换取美元,再将这些美元从国内商业银行里兑换出人民币,有钱可赚企业当然会乐此不疲。

  问题是,商业银行兑换美元的钱又是从哪来的,按道理应当是来自进口企业对美元的购买,这样一个国家的进出口就平衡了。可前面已经讲过,按照现在的汇率标准,进口企业根本就没有进口的积极性,美元只进不出或者多进少出,商业银行再多的钱也经不起出口企业的兑付,它们就只好把美元卖给央行,因为这个兑付标准是央行制订的。央行本没有钱,因为央行并不是盈利单位,但这并不妨碍央行能够付出钱来,因为央行虽然不能盈利,但却有印钞的权利,随着出口企业美元的不断流入,央行就开动印钞机按照美元数额的6.8倍印刷人民币向出口企业支付,然后这些人民币再通过出口企业的生产采购环节全部流入了国内市场。

  你想想,中国现在的外汇储备已经超过了2.4万亿美元,那么央行为此多印了多少人民币投放市场呢?心算一下你就能得出已经投放了超过16万亿的人民币。其实,还不止这个数,因为以前很长的一段时间里,外汇价格是1美元兑换8.7元人民币。你现在明白了,为什么我们在国内总是感觉到人民币不断地贬值吗?

  五、人民币不升值会有什么后果?

  人民币不升值,就意味着出口企业能够生产兴旺,企业有利润,工人不下岗,这对出口企业当然是好事一桩,这也是出口企业言之凿凿反对人民币升值的理由。可是,政府决策不能仅仅考虑出口企业的利益,更多的是要考虑全社会的利益。我们还是来看看人民币不升值会给我们的社会带来怎样的灾难性后果?

  一是中国的财富将会源源不断地流向美国,而同等的财富却换来更少的美元,因为汇率偏低意味着我们换回等值的美元需要用更多的东西,说白了我们是在送东西给别人;二是贸易摩擦会越来越多,因为政府不让人民币升值,就只能靠印刷人民币来兑付美元,相当于动用全国的力量给出口企业补贴成本,损害了其他国家与中国出口企业生产能力类同企业的利益,这不符合WTO的规则;三是产业结构将会更加畸形,因为出口企业产品低价贱卖也能赚钱,原本是不应该投产的企业会因为出口换汇带来利润而拼命地加大投资,中央反复提出的所谓减少出口增加消费为目标的经济结构调整终将化成泡影;四是随着世界金融危机缓解,国外的消费能力逐步恢复,出口增多则美元储备还会继续增多,为了兑换美元人民币只好大量发行,国内通货膨胀必将如影随形卷土重来。

  有的人看到这里,或许还心存侥幸,人民币不升值毕竟使我们中国的外汇储备坐上了世界第一把交椅,这说明我们中国现在有钱了,再也不像从前那样积贫积弱了。然而,天量的外汇并不意味着我们已经财富在手牢不可破,它同样面临着不断缩水贬值的可能。 

  当我们刻意用偏低的汇率来换取外汇时,攒钱的过程中我们用更多的东西换来更少的美元已经损失了一次;当我们用外汇储备来购买美国的各种基金股票时,基金股票价格大跌(如黑石基金)又让我们损失了一次;当我们用外汇储备来购买各类债券时,因为这些公司(如房地美、雷曼)的破产或亏损我们又损失了一次;当我们手握这些美元茫然迟疑进退维谷的时候,美国已经开动印钞机来救市,源源不断的美元面市,使我们手中的美元又进一步受损。这些损失动辄是天文数字,有兴趣的读者可以上网查一查中国在美国“两房”及雷曼等公司的债券股权损失是何等地巨大,那是多少中国农民工的血汗!

  更重要的是,中国是个穷国,最多也只能算是个发展中国家,这2.4万亿的外汇储备意味着中国人已经送出了超过16万亿人民币的财富给美国,而我们却没有从美国人那里拿回相应的财富,美国人只给了我们一张2.4万亿的借条,甚至连借条也谈不上,因为美国人并不因此给我们利息,而且美元是美国这个主权国家有权不断印刷使之不断贬值的。当然,这并不能去责怪美国人黑心,美国人支付了美元就意味着他们愿意与我们交换,问题是我们的汇率制度使中国人无法去使用这笔钱,这样的制度不应该改革吗?

六、未来路在何方?

  中国的许多问题,原本只属于经济策略,完全可以充分地讨论争议,然后寻找最佳之策。但是经济政策一旦沾上政治,说白了就是某个领导人针对某一现象发表了意见,整个中国的舆论立马会千人一面众口一词,无数的下级会主动自觉地为上级的论点寻找支撑的论据。

  中央政府关于人民币升值问题的强硬态度一经发出,各类媒体便立即行动起来,各路专家纷纷义正词严地谴责美国的霸权主义行径,找一些似是而非的理由混淆视听。有的节目主持人其实自己也没有完全明白汇率的原理,就迫不及待地开始声情并茂的爱国表演。

  经济界常有一些令人啼笑皆非的事情,比如,凯恩斯说经济萧条时,政府可以雇一批人白天去挖沟,再雇另一批人晚上去填沟,如此反复循环,然后给他们发工资,这样就可以拉动消费。拿这样的理论去诓骗一个在田间除草的老农,一定会被老农笑掉大牙,因为在他眼里这是浪费,是傻子行为,如真想照顾百姓,直接发钱就是,何必浪费力气挖沟。然而,就是这样一些违背常识的理论,却深得世界各地政府官员的赞赏,也被中国政府各级官员奉为圭臬,其背后的根源不是官员们不懂常识,不知道政府花钱的浪费巨大与效率低下,而是这一理论为官员们干预经济从中谋利找到了理由与借口。

  汇率的问题大概也不例外。天量的外汇聚集于央行掌控于中央,这笔不劳而获之财(相对于外汇管理者)对于相关部门和利益团体是不是一件利益巨大的事情,相信读者朋友心中自有分寸。可以看见的事实是,央行的所谓专家学者,没有一个不是反对人民币升值的,意见高度一致,态度斩钉截铁,这其中显然是屁股决定脑袋的原理在起作用。这些专家学者提出的一些貌似逻辑严谨振振有词的问题,只要广大读者认真理解了本文前面的文字,一定可以在其严丝合缝的逻辑当中找到不堪一击的软肋,有兴趣的读者可以自行去分析评判。

  最让老百姓担心的是,如果让人民币升值(至于是缓慢升值还是一步到位那是方法问题),出口企业岂不倒下一大片?倘使人民币缓慢升值(比如就像某些专家建议升值2%),企业就无利可图,那说明,这家企业其实早就应该倒闭,它此前所以还能盈利,并不是美国人给了他们利润,而是全国人民通过通货膨胀养活了他们。至于工人们,倘使政府真心要帮助他们,简单易行的办法是把钞票直接发给他们,让他们趁早转行,把青春年华用到国家更需要的行业里,国家何必为此苦苦支撑起一座座亏损的工厂,何必把大量的财富白白送给外国人呢?
 
  倘使汇率最终上升至市场认可的真实汇率,则广大企业都会依据真实汇率调整自己的生产行为,该出口的就出口,该进口的就进口,中国的有限的资源秉赋就不会被低价贱卖,就能得到了合理高效的使用与分配,中国的产业结构才可能得到实质性调整,中国经济才可能从此凤凰涅槃浴火重生。 

  其实,现阶段即使缓慢升值也是权宜之计,因为,前文已述,正确的汇率最终来自于市场调节,要想提高效率,使中国经济彻底摆脱出口依赖转而促进内需,唯一的出路是取消外汇管制,破除固定汇率制度,让各种外币与人民币自由兑换,市场自会找到一条正确的汇率之途。

  对汇率问题的错误认识以讹传讹并不断蔓延,一些所谓的经济学家扮演了摇旗呐喊推波助澜的角色,历史终将会证明他们不唯实只唯上的错误,并将他们钉在学术良知的耻辱柱上

201011 月14

我可是有微博的人

某领导对一女孩耍流氓,女孩强烈反抗,领导骂道:“小妞,别闹了,我可是有背景的人!”女孩一听,顿时笑了:“大叔,别闹了,我可是有微博的人。”

201011 月12

为什么皇帝要自称是天子

小明:“爸爸,为什么皇帝要自称是天子?” 爸爸:“因为皇帝自认为是天的儿子嘛” 小明:“那你是奶奶的儿子,为什么你不叫自己奶子?” 爸爸:“%¥#&@#”。。。

201011 月12

mysql : Lock wait timeout exceeded; try restarting transaction

使用的InnoDB   表类型的时候,
默认参数:innodb_lock_wait_timeout设置锁等待的时间是50s,
因为有的锁等待超过了这个时间,所以报错.
可以把这个时间加长,或者优化存储过程,事务避免过长时间的等待.

my.ini文件:
#innodb_lock_wait_timeout = 50
改成
innodb_lock_wait_timeout = 500

 重启mysql服务。

201011 月11

细看周边邻里 中国养的三条白眼儿狼 打印 订阅 刷新

猴子,越南在越南抗美战争期间,也是中国国内经济最困难的时期。刚刚渡过“三分天灾,七分人祸”的“三年自然灾难”,又进入到“史无前例”的“十年内乱”,中国老百姓简直就是在“水深火热”中煎熬。城镇居民的衣食住行,只能维持在最基本生活标准,广大农村的老百姓就连最基本的生活标准都难以维持。就是在这种情况下,中国政府和人民对于越南给予了最真诚、最无私的援助 但我们得到的是什么回报: 对中国来说,越南在北方蚕食中越边境,又在1978年入侵中国南方盟友柬埔寨,这是赤裸裸的地区霸权主义,是对中国周边安全的严重威胁。当时的中国,主要压力还是在东南台海一线和北方中苏边境。对越南越来越反华的背信弃义的行径,广大边民和边防部队气愤不已。为了支援柬埔寨的反侵略斗争,使越南陷入两线作战的环境,并且为了维护 人民日报关于开战的报道边界安全。 “越南政权三番四次挑起边界事端,严重地骚扰了中国边民的日常生活和生产活动,中方一再发出警告,越方却置若罔闻,一意孤行,中国政府在忍无可忍的情况下,被迫发动边界自卫击战,对越南实行惩罚。”

  最终越南从老师那里得到了教训,乖了一段时间,可现在整天又气焰嚣张的在南海惹是生非,该死啊!无耻啊!

  外蒙古,一衣带水、又貌似骨肉情深的混小子蒙古国曾经直接的向我驻蒙使馆提交了总计12250名工人的清单,包括粗细木匠、泥瓦匠、制砖瓦、烧石灰、谷物蔬菜树木花卉种植、家具制造、厨师、裁缝、制靴、印染、桶匠、捕鱼等近40个工种,蒙方同时要求工人自带工具我国外交档案解密透露1960年底以前的实情蒙古国是最早请求支援劳动力的国际国家,且此次蒙古所提出的工人种类繁多,要求去蒙的时间又急,并且所涉及的问题甚广…进行动员是有困难的,后来,根据中方协调,再难再不好办还是答应了外蒙的要求,至今仍连续不断的再蒙古国的建设上投入大量的资金、设备和人员。

  但是,我们祖国得到了什么,我们劳动人员得到了什么, 我们为蒙古国培养了大量的人才,提供了大量人力资源、资金技术支持,蒙古人却培养了大量的反华势力,蒙古国内有大股反华亲日亲美的力量,一直在鼓动着人民群众的繁华情绪,令人发指啊。

  作为与中国有着极深渊源的蒙古,从民间到官方,如此的排华是我们每个中国人没有想到的。作为蒙古的警察,执法时可以不出示身份证明和执法依据证明,并且可以和衣服上有显眼纳粹标志的新纳粹主义者一起执法也是我们没有想到的。对我们中国人民的行为是令我们心寒的。

  北朝鲜 高丽棒子之一中国的志愿军在朝鲜死了40万人,为了新中国的安定,为了朝鲜的解放!

  中国倾尽全国之力志愿朝鲜,没有中国朝鲜早就死悄悄了!

  友谊!中国人民对朝鲜人民的友谊够深厚的友谊!

  但在20世纪90年代中期朝鲜经济出现严重困难时,中国给予了无私的援助。

  中国也积极支持朝鲜的经济开发和发展计划。2005年10月,由中国政府援建的朝鲜大安玻璃厂竣工投产,就是一个重要的标志。

  我们再看看我们得到了什么:

  6几年的时候和跟随中国和中国断交,砸了中国志愿军的陵园,甚至毛岸英的墓碑都砸了!

  中国2000年申办奥运会的时候投了悉尼一票!中国以两票落选!

  这就是朝鲜政府对中国人民的友谊!

  所有的一切中国人民都要记住,记住中朝人民血肉相连的感情,也要记住朝鲜政府对中国人民的友谊!

  抗美援朝中朝鲜人民军和志愿军的贡献绝对不可同日而语,但是在朝鲜现在的课本里面全是伟大的金正日举起枪一下就打下美军的飞机,彭德怀好像去朝鲜去喝茶似的很崇拜似的看着金正日,真恶心!我们历史书中描述国民党抗日的情节也没朝鲜这样恶心的!

  朝鲜的这些举动太过分了,我作为一个中国人都看不下去了。我们只能要求自己要具有宽容仁爱的心,这样才能够创建一个美丽友好的家园,富饶强盛的国家,和谐生活的世界大环境吧。

  巴基斯坦 可敬的国家 可爱的人民巴基斯坦是不是白眼狼呢,我真的不能确定,毕竟这帮兄弟还是挺够义气的,虽然有对不住我们的地方,但是巴基斯坦人民是伟大的,中国人民是伟大的,中巴友谊万岁~~!!!

  还记得08奥运吗?西方国家要抵制奥运圣火。巴基斯坦奥委会主席说。奥运会至今。圣火从未降临巴基斯坦。唯有中国如此信任巴基斯坦。谁要是敢抵制奥运。抵制圣火。就是对巴基斯坦不友好。就是巴基斯坦的敌人。

  美国制裁中国的提案,只有巴基斯坦和古巴投了反对票。当时美国提了很多引诱巴基斯坦的优惠条件,但是巴基斯坦仍然坚持站在中国一边,当然也可以说巴基斯坦是看好中国的前途,但事实说明巴基斯坦确实知道以德报德,以怨报怨。巴基斯坦和中国的友谊是经受过考研的。

摘自:http://club.mil.news.sina.com.cn/viewthread.php?tid=281132


201011 月11

问答

问:如果你在图书馆看书,对面的异性用脚碰了你三次,你会? 答:踩住。

 问:距世界末日还有7秒钟,你想做的最后一件事?答:收菜。

问:相亲时,女方对你说:你没房没车来相什么亲?你怎么回答? 答:献爱心来了

201011 月9

穷人把钱存入银行,实际上是补贴富人

四川阿婆33年前存款400元现连本带息仅835元 她的教训是堂活生生的理财课

世行高级副行长、首席经济学家林毅夫一针见血地指出,“穷人把钱存入银行,实际上是补贴富人。”话音未落,最近,成都的汤玉莲婆婆就用活生生的事例解读了林毅夫的话。

1977年汤婆婆在银行里存了当时可以买下一套房子的400元钱,一忘就是33年。33年后,这400元存款产生了438.18元的利益,扣除中间几年需要征收的利息税2.36元,汤婆婆连本带息仅可取出835.82元。此事遂在网上引起热议。

在通货膨胀预期再次抬头的今天,我们能够从汤玉莲婆婆的事例吸取到什么经验呢?本报记者专访了有关专家为读者进行分析。记者邱敏 图/来自《天府早报》

1977年:

400元可买400斤猪肉

汤玉莲婆婆的400元在1977年确实是一笔“巨款”了。“当时全国人均存款只有20元。”中山大学岭南学院金融系教授王燕鸣告诉记者,“1977年一个普通工人的工资是36元。”网友京东散人说:“1977年一个大学生一个月的伙食费15元足够了。400元相当于大学生两年的伙食费。”也有媒体报道,当时这400元,足够买一套房子。

记者查询了一下1978年的物价情况:面粉0.185~0.22元/斤,猪肉0.85~1元/斤,北京地铁票价0.1元,水费0.12元/吨,中华香烟0.55元/盒,茅台酒8元/瓶……

根据当时的物价水平,记者计算了一下,汤婆婆当年可以用这笔钱买400斤猪肉,1818斤面粉,727盒中华香烟或者50瓶茅台酒。但按现在的物价来计算,835.82元仅可买420斤面粉,69斤猪肉,40盒中华香烟或者1瓶茅台酒。

有媒体用万科的股票来为汤婆婆算了笔更“狠”的账,“1991年万科的配股价是4.4元,如果汤婆婆当时再添40元钱,就可以买100股。她若持股‘睡大觉’至今,算上万科近20年以来所有的配送转和分红,她持有的股票市值将达到惊人的152238元(复权价),投资收益为345倍。”

专家:

钱存银行追不上物价

不算不知道,一算真是吓一跳。可为何在银行存了33年的钱只有这么少的利息呢?回想上世纪九十年代,银行利率随通货膨胀率浮动,加上当时的价格补贴,利率一度曾超过百分之二十,是不是银行计算有误呢?

王燕鸣教授告诉记者:“当时银行还没有现在转存、定投等服务,汤婆婆的本金过了定期时间之后,其余就都按照活期利率来计算,所以利息不高。”

“中国的物价从上世纪50年代直到80年代初都是比较平稳的。1987年价格闯关之后,物价从计划价格向市场价格改革的过程中出现了大的通货膨胀。”

“在经济高速增长的时期,钱存在银行里往往赶不上物价上涨。劳动力成本的上升,资源的价格重估等因素都预示着物价仍会提高,这个过程是正常的,随着经济的发展,人民收入和物价都会有提高。”王燕鸣表示,“一个经济高速增长的社会,财富的重新分配是一个明显的过程,所以如何规划自己的财富显得特别重要。”

抵制通胀:

没有一种投资绝对保值

今年以来,市场上“蒜你狠”、“姜你军”、“豆你玩”、“糖高宗”、“油它去”逐个来袭。通货膨胀的阴影仿佛又笼罩在市民的头顶了,让口袋里的钱保值越来越成为市民们必须考虑的问题。

专家认为,其实没有一种投资是绝对保值的,1990年日本房地产泡沫崩溃,日本房价、地价不断下跌,一直到今天还没涨回去。今天看起来,金价似乎不可一世,但1997年亚洲金融危机前后,黄金被一些国家、炒家打压,下跌接近40%。古玩字画同样如此,1990年以前,日本古玩字画价格飞涨,但是日本经济泡沫破灭以后一落千丈。

王燕鸣教授提醒大家:“投资并不仅仅是买这买那。譬如,周围所有人都认为买房保值的时候,房地产市场也就危险了。对于年轻人来说,学习技能就是一种投资,把钱花到教育上了,就有可能改变你在社会财富分配中的位置。”

网友观点:

“当年的400元,巨款吧!”

“哼哼,再过三十年,你现在的财产,会怎样?”

“小老百姓真可怜,有点钱都是压箱底备灾备荒的。花不敢花,存在银行里就这么贬值。”

“33年前400元可以买多少黄金,现在的835元又能买多少黄金,有钱存银行的人真傻,去买通货吧,(换成黄金至少可以保值)。”

“所以说,钱要懂得用来投资,放在银行里是没有意义的。毕竟银行不是给我们打工的呀!”

事件回放:

家住成都水碾河的汤婆婆,1977年将400元存进银行,没想到33年后却遭遇取款困难。因为当年的中国人民银行牛市口营业所的招牌早已易主,奔波了4个多月还没有找到当年的存款记录。

经过长达一周的查询,农行终于在牛市口支行的账本库房里找到了汤婆婆存单的原始记录,并通知汤婆婆的儿媳妇黄女士前来兑付。黄女士兴冲冲地来到银行取钱,却发现存折连本带息仅能取出835.82元。

于是,黄女士决定暂不取钱,把这张存单作为文物来收藏。(邱敏)

摘自:http://lengxiaohua.net/2010/11/01/400-rmb-after-33-years/#more-5450

201011 月9

失控小民警丁莎莎重出江湖!!!!

201011 月7

M9与iPhone 4界面PK 魅族能否实现超越

 如果说乔布斯创造了手机市场的神话,那么魅族可以说是创造了中国手机市场的神话。虽然用户量与苹果iPhone相比还有很大的差距,但是产品的关注度绝对比苹果外的其他手机厂商要高许多。

  就拿即将发布的魅族M9来说,外观、功能甚至界面的曝光都称为大家关注的热门话题。虽然在魅族M8时代不少网友都说魅族M8有抄袭iPhone的嫌疑,不过通过曝光,如今的魅族M9已经完全没有了iPhone的影子,此外Android系统的注入也让这款神秘机皇重新焕发活力。

魅族能否实现超越 M9界面PK

  就在不久前,魅族M9的完整界面在网上曝光,而这次的Android系统结合自主研发的深度UI界面是否有所提升呢?而这次的界面有没有可能超越我们非常熟悉的苹果iPhone 4呢?

  带着种种疑问,小编就两款手机进行了一次界面的比较,希望广大网友能通过这次比较深入的了解一下这次魅族M9能否真正的超越苹果iPhone 4。

 外观与解锁界面

魅族能否实现超越 M9与iPhone 4界面PK  魅族能否实现超越 M9与iPhone 4界面PK
左为:魅族M9    右为:苹果iPhone 4

  首先我们可以看到这次魅族M9在设计上已经完全没有了苹果iPhone的影子,甚至在外观上要比苹果iPhone 4更时尚,不过我们此次关注的还是两款手机的“内在”因此对于外观只是简单的介绍一下而已。

魅族能否实现超越 M9与iPhone 4界面PK  魅族能否实现超越 M9与iPhone 4界面PK
左为:魅族M9    右为:苹果iPhone 4

  接下来我们看看两款手机的解锁界面,首先魅族M9延续了当初魅族M8的解锁界面设计,让用户感觉非常亲切,同时也避免了老用户需要重新适应手机操作方式的烦恼。而苹果iPhone 4也同样延续了当初苹果一贯的滑动解锁设计,在这一点上两款手机做的还是非常不错的。

桌面及其图标

魅族能否实现超越 M9与iPhone 4界面PK  魅族能否实现超越 M9与iPhone 4界面PK
左为:魅族M9    右为:苹果iPhone 4

  随后我们来了解一下两款手机的桌面,相比苹果iPhone 4来说,魅族M9在界面上似乎略显写实,不想苹果一贯的Q版大图标设计,而这样的大图标在点击时候更方面,不过同样的魅族M9的图标虽然小一些,但是在上方出了搜索栏,这样一来相比苹果iPhone 4的单独搜索栏要节约一屏的空间。

魅族能否实现超越 M9与iPhone 4界面PK  魅族能否实现超越 M9与iPhone 4界面PK
左为:魅族M9    右为:苹果iPhone 4

  此外魅族M9的资源管理功能也得到了延续,在屏幕上方下滑一下就可以出现正在运行的程序,轻轻几下点击就可以关闭。而苹果iPhone 4的后台任务管理则是新增的一个项目,这也证明苹果在iOS 4x系统才开始真正支持后台程序运行,这一点魅族还是比苹果老道一些。

文件夹以及可视化程序管理

魅族能否实现超越 M9与iPhone 4界面PK  魅族能否实现超越 M9与iPhone 4界面PK
左为:魅族M9    右为:苹果iPhone 4

  文件夹管理程序对于魅族来说确实已经不是什么陌生的东西了,但是在苹果系统上却是一个新玩意,虽说苹果文件夹在操作方面比较简单,而且图标一目了然。但是一般用户打算从电脑中拷贝一些视频音频文件还是无法轻松放在该文件夹下,相比之下虽然魅族M9的文件管理比较复杂,但是视频、音频、图片一目了然。

魅族能否实现超越 M9与iPhone 4界面PK  魅族能否实现超越 M9与iPhone 4界面PK
左为:魅族M9    右为:苹果iPhone 4

  可视化程序虽然是从出现苹果iPhone 4的iOS 4x系统后才刚刚开始有的但是已经非常成熟了,用户可以通过后台播放的程序列表实时对音乐播放器进行暂停或者进行下一首,这一点相信魅族不妨借鉴学习一下。

图片浏览对比

魅族能否实现超越 M9与iPhone 4界面PK  魅族能否实现超越 M9与iPhone 4界面PK
左为:魅族M9    右为:苹果iPhone 4

  在图片浏览的界面中,魅族可以说是有着更大的突破。非常时尚的照片堆叠效果要比苹果iPhone 4单纯的列表显示要来的丰富多彩一些,让用户在欣赏照片的同时能轻松的找到分类,这样一来也大大增加了手机在操作上的趣味性。

魅族能否实现超越 M9与iPhone 4界面PK  魅族能否实现超越 M9与iPhone 4界面PK
左为:魅族M9    右为:苹果iPhone 4

  接下来是图片预览的列表,魅族M9通过每行显示三幅图的形式让用户可以详细的了解到这张图片是横向还是竖向,在浏览的时候能更方便。相比之下虽然苹果iPhone 4每行能显示四张图片,但是用户却无法了解到这张图片是那种构图的,因此不够人性化。

视频播放

魅族能否实现超越 M9与iPhone 4界面PK  魅族能否实现超越 M9与iPhone 4界面PK
魅族M9视频播放界面

  视频预览界面可以说是魅族M9新增的一个界面,之前魅族M8时代点击视频会出现视频文件夹选项,而此次魅族M9则可以提前预览或者不通过全屏的方式看到该视频的预览画面,想了解是哪段录像简直就是一目了然。

魅族能否实现超越 M9与iPhone 4界面PK
iPhone 4视频播放界面

  而苹果iPhone 4还是延续着以往的播放器,在播放视频的时候为用户提供了简单且完整的视频播放选项。

音乐播放器

魅族能否实现超越 M9与iPhone 4界面PK  魅族能否实现超越 M9与iPhone 4界面PK
左为:魅族M9    右为:苹果iPhone 4

  在音乐播放方方面,两款手机的播放器界面大致差不多,而功能方面也大同小异。不过魅族M9的播放界面则在下方增加了不少功能而在播放界面上也可以选择不同显示界面。

魅族能否实现超越 M9与iPhone 4界面PK  魅族能否实现超越 M9与iPhone 4界面PK
左为:魅族M9    右为:苹果iPhone 4

  此外经典的专辑封面功能也得以保存,由于苹果iPhone 4也支持这一功能,因此两款手机并没有太大的差异,而相比之下魅族M9则可以简单的自定义专辑封面显得更为人性化一些。

浏览器对比

魅族能否实现超越 M9与iPhone 4界面PK  魅族能否实现超越 M9与iPhone 4界面PK
左为:魅族M9    右为:苹果iPhone 4

  浏览器方面两款手机虽然都可以安装其他浏览器,但是自带的浏览器功能已经非常强大了。而通过截图我们可以看到苹果iPhone 4的浏览器选项更多元化,相比魅族M9要多出一个搜索栏。

魅族能否实现超越 M9与iPhone 4界面PK  魅族能否实现超越 M9与iPhone 4界面PK
左为:魅族M9    右为:苹果iPhone 4

  相比之下功能栏魅族M9相比要比苹果iPhone 4简单一些,但是实际功能方面确实苹果iPhone 4要更强大一些,通过上边的截图我们可以看到苹果iPhone 4可以支持前进后退,相比电脑端浏览器也丝毫不逊色。

设置界面

魅族能否实现超越 M9与iPhone 4界面PK  魅族能否实现超越 M9与iPhone 4界面PK
左为:魅族M9    右为:苹果iPhone 4

  在设置界面上,我们看到两款手机基本功能还是都具备的,而在美观程度上魅族M9走的是简要路线,而苹果iPhone 4还是维持以往的风格。

魅族能否实现超越 M9与iPhone 4界面PK  魅族能否实现超越 M9与iPhone 4界面PK
左为:魅族M9    右为:苹果iPhone 4

  网络链接界面,两款手机也大致相同,虽然都可以轻松选择网络并且开启询问设置,不过出于个人喜好,小编觉得魅族M9看起来更舒服一些。

软件商店 

魅族能否实现超越 M9与iPhone 4界面PK  魅族能否实现超越 M9与iPhone 4界面PK  
左为:魅族M9    右为:苹果iPhone 4

  最后我们看到的是两款手机的在线软件商店的设计,苹果在线软件商店的成功是大家有目共睹的,而这次魅族首次尝试加入了在线软件商店的功能,借Android系统的东风将自己的产品更加完善,而通过曝光的图片我们也可以看到魅族软件商店虽然具备苹果软件商店的感觉,但是再设计方面更加贴近中国用户的习惯,而付费软件也是以人民币的形式支付,相比之下比iPhone软件商店要更舒服一些。

魅族能否实现超越 M9与iPhone 4界面PK  魅族能否实现超越 M9与iPhone 4界面PK
左为:魅族M9    右为:苹果iPhone 4

  而多元化的软件分类也让用户可以轻松的选择软件,不过软件是否丰富我们如今还无从考察。

  文章总结:

  今天我们对比了如今最热门的两款手机的操作界面,虽然魅族M9的界面还属于曝光图,但是我们可以看到借助Android系统,魅族M9也会完美的施展自身的研发实力来进行UI界面以及软件的开发。而在此次我们可以看到魅族M9的界面在原有的基础上更显简洁,似乎也是魅族为了老用户而特殊考虑的,此外软件商店的加入也使得魅族M9更具竞争力。相信通过Android系统魅族M9一定会有一个质的飞跃。

转自:手机中国

201011 月6

Android 2.3将于11月11日发布

 Android产品主管Gaurav Jain在今年7月份时候谈及Google音乐服务的时候曾表示,该服务将于下一代智能手机操作系统Android 2.3(开发代号Gingerbread姜饼)一起发布,日期初步定在今年第四季度。如今第四季度已经过了快一半了,Android 2.3呢?

  今天,国外IT网站Intomobile爆料称,据可信来源证实,Gingerbread SDK将在11月11日发布,刚好于首款采用该系统的三星Nexus Two的发布日期相近。

  上月底,Google在公司总部前的草坪上新增了姜饼小人的雕塑,按照惯例,这款系统不久就会发布了。而近日发布的Google Maps 4.6版应用中也隐藏了新系统的一些踪迹,有人指出目前这款应用已经内置了部分Android 2.3版系统的界面元素。种种迹象表明,Android 2.3确实已经不远了。(来源:驱动之家[原创])