cv.html 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419
  1. <!---
  2. Personal CV, Miloslav Číž
  3. THIS IS EXTREMELY OUTDATED, AVOID!!!
  4. KEPT ONLY FOR HISTORICAL REASONS
  5. released under CC0 1.0
  6. -->
  7. <html>
  8. <head>
  9. <title> CV </title>
  10. <link href="https://fonts.googleapis.com/css?family=Open+Sans" rel="stylesheet">
  11. <meta charset="UTF-8">
  12. <style>
  13. a
  14. {
  15. font-style: italic;
  16. border-bottom: 1px dotted black;
  17. }
  18. body
  19. {
  20. width: 210mm;
  21. height: 297mm;
  22. font-family: "Open Sans", sans-serif;
  23. margin: 0;
  24. padding: 0;
  25. }
  26. .content
  27. {
  28. padding: 0 1.3cm;
  29. height: 243mm;
  30. }
  31. .dim
  32. {
  33. opacity: 0.3;
  34. }
  35. .meta
  36. {
  37. font-size: 3mm;
  38. color: gray;
  39. position: absolute;
  40. top: 30mm;
  41. left: 16mm;
  42. }
  43. .header
  44. {
  45. font-size: 10mm;
  46. padding: 0 0.8cm;
  47. margin-left: 0.5cm;
  48. border-left: 10px solid grey;
  49. }
  50. .header span
  51. {
  52. vertical-align: middle;
  53. display: inline-block;
  54. width: 80%;
  55. }
  56. .icon-medium
  57. {
  58. width: 5mm;
  59. height: 5mm;
  60. }
  61. .icon-small
  62. {
  63. width: 3mm;
  64. }
  65. .inside_body
  66. {
  67. width: 100%;
  68. height: 100%;
  69. }
  70. .no-bullets
  71. {
  72. list-style-type: none;
  73. padding-left: 4mm;
  74. }
  75. .photo
  76. {
  77. width: 2.5cm;
  78. vertical-align: middle;
  79. }
  80. .section
  81. {
  82. width: 85%;
  83. font-size: 7.5mm;
  84. border-bottom: 1px dotted black;
  85. margin: 6mm 0 6mm;
  86. }
  87. .section svg
  88. {
  89. margin-right: 5mm;
  90. }
  91. table
  92. {
  93. width: 100%;
  94. }
  95. td
  96. {
  97. vertical-align: top;
  98. }
  99. #td_interests
  100. {
  101. width: 45%;
  102. }
  103. ul
  104. {
  105. margin: 0;
  106. padding-left: 7mm;
  107. list-style-type: square;
  108. }
  109. .latex sup
  110. {
  111. font-size: 0.85em;
  112. vertical-align: 0.15em;
  113. margin-left: -0.36em;
  114. margin-right: -0.15em;
  115. }
  116. </style>
  117. <script>
  118. var lang = 0; // use this to set language (0: en, 1: cs)
  119. // embedded SVG image data in format [width,height,data]:
  120. var svg_image_person = [8,8,"<path d=\"M4 0c-1.1 0-2 1.12-2 2.5s.9 2.5 2 2.5 2-1.12 2-2.5-.9-2.5-2-2.5zm-2.09 5c-1.06.05-1.91.92-1.91 2v1h8v-1c0-1.08-.84-1.95-1.91-2-.54.61-1.28 1-2.09 1-.81 0-1.55-.39-2.09-1z\" \/>"];
  121. var svg_image_book = [8,8,"<path d=\"M1 0c-.07 0-.13.01-.19.03-.39.08-.7.39-.78.78-.03.06-.03.12-.03.19v5.5c0 .83.67 1.5 1.5 1.5h5.5v-1h-5.5c-.28 0-.5-.22-.5-.5s.22-.5.5-.5h5.5v-5.5c0-.28-.22-.5-.5-.5h-.5v3l-1-1-1 1v-3h-3z\" \/>"];
  122. var svg_image_graph = [8,8,"<path d=\"M7.03 0l-3.03 3-1-1-3 3.03 1 1 2-2.03 1 1 4-4-.97-1zm-7.03 7v1h8v-1h-8z\" \/>"];
  123. var svg_image_image = [8,8,"<path d=\"M0 0v8h8v-8h-8zm1 1h6v3l-1-1-1 1 2 2v1h-1l-4-4-1 1v-3z\" \/>"];
  124. var svg_image_puzzle = [8,8,"<path d=\"M3 0c-.28 0-.54.1-.72.28-.18.18-.28.44-.28.72 0 .28.18.48.28.72.03.06.03.16.03.28h-2.31v6h2.31c0-.12-.01-.22-.03-.28-.1-.24-.28-.44-.28-.72 0-.28.1-.54.28-.72.18-.18.44-.28.72-.28.28 0 .54.1.72.28.18.18.28.44.28.72 0 .28-.18.48-.28.72-.03.06-.03.16-.03.28h2.31v-2.31c.12 0 .22.01.28.03.24.1.44.28.72.28.28 0 .54-.1.72-.28.18-.18.28-.44.28-.72 0-.28-.1-.54-.28-.72-.18-.18-.44-.28-.72-.28-.28 0-.48.18-.72.28-.06.03-.16.03-.28.03v-2.31h-2.31c0-.12.01-.22.03-.28.1-.24.28-.44.28-.72 0-.28-.1-.54-.28-.72-.18-.18-.44-.28-.72-.28z\" \/>"];
  125. var svg_image_star = [16,16,"<g transform=\"scale(2)\"> <path d=\"M4 0l-1 3h-3l2.5 2-1 3 2.5-2 2.5 2-1-3 2.5-2h-3l-1-3z\" \/> <\/g>"];
  126. var svg_image_star_half = [16,16,"<g transform=\"scale(2)\"> <path d=\"M4 0l-1 3h-3l2.5 2-1 3 2.5-2 2.5 2-1-3 2.5-2h-3l-1-3z\" style=\"opacity:0.3\" \/> <path d=\"M 4,0 3,3 0,3 2.5,5 5,3 z\"\/> <\/g>"];
  127. var svg_image_envelope = [16,12,"<path d=\"M0 0v1l4 2 4-2v-1h-8zm0 2v4h8v-4l-4 2-4-2z\" transform=\"scale(1.5) translate(0 0.2)\" />"];
  128. var svg_image_link = [16,12,"<path d=\"M5.88.03c-.18.01-.36.03-.53.09-.27.1-.53.25-.75.47a.5.5 0 1 0 .69.69c.11-.11.24-.17.38-.22.35-.12.78-.07 1.06.22.39.39.39 1.04 0 1.44l-1.5 1.5c-.44.44-.8.48-1.06.47-.26-.01-.41-.13-.41-.13a.5.5 0 1 0-.5.88s.34.22.84.25c.5.03 1.2-.16 1.81-.78l1.5-1.5c.78-.78.78-2.04 0-2.81-.28-.28-.61-.45-.97-.53-.18-.04-.38-.04-.56-.03zm-2 2.31c-.5-.02-1.19.15-1.78.75l-1.5 1.5c-.78.78-.78 2.04 0 2.81.56.56 1.36.72 2.06.47.27-.1.53-.25.75-.47a.5.5 0 1 0-.69-.69c-.11.11-.24.17-.38.22-.35.12-.78.07-1.06-.22-.39-.39-.39-1.04 0-1.44l1.5-1.5c.4-.4.75-.45 1.03-.44.28.01.47.09.47.09a.5.5 0 1 0 .44-.88s-.34-.2-.84-.22z\" transform=\"scale(1.5) translate(0 0.2)\" />"];
  129. var svg_image_home = [16,12,"<path d=\"M4 0l-4 3h1v4h2v-2h2v2h2v-4.03l1 .03-4-3z\" transform=\"scale(1.5)\"/>"];
  130. var svg_image_phone = [16,12,"<path d=\"M.19 0c-.11 0-.19.08-.19.19v7.63c0 .11.08.19.19.19h4.63c.11 0 .19-.08.19-.19v-7.63c0-.11-.08-.19-.19-.19h-4.63zm.81 1h3v5h-3v-5zm1.5 5.5c.28 0 .5.22.5.5s-.22.5-.5.5-.5-.22-.5-.5.22-.5.5-.5z\" transform=\"scale(1.5) translate(1)\"/>"];
  131. function print_svg_image(svg_data, element_class)
  132. {
  133. document.write("<svg class=\"" + element_class + "\" width=\"" + svg_data[0].toString() + "\" height=\"" + svg_data[1].toString() + "\" viewbox=\"0 0 " + svg_data[0].toString() + " " + svg_data[1].toString() + "\">\n");
  134. document.write(svg_data[2]);
  135. document.write("</svg>\n");
  136. }
  137. function multilang_text(texts)
  138. {
  139. document.write(texts[lang]);
  140. }
  141. function print_stars(number)
  142. {
  143. var i, helper_class, half_star;
  144. half_star = (number % 1) > 0.01;
  145. number = Math.floor(number);
  146. for (i = 0; i < 5; i++)
  147. {
  148. helper_class = "star";
  149. var not_half_star = true;
  150. if (i >= number)
  151. {
  152. if (i == number && half_star)
  153. not_half_star = false;
  154. else
  155. helper_class += " dim";
  156. }
  157. if (not_half_star)
  158. print_svg_image(svg_image_star,helper_class);
  159. else
  160. print_svg_image(svg_image_star_half,"");
  161. }
  162. };
  163. function print_skills(skills_and_numbers)
  164. {
  165. var i, position, do_break, skill, number;
  166. document.write("<table>");
  167. position = 0;
  168. do_break = false;
  169. while (true)
  170. {
  171. document.write("<tr>");
  172. for (i = 0; i < 3; i++) // 3 column table
  173. {
  174. try
  175. {
  176. skill = skills_and_numbers[position][0];
  177. number = skills_and_numbers[position][1];
  178. document.write("<td>" + skill + "</td><td>");
  179. print_stars(number)
  180. document.write("</td>");
  181. }
  182. catch(err)
  183. {
  184. do_break = true;
  185. document.write("<td></td><td></td>");
  186. }
  187. position++;
  188. }
  189. if (do_break)
  190. break;
  191. document.write("</tr>");
  192. }
  193. document.write("</table>");
  194. };
  195. function todays_date_string()
  196. {
  197. var currentDate = new Date();
  198. var day = currentDate.getDate();
  199. var month = currentDate.getMonth() + 1;
  200. var year = currentDate.getFullYear();
  201. return day.toString() + "." + month.toString() + "." + year.toString();
  202. };
  203. function on_load()
  204. {
  205. document.getElementById("meta_div").innerHTML = "CV generated on " + todays_date_string() + ", source @ gitlab.com/drummyfish/my_text_data";
  206. };
  207. </script>
  208. </head>
  209. <body onload="on_load()">
  210. <div class="inside_body">
  211. <div class="meta" id="meta_div"> </div>
  212. <br />
  213. <b>THIS IS EXTREMELY OUTDATED, AVOID!!!</b>
  214. <div class="header"> <span> Miloslav Číž </span> <img src="http://i.imgur.com/3RCl83b.png" class="photo" /> </div>
  215. <div class="content">
  216. <div class="section">
  217. <script> print_svg_image(svg_image_person,"icon-medium"); multilang_text(["personal info","osobní informace"]); </script>
  218. </div>
  219. <table>
  220. <tr>
  221. <td>
  222. * 24.8.1990, Zlín <br /><br />
  223. <script> multilang_text(["driver's license (B)","řidičský průkaz (B)"]); </script> <br />
  224. <script> multilang_text(["member of Mensa ČR","člen Mensy ČR"]); </script> <br />
  225. </td>
  226. <td id="td_interests">
  227. <script>
  228. multilang_text([
  229. "interests: <br /> computer science, free and open-source, math, music, 2D/3D graphics, PC games, football, pet animals",
  230. "zájmy: <br /> informatika, svobodný a open-source software, matematika, hudba, 2D/3D grafika, PC hry, fotbal, zvířata"
  231. ]);
  232. </script>
  233. </td>
  234. <td>
  235. <script> print_svg_image(svg_image_envelope,"") </script> <a> drummyfish@disroot.org </a> <br />
  236. <script> print_svg_image(svg_image_link,"") </script> <a> http://www.tastyfish.cz </a> <br />
  237. <script> print_svg_image(svg_image_home,"") </script> Sušice 118, 68704, CZ <br />
  238. <script> print_svg_image(svg_image_phone,"") </script> +420 606 586 442 <br />
  239. </td>
  240. </tr>
  241. </table>
  242. <div class="section"> <script> print_svg_image(svg_image_book,"icon-medium"); multilang_text(["education","vzdělání"]); </script> </div>
  243. <ul>
  244. <li> 2010: <script> multilang_text(["SPŠ Zlín, Technical Lyceum with computer science specialization","SPŠ Zlín, Technické lyceum se zaměřením na informatiku"]); </script> </li>
  245. <li> 2014: <script> multilang_text(["Bachelor's degree (Bc.), FIT BUT: Information Technology","titul Bc., FIT VUT: Informační technologie"]); </script> </li>
  246. <li> 2017: <script> multilang_text(["Master's degree (Ing.), FIT BUT: Computer Graphics and Multimedia","titul Ing., FIT VUT: Počítačová grafika a multimédia"]); </script> </li>
  247. </ul>
  248. <div class="section"> <script> print_svg_image(svg_image_graph,"icon-medium"); multilang_text(["work experience","pracovní zkušenosti"]); </script> </div>
  249. <script> multilang_text(["no paid work experience","žádná placená pracovní zkušenost"]); </script>
  250. <div class="section"> <script> print_svg_image(svg_image_image,"icon-medium"); multilang_text(["portfolio, achievements","portfolio, projekty"]); </script> </div>
  251. <ul>
  252. <li>
  253. <script>
  254. multilang_text([
  255. "contributor to OpenMW and other free and open source projects",
  256. "přispěvatel do OpenMW a jiných svobodných a open source projektů"]);
  257. </script>
  258. </li>
  259. <li>
  260. <script>
  261. multilang_text([
  262. "Mage Rage: 1<sup>st</sup> place <a>itnetwork.cz</a> game development contest winner, 5000 lines of C++",
  263. "Mage Rage: 1. místo v herní vývojářské soutěži na <a>itnetwork.cz</a>, 5000 řádků v C++"]);
  264. </script>
  265. </li>
  266. <li>
  267. <script>
  268. multilang_text([
  269. "Texturemaker: tool and library for designing procedural textures, 15000 lines of C/C++",
  270. "Texturemaker: nástroj a knihovna pro návrh procedurálních textur, 15000 řádků v C/C++"]);
  271. </script>
  272. </li>
  273. <li>
  274. <script>
  275. multilang_text([
  276. "Lua subset interpreter: 5 man project, 5000 lines of C",
  277. "interpret podmnožiny Lua: 5členný projekt, 5000 řádků v C"]);
  278. </script>
  279. </li>
  280. <li>
  281. <script>
  282. multilang_text([
  283. "over 30 more personal projects at <a>gitlab.com/drummyfish</a>",
  284. "přes 30 dalších osobních projektů na <a>gitlab.com/drummyfish</a>"]);
  285. </script>
  286. </li>
  287. <li>
  288. <script> multilang_text([
  289. "multiple merit scholarships",
  290. "opakovaná prospěchová stipendia"]);
  291. </script>
  292. </li>
  293. <li>
  294. <script> multilang_text([
  295. "CC0 art (<a>opengameart.org/users/drummyfish</a>, <a>drummyfish.deviantart.com</a>)",
  296. "CC0 grafická tvorba (<a>opengameart.org/users/drummyfish</a>, <a>drummyfish.deviantart.com</a>)"]);
  297. </script>
  298. </li>
  299. </ul>
  300. <div class="section"> <script> print_svg_image(svg_image_puzzle,"icon-medium"); multilang_text(["skills","dovednosti"]); </script> </span> </div>
  301. <script>
  302. print_skills
  303. (
  304. [
  305. ["Czech/Slovak", 5],
  306. ["English", 4.5],
  307. ["Spanish", 1],
  308. ["C/C++", 4.5],
  309. ["Python", 4.5],
  310. ["JavaScript", 4],
  311. ["Vim", 4],
  312. ["Java", 3.0],
  313. ["Haskell", 3],
  314. ["HTML/CSS", 4.5],
  315. ["PHP/SQL", 4],
  316. ["Git", 4],
  317. ["GNU/Linux", 4],
  318. ["OpenGL", 4],
  319. ["GIMP", 4.5],
  320. ["Inkscape", 4.5],
  321. ["Blender", 4.5],
  322. ["HW/assembly", 3.0],
  323. ["<span class=\"latex\">L<sup>a</sup>T<sub>e</sub>X</span>", 3.5],
  324. ["Libre Office", 4.5],
  325. ["UML", 2],
  326. ["FOSS", 5],
  327. ["teamwork", 4],
  328. ]
  329. );
  330. </script>
  331. <br />
  332. <script>
  333. multilang_text([
  334. "strong personal traits: &nbsp;&nbsp;&nbsp;honesty, timekeeping, creativity, politeness, openness",
  335. "silné osobnostní stránky: &nbsp;&nbsp;&nbsp;poctivost, dochvilnost, kreativita, slušnost, otevřenost"
  336. ]);
  337. </script>
  338. <br />
  339. </div>
  340. </div>
  341. </body>
  342. </html>