diff --git a/CNAME b/CNAME deleted file mode 100644 index 191bf6b..0000000 --- a/CNAME +++ /dev/null @@ -1 +0,0 @@ -bgpicciano.com diff --git a/TOMBSTONE b/TOMBSTONE new file mode 100644 index 0000000..637878d --- /dev/null +++ b/TOMBSTONE @@ -0,0 +1 @@ +This repo has been moved to https://code.betamike.com/mediocregopher/bgpicciano.com diff --git a/contact.html b/contact.html deleted file mode 100644 index 8faa1d8..0000000 --- a/contact.html +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - Brian Picciano - Freelance Developer - - - - - - - - - - - - - - - - - -
-
/index
/resume
/contact
-
X
-
- -
- -

Contact Me

- -

- Please direct all questions and inquiries to: -

- - bgpicciano@gmail.com - -
- - - - - - - diff --git a/css/main.css b/css/main.css deleted file mode 100644 index 315e81d..0000000 --- a/css/main.css +++ /dev/null @@ -1,95 +0,0 @@ -@font-face { - font-family: "SourceCode-Pro"; - src: url("source-code-pro.woff") format('woff'); -} - -html { - font-family: "SourceCode-Pro", monospace, sans-serif; - background-color: #f2f2f2; -} - -@font-face { - font-family: "Overpass"; - src: url("overpass-regular.woff") format('woff'); -} - -/* -h1, h2, h3, h4, h5, h6, .button-primary, .button { - font-family: "Overpass", Helvetica, sans-serif; -} -*/ - -h1 { color: #008700; } -h2 { color: #0087af; } -h3 { color: #8700af; } -h4 { color: #d75f00; } - -em { - font-style: normal; - color: #8700af; -} - -a, a:active { - color: #0087af; -} - -.header { - font-size: 2rem; - line-height: normal; - background-color: #005f87; - position: sticky; - top: 0; - overflow: hidden; - z-index: 1; -} - -.header a,a:active { - color: #eeeeee; - text-decoration: none; -} - -.header .tab { - background-color: #0087af; - color: #eeeeee; - padding: 0 1rem 1px 1rem; - border-right: 1px solid #005f87; - white-space: nowrap; - display: inline-block; -} - -.header .tab.selected { - background-color: #e4e4e4; - color: #444444; -} - -.header .x { - background-color: #0087af; - color: #eeeeee; - padding: 0; - border-right: 1px solid #005f87; - white-space: nowrap; - display: inline-block; - float: right; -} - -.container { - margin-top: 3.5rem; - margin-bottom: 3.5rem; -} - -.footer { - font-size: 2rem; - line-height: normal; - background-color: #005f87; - color: #eeeeee; - position: fixed; - bottom: 0; - width: 100%; - overflow: hidden; - z-index: 1; -} - -.footer .scrollpos { - float: right; - margin-right: 1rem; -} diff --git a/css/normalize.css b/css/normalize.css deleted file mode 100644 index 81c6f31..0000000 --- a/css/normalize.css +++ /dev/null @@ -1,427 +0,0 @@ -/*! normalize.css v3.0.2 | MIT License | git.io/normalize */ - -/** - * 1. Set default font family to sans-serif. - * 2. Prevent iOS text size adjust after orientation change, without disabling - * user zoom. - */ - -html { - font-family: sans-serif; /* 1 */ - -ms-text-size-adjust: 100%; /* 2 */ - -webkit-text-size-adjust: 100%; /* 2 */ -} - -/** - * Remove default margin. - */ - -body { - margin: 0; -} - -/* HTML5 display definitions - ========================================================================== */ - -/** - * Correct `block` display not defined for any HTML5 element in IE 8/9. - * Correct `block` display not defined for `details` or `summary` in IE 10/11 - * and Firefox. - * Correct `block` display not defined for `main` in IE 11. - */ - -article, -aside, -details, -figcaption, -figure, -footer, -header, -hgroup, -main, -menu, -nav, -section, -summary { - display: block; -} - -/** - * 1. Correct `inline-block` display not defined in IE 8/9. - * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. - */ - -audio, -canvas, -progress, -video { - display: inline-block; /* 1 */ - vertical-align: baseline; /* 2 */ -} - -/** - * Prevent modern browsers from displaying `audio` without controls. - * Remove excess height in iOS 5 devices. - */ - -audio:not([controls]) { - display: none; - height: 0; -} - -/** - * Address `[hidden]` styling not present in IE 8/9/10. - * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. - */ - -[hidden], -template { - display: none; -} - -/* Links - ========================================================================== */ - -/** - * Remove the gray background color from active links in IE 10. - */ - -a { - background-color: transparent; -} - -/** - * Improve readability when focused and also mouse hovered in all browsers. - */ - -a:active, -a:hover { - outline: 0; -} - -/* Text-level semantics - ========================================================================== */ - -/** - * Address styling not present in IE 8/9/10/11, Safari, and Chrome. - */ - -abbr[title] { - border-bottom: 1px dotted; -} - -/** - * Address style set to `bolder` in Firefox 4+, Safari, and Chrome. - */ - -b, -strong { - font-weight: bold; -} - -/** - * Address styling not present in Safari and Chrome. - */ - -dfn { - font-style: italic; -} - -/** - * Address variable `h1` font-size and margin within `section` and `article` - * contexts in Firefox 4+, Safari, and Chrome. - */ - -h1 { - font-size: 2em; - margin: 0.67em 0; -} - -/** - * Address styling not present in IE 8/9. - */ - -mark { - background: #ff0; - color: #000; -} - -/** - * Address inconsistent and variable font size in all browsers. - */ - -small { - font-size: 80%; -} - -/** - * Prevent `sub` and `sup` affecting `line-height` in all browsers. - */ - -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -sup { - top: -0.5em; -} - -sub { - bottom: -0.25em; -} - -/* Embedded content - ========================================================================== */ - -/** - * Remove border when inside `a` element in IE 8/9/10. - */ - -img { - border: 0; -} - -/** - * Correct overflow not hidden in IE 9/10/11. - */ - -svg:not(:root) { - overflow: hidden; -} - -/* Grouping content - ========================================================================== */ - -/** - * Address margin not present in IE 8/9 and Safari. - */ - -figure { - margin: 1em 40px; -} - -/** - * Address differences between Firefox and other browsers. - */ - -hr { - -moz-box-sizing: content-box; - box-sizing: content-box; - height: 0; -} - -/** - * Contain overflow in all browsers. - */ - -pre { - overflow: auto; -} - -/** - * Address odd `em`-unit font size rendering in all browsers. - */ - -code, -kbd, -pre, -samp { - font-family: monospace, monospace; - font-size: 1em; -} - -/* Forms - ========================================================================== */ - -/** - * Known limitation: by default, Chrome and Safari on OS X allow very limited - * styling of `select`, unless a `border` property is set. - */ - -/** - * 1. Correct color not being inherited. - * Known issue: affects color of disabled elements. - * 2. Correct font properties not being inherited. - * 3. Address margins set differently in Firefox 4+, Safari, and Chrome. - */ - -button, -input, -optgroup, -select, -textarea { - color: inherit; /* 1 */ - font: inherit; /* 2 */ - margin: 0; /* 3 */ -} - -/** - * Address `overflow` set to `hidden` in IE 8/9/10/11. - */ - -button { - overflow: visible; -} - -/** - * Address inconsistent `text-transform` inheritance for `button` and `select`. - * All other form control elements do not inherit `text-transform` values. - * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. - * Correct `select` style inheritance in Firefox. - */ - -button, -select { - text-transform: none; -} - -/** - * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` - * and `video` controls. - * 2. Correct inability to style clickable `input` types in iOS. - * 3. Improve usability and consistency of cursor style between image-type - * `input` and others. - */ - -button, -html input[type="button"], /* 1 */ -input[type="reset"], -input[type="submit"] { - -webkit-appearance: button; /* 2 */ - cursor: pointer; /* 3 */ -} - -/** - * Re-set default cursor for disabled elements. - */ - -button[disabled], -html input[disabled] { - cursor: default; -} - -/** - * Remove inner padding and border in Firefox 4+. - */ - -button::-moz-focus-inner, -input::-moz-focus-inner { - border: 0; - padding: 0; -} - -/** - * Address Firefox 4+ setting `line-height` on `input` using `!important` in - * the UA stylesheet. - */ - -input { - line-height: normal; -} - -/** - * It's recommended that you don't attempt to style these elements. - * Firefox's implementation doesn't respect box-sizing, padding, or width. - * - * 1. Address box sizing set to `content-box` in IE 8/9/10. - * 2. Remove excess padding in IE 8/9/10. - */ - -input[type="checkbox"], -input[type="radio"] { - box-sizing: border-box; /* 1 */ - padding: 0; /* 2 */ -} - -/** - * Fix the cursor style for Chrome's increment/decrement buttons. For certain - * `font-size` values of the `input`, it causes the cursor style of the - * decrement button to change from `default` to `text`. - */ - -input[type="number"]::-webkit-inner-spin-button, -input[type="number"]::-webkit-outer-spin-button { - height: auto; -} - -/** - * 1. Address `appearance` set to `searchfield` in Safari and Chrome. - * 2. Address `box-sizing` set to `border-box` in Safari and Chrome - * (include `-moz` to future-proof). - */ - -input[type="search"] { - -webkit-appearance: textfield; /* 1 */ - -moz-box-sizing: content-box; - -webkit-box-sizing: content-box; /* 2 */ - box-sizing: content-box; -} - -/** - * Remove inner padding and search cancel button in Safari and Chrome on OS X. - * Safari (but not Chrome) clips the cancel button when the search input has - * padding (and `textfield` appearance). - */ - -input[type="search"]::-webkit-search-cancel-button, -input[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; -} - -/** - * Define consistent border, margin, and padding. - */ - -fieldset { - border: 1px solid #c0c0c0; - margin: 0 2px; - padding: 0.35em 0.625em 0.75em; -} - -/** - * 1. Correct `color` not being inherited in IE 8/9/10/11. - * 2. Remove padding so people aren't caught out if they zero out fieldsets. - */ - -legend { - border: 0; /* 1 */ - padding: 0; /* 2 */ -} - -/** - * Remove default vertical scrollbar in IE 8/9/10/11. - */ - -textarea { - overflow: auto; -} - -/** - * Don't inherit the `font-weight` (applied by a rule above). - * NOTE: the default cannot safely be changed in Chrome and Safari on OS X. - */ - -optgroup { - font-weight: bold; -} - -/* Tables - ========================================================================== */ - -/** - * Remove most spacing between table cells. - */ - -table { - border-collapse: collapse; - border-spacing: 0; -} - -td, -th { - padding: 0; -} \ No newline at end of file diff --git a/css/overpass-regular.woff b/css/overpass-regular.woff deleted file mode 100644 index 90038f4..0000000 Binary files a/css/overpass-regular.woff and /dev/null differ diff --git a/css/skeleton.css b/css/skeleton.css deleted file mode 100644 index bdf4470..0000000 --- a/css/skeleton.css +++ /dev/null @@ -1,418 +0,0 @@ -/* -* Skeleton V2.0.4 -* Copyright 2014, Dave Gamache -* www.getskeleton.com -* Free to use under the MIT license. -* http://www.opensource.org/licenses/mit-license.php -* 12/29/2014 -*/ - - -/* Table of contents -–––––––––––––––––––––––––––––––––––––––––––––––––– -- Grid -- Base Styles -- Typography -- Links -- Buttons -- Forms -- Lists -- Code -- Tables -- Spacing -- Utilities -- Clearing -- Media Queries -*/ - - -/* Grid -–––––––––––––––––––––––––––––––––––––––––––––––––– */ -.container { - position: relative; - width: 100%; - max-width: 960px; - margin: 0 auto; - padding: 0 20px; - box-sizing: border-box; } -.column, -.columns { - width: 100%; - float: left; - box-sizing: border-box; } - -/* For devices larger than 400px */ -@media (min-width: 400px) { - .container { - width: 85%; - padding: 0; } -} - -/* For devices larger than 550px */ -@media (min-width: 550px) { - .container { - width: 80%; } - .column, - .columns { - margin-left: 4%; } - .column:first-child, - .columns:first-child { - margin-left: 0; } - - .one.column, - .one.columns { width: 4.66666666667%; } - .two.columns { width: 13.3333333333%; } - .three.columns { width: 22%; } - .four.columns { width: 30.6666666667%; } - .five.columns { width: 39.3333333333%; } - .six.columns { width: 48%; } - .seven.columns { width: 56.6666666667%; } - .eight.columns { width: 65.3333333333%; } - .nine.columns { width: 74.0%; } - .ten.columns { width: 82.6666666667%; } - .eleven.columns { width: 91.3333333333%; } - .twelve.columns { width: 100%; margin-left: 0; } - - .one-third.column { width: 30.6666666667%; } - .two-thirds.column { width: 65.3333333333%; } - - .one-half.column { width: 48%; } - - /* Offsets */ - .offset-by-one.column, - .offset-by-one.columns { margin-left: 8.66666666667%; } - .offset-by-two.column, - .offset-by-two.columns { margin-left: 17.3333333333%; } - .offset-by-three.column, - .offset-by-three.columns { margin-left: 26%; } - .offset-by-four.column, - .offset-by-four.columns { margin-left: 34.6666666667%; } - .offset-by-five.column, - .offset-by-five.columns { margin-left: 43.3333333333%; } - .offset-by-six.column, - .offset-by-six.columns { margin-left: 52%; } - .offset-by-seven.column, - .offset-by-seven.columns { margin-left: 60.6666666667%; } - .offset-by-eight.column, - .offset-by-eight.columns { margin-left: 69.3333333333%; } - .offset-by-nine.column, - .offset-by-nine.columns { margin-left: 78.0%; } - .offset-by-ten.column, - .offset-by-ten.columns { margin-left: 86.6666666667%; } - .offset-by-eleven.column, - .offset-by-eleven.columns { margin-left: 95.3333333333%; } - - .offset-by-one-third.column, - .offset-by-one-third.columns { margin-left: 34.6666666667%; } - .offset-by-two-thirds.column, - .offset-by-two-thirds.columns { margin-left: 69.3333333333%; } - - .offset-by-one-half.column, - .offset-by-one-half.columns { margin-left: 52%; } - -} - - -/* Base Styles -–––––––––––––––––––––––––––––––––––––––––––––––––– */ -/* NOTE -html is set to 62.5% so that all the REM measurements throughout Skeleton -are based on 10px sizing. So basically 1.5rem = 15px :) */ -html { - font-size: 62.5%; } -body { - font-size: 1.5em; /* currently ems cause chrome bug misinterpreting rems on body element */ - line-height: 1.6; - font-weight: 400; - /*font-family: "Raleway", "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif;*/ - color: #222; } - - -/* Typography -–––––––––––––––––––––––––––––––––––––––––––––––––– */ -h1, h2, h3, h4, h5, h6 { - margin-top: 0; - margin-bottom: 2rem; - font-weight: 300; } -h1 { font-size: 4.0rem; line-height: 1.2; letter-spacing: -.1rem;} -h2 { font-size: 3.6rem; line-height: 1.25; letter-spacing: -.1rem; } -h3 { font-size: 3.0rem; line-height: 1.3; letter-spacing: -.1rem; } -h4 { font-size: 2.4rem; line-height: 1.35; letter-spacing: -.08rem; } -h5 { font-size: 1.8rem; line-height: 1.5; letter-spacing: -.05rem; } -h6 { font-size: 1.5rem; line-height: 1.6; letter-spacing: 0; } - -/* Larger than phablet */ -@media (min-width: 550px) { - h1 { font-size: 5.0rem; } - h2 { font-size: 4.2rem; } - h3 { font-size: 3.6rem; } - h4 { font-size: 3.0rem; } - h5 { font-size: 2.4rem; } - h6 { font-size: 1.5rem; } -} - -p { - margin-top: 0; } - - -/* Links -–––––––––––––––––––––––––––––––––––––––––––––––––– */ -a { - color: #1EAEDB; } -a:hover { - color: #0FA0CE; } - - -/* Buttons -–––––––––––––––––––––––––––––––––––––––––––––––––– */ -.button, -button, -input[type="submit"], -input[type="reset"], -input[type="button"] { - display: inline-block; - height: 38px; - padding: 0 30px; - color: #555; - text-align: center; - font-size: 11px; - font-weight: 600; - line-height: 38px; - letter-spacing: .1rem; - text-transform: uppercase; - text-decoration: none; - white-space: nowrap; - background-color: transparent; - border-radius: 4px; - border: 1px solid #bbb; - cursor: pointer; - box-sizing: border-box; } -.button:hover, -button:hover, -input[type="submit"]:hover, -input[type="reset"]:hover, -input[type="button"]:hover, -.button:focus, -button:focus, -input[type="submit"]:focus, -input[type="reset"]:focus, -input[type="button"]:focus { - color: #333; - border-color: #888; - outline: 0; } -.button.button-primary, -button.button-primary, -input[type="submit"].button-primary, -input[type="reset"].button-primary, -input[type="button"].button-primary { - color: #FFF; - background-color: #33C3F0; - border-color: #33C3F0; } -.button.button-primary:hover, -button.button-primary:hover, -input[type="submit"].button-primary:hover, -input[type="reset"].button-primary:hover, -input[type="button"].button-primary:hover, -.button.button-primary:focus, -button.button-primary:focus, -input[type="submit"].button-primary:focus, -input[type="reset"].button-primary:focus, -input[type="button"].button-primary:focus { - color: #FFF; - background-color: #1EAEDB; - border-color: #1EAEDB; } - - -/* Forms -–––––––––––––––––––––––––––––––––––––––––––––––––– */ -input[type="email"], -input[type="number"], -input[type="search"], -input[type="text"], -input[type="tel"], -input[type="url"], -input[type="password"], -textarea, -select { - height: 38px; - padding: 6px 10px; /* The 6px vertically centers text on FF, ignored by Webkit */ - background-color: #fff; - border: 1px solid #D1D1D1; - border-radius: 4px; - box-shadow: none; - box-sizing: border-box; } -/* Removes awkward default styles on some inputs for iOS */ -input[type="email"], -input[type="number"], -input[type="search"], -input[type="text"], -input[type="tel"], -input[type="url"], -input[type="password"], -textarea { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; } -textarea { - min-height: 65px; - padding-top: 6px; - padding-bottom: 6px; } -input[type="email"]:focus, -input[type="number"]:focus, -input[type="search"]:focus, -input[type="text"]:focus, -input[type="tel"]:focus, -input[type="url"]:focus, -input[type="password"]:focus, -textarea:focus, -select:focus { - border: 1px solid #33C3F0; - outline: 0; } -label, -legend { - display: block; - margin-bottom: .5rem; - font-weight: 600; } -fieldset { - padding: 0; - border-width: 0; } -input[type="checkbox"], -input[type="radio"] { - display: inline; } -label > .label-body { - display: inline-block; - margin-left: .5rem; - font-weight: normal; } - - -/* Lists -–––––––––––––––––––––––––––––––––––––––––––––––––– */ -ul { - list-style: circle inside; } -ol { - list-style: decimal inside; } -ol, ul { - padding-left: 0; - margin-top: 0; } -ul ul, -ul ol, -ol ol, -ol ul { - margin: 1.5rem 0 1.5rem 3rem; - font-size: 90%; } -li { - margin-bottom: 1rem; } - - -/* Code -–––––––––––––––––––––––––––––––––––––––––––––––––– */ -code { - padding: .2rem .5rem; - margin: 0 .2rem; - font-size: 90%; - white-space: nowrap; - background: #F1F1F1; - border: 1px solid #E1E1E1; - border-radius: 4px; } -pre > code { - display: block; - padding: 1rem 1.5rem; - white-space: pre; } - - -/* Tables -–––––––––––––––––––––––––––––––––––––––––––––––––– */ -th, -td { - padding: 12px 15px; - text-align: left; - border-bottom: 1px solid #E1E1E1; } -th:first-child, -td:first-child { - padding-left: 0; } -th:last-child, -td:last-child { - padding-right: 0; } - - -/* Spacing -–––––––––––––––––––––––––––––––––––––––––––––––––– */ -button, -.button { - margin-bottom: 1rem; } -input, -textarea, -select, -fieldset { - margin-bottom: 1.5rem; } -pre, -blockquote, -dl, -figure, -table, -p, -ul, -ol, -form { - margin-bottom: 2.5rem; } - - -/* Utilities -–––––––––––––––––––––––––––––––––––––––––––––––––– */ -.u-full-width { - width: 100%; - box-sizing: border-box; } -.u-max-full-width { - max-width: 100%; - box-sizing: border-box; } -.u-pull-right { - float: right; } -.u-pull-left { - float: left; } - - -/* Misc -–––––––––––––––––––––––––––––––––––––––––––––––––– */ -hr { - margin-top: 3rem; - margin-bottom: 3.5rem; - border-width: 0; - border-top: 1px solid #E1E1E1; } - - -/* Clearing -–––––––––––––––––––––––––––––––––––––––––––––––––– */ - -/* Self Clearing Goodness */ -.container:after, -.row:after, -.u-cf { - content: ""; - display: table; - clear: both; } - - -/* Media Queries -–––––––––––––––––––––––––––––––––––––––––––––––––– */ -/* -Note: The best way to structure the use of media queries is to create the queries -near the relevant code. For example, if you wanted to change the styles for buttons -on small devices, paste the mobile query code up in the buttons section and style it -there. -*/ - - -/* Larger than mobile */ -@media (min-width: 400px) {} - -/* Larger than phablet (also point when grid becomes active) */ -@media (min-width: 550px) {} - -/* Larger than tablet */ -@media (min-width: 750px) {} - -/* Larger than desktop */ -@media (min-width: 1000px) {} - -/* Larger than Desktop HD */ -@media (min-width: 1200px) {} diff --git a/css/source-code-pro.woff b/css/source-code-pro.woff deleted file mode 100644 index 33b5534..0000000 Binary files a/css/source-code-pro.woff and /dev/null differ diff --git a/index.html b/index.html deleted file mode 100644 index a747e18..0000000 --- a/index.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - Brian Picciano - Freelance Developer - - - - - - - - - - - - - - - - - -
-
/index
/resume
/contact
-
X
-
- -
- -

Brian Picciano

-

Freelance Developer

- -

- Hello! My name is Brian Picciano. I'm a full-stack - developer with a focus on designing secure and - scalable backends for web applications. -

-

- I have gained experience with an extremely diverse set of - languages, databases, and products over the last ten years, - and I'm always looking for more. -

-

- Remote work has been my life since 2015. No matter where in the - world your team is, I can work with them smoothly and - effectively over a variety of communication platforms. -

- -

What I Do

- -

- I help you solve your problems, no matter what stage of - development you're at. Contact me if you - need someone to: -

- - -

What I've Done

- -

- You can see a breakdown of all my past work at my - resume page. Feel free to - reach out to me if you have any questions - about my past work. -

- -

Next Steps

- -

- Drop by my contact page to schedule a - free, 45 minute consultation. We will discuss your project, - what sort of assistance you need from me, and a timeline to get it - to you. -

- -
- - - - - - - diff --git a/keybase.txt b/keybase.txt deleted file mode 100644 index 75e6c74..0000000 --- a/keybase.txt +++ /dev/null @@ -1,53 +0,0 @@ -https://keybase.io/mediocregopher --------------------------------------------------------------------- - -I hereby claim: - - * I am an admin of https://bgpicciano.com - * I am mediocregopher (https://keybase.io/mediocregopher) on keybase. - * I have a public key ASCUO1SLTd3HrawLBrTG_gMZNsXN-BeKa4UZINwsW-SQtQo - -To do so, I am signing this object: - -{ - "body": { - "key": { - "eldest_kid": "01019e83db8045ae63361f6a82be18d7953345270ef735dbbc2fb9ca838d37e0c8b20a", - "host": "keybase.io", - "kid": "0120943b548b4dddc7adac0b06b4c6fe031936c5cdf8178a6b851920dc2c5be490b50a", - "uid": "c649b28ffab19586db2aa9ec756cce00", - "username": "mediocregopher" - }, - "merkle_root": { - "ctime": 1554747271, - "hash": "b0724cdcbdc9f681a9bd1ce6247d6563ad3d73d2dfb3b7bbe19f4f64edbe2b1075e8b62aa92c173e7aa486b37c995fa16617005d948e9a012c1fa7a2395b2fac", - "hash_meta": "61e817ec3d24359777f134cb61fc2c280d2feb2951c5a3c9e1cd71c3c6bd11f9", - "seqno": 5119622 - }, - "service": { - "entropy": "XWoSxEBYxFusR7yuldmp6Lyp", - "hostname": "bgpicciano.com", - "protocol": "https:" - }, - "type": "web_service_binding", - "version": 2 - }, - "client": { - "name": "keybase.io go client", - "version": "3.0.0" - }, - "ctime": 1554747280, - "expire_in": 504576000, - "prev": "d2c32a21022f4c691521d34a940023c8b98c6d1212e23fa84c9ff7c543f6b875", - "seqno": 82, - "tag": "signature" -} - -which yields the signature: - -hKRib2R5hqhkZXRhY2hlZMOpaGFzaF90eXBlCqNrZXnEIwEglDtUi03dx62sCwa0xv4DGTbFzfgXimuFGSDcLFvkkLUKp3BheWxvYWTESpcCUsQg0sMqIQIvTGkVIdNKlAAjyLmMbRIS4j+oTJ/3xUP2uHXEIDpjpimybKD8xcbZ7hZzBUkt/A1C3QnAD9XZU+XjVdSRAgHCo3NpZ8RAHn88HlmdhuIfuRJXIpvWkQE5FFCnOicpwwe6h+XInNIK1dELNv3ByI3BSxr/12etNXc4TK5b3tWCVe/c6VdpDqhzaWdfdHlwZSCkaGFzaIKkdHlwZQildmFsdWXEIMnv+E6gNxCT9hxb1aKXIjgleMC2IvQHMsKRj3ekP5Hro3RhZ80CAqd2ZXJzaW9uAQ== - -And finally, I am proving ownership of this host by posting or -appending to this document. - -View my publicly-auditable identity here: https://keybase.io/mediocregopher diff --git a/resume.html b/resume.html deleted file mode 100644 index 8f2477f..0000000 --- a/resume.html +++ /dev/null @@ -1,294 +0,0 @@ - - - - - - - Brian Picciano - Senior Systems and Backend Programmer - Resume - - - - - - - - - - - - - - - - - - -
-
/index
/resume
/contact
-
X
-
- -
- -
-

Brian Picciano

-

Senior Systems and Backend Programmer

-

University of Florida 2013 · BS Software Engineering · Mathematics Minor

-
- -
-
-

- 10+ years of experience across backend systems, - databases, and application development. Passionate about - clean interfaces, good documentation, and open source. -

-
-
-

- Extensively experienced with:
- Go, Javascript-HTML-CSS, Nix, Bash, Lua, Clojure, Erlang;
- Redis, Postgres/MariaDB, Cassandra/Scylla, Mongo;
- Nginx, Caddy, Prometheus/Grafana, ELK stack, Ansible, GCE;
- Many flavors of Linux; Docker. -

-
-
- -
-
-

- 5+ years of experience working remotely as a - developer. Well-versed in communicating over slack, zoom, - and email, and in maintaining good working relationships - across large timezone differences. -

-
-
-

- I also have past experience with many other languages and - tools which I could easily pick back up. -

-
-
- -
-
-

Admiral

-

- May 2015 - January 2018
- Co-Founder
- Senior Backend Developer
-

-

- getadmiral.com is a - platform to help publishers analyze and recover revenue - being lost due to adblocking users. -

-
-
-
    -
  • - Wrote a custom analytics platform in Go, using Google - BigTable as backing store and Redis/Mongo as aggregation - caches. Handled a global load of >27 million new rows - an hour, with up-to-the-hour analytics for all - customers. -
  • - -
  • - Implemented a custom, dc-aware service discovery system - for our microservices based app, using Etcd & - SkyDNS. Included health checking, metrics, - rolling-restarts, and more. -
  • - -
  • - Designed Go-based framework for implementing - microservices which automatically handled configuration, - logging, health checks, metrics, RPC/service discovery, - and more. -
  • - -
  • - Implemented an internal RFC process for new product - features and maintained the internal technical - documentation wiki. -
  • - -
  • - Contributed to designing and implementing the - provisioning/deployment system using Ansible, and began - work on migrating to Kubernetes. -
  • -
-
-
- -
-
-

Grooveshark

-

- Senior Systems Engineer (from intern)
- 2010 - Apr 2015
-

-

- Grooveshark was a web-based music streaming site in the - same vein as Spotify. -

-
-
-
    -
  • - Wrote client-to-client communication server in Erlang - (with Redis backend) which served as the backbone of the - Broadcasts feature, where users host their own - radio-like channels, complete with voting, real-time - chat, and moderation. -
  • - -
  • - Designed and implemented Feeds feature using PHP and - Mongo, where users could see the recent listening - activites of their friends in a Facebook-like feed. -
  • - -
  • - Managed and fine-tuned LAMP stack, as well as oversaw - migration from Apache to nginx/php-fpm. Maintained - complex nginx setup, including use of the lua-scripting - module on some domains. -
  • - -
  • - Wrote and maintained the deployment scripts for frontend - code, and contributed significantly to the Chef-based - provisioning system. -
  • - -
  • - Initiated and oversaw the migration of frontend devs - from using a shared development server to individual - Vagrant setups. -
  • -
-
-
- -
-
-

Open-Source/Personal Projects

-

- github.com/mediocregopher - contains much of my public work. Most of it is throw-away - projects, but listed here are a few which are actively - developed and much loved. -

-

- I frequently document the progress of my various projects - on my blog. -

-
-
-
    - -
  • - Author of one of the recommended Redis drivers for Go, - radix. -
  • - -
  • - Author of one of dehub, a - git project hosting platform baked into the project's - commit history itself. It's not much used, even by me, but - it's functional and I'm proud of it. -
  • - -
  • - Working on an unreleased project, where we are creating - the foundation for community-run cloud infrastructures. -
  • - -
  • - Long-term work on a toy (so far) - programming language. - You can follow the progress of the language at - blog.mediocregopher.com. -
  • - -
  • - Author of small art projects such as - viz - and others featured at - blog.mediocregopher.com, - mostly written in Clojure. -
  • - -
-
-
- -
- - - - - -