epilotto_curriculum 0.2.0 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/epilotto_curriculum.gemspec +2 -2
- data/lib/cv.yml +73 -76
- data/lib/epilotto_curriculum/version.rb +1 -1
- data/lib/epilotto_curriculum.rb +15 -5
- metadata +10 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 2e83fa0485558c4902230d1d69aba7d71dcb78b5f5fd21b878dba66c39dfabf6
|
4
|
+
data.tar.gz: 76de655026b126bedaa3a1587f1b51258414adaf5a0fd2e89127221706d298a4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 53df52d9d5761b93d1d61d02dd11b1e0fa7ef5685be7fa74532db1a8f93c48fd40b203efbec293aceeb8fb8db2ab523c33e5033e0fe283d4aa2e246c85168728
|
7
|
+
data.tar.gz: d28103a63acea5772cd17346b1063e6f6f26294703e2d2ecaa4a824145d0ae6edbfa850ac627c1284d30ed1480524465e94f5bbaad36f69e84d1b88709429402
|
data/epilotto_curriculum.gemspec
CHANGED
@@ -30,8 +30,8 @@ Gem::Specification.new do |spec|
|
|
30
30
|
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
31
31
|
spec.require_paths = ["lib"]
|
32
32
|
|
33
|
-
spec.add_development_dependency "bundler", "~>
|
34
|
-
spec.add_development_dependency "rake", "~>
|
33
|
+
spec.add_development_dependency "bundler", "~> 2"
|
34
|
+
spec.add_development_dependency "rake", "~> 13"
|
35
35
|
|
36
36
|
spec.add_dependency("term-ansicolor", ">= 1.0.5")
|
37
37
|
end
|
data/lib/cv.yml
CHANGED
@@ -1,96 +1,93 @@
|
|
1
1
|
name: Enrico Pilotto
|
2
|
+
updated_at: 1 February 2022
|
3
|
+
about_me: http://rubyonrailspadova.com/
|
2
4
|
Personal Information:
|
3
5
|
Name: Enrico
|
4
6
|
Surname: Pilotto
|
5
7
|
Address: via Marconi 4/3, San Martino di Lupari (PD), 35018, Italy
|
6
|
-
Nationality: italian
|
7
|
-
Date of birth: 21 October 1984
|
8
8
|
Sex: M
|
9
|
+
Date of birth: 21 October 1984
|
10
|
+
Nationality: italian
|
9
11
|
sep:
|
10
|
-
Email:
|
11
|
-
Website: http://
|
12
|
+
Email: epilotto@gmx.com (best way to contact me)
|
13
|
+
Website: http://rubyonrailspadova.com/
|
12
14
|
Twitter: https://twitter.com/pioz
|
15
|
+
Github: https://github.com/pioz
|
16
|
+
Work Experience:
|
17
|
+
October 2020 - present: |
|
18
|
+
<b>Senior web developer</b>
|
19
|
+
CardTrader s.r.l.s. - Borgoricco (PD) - Italy
|
20
|
+
|
21
|
+
After years of working as a developer of web applications of all kinds for various clients of all kinds, I started working at CardTrader, an Amazon style marketplace for the trading of collectibles. With this work I have radically changed the way of working: if before I carried out several projects of more or less defined duration, now I develop only one project. This allows me to gain experience in developing super maintainable code because the code I write today I will have to understand and modify it tomorrow.
|
22
|
+
|
23
|
+
sep4:
|
24
|
+
January 2018 - October 2020: |
|
25
|
+
<b>Full stack web developer</b>
|
26
|
+
Uqido s.r.l. - Padova - Italy
|
27
|
+
|
28
|
+
When I began to understand that the work as a freelancer was no longer teaching me that much, I decided to change my path and look for a new opportunity where I can test myself, learn new things and above all compare myself with other experts in the sector. So I ended up working for Uqido. Uqido is a fast growing software house that deals with the development of web applications and virtual reality. I was immediately able to tackle very big and super interesting projects!! Uqido works "as God commands", trying to maintain the highest possible standards in both technology and methodology. I'm learning a lot of new things: for example I started following projects with really huge databases where research is essential and so I experimented with Elasticsearch finding an excellent ally in the most used search engine in the world! Furthermore, I started learning and mastering the AGILE methodology which allowed me to improve my working skills with myself and above all with others. I am very happy with this job!
|
29
|
+
|
30
|
+
sep3:
|
31
|
+
April 2009 – December 2017: |
|
32
|
+
<b>Web developer</b>
|
33
|
+
Freelancer - Albignasego (PD) - Italy
|
34
|
+
|
35
|
+
In these years as freelancer I have developed many web applications of all kinds: from classic dynamic business websites to important e-commerce, product configurators, CMS, web management software and even social networks. I have developed projects for large companies such as Radio 105 and Selle Italia. Although I prefer the backend development of an application, I can easily move in the frontend, in fact I have good knowledge of HTML, CSS and Javascript, also experienced in developing interfaces in React.
|
36
|
+
|
37
|
+
sep2:
|
38
|
+
April 2012 – February 2017: |
|
39
|
+
<b>Leader backend developer</b>
|
40
|
+
Timerepublik S.A. - Albignasego (PD) - Italy / Lugano - Switzerland
|
41
|
+
|
42
|
+
I have designed and developed the backend of the Timerepublik web application, a social network for the exchange of talents in exchange for time. Created by the idea of two Swiss people, in this community, users can exchange favours and pay with time units that act as a real currency. It was great to work on this project that definitely gave me the chance to increase my Rails mastery, but also to solve many problems that in an application like this one has to deal with. Also I could experience working in real team and know a little about Swiss realities.
|
43
|
+
|
44
|
+
sep1:
|
45
|
+
2006: |
|
46
|
+
<b>Three-months internship</b>
|
47
|
+
Digitalblu s.n.c. - San Zenone degli Ezzelini (TV) – Italy
|
48
|
+
|
49
|
+
I have developed a software in C# (Visual Studio .NET 2005) for handling phone calls through a PBX.
|
13
50
|
Education:
|
14
|
-
2003: |
|
15
|
-
<b>High school degree - Surveyor</b>
|
16
|
-
I.T.S. Girardi, Cittadella (PD), Italy
|
17
|
-
sep:
|
18
51
|
2009: |
|
19
52
|
<b>Master degree in Computer Science</b>
|
20
|
-
University of
|
53
|
+
University of Padua - Italy
|
21
54
|
Final evaluation 107/110
|
22
55
|
|
23
|
-
|
24
|
-
Pubblications:
|
25
|
-
Title: <b>Compact preference representation in stable marriage problems</b>
|
26
|
-
Supervisors: prof. Francesca Rossi, prof. Khristen Venable, prof. Livio Colussi
|
27
|
-
Link: http://www.math.unipd.it/~frossi/adt6-cameraready.pdf
|
28
|
-
Description: The stable marriage problem has many practical applications in twosided markets like those that assign doctors to hospitals, students to schools, or buyers to vendors. Most algorithms to find stable marriages assume that the participants explicitly expresses a preference ordering. This can be problematic when the number of options is large or has a combinatorial structure. We consider therefore using CP-nets, a compact preference formalism in stable marriage problems. We study the impact of this formalism on the computational complexity of stable marriage procedures, as well as on the properties of the solutions computed by these procedures. We show that it is possible to model preferences compactly without significantly increasing the complexity of stable marriage procedures and whilst maintaining the desirable properties of the matching returned.
|
29
|
-
Work Experience:
|
30
|
-
2006: |
|
31
|
-
<b>Three-months internship at Digitalblu s.n.c.</b>
|
32
|
-
Padova, Italy
|
33
|
-
|
34
|
-
I developed a software application in C# (Visual Studio. NET 2005) to handle calls through a PBX.
|
56
|
+
Artificial intelligence, Distributed systems, Algorithms 3, Concurrent programming, Formal methods for concurrency, Constraint systems, 3D graphic, Multimedia systems, ...
|
35
57
|
sep1:
|
36
|
-
|
37
|
-
<b>
|
38
|
-
|
58
|
+
2006: |
|
59
|
+
<b>Degree in Computer Science</b>
|
60
|
+
University of Padua - Italy
|
39
61
|
|
40
|
-
|
62
|
+
Software engineering, Web development, Programming, Object oriented programming, Algorithms, Computer architecture, Networking, Computer security, Mathematics, Algebra, Logic, ...
|
41
63
|
sep2:
|
42
|
-
|
43
|
-
<b>
|
44
|
-
|
45
|
-
|
46
|
-
Backend programmer
|
47
|
-
The First Global Time Bank. Timerepublik is a market place that allows you to offer skills (talent) to others members of the community in exchange of time at a one to one ratio. Time becomes the unit of exchange instead of money. Time accumulated can then be exchanged without any restrictions for small favors within the community. Visit http://www.timerepublik.com.
|
64
|
+
2003: |
|
65
|
+
<b>High school degree - Surveyor</b>
|
66
|
+
I.T.S. Girardi - Cittadella (PD) - Italy
|
48
67
|
Languages:
|
49
68
|
Italian: Mother tongue
|
50
69
|
English: Standard working proficiency studied three years in middle school and five years in high school
|
51
|
-
|
70
|
+
Job-related skills:
|
52
71
|
Skills: |
|
53
|
-
*
|
54
|
-
*
|
55
|
-
*
|
56
|
-
*
|
57
|
-
*
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
DBMS: |
|
76
|
-
MySQL (very good)
|
77
|
-
MongoDB (very good)
|
78
|
-
Redis (very good)
|
79
|
-
Oracle (poor)
|
80
|
-
Frameworks: Ruby on Rails (very good)
|
81
|
-
Other: |
|
82
|
-
HTML (very good)
|
83
|
-
CSS (very good)
|
84
|
-
Apache2 (very good)
|
85
|
-
Microsoft Visual Studio .NET (good)
|
86
|
-
Git (very good)
|
87
|
-
GTK/QT (good)
|
88
|
-
OpenGL (good)
|
89
|
-
...
|
90
|
-
Interests:
|
91
|
-
Computer programming: Open source contributor at http://www.github.com/pioz
|
92
|
-
Cracking: XSS, SQL injection, Brute force scripting, DoS
|
93
|
-
Video games: World of Warcraft, Hearthstone, Quake 3 arena, Monkey Island, Warcraft III
|
94
|
-
Additional:
|
95
|
-
Driving licens: Clean european driving license B
|
96
|
-
Relationship status: Married to Deborah Stocco
|
72
|
+
* I work daily using Ruby on Rails for 8 years, ensuring a great experience of this framework and the Ruby language. Specialized in backend development of web applications. From the solid foundations of my studies to acquire the master degree in computer science at the University of Padua I have integrated my knowledge day after day to improve myself and specialize in the development of web applications. Great knowledge of Unix systems and good ability to work in groups with excellent mastery of versioning systems, especially Git. Currently I work as a freelancer and I am always happy to evaluate new challenges, projects and collaborations of any kind. I'm also part of Megiston, a group of freelancers IT professionals who put together their skills to deal with very important and challenging projects.
|
73
|
+
* Skilful in designing and programming web applications and json RESTful based API.
|
74
|
+
* Computer science is my passion.
|
75
|
+
* Interested and intrigued by new technologies, I do not fossilize over a single technology.
|
76
|
+
* Very versatile and able to quickly learn new programming languages and frameworks.
|
77
|
+
* I have a good teamwork experience and I like use support tools such as trackers and versioning systems.
|
78
|
+
* Problem solving adept.
|
79
|
+
sep1:
|
80
|
+
Programming languages: C, C++, <b>Ruby</b>, <b>Go</b>, Java, Python, .NET C#, Ada, PHP, LATEX
|
81
|
+
Frontend: HTML, CSS, Javascript, HAML, SCSS
|
82
|
+
DBMS: MySQL, MongoDB, Redis, SQLite
|
83
|
+
Operating systems: GNU/Linux Debian, Mac OS X
|
84
|
+
Frameworks: Ruby on Rails
|
85
|
+
Software/Libraries: React, Redux, Git, YAML, jQuery, NodeJS, Microsoft Visual Studio .NET, GTK/QT, OpenGL
|
86
|
+
Server software: Apache2, Passenger, Thin, Unicorn, Puma, Nginx, Postfix
|
87
|
+
sep2:
|
88
|
+
Driving license: B
|
89
|
+
Additional information:
|
90
|
+
Publications: Compact preference representation in stable marriage problems (prof. Francesca Rossi, prof. Khristen Venable, prof. Livio Colussi) - http://www.math.unipd.it/~frossi/adt6-cameraready.pdf
|
91
|
+
Open source: |
|
92
|
+
* https://www.github.com/pioz
|
93
|
+
Relationship status: Married to Deborah Stocco, father of Giuseppe
|
data/lib/epilotto_curriculum.rb
CHANGED
@@ -7,12 +7,14 @@ module EpilottoCurriculum
|
|
7
7
|
def build_from_yaml(yaml_file, width: 80, left_column_max_width_percent: 30)
|
8
8
|
cv = YAML.load_file(yaml_file)
|
9
9
|
name = cv.delete('name')
|
10
|
+
updated_at = cv.delete('updated_at')
|
11
|
+
about_me = cv.delete('about_me')
|
10
12
|
left_column_max_width = (width * (left_column_max_width_percent/100.0)).round
|
11
13
|
max_paragraph_width = cv.values.map(&:keys).flatten.max{|x,y| x.size <=> y.size}.size
|
12
14
|
lc_w = (max_paragraph_width <= left_column_max_width ? max_paragraph_width : left_column_max_width) + 1
|
13
15
|
rc_w = width - 3 - lc_w
|
14
16
|
|
15
|
-
s = [draw_title(name, width)]
|
17
|
+
s = [draw_title(name, width, updated_at)]
|
16
18
|
cv.each do |section, data|
|
17
19
|
if section != :name
|
18
20
|
s << draw_section(section, width) # lc_w - 1
|
@@ -29,7 +31,7 @@ module EpilottoCurriculum
|
|
29
31
|
end
|
30
32
|
end
|
31
33
|
end
|
32
|
-
s <<
|
34
|
+
s << draw_about_me(name, about_me, width)
|
33
35
|
return s.join("\n")
|
34
36
|
end
|
35
37
|
|
@@ -74,10 +76,11 @@ module EpilottoCurriculum
|
|
74
76
|
return r.join("\n")
|
75
77
|
end
|
76
78
|
|
77
|
-
def draw_title(name, width)
|
79
|
+
def draw_title(name, width, updated_at = nil)
|
78
80
|
title = "#{name.upcase}'s curriculum vitæ"
|
79
|
-
s =
|
80
|
-
s
|
81
|
+
s = title
|
82
|
+
s = "#{title} (last update #{updated_at})" if updated_at
|
83
|
+
s = s.center(width).gsub(title, bold(red(title)))
|
81
84
|
return "\n#{s}\n"
|
82
85
|
end
|
83
86
|
|
@@ -87,4 +90,11 @@ module EpilottoCurriculum
|
|
87
90
|
return bold(yellow("#{'─'*2} #{s} #{'─'*lw}"))
|
88
91
|
end
|
89
92
|
|
93
|
+
def draw_about_me(name, link, width)
|
94
|
+
if link.present?
|
95
|
+
s = "ℹ️ Really more info about #{name} here: #{link}"
|
96
|
+
return "\n#{s}\n"
|
97
|
+
end
|
98
|
+
end
|
99
|
+
|
90
100
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: epilotto_curriculum
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- pioz
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-02-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -16,28 +16,28 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '2'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '2'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '13'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
40
|
+
version: '13'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: term-ansicolor
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -75,7 +75,7 @@ licenses:
|
|
75
75
|
- MIT
|
76
76
|
metadata:
|
77
77
|
allowed_push_host: https://rubygems.org
|
78
|
-
post_install_message:
|
78
|
+
post_install_message:
|
79
79
|
rdoc_options: []
|
80
80
|
require_paths:
|
81
81
|
- lib
|
@@ -90,9 +90,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
90
90
|
- !ruby/object:Gem::Version
|
91
91
|
version: '0'
|
92
92
|
requirements: []
|
93
|
-
|
94
|
-
|
95
|
-
signing_key:
|
93
|
+
rubygems_version: 3.2.29
|
94
|
+
signing_key:
|
96
95
|
specification_version: 4
|
97
96
|
summary: Enrico Pilotto's curriculum vitae
|
98
97
|
test_files: []
|