PageSourceSearch

https://mackuba.eu/about

html mackuba.eu collected 2026-10-02 04:19:07 UTC 6,766 bytes, 141 lines download raw bytes

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&#39;s blog on Mac/iOS &amp; 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&#39;s blog on Mac/iOS &amp; 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 &copy; 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.