【转】分享一份C语言写的简历

个人观点:文章想法很棒,作者的编码风格也很赞,可以从中学到不少东西。转载的文章是我都用心看过的,而且希望后续再可以回过头看的文章,努力让自己的能力越来越强,加油

这里黑客新闻吗?作者用代码更新了自己的简历,是不是很接地气,特符合程序员的逼格。这是一份可读可执行的C语言源文件,也是作者编码风格的体现。

#include <stdio.h>
#include <time.h>

typedef struct {
    union {
        char * company;
        char * school;
        char * project;
    };
    union {
        char * location;
        char * url;
    };
    union {
        char * title;
        char * program;
    };

    time_t started;
    time_t left;

    char * description[];
} thing_t;

typedef thing_t job_t;
typedef thing_t school_t;
typedef thing_t project_t;

#define CURRENT 0 /* I wasn‘t alive at the Unix epoch, so that‘ll work */ /* Contact Information */ char * name = "Kevin R. Lange";
char * email = "[email protected]";
char * address = "1045 Mission St, Apt 440\n" "San Francisco, CA 94103";

/* Education */
school_t uiuc = {
    .school   = "University of Illinois at Urbana-Champaign",
    .location = "Urbana, IL",
    .program  = "BS Computer Science",
    .started  = 1251158400,
    .left     = 1336608000,
    .description = {
        "Minor in International Studies in Engineering, Japan",
        "Focused on systems software courses",
        NULL
    }
};

school_t hit = {
    .school   = "Hiroshima Institute of Technology",
    .location = "Hiroshima, Japan",
    .program  = "Study Abroad",
    .started  = 1274745600,
    .left     = 1278288000,
    .description = {
        "Cultural exchange program",
        NULL
    }
};

school_t * schools[] = {
    &uiuc,
    &hit,
    NULL
};

/* Projects */
project_t compiz = {
    .project = "Compiz Window Manager",
    .url     = "http://compiz.org",
    .title   = "Developer",
    .started = 1201392000,
    .left    = 1264291200,
    .description = {
        "Minor plugin contributor",
        "Various research projects",
        NULL
    }
};

project_t toaruos = {
    .project = "ToAruOS",
    .url     = "https://github.com/klange/toaruos",
    .title   = "Lead",
    .started = 1295049600,
    .left    = CURRENT,
    .description = {
        "Hobby x86 Unix-like kernel and userspace",
        "Advanced in-house GUI with compositing window manager",
        NULL
    }
};

project_t * projects[] = {
    &toaruos,
    &compiz,
    NULL
};

/* Employment History */

job_t yelp = {
    .company  = "Yelp, Inc.",
    .location = "San Francisco, CA",
    .title    = "Software Engineer, i18n",
    .started  = 1339977600,
    .left     = CURRENT,
    .description = {
        "Developed several internal tools and libraries",
        "Provided critical input and design work for Yelp‘s launch in Japan",
        NULL
    }
};

job_t apple_internship = {
    .company  = "Apple Inc.",
    .location = "Cupertino, CA",
    .title    = "Software Engineering Intern",
    .started  = 1306886400,
    .left     = 1314662400,
    .description = {
        "Built software framework for testing and verification of desktop retina display modes",
        "Assisted other interns with Unix fundamentals",
        NULL
    }
};

job_t * jobs[] = {
    &yelp,
    &apple_internship,
    NULL
};

void print_thing (thing_t * thing) {
    char started[100];
    char left[100];
    struct tm * ti;
    int i = 0;

    printf ("%s at %s - %s\n", thing->title, thing->company, thing->location);

    ti = localtime (&thing->started);
    strftime (started, 100, "%B %d, %Y", ti);

    if (thing->left == CURRENT)  {
        printf ("%s to now\n", started);
    } else {
        ti = localtime (&thing->left);
        strftime (left,    100, "%B %d, %Y", ti);
        printf ("%s to %s\n", started, left);
    }

    char ** desc = thing->description;
    while (*desc) {
        printf ("- %s\n", *desc);
        desc++;
    }
}

int main (int argc, char ** argv) {

    printf ("%s\n%s\n%s\n\n", name, email, address);

    puts ("Education\n");
    school_t ** s = schools;
    while (*s) {
        print_thing (*s);
        puts ("");
        s++;
    }

    puts ("Employment\n");
    job_t ** j = jobs;
    while (*j) {
        print_thing (*j);
        puts ("");
        j++;
    }

    puts ("Projects\n");
    project_t ** p = projects;
    while (*p) {
        print_thing (*p);
        puts ("");
        p++;
    }

    return 0;
}

编译后,我们看到的简历如下

Kevin R. Lange
[email protected]
1045 Mission St, Apt 440
San Francisco, CA 94103

Education

BS Computer Science at University of Illinois at Urbana-Champaign – Urbana, IL
August 25, 2009 to May 10, 2012
- Minor in International Studies in Engineering, Japan
- Focused on systems software courses

Study Abroad at Hiroshima Institute of Technology – Hiroshima, Japan
May 25, 2010 to July 05, 2010
- Cultural exchange program

Employment

Software Engineer, i18n at Yelp, Inc. – San Francisco, CA
June 18, 2012 to now
- Developed several internal tools and libraries
- Provided critical input and design work for Yelp’s launch in Japan

Software Engineering Intern at Apple Inc. – Cupertino, CA
June 01, 2011 to August 30, 2011
- Built software framework for testing and verification of desktop retina display modes
- Assisted other interns with Unix fundamentals

Projects

Lead at ToAruOS - https://github.com/klange/toaruos
January 15, 2011 to now
- Hobby x86 Unix-like kernel and userspace
- Advanced in-house GUI with compositing window manager

Developer at Compiz Window Manager - http://compiz.org
January 27, 2008 to January 24, 2010
- Minor plugin contributor
- Various research projects

原文:http://www.codeceo.com/article/c-program-notes.html

时间: 2024-10-13 06:26:03

【转】分享一份C语言写的简历的相关文章

C语言天才!想法奇异?还是逼格满满?一份C语言写的传奇简历

C语言天才!想法奇异?还是逼格满满?一份国外C语言写的传奇简历 作者用代码更新了自己的简历,是不是很接地气,特符合程序员的逼格.这是一份可读可执行的语言源文件,也是作者编码风格的体现. C语言源码(看不懂可以直接跳过) 运行效果 原效果:(看不懂转下) 翻译后 点评 1.从简历中可以看出,编码者代码规范,具有优良的编码风格和习惯.值得学习. 2.从简历中可以看出,编码者对C语言极大部分知识 :字符串,结构体,共用体等知识掌握的娴熟有余. 3.从简历中可以看出,编码者对格式要求把握的得体,无论简历

JAVA调用C语言写的SO文件

JAVA调用C语言写的SO文件 因为工作需要写一份SO文件,作为手机硬件IC读卡和APK交互的桥梁,也就是中间件,看了网上有说到JNI接口技术实现,这里转载了一个实例 1 // 用JNI实现 2 // 实例: 3 4 // 创建HelloWorld.java 5 class HelloWorld 6 { 7 private native void print(); 8 public static void main(String[] args) 9 { 10 new HelloWorld().p

PIC12F629帮我用C语言写个程序,控制三个LED亮灭

http://power.baidu.com/question/240873584599025684.html?entry=browse_difficult PIC12F629帮我用C语言写个程序,控制三个LED亮灭! 2014-12-31 16:05DINZEYU  分类:C/C++ | 浏览 87 次 C语言VC++ 按键按一次LED1低亮,按两次高亮,按三次2HZ闪,按三次关,按键长按3秒松开LED2亮,长按3秒松开LED2灭,按键长按5秒松开LED3亮,长按5秒松开LED3灭,每个功能独

今天看到一个网站不知道是用什么语言写的

今天看到一个网站不知道是用什么语言写的网站(www.kufangwuyou.com)不知道这是怎么回事一直费解,想换成div+cdd的!

用C语言写解释器(一)——我们的目标

声明 为提高教学质量,我所在的学院正在筹划编写C语言教材.<用C语言写解释器>系列文章经整理后将收入书中"综合实验"一章.因此该系列的文章主要阅读对象定为刚学完C语言的学生(不要求有数据结构等其它知识),所以行文比較罗嗦,请勿见怪.本人水平有限,如有描写叙述不恰当或错误之处请指教!特此声明. 起因 近期,我们学院老师联系我,希望我能提供一段用 C 语言编写的 BASIC 解释器,用于 C 语言课程设计教学.我前段时间也正好着迷于"语言"本身,本就有打算写

如何判断一个网址是由哪种语言写的

一般的情况看页面的后缀名 Server Side Includes 技术,拓展名为.shtml或.html或.htm PHP技术,拓展名为.php JSP技术,拓展名为.jsp或.jsf(JSF技术是JSP技术的拓展) ASP.NET技术,拓展名为.aspx (x 代表extension) ASP技术,拓展名为.asp ColdFusion技术,拓展名为.cfc 好点的网站,一般用资源转向功能(就向JSP中web.xml定义的名字,把HOME转向到home.jsp,就隐藏了拓展名).或者用Apa

C 语言写的爱情诗歌

/* ******************************************* ***** File Name: Love.c ***** Description: Love Story about you and me ***** Author: JPing.Cai ***** Date: 2014-5-10 ***** Last Version: 1.0 * *******************************************/ #include <stdio

自己用C语言写dsPIC单片机的serial bootloader

HyperBootloader_dsPIC HyperBootloader_dsPIC是我用C语言实现的serial bootloader, 适用于dsPIC30, dsPIC33,同样适用于PIC24.单片机端bootloader是用XC16编译的,电脑端的通信软件是用超级终端--HyperTerminal. dsPIC30 和 dsPIC33 程序存储器 dsPIC30,dsPIC33, PIC24的程序存储器架构都一样,只是大小,和vector位置有所不同.下图所示的是dsPIC30和ds

一个用 C 语言写的迷你版 2048 游戏,只有 500个字符

Jay Chan 用 C 语言写的一个迷你版 2048 游戏,只有 487 个字符.来围观吧 M[16],X=16,W,k;main(){T(system("stty cbreak") );puts(W&1?"WIN":"LOSE");}K[]={2,3,1};s(f,d,i ,j,l,P){for(i=4;i--;)for(j=k=l=0;k<4;)j<4?P=M [w(d,i,j++)],W|=P>>11,l*