Showing posts with label work. Show all posts
Showing posts with label work. Show all posts

Mar 22, 2011

一道笔试题

#include <stdio.h>
#include <string.h>

char *shift_r(const char *src, const int n, char *dst)
{
    int i, len;

    if (src == NULL || (len = strlen(src)) == 0)
        return (dst = NULL);

    for (i = 0; i < len; i++)
        dst[(i+n)%len] = src[i];
    dst[i] = '\0';

    return dst;
}

int main(int argc, char *argv[])
{
    const char *src = "abcdef";
    char dst[80];
    const int n = 2;

    printf("%s\n%s\n", src, shift_r(src, n, dst));

    return 0;
}
好吧, 这个也算 ... 口头描述这个真没劲 ...
#!/bin/bash

echo "testing for ..."
for ((i=0; i < 10; i++))
do
    echo $i
done

echo "testing while ..."
i=0
while [ $i -lt 10 ]
do
    echo $i
    i=$((i+1))
done

Dec 23, 2010

搭建项目组内部wiki

  看到txt2tags有一段时间了,在Ubuntu下工作一个多月了吧,以后也会一直在Linux下工作,必须抓紧放弃讨厌的二进制文件格式,选个处理纯文本的工具完成文档。

  上周笔试题是边学边用txt2tags完成的,最近,项目组要写很多文档,为扩大做准备。首先想到的就是wiki了,其实,之前一直用trac做wiki的,但,trac有些不好的地方。

  trac的不爽之处:
  1. 啥都做, 喜欢 do one thing, and do it well.
  2. 貌似用的自己的数据库,想只把wiki分离出来不太方便
  3. 想把wiki页面转换成其他格式,不是很方便

  自己用过一段时间的vimwiki, 总觉得太简单了,而且,那天项目组来个用emacs的就不好整了。

  考虑到txt2tags one source multi target. 纯文本,语法也比较简单,容易上手,txt2tags.org 几乎所有页面都可以查看源文件。

  最终,决定用txt2tags,用git管理 *.t2t,大家都可以随便修改wiki页面,当然,修改稍微麻烦了些,必须先通过git checkout下来,必须学习txt2tags markup语法,然后,一个字一个字的写,写好再push上去,我已经写好git hooks/post-update 根据修改文件在/var/www/wiki下生成相应的 .html。

  虽然难了些,但,我们是开发组,大家应该多学习点知识,不管是编码还是写文档,争取都做得专业点,争取做公司技术实力最强的项目组。

  一切都刚刚开始,好的愿望,希望坚持会有好的结果。

Nov 29, 2010

working in Ubuntu

终于可以直接在pure Linux 上工作,可以不在使用Windows了, 目前公司要求安装Ubuntu

明天过去继续安装、配置, 安装乱七八糟的软件,修改配置 总是很麻烦,但,能不用windows 这点麻烦算什么 :-)

Jul 16, 2010

在这边快2个月了

  自从到TT公司后,工作充实多了,充实的中午都没空看 Google Reader, planet 了。

  从来没有这么认真的学习、工作过,每天早早起床上班, 中午吃饭都在讨论技术问题,下午自愿加班继续没完成的工作...

  项目的管理模式也发生了很大的变化,不像以前的传统项目管理模式,总是PM分工大家做。现在,大家讨论要完成那些feather, 然后,每个人自己选择喜欢的task。当然,这种Alige的管理模式要想run的好,项目组必须有一个好的氛围,大家都很自觉才行。一旦scrum运行的好, 工作的确是件快乐的事情

  这种模式也可以让每个人最大限度的发挥出自己的水平/潜力,任务是自己选择的,加班也是自愿的,哈哈

  在这边工作快2个月了,收获还是蛮大的,上次也被manager沟通了下,竟然说我support做的不够积极,应该更加主动些, 汗 ...

  然后,把环境搭建、wiki管理、版本控制、自动编译、自动测试都让我做, 还要更加积极的support其他人, 更要命的是要完成的任务还不能比别人少

  我还有最头疼的英语要补,每次写email、文档都要浪费很多时间(必须英文), 还好 communicator上可以写中文,不然真的疯了。
  ps: 昨天门禁卡出问题了,没法输密码,今天老外问我咋回事,费了好大的劲,写了句很烂的英语,才让他明白,不知有没有被鄙视

  努力 ... 

Jul 3, 2010

1年4个月

时间飞逝,来成都1年4个月了,在双楠也待了1年了,明天去重新找房子。

x + 3 + 11 + y + 1.z

在新公司也一个多月了,努力。。。

Mar 16, 2010

一年了

明天就在这个行业混了整整一年了,去年没做啥大的项目,都是些小修小补的。
去年6月份才知道tuxedo,明天就要给新同事做tuxedo的培训。写了一下午+一晚上
ppt,明天早上还得再准备下。
其实,他们用到的很少,如果不写tuxedo服务的话,他们只需要知道tmboot,
tmshutdown这两个命令就可以了,
而我在.profile中已经加了一条alias, alias tmreboot='tmshutdown -w 2 -y;
tmboot -y',所以,他们只需要tmreboot就搞定了。
但是,要讲上45分钟呢,就不得不找些其他东西讲,但这么点时间有不可能讲太
多,太深的我也不会啊 :-P
嗯,马上要做的项目应该挺锻炼人的,我们做C的人不多,主要分实时交易+批量交
易,打算让我负责实时交易线[目前一共3个人 :-)],
批量现在也是3个人,再加个项目经理,我们项目组就7个人 ....

Aug 4, 2009

5个月了

时间飞逝,在这边5个月了
短短5个月的时间我却在两家公司呆过,工作地点也从省xx到市xx,到现在的
xxxx开发中心。工作环境发生了很大的变化,总的来说是向好的方向发展

这段时间有些堕落,只在工作时间学习,回来基本学不下去,要看到东西很多

近期把以前同事的那本书看完,拿过来好久了,。。。

其他行业相关的也要抓紧看啊,这边开发部员工的技术的确是我工作以来最强
的,多像大家学习,同时也得给大家带来点惊喜。。。

能力有限,精力有限。既然稀里糊涂的混进这个行业,而且这个行业也还可以,
就好好干吧,在一个行业中干出点成绩来~

Jul 7, 2009

算下我的工作天数

大部分公司应该都把工作天数定为22天,而今天才知道现在的公司把工作天数
定为 21 天,我就想知道到底每个月我工作了多少天,这个问题以前从来没想过...

经测试
ox0spy@ubuntu:/code/python$ ./workday.py -y 2009
2009-01 : 22
2009-02 : 20
2009-03 : 22
2009-04 : 22
2009-05 : 21
2009-06 : 22
2009-07 : 23
2009-08 : 21
2009-09 : 22
2009-10 : 22
2009-11 : 21
2009-12 : 23
2009 total work day : 261
以后52年
ox0spy@ubuntu:/code/python$ ./workday.py -s 2009 -e 2060
[2009] real work day: 261
[2010] real work day: 261
[2011] real work day: 260
[2012] real work day: 261
[2013] real work day: 261
[2014] real work day: 261
[2015] real work day: 261
[2016] real work day: 261
[2017] real work day: 260
[2018] real work day: 261
[2019] real work day: 261
[2020] real work day: 262
[2021] real work day: 261
[2022] real work day: 260
[2023] real work day: 260
[2024] real work day: 262
[2025] real work day: 261
[2026] real work day: 261
[2027] real work day: 261
[2028] real work day: 260
[2029] real work day: 261
[2030] real work day: 261
[2031] real work day: 261
[2032] real work day: 262
[2033] real work day: 260
[2034] real work day: 260
[2035] real work day: 261
[2036] real work day: 262
[2037] real work day: 261
[2038] real work day: 261
[2039] real work day: 260
[2040] real work day: 261
[2041] real work day: 261
[2042] real work day: 261
[2043] real work day: 261
[2044] real work day: 261
[2045] real work day: 260
[2046] real work day: 261
[2047] real work day: 261
[2048] real work day: 262
[2049] real work day: 261
[2050] real work day: 260
[2051] real work day: 260
[2052] real work day: 262
[2053] real work day: 261
[2054] real work day: 261
[2055] real work day: 261
[2056] real work day: 260
[2057] real work day: 261
[2058] real work day: 261
[2059] real work day: 261
[2060] real work day: 262
company work day : 252
total waste work day 463

ox0spy@ubuntu:/code/python$ ./workday.py -s 2009 -e 2060 | grep -E '\['
| awk '{print $5}' | sort | uniq -c
12 260
33 261
7 262
可以发现未来的52年,从来就没有少于260天的

公司的 21 * 12 = 252
而大部分公司 22 * 12 = 264

实际工作天数 * 月工资/本月的工作天数

我公司的算法 : (实际工作天数 - 1) * 月工资/21
6月工作天数应该是 : 22, 所以从我实际工作天数中减一, 我对这种算法很无语
还好我工作了4天, 要只工作一天就被减没了
有机会验证下如果本月应该工作天数为20天, 是不是发工资时 (实际工作天数 +
1) * 月工资/21 , 估计很显然...

May 29, 2009

Cannot initiate the connection to 8080:80

$ export http_proxy=10.0.192.102:8080

$ sudo apt-get install apache2
Failed to fetch
http://ubuntu.cn99.com/ubuntu/pool/main/a/apache2/apache2.2-common_2.2.9-7ubuntu3_i386.deb
Cannot initiate the connection to 8080:80 (0.0.31.144). - connect (22
Invalid argument)

$ wget
http://ubuntu.cn99.com/ubuntu/pool/main/a/apache2/apache2.2-common_2.2.9-7ubuntu3_i386.deb
// 却可以下载

也就是 wget可以下载,apt-get可以获得软件包地址,但无法下载

查了下,apt-get要求把代理设成如下形式:
$ export http_proxy=http://10.0.192.102:8080

现在, wget apt-get 都可以使用了...

Mar 18, 2009

又开始工作了...

2009-03-17 又一次开始上班...

ox0spy@ox0spy-laptop:~$ date
Wed Mar 18 00:26:31 CST 2009

累啊,睡觉去...

上次笔试编程题

有一个文件,内容如下:
ox0spy@ox0spy-laptop:/code/c$ cat tt.txt
aa,female,21,54
abc,male,20,60
tt,male,22,58
ox0spy,male,23,80
mary,female,24,90
cc,female,22,88

每个字段代表的意思是:姓名,性别,年龄,成绩
请用c语言编写程序,打印成绩大于等于60分的同学的姓名和成绩.

ox0spy@ox0spy-laptop:/code/c$ cat parseCsv.c
/*************************************************************************
Author : ox0spy
Email : ossteerer@gmail.com
Blog : ox0spy.blogspot.com
Created Time : Tue 17 Mar 2009 11:35:04 PM CST
File Name : parseCsv.c
Description :
************************************************************************/
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>

int main()
{
char filename[20] = "tt.txt";
FILE *fp;
char name[20];
char sex[8];
int age;
int grade;

if((fp = fopen(filename, "r")) == NULL)
{
printf("open file : %s error\n%s\n", filename, strerror(errno));
exit(1);
}

while(fscanf(fp, "%[^,],%[^,],%[^,],%d\n", name, sex, &age, &grade)
!= EOF)
{
if(grade >= 60)
printf("%s\t%d\n", name, grade);
}

fclose(fp);

exit(0);
}