2010/12/25

「做工」的問題及想法

工作的公司是傳統產業的公司,員工不像電子廠有著高學歷的員工,
通常這些員工都從青少年時期學藝而成的,也有從職訓班或是職校出來的。

但不論如何,我總是稱呼他為「師傅」,這是對於這些員工的一種尊稱。當然這也被電視廣告當成創造台灣奇蹟的無名英雄。

若以高科技產業和傳統產業的員工薪水相較,員工薪水傳統產業通常來得較高,且因為工作有時並不是那麼的多,通常都以日薪來作計算。

通常台灣以中小企業為主,再傳統中小企業產業員工大多分成三個等級,

有經驗,成熟做事有效率的老師傅。通常年歲約 45 ~ 65 之間 ,且身體狀況都保持的非常的好,不抽煙,不吃檳榔,作息很正常。

年輕剛出社會不到幾年的小伙子,年輕氣盛通常技術還可以。有的有菸,酒,檳榔再身上。遇到這種我竟可能不用,因為他闖的禍或造成的失誤可能比他賺的多。

第三種就是一直再換工作,對自己沒有信心。表現的結果也令人沒有信心,這也就是台灣失業率的來源。但是通常傳統產業比較缺員工,大部份只要差不多,不要太差勁就可以進去。薪水給的也不錯,因為是勞力工作應徵的人實在太少了......

台灣這幾年嚴重的輕視技職教育,造成人才嚴重的缺乏頭殼比較清楚的人都跑到所謂的高科技業。反倒變成職訓中心是最大的技術工作人員養成場所,這台彎的社會真令人擔憂呀!!

但我覺得好處是,傳統產業工作講求日清日結,再工作時間內把今天的工作做完,上班時間就發揮最高的工作效率,回家就好好的休息。這樣比現在長工時效率低來的有用多了.......

但效率的定義各公司不同..........但可確定的是獨裁的體系是最有效率的。

One-way Web Hacking

One-way Web Hacking

前陣子追一個入侵的事件,找到的相關資料....

http://net-square.com/papers/one_way/one_way.html
http://blog.aggregatedintelligence.com/2010/02/dotnetnuke-version-zero-day.html
http://www.foofus.net/~jmk/iis.html

用 tftp 配合 dhcp 使用於網路開機 (tftpd32)

tftp server + dhcpd server on windows

http://tftpd32.jounin.net/

配合 iscsi boot
gpxe
pxe
很方便的

當然用來當作 switch or route 的備份設定檔伺服器也應該很方便。

作業--Huffman Decoder and encoded

/*-------------------------------------------------------
PROGRAM: DEHUFF.C
USAGE : dehuff encoded.file decoded_file
PURPOSE: Huffman Decoder
Created by barkly 06/11/03
Finish Tested by mtchang
--------------------------------------------------------*/
/* Error codes returned to the caller */
#define NO_ERROR 0
#define BAD_FILE_NAME 1
#define BAD_ARGUMENT 2
#define BAD_MEM_ALLOC 3

#include <stdio.h>
#include <io.h>
#include <fcntl.h>
#include <values.h>

/* Global variables */
FILE *source_file,*dest_file;

/*int main(void);*/
void help(void);
void pass1(void);
void get_min2(int,int*,int*);
void pass2(void);
int get_bit(void);

typedef struct
{
float frequency;
int Lchild;
int Rchild;
int parent;
} NODE;

NODE table[256+255]; /*CONVERSION TABLE�RECORD��511*/
long total_bytes;
int tail;

/***************/
int main(argc,argv)
/* Returned parameters: Returns an error code (0=None)
Action: Main procedure
Errors: Detected, handled and an error code is returned, if any
*/
int argc;
char *argv[];
{ if (argc!=3)
{ help();
exit(BAD_ARGUMENT);
}
else if ((source_file=fopen(argv[1],"rb"))==NULL)
{ help();
exit(BAD_FILE_NAME);
}
else if ((dest_file=fopen(argv[2],"wb"))==NULL)
{ help();
exit(BAD_FILE_NAME);
}
else {
pass1();
/* fseek(source_file,0L,SEEK_SET);
rewind(source_file); */
pass2();
fclose(source_file);
fclose(dest_file);
}
printf("Execution of decode huffman completed.\n");
return (NO_ERROR);
}

/***************/
void pass1(void)
{
int i,m0,m1;
long total;

fread(&total_bytes,4,1,source_file); /*������串�度*/
for (i=0; i<256; i++)
fread(&table[i].frequency,4,1,source_file); /*�����素� {頻�*/

i = 256;
get_min2(256,&m0,&m1); /*以���建CONVERSION TABLE� {�*/
while (table[m1].frequency <= 1.0)
{
table[i].frequency = table[m0].frequency+table[m1].frequency;
table[i].Lchild = m0;
table[i].Rchild = m1;
table[m0].frequency = 2.0;
table[m1].frequency = 2.0;
table[m0].parent = i;
table[m1].parent = i;
i++;
get_min2(i,&m0,&m1);
}
table[i-1].parent = 0;
tail = i-1; /*tail��ROOT NODE*/
}

/***************/
void get_min2(int total, int *m0, int *m1)
{
int i;

if (table[1].frequency > table[0].frequency)
{
*m0 = 0;
*m1 = 1;
}
else
{
*m0 = 1;
*m1 = 0;
}
for (i=2; i<total; i++)
{
if (table[i].frequency < table[*m0].frequency)
{
*m1 = *m0;
*m0 = i;
}
else if (table[i].frequency < table[*m1].frequency)
*m1 = i;
}
}

/************/
void pass2(void)
{
int ptr;
long count=0L;

while (count < total_bytes)
{
ptr = tail; /*�ROOT NODE }�traverse down*/
while ((table[ptr].Lchild != 0) || (table[ptr].Rchild != 0))
{ /*��NODE�Lchild�Rchild�����0�*/
if (get_bit() == 0) /*�繼�traverse down */
ptr = table[ptr].Lchild;
else
ptr = table[ptr].Rchild;
}
fputc(ptr,dest_file); /*����TERMINAL NODE��*/
count++; /*����該NODE�ASCII碼�*/
} /*並�已�解碼�byte� [1�*/
}

/****************/
int get_bit(void)
{
static bit_count = 0;
static bit_buf;
int x;

if (bit_count == 0)
{
bit_buf = fgetc(source_file);
bit_count = 8;
}
x = bit_buf & 0x80;
bit_buf = bit_buf << 1;
bit_count--;

return x;
}

void help()
{
printf("\nUse: dehuff source target\n");
printf("source: Name of the file to compress\n");
printf("target: Name of the compressed file\n");
}

Ubuntu Enterprise Cloud 安裝方式

關於Ubuntu Enterprise Cloud

可以提供虛擬機器的服務,還有網頁的管理界面。

中文翻譯的版本
http://kadok0520.pixnet.net/blog/post/25483674

原始文件
https://help.ubuntu.com/community/UEC/CDInstall


有做過但沒成功...等下次有空再來玩玩看

使用 usb 安裝 fedora or centos

使用 usb 安裝 fedora or centos

http://unetbootin.sourceforge.net/

但是好像 RHEL6 還不支援。

用 tftp 配合 dhcp 使用於網路開機 (tftpd32)

tftp server + dhcpd server on windows

http://tftpd32.jounin.net/

配合 iscsi boot
gpxe
pxe
很方便的

當然用來當作 switch or route 的備份設定檔伺服器也應該很方便。

Windows Server 如何防毒?

「Server 防啥毒.... 都擺在機房沒人去動怎麼會中毒....」

通常Windows Server 會中毒原因都不是很單純, 就我曾遇過得經驗來說windows server裝防毒軟體沒有用的通常有裝得都有中毒,沒裝的人反倒是中的少。這原因很簡單,因為通常server一定是提供網路上的服務,不會有人用server做pc的工作(但看過不少笨蛋是這樣做的....),除了windows server系統本身有 windows update 每月定時會更新系統的漏洞,沒更新則是一定會中獎的。

server版的防毒軟體--不錢的
* http://www.clamwin.com
* http://www.safer-networking.org/ct/index.html
其他都是要錢的
且不一定有用基本上我都是用
netstat -anp 看目前有哪些人連到你的機器
tcpview 也是一樣的功能,但是更細
svhost viewwe 看有沒有奇怪的程式被載入

簡單的解毒方式:
先掃毒
* http://www.clamwin.com
* http://www.safer-networking.org/ct/index.html
分析中毒原因:通常是木馬,或是網路攻擊

所以整理歸納幾個實用的防毒防入侵手段:
(1)別把server當PC用,讓他的工作單純化.
(2)記得安裝防火牆,系統有漏洞一定要修補。因為server中毒通常由本機提供的網路服務循標準管道入侵的。
(3)目前看到比較多的漏洞是 m$-sql or asp 的漏洞,通常是程式或是伺服器的權限設定的太過寬鬆造成的。

2010/12/19

Adobe Flash for X86_64 64bit on RHEL/CentOS

簡單的說就是 64bit 的flash player
官方網站的連結很不友善,幾乎就是不支援的樣子
曾經是出過,後來又說不支援...
我找了半天才找到下載點....

下載點:
http://download.macromedia.com/pub/labs/flashplayer10/flashplayer_square_p2_64bit_linux_092710.tar.gz

然後把壓縮檔解開,放到 /usr/lib64/mozilla/plugs/  目錄內
$ tar zxvf flashplayer_square_p2_64bit_linux_092710.tar.gz
$ cd flashplayer_square_p2_64bit_linux_092710.tar.gz
$ chown root.root libflashplayer.so
$ mv libflashplayer.so /usr/lib64/mozilla/plugins/libflashplayer.so

2010/12/07

某單位借用教室程式表示流程圖

#!/bin/bash
# Program:
# 某單位借用教室程式表示流程圖  
# History:
# 2010.12.07
# 對話開始
for (( i=1; i<=10次; i=i+1 ))
do
     echo '生:12/x Rxxxx 教室有空嗎?'+" $各種可能的嘗試語句與理由 "
     echo '工:沒有,有人上課'; 
done

# 等待兩分鐘後
sleep 2   


# 對話開始2,和上面一樣沒變
for (( i=1; i<=10次; i=i+1 ))
do
     echo '生:12/x Rxxxx 教室有空嗎?'+" $各種可能的嘗試語句與理由 "
     echo '工:沒有,有人上課'; 
done

......自此陷入無限循環......
# 幹!!!

2010/12/06

12/6 google 日曆有錯誤,錯誤示意圖

Google 日曆嵌入頁面的顯示,產生錯誤。
之前沒發生問題,但是現在發生了。
很多人昨天就發現問題的,請幫忙解決巴!!!!
http://www.google.com/support/forum/p/other/thread?tid=41fefbef78762fee&hl=zh-TW

看起來是嵌入網頁版本的日曆套表套錯表格了。
登入後的版本顯示為星期一開始 <---- 正確
網頁版本的顯示為星期日開始 <--- 顯示差一天
煩請修正一下巴!! 否則我老闆會跑錯行程拉!!!


請看起來是 12/4 日動了程式碼後,才發生問題的
http://www.google.com/support/forum/p/other/thread?tid=13089896f160c732&hl=zh-TW

2010/12/04

中山大學EMBA及IBMBA聯合招生說明會

說明會報名網站 QRCODE  可以手機線上報名


IBMBA文宣海報,這個正妹叫做 patty 目前在德國交換....maybe,高雄市公車後面的海報都是他,我沒有MSN....




中山IBMBA 2010法國巴黎交換經驗分享 更多 http://ibmba.nsysu.edu.tw (有full hd畫質,希望他不會來信問候我......)

但我覺得他講的很好呀!!人又很正.....












100年度招生說明會(立即報名)

地區時間活動地點
台北2010/12/09(四) 19:00-21:00福華國際文教會館 201室
(台北市新生南路三段30號)
新竹2010/12/09(四) 12:00-14:00新竹科技園區科技生活館 207 室
(新竹市科學園區工業東二路1號)
台中2010/12/08 (三) 19:00-21:00全國大飯店 (B館 東京廳)
(台中市台中港路一段257號)
台南2010/12/01(三) 12:30-13:30南科同業公會南部園區辦事處R202
(台南縣新市鄉南科三路26號2F )
2010/12/01(三) 19:00-21:00香格里拉台南遠東國際大飯店 9F
(台南市大學路西段89號)
高雄2010/12/18(六) 10:00-12:00中山大學管理學院2樓2037室