Advertisement
Guest User

Untitled

a guest
Mar 24th, 2017
185
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lisp 10.82 KB | None | 0 0
  1. (begin
  2.  
  3.  (define tag
  4.    (lambda (name attrs content)
  5.      (join
  6.       (list "<" (join (list name attrs) " ") ">"
  7.             (if (list? content) (join content "
  8. ") content)
  9.             "</" name ">")
  10.       "")))
  11.  
  12.  (define html (tag "html"))
  13.  (define style (tag "style"))
  14.  (define head (tag "head" ""))
  15.  (define title (tag "title" ""))
  16.  (define body (tag "body"))
  17.  
  18.  (define h1 (tag "h1"))
  19.  (define h2 (tag "h2"))
  20.  (define h3 (tag "h3"))
  21.  (define h4 (tag "h4"))
  22.  (define h5 (tag "h5"))
  23.  
  24.  (define div (tag "div"))
  25.  (define p (tag "p"))
  26.  (define span (tag "span"))
  27.  
  28.  (define a (tag "a"))
  29.  (define img (tag "img"))
  30.  
  31.  (define link
  32.    (lambda (text url)
  33.      (if (eq (len text) 0)
  34.      (a (join (list "href='" url "'") "") url)
  35.      (a (join (list "href='" url "'") "") text))))
  36.  
  37.  
  38.  (define generate_ul
  39.    (lambda (L)
  40.  
  41.      (define inner
  42.        (lambda (L)
  43.          (cond
  44.           ((! L) ())
  45.           (else
  46.            (concat
  47.             (tag "li" "" (car L))
  48.             (inner (cdr L )))))))
  49.      
  50.      (tag "ul" "" (inner L))))
  51.  
  52.  (define row
  53.    (lambda (left right)
  54.      (div "class='row'"
  55.           (list
  56.            (div "class='left'"
  57.                 left
  58.                 )
  59.            (div "class='right'"
  60.                 right
  61.                 )
  62.            ))))
  63.  
  64.  (define proj_lang
  65.    (lambda (proj lang)
  66.         (row
  67.          (p "class='project'"
  68.             proj)
  69.          (p "class='languages'"
  70.             lang))))
  71.    
  72.  
  73.  
  74.  (define generate_cv
  75.    (lambda ()
  76.      (html
  77.       ""
  78.       (list
  79.      (style
  80.       ""
  81.       "
  82. @import url('https://fonts.googleapis.com/css?family=Droid+Sans:400,700');
  83. @import url('https://fonts.googleapis.com/css?family=Open+Sans:400,700');
  84.  
  85. body {
  86.  font-size: 14px;
  87.  font-family: 'Open Sans', sans-serif;
  88.  color: #111;
  89.  background-color: #fff;
  90.  margin-bottom: 200px;
  91. }
  92.  
  93. body > * {
  94.  text-align: center;
  95.  max-width: 800px;
  96. margin: 0 auto;
  97. }
  98.  
  99. a:link, a:visited, a:hover {
  100.  color: #555;
  101. }
  102.  
  103. a:hover {
  104.  text-decoration: none;
  105. }
  106.  
  107. h1 {
  108.  letter-spacing: 4px;
  109.  margin-top: 48px;
  110.  margin-bottom: 48px;
  111. }
  112.  
  113. h2 {
  114.  letter-spacing: 1px;
  115.  margin-top: 36px;
  116.  margin-bottom: 20px;
  117. }
  118.  
  119. h4 {
  120.  font-size: 16px;
  121.  margin-top: 16px;
  122.  margin-bottom: 8px;
  123. }
  124.  
  125. h5 {
  126.  font-size: 14px;
  127.  margin-top: 8px;
  128.  margin-bottom: 8px;
  129. }
  130.  
  131. p {
  132.  margin-top: 0px;
  133.  margin-bottom: 4px;
  134.  letter-spacing: 0.3;
  135. }
  136.  
  137. span {
  138.  display: block;
  139. }
  140.  
  141. ul {
  142.  list-style: none;
  143.  margin: 0;
  144.  padding: 0;
  145. }
  146.  
  147. ul li:after {
  148.  float: left;
  149.  margin-top: 2px;
  150.  margin-right: 4px;
  151.  margin-left: -12px;
  152.  content: '>';
  153.  font-size: 0.8em;
  154. }
  155.  
  156. ul li {
  157.  margin-left: 12px;
  158. }
  159.  
  160. .two_columns {
  161.  margin: 0 auto;
  162. }
  163.  
  164. .two_columns:nth-child(odd) {
  165.  margin-top: 36px;
  166. }
  167.  
  168. .two_columns > .workplace {
  169.  font-size: 16px;
  170.  font-weight: bold;
  171. }
  172.  
  173. .row {
  174.  display: flex;
  175.  flex-direction: row;
  176. }
  177.  
  178. .row > div {
  179.  flex: 1;
  180.  padding: 0px 14px;
  181. }
  182.  
  183. .row > .left {
  184.  text-align: right;
  185. }
  186.  
  187. .row > .right {
  188.  text-align: left;
  189. }
  190.  
  191.  
  192. .center {
  193.  text-align: left;
  194. }
  195.  
  196. .center p {
  197.  margin-bottom: 24px;
  198. }
  199.  
  200. .project, .technologies, .languages {
  201.  font-size: 12px;
  202. }
  203.  
  204. .hide {
  205.  display: none;
  206. }
  207.  
  208. .show {
  209.  display: block;
  210. }
  211.  
  212. .family {
  213.  float: right;
  214.  margin-left: 16px;
  215.  margin-bottom: 16px;
  216.  width: 300px;
  217.  max-width: 50%;
  218. }
  219.  
  220. .family p {
  221.  text-align: center;
  222.  margin-top: 8px;
  223.  font-size: 12px;
  224.  font-variant: italic;
  225. }
  226.  
  227. img {
  228.  width: 100%;
  229. }
  230.  
  231. @media print {
  232.    h1 {page-break-before: always;}
  233. }
  234.  
  235. "
  236.       )
  237.  
  238.      (head
  239.       (title "Jona Ekenberg CV"))
  240.      
  241.       (body
  242.        ""
  243.        (list
  244.  
  245.         (h1 "" "Personal letter")
  246.  
  247.         (div
  248.          "class='center'"
  249.          (list
  250.           (div
  251.            "class='family'"
  252.            (list
  253.             (img "src='https://scontent-arn2-1.xx.fbcdn.net/v/t1.0-0/s480x480/17425050_10154612974408720_5580591785276374175_n.jpg?oh=bffacd8c6ac8556db768468073c9220d&oe=596F685E' width='300' alt='Jona, Josh and Cindy'" "")
  254.             (p "" "Jona (me), Josh and Cindy")
  255.             ))
  256.          
  257.         (p "" "My name is Jona Ekenberg, I'm 26 years old and I like to write code, play games and drink coffee (what a shocker). I also enjoy spending time with my soon-to-be wife and our son. I compete in Guilty Gear. I try to convince people not to be sexistic all the time, and I try to see things from different perspectives. I consider myself a very flexible thinker, which really comes in handy as a programmer. I'm also a quick learner – feel free to test this ability by sending me a task you want done!")
  258.  
  259.         (p "" "I'm currently developing a game using Rust, and to provide for me and my family I work as a consultant in my own company. When I found your ad for a Rust developer you piqued my interest. Even more so when I read about what you do, the combination of a distributed network and crypto currency. I've actually thought a lot about how to implement some sort of 'peer-to-peer' internet, and how beneficial that should be against not only prying eyes but also the plague that is DDOSing. I also find it awesome that you're open source. Sadly none of the companies I've worked for were open source, but I try to publish most of my personal work.")
  260.  
  261.         (p "" "As a team member I'm social and always eager to develop my own skills, but also to help other members to improve. I keep the mood high and I make sure that everyone understands the task at hand, be it through text or speech. I've been called 'top 3 nice guy' in the Swedish GG-community.")
  262.  
  263.         (p "" "As a developer I'm very pragmatic, I try to do what needs to be done as quickly as possible. Then I run it through someone who cares, be it a user, the project manager or the client, just to make sure I'm on the right track. I find that a lot of unnecessary work can be avoided this way, which in turn makes the artifact I'm working on more useful to the user.")
  264.        
  265.         (p "" "Just to be clear, I don't mind working as an employee, so it's up to you if you prefer to contract me or employ me. I hope we can find a way for us to work together, as I find the work you do not only very interesting, but also extremely important – so that we may keep an open internet.")
  266.         ))
  267.  
  268.        
  269.         (h1 "" "CV")
  270.  
  271.        
  272.         (h2 "" "Contact Information")
  273.        
  274.         (div
  275.          "class='two_columns row'"
  276.          (list
  277.           (div "class='left'"
  278.                (list
  279.                 (p "" "Jona Ekenberg")
  280.                 (p "" "Karleby Rensdal 1")
  281.                 (p "" "590 22 Väderstad")
  282.                 ))
  283.          
  284.           (div "class='right'"
  285.                (list
  286.                 (p "" "+46 (0)76-78 28 666")
  287.                 (p "" "saikyun@gmail.com")
  288.                 (p "" "Sweden")
  289.                 ))
  290.           ))
  291.        
  292.         (h2 "" "Development Experience")
  293.        
  294.         (div
  295.          "class='two_columns row'"
  296.          (list
  297.           (div "class='left workplace'"
  298.                (list
  299.                 (p "" "Developer and Owner")
  300.                 (p "" "Drakens Famn")
  301.                 (p "" "2016 – now")
  302.                 ))
  303.  
  304.           (div "class='right'"
  305.                (list
  306.                 (p "" "My current company. We develop web applications, apps and games. We're developing a game engine using OpenGL in Rust, and as a scripting language we use a lisp implementation written in Rust.")
  307.                 ))
  308.           ))
  309.        
  310.         (div
  311.          "class='two_columns'"
  312.          (list
  313.           (row
  314.            (h5 "" "Projects")
  315.            (h5 "" "Languages and technologies"))
  316.          
  317.         (proj_lang
  318.          (link "Ett spöke och du"
  319.                "https://git.memset.se/Saikyun/spoke")
  320.          "Rust, OpenGL, Blender, Sculptris, GIMP, Git")
  321.  
  322.         (proj_lang
  323.          (link "JARL - just another rusty lisp"
  324.                "https://git.memset.se/Saikyun/jarl")
  325.          "Rust, Git")
  326.  
  327.         (proj_lang
  328.          (list "Consultant for "
  329.                (link "Sports Editing Sweden"
  330.                      "http://www.sportsediting.se/"))
  331.          "PHP, Symfony, MySQL, Rest APIs, Git")
  332.         ))
  333.        
  334.         (div
  335.          "class='two_columns row'"
  336.          (list
  337.           (div "class='left workplace'"
  338.                (list
  339.                 (p "" "Developer and Project Manager")
  340.                 (p "" (link "eGovlab" "http://www.egovlab.eu"))
  341.                 (p "" "2013 – 2016")
  342.                 ))
  343.  
  344.           (div "class='right'"
  345.                (list
  346.                 (p "" "Developed web applications for a department at Stockholm University. Our focus was eDemocracy and visualization of data.")
  347.                 ))
  348.           ))
  349.        
  350.         (div
  351.          "class='two_columns'"
  352.          (list
  353.           (row (h5 "" "Projects") (h5 "" "Languages and technologies"))
  354.          
  355.           (proj_lang (link "Sense4us" "http://sense4us.eu/")
  356.                      "JavaScript, Node.JS, Git")
  357.  
  358.           (proj_lang (link "Geoskolan" "http://geoskolan.se/")
  359.                      "PHP, Moodle, MySQL")
  360.  
  361.           (proj_lang (link "iMentors" "http://imentors.eu/")
  362.                      "PHP, MySQL, Winzip (I'm not even kidding)")
  363.  
  364.           (proj_lang "Other"
  365.                      "Ruby on Rails, C#/C in Unity")
  366.  
  367.           ))
  368.  
  369.        
  370.  
  371.         (div
  372.          "class='two_columns row'"
  373.          (list
  374.           (div "class='left workplace'"
  375.                (list
  376.                 (p "" "Developer")
  377.                 (p "" (link "DSV IT" "http://www.dsv.su.se"))
  378.                 (p "" "2012 – 2013")
  379.                 ))
  380.  
  381.           (div "class='right'"
  382.                (list
  383.                 (p "" "DSV IT develops and maintains the systems in use by DSV (Department of Computer and Systems Sciences at Stockholm University). I worked as a Java-developer, adding features to SciPro, their system for the thesis process.")
  384.                 ))
  385.           ))
  386.        
  387.         (div
  388.          "class='two_columns'"
  389.          (list
  390.           (row (h5 "" "Projects") (h5 "" "Languages and technologies"))
  391.          
  392.           (proj_lang "SciPro"
  393.                      "Java, Spring, Hibernate")
  394.  
  395.           ))
  396.  
  397.        
  398.        
  399.         (div
  400.          "class='two_columns row'"
  401.          (list
  402.           (div "class='left workplace'"
  403.                (list
  404.                 (p "" "Developer and Owner")
  405.                 (p "" "Ekenberg Tech KB")
  406.                 (p "" "2006 – 2013")
  407.                 ))
  408.  
  409.           (div "class='right'"
  410.                (list
  411.                 (p "" "My first company. We mainly developed websites for companies. In addition to developing I marketed the company and took care of the bookkeeping.")
  412.                 ))
  413.           ))
  414.        
  415.        
  416.         (div
  417.          "class='two_columns'"
  418.          (list
  419.           (row (h5 "" "Projects") (h5 "" "Languages and technologies"))
  420.           (proj_lang "Twinrix for GSK"
  421.                      "HTML, CSS, JavaScript")
  422.  
  423.           (proj_lang "Nordic Grooming Habits for Philips"
  424.                      "PHP, MySQL, Ester (home built MVC-framework & CMS), Illustrator")
  425.           (proj_lang "Konstlov(e) - teaching kids how to develop games"
  426.                      "Multimedia Fusion 2")
  427.  
  428.           (proj_lang "Various websites for smaller companies"
  429.                      "PHP, MySQL, Wordpress, Photoshop")
  430.  
  431.           ))
  432.        
  433.         (div
  434.          "class='two_columns row'"
  435.          (list
  436.           (div "class='left workplace'"
  437.                (list
  438.                 (p "" "Other")
  439.                 ))
  440.  
  441.           (div "class='right'"
  442.                (list
  443.                 (p "" "Volontary work and non-profit stuff. Small games.")
  444.                 ))
  445.           ))
  446.        
  447.         (div
  448.          "class='two_columns'"
  449.          (list
  450.           (row (h5 "" "Projects") (h5 "" "Languages and technologies"))
  451.  
  452.           (proj_lang
  453.            (list
  454.             (link "Floppy Bards" "https://saikyun.github.io/floppy_bards/")
  455.             "- left/right click")
  456.            "JavaScript")
  457.          
  458.           (proj_lang
  459.            (link "In browser, multiplayer, anti cheat FIVE IN A ROW" "https://github.com/Saikyun/fiveinarow/")
  460.            "JavaScript, Node.JS, socket.io")
  461.  
  462.           (proj_lang
  463.            "Course in game programming for kids"
  464.            "JavaScript, Khan Academy's online editor")
  465.  
  466.           (proj_lang
  467.            "HTML-generator"
  468.            "JARL")
  469.  
  470.           (proj_lang
  471.            "Various games"
  472.            "JavaScript, Java, C++, C#, socket.io")
  473.          
  474.           (div
  475.            "class='hide' id='code'"
  476.            (file "webber.jarl"))
  477.  
  478.           ))
  479.        
  480.         ))))))
  481.  
  482.  (generate_cv)
  483.  )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement