-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.xml
More file actions
280 lines (223 loc) · 20.1 KB
/
index.xml
File metadata and controls
280 lines (223 loc) · 20.1 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
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>S.P.A.M.</title>
<link>/</link>
<description>Recent content on S.P.A.M.</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-US</language>
<copyright>Copyright (c) 2016 - 2025. Licensed under CC BY-NC-SA 4.0</copyright>
<lastBuildDate>Thu, 19 Jun 2025 00:00:00 +0000</lastBuildDate>
<atom:link href="/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Stupid Predictions for this Stupid LLM World</title>
<link>/posts/2025/stupid-predictions/</link>
<pubDate>Thu, 19 Jun 2025 00:00:00 +0000</pubDate>
<guid>/posts/2025/stupid-predictions/</guid>
<description>I&rsquo;ve been reading a lot of blog posts on vibecoding and agents and LLMs - some sad about the future, some even keeled and measured, some breathlessly optimistic, some trying to rage bait you into engaging so they&rsquo;re in your head longer (and then think of them when you want to buy something). I also keep thinking what dumb thing I might read next or might hear about from the world of LLMs/agents/vibecoding.</description>
</item>
<item>
<title>Sir, Stop Blaming Setuid for Your Troubles!</title>
<link>/posts/2025/newuidmap-newgidmap-misleading-error/</link>
<pubDate>Sat, 24 May 2025 00:00:00 +0000</pubDate>
<guid>/posts/2025/newuidmap-newgidmap-misleading-error/</guid>
<description>So we&rsquo;re trying to support Podman on the HPC systems and one of the things it needs is entries for each user in /etc/subuid and /etc/subgid. Filling those files out is not exactly easy when you thousands of nodes and you need to update those files on each node every time a new user joins. An idea one of the folks here had was to instead put those files in the shared NFS that is mounted on all the nodes, and then simply create a symlink to those files.</description>
</item>
<item>
<title>Tales from the HPC Support Trenches: Why is Gromacs Slower Now?</title>
<link>/posts/2025/hpc-support-trenches-gromacs/</link>
<pubDate>Tue, 20 May 2025 00:00:00 +0000</pubDate>
<guid>/posts/2025/hpc-support-trenches-gromacs/</guid>
<description>Greetings from the HPC Support trenches! Here&rsquo;s your standard issue ssh credentials to various clusters, your How To Interact With Users Without Strangling Them Handbook, and your radio should you need to call for backup from the admin mages. Don&rsquo;t worry, they&rsquo;ll answer you. Sometimes. Till then, buck up, and start debugging!
So we had an old cluster that underwent some major upgrades. It was major enough that it warranted a full rebuild and update of all the modules we had installed.</description>
</item>
<item>
<title>TIL Parallel Convolution with Tiling in GPUs</title>
<link>/tils/til_parallel_convolution_with_tiling/</link>
<pubDate>Wed, 29 May 2024 00:00:00 +0000</pubDate>
<guid>/tils/til_parallel_convolution_with_tiling/</guid>
<description>In the continued saga of &ldquo;Subil learns how to program GPUs&rdquo;, today I learned about convolution and how to program it for a GPU.
What is convolution? Well, I learned just enough so that I&rsquo;m satisfied with how it works, but definitely not enough to explain it with any depth in this post. See this article or this video for explanations.
For my purposes, convolution is this: For each input element in a 2D matrix of size NxN, apply a function on it that takes that input element and some of its neighboring elements (so your input to the function is a smaller nxn matrix with your input element at the center), multiplies this smaller matrix by a another known nxn matrix called a convolution kernel or convolution filter and sums these multiplied elements together to produce one output element.</description>
</item>
<item>
<title>TIL corner turning in GPUs</title>
<link>/tils/til_corner_turning/</link>
<pubDate>Sun, 10 Mar 2024 00:00:00 +0000</pubDate>
<guid>/tils/til_corner_turning/</guid>
<description>(NOTE: this isn&rsquo;t my best work, and its still kinda WIP, so expect inaccuracies and incomplete parts.)
I&rsquo;ve working my way through Programming Massively Parallel Processors. There&rsquo;s many interesting bits of knowledge I&rsquo;ve learned about GPUs, and the bit I want to write down is called &lsquo;corner turning&rsquo;. It took me a while to wrap my head around it, so I hope this post will serve me well when I need to come back and relearn it at some point in the future.</description>
</item>
<item>
<title>TIL od command line tool</title>
<link>/tils/til_od_command_line/</link>
<pubDate>Fri, 25 Aug 2023 00:00:00 +0000</pubDate>
<guid>/tils/til_od_command_line/</guid>
<description>od is a useful little tool if you want to get a dump of your file in hexadecimal, or octal, or even carefully printing out all the printable characters and escape sequences.
Say you had a file named hello.txt that contained just
hello world And if you did a od ./hello.txt by default it would print out the content of the file in octal representation. So you might get something like:</description>
</item>
<item>
<title>TIL rocprof -d flag</title>
<link>/tils/til_rocprof_d_flag/</link>
<pubDate>Tue, 15 Aug 2023 00:00:00 +0000</pubDate>
<guid>/tils/til_rocprof_d_flag/</guid>
<description>I work with AMD GPUs and ROCm/HIP a little bit. If I write an MPI program that also uses HIP such that each MPI task is running on its own GPU, it would useful for me sometimes to profile each rank. AMD provides a tool called rocprof which is very useful, but by default it will output a single results.csv file. If you&rsquo;re profiling multiple ranks, different ranks can end up overwriting each other&rsquo;s results.</description>
</item>
<item>
<title>TIL MPI_Comm_spawn</title>
<link>/tils/til_mpi_comm_spawn/</link>
<pubDate>Tue, 22 Nov 2022 00:00:00 +0000</pubDate>
<guid>/tils/til_mpi_comm_spawn/</guid>
<description>(This post assumes prior experience with MPI).
I read a blog sometime ago where the author was talking about how he wanted to write more blog posts. One of his strategies was to turn some new thing he had learned, even if was something like a simple language or library feature, and talk about that as a &lsquo;Today I Learned (TIL) xyz&rsquo;. I decided to take a page from his book and write a little bit about a feature of MPI called MPI_Comm_spawn I learned about.</description>
</item>
<item>
<title>Something to watch for when using = and := operators in Go</title>
<link>/posts/2020/assignment-vs-declaration-in-go/</link>
<pubDate>Thu, 18 Jun 2020 00:00:00 +0000</pubDate>
<guid>/posts/2020/assignment-vs-declaration-in-go/</guid>
<description>So I’ve been playing around with Go a lot, trying to show that I am one of the cool cloud and container kids, y’know. Go is what all the cool cloud and container kids use these days. Anyway, Go is a typed language, which means you have to declare your variables in the form var foo int with the type coming after the variable name (unlike C and similar, where you have the type before the variable name).</description>
</item>
<item>
<title>RIP my life with tmem (Jan 2020 - Jan 2020)</title>
<link>/posts/2020/rip-tmem/</link>
<pubDate>Mon, 13 Jan 2020 00:00:00 +0000</pubDate>
<guid>/posts/2020/rip-tmem/</guid>
<description>Life can truly be comically tragic sometimes. I experienced that this past week and thought I should write about it, share with you this rollercoaster adventure (not really, I’m just being dramatic). Before we go on, we must first introduce the subject of our sad tale.
tmem, or transcendent memory was a feature that was introduced in the Linux kernel sometime back in the days of the dinosaurs i.e. June 2009.</description>
</item>
<item>
<title>A couple of handy tools if you are sshing into servers</title>
<link>/posts/2018/ssh_handy_tools/</link>
<pubDate>Sat, 22 Dec 2018 00:00:00 +0000</pubDate>
<guid>/posts/2018/ssh_handy_tools/</guid>
<description>Now that I&rsquo;m officially part of the DSSL at Virginia Tech (Hey! I&rsquo;m in the Slack group. That&rsquo;s totes official), I&rsquo;ve got access to their servers to work on projects and stuff. I&rsquo;m working with one of the PhD students in the lab on a project involving prefetching Docker layers from a registry and caching Docker layers to serve them faster, but also involves choosing the right layers to prefetch to maximize cache hits.</description>
</item>
<item>
<title>Elixir Nodes are Cool</title>
<link>/posts/2018/elixir-nodes/</link>
<pubDate>Thu, 02 Aug 2018 00:00:00 +0000</pubDate>
<guid>/posts/2018/elixir-nodes/</guid>
<description>I had a bit of a problem. I was writing an app that would send me email reminders. It would store the reminder data in an ETS table and check it every 24 hours to see if were any reminders to send. The app would run quietly as a background process in my computer as long as the computer was running. Now I wanted it to read events from a csv file to add into the table.</description>
</item>
<item>
<title>A Problem with Git Stash</title>
<link>/posts/2018/problem-with-git-stash/</link>
<pubDate>Fri, 27 Jul 2018 00:00:00 +0000</pubDate>
<guid>/posts/2018/problem-with-git-stash/</guid>
<description>Before going any further I probably need to explain what pre-commit hooks are. So Git has a facility called hooks which allow you to specify a script to execute or a command to run when some event happens. Pre-commit hooks are hooks that run before, you guessed it, a commit. There exists a single file called pre-commit in the .git/hooks directory in your git repository which will run as a script before every commit.</description>
</item>
<item>
<title>Trying out Flutter</title>
<link>/posts/2018/learning-flutter/</link>
<pubDate>Sat, 21 Jul 2018 00:00:00 +0000</pubDate>
<guid>/posts/2018/learning-flutter/</guid>
<description>Flutter, Google&rsquo;s Dart based SDK for building native mobile applications, has been around for a while and I finally decided to take it for a spin. I&rsquo;ve attempted at mobile app development before in Android but never got past Android Studio&rsquo;s terrible slowness. Maybe it&rsquo;s because my computer is kinda old. But that doesn&rsquo;t change how bad the experience was. Also, I just couldn&rsquo;t get Java through my head. It was more than a bit overwhelming to try and learn.</description>
</item>
<item>
<title>(Attempting to) Read Papers: Times, Clocks and Ordering of Events</title>
<link>/posts/2018/reading-times-clocks/</link>
<pubDate>Thu, 12 Jul 2018 00:00:00 +0000</pubDate>
<guid>/posts/2018/reading-times-clocks/</guid>
<description>DISCLAIMER: This is not a detailed explanation of the paper, but rather just my thoughts on it.
So I&rsquo;ve been trying to get started on reading CS papers with a mediocre amount of success. I started with the Byzantine Generals paper but that sort of melted my brain. It was a case of me going &ldquo;Holy shit, I get it!&rdquo; followed by &ldquo;Goddamnit, I don&rsquo;t get it&rdquo; again and again before I threw it away.</description>
</item>
<item>
<title>Useless Blog #4</title>
<link>/posts/2018/useless-blog-04/</link>
<pubDate>Wed, 04 Apr 2018 00:00:00 +0000</pubDate>
<guid>/posts/2018/useless-blog-04/</guid>
<description>This was supposed to be my grand comeback to my millions thousands hundreds dozens maybe one reader where I would teach them the ways of Elm and functional programming in the browser from atop my glorious Mountain of Enlightenment in a blog post that would teach them how to make the Eye of Doom!!!!!! (which is just this SVG drawing that looks more like a sunny side up egg than an eye, that follows your mouse around).</description>
</item>
<item>
<title>Useless Blog #3: Heretic</title>
<link>/posts/2017/useless-blog-03/</link>
<pubDate>Fri, 09 Jun 2017 00:00:00 +0000</pubDate>
<guid>/posts/2017/useless-blog-03/</guid>
<description>The greatest holy war our world has ever witnessed was fought between the Church of Emacs and the Cult of Vim. For over thirty years, the two sides have been waging this war on all fronts: forums, chat rooms, even face-to-face. Many have been sacrificed and many have been martyred fighting for the editor they believed should reign supreme. But it is not all tales of glory on the battlefield, despite what historians on both sides would have you believe.</description>
</item>
<item>
<title>Do They Have Control?</title>
<link>/posts/2017/do-they-have-control/</link>
<pubDate>Sat, 25 Feb 2017 00:00:00 +0000</pubDate>
<guid>/posts/2017/do-they-have-control/</guid>
<description>I&rsquo;ve had this thought in my head. A question, really. And I don&rsquo;t know if there is or will be any answer for it. Maybe you can answer it.
But before I can ask the question to you, I need to set up some background. Get you to understand where I&rsquo;m coming from. And so, here&rsquo;s a blog post in three acts.
Act 1: A Hundred Different Hooks Unless you&rsquo;re a hermit who has spent the last twenty years in the Himalayas (in which case: Welcome to the new world!</description>
</item>
<item>
<title>Useless Blog #2</title>
<link>/posts/2017/useless-blog-02/</link>
<pubDate>Sat, 07 Jan 2017 00:00:00 +0000</pubDate>
<guid>/posts/2017/useless-blog-02/</guid>
<description>Happy New Year everybody!!
Yes I know I&rsquo;m a week late. Sue me.
What a week its been! I attended my very first &ldquo;real hackers don&rsquo;t sleep&rdquo; 2 day hackathon! I got sick at my very first &ldquo;real hackers don&rsquo;t sleep&rdquo; 2 day hackathon! I threw up at my very first &ldquo;real hackers don&rsquo;t sleep&rdquo; 2 day hackathon! And then I swore that I would never again attend any &ldquo;real hackers don&rsquo;t sleep&rdquo; 2 day hackathons ever again!</description>
</item>
<item>
<title>Books I've read this past week</title>
<link>/posts/2016/books-read/</link>
<pubDate>Mon, 19 Dec 2016 00:00:00 +0000</pubDate>
<guid>/posts/2016/books-read/</guid>
<description>I&rsquo;M BACK BOIIII!!
Man it&rsquo;s good to have internet again! That storm did a number on my city but we&rsquo;re getting back up now. In order to keep my brain from oozing out from sheer boredom during the day, I&rsquo;ve been doing nothing but reading this past week. Thought I&rsquo;d share my opinions on a couple of books in this comeback post. Here we go!
(Note: None of the books below are programming or tech related.</description>
</item>
<item>
<title>Thanking the Reddit bots for their hard work</title>
<link>/posts/2016/botwhothanksbots/</link>
<pubDate>Sat, 10 Dec 2016 00:00:00 +0000</pubDate>
<guid>/posts/2016/botwhothanksbots/</guid>
<description>You know, I was supposed to be learning SQLAlchemy in the hopes adding something employable my resume (all I have right now is &lsquo;knows some python&rsquo;). But I end up messing around on reddit instead. Sigh.
Anyway, if you&rsquo;ve used reddit for any length of time, you&rsquo;ve probably noticed a few bot accounts. They&rsquo;re usually there to perform some tasks on behalf of the humans. Automoderator is ubiquitous throughout reddit. RemindMeBot can be called on demand to set a reminder for yourself by calling for it in the comments or via PM.</description>
</item>
<item>
<title>The monster that sneaks up on you</title>
<link>/posts/2016/the-monster-sneaks-up/</link>
<pubDate>Wed, 07 Dec 2016 00:00:00 +0000</pubDate>
<guid>/posts/2016/the-monster-sneaks-up/</guid>
<description>I realize that the posting schedule has gone to whack but that last post was too long to finish in one day. And so I decided I could skip a day as a reward (not that I dislike writing these, mind! But I didn&rsquo;t want to overextend myself). Also I realize this is not necessarily a technical post but it is something I need to address, for my own sake.</description>
</item>
<item>
<title>Ordovim or: How to half ass something with (predictably) crappy results</title>
<link>/posts/2016/ordovim/</link>
<pubDate>Sun, 04 Dec 2016 00:00:00 +0000</pubDate>
<guid>/posts/2016/ordovim/</guid>
<description>I love Neal Stephenson&rsquo;s books. He is the God Uncle of cyberpunk (the Godfather of cyberpunk is, of course, William Gibson). One of Stephenson&rsquo;s doorstoppers is Cryptonomicon, a MASSIVE, 1100+ page monstrosity jam packed with everything you could want in a historical fiction/sorta cyberpunk novel. It&rsquo;s got action, World War II code breaking, guest appearances by Alan Turing, digressions on cryptography, a few predictions about the future (internet banking being one of them.</description>
</item>
<item>
<title>Useless Blog #1</title>
<link>/posts/2016/useless-blog-01/</link>
<pubDate>Thu, 01 Dec 2016 00:00:00 +0000</pubDate>
<guid>/posts/2016/useless-blog-01/</guid>
<description>Oh hey. You&rsquo;re back. I didn&rsquo;t think you&rsquo;d write another post.
Yeah, well, I said I would, didn&rsquo;t I? So here I am. But it&rsquo;s not like I have anything interesting to say though. I thought I would learn enough in two days to write something interesting. But the most interesting thing I did that I have any coherent thoughts about is that I shaved my head.
Sigh I want to write but at the same time I don&rsquo;t want to fill this blog up with rambling crap (unless its entertaining crap).</description>
</item>
<item>
<title>This is a blog post</title>
<link>/posts/2016/this-is-a-blog-post/</link>
<pubDate>Tue, 29 Nov 2016 00:00:00 +0000</pubDate>
<guid>/posts/2016/this-is-a-blog-post/</guid>
<description>This is a blog post. The first in (hopefully) a series. A series of blog posts where I write about whatever is on my mind, probably mostly about computer stuff that I&rsquo;m doing. An activity log, if you will. Maybe writing this is a way to organize my thoughts. Does it work? I don&rsquo;t know! I only just started. I also find that announcing out loud that I&rsquo;m going to do something severely decreases the chance of it ever getting done.</description>
</item>
<item>
<title>Your setup is dope, but where's your code?</title>
<link>/posts/2016/dope-setup-no-code/</link>
<pubDate>Sat, 01 Oct 2016 00:00:00 +0000</pubDate>
<guid>/posts/2016/dope-setup-no-code/</guid>
<description>I have a problem. I have spent more time in the last month setting up and tinkering with an environment for me to code in than I have in actual coding. This is not a good thing, especially for someone who is a total novice like I am who definitely needs to sharpen his skills.
With studies and other stuff eating up most of my time, I have relatively little time to spend to do this thing that I love so much.</description>
</item>
<item>
<title>About</title>
<link>/about/</link>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
<guid>/about/</guid>
<description>Hello, my name is Subil.
I work with supercomputers now!!
Send me a mail at: subil [the symbol] secondspass [the point] org.</description>
</item>
</channel>
</rss>