-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
187 lines (179 loc) · 9.6 KB
/
Copy pathindex.html
File metadata and controls
187 lines (179 loc) · 9.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
---
layout: home
title: Home
---
<!-- FEATURED WORK -->
<section>
<div class="section-head">
<span class="label">Featured</span>
<h2>Featured work</h2>
</div>
<div class="flagship">
<div class="flagship-top">
<h3>QueryTuner</h3>
<span class="tag-flagship"><img src="{{ '/assets/images/logos/querytuner-mark.svg' | relative_url }}" alt="" class="tag-icon"> live product</span>
</div>
<p>A SQL performance analysis tool that catches slow queries before they hit production. Combines heuristic analysis with an LLM insights layer, and generates shareable reports across five SQL dialects.</p>
<div class="dialects">
<span>PostgreSQL</span><span>MySQL</span><span>Oracle</span><span>SQL Server</span><span>SQLite</span>
</div>
<div class="flagship-links">
<a href="{{ site.social.querytuner }}" target="_blank" rel="noopener">Try it live →</a>
<a href="{{ site.social.github_org }}/sql-query-analyzer" target="_blank" rel="noopener">View source →</a>
</div>
</div>
</section>
<!-- LIVE PRODUCTS -->
<section>
<div class="section-head">
<span class="label">Live</span>
<h2>Live Products</h2>
</div>
<div class="flagship">
<div class="flagship-top">
<h3>SPXray</h3>
<span class="tag-flagship"><img src="{{ '/assets/images/logos/spxray-mark.svg' | relative_url }}" alt="" class="tag-icon"> live product</span>
</div>
<p><em>Previously called SP Migration Companion.</em> A stored procedure analyzer for database migrations — no DB connection required. Upload .sql files, get physical table/schema/column extraction, with optional AI migration-risk insights powered by HuggingFace Qwen2.5-Coder.</p>
<div class="dialects">
<span>T-SQL</span><span>PostgreSQL</span><span>MySQL</span><span>Oracle</span>
</div>
<div class="flagship-links">
<a href="https://spxray.vercel.app" target="_blank" rel="noopener">Try it live →</a>
<a href="https://github.com/AutoShiftOps/spxray" target="_blank" rel="noopener">View source →</a>
</div>
</div>
</section>
<!-- LATEST ARTICLES -->
<section>
<div class="section-head">
<span class="label">Writing</span>
<h2>Latest articles</h2>
<p>60+ posts on autoshiftops.com — here are the five most recent.</p>
</div>
<div class="filterbar">
<div class="search-input">
{% include icons.html name="search" %}
<input type="text" id="articleSearch" placeholder="Search articles…" aria-label="Search articles">
</div>
<div class="filter-pills" id="pillBar">
<button class="filter-btn active" data-pillar="all">All</button>
<button class="filter-btn" data-pillar="devops">DevOps</button>
<button class="filter-btn" data-pillar="ai">AI</button>
<button class="filter-btn" data-pillar="kubernetes">Kubernetes</button>
<button class="filter-btn" data-pillar="cloud">Cloud</button>
<button class="filter-btn" data-pillar="incident-response">Incident Response</button>
<button class="filter-btn" data-pillar="sre">SRE</button>
</div>
</div>
<div class="article-scroll" id="articleScroll">
{% for post in site.posts limit: 5 %}
{% assign all_tags = post.categories | concat: post.tags | join: "," | downcase %}
{% assign word_count = post.content | strip_html | split: " " | size %}
{% assign read_time = word_count | divided_by: 200 | at_least: 1 %}
<a class="article-card" href="{{ post.url | relative_url }}" data-tags="{{ all_tags }}" data-title="{{ post.title | downcase }}">
<div class="article-tags">
{% for tag in post.categories limit: 2 %}<span>{{ tag }}</span>{% endfor %}
</div>
<h4>{{ post.title }}</h4>
<div class="article-meta">
<span>{{ post.date | date: "%b %d, %Y" }}</span>
<span>·</span>
<span>{{ read_time }} min read</span>
</div>
</a>
{% endfor %}
</div>
<p class="no-results" id="noResults" hidden>No articles match that search.</p>
</section>
<!-- OPEN SOURCE PROJECTS -->
<section>
<div class="section-head">
<span class="label">Also building</span>
<h2>Open source projects</h2>
<p>Smaller tools built to solve real operational problems — incident response and alert fatigue.</p>
</div>
<div class="grid">
<div class="card">
<div class="card-top"><span class="dot"></span><span class="lang">Python</span></div>
<h4>incopilot</h4>
<p>A practical incident-triage CLI agent that automates the first 15 minutes of a production incident — the part that's usually pure improvisation.</p>
<a class="repo-link" href="{{ site.social.github_org }}/incopilot" target="_blank" rel="noopener">github.com/AutoShiftOps/incopilot →</a>
</div>
<div class="card">
<div class="card-top"><span class="dot"></span><span class="lang">Python</span></div>
<h4>alertdecider</h4>
<p>An alert decision layer that normalizes noisy signals, applies an opinionated rule engine, and emits decisions with reasons — not just more alerts.</p>
<a class="repo-link" href="{{ site.social.github_org }}/alertdecider" target="_blank" rel="noopener">github.com/AutoShiftOps/alertdecider →</a>
</div>
</div>
</section>
<!-- WHERE I PUBLISH -->
<section>
<div class="section-head">
<span class="label">Elsewhere</span>
<h2>Where I publish</h2>
</div>
<div class="publish-grid">
<a class="publish-card" href="{{ site.social.devto }}" target="_blank" rel="noopener">{% include icons.html name="devto" %}<span>dev.to</span></a>
<a class="publish-card" href="{{ site.social.medium }}" target="_blank" rel="noopener">{% include icons.html name="medium" %}<span>Medium</span></a>
<a class="publish-card" href="{{ site.social.dzone }}" target="_blank" rel="noopener">{% include icons.html name="dzone" %}<span>DZone</span></a>
<a class="publish-card" href="{{ site.social.linkedin }}" target="_blank" rel="noopener">{% include icons.html name="linkedin" %}<span>LinkedIn</span></a>
<a class="publish-card" href="{{ site.social.patreon }}" target="_blank" rel="noopener">{% include icons.html name="patreon" %}<span>Patreon</span></a>
<a class="publish-card" href="{{ site.social.substack }}" target="_blank" rel="noopener">{% include icons.html name="substack" %}<span>Substack</span></a>
<a class="publish-card" href="{{ site.social.youtube }}" target="_blank" rel="noopener">{% include icons.html name="youtube" %}<span>YouTube</span></a>
</div>
</section>
<!-- CERTIFICATIONS -->
<section id="certifications">
<div class="section-head">
<span class="label">Credentials</span>
<h2>Certifications & badges</h2>
</div>
<div class="cert-scroll">
<a class="cert-card" href="https://www.credly.com/badges/b28162fe-b141-45c6-a54f-1ee2db7d7a01" target="_blank" rel="noopener">
<img src="{{ '/assets/images/certs/gcp-associate-cloud-engineer.png' | relative_url }}" alt="Associate Cloud Engineer Certification badge" loading="lazy">
<h4>Associate Cloud Engineer</h4>
<span class="cert-issuer">Google Cloud</span>
</a>
<a class="cert-card" href="https://www.credly.com/badges/151124da-1473-435f-97cf-29e686fa5dc7" target="_blank" rel="noopener">
<img src="{{ '/assets/images/certs/gcp-generative-ai-leader.png' | relative_url }}" alt="Generative AI Leader Certification badge" loading="lazy">
<h4>Generative AI Leader</h4>
<span class="cert-issuer">Google Cloud</span>
</a>
<a class="cert-card" href="https://www.credly.com/badges/f756784c-e756-44c1-85ce-c423f07a27b3" target="_blank" rel="noopener">
<img src="{{ '/assets/images/certs/gcp-professional-cloud-architect.png' | relative_url }}" alt="Professional Cloud Architect Certification badge" loading="lazy">
<h4>Professional Cloud Architect</h4>
<span class="cert-issuer">Google Cloud</span>
</a>
<a class="cert-card" href="https://cp.certmetrics.com/amazon/en/public/verify/credential/cf91a180c36147f99bfd056919e572ac" target="_blank" rel="noopener">
<img src="{{ '/assets/images/certs/aws-solutions-architect-associate.png' | relative_url }}" alt="AWS Certified Solutions Architect - Associate Certification badge" loading="lazy">
<h4>Solutions Architect – Associate</h4>
<span class="cert-issuer">AWS</span>
</a>
</div>
</section>
<!-- GITHUB REPOSITORIES -->
<section>
<div class="section-head">
<span class="label">Code</span>
<h2>GitHub repositories</h2>
<p>Live from <a href="{{ site.social.github_org }}" target="_blank" rel="noopener">github.com/AutoShiftOps</a>.</p>
</div>
<div class="repo-scroll" id="repoGrid" data-org="AutoShiftOps" data-exclude="{{ site.github_repos_exclude | join: ',' | downcase }}">
<div class="card repo-card repo-skeleton"><div class="card-top"><span class="dot"></span></div><h4>Loading…</h4><p>Fetching latest repositories from GitHub.</p></div>
</div>
</section>
<!-- SUBSCRIBE -->
<section>
<div class="subscribe-card">
<span class="label">📨 Newsletter</span>
<h2>AutoShiftOps Tech Digest</h2>
<p>Practical insights and actionable guides for DevOps automation, CI/CD, and modern cloud engineering — from the front lines of tech.</p>
<form class="subscribe-form" action="https://sajjas.substack.com/api/v1/free?nojs=true" method="post" target="_blank">
<input type="email" name="email" placeholder="you@email.com" required aria-label="Email address">
<button type="submit" class="btn btn-primary">Subscribe</button>
</form>
<p class="subscribe-note">No spam. Unsubscribe anytime. <a href="{{ site.social.substack }}" target="_blank" rel="noopener">Read it on Substack →</a></p>
</div>
</section>