<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Community |</title><link>https://carlos-hugoblox.netlify.app/en/tags/community/</link><atom:link href="https://carlos-hugoblox.netlify.app/en/tags/community/index.xml" rel="self" type="application/rss+xml"/><description>Community</description><generator>HugoBlox Kit (https://hugoblox.com)</generator><language>en-GB</language><lastBuildDate>Thu, 14 May 2026 17:11:53 +0000</lastBuildDate><image><url>https://carlos-hugoblox.netlify.app/media/icon_hu_aa3341e371185529.png</url><title>Community</title><link>https://carlos-hugoblox.netlify.app/en/tags/community/</link></image><item><title>No Vibes, Just Struggle: Notes From a Research Software Engineer</title><link>https://carlos-hugoblox.netlify.app/en/events/2026-convivial-code/</link><pubDate>Thu, 14 May 2026 17:11:53 +0000</pubDate><guid>https://carlos-hugoblox.netlify.app/en/events/2026-convivial-code/</guid><description>&lt;!-- Add the talk outline, prerequisites, and how people can join. --&gt;
&lt;p&gt;I&amp;rsquo;m going to share a couple of struggles that I&amp;rsquo;m experiencing in my everyday work as a Senior Research Software Engineer at the Centre for Interdisciplinary Methodologies. But before doing so, I need to disclose my positionality in relation to AI and vive coding, particularly about its meaning and how I use it.&lt;/p&gt;
&lt;p&gt;Coding is a very polisemic word, and people may assign different meanings depending on their background or context. As a Research Software Engineer, when I think about &lt;em&gt;coding&lt;/em&gt; I am mainly referring to the action of creating scripts or software that can be used in an academic setting. This setting is very important to me because it comes with a series of values and requirements that are different from other settings (e.g. hobbysts or industry), such as reproducibility, provenance, or correctly citing sources as an integral part of academic integrity.&lt;/p&gt;
&lt;p&gt;I have never vive coded. I&amp;rsquo;ve seldom used vector-mediated coding: when I use it, I do it reluctantly or triggered by curiosity. Either case, I always feel it as a defeat. This is not because I&amp;rsquo;m so proud that I feel my ego threatened, or because I&amp;rsquo;m a good or fast coder that doesn&amp;rsquo;t need such aids. I&amp;rsquo;m actually neither. Probably because of that, through commons-based peer production, I&amp;rsquo;ve learnt a series of techniques, good practices and cultural norms that helped me to overcome my individual limitations. Two paradigmatic examples are to use and adapt code and frameworks that other, smarter people, have created and decided to share it with others through open licenses; and to rely on processes and automations&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt; to reduce errors, to understand when something doesn&amp;rsquo;t work and to seek help when I can&amp;rsquo;t find the answer, and to do so, to be able to explain to others what I want to do and what I&amp;rsquo;ve done.&lt;/p&gt;
&lt;p&gt;Now, that my stance is clear, I&amp;rsquo;m in a better condition to share my struggles with AI in general and AI-assisted coding.&lt;/p&gt;
&lt;p&gt;The first has to do with the fact that technology is never neutral, and AI has been built through extractive and exploitive practices that are assumed, validated and reproduced when using them. Examples of this can be seen in how LLMs have been trained by systematically stealing IP, or by employing humans to manually tag content in terrible working conditions and at the expense of their mental health.&lt;/p&gt;
&lt;p&gt;And not to mention the large amount of resources this technology and the required infrastructure (i.e., datacentres) require for functioning, such as energy, water, oil but also hardware such as RAM or SSDs and Hard drives. Even though the tech and the companies behind ofuscate date to make it really difficult to quantify the environmental costs (and therefore, making it easier to be disregarded), we are already seeing their effects. This week alone news echoed how Maryland taxpayers would need to pay $2 billion dollars to upgrade the power grid to host data centers, or that important SSD and HDD manufacturers have sold all their production until 2029 exclusively to serve Data center needs, creating new forms of scarcity.&lt;/p&gt;
&lt;p&gt;But probably, the clearer example about the worldviews and political agenda that are encapsulated in this technology is how AI companies are directly or indirectly promoting surveillance, and even genocides, and how their CEOs feel empowered enough to publish supremacist manifestos in the name of their companies &lt;sup id="fnref:2"&gt;&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref"&gt;2&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;The combination of these factors makes me feel that &lt;strong&gt;every time I use AI-tools I&amp;rsquo;m forced to disregard my values and the political and moral beliefs that I stand for, and makes me feel closer to a world and a society I wouldn&amp;rsquo;t wannt anyone to live in. And this is not an easy pill to swallow&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;The second one has to do with AI assisted coding, or vector coding. It is easy to be flashed by the ability to produce something that works in a reduced amount of time and with few or little knowledge on coding. It is really impressing to see that what would take a lot of time is accomplished (at least in appearance) in a matter of minutes, and with little effort. I can see how many people (particularly those who do not know how to code or are in early stages) may see it as a way to overcome their limitations and how this seems like it&amp;rsquo;s democratising coding. I really do, I would believe it myself it wasn&amp;rsquo;t because it is the opposite.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Vive coding produces code, but it does not make &lt;em&gt;programmers&lt;/em&gt;, it makes &lt;em&gt;prompters&lt;/em&gt;.&lt;/strong&gt; This is not just a semantic difference. I contend that the former is empowering, whereas the latter is disempowering. Vive coding epitomises neoliberal worldviews by stating that only the outputs matter&lt;sup id="fnref:3"&gt;&lt;a href="#fn:3" class="footnote-ref" role="doc-noteref"&gt;3&lt;/a&gt;&lt;/sup&gt;, disregarding decades of disciplinary and interdisciplinary knowledge built over decades. &lt;strong&gt;Coding is not about just producing code, it is also a cultural and social practice, a method.&lt;/strong&gt; Equally as important than the output are issues related to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Correctly attributing everybody&amp;rsquo;s work, and complying with licences. Using AI can easily lead to copyright infringements and flags questions about Intellecutal Property and accountability: Who is the author of the code? Can we make sure that we are complying with the licence terms of the code that the AI is reproducing?Can we be sure that we are not leaking any personal or sensitive information (either in the code or the prompts)?.&lt;/li&gt;
&lt;li&gt;Writing understandable and explainable code, not just to make it easier for us to maintain and improve it over time and for others to contribute to or scrutinise (again, this is important in an academic setting). If we cannot explain what the code does, how can our research rely on it? Can we use it in research if we cannot write a basic methods section?&lt;/li&gt;
&lt;li&gt;Considering and addressing failure. Any relatively complex piece of code will, inevitabily, fail. Far from approaching failuire from a nihilistic standpoint, software engineer need to actively address them by putting measures to minimise the errors (e.g. automated testing), or to be able to debug them when they ocurr so they are easily fixable. Or, as Cory Doctorov
: &amp;ldquo;Writing code&amp;rdquo; is about making code that &lt;em&gt;runs well&lt;/em&gt;. &amp;ldquo;Software engineering&amp;rdquo; is about making code that &lt;em&gt;fails well&lt;/em&gt;&amp;quot;. How are we going to maintain the software in the medium and long term? What will we do when it fails? (because inevitabily, all code fails) Shall we start over again? Is then efficient?&lt;/li&gt;
&lt;li&gt;Saving resources, both material and human. Is it fair to ask others to read, understand, test, and improve code that can be generated at faster pace than any human can review? Many projects&lt;sup id="fnref:4"&gt;&lt;a href="#fn:4" class="footnote-ref" role="doc-noteref"&gt;4&lt;/a&gt;&lt;/sup&gt;, such as drupal&lt;sup id="fnref:5"&gt;&lt;a href="#fn:5" class="footnote-ref" role="doc-noteref"&gt;5&lt;/a&gt;&lt;/sup&gt; or some GNU/Linux distributions, are not accepting contributions if the authors cannot explain them, as it suposes a liability but also a waste of resources and time from a team that has already a lot on their plate.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;But probably the most important flaw in this framing is how it shifts the paradigm away from &lt;em&gt;processes&lt;/em&gt;. Because programing is a never-ending task, it requires constant iteration, improvement, learning&amp;hellip; it is, above all, a process. And so it is the learning process that makes you be a (good) programmer. Admittedly, coding is challenging, it requires a series of skills that take time to learn, and even more to master. But once learnt, they are ours, nobody can take that from us. This is what is really empowering. On the other hand, being a promter means relying on something external (AI) to generate code. What will a &lt;em&gt;prompter&lt;/em&gt; do if they lose access to those tools? Considering the track history of enshitification and lack of human consideration of these companies, this is not a hypothetical question.&lt;/p&gt;
&lt;div class="footnotes" role="doc-endnotes"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;Code linters, Continuous Integration, Automated testing&amp;hellip; are examples of such automations that are not AI-powered and have been commonplace in software development.&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:2"&gt;
&lt;p&gt;See excerpts from Alexander C. Karp &amp;amp; Nicholas W. Zamiska&amp;rsquo;s &lt;em&gt;The Technological Republic: Hard Power, Soft Belief, and the Future of the West&lt;/em&gt; at Palantir&amp;rsquo;s X account:
&amp;#160;&lt;a href="#fnref:2" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:3"&gt;
&lt;p&gt;Open-AI cofounder Andrej Karpathy coined the concept of vive coding as this (
):&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;There&amp;rsquo;s a new kind of coding I call &amp;ldquo;vibe coding&amp;rdquo;, where you fully give in to the vibes, embrace exponentials, and forget that the code even exists. It&amp;rsquo;s possible because the LLMs (e.g. Cursor Composer w Sonnet) are getting too good. Also I just talk to Composer with SuperWhisper so I barely even touch the keyboard. I ask for the dumbest things like &amp;ldquo;decrease the padding on the sidebar by half&amp;rdquo; because I&amp;rsquo;m too lazy to find it. I &amp;ldquo;Accept All&amp;rdquo; always, I don&amp;rsquo;t read the diffs anymore. When I get error messages I just copy paste them in with no comment, usually that fixes it. The code grows beyond my usual comprehension, I&amp;rsquo;d have to really read through it for a while. Sometimes the LLMs can&amp;rsquo;t fix a bug so I just work around it or ask for random changes until it goes away. It&amp;rsquo;s not too bad for throwaway weekend projects, but still quite amusing. I&amp;rsquo;m building a project or webapp, but it&amp;rsquo;s not really coding - I just see stuff, say stuff, run stuff, and copy paste stuff, and it mostly works.&lt;/p&gt;
&lt;/blockquote&gt;
&amp;#160;&lt;a href="#fnref:3" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/li&gt;
&lt;li id="fn:4"&gt;
&lt;p&gt;Refer to the
for a complete list of software that are not accepting any form of AI, and an exhaustive rationale for not doing that.&amp;#160;&lt;a href="#fnref:4" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:5"&gt;
&lt;p&gt;Drupal&amp;rsquo;s founder&amp;rsquo;s blog: &amp;ldquo;
&amp;rdquo;&amp;#160;&lt;a href="#fnref:5" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</description></item></channel></rss>