genius!分享一份C语言写的简历

phpde1 9年前

这里黑客新闻吗?作者用代码更新了自己的简历,是不是很接地气,特符合程序员的逼格。这是一份可读可执行的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 = "klange@toaruos.org";  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;  }

园友 Wossoneri 编译后,我们看到的简历

Kevin R. Lange
klange@toaruos.org
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

来自: gist.github.com