Compare commits

..

1 Commits

Author SHA1 Message Date
Eduardo Cueto-Mendoza 48f2ae2353 [RM] all files to start a new site 2021-04-16 21:36:56 +01:00
102 changed files with 0 additions and 1993 deletions

View File

@ -1,21 +0,0 @@
MIT License
Copyright (c) 2019 Thibaut Lienart
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@ -1,3 +0,0 @@
[deps]
Franklin = "713c75ef-9fc9-4b05-94a9-213340da978e"
NodeJS = "2bd173c7-0d6d-553b-b6af-13a54713934c"

View File

@ -1,3 +0,0 @@
# Eddie's Blog
Website for Eduardo Cueto Mendoza

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

View File

@ -1,772 +0,0 @@
html{
font-family:sans-serif;
-ms-text-size-adjust:100%;
-webkit-text-size-adjust:100%;
font-size:15px !important;
}
@media (min-width: 31.25rem){
html{
font-size:17px !important;
}
}
body{
margin:0;
position:relative;
padding-bottom:4rem;
font-family:-apple-system,"helvetica neue",helvetica,roboto,noto,"segoe ui",arial,sans-serif;
font-size:inherit;
line-height:1.5;
/* These sections are for the cellphone page */
color: #5c5962;
background-color: #b9cfe4; /*#6b7a99;#fff;*/
}
@media (min-width: 50rem){
body{
position:static;
padding-bottom:0;
}
}
h1{
font-size:2em;
margin:0.67em 0
}
sub,sup{
font-size:75%;
line-height:0;
position:relative;
vertical-align:baseline
}
sup{
top:-0.5em
}
sub{
bottom:-0.25em
}
img{
border:0
}
p,h1,h2,h3,h4,h5,h6,ol,ul,pre,address,blockquote,dl,div,fieldset,form,hr,noscript,table{
margin-top:0
}
h1,h2,h3,h4,h5,h6{
margin-top:1.2em;
margin-bottom:0.8em;
font-weight:500;
line-height:1.15;
color:#27262b;
}
p{
margin-bottom:1em
}
a{
color:#0E39B0;
text-decoration:none;
}
pre{
overflow:auto;
margin:0;
margin-bottom: 0.8em;
}
code{
font-family:"SFMono-Regular",Menlo,Consolas,Monospace;
font-size:12px;
line-height:1.4;
padding:0.2em 0.15em;
font-weight:400;
/*background-color:#f5f6fa;*/
background-color: #ffffff;
border:1px solid #eeebee;
border-radius:4px;
}
li:not(:last-child) {
margin-bottom: 5px;
}
img{
max-width:100%;
height:auto
}
hr{
height:1px;
padding:0;
margin:2rem 0;
background-color: #6b7a99;/*#eeebee;*/
border:0;
}
@media (min-width: 50rem){
.page-wrap{
position: absolute;
top: 0;
left: 0;
display: flex;
width: 100%;
height: 100%;
overflow-x: hidden;
overflow-y: hidden;
}
}
/************************************************************
=============================================================
SIDE BAR
============================================================
************************************************************/
.side-bar{
z-index: 100;
display: flex;
flex-wrap: wrap;
background-color: #b9cfe4;
}
.side-bar .header {
display: flex;
min-height: 60px;
align-items: center;
}
.side-bar .header .title{
padding-right:1rem;
padding-left:1rem;
flex-grow:1;
display:flex;
height:100%;
align-items:center;
padding-top:.75rem;
padding-bottom:.75rem;
color:#27262b;
font-size:18px !important;
line-height: 1.15em;
}
.show-menu {
cursor: pointer;
appearance:none;
display:flex;
height:100%;
/* line-height: 60px; */
padding:1rem;
align-items:center;
color:#0E39B0;
text-transform:uppercase;
background:transparent;
text-align:right;
padding-right: 2rem;
border:0;
width: calc(100% - 220px);
background-color: #6b7a99;/*white;*/
}
.side-bar .menu {
width: 100%;
padding-right:1rem;
padding-left:1rem
}
.menu-list{
padding:0;
margin-top:0;
margin-bottom:0;
list-style:none
}
.menu-list-child-list{
padding-left:.75rem;
line-height: 0.9em;
list-style:none;
}
.menu-list-child-list .menu-list-link{
color:#5c5962
}
.menu-list-child-list .menu-list-item{
position:relative
}
.menu-list-child-list .menu-list-item::before{
position:absolute;
margin-top:0.3em;
margin-left:-0.8em;
color:rgba(92,89,98,0.3);
content:"- "
}
.menu-list-child-list .menu-list-item.active::before{
color:#5c5962
}
.menu-list-item{
font-size:14px !important;
margin:0
}
.menu-list-parent .menu-list-child-list{
display:none
}
.menu-list-parent.active .menu-list-child-list{
display:block
}
.menu-list-item.active a {
font-weight:600;
color:#27262b;
text-decoration:none
}
.menu-list-child-list{
margin-top: 0.5em;
padding-left: 0.5em;
}
ul.menu-list-child-list li {
font-size: 80%;
}
.menu-list-link{
display:block;
padding-top:.25rem;
padding-bottom:.25rem
}
/* .menu-list-link.active{
font-weight:600;
color:#27262b;
text-decoration:none
} */
.side-bar .footer {
width: 150px;
font-size: 13px;
padding-right:1rem;
padding-left:1rem;
position:absolute;
bottom:0;
left:0;
padding-top:1rem;
padding-bottom:1rem
}
/*Hide checkbox*/
input[type=checkbox]{display: none;}
/*Show menu when invisible checkbox is checked*/
input[type=checkbox]:checked ~ #side-menu{display: block;}
/* side bar adjustments for narrow mode (bar on top) */
@media (max-width : 49.99rem){
/* Toggle menu off */
.side-bar .menu {
display: none;
padding-left:35px;
padding-bottom:15px;
}
.side-bar {
border-bottom: 1px solid #6b7a99; /*#eeebee;*/
background-color: #6b7a99;
}
.side-bar .header {
padding-left: 15px;
width: 150px;} /* middle space */
.show-menu {display: block;}
.side-bar .footer {
display:none;
}
}
/* side bar adjustments for narrow mode (bar on top) */
@media (min-width: 31.25rem){
.side-bar .header .title{
font-size:24px !important
}
.menu-list-item{
font-size:16px !important
}
}
/* side bar adjustments for medium mode (bar on side) */
@media (min-width: 50rem){
.side-bar{
flex-wrap: nowrap;
position: absolute;
width: 248px;
height: 100%;
flex-direction: column;
align-items: flex-end;
}
.side-bar .header{
z-index: 101;
height: 60px;
max-height: 60px;
border-bottom: 1px solid #b9cfe4;/*#eeebee;*/
padding-right:3.5rem;
padding-left:2rem;
}
.side-bar .header .title{
font-size: 35px !important;
padding-top:.5rem;
padding-bottom:.5rem
}
.show-menu {
display:none
}
.side-bar .menu{
width: 160px;
padding-right:2.5rem;
/* padding-left:0rem; */
padding-top:3rem;
padding-bottom:1rem;
overflow-y:auto;
flex:1 1 auto;
/*background-color: #0E39B0;*/
}
.side-bar .footer{
padding-right:2rem;
padding-left:2rem;
position: static;
}
}
/* side bar adjustments for wide mode (bar on side) */
@media (min-width: 66.5rem){
.side-bar{
width:calc((100% - 66.5rem) / 2 + 264px);
min-width:264px;
}
}
/************************************************************
=============================================================
MAIN CONTENT
============================================================
************************************************************/
@media (min-width: 50rem){
.main-content-wrap{
position:absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
-webkit-overflow-scrolling: touch;
overflow-x: hidden;
overflow-y: scroll;
background-color: #e8ecef;
}
.main-content{
position:relative;
max-width: 800px;
margin-left: 248px
}
}
@media (min-width: 66.5rem){
.main-content {
margin-left:calc((100% - 1064px) / 2 + 264px);
}
}
.main-header{
padding-right:1rem;
padding-left:1rem;
display:none;
/* padding-top:1rem; */
/* padding-bottom:1rem; */
background-color: #e8ecef;
height: 60px;
line-height: 60px;
}
@media (min-width: 50rem){
.main-header{
padding-right:2rem;
padding-left:2rem;
background-color: #e8ecef;
}
}
@media (min-width: 50rem){
.main-header{
display:flex;
justify-content:flex-end;
height: -1em;
background-color: #e8ecef;
border-bottom:1px solid #e8ecef;/*#eeebee;*/
}
}
.main-footer{
font-size: 14px;
color: darkgray;
border-top: 1px solid #e8ecef;/*#eeebee;*/
padding-top: 15px;
}
.franklin-content {
padding-right:1rem;
padding-left:1rem;
padding-top:1rem;
padding-bottom:1rem;
line-height:1.5
}
@media (min-width: 50rem){
.franklin-content {
padding-right:2rem;
padding-left:2rem;
padding-top:2rem;
padding-bottom:2rem;
}
}
/************************************************************
=============================================================
JUDOC SPECIFICS
============================================================
************************************************************/
.franklin-content a{
overflow:hidden;
text-overflow:ellipsis;
white-space:nowrap
}
.franklin-content ul,ol{
line-height: 1em;
}
.franklin-content li{
margin-top: 0.3em;
line-height: 1.3em;
}
.franklin-content ul,.franklin-content ol{
padding-left:1.5em
}
.franklin-content h1:first-of-type{
margin-top:0.5em
}
.franklin-content h1,h2,h3,h4,h5,h6{
position:relative
}
td.fndef-backref {
min-width: 20px;
}
.franklin-content table {
margin-left: auto;
margin-right: auto;
border-collapse: collapse;
text-align: center;
margin-bottom: 1em;}
.franklin-content tr,th,td{
padding: 10px;
border: 1px solid black;}
.franklin-content table tbody tr td {
border: 1px solid black;
}
.franklin-content blockquote {
background: lemonchiffon;
border-left: 7px solid #a8a8a8;
margin: 1.5em 10px;
padding: 0.5em 10px;
font-style: italic;}
.franklin-content blockquote p {
display: inline; }
.franklin-content .row {
display: block; }
.franklin-content .left {
float: left;
margin-right: 15px; }
.franklin-content .right {
float: right; }
.franklin-content .container img {
width: auto;
padding-left: 0;
border-radius: 10px;
margin-bottom: 1em;}
.franklin-content .fndef table {
margin: 0;
margin-bottom: 1em;
border: 0;
}
.franklin-content .fndef tr {
padding: 0;
border: 0;
text-align: left;
}
.franklin-content .fndef td {
padding: 0;
border: 0;
}
.franklin-content .fndef td.fndef-backref {
vertical-align: top;
font-size: 80%;
padding-left: 5px;
}
.franklin-content .fndef td.fndef-content {
font-size: 90%;
padding-left: 10px;
}
.franklin-content .fndef tr {
border-left: 2px solid lightgray;
}
.franklin-content img {
width: 70%;
text-align: center;
padding-left: 10%; }
.franklin-content .img-small img {
width: 50%;
text-align: center;
padding-left: 20%; }
/* ==================================================================
KATEX
================================================================== */
body { counter-reset: eqnum; }
.katex { font-size: 1em !important; }
.katex-display .katex {
display: inline-block; } /* overwrite katex settings */
.katex-display::after {
counter-increment: eqnum;
content: "(" counter(eqnum) ")";
position: relative;
float: right;
padding-right: 5px; }
/* ==================================================================
CODE & HIGHLIGHT.JS
================================================================== */
.hljs {
font-size: 80%;
line-height: 1.35em;
border-radius: 10px;
padding: 1em;
padding-left:1.2em;
}
.hljs-meta, .hljs-metas, .hljs-metap { font-weight: bold; }
.hljs-meta { color: rgb(25, 179, 51); }
.hljs-metas { color: red; }
.hljs-metap { color: #426c90; } /*rgb(51, 131, 231); }*/
.hljs-string {color: #ca4418;}
.hljs-subst { color:purple;} /*inherit;}*/
.page-foot {
margin-top: 2em;
border-top: 1px solid #6b7a99;
padding-top:20px;
padding-bottom:15px;
color: gray;
font-size: 90%;
}
/* code.language-plaintext {color: purple;} */
.franklin-toc ol > li > ol {list-style-type: lower-alpha;}
.franklin-toc ol > li > ol > li > ol {list-style-type: lower-roman;}
code.language-yaml .hljs-attr { color: #ca4418;}
code.language-yaml .hljs-string { color: green;}
ul.menu-list-child-list {
padding-bottom: 0.5em;
}
ul.menu-list-child-list li{
padding-left: 1em;
}
ul.menu-list-child-list a.menu-list-link {
font-size: 14px !important;
}
/* LUNR */
.result-title a {
/* font-size: 1.2em; */
text-decoration: none;
}
.result-title a:hover {
text-decoration: underline;
}
.result-preview {
color: #808080;
}
/* .search-input {
width: 250px;
} */
.resultCount {
color: #808080;
}
.result-query {
font-weight: bold;
}
#lunrSearchForm {
margin-top: 2em;
}
/* .pagination {
text-align: center;
margin: 16px 8px 16px 8px;
}
.pagination a {
color: black;
padding: 8px 16px;
text-decoration: none;
}
.pagination a.active {
background-color: #4CAF50;
color: white;
}
.pagination a:hover:not(.active) {
background-color: #ddd;
} */
/* ================================================================== */
/* PAGE-DIVS
- .flist = lists with a checkmark
- .note = highlight the background in light yellow
*/
/* ================================================================== */
.blank {
height: 1.5em;
}
.flist p {
display:inline;
}
.flist ul {
list-style: none;
}
.flist a#goto {
padding-right: 10px;
margin-left: -15px;
}
.flist a#goto #arrow{
display:none;
}
.flist a#goto:hover #check {
display: none;
}
.flist a#goto:hover #arrow {
display: inline;
}
.tlist p {
display:inline;
}
.note {
margin-top: 1.5em;
width: 95%;
margin-left:auto;
margin-right:auto;
background-color: aliceblue;
border-bottom-left-radius: 5px;
border-bottom-right-radius: 5px;
margin-bottom: 1em;
}
.note .content {
padding: 10px;
padding-left: 12px;
}
.note .title{
font-size: 105%;
border-top-left-radius: 5px;
border-top-right-radius: 5px;
padding-left: 7px;
padding-top: 2px;
color: white;
background: cornflowerblue;
}
.definition {
background-color: aliceblue;
border-left: 5px solid cornflowerblue;
border-radius: 10px;
padding: 10px;
margin-bottom: 1em;
}
.important {
background-color: lemonchiffon;
padding: 0.5em;
margin-bottom: 1em;
}
.silly-formatting {
width: 50%;
text-align: center;
color: magenta;
border: 1px solid black;
}
.ccols {
margin-top:1.5em;
margin-bottom:1.5em;
margin-left:auto;
margin-right:auto;
width: 60%;
text-align: center;}
.ccols svg {
width:30px;}
.lalign td {
text-align: left;
}
.lalign tr:first-of-type > td {
text-align: center;
}
.lalignb td {
text-align: left;
}
.lalignb tr:first-of-type > td {
text-align: center;
}
.lalignb th:nth-child(1){
width:100px;
}
/* ================================================================== */
/* Small additional divs */
/* ================================================================== */
.small-img {
width: 50%;
margin-left: auto;
margin-right: auto;
}
#title-header {
margin-top: -1.9em;
margin-right: 2em;
color: #6b7a99;
}
@media(min-width: 50rem) {
#title-header {
margin-top: -1.9em;
margin-right: 2.0em;
color: #6b7a99;
}
}
table, th, td {
border: 0px solid black;
}

View File

@ -1,12 +0,0 @@
<!-- CONTENT ENDS HERE -->
</div> <!-- end of class main-content -->
</div> <!-- end of class main-content-wrap -->
</div> <!-- end of class page-wrap-->
{{ if hasmath }}
{{ insert foot_katex.html }}
{{ end }}
{{ if hascode }}
{{ insert foot_highlight.html }}
{{ end }}
</body>
</html>

View File

@ -1,2 +0,0 @@
<script src="/libs/highlight/highlight.pack.js"></script>
<script>hljs.initHighlightingOnLoad();hljs.configure({tabReplace: ' '});</script>

View File

@ -1,3 +0,0 @@
<script src="/libs/katex/katex.min.js"></script>
<script src="/libs/katex/auto-render.min.js"></script>
<script>renderMathInElement(document.body)</script>

View File

@ -1,100 +0,0 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
{{if hasmath}} {{insert head_katex.html }} {{end}}
{{if hascode}} {{insert head_highlight.html }} {{end}}
<link rel="stylesheet" href="/css/jtd.css">
<link rel="icon" href="/assets/infra/favicon.ico">
{{isdef title}} <title>{{fill title}}</title> {{end}}
<!-- LUNR -->
<script src="/libs/lunr/lunr.min.js"></script>
<script src="/libs/lunr/lunr_index.js"></script>
<script src="/libs/lunr/lunrclient.min.js"></script>
<!-- PLOTLY -->
{{if hasplotly}} <script src="/libs/plotly/plotly.min.js"></script> {{end}}
</head>
<body> <!-- closed in foot.html -->
<div class="page-wrap"> <!-- closed in foot.html -->
<!-- SIDE BAR -->
<div class="side-bar">
<div class="header">
<a href="/" class="title">
<img style="height:60px;" src="/assets/infra/neural-network.png" alt="BLOG" />
<style>
@media (max-width: 31.25rem){
.side-bar .show-menu {height:30px;}
}
@media (max-width: 50rem) {
.side-bar .header .title {padding-top:0; padding-bottom: 0;}
.header .title img {height:60px; max-width: 100px !important;}
}
@media (min-width: 66.5rem){
.header .title img {max-width: 140px !important;}
}
</style>
</a>
</div>
<label for="show-menu" class="show-menu">MENU</label>
<input type="checkbox" id="show-menu" role="button">
<div class="menu" id="side-menu">
<ul class="menu-list">
<!-- HOME -->
<li class="menu-list-item {{ispage index}}active{{end}}"><a href="/" class="menu-list-link">• Home</a>
<!-- WORKFLOW -->
<li class="menu-list-item {{ispage projects/*}}inactive{{end}}"><a href="/projects/green_flux/index.html" class="menu-list-link">• Projects</a>
<ul class="menu-list-child-list ">
<li class="menu-list-item {{ispage projects/green_flux/}}active{{end}}"><a href="/projects/green_flux/" class="menu-list-link">Green Flux</a>
<li class="menu-list-item {{ispage projects/flux_compress/}}active{{end}}"><a href="/projects/flux_compress/" class="menu-list-link">Flux Compress</a>
<!-- <li class="menu-list-item {{ispage code/literate}}active{{end}}"><a href="/code/literate/" class="menu-list-link">Literate.jl</a> -->
</ul>
<!-- CODE (class="menu-list-parent") -->
<li class="menu-list-item {{ispage cv/*}}active{{end}}"><a href="/cv/" class="menu-list-link">• CV</a>
<!-- <ul class="menu-list-child-list ">
<li class="menu-list-item {{ispage code/index.html}}active{{end}}"><a href="/code/" class="menu-list-link">Inserting code</a>
<li class="menu-list-item {{ispage code/eval-tricks}}active{{end}}"><a href="/code/eval-tricks/" class="menu-list-link">Code tricks</a>
<li class="menu-list-item {{ispage code/literate}}active{{end}}"><a href="/code/literate/" class="menu-list-link">Literate.jl</a>
</ul> -->
<!-- EXTRAs -->
<!-- <li class="menu-list-parent {{ispage extras/*}}active{{end}}"><a href="/extras/" class="menu-list-link">• Extras</a>
<ul class="menu-list-child-list ">
<li class="menu-list-item {{ispage extras/index.html}}active{{end}}"><a href="/extras/" class="menu-list-link">Overview</a>
<li class="menu-list-item {{ispage extras/lunr}}active{{end}}"><a href="/extras/lunr/" class="menu-list-link">Lunr search</a>
<li class="menu-list-item {{ispage extras/literate}}active{{end}}"><a href="/extras/literate/" class="menu-list-link">Literate</a>
<li class="menu-list-item {{ispage extras/plotly}}active{{end}}"><a href="/extras/plotly/" class="menu-list-link">Plotly</a>
</ul> -->
<!-- FAQ -->
<!-- <li class="menu-list-item {{ispage faq/*}}active{{end}}"><a href="/faq/technical/" class="menu-list-link">• FAQ</a> -->
<!-- <ul class="menu-list-child-list ">
<li class="menu-list-item {{ispage faq/technical}}active{{end}}"><a href="/faq/technical/" class="menu-list-link">Technical</a>
<li class="menu-list-item {{ispage faq/troubleshooting}}active{{end}}"><a href="/faq/troubleshooting/" class="menu-list-link">Troubleshooting</a>
<li class="menu-list-item {{ispage faq/why-o-why}}active{{end}}"><a href="/faq/why-o-why/" class="menu-list-link">Meta</a>
</ul>-->
</ul>
<form id="lunrSearchForm" name="lunrSearchForm">
<input class="search-input" name="q" placeholder="Enter search term" type="text"> <input type="submit" value="Search" formaction="/search/index.html">
</form>
</div>
<div class="footer">
<a href="/faq/why-o-why/"><img style="width:40%;padding-left:10px;margin-bottom:15px;" src="/assets/infra/lambda.png" alt="Lambda" /></a>
</div>
</div>
<!-- CONTENT -->
<div class="main-content-wrap"> <!-- closed in foot.html -->
<div class="main-content" id="focus" tabindex="-1" style="outline:0;"> <!-- closed in foot.html -->
<div class="main-header">
<a name="pagetop"></a>
<!-- <a id="github" href="https://github.com/tlienart/franklindocs/blob/master/{{fd_rpath}}">Page source</a> -->
<a id="title-header"><h1>A Neural Network Developer</h1></a>
<!-- <a id="github" href="#">SPA</a>
<span style="width:30px; text-align: center;color:lightgray;">|</span> -->
<a id="github" href="https://github.com/EddieCueto?tab=repositories">GitHub Repositories</a>
</div>
<!-- Content appended here (in class franklin-content) -->

View File

@ -1,2 +0,0 @@
<!-- Syntax highlighting via Prism, note: restricted langs -->
<link rel="stylesheet" href="/libs/highlight/github.min.css">

View File

@ -1,2 +0,0 @@
<!-- Un-minified script so that can play a bit -->
<link rel="stylesheet" href="/libs/katex/katex.min.css">

View File

@ -1,5 +0,0 @@
<div class="page-foot">
<div class="copyright">
&copy; {{ fill author }}. Last modified: {{ fill fd_mtime }}. Website built with <a href="https://github.com/tlienart/Franklin.jl">Franklin.jl</a>.
</div>
</div>

View File

@ -1 +0,0 @@
.hljs{display:block;overflow-x:auto;padding:0.5em;color:#000000;background:#f8f8f8}.hljs-comment,.hljs-quote{color:#998;font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-subst{color:#569bd5;font-weight:bold}.hljs-literal,.hljs-number,.hljs-tag .hljs-attr,.hljs-template-variable,.hljs-variable{color:#000000}.hljs-doctag,.hljs-string{color:#d14}.hljs-section,.hljs-selector-id,.hljs-title{color:#900;font-weight:bold}.hljs-subst{font-weight:normal}.hljs-class .hljs-title,.hljs-type{color:#458;font-weight:bold}.hljs-attribute,.hljs-name,.hljs-tag{color:#000080;font-weight:normal}.hljs-link,.hljs-regexp{color:#009926}.hljs-bullet,.hljs-symbol{color:#990073}.hljs-built_in,.hljs-builtin-name{color:#4ec9b0}.hljs-meta{color:#999;font-weight:bold}.hljs-deletion{background:#fdd}.hljs-addition{background:#dfd}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:bold}

File diff suppressed because one or more lines are too long

View File

@ -1 +0,0 @@
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("katex")):"function"==typeof define&&define.amd?define(["katex"],t):"object"==typeof exports?exports.renderMathInElement=t(require("katex")):e.renderMathInElement=t(e.katex)}("undefined"!=typeof self?self:this,function(e){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=1)}([function(t,r){t.exports=e},function(e,t,r){"use strict";r.r(t);var n=r(0),o=r.n(n),a=function(e,t,r){for(var n=r,o=0,a=e.length;n<t.length;){var i=t[n];if(o<=0&&t.slice(n,n+a)===e)return n;"\\"===i?n++:"{"===i?o++:"}"===i&&o--,n++}return-1},i=function(e,t,r,n){for(var o=[],i=0;i<e.length;i++)if("text"===e[i].type){var l=e[i].data,d=!0,s=0,f=void 0;for(-1!==(f=l.indexOf(t))&&(s=f,o.push({type:"text",data:l.slice(0,s)}),d=!1);;){if(d){if(-1===(f=l.indexOf(t,s)))break;o.push({type:"text",data:l.slice(s,f)}),s=f}else{if(-1===(f=a(r,l,s+t.length)))break;o.push({type:"math",data:l.slice(s+t.length,f),rawData:l.slice(s,f+r.length),display:n}),s=f+r.length}d=!d}o.push({type:"text",data:l.slice(s)})}else o.push(e[i]);return o},l=function(e,t){for(var r=function(e,t){for(var r=[{type:"text",data:e}],n=0;n<t.length;n++){var o=t[n];r=i(r,o.left,o.right,o.display||!1)}return r}(e,t.delimiters),n=document.createDocumentFragment(),a=0;a<r.length;a++)if("text"===r[a].type)n.appendChild(document.createTextNode(r[a].data));else{var l=document.createElement("span"),d=r[a].data;t.displayMode=r[a].display;try{t.preProcess&&(d=t.preProcess(d)),o.a.render(d,l,t)}catch(e){if(!(e instanceof o.a.ParseError))throw e;t.errorCallback("KaTeX auto-render: Failed to parse `"+r[a].data+"` with ",e),n.appendChild(document.createTextNode(r[a].rawData));continue}n.appendChild(l)}return n};t.default=function(e,t){if(!e)throw new Error("No element provided to render");var r={};for(var n in t)t.hasOwnProperty(n)&&(r[n]=t[n]);r.delimiters=r.delimiters||[{left:"$$",right:"$$",display:!0},{left:"\\(",right:"\\)",display:!1},{left:"\\[",right:"\\]",display:!0}],r.ignoredTags=r.ignoredTags||["script","noscript","style","textarea","pre","code"],r.ignoredClasses=r.ignoredClasses||[],r.errorCallback=r.errorCallback||console.error,r.macros=r.macros||{},function e(t,r){for(var n=0;n<t.childNodes.length;n++){var o=t.childNodes[n];if(3===o.nodeType){var a=l(o.textContent,r);n+=a.childNodes.length-1,t.replaceChild(a,o)}else 1===o.nodeType&&function(){var t=" "+o.className+" ";-1===r.ignoredTags.indexOf(o.nodeName.toLowerCase())&&r.ignoredClasses.every(function(e){return-1===t.indexOf(" "+e+" ")})&&e(o,r)}()}}(e,r)}}]).default});

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,103 +0,0 @@
var path = require("path");
var fs = require("fs");
var lunr = require("lunr");
var cheerio = require("cheerio");
// don't modify this, it'll be modified on the fly by lunr() in Franklin
const PATH_PREPEND = "..";
const HTML_FOLDER = "../../__site";
const OUTPUT_INDEX = "lunr_index.js";
function isHtml(filename) {
lower = filename.toLowerCase();
return (lower.endsWith(".htm") || lower.endsWith(".html"));
}
function findHtml(folder) {
if (!fs.existsSync(folder)) {
console.log("Could not find folder: ", folder);
return;
}
var files = fs.readdirSync(folder);
var htmls = [];
for (var i = 0; i < files.length; i++) {
var filename = path.join(folder, files[i]);
var stat = fs.lstatSync(filename);
if (stat.isDirectory()) {
if (stat == "assets" || stat == "css" || stat == "libs" ) {
continue
}
var recursed = findHtml(filename);
for (var j = 0; j < recursed.length; j++) {
recursed[j] = path.join(files[i], recursed[j]).replace(/\\/g, "/");
}
htmls.push.apply(htmls, recursed);
}
else if (isHtml(filename)){
htmls.push(files[i]);
};
};
return htmls;
};
function readHtml(root, file, fileId) {
var filename = path.join(root, file);
var txt = fs.readFileSync(filename).toString();
var $ = cheerio.load(txt);
var title = $("title").text();
if (typeof title == 'undefined') title = file;
var body = $("body").text()
if (typeof body == 'undefined') body = "";
var data = {
"id": fileId,
"l": filename,
"t": title,
"b": body
}
return data;
}
function buildIndex(docs) {
var idx = lunr(function () {
this.ref('id');
this.field('t'); // title
this.field('b'); // body
docs.forEach(function (doc) {
this.add(doc);
}, this);
});
return idx;
}
function buildPreviews(docs) {
var result = {};
for (var i = 0; i < docs.length; i++) {
var doc = docs[i];
result[doc["id"]] = {
"t": doc["t"],
"l": doc["l"].replace(/^\.\.\/\.\.\/__site/gi, '/' + PATH_PREPEND)
}
}
return result;
}
function main() {
files = findHtml(HTML_FOLDER);
var docs = [];
for (var i = 0; i < files.length; i++) {
docs.push(readHtml(HTML_FOLDER, files[i], i));
}
var idx = buildIndex(docs);
var prev = buildPreviews(docs);
var js = "const LUNR_DATA = " + JSON.stringify(idx) + ";\n" +
"const PREVIEW_LOOKUP = " + JSON.stringify(prev) + ";";
fs.writeFile(OUTPUT_INDEX, js, function(err) {
if(err) {
return console.log(err);
}
});
}
main();

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,88 +0,0 @@
// This file and its minified version is adapted from https://github.com/BLE-LTER/Lunr-Index-and-Search-for-Static-Sites which is unlicensed.
//
"use strict";
var LUNR_CONFIG = {
"resultsElementId": "searchResults", // Element to contain results
"countElementId": "resultCount" // Element showing number of results
};
// Get URL arguments
function getParameterByName(name) {
var url = window.location.href;
name = name.replace(/[\[\]]/g, "\\$&");
var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
results = regex.exec(url);
if (!results) return null;
if (!results[2]) return "";
return decodeURIComponent(results[2].replace(/\+/g, " "));
}
// Parse search results into HTML
function parseLunrResults(results) {
var html = [];
for (var i = 0; i < results.length; i++) {
var id = results[i]["ref"];
var item = PREVIEW_LOOKUP[id]
var title = item["t"];
var preview = item["p"];
var link = item["l"].replace("__site/", "");
var result = ('<li><span class="result-title"><a href="' + link + '">'
+ title + '</a></span>');
html.push(result);
}
if (html.length) {
html.join("");
return '<ul>'+html+'</ul>'
}
else {
return "";
}
}
function escapeHtml(unsafe) {
return unsafe
.replace(/&/g, "&amp;")
.replace(/</g, "&lt;")
.replace(/>/g, "&gt;")
.replace(/"/g, "&quot;")
.replace(/'/g, "&#039;");
}
function showResultCount(total) {
var element = document.getElementById(LUNR_CONFIG["countElementId"])
if (element !== null) {
element.innerHTML = total + ".";
}
}
function searchLunr(query) {
var idx = lunr.Index.load(LUNR_DATA);
// Write results to page
var results = idx.search(query);
var resultHtml = parseLunrResults(results);
var elementId = LUNR_CONFIG["resultsElementId"];
document.getElementById(elementId).innerHTML = resultHtml;
// Write the number of results
showResultCount(results.length);
}
// When the window loads, read query parameters and perform search
window.onload = function() {
var query = getParameterByName("q");
if (query != "" && query != null) {
document.forms.lunrSearchForm.q.value = query;
searchLunr(query);
} else {
// empty query: show 0 results (no query)
showResultCount("0 (empty query)");
}
document.getElementById("focus").focus();
};

View File

@ -1 +0,0 @@
"use strict";var LUNR_CONFIG={"resultsElementId":"searchResults","countElementId":"resultCount"};function getParameterByName(name){var url=window.location.href;name=name.replace(/[\[\]]/g,"\\$&");var regex=new RegExp("[?&]"+name+"(=([^&#]*)|&|#|$)"),results=regex.exec(url);if(!results){return null}if(!results[2]){return ""}return decodeURIComponent(results[2].replace(/\+/g," "))}function parseLunrResults(results){var html=[];for(var i=0;i<results.length;i+=1){var id=results[i]["ref"];var item=PREVIEW_LOOKUP[id];var title=item["t"];var preview=item["p"];var link=item["l"].replace("__site/","");var result=('<li><span class="result-title"><a href="'+link+'">'+title+'</a></span>');html.push(result)}if(html.length){html.join("");return '<ul>'+html+'</ul>'}else{return ""}}function escapeHtml(unsafe){return unsafe.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}function showResultCount(total){var element=document.getElementById(LUNR_CONFIG["countElementId"]);if(element!==null){element.innerHTML=total+"."}}function searchLunr(query){var idx=lunr.Index.load(LUNR_DATA);var results=idx.search(query);var resultHtml=parseLunrResults(results);var elementId=LUNR_CONFIG["resultsElementId"];document.getElementById(elementId).innerHTML=resultHtml;showResultCount(results.length)}window.onload=function(){var query=getParameterByName("q");if(query!=""&&query!=null){document.forms.lunrSearchForm.q.value=query;searchLunr(query)}else{showResultCount("0 (empty query)")}document.getElementById("focus").focus()};

File diff suppressed because one or more lines are too long

View File

@ -1,19 +0,0 @@
# Some **really cool** maths:
#
# $$ \exp(i\pi) + 1 \quad = \quad 0 $$
#
# We can show this with some code:
x = exp(im*π) + 1
# that looks close to zero but
x 0
# however
abs(x) < eps()
# #### Conclusion
#
# The equation is proven thanks to our very rigorous proof.

View File

@ -1,55 +0,0 @@
@def author = "Eduardo Cueto Mendoza"
@def hasmath = false <!-- mostly there's no maths on pages -->
@def generate_rss = false
@def mintoclevel = 2 <!-- TOCS only for level h2 and higher -->
@def maxtoclevel = 3 <!-- TOCS only up to level 3 included -->
@def hasplotly = false
<!--
Useful HTML snippets
* \blurb{...} for a blurb at the top of a page
* \refblank{...} for a link with target blank
* \lineskip forces skipping of a line somewhere
-->
\newcommand{\blurb}[1]{
~~~
<span style="font-size:24px;font-weight:300;">!#1</span>
~~~
}
\newcommand{\refblank}[2]{
~~~
<a href="!#2" target="_blank" rel="noopener noreferrer">#1</a>
~~~
}
\newcommand{\lineskip}{@@blank@@}
\newcommand{\skipline}{\lineskip}
\newcommand{\note}[1]{@@note @@title ⚠ Note@@ @@content #1 @@ @@}
\newcommand{\esc}[2]{
```julia:esc__!#1
#hideall
using Markdown
println("\`\`\`\`\`plaintext $(Markdown.htmlesc(raw"""#2""")) \`\`\`\`\`")
```
\textoutput{esc__!#1}
}
\newcommand{\esch}[2]{
```julia:esc__!#1
#hideall
using Markdown
println("\`\`\`\`\`html $(Markdown.htmlesc(raw"""#2""")) \`\`\`\`\`")
```
\textoutput{esc__!#1}
}
\newcommand{\span}[2]{~~~<span style="display:inline-block;!#1">~~~!#2~~~</span>~~~}
\newcommand{\goto}[1]{~~~<a href="!#1" id="goto"><span id="check">&check;</span><span id="arrow"><b>&rarr;</b></span></a>~~~}
\newcommand{\smindent}[1]{\span{width:45px;text-align:right;color:slategray;}{#1}}
\newcommand{\smnote}[1]{\style{font-size:85%;line-height:0em;}{#1}}

View File

@ -1,144 +0,0 @@
# Eduardo Cueto Mendoza
Flat 2~~~<br/>~~~
236 North Circular Road~~~<br/>~~~
Dublin 7, Co. Dublin~~~<br/>~~~
P: +353 (087) 434-7184~~~<br/>~~~
cueto303@gmail.com
~~~
<hr>
~~~
##### PhD Researcher
At the moment doing research on neural networks and convex optimization,
learning Julia and Rust. Playing Red Dead Redemption 2 and L.A. Noir.
~~~
<hr>
~~~
## Education
~~~
<hr>
~~~
#### Technological University Dublin
##### Current
##### PhD Computer Science
My current work explores the interaction of DNN and their energy
efficiency and size in storage/memory. I am currently exploring methods
that combine Topological Data Analysis into the generation of slimmer
architectures, also simultaneously profiling state of the art architectures
to fully understand the interaction of hardware and the amount of energy
consumed. The former data is compared with other classical or other variations
of the architecture to truly see if the increment in accuracy/precision does not
require an exorbitant amount of energy (compared to our gains).
#### Centro de Investigación en Computación - IPN
##### Aug 2016 - Jun 2018
##### Master in Computer Science
Learned state of the art machine learning algorithms and natural language
processing techniques. Thesis work was done towards the computational
relationships of group theory and natural languages.
#### Universidad Autónoma de Ciudad Juárez
##### Aug 2011 - May 2016
##### Bachelor in Mathematics
Learned a variety of methods to prove statements in different areas of
mathematics. Optative course work was geared towards applied mathematics:
optimization, probability theory, functional analysis, stochastic ODE, etc.
Thesis was required for the degree, work was done in stochastic optimization.
~~~
<hr>
~~~
## Work Experience
~~~
<hr>
~~~
#### Infolink-EXP.
##### Feb 2019 - Mar 2020
##### Lead Data Analyst
Applied ML to mine relevant information from our customers and integrate it to
our platform called Zahoree. This platform is a customer journey modeling
system, my contribution to the team is the processing of all our natural
language sources (tickets, complaint emails, and reviews) and transform this
data into information that is important for our customers business intelligence.
#### Indboo.
##### Jan 2018 - Jan 2019
##### Odoo Python Developer
Developed modules for Odoo (Open ERP) using Python, Javascript and PostgreSQL.
The team used Agile Scrum and DevOps as the development methodology. Used docker
and Git as version control. Started the job remotely. We modified Odoo to adjust
it to our customers needs.
~~~
<hr>
~~~
## Languages
* Spanish: Mother tongue
* English: fluent TOEFL 97; 2018
~~~
<hr>
~~~
## Honors, Awards
* 2018: Graduated Master of Computer Science with Honors
* 2014: Best scientific poster award bachelor category, Universidad Autónoma de Ciudad Juárez.
* 2010: Basic science award in physics 2nd place, Instituto Tecnológico de Ciudad Juárez.
* 2010: Basic science award in mathematics 3rd place, Instituto Tecnológico de Ciudad Juárez.
~~~
<hr>
~~~
## Research Activity and Thesis
* 2018 Workshop on Computational Mathematics Problems. (CIMAT)
* 2018 Methods of Analysis of Noncommutative Groups. (Master Thesis)
* 2016 Using the AW-SDG algorithm for faster parameter learning in a regression. (Bachelor Thesis)
* 2013: Two-month research visit as part of the Mexican National Academy of Science summer research program at Instituto Politecnico Nacional / Escuela Superior de Economia, Researched Financial Mathematics under Dr. Francisco Venegas Martínez.
~~~
<hr>
~~~
## Conference Participation
* 2017 Numerical Analysis of the construction of a similarity matrix using an algorithmic measure on abstract groups; IPN International CORE 2017 Congress.
* 2014: Entropy as the limit for data compression, XLVII National Congress of The Mexican Mathematical Society.
~~~
<hr>
~~~
## Interests
~~~
<hr>
~~~
* Neural Networks
* Convex/Combinatorial Optimization
* Statistical/Machine Learning
* Information Theory
* Julia Programming Language
* COBOL
~~~
<hr>
~~~
## Open Source Projects
~~~
<hr>
~~~
* Green Flux: Functions that measure the approximate kWh electricity draw and non-embedding Floating Point operations consumed in the training of a Flux.jl model.
* Flux Compress: Functions and structures that extend Flux.jl layers to allow the compression of models.

View File

@ -1,5 +0,0 @@
using Franklin
if !(@isdefined msg)
msg = "franklin-update"
end
publish(prerender=false, final=lunr, message=msg)

View File

@ -1,133 +0,0 @@
@def hascode=true
@def maxtoclevel=3
# FAQ - Technical
If you have a question that you couldn't find an answer to easily, don't hesitate to [open an issue](https://github.com/tlienart/Franklin.jl/issues/new) on GitHub, it will help me make this section more complete!
\toc
## Styling
### Can you style footnote text?
**Reference**: [issue 243](https://github.com/tlienart/Franklin.jl/issues/243), **more on this**: [styling](/styling/classes/).
For the reference basically a footnote is inserted as
```html
<sup id="fnref:1"><a href="/menu1/#fndef:1" class="fnref">[1]</a></sup>
```
So you can style that with the class `.franklin-content sup a.fnref`.
For definitions, it's inserted as a table like:
```html
<table class="fndef" id="fndef:blah">
<tr>
<td class="fndef-backref"><a href="/menu1/#fnref:blah">[2]</a></td>
<td class="fndef-content">this is another footnote</td>
</tr>
</table>
```
so you can style the back-reference via the `.franklin-content fndef td.fndef-backref` and the text of the definition via `.franklin-content fndef td.fndef-content`; for instance, consider the following base styling:
```css
.franklin-content table.fndef {
margin: 0;
margin-bottom: 10px;}
.franklin-content .fndef tr, td {
padding: 0;
border: 0;
text-align: left;}
.franklin-content .fndef tr {
border-left: 2px solid lightgray;
}
.franklin-content .fndef td.fndef-backref {
vertical-align: top;
font-size: 70%;
padding-left: 5px;}
.franklin-content .fndef td.fndef-content {
font-size: 80%;
padding-left: 10px;}
```
### How to disable numbering of math in display mode?
It is possible to specify in the CSS which Katex equations will be numbered or not by adjusting the
`.katex-display::after` class.
If you want to disable numbering in the entire site, just head to `_css/franklin.css` and remove the `.katex-display::after` block.
You can also build a simple way to disable all numbering inside a specified `@@` div
(see [div blocks](/syntax/divs-commands/#div_blocks))
```markdown
This is numbered:
$$ 1+1 = 2 $$
This isn't:
@@no-number
$$ 2+2 = 4 $$
and
$$ 3+3 = 7-1 $$
@@
Numbered again:
$$ 7 + 1 = 8 $$
```
by adding in the CSS:
```css
.no-number .katex-display::after {
counter-increment: nothing;
content: "";
}
```
And possibly [define a command](/syntax/divs-commands/#latex-like_commands) in `config.md`:\
```markdown
\newcommand{\nalign}[1]{@@no-number \begin{align}#1\end{align}@@}
```
if you feel it is more convenient to write `\nalign{3+3 = 6}`.
## Code
### How to use loops for templating?
**Reference**: [issue 251](https://github.com/tlienart/Franklin.jl/issues/251), **more on this**: [code tricks](/code/eval-tricks/).
Since you can show the output of any Julia code block (and interpret that output as Franklin markdown), you can use this to help with templating.
For instance:
`````md
```julia:./ex
#hideall
for name in ("Shinzo", "Donald", "Angela", "Christine")
println("""
@@card
### $name
![]("$(lowercase(name)).jpg")
@@
""")
end
```
\textoutput{./ex}
`````
Generates
```html
<div class="card"><h3 id="shinzo"><a href="/index.html#shinzo">Shinzo</a></h3> <img src="shinzo.jpg" alt="" /></div>
<div class="card"><h3 id="donald"><a href="/index.html#donald">Donald</a></h3> <img src="donald.jpg" alt="" /></div>
<div class="card"><h3 id="angela"><a href="/index.html#angela">Angela</a></h3> <img src="angela.jpg" alt="" /></div>
<div class="card"><h3 id="christine"><a href="/index.html#christine">Christine</a></h3> <img src="christine.jpg" alt="" /></div>
```
### How to insert Plotly plots?
**Reference**: [issue 322](https://github.com/tlienart/Franklin.jl/issues/322).
See [this tutorial](/extras/plotly/) for a way to do this.

View File

@ -1,5 +0,0 @@
@def hascode=false
# FAQ - Meta
## Why are you here?

View File

@ -1,60 +0,0 @@
@def hascode = true
# Welcome to my blog
<!-- \tableofcontents you can use \toc as well -->
This blog is where I intent to update my projects as well as my research. I am doing this right now due to COVID-19 and the fact that the epidemic started when I was about to start a PhD position in TU Dublin.
Currently I've been working in two "big" projects:
* `Setting up this blog`
* `Implement compression methods for Deep Neural Networks Models (DNN)`.
Both of this projects are being developed with [Julia](https://julialang.org/), language which was introduced to my during my time at Instituto Politécnico Nacional - Center for Computing Research [IPN](https://www.cic.ipn.mx/index.php/es/). The Julia packages that I am either using or extending are [Flux.jl](https://fluxml.ai/) and [Franklin.jl](https://franklinjl.org/).
A small snippet of Julia:
```julia
abstract type Point end
struct PointR2{T<:Real} <: Point
x::T
y::T
end
struct PointR3{T<:Real} <: Point
x::T
y::T
z::T
end
function len(p::T) where T<:Point
sqrt(sum(getfield(p, η)^2 for η ∈ fieldnames(T)))
end
```
## Arriving to Dublin
OK it is been a while since I wrote on the blog, due to the (COVID-19) pandemic, the projects were maintained by me are on stand by and in
need for an umdate now that Julia is on version 1.6.0 (it was 1.4.3 when they started) but I'm still working hard now into a more broader
than just compressing a NN architecture. Now, models are so big their number of parameters is huge, just look at GPT-3; this has opened new
questions on the area specifically how "efficient" are the compression techniques when applied to those huge models.
Thanks to those theoretical advances now the previous problem of reducing the size of a model has become a multivariable optimization
problem, where other hyperparameters influence the "efficiency" of how a model performs both during training, and inference. As an example,
we can mention the amount of FLOPS performed, the amount of energy consumed in Watts, clock time, etc. (all during training and inference).
This means that currently I am surveying SOTA models to compare if their gains on accuracy/precision are indeed valuable with respect the
previous, for example if the precision of a new model increments 0.0001 than former models but it consumes 100 times the amount of energy or
then that architecture is not efficient and should only be used on applications where that gain might be required. Also, I am exploring
ideas from Topological Data Analysis to try and find smaller architectures that have as good performance and generalization as their more
parametrized counterparts.
Regarding my move to Dublin was a hassle...to arrive I had to take 3 flights one to Mexico City, then one to Dallas and finally to Dublin
at least it wasn't as expensive due to COVID. I haven't been able to travel in Ireland, still on lockdown (08/04/2021) and might continue for
at least a month.
## A bit about myself
My interest in science started from a very early age I was in love with physics because a teacher in elementary school had a copy of the book `COSMOS` which he lend me and I was marveled by the words of [Carl Sagan](https://en.wikipedia.org/wiki/Carl_Sagan). A few years later I discovered chemistry and gave it a try but found it a bit expensive and hard so I kept trying to find "my calling", until as a teenager I got my first PC thanks to working in tending yards and some money that my parents were able to lend me.
It was an old HP machine that had installed Windows Me ha,ha,ha one of the first things that I did was to open it to see how it was inside. After a few week, while browsing the web I read that there was something known as programming that allowed people to do stuff on computers, so a first attempt to learn to program was done in Basic and failed. In the following years due to some economical problems in my family I had to postpone my education for a few years, but was able to resume.
After my "sabbatical" I was able to finish a bachelor in mathematics which I loved, yes after some years I was able to find my calling and learned to program in C++ (which I don't use any more :P). But some of the biggest questions that I still have were not answered during my time in university. Mostly what is computation and why are there some problems harder to solve than others (some are even impossible to solve). So, as the very naive and curious person that I am, started a master in computer science and it was the best time of my life, living in one of the biggest cities of the world and working in one of the best research centers in Mexico [CIC-IPN](http://www.cic.ipn.mx/index.php/es/).
Finally in this last years I got a position as a lead data analyst on a machine learning project [Zahoree](https://infolink-exp.com/customer-experience-analytics/), when I started on the project it was a big data platform but with a a good amount of effort and work was able to change the direction of the project into a [customer experience](https://en.wikipedia.org/wiki/Customer_experience) optimization platform. Following this I won a position in [D-REAL](https://d-real.ie/) that will allow me to finance my PhD at [TU Dublin](https://www.tudublin.ie/).

View File

@ -1,41 +0,0 @@
@def hascode = true
# Bienvenido a mi Blog
<!-- \tableofcontents you can use \toc as well -->
Este blog es donde pretendo dar actualizaciones de mis proyectos y mi trabajo de investigación. He comenzado este blog debido al COVID-19 ya que la pandemia comenzó unos días antes de que realizara mi viaje a la ciudad de Dublín a comenzar mi doctorado.
Actualmente trabajo en dos proyectos "grandes":
* `Actualizar este Blog` and `traducirlo al español`
* `Implementar métodos de compresión para los Modelos de Redes Neuronales Profundas`.
Ambos proyectos se están implementado en el lenguaje de programación [Julia](https://julialang.org/), el cual fue presentado por primera vez durante la maestría en el Centro de Investigación en Computación del IPN [CIC-IPN](https://www.cic.ipn.mx/index.php/es/). Los paquetes que estoy utilizando o extendiendo para este fin són
Both of this projects are being developed with [Julia](), language which was introduced to my during my time at Instituto Politécnico Nacional. The Julia packages that I am either using or extending are [Flux.jl](https://fluxml.ai/) and [Franklin.jl](https://franklinjl.org/).
A small snippet of Julia:
```julia
abstract type Point end
struct PointR2{T<:Real} <: Point
x::T
y::T
end
struct PointR3{T<:Real} <: Point
x::T
y::T
z::T
end
function len(p::T) where T<:Point
sqrt(sum(getfield(p, η)^2 for η ∈ fieldnames(T)))
end
```
## A bit about myself
My interest in science started from a very early age I was in love with physics because a teacher in elementary school had a copy of the book `COSMOS` which he lend me and I was marveled by the words of [Carl Sagan](https://en.wikipedia.org/wiki/Carl_Sagan). A few years later I discovered chemistry and gave it a try but found it a bit expensive and hard so I kept trying to find "my calling", until as a teenager I got my first PC thanks to working in tending yards and some money that my parents were able to lend me.
It was an old HP machine that had installed Windows Me ha,ha,ha one of the first things that I did was to open it to see how it was inside. After a few week, while browsing the web I read that there was something known as programming that allowed people to do stuff on computers, so a first attempt to learn to program was done in Basic and failed. In the following years due to some economical problems in my family I had to postpone my education for a few years, but was able to resume.
After my "sabbatical" I was able to finish a bachelor in mathematics which I loved, yes after some years I was able to find my calling and learned to program in C++ (which I don't use any more :P). But some of the biggest questions that I still have were not answered during my time in university. Mostly what is computation and why are there some problems harder to solve than others (some are even impossible to solve). So, as the very naive and curious person that I am, started a master in computer science and it was the best time of my life, living in one of the biggest cities of the world and working in one of the best research centers in Mexico [CIC-IPN](http://www.cic.ipn.mx/index.php/es/).
Finally in this last years I got a position as a lead data analyst on a machine learning project [Zahoree](https://infolink-exp.com/customer-experience-analytics/), when I started on the project it was a big data platform but with a a good amount of effort and work was able to change the direction of the project into a [customer experience](https://en.wikipedia.org/wiki/Customer_experience) optimization platform. Following this I won a position in [D-REAL](https://d-real.ie/) that will allow me to finance my PhD at [TU Dublin](https://www.tudublin.ie/).

334
package-lock.json generated
View File

@ -1,334 +0,0 @@
{
"name": "www.neural-net.dev",
"version": "0.0.1",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "www.neural-net.dev",
"version": "0.0.1",
"license": "MIT",
"dependencies": {
"cheerio": "^1.0.0-rc.3",
"highlight": "^0.2.4",
"lunr": "^2.3.9"
}
},
"node_modules/@types/node": {
"version": "14.0.13",
"resolved": "https://registry.npmjs.org/@types/node/-/node-14.0.13.tgz",
"integrity": "sha512-rouEWBImiRaSJsVA+ITTFM6ZxibuAlTuNOCyxVbwreu6k6+ujs7DfnU9o+PShFhET78pMBl3eH+AGSI5eOTkPA=="
},
"node_modules/boolbase": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
"integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24="
},
"node_modules/cheerio": {
"version": "1.0.0-rc.3",
"resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.3.tgz",
"integrity": "sha512-0td5ijfUPuubwLUu0OBoe98gZj8C/AA+RW3v67GPlGOrvxWjZmBXiBCRU+I8VEiNyJzjth40POfHiz2RB3gImA==",
"dependencies": {
"css-select": "~1.2.0",
"dom-serializer": "~0.1.1",
"entities": "~1.1.1",
"htmlparser2": "^3.9.1",
"lodash": "^4.15.0",
"parse5": "^3.0.1"
},
"engines": {
"node": ">= 0.6"
}
},
"node_modules/css-select": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz",
"integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=",
"dependencies": {
"boolbase": "~1.0.0",
"css-what": "2.1",
"domutils": "1.5.1",
"nth-check": "~1.0.1"
}
},
"node_modules/css-what": {
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz",
"integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==",
"engines": {
"node": "*"
}
},
"node_modules/dom-serializer": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz",
"integrity": "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==",
"dependencies": {
"domelementtype": "^1.3.0",
"entities": "^1.1.1"
}
},
"node_modules/domelementtype": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz",
"integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w=="
},
"node_modules/domhandler": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz",
"integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==",
"dependencies": {
"domelementtype": "1"
}
},
"node_modules/domutils": {
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz",
"integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=",
"dependencies": {
"dom-serializer": "0",
"domelementtype": "1"
}
},
"node_modules/entities": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz",
"integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w=="
},
"node_modules/highlight": {
"version": "0.2.4",
"resolved": "https://registry.npmjs.org/highlight/-/highlight-0.2.4.tgz",
"integrity": "sha1-isAodbA/WTXgZ1hSt2z+H9WODf8=",
"deprecated": "Not maintained anymore"
},
"node_modules/htmlparser2": {
"version": "3.10.1",
"resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz",
"integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==",
"dependencies": {
"domelementtype": "^1.3.1",
"domhandler": "^2.3.0",
"domutils": "^1.5.1",
"entities": "^1.1.1",
"inherits": "^2.0.1",
"readable-stream": "^3.1.1"
}
},
"node_modules/inherits": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
},
"node_modules/lodash": {
"version": "4.17.21",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
},
"node_modules/lunr": {
"version": "2.3.9",
"resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz",
"integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow=="
},
"node_modules/nth-check": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz",
"integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==",
"dependencies": {
"boolbase": "~1.0.0"
}
},
"node_modules/parse5": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/parse5/-/parse5-3.0.3.tgz",
"integrity": "sha512-rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA==",
"dependencies": {
"@types/node": "*"
}
},
"node_modules/readable-stream": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
"integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
"dependencies": {
"inherits": "^2.0.3",
"string_decoder": "^1.1.1",
"util-deprecate": "^1.0.1"
},
"engines": {
"node": ">= 6"
}
},
"node_modules/safe-buffer": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="
},
"node_modules/string_decoder": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
"integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
"dependencies": {
"safe-buffer": "~5.2.0"
}
},
"node_modules/util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
}
},
"dependencies": {
"@types/node": {
"version": "14.0.13",
"resolved": "https://registry.npmjs.org/@types/node/-/node-14.0.13.tgz",
"integrity": "sha512-rouEWBImiRaSJsVA+ITTFM6ZxibuAlTuNOCyxVbwreu6k6+ujs7DfnU9o+PShFhET78pMBl3eH+AGSI5eOTkPA=="
},
"boolbase": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
"integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24="
},
"cheerio": {
"version": "1.0.0-rc.3",
"resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.3.tgz",
"integrity": "sha512-0td5ijfUPuubwLUu0OBoe98gZj8C/AA+RW3v67GPlGOrvxWjZmBXiBCRU+I8VEiNyJzjth40POfHiz2RB3gImA==",
"requires": {
"css-select": "~1.2.0",
"dom-serializer": "~0.1.1",
"entities": "~1.1.1",
"htmlparser2": "^3.9.1",
"lodash": "^4.15.0",
"parse5": "^3.0.1"
}
},
"css-select": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz",
"integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=",
"requires": {
"boolbase": "~1.0.0",
"css-what": "2.1",
"domutils": "1.5.1",
"nth-check": "~1.0.1"
}
},
"css-what": {
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz",
"integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg=="
},
"dom-serializer": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz",
"integrity": "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==",
"requires": {
"domelementtype": "^1.3.0",
"entities": "^1.1.1"
}
},
"domelementtype": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz",
"integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w=="
},
"domhandler": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz",
"integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==",
"requires": {
"domelementtype": "1"
}
},
"domutils": {
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz",
"integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=",
"requires": {
"dom-serializer": "0",
"domelementtype": "1"
}
},
"entities": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz",
"integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w=="
},
"highlight": {
"version": "0.2.4",
"resolved": "https://registry.npmjs.org/highlight/-/highlight-0.2.4.tgz",
"integrity": "sha1-isAodbA/WTXgZ1hSt2z+H9WODf8="
},
"htmlparser2": {
"version": "3.10.1",
"resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz",
"integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==",
"requires": {
"domelementtype": "^1.3.1",
"domhandler": "^2.3.0",
"domutils": "^1.5.1",
"entities": "^1.1.1",
"inherits": "^2.0.1",
"readable-stream": "^3.1.1"
}
},
"inherits": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
},
"lodash": {
"version": "4.17.21",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
},
"lunr": {
"version": "2.3.9",
"resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz",
"integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow=="
},
"nth-check": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz",
"integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==",
"requires": {
"boolbase": "~1.0.0"
}
},
"parse5": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/parse5/-/parse5-3.0.3.tgz",
"integrity": "sha512-rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA==",
"requires": {
"@types/node": "*"
}
},
"readable-stream": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
"integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
"requires": {
"inherits": "^2.0.3",
"string_decoder": "^1.1.1",
"util-deprecate": "^1.0.1"
}
},
"safe-buffer": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="
},
"string_decoder": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
"integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
"requires": {
"safe-buffer": "~5.2.0"
}
},
"util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
}
}
}

View File

@ -1,32 +0,0 @@
{
"name": "www.neural-net.dev",
"version": "0.0.1",
"description": "Eduardo Cueto Mendoza Blog",
"main": "index.js",
"dependencies": {
"cheerio": "^1.0.0-rc.3",
"highlight": "^0.2.4",
"lunr": "^2.3.9"
},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"repository": {
"type": "git",
"url": "git+https://github.com/EddieCueto/website.git"
},
"keywords": [
"Blog",
"Neural",
"Networks",
"Optimization",
"Artificial",
"Intelligence"
],
"author": "Eduardo Cueto Mendoza",
"license": "MIT",
"bugs": {
"url": "https://github.com/EddieCueto/website/issues"
},
"homepage": "https://github.com/EddieCueto/website#readme"
}

View File

@ -1,3 +0,0 @@
# Flux Compress
TODO: Update project status

View File

@ -1,3 +0,0 @@
# Green Flux
TODO: Update project status

View File

@ -1,5 +0,0 @@
# My Projects
<!-- \tableofcontents -->
## Update later

Some files were not shown because too many files have changed in this diff Show More