1<!DOCTYPE html> 2<html lang="en"> 3 4<head> 5 <title> 6 About me â mackuba.eu 7 </title> 8 9 <meta charset="UTF-8"> 10 <meta name="viewport" content="width=device-width"> 11 <meta name="author" content="Kuba Suder"> 12 13 <meta property="og:url" content="https://mackuba.eu/about"> 14 <meta property="og:title" content="About me"> 15 <meta property="og:type" content="website"> 16 <meta property="og:description" content="Kuba Suder's blog on Mac/iOS & web dev"> 17 18 19 <meta name="fediverse:creator" content="@[email protected]"> 20 21 <!-- 22 icons thx to: 23 Paul Robert Lloyd http://paulrobertlloyd.com 24 Mark James http://www.famfamfam.com 25 Smashing Magazine http://www.smashingmagazine.com 26 Ahmad Galal http://3nc.deviantart.com/ 27 Artua Design Studios http://www.artua.com/ 28 W3C http://www.w3.org/html/logo/ 29 Open Clip Art Library http://www.openclipart.org/ 30 Ãmer ÃETİN http://omercetin.deviantart.com/ 31 HiClipart https://www.hiclipart.com (note) 32 --> 33 34 <link rel="alternate" href="https://mackuba.eu/feed.xml" type="application/atom+xml" title="Posts feed (Atom)"> 35 <link rel="alternate" href="https://mackuba.eu/feed-notes.xml" type="application/atom+xml" title="Notes feed (Atom)"> 36 <link rel="alternate" href="https://mackuba.eu/feed-all.xml" type="application/atom+xml" title="Feed with everything (Atom)"> 37 38 <link rel="icon" href="/favicon.ico?1790026422"> 39 <link rel="shortcut icon" href="/favicon.ico?1790026422"> 40 <link rel="apple-touch-icon" href="/apple-touch-icon.png?1790026422"> 41 42 <link rel="me" href="https://101010.pl/@mackuba"> 43 44 <link rel="site.standard.publication" href="at://did:plc:oio4hkxaop4ao4wz2pp3f4cr/site.standard.publication/3mn5mackuba26"> 45 46 47 <link href="/javascripts/photoswipe/photoswipe.css?1790026422" rel="stylesheet" type="text/css" nonce="G1V3k3KR+omBh2OkDoaQFw=="> 48 <link href="/stylesheets/style.css?1790026422" rel="stylesheet" type="text/css" nonce="G1V3k3KR+omBh2OkDoaQFw=="> 49 <link href="/javascripts/highlighter/shSwift.css?1790026422" rel="stylesheet" type="text/css" nonce="G1V3k3KR+omBh2OkDoaQFw=="> 50 51
51<script defer src="/javascripts/highlighter/shCore.js?1790026422" type="text/javascript" nonce="G1V3k3KR+omBh2OkDoaQFw=="></script>
51 52
52<script defer src="/javascripts/highlighter/shAutoloader.js?1790026422" type="text/javascript" nonce="G1V3k3KR+omBh2OkDoaQFw=="></script>
52 53
53<script defer src="/javascripts/blog.js?1790026422" type="text/javascript" nonce="G1V3k3KR+omBh2OkDoaQFw=="></script>
53 54 55
55<script type="module"> 56 import PhotoSwipeLightbox from '/javascripts/photoswipe/photoswipe-lightbox.esm.min.js'; 57 window.PhotoSwipeLightbox = PhotoSwipeLightbox; 58 </script>
58 59 60
60<script> 61 let _paq = window._paq = window._paq || []; 62 _paq.push(['setExcludedQueryParams', ['fbclid', 'tdsourcetag']]); 63 _paq.push(['setTrackerUrl', 'https://mackuba.eu/m/ping']); 64 _paq.push(['setRequestMethod', 'POST']); 65 _paq.push(['setSiteId', '5']); 66 _paq.push(['disableAlwaysUseSendBeacon']); 67 _paq.push(['disableCookies']); 68 _paq.push(['trackPageView']); 69 _paq.push(['enableLinkTracking']); 70 </script>
70 71</head> 72 73<body class="about"> 74 <header> 75 <div class="title"> 76 <h1><a href="/">MacKuba</a></h1> 77 <h4><span class="japko">ð</span> Kuba Suder's blog on Mac/iOS & web dev</h4> 78 </div> 79 80 <nav> 81 <a href="https://blue.mackuba.eu">Bluesky</a> 82 <a href="/swiftui/">SwiftUI</a> 83 <a href="/notes/">Notes</a> 84 85 <a href="/projects">Projects</a> 86 <a href="/about">About me</a> 87 88 <span class="icons"> 89 <a rel="me" title="Tangled" href="https://tangled.org/mackuba.eu" 90 target="_blank"><img class="tangled" alt="Tangled" src="/images/tangled_dolly.svg?1790026422" width="20" height="20"></a> 91 92 <a rel="me" title="Bluesky" href="https://bsky.app/profile/did:plc:oio4hkxaop4ao4wz2pp3f4cr" 93 target="_blank"><img class="bluesky" alt="Bluesky" src="/images/bsky-logo.svg?1790026422" width="20" height="20"></a> 94 95 <a rel="me" title="Mastodon" href="https://martianbase.net/@mackuba" 96 target="_blank"><img class="mastodon" alt="Mastodon" src="/images/masto-logo.svg?1790026422" width="20" height="20"></a> 97 </span> 98 </nav> 99 </header> 100 101 <div id="page"> 102 <div id="page_body"> 103 <article id="about"> 104 <p class="avatar"><img src="/api/avatar?1790026422" alt=""></p> 105 106 <header> 107 <h2><a href="/about">About me</a></h2> 108 </header> 109 110 <div class="body"> 111 <p>Hi, my name is Kuba and I'm an independent Mac/iOS & web developer from <a href="https://www.google.com/maps/@50.0571384,19.9419026,12z">Kraków, Poland</a>.</p> 112 113 <p>
113I've been coding in Ruby and Objective-C since 2008, working in web dev since around that time (Ruby on Rails + JavaScript frontends in the jQuery era) and playing with iOS and Mac app side projects. After that I went freelance and switched to iOS/Mac development professionally in 2013 and worked on some client projects and some of my own apps.</p> 114 115 <p>Fast forward to 2023, I discovered Bluesky and its <a href="https://atproto.com">AT Protocol</a>, and I was so hooked that I've been spending all my time building things on it since then. I also came back to Ruby again, and have been learning a little bit of more modern JavaScript. I've been publishing many Bluesky-related open source projects and tools in Ruby & JavaScript on my <a href="https://github.com/mackuba">GitHub profile</a>, or lately rather on <a href="https://tangled.org/mackuba.eu">Tangled</a>, an AT Protocol based alternative â you can read more about that on my separate <a href="https://blue.mackuba.eu">Bluesky projects site</a>. I've also been blogging more or less regularly here, and now also on a <a href="https://lab.mackuba.eu">second "journal" blog</a> on <a href="https://leaflet.pub">Leaflet</a> (also ATProto-based).</p> 116 117 <p>
117If you want to contact me, ping me on <a href="https://bsky.app/profile/did:plc:oio4hkxaop4ao4wz2pp3f4cr">Bluesky</a> or <a href="https://martianbase.net/@mackuba">Mastodon</a>, or drop me an email at: (name of this site) @ <a href="https://protonmail.com">protonmail.ch</a> (I'm not looking for work at the moment though).</p> 118 </div> 119</article> 120 121 </div> 122 123 <footer> 124 <p> 125 <a href="/sitemap">Sitemap</a> ⢠126 <a href="/feeds">Feeds</a> 127 </p> 128 <p>Copyright © 2008â2026 Kuba Suder</p> 129 </footer> 130 </div> 131 132
132<script type="text/javascript" nonce="G1V3k3KR+omBh2OkDoaQFw=="> 133 document.addEventListener('DOMContentLoaded', () => { 134 Blog.init(); 135 window.Comments?.init(); 136 }); 137 </script>
137 138 139
139<script src="https://mackuba.eu/m/script.js"></script>
139 140</body> 141</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.