{"payload":{"allShortcutsEnabled":false,"fileTree":{"content":{"items":[{"name":"blog","path":"content/blog","contentType":"directory"},{"name":"about.html.haml","path":"content/about.html.haml","contentType":"file"},{"name":"contests.html.haml","path":"content/contests.html.haml","contentType":"file"},{"name":"cvitae.html.haml","path":"content/cvitae.html.haml","contentType":"file"},{"name":"external.png","path":"content/external.png","contentType":"file"},{"name":"favicon.ico","path":"content/favicon.ico","contentType":"file"},{"name":"haptic.html.haml","path":"content/haptic.html.haml","contentType":"file"},{"name":"howglobalami.html.haml","path":"content/howglobalami.html.haml","contentType":"file"},{"name":"index.html","path":"content/index.html","contentType":"file"},{"name":"master-thesis.html.haml","path":"content/master-thesis.html.haml","contentType":"file"},{"name":"mergesort.html.haml","path":"content/mergesort.html.haml","contentType":"file"},{"name":"neatsqueak.html.haml","path":"content/neatsqueak.html.haml","contentType":"file"},{"name":"site.css.sass","path":"content/site.css.sass","contentType":"file"}],"totalCount":13},"":{"items":[{"name":"content","path":"content","contentType":"directory"},{"name":"layouts","path":"layouts","contentType":"directory"},{"name":"lib","path":"lib","contentType":"directory"},{"name":".gitignore","path":".gitignore","contentType":"file"},{"name":"Gemfile","path":"Gemfile","contentType":"file"},{"name":"Gemfile.lock","path":"Gemfile.lock","contentType":"file"},{"name":"README.rdoc","path":"README.rdoc","contentType":"file"},{"name":"Rules","path":"Rules","contentType":"file"},{"name":"nanoc.yaml","path":"nanoc.yaml","contentType":"file"}],"totalCount":9}},"fileTreeProcessingTime":7.925101000000001,"foldersToFetch":[],"repo":{"id":916420,"defaultBranch":"main","name":"hugopeixoto.net","ownerLogin":"hugopeixoto","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2010-09-16T18:39:31.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/111554?v=4","public":true,"private":false,"isOrgOwned":false},"symbolsExpanded":false,"treeExpanded":true,"refInfo":{"name":"3dde962b17e193e8c28c0268b2d80136190ec3a8","listCacheKey":"v0:1676763076.406052","canEdit":false,"refType":"tree","currentOid":"3dde962b17e193e8c28c0268b2d80136190ec3a8"},"path":"content/cvitae.html.haml","currentUser":null,"blob":{"rawLines":["---","title: Curriculum vitae","---","%h1 Curriculum vitae","","%p.note"," You can also download a"," = succeed '.' do"," = link_to 'PDF version of my curriculum vitae', 'cvitae.pdf'","","%p.summary"," I work in several programming-related projects, both as a professional and as"," a hobbyist. Both my interests and experience revolve around topics on"," %em algorithms"," (general combinatorics, graph theory, geometric computation and others),"," %em artificial intelligence"," and"," = succeed '.' do"," %em web development","","%h2 Work experience","%ul.vcalendar.experience"," %li.vevent"," %h3.summary Software developer"," %p.location= external_link_to 'NDrive Navigation Systems', 'http://www.ndriveweb.com', :class => 'url'"," %p.description"," Currently, I design and optimize database schemas and queries. I am"," also developing a toolchain to help automate the map build system. I"," work with technologies such as Python, SQL and C++."," %p.date"," since"," %abbr.dtstart{:title => '2010-10'} October 2010",""," %li.vevent"," %h3.summary Intern"," %p.location= external_link_to 'Fraunhofer AICOS', 'http://fraunhofer.pt/', :class => 'url'"," %p.description"," I studied, implemented (in C++) and compared several algorithms for the"," vehicle routing problem applied to waste collection vehicles routing."," %p.date"," %abbr.dtstart{:title => '2010-02'} February"," to"," %abbr.dtend{:title => '2010-07'} July 2010",""," %li.vevent"," %h3.summary Flash developer"," %p.location= external_link_to 'Bolos Quentes', 'http://www.bolosquentes.com/', :class => 'url'"," %p.description"," Implemented a multiplayer game about recycling and the environment"," using Flash and ActionScript 3."," %p.date"," during"," %abbr.dtstart{:title => '2010-05'} May 2010",""," %li.vevent"," %h3.summary Haptic software developer"," %p.location Faculty's Department of Mechanical Engineering"," %p.description"," Developed a haptic-feedback enabled application for remotely"," controlling a motor. Built using C++, Qt and OpenGL."," %p.date"," from"," %abbr{:title => '2009-09'} 2009"," to"," %abbr{:title => '2010-04'} 2010",""," %li.vevent"," %h3.summary Computer Graphics undergraduate teaching assistant"," %p.location "," =external_link_to 'Faculty of Engineering of the University of Porto', 'http://www.fe.up.pt', :class => 'url'"," (FEUP)"," %p.description"," I helped students with their C++, Java and OpenGL problems, with"," special focus on lighting, texture mapping, shading and"," transformations."," %p.date"," %abbr.dtstart{:title => '2009-02'} February 2009"," to"," %abbr.dtend{:title => '2009-07'} June 2009",""," %li.vevent"," %h3.summary Statistics gathering system developer"," %p.location"," = external_link_to 'National Healthcare Regulation Entity', 'http://www.ers.pt', :class => 'url'"," (ERS)"," %p.description"," I wrote SQL queries for a module that generates reports on"," complaints for all portuguese healthcare entities. This web"," application was written in ASP.NET and MSSQL."," %p.date"," %abbr.dtstart{:title => '2007-08'} Summer 2007",""," %li.vevent"," %h3.summary Web developer"," %p.location"," = external_link_to 'Centre for Spatial Communication and Representation', 'http://web.ccre.arq.up.pt', :class => 'url'"," %p.description"," In a team of three, I planned and developed a social web platform"," for the publication of architectural projects. We used Flash, XML,"," XHTML, CSS, PHP, MySQL and Python."," %p.date"," %abbr.dtstart{:title => '2006-04'} 2006"," to"," %abbr.dtend{:title => '2009-03'} 2009",""," %li.vevent"," %h3.summary Algorithms and Data Structures private tutor"," %p.location Freelancer"," %p.description"," I helped two graduation finalists with their studies for the final"," exam on the algorithms and data structures course. They both"," succeeded, with grades of 13 and 19 out of 20."," %p.date"," %abbr.dtstart{:title => '2006-08'} Summer 2006"," ","%h2 Education","","%ul.vcalendar.education"," %li.vevent"," %h3.summary Master in Informatics and Computing Engineering"," %p.location"," =external_link_to 'Faculty of Engineering of the University of Porto', 'http://www.fe.up.pt', :class => 'url'"," (FEUP)"," %p.description"," Average grade of 17 out of 20.",""," %p.date"," From"," %abbr.dtstart{:title => '2004-10'} 2004"," to"," %abbr.dtend{:title => '2010-07-26'} 2010","","%h2 Extra curricular experience","%ul.vcalendar.extracurricular"," %li.vevent"," %h3.summary OpenID Provider developer"," %p.location"," = external_link_to \"FEUP's Students Union: Informatics Division\", 'http://ni.fe.up.pt', :class => 'url'"," (NIFEUP)"," %p.description"," I implemented part of an OpenID Provider for FEUP's community. I"," connected it to our authentication server, providing thousands of"," accounts without need for registration."," %p.date"," %abbr.dtstart{:title => '2009-04'} April"," to"," %abbr.dtend{:title => '2009-09'} October "," 2009"," "," %li.vevent"," %h3.summary President"," %p.location"," = external_link_to \"FEUP's Students Union: Informatics Division\", 'http://ni.fe.up.pt', :class => 'url'"," (NIFEUP)"," %p.description"," I coordinated the group's projects and activities. I interacted"," with several faculty departments, looking for opportunities to"," start new projects."," %p.date"," %abbr.dtstart{:title => '2009-03'} 2009"," to"," %abbr.dtstart{:title => '2010-06'} 2010",""," %li.vevent"," %h3.summary Haptic software developer"," %p.location Measurement for Instrumentation Laboratory, at FEUP (LIM)"," %p.description"," I developed a game in which the user controls a physical"," pointer and tries to pop virtual balloons with it. The game was"," developed in C++, using OpenGL and the device's library."," %p.date"," %abbr.dtstart{:title => '2007-10'} 2007"," to"," %abbr.dtend{:title => '2009-03'} 2009",""," %li.vevent"," %h3.summary Founding member"," %p.location"," = external_link_to \"FEUP's Students Union: Informatics Division\", 'http://ni.fe.up.pt', :class => 'url'"," (NIFEUP)"," %p.description"," I developed several web applications to help gather funding for"," this group. On the World Usability Day of 2008, I helped with the"," organisation of a set of talks on the subject."," %p.date"," %abbr.dtstart{:title => '2006-05'} 2006"," to"," %abbr.dtend{:title => '2009-03'} 2009","","%h2 Publications","","%ul.publications"," %li.publication"," %p.authors Hugo Peixoto, João Portela, Rui Teixeira, Filipe Castro, Luís Paulo Reis."," %cite.title NEATSqueak on Wheels: Neural networks applied to movement optimization of a simulated robot"," %p.proceedings Progress in Artificial Intelligence: 14th Portuguese Conference on Artificial Intelligence, Epia 2009, Aveiro, Portugal, October 12-15, 2009",""," %li.publication"," %p.authors António M. Lopes, Júlio Santos, Hugo Peixoto, A. Augusto Sousa, M. Teresa Restivo"," %cite.title Human-Machine Real-Virtual Haptic Interaction Systems"," %p.proceedings Virtual University 9th International Conference, Bratislava, 11-12 December, 2008","","%h2 Additional information","","%dl"," %dt Languages"," %dd Portuguese (native) and English (fluent)",""," %dt Programming contests"," %dd"," %p"," I have been participating, in a team of three, in several programming contests held by the"," Association of Computer Machinery (ACM), from 2005 to 2009. Our best results were:",""," %ul.contests"," %li"," TIUP (Portuguese Inter-University Tournament)"," %span 1st place"," %li"," MIUP (Portuguese Inter-University Marathon)"," %span 2nd place"," %li"," SWERC (South-Western European Regional Contest)"," %span 17th place",""," %p"," I entered in Google Code Jam 2008, 2009 and 2010, a worldwide programming"," contest with more than 8000 participants. In both 2009 and 2010 I ranked"," among the top 500 contestants, being the best ranked Portuguese"," participant.",""," %dt Open source contributions"," %dd"," I have contributed to multiple open source projects, such as Ruby on Rails,"," by submitting code patches. I also helped by translating some software"," packages to Portuguese, for the Debian Project."],"stylingDirectives":[[{"start":1,"end":3,"cssClass":"pl-sre"}],[],[{"start":1,"end":3,"cssClass":"pl-sre"}],[{"start":1,"end":3,"cssClass":"pl-ent"}],[],[{"start":1,"end":2,"cssClass":"pl-ent"},{"start":2,"end":7,"cssClass":"pl-ent"}],[],[{"start":3,"end":18,"cssClass":"pl-sre"},{"start":16,"end":18,"cssClass":"pl-k"}],[{"start":5,"end":64,"cssClass":"pl-sre"}],[],[{"start":1,"end":2,"cssClass":"pl-ent"},{"start":2,"end":10,"cssClass":"pl-ent"}],[],[],[{"start":3,"end":5,"cssClass":"pl-ent"}],[],[{"start":3,"end":5,"cssClass":"pl-ent"}],[],[{"start":3,"end":18,"cssClass":"pl-sre"},{"start":16,"end":18,"cssClass":"pl-k"}],[{"start":5,"end":7,"cssClass":"pl-ent"}],[],[{"start":1,"end":3,"cssClass":"pl-ent"}],[{"start":1,"end":3,"cssClass":"pl-ent"},{"start":3,"end":24,"cssClass":"pl-ent"}],[{"start":3,"end":5,"cssClass":"pl-ent"},{"start":5,"end":12,"cssClass":"pl-ent"}],[{"start":5,"end":7,"cssClass":"pl-ent"},{"start":7,"end":15,"cssClass":"pl-ent"}],[{"start":5,"end":6,"cssClass":"pl-ent"},{"start":6,"end":15,"cssClass":"pl-ent"},{"start":16,"end":106,"cssClass":"pl-sre"}],[{"start":5,"end":6,"cssClass":"pl-ent"},{"start":6,"end":18,"cssClass":"pl-ent"}],[],[],[],[{"start":5,"end":6,"cssClass":"pl-ent"},{"start":6,"end":11,"cssClass":"pl-ent"}],[],[{"start":7,"end":11,"cssClass":"pl-ent"},{"start":11,"end":19,"cssClass":"pl-ent"},{"start":28,"end":53,"cssClass":"pl-sre"}],[],[],[],[{"start":16,"end":94,"cssClass":"pl-sre"}],[],[],[],[],[{"start":28,"end":49,"cssClass":"pl-sre"}],[],[{"start":26,"end":48,"cssClass":"pl-sre"}],[],[],[],[{"start":16,"end":98,"cssClass":"pl-sre"}],[],[],[],[],[],[{"start":28,"end":49,"cssClass":"pl-sre"}],[],[],[],[],[],[{"start":25,"end":66,"cssClass":"pl-sre"}],[],[],[],[{"start":20,"end":37,"cssClass":"pl-sre"}],[],[{"start":20,"end":37,"cssClass":"pl-sre"}],[],[],[],[],[{"start":7,"end":115,"cssClass":"pl-sre"}],[],[],[],[],[],[],[{"start":28,"end":54,"cssClass":"pl-sre"}],[],[{"start":26,"end":48,"cssClass":"pl-sre"}],[],[],[],[],[{"start":7,"end":102,"cssClass":"pl-sre"}],[],[],[],[],[],[],[{"start":28,"end":52,"cssClass":"pl-sre"}],[],[],[],[],[{"start":7,"end":124,"cssClass":"pl-sre"}],[],[],[],[],[],[{"start":28,"end":45,"cssClass":"pl-sre"}],[],[{"start":26,"end":43,"cssClass":"pl-sre"}],[],[],[],[],[],[],[],[],[],[{"start":28,"end":52,"cssClass":"pl-sre"}],[],[],[],[],[],[],[],[{"start":7,"end":115,"cssClass":"pl-sre"}],[],[],[],[],[],[],[{"start":28,"end":45,"cssClass":"pl-sre"}],[],[{"start":26,"end":46,"cssClass":"pl-sre"}],[],[],[],[],[],[],[{"start":7,"end":109,"cssClass":"pl-sre"},{"start":25,"end":70,"cssClass":"pl-s"},{"start":25,"end":26,"cssClass":"pl-pds"},{"start":69,"end":70,"cssClass":"pl-pds"}],[],[],[],[],[],[],[{"start":28,"end":46,"cssClass":"pl-sre"}],[],[{"start":26,"end":47,"cssClass":"pl-sre"}],[],[],[],[],[],[{"start":7,"end":109,"cssClass":"pl-sre"},{"start":25,"end":70,"cssClass":"pl-s"},{"start":25,"end":26,"cssClass":"pl-pds"},{"start":69,"end":70,"cssClass":"pl-pds"}],[],[],[],[],[],[],[{"start":28,"end":45,"cssClass":"pl-sre"}],[],[{"start":28,"end":45,"cssClass":"pl-sre"}],[],[],[],[],[],[],[],[],[],[{"start":28,"end":45,"cssClass":"pl-sre"}],[],[{"start":26,"end":43,"cssClass":"pl-sre"}],[],[],[],[],[{"start":7,"end":109,"cssClass":"pl-sre"},{"start":25,"end":70,"cssClass":"pl-s"},{"start":25,"end":26,"cssClass":"pl-pds"},{"start":69,"end":70,"cssClass":"pl-pds"}],[],[],[],[],[],[],[{"start":28,"end":45,"cssClass":"pl-sre"}],[],[{"start":26,"end":43,"cssClass":"pl-sre"}],[],[],[],[],[],[],[],[{"start":151,"end":159,"cssClass":"pl-sre"}],[],[],[],[{"start":22,"end":69,"cssClass":"pl-sre"}],[{"start":83,"end":100,"cssClass":"pl-sre"}],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[{"start":31,"end":53,"cssClass":"pl-sre"}],[],[],[{"start":31,"end":51,"cssClass":"pl-sre"}],[],[],[{"start":21,"end":55,"cssClass":"pl-sre"}],[],[],[],[],[],[],[],[],[],[],[],[],[]],"colorizedLines":null,"csv":null,"csvError":null,"dependabotInfo":{"showConfigurationBanner":false,"configFilePath":null,"networkDependabotPath":"/hugopeixoto/hugopeixoto.net/network/updates","dismissConfigurationNoticePath":"/settings/dismiss-notice/dependabot_configuration_notice","configurationNoticeDismissed":null},"displayName":"cvitae.html.haml","displayUrl":"https://github.com/hugopeixoto/hugopeixoto.net/blob/3dde962b17e193e8c28c0268b2d80136190ec3a8/content/cvitae.html.haml?raw=true","headerInfo":{"blobSize":"8.16 KB","deleteTooltip":"You must be signed in to make or propose changes","editTooltip":"You must be signed in to make or propose changes","ghDesktopPath":null,"isGitLfs":false,"onBranch":false,"shortPath":"8089e7a","siteNavLoginPath":"/login?return_to=https%3A%2F%2Fgithub.com%2Fhugopeixoto%2Fhugopeixoto.net%2Fblob%2F3dde962b17e193e8c28c0268b2d80136190ec3a8%2Fcontent%2Fcvitae.html.haml","isCSV":false,"isRichtext":false,"toc":null,"lineInfo":{"truncatedLoc":"236","truncatedSloc":"210"},"mode":"file"},"image":false,"isCodeownersFile":null,"isPlain":false,"isValidLegacyIssueTemplate":false,"issueTemplate":null,"discussionTemplate":null,"language":"Haml","languageID":154,"large":false,"planSupportInfo":{"repoIsFork":null,"repoOwnedByCurrentUser":null,"requestFullPath":"/hugopeixoto/hugopeixoto.net/blob/3dde962b17e193e8c28c0268b2d80136190ec3a8/content/cvitae.html.haml","showFreeOrgGatedFeatureMessage":null,"showPlanSupportBanner":null,"upgradeDataAttributes":null,"upgradePath":null},"publishBannersInfo":{"dismissActionNoticePath":"/settings/dismiss-notice/publish_action_from_dockerfile","releasePath":"/hugopeixoto/hugopeixoto.net/releases/new?marketplace=true","showPublishActionBanner":false},"rawBlobUrl":"https://github.com/hugopeixoto/hugopeixoto.net/raw/3dde962b17e193e8c28c0268b2d80136190ec3a8/content/cvitae.html.haml","renderImageOrRaw":false,"richText":null,"renderedFileInfo":null,"shortPath":null,"symbolsEnabled":true,"tabSize":8,"topBannersInfo":{"overridingGlobalFundingFile":false,"globalPreferredFundingPath":null,"showInvalidCitationWarning":false,"citationHelpUrl":"https://docs.github.com/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-citation-files","actionsOnboardingTip":null},"truncated":false,"viewable":true,"workflowRedirectUrl":null,"symbols":{"timed_out":false,"not_analyzed":true,"symbols":[]}},"copilotInfo":null,"copilotAccessAllowed":false,"csrf_tokens":{"/hugopeixoto/hugopeixoto.net/branches":{"post":"amKbPmqV-bJl9rZ86GfGL5rnCuMbs95oqUOpcHOyUBLv6ZdTqqKmD2_TnpeTLsNKloAV1uZXAH1WRTZn4iIURw"},"/repos/preferences":{"post":"dxaqoX423qYQoP1bphN4KDOhmMmpWKaH1PrubDjiwEpW6vOTkMGCB1pS9-Em1-FfRm6xxyBs009MQLhFG6lwJA"}}},"title":"hugopeixoto.net/content/cvitae.html.haml at 3dde962b17e193e8c28c0268b2d80136190ec3a8 · hugopeixoto/hugopeixoto.net"}