https://zupzup.org/

ID da verificação
577f795e-8bee-408e-8fee-1eabb2676e70Concluído
URL enviado:
https://zupzup.org/
Relatório concluído:

Ligações · 1 encontradas

As ligações de saída identificadas na página

HiperligaçãoTexto
https://github.com/zupzupgithub

Variáveis JavaScript · 3 encontradas

Variáveis JavaScript globais carregadas no objeto janela de uma página são variáveis declaradas fora das funções e acessíveis de qualquer parte do código dentro do âmbito atual

NomeTipo
onbeforetoggleobject
documentPictureInPictureobject
onscrollendobject

Mensagens de registo da consola · 0 encontradas

Mensagens registadas na consola web

HTML

O corpo HTML em bruto da página

<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-us" lang="en-us"><head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <meta name="title" content="zupzup">
        <meta name="description" content="A blog about the joy of Programming">
        <link id="feedLink" rel="alternate" type="application/rss+xml" title="RSS" href="/index.xml">
        <meta name="referrer" content="always">
        <meta name="keywords" content="programming, golang, rust, go, javascript, development, software, opensource, oss">
        <meta name="author" content="Mario Zupan">
        <link rel="canonical" href="/">
        <title>zupzup</title>
        <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
        <style>
            html {
                font-family: sans-serif;  
                -ms-text-size-adjust: 100%;  
                -webkit-text-size-adjust: 100%;  
            }
            hr {
                width: 200px;
                margin-top: 40px;
                margin-bottom: 40px;
            }
            body {
                margin: 0;
                background-color: #fafafa;
            }
            a:link, a:visited, a:hover, a:active {
                text-decoration: none;
                color: #008080;
            }
            #contactmobile {
                display: none;
            }
            #footer {
                display: flex;
                flex-direction: column;
                background-color: #008080;
                align-items: center;
                justify-content: center;
                color: #fff;
                font-size: small;
            }
            #footer a {
                color: #fff;
                text-decoration: underline;
            }
            #footer a:hover {
                color: #eee;
                text-decoration: none;
            }
            #header {
                display: flex;
                width: 100%;
                background-color: #008080;
                color: #fff;
            }
            #header #header-inner {
                display: flex;
                width: 740px;
                margin-left: auto;
                margin-right: auto;
                background-color: #008080;
                color: #fff;
            }
            #header a {
                color: #fff
            }
            #header ul li{
                display: inline-block;
            }
            #header #logo {
                flex: 1;
                padding: 1em 0 1em 0;
                vertical-align: top;
            }
            #header #logo #logotext {
                display: inline-block;
                margin-left: 5px;
            }
            #header #logo #logotext small {
                font-size: small;
            }
            #header #logo strong {
                display: block;
                font-size: 1.2rem;
            }
            #header #menu {
                flex: 2.5;
                padding: 1em;
                vertical-align: middle;
                margin: auto;
                text-align: center
            }
            #header #menu .menuitem {
                width: 70px;
            }
            #header #menu .menuitem a, svg {
                display: block;
                text-align: center;
                font-size: 12px;
            }
            #header #menu .menuitem div {
                margin-top: 2px;
            }
            #header #contact {
                flex: 0.5;
                padding: 1em 0 1em 0;
                vertical-align: middle;
                margin: auto;
                text-align: right;
            }
            #header #contact svg {
                width: 40px;
                height: 40px;
                display: inline-block;
                fill: white;
            }
            #taglist {
                list-style-type: none;
            } 
            #pagetitle {
                margin-top: 5px;
            }
            #content {
                max-width: 740px;
                margin-left: auto;
                margin-right: auto;
                padding: 1em;
                background-color: #fafafa;
            }
            #content p, li, table {
                font-family: medium-content-serif-font,Georgia,Cambria,"Times New Roman",Times,serif;
                font-weight: 400;
                font-style: normal;
                font-size: 21px;
                line-height: 1.58;
                letter-spacing: -.003em;
                color: #000;
                word-break: break-word;
                word-wrap: break-word;
                text-align: justify;
            }
            #content p {
                text-align: justify;
            }
            #content .short p {
                text-align: justify;
                word-break: break-word;
                word-wrap: break-word;
                font-weight: 400;
                font-style: normal;
                font-size: 18px;
                line-height: 1.58;
                letter-spacing: -.004em;
                margin: 10px 0 10px 0;
            }
            #content .short h2 {
                margin-bottom: 10px;
                font-size: 22px;
            }
            #content .short .tags, .readmore, .datettr {
                font-size: 14px;
            }
            #content img {
                max-width: 500px;
            }
            .old-articles-link {
                text-align: center;
                margin: 1.5rem 0;
            }
            code[class*="language-"] {
                font-size: 16px;
            }
            @media only screen and (max-width: 768px), screen and (orientation: landscape) and (max-width: 640px) {
                #header {
                    display: block;
                }
                #header #logo {
                    display: inline-block;
                    max-width: 10%;
                    padding: .5em 0 .5em .5em;
                }
                #header #header-inner {
                    display: flex;
                    max-width: 740px;
                    width: auto;
                    margin-left: auto;
                    margin-right: auto;
                    background-color: #008080;
                    color: #fff;
                }
                #header #logo #logotext {
                    display: none;
                }
                #header #menu {
                    padding: .2em 0 .2em 0;
                    display: inline-block;
                    width: 80%;
                    text-align: center;
                }
                #header #menu .menuitem {
                    width: 55px;
                }
                #header #menu .menuitem svg {
                    width: 55px;
                    height: 30px;
                }
                #header #contact{
                    display: none;
                }
                #content p, li, table {
                    font-size: 18px;
                    word-break: break-word;
                    word-wrap: break-word;
                    line-height: 1.58;
                    letter-spacing: -.004em;
                    text-align: justify;
                }
                #content .short p {
                    font-size: 16px;
                }
                #content h1 {
                    font-size: 1.4rem;
                }
                #content h2 {
                    font-size: 1.2rem;
                }
                #content h3 {
                    font-size: 1.1rem;
                }
                #content img {
                    max-width: 300px;
                }
                code[class*="language-"] {
                    font-size: 14px;
                }
                #content .short h2 {
                    margin-bottom: 10px;
                    font-size: 1.2em;
                }
                #contactmobile {
                    display: flex;
                    background-color: #008080;
                }
                #contactmobile svg {
                    width: 40px;
                    height: 40px;
                    fill: white;
                }
            }
            /* Background */ .chroma { background-color: #ffffff }
/* Error */ .chroma .err { background-color: #a848a8 }
/* LineTableTD */ .chroma .lntd { vertical-align: top; padding: 0; margin: 0; border: 0; }
/* LineTable */ .chroma .lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; width: auto; overflow: auto; display: block; }
/* LineHighlight */ .chroma .hl { display: block; width: 100%;background-color: #e5e5e5 }
/* LineNumbersTable */ .chroma .lnt { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f }
/* LineNumbers */ .chroma .ln { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f }
/* Keyword */ .chroma .k { color: #2838b0 }
/* KeywordConstant */ .chroma .kc { color: #444444; font-style: italic }
/* KeywordDeclaration */ .chroma .kd { color: #2838b0; font-style: italic }
/* KeywordNamespace */ .chroma .kn { color: #2838b0 }
/* KeywordPseudo */ .chroma .kp { color: #2838b0 }
/* KeywordReserved */ .chroma .kr { color: #2838b0 }
/* KeywordType */ .chroma .kt { color: #2838b0; font-style: italic }
/* NameAttribute */ .chroma .na { color: #388038 }
/* NameBuiltin */ .chroma .nb { color: #388038 }
/* NameBuiltinPseudo */ .chroma .bp { font-style: italic }
/* NameClass */ .chroma .nc { color: #287088 }
/* NameConstant */ .chroma .no { color: #b85820 }
/* NameDecorator */ .chroma .nd { color: #287088 }
/* NameEntity */ .chroma .ni { color: #709030 }
/* NameException */ .chroma .ne { color: #908828 }
/* NameFunction */ .chroma .nf { color: #785840 }
/* NameFunctionMagic */ .chroma .fm { color: #b85820 }
/* NameLabel */ .chroma .nl { color: #289870 }
/* NameNamespace */ .chroma .nn { color: #289870 }
/* NameTag */ .chroma .nt { color: #2838b0 }
/* NameVariable */ .chroma .nv { color: #b04040 }
/* NameVariableGlobal */ .chroma .vg { color: #908828 }
/* NameVariableMagic */ .chroma .vm { color: #b85820 }
/* LiteralString */ .chroma .s { color: #b83838 }
/* LiteralStringAffix */ .chroma .sa { color: #444444 }
/* LiteralStringBacktick */ .chroma .sb { color: #b83838 }
/* LiteralStringChar */ .chroma .sc { color: #a848a8 }
/* LiteralStringDelimiter */ .chroma .dl { color: #b85820 }
/* LiteralStringDoc */ .chroma .sd { color: #b85820; font-style: italic }
/* LiteralStringDouble */ .chroma .s2 { color: #b83838 }
/* LiteralStringEscape */ .chroma .se { color: #709030 }
/* LiteralStringHeredoc */ .chroma .sh { color: #b83838 }
/* LiteralStringInterpol */ .chroma .si { color: #b83838; text-decoration: underline }
/* LiteralStringOther */ .chroma .sx { color: #a848a8 }
/* LiteralStringRegex */ .chroma .sr { color: #a848a8 }
/* LiteralStringSingle */ .chroma .s1 { color: #b83838 }
/* LiteralStringSymbol */ .chroma .ss { color: #b83838 }
/* LiteralNumber */ .chroma .m { color: #444444 }
/* LiteralNumberBin */ .chroma .mb { color: #444444 }
/* LiteralNumberFloat */ .chroma .mf { color: #444444 }
/* LiteralNumberHex */ .chroma .mh { color: #444444 }
/* LiteralNumberInteger */ .chroma .mi { color: #444444 }
/* LiteralNumberIntegerLong */ .chroma .il { color: #444444 }
/* LiteralNumberOct */ .chroma .mo { color: #444444 }
/* Operator */ .chroma .o { color: #666666 }
/* OperatorWord */ .chroma .ow { color: #a848a8 }
/* Punctuation */ .chroma .p { color: #888888 }
/* Comment */ .chroma .c { color: #888888; font-style: italic }
/* CommentHashbang */ .chroma .ch { color: #287088; font-style: italic }
/* CommentMultiline */ .chroma .cm { color: #888888; font-style: italic }
/* CommentSingle */ .chroma .c1 { color: #888888; font-style: italic }
/* CommentSpecial */ .chroma .cs { color: #888888; font-style: italic }
/* CommentPreproc */ .chroma .cp { color: #289870 }
/* CommentPreprocFile */ .chroma .cpf { color: #289870 }
/* GenericDeleted */ .chroma .gd { color: #c02828 }
/* GenericEmph */ .chroma .ge { font-style: italic }
/* GenericError */ .chroma .gr { color: #c02828 }
/* GenericHeading */ .chroma .gh { color: #666666 }
/* GenericInserted */ .chroma .gi { color: #388038 }
/* GenericOutput */ .chroma .go { color: #666666 }
/* GenericPrompt */ .chroma .gp { color: #444444 }
/* GenericStrong */ .chroma .gs { font-weight: bold }
/* GenericSubheading */ .chroma .gu { color: #444444 }
/* GenericTraceback */ .chroma .gt { color: #2838b0 }
/* GenericUnderline */ .chroma .gl { text-decoration: underline }
/* TextWhitespace */ .chroma .w { color: #a89028 }

            .chroma .err {
                background-color: transparent;
                color: #272822;
            }
            .chroma {
                overflow: auto;
                min-height: 30px;
            }
        </style>
    </head>
    <body>
        <div id="header">
            <div id="header-inner">
                <div id="logo">
                    <a href="/">
                        <img alt="logo - small dude in pixel art" id="logoimage" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAC2UlEQVRYR72YS5LTMBCG5evEj+IE2TCV7FnwCHAJCnKJoTgFhBkWrJPFsMgeisJyVhyBMyC6W2pHVuxRy9ijqlRspa3+9He3JCdT8WbAJIOP/81PYT+20CY+6oAFD3jfAOhsTJOMfTGu5KGxQKGKokk9BBCCSPwQsMTwfxVKUmoUkPn1qUd+y51Vr4ZCI/GVplALMlRzDiWrXvZBTQ/kezH1TmXl5sKxqUE9EKsHajogY1w4Mjsm3evPShUvbJjCfuirwabqKjU30A0APR8E0vBL2VVwQqAa1GiHGxjXqWhjaBQCYfOgpgMiFxoUiTYIpVsktLuYA8imTQeobwuztI1TyApmWCGROpSP0Um7GGgCipkbVUBeWVtIMZdjggdbjJgHNjRa30I1DeOjIkXx7AIGK9JVociXyIi0x3A0t53J5vnTC0IERzBsWkMmAVBZluJoSIEoIZrmy4BE5+0uz88weZ63a5Q0bElATNMPZhTDoCpN04BSBT1yPB7VcrkUqZQCZMsm0sJVfb/fq/V6Lc6jZKDdbqc2m+4ehn3Ywv7D4aBWqxX9Jk3sUUC+SAjBQKF4VVVBGPN5gTA3/IYOsa/93gLAX2uhr+0GklJpyQpxjpxOJ7VYLCgUCITX2LA/f2tVQaDZFeIZh0DomKuLIVi5WXMIB/fDxqHiMLKCWPLBwkhckSKNGwQD2C0T1pmYQhhKBEpdHKPEfUCsUl8OcZgQqK5rWhz5RDm1QnAEwb0MdKdN1FYQh4a/uc/goc7WGH2ykg7+UQGiBp5C7ZkooyPGORx8zcpxmPBFgCjsUVbkS2TkQ/F1CIQKYW5hP+9hKaHicVOB+Dk4H3VDxtXl55w7dojVSTIcSu6gv+82adJJxn7oHj15E2X5+fVD8qRHA11t7fv9n9/fFTrmez90d9f0np/kI8nYV+hq+9EB/SCgx+/sPb1t0P9pRn17/3p2oOgBrSeOSZP+B7Q7ZDSN5kdTAAAAAElFTkSuQmCC">
                        <div id="logotext">
                            <strong>zupzup</strong>
                            <small>I ♡ Programming</small>
                        </div>
                    </a>
                </div>
                <ul id="menu">
                    <li>
                        <div class="menuitem">
                            <a href="/">
                                <svg width="70px" height="35px" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
                                    <title>home</title>
                                    <g id="Octicons" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
                                        <g id="home" fill="#ffffff">
                                            <path d="M16,9 L13,6 L13,2 L11,2 L11,4 L8,1 L0,9 L2,9 L3,14 C3,14.55 3.45,15 4,15 L12,15 C12.55,15 13,14.55 13,14 L14,9 L16,9 L16,9 Z M12,14 L9,14 L9,10 L7,10 L7,14 L4,14 L2.81,7.69 L8,2.5 L13.19,7.69 L12,14 L12,14 Z" id="Shape"></path>
                                        </g>
                                    </g>
                                </svg>
                                <div>Home</div>
                            </a>
                        </div>
                    </li>
                    <li>
                        <div class="menuitem">
                            <a href="/about/">
                                <svg width="70px" height="35px" viewBox="0 0 12 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
                                    <title>about</title>
                                    <g id="Octicons" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
                                        <g id="light-bulb" fill="#ffffff">
                                            <path d="M6.5,0 C3.48,0 1,2.19 1,5 C1,5.92 1.55,7.25 2,8 C3.34,10.25 3.78,10.78 4,12 L4,13 L9,13 L9,12 C9.22,10.78 9.66,10.25 11,8 C11.45,7.25 12,5.92 12,5 C12,2.19 9.52,0 6.5,0 L6.5,0 Z M10.14,7.48 C9.89,7.92 9.67,8.28 9.47,8.59 C8.61,10 8.22,10.65 8.02,11.82 C8,11.87 8,11.93 8,11.99 L5,11.99 C5,11.93 5,11.86 4.98,11.82 C4.78,10.65 4.39,9.99 3.53,8.59 C3.33,8.28 3.11,7.92 2.86,7.48 C2.44,6.78 2,5.65 2,5 C2,2.8 4.02,1 6.5,1 C7.72,1 8.86,1.42 9.72,2.19 C10.55,2.94 11,3.94 11,5 C11,5.66 10.56,6.78 10.14,7.48 L10.14,7.48 Z M4,14 L9,14 C8.77,15.14 7.7,16 6.5,16 C5.3,16 4.23,15.14 4,14 L4,14 Z" id="Shape"></path>
                                        </g>
                                    </g>
                                </svg>
                                <div>About</div>
                            </a>
                        </div>
                    </li>
                    <li>
                        <div class="menuitem">
                            <a href="/projects/">
                                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="70px" height="35px">
                                    <title>projects</title>
                                    <g id="Octicons" stroke="none" stroke-width="5" fill="none" fill-rule="evenodd">
                                        <g id="tag" fill="#ffffff">
                                            <path d="M7.875 2.292a.114.114 0 0 0-.032.018A7.239 7.239 0 0 0 4.75 8.25a7.248 7.248 0 0 0 3.654 6.297c.57.327.982.955.941 1.682v.002l-.317 6.058a.75.75 0 1 1-1.498-.078l.317-6.062v-.004c.006-.09-.047-.215-.188-.296A8.749 8.749 0 0 1 3.25 8.25a8.738 8.738 0 0 1 3.732-7.169 1.547 1.547 0 0 1 1.709-.064c.484.292.809.835.809 1.46v4.714a.25.25 0 0 0 .119.213l2.25 1.385c.08.05.182.05.262 0l2.25-1.385a.25.25 0 0 0 .119-.213V2.478c0-.626.325-1.169.81-1.461a1.547 1.547 0 0 1 1.708.064 8.741 8.741 0 0 1 3.732 7.17 8.747 8.747 0 0 1-4.41 7.598c-.14.081-.193.206-.188.296v.004l.318 6.062a.75.75 0 1 1-1.498.078l-.317-6.058v-.002c-.041-.727.37-1.355.94-1.682A7.247 7.247 0 0 0 19.25 8.25a7.239 7.239 0 0 0-3.093-5.94.114.114 0 0 0-.032-.018l-.01-.001c-.003 0-.014 0-.031.01-.036.022-.084.079-.084.177V7.19c0 .608-.315 1.172-.833 1.49l-2.25 1.385a1.75 1.75 0 0 1-1.834 0l-2.25-1.384A1.752 1.752 0 0 1 8 7.192V2.477c0-.098-.048-.155-.084-.176a.068.068 0 0 0-.031-.011l-.01.001Z">
                                            </path>
                                        </g>
                                    </g>
                                </svg>
                                <div>Projects</div>
                            </a>
                        </div>
                    </li>
                    <li>
                        <div class="menuitem">
                            <a href="/tags/">
                                <svg width="70px" height="35px" viewBox="0 0 14 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
                                    <title>tags</title>
                                    <g id="Octicons" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
                                        <g id="tag" fill="#ffffff">
                                            <path d="M7.73,1.73 C7.26,1.26 6.62,1 5.96,1 L3.5,1 C2.13,1 1,2.13 1,3.5 L1,5.97 C1,6.63 1.27,7.27 1.73,7.74 L7.79,13.8 C8.18,14.19 8.81,14.19 9.2,13.8 L13.79,9.21 C14.18,8.82 14.18,8.19 13.79,7.8 L7.73,1.73 L7.73,1.73 Z M2.38,7.09 C2.07,6.79 1.91,6.39 1.91,5.96 L1.91,3.5 C1.91,2.62 2.63,1.91 3.5,1.91 L5.97,1.91 C6.39,1.91 6.8,2.07 7.1,2.38 L13.24,8.51 L8.51,13.24 L2.38,7.09 L2.38,7.09 Z M3.01,3 L5.01,3 L5.01,5 L3,5 L3,3 L3.01,3 Z" id="Shape"></path>
                                        </g>
                                    </g>
                                </svg>
                                <div>Tags</div>
                            </a>
                        </div>
                    </li>
                    <li>
                        <div class="menuitem">
                            <a href="/archive/">
                                <svg width="70px" height="35px" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
                                    <title>archive</title>
                                    <g id="Octicons" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
                                        <g id="book" fill="#ffffff">
                                            <path d="M3,5 L7,5 L7,6 L3,6 L3,5 L3,5 Z M3,8 L7,8 L7,7 L3,7 L3,8 L3,8 Z M3,10 L7,10 L7,9 L3,9 L3,10 L3,10 Z M14,5 L10,5 L10,6 L14,6 L14,5 L14,5 Z M14,7 L10,7 L10,8 L14,8 L14,7 L14,7 Z M14,9 L10,9 L10,10 L14,10 L14,9 L14,9 Z M16,3 L16,12 C16,12.55 15.55,13 15,13 L9.5,13 L8.5,14 L7.5,13 L2,13 C1.45,13 1,12.55 1,12 L1,3 C1,2.45 1.45,2 2,2 L7.5,2 L8.5,3 L9.5,2 L15,2 C15.55,2 16,2.45 16,3 L16,3 Z M8,3.5 L7.5,3 L2,3 L2,12 L8,12 L8,3.5 L8,3.5 Z M15,3 L9.5,3 L9,3.5 L9,12 L15,12 L15,3 L15,3 Z" id="Shape"></path>
                                        </g>
                                    </g>
                                </svg>
                                <div>Archive</div>
                            </a>
                        </div>
                    </li>
                </ul>
                <div id="contact">
                    <a href="https://github.com/zupzup" class="github" target="_blank" title="GitHub">
                        <svg viewBox="0 0 512 512">
                            <title>github</title>
                        <g fill="FA9B39">
                            <path d="M256 70.7c-102.6 0-185.9 83.2-185.9 185.9 0 82.1 53.3 151.8 127.1 176.4 9.3 1.7 12.3-4 12.3-8.9V389.4c-51.7 11.3-62.5-21.9-62.5-21.9 -8.4-21.5-20.6-27.2-20.6-27.2 -16.9-11.5 1.3-11.3 1.3-11.3 18.7 1.3 28.5 19.2 28.5 19.2 16.6 28.4 43.5 20.2 54.1 15.4 1.7-12 6.5-20.2 11.8-24.9 -41.3-4.7-84.7-20.6-84.7-91.9 0-20.3 7.3-36.9 19.2-49.9 -1.9-4.7-8.3-23.6 1.8-49.2 0 0 15.6-5 51.1 19.1 14.8-4.1 30.7-6.2 46.5-6.3 15.8 0.1 31.7 2.1 46.6 6.3 35.5-24 51.1-19.1 51.1-19.1 10.1 25.6 3.8 44.5 1.8 49.2 11.9 13 19.1 29.6 19.1 49.9 0 71.4-43.5 87.1-84.9 91.7 6.7 5.8 12.8 17.1 12.8 34.4 0 24.9 0 44.9 0 51 0 4.9 3 10.7 12.4 8.9 73.8-24.6 127-94.3 127-176.4C441.9 153.9 358.6 70.7 256 70.7z"></path>
                            </g>
                        </svg>
                    </a>
                    <a href="/index.xml" target="_blank" class="rss" title="RSS">
                        <svg title="rss" viewBox="0 0 512 512">
                            <title>rss</title>
                        <g fill="FA9B39">
                            <path d="M201.8 347.2c0 20.3-16.5 36.8-36.8 36.8 -20.3 0-36.8-16.5-36.8-36.8s16.5-36.8 36.8-36.8C185.3 310.4 201.8 326.8 201.8 347.2zM128.2 204.7v54.5c68.5 0.7 124 56.3 124.7 124.7h54.5C306.7 285.3 226.9 205.4 128.2 204.7zM128.2 166.6c57.9 0.3 112.3 22.9 153.2 63.9 41 41 63.7 95.5 63.9 153.5h54.5c-0.3-149.9-121.7-271.4-271.6-271.9V166.6L128.2 166.6z"></path>
                        </g></svg>
                    </a>
                </div>
            </div>
        </div>
        <div id="content">
            
            <div class="short">
    <h2><a href="/rust-polars/">Using Polars in Rust for high-performance data analysis</a></h2>
    <div class="datettr">
        <span class="date">05.11.2024</span> - <span class="ttr">44m read</span> - <span class="tags">
            
                <span><a href="/tags/rust/">rust</a></span>
            
                <span><a href="/tags/polars/">polars</a></span>
            
                <span><a href="/tags/data/">data</a></span>
            
                <span><a href="/tags/analysis/">analysis</a></span>
            
        </span>
    </div>
    <div>
        <a href="/rust-polars/">
            <p>
                In this post, we'll build a basic data analysis pipeline using Rust and Polars.
            </p>
        </a>
    </div>
    <div class="readmore">
        <a href="/rust-polars/">read more...</a>
    </div>
</div>
<br><div class="short">
    <h2><a href="/rust-egui/">Building cross-platform GUI apps in Rust using egui</a></h2>
    <div class="datettr">
        <span class="date">06.09.2024</span> - <span class="ttr">57m read</span> - <span class="tags">
            
                <span><a href="/tags/rust/">rust</a></span>
            
                <span><a href="/tags/egui/">egui</a></span>
            
                <span><a href="/tags/gui/">gui</a></span>
            
        </span>
    </div>
    <div>
        <a href="/rust-egui/">
            <p>
                In this post, we'll build a simple cross-platform GUI using Rust and egui.
            </p>
        </a>
    </div>
    <div class="readmore">
        <a href="/rust-egui/">read more...</a>
    </div>
</div>
<br><div class="short">
    <h2><a href="/rust-wgpu/">Leverage Rust and wgpu for effective cross-platform graphics</a></h2>
    <div class="datettr">
        <span class="date">11.06.2024</span> - <span class="ttr">96m read</span> - <span class="tags">
            
                <span><a href="/tags/rust/">rust</a></span>
            
                <span><a href="/tags/wgpu/">wgpu</a></span>
            
        </span>
    </div>
    <div>
        <a href="/rust-wgpu/">
            <p>
                In this post, we'll check out wgpu and see how we can build a very basic GUI out of triangles using the GPU.
            </p>
        </a>
    </div>
    <div class="readmore">
        <a href="/rust-wgpu/">read more...</a>
    </div>
</div>
<br><div class="short">
    <h2><a href="/rust-ai-chatbot-ollama/">Building a simple AI chatbot using Rust and Ollama</a></h2>
    <div class="datettr">
        <span class="date">08.03.2024</span> - <span class="ttr">9m read</span> - <span class="tags">
            
                <span><a href="/tags/rust/">rust</a></span>
            
                <span><a href="/tags/async/">async</a></span>
            
                <span><a href="/tags/ai/">ai</a></span>
            
                <span><a href="/tags/llm/">llm</a></span>
            
                <span><a href="/tags/ollama/">ollama</a></span>
            
                <span><a href="/tags/llama2/">llama2</a></span>
            
        </span>
    </div>
    <div>
        <a href="/rust-ai-chatbot-ollama/">
            <p>
                In this post, we'll build a simple AI chatbot, leveraging a locally running LLM, using Rust and Ollama.
            </p>
        </a>
    </div>
    <div class="readmore">
        <a href="/rust-ai-chatbot-ollama/">read more...</a>
    </div>
</div>
<br><div class="short">
    <h2><a href="/rust-crdt/">Using CRDTs to build collaborative Rust web applications</a></h2>
    <div class="datettr">
        <span class="date">23.02.2024</span> - <span class="ttr">54m read</span> - <span class="tags">
            
                <span><a href="/tags/rust/">rust</a></span>
            
                <span><a href="/tags/crdt/">crdt</a></span>
            
        </span>
    </div>
    <div>
        <a href="/rust-crdt/">
            <p>
                In this post, I’ll show how to build a simple web app leveraging CRDTs for keeping consistent state between all clients.
            </p>
        </a>
    </div>
    <div class="readmore">
        <a href="/rust-crdt/">read more...</a>
    </div>
</div>
<br><div class="short">
    <h2><a href="/rust-capnproto/">Using Cap'n Proto with Rust</a></h2>
    <div class="datettr">
        <span class="date">09.08.2023</span> - <span class="ttr">22m read</span> - <span class="tags">
            
                <span><a href="/tags/rust/">rust</a></span>
            
                <span><a href="/tags/capnproto/">capnproto</a></span>
            
                <span><a href="/tags/serialization/">serialization</a></span>
            
                <span><a href="/tags/rpc/">rpc</a></span>
            
        </span>
    </div>
    <div>
        <a href="/rust-capnproto/">
            <p>
                Cap'n Proto is a binary serialization and RPC system optimized for performance. In this article, we'll take a look at how we can use it within Rust.
            </p>
        </a>
    </div>
    <div class="readmore">
        <a href="/rust-capnproto/">read more...</a>
    </div>
</div>
<br><div class="short">
    <h2><a href="/typescript-trpc/">Build a full-stack TypeScript app using tRPC and React</a></h2>
    <div class="datettr">
        <span class="date">30.06.2023</span> - <span class="ttr">28m read</span> - <span class="tags">
            
                <span><a href="/tags/typescript/">typescript</a></span>
            
                <span><a href="/tags/trpc/">trpc</a></span>
            
                <span><a href="/tags/react/">react</a></span>
            
        </span>
    </div>
    <div>
        <a href="/typescript-trpc/">
            <p>
                In this post, I’ll show how to use tRPC to build a full-stack TypeScript app.
            </p>
        </a>
    </div>
    <div class="readmore">
        <a href="/typescript-trpc/">read more...</a>
    </div>
</div>
<br><div class="short">
    <h2><a href="/rust-webpack-swc/">Writing webpack plugins in Rust using SWC for faster builds</a></h2>
    <div class="datettr">
        <span class="date">21.06.2023</span> - <span class="ttr">17m read</span> - <span class="tags">
            
                <span><a href="/tags/rust/">rust</a></span>
            
                <span><a href="/tags/webpack/">webpack</a></span>
            
                <span><a href="/tags/swc/">swc</a></span>
            
        </span>
    </div>
    <div>
        <a href="/rust-webpack-swc/">
            <p>
                In this post, I’ll show how to use SWC for writing Webpack plugins in Rust.
            </p>
        </a>
    </div>
    <div class="readmore">
        <a href="/rust-webpack-swc/">read more...</a>
    </div>
</div>
<br><div class="short">
    <h2><a href="/rust-websocket/">How to build a WebSocket server with Rust</a></h2>
    <div class="datettr">
        <span class="date">12.05.2023</span> - <span class="ttr">20m read</span> - <span class="tags">
            
                <span><a href="/tags/rust/">rust</a></span>
            
                <span><a href="/tags/web/">web</a></span>
            
                <span><a href="/tags/websocket/">websocket</a></span>
            
        </span>
    </div>
    <div>
        <a href="/rust-websocket/">
            <p>
                In this post, I’ll show how implement a WebSocket server with Rust.
            </p>
        </a>
    </div>
    <div class="readmore">
        <a href="/rust-websocket/">read more...</a>
    </div>
</div>
<br><div class="short">
    <h2><a href="/rust-web-async-warp/">Create an async CRUD web service in Rust with warp</a></h2>
    <div class="datettr">
        <span class="date">09.05.2023</span> - <span class="ttr">32m read</span> - <span class="tags">
            
                <span><a href="/tags/rust/">rust</a></span>
            
                <span><a href="/tags/async/">async</a></span>
            
                <span><a href="/tags/crud/">crud</a></span>
            
                <span><a href="/tags/warp/">warp</a></span>
            
        </span>
    </div>
    <div>
        <a href="/rust-web-async-warp/">
            <p>
                In this post, I’ll show how to implement an async CRUD Rust web application using Warp.
            </p>
        </a>
    </div>
    <div class="readmore">
        <a href="/rust-web-async-warp/">read more...</a>
    </div>
</div>
<div class="old-articles-link">
    <a href="/archive/">Older Articles (98)</a>
</div>

            
        </div>
        <div id="footer">
            <p>2016-2024 Mario Zupan | <a href="/imprint/">Imprint</a></p>
            <div id="contactmobile">
                <a href="https://github.com/zupzup" class="github" target="_blank" title="GitHub">
                    <svg viewBox="0 0 512 512">
                    <g fill="FA9B39">
                        <path d="M256 70.7c-102.6 0-185.9 83.2-185.9 185.9 0 82.1 53.3 151.8 127.1 176.4 9.3 1.7 12.3-4 12.3-8.9V389.4c-51.7 11.3-62.5-21.9-62.5-21.9 -8.4-21.5-20.6-27.2-20.6-27.2 -16.9-11.5 1.3-11.3 1.3-11.3 18.7 1.3 28.5 19.2 28.5 19.2 16.6 28.4 43.5 20.2 54.1 15.4 1.7-12 6.5-20.2 11.8-24.9 -41.3-4.7-84.7-20.6-84.7-91.9 0-20.3 7.3-36.9 19.2-49.9 -1.9-4.7-8.3-23.6 1.8-49.2 0 0 15.6-5 51.1 19.1 14.8-4.1 30.7-6.2 46.5-6.3 15.8 0.1 31.7 2.1 46.6 6.3 35.5-24 51.1-19.1 51.1-19.1 10.1 25.6 3.8 44.5 1.8 49.2 11.9 13 19.1 29.6 19.1 49.9 0 71.4-43.5 87.1-84.9 91.7 6.7 5.8 12.8 17.1 12.8 34.4 0 24.9 0 44.9 0 51 0 4.9 3 10.7 12.4 8.9 73.8-24.6 127-94.3 127-176.4C441.9 153.9 358.6 70.7 256 70.7z"></path>
                        </g>
                    </svg>
                </a>
                <a href="/index.xml" target="_blank" class="rss" title="RSS">
                    <svg viewBox="0 0 512 512">
                        <path d="M201.8 347.2c0 20.3-16.5 36.8-36.8 36.8 -20.3 0-36.8-16.5-36.8-36.8s16.5-36.8 36.8-36.8C185.3 310.4 201.8 326.8 201.8 347.2zM128.2 204.7v54.5c68.5 0.7 124 56.3 124.7 124.7h54.5C306.7 285.3 226.9 205.4 128.2 204.7zM128.2 166.6c57.9 0.3 112.3 22.9 153.2 63.9 41 41 63.7 95.5 63.9 153.5h54.5c-0.3-149.9-121.7-271.4-271.6-271.9V166.6L128.2 166.6z"></path>
                    </svg>
                </a>
            </div>
        </div>
    

</body></html>