| CARVIEW |
Select Language
HTTP/2 200
cache-control: public, no-cache
content-encoding: gzip
content-security-policy: frame-ancestors https://bizarro.dev.to https://forem.com https://version-feb-19-mjhc7.b-cdn.net https://codenewbie.forem.com https://coss.forem.com https://golf.forem.com https://bookclub.forem.com https://stormkit.forem.com https://parenting.forem.com https://village.forem.com https://dev.to https://future.forem.com https://core.forem.com https://dumb.dev.to https://music.forem.com https://gg.forem.com https://vibe.forem.com https://experimental.forem.com https://popcorn.forem.com https://design.forem.com https://maker.forem.com https://crypto.forem.com https://scale.forem.com https://zeroday.forem.com https://open.forem.com https://wasp.forem.com https://devbrasil.forem.com https://journal.forem.com https://grow.forem.com https://hmpljs.forem.com https://dev.to
content-type: application/xml; charset=utf-8
etag: W/"5dbdec2023ba917e6de6b8accfc86595"
nel: {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
referrer-policy: strict-origin-when-cross-origin
report-to: {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=8WDvOYLjiXxvh4yZLM0OSOAJBR3%2Bpa1peS712Ae%2FDiw%3D\u0026sid=929419e7-33ea-4e2f-85f0-7d8b7cd5cbd6\u0026ts=1766818499"}],"max_age":3600}
reporting-endpoints: heroku-nel="https://nel.heroku.com/reports?s=8WDvOYLjiXxvh4yZLM0OSOAJBR3%2Bpa1peS712Ae%2FDiw%3D&sid=929419e7-33ea-4e2f-85f0-7d8b7cd5cbd6&ts=1766818499"
server: Heroku
via: 1.1 heroku-router, 1.1 varnish, 1.1 varnish
x-accel-expires: 600
x-content-type-options: nosniff
x-download-options: noopen
x-permitted-cross-domain-policies: none
x-request-id: 6b0f6cad-f50e-f006-6615-bd582986789e
x-runtime: 0.038102
x-xss-protection: 0
access-control-allow-origin: *
accept-ranges: bytes
age: 137
date: Sat, 27 Dec 2025 06:57:16 GMT
x-served-by: cache-den-kden1300088-DEN, cache-bom-vanm7210067-BOM
x-cache: HIT, MISS
x-cache-hits: 1, 0
x-timer: S1766818636.659367,VS0,VE706
vary: Accept-Encoding, X-Loggedin
strict-transport-security: max-age=31557600
content-length: 6475
DEV Community: Billy Warren
The latest articles on DEV Community by Billy Warren (@warbilly).
https://dev.to/warbilly
https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F984455%2F7e410274-98be-4dc0-901e-e70b1f2cb9a6.png
DEV Community: Billy Warren
https://dev.to/warbilly
en
-
My take on IRCs - let's rest from Slack and Discord for a while.
Billy Warren
Mon, 27 Feb 2023 06:41:10 +0000
https://dev.to/warbilly/my-take-on-ircs-lets-rest-from-slack-and-discord-for-a-while-2g9g
https://dev.to/warbilly/my-take-on-ircs-lets-rest-from-slack-and-discord-for-a-while-2g9g
<p>I want to interest those that haven’t used IRCs for a while through this article. This article generally leans toward the Debian Community but I hope it gives you some perspectives into IRCs and also interests you in joining the Debian Community as well.</p>
<p>Most Generation Z developers I know have at least used slack, discord, discourse and so many other communication tools but so few have used IRCs so heavily and this could be because they find it boring and limited to what kind of content they can share and what community they are participating in. I got interested in using IRCs when I joined Debian and was able to navigate my way through using some online resources. While IRC may not be as popular as other communication tools like Slack or Discord, it remains a valuable tool for communication and collaboration within the open-source community. Its open-source nature and lightweight protocol make it a flexible and customizable tool that can be used in various settings.</p>
<p>Internet Relay Chat (IRC) is a communication protocol that has been around since the late 1980s. Despite its age, it is still a popular tool for communication and collaboration, especially within the open-source community. It is mostly known to be used by people that work on ‘boring’ projects or maintain legacy code (I can’t state how true this is though). Interesting facts about IRC include that it was created by a Finnish developer named Jarkko Oikarinen, who wanted to create a communication tool that would allow him to chat with his friends in real-time (the FaceBook of those days). The first IRC network was called EFnet, and it quickly grew in popularity as more and more people began to use the protocol for communication and collaboration.</p>
<p>IRC allows users to connect to servers and join channels (chat rooms) where they can communicate in real time with other users who have also joined the same channel. Many open-source projects use IRC channels for communication and collaboration among developers. The Debian project has a number of IRC channels that are used for communication and collaboration among developers and users. I have at least interacted with three of them which include;-</p>
<ul>
<li>#salsa - This channel is for those that use the <a href="https://salsa.debian.org/public" rel="noopener noreferrer">Salsa platform</a>
</li>
<li>#salsaci - this channel is for discussions around the <a href="https://salsa.debian.org/salsa-ci-team/pipeline" rel="noopener noreferrer">Salsa CI Pipeline</a>
</li>
<li>#debian-devel - this channel is for all things Debian Development. Questions and updates related to general developments in Debian. </li>
<li>Check out more Debian channels <a href="https://wiki.debian.org/IRC" rel="noopener noreferrer">here</a>
</li>
</ul>
<p>To start using IRC, you will need to choose an IRC client, which is software that allows you to connect to IRC networks. Some popular IRC clients for Debian users include <a href="https://hexchat.github.io/" rel="noopener noreferrer">HexChat</a>, <a href="https://irssi.org/" rel="noopener noreferrer">irssi</a>, and <a href="https://weechat.org/" rel="noopener noreferrer">WeeChat</a>. These clients are free and open source, and can be downloaded from the Debian repositories.Once you have chosen an IRC client, you can connect to an IRC network and start joining channels. Many open-source projects have their own IRC channels, where developers can discuss the project and collaborate in real time. </p>
<p>One of the benefits of using IRC that I found out was that it is a lightweight protocol, which means that it can be used on a wide variety of devices, including desktop computers and smartphones. This makes it an ideal communication tool for developers who may be working on different devices and need to communicate with each other quickly and easily.</p>
<p>IRC is still a valuable tool for communication and collaboration within the open-source community even if it is not given the same popularity as other communication tools. Like some of the good old legacy designs whose function never goes old, IRC is one of them. </p>
discuss
-
A straight Guide to Salsa CI - A Debian Continuous Integration tool
Billy Warren
Tue, 21 Feb 2023 13:33:57 +0000
https://dev.to/warbilly/a-straight-guide-to-salsa-ci-a-debian-continuous-integration-tool-42b7
https://dev.to/warbilly/a-straight-guide-to-salsa-ci-a-debian-continuous-integration-tool-42b7
<p>I won’t waste your time with introductions. The title says it all so let’s jump right in. I’ll give you as many links as possible so that this article stays as short as possible.</p>
<p>So first, what is Salsa? Salsa is a name of a GitLab instance that is used by <a href="https://debian.org">Debian</a> teams to manage Debian packages and also collaborate on Development. If you have used GitLab before, the Salsa platform is not any different. To have a feel of it, it is available at <a href="https://salsa.debian.org">https://salsa.debian.org</a>. Still, want to know more? Find more information in the <a href="https://wiki.debian.org/Salsa">wiki</a>. Intrigued to a point of getting started? Setup up your account by following <a href="https://wiki.debian.org/Salsa/Doc">this information</a></p>
<p>Secondly, what is Salsa CI? Like many large projects with different contributors and strict maintenance, Debian is no different. This Linux distribution is made up of many packages which need to follow a certain standard and structure or purpose of compatibility, scalability and maintainability. The <a href="https://salsa.debian.org/salsa-ci-team/pipeline">Salsa CI</a> is a continuous integration tool that does just that. I hope that is precise and satisfying 😊.</p>
<p>I would have ended here but since our focus is Salsa CI tool, let me get a little deeper and wider. You could also make great use of your time when I provide more information. The Salsa CI was developed to continuously check for the health of Debian packages before they can be uploaded to the archive by running a <a href="https://salsa.debian.org/salsa-ci-team/pipeline/-/blob/master/pipeline-jobs.yml">series of CI/CD jobs</a>. The jobs are run against <a href="https://salsa.debian.org/salsa-ci-team/pipeline/-/tree/master/images/dockerfiles">setup images</a> that are already uploaded and updated regularly to reduce build time.</p>
<p><a href="https://res.cloudinary.com/practicaldev/image/fetch/s--bL5sABWW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8kxn0h7m4nwzvhpf0lmg.png" class="article-body-image-wrapper"><img src="https://res.cloudinary.com/practicaldev/image/fetch/s--bL5sABWW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8kxn0h7m4nwzvhpf0lmg.png" alt="A screenshot showing the Salsa Ci jobs." width="817" height="394"></a></p>
<p>The use of Salsa CI is becoming prominent ever since its inception. “The Salsa CI pipeline has become popular (used by ~8k projects, from MariaDB to the Linux kernel packaging), and it is even the base for more complex CI pipelines used by other Linux flavours.” The issue is the more popular it becomes, the more efficient it has to get and the more need to make the build time as shorter as possible. This happens by iterating and testing out different tools during different stages of the pipeline to find the best industrial tool. This is one of the priorities for anyone who develops for or maintains Salsa CI. </p>
<p>So that is how ‘deep’ I can go for now. </p>
<p>But wait, what if you what to contribute?<br>
If you have working knowledge in bash, git, CI, python and knowledge in building Debian packages it could be easy for you to figure out where components are and how they interact with each other. What if you don’t have the knowledge? Then that is where the fun comes in. </p>
<p>Getting started on making a meaningful contribution to Salsa CI will need more passion and discipline, the expertise comes later and slowly. I have contributed to Salsa CI even without high-level expertise and knowledge in some of the tools. When I started contributing to Salsa CI what a Debian package is, I even didn’t know that the tool that I am trying to navigate is being used by prominent software teams. But it is the challenge that I set for myself that as of now, enabled me to be able to work on a crucial part of the whole Continous integration. Wanna know what it is?</p>
<p>I am, as at the time of writing this article, integrating <strong>sbuild</strong> into Salsa CI to replace it with <strong>dpkg-buildpackage</strong>. This in turn will help to reduce the build time by getting rid of some jobs hence making the CI work faster. Cool, right?</p>
<p>Contributing to such a significant project can be a little challenging at the start but when you realize how important the piece you are working on is, you suddenly fall in love with it and want to follow through so that you can also be part of the large community that helps to make this world a better place in obscure ways. </p>
<p>So why don’t you check out some of the <a href="https://salsa.debian.org/salsa-ci-team/pipeline/-/issues">Salsa CI open issues</a> and see if you’d be interested in improving it?</p>
devops
packaging
debian
-
My road to Outreachy
Billy Warren
Mon, 12 Dec 2022 08:28:05 +0000
https://dev.to/warbilly/my-road-to-outreachy-4npe
https://dev.to/warbilly/my-road-to-outreachy-4npe
<p>It is now 12 days ago at the time of writing this article that I read the most rewarding email in my inbox. I only had to contain myself because of the environment but I am sure would have screamed louder when I read that acceptance email as an Outreachy intern for the December 2022 to March 2023 Cohort. </p>
<p>At that time I forgot all the struggle I went through to utilize the little resources I had (financial, time and physical) and my only focus was the awe of getting chance to intern with one of the re-known big names in the industry, Debian. Now away from the excitement bit, let's get things a little clear because it wasn't out of sheer lack. </p>
<h2>
<strong>The start of it all</strong>
</h2>
<p>This was the second time I was applying to Outreachy and I knew that if I hadn't learnt from my first mistakes enough to go through this second time then I'd be a 'failure'. The mistakes in my first application (which actually went through till the contribution stage) where;</p>
<ol>
<li><p><em><strong>Putting my few eggs in many baskets and expecting them to hatch</strong></em>. By this I mean, trying to work on more than one project so that I increase my chances of being accepted for internship. Sometimes it is risky but I have come to accept that <em>whoever advised not to put all eggs in one basket must have been a coward</em>. You see it is easier to concentrate on one goal than having a lot of goals to give attention too at the same time. I decided this time round to dedicate all my time, extra time and thoughts on just this one project and give it my all. In the end I knew that if I failed, i'd not regret since I gave in my all and if I went through, I'd also be happier since I knew I deserved it and put in my time. </p></li>
<li><p><em><strong>Getting noticed takes more than just contributing.</strong></em> For my first application, all I prioritized was how many Pull/Merge requests I was making in a particular period of time and didn't know there was more to getting noticed and being accepted than writing code, contributing to technical documentation or even designing that graphic. During the internship application and the real internship, you should know that you are interacting with people and not machines. People with feelings, emotions, bias and judgement. You may be good at coding but poor at communication or good at both but poor at commitment. There are a lot of other soft skills that you must show that you have during your application phase. Share progress, engage with your mentors (some banter doesn't hurt), make suggestions outside your project scope, interact with the wider community. the list of things you could do apart from contributing are many. You only need to know how to incorporate it within the project's communication culture. </p></li>
<li><p><em><strong>Starting Contributions late.</strong></em> I always thought one month was not enough to make contributions and be accepted but that is because in the one month you want to make meaningful contributions to many projects at once. The fact is one month is enough, the only problem is starting in the last days of the month thinking that you'll pull it off. Don't make that mistake unless you want to live every hour with anxiety and unnecessary pressure. </p></li>
</ol>
<h2>
<strong>The contribution phase.</strong>
</h2>
<p>So after selecting a project of my choice and knowing I had only one month to contribute. The first thing I did was initiating communication with my mentors through their emails that where listed in the Outreachy dashboard. I was easily on-boarded to their exclusive Gitlab instance (an online hosting platform for software development). With their help, I identified and curated some of first issues that I could get started with. I really didn't have enough knowledge but I was sure the only way to get dirty with everything was to take up the challenge. Two weeks in, I was already getting confident about the whole project. By the third week, my first PR was merged and I had already gained momentum. All Outreachy needs is at least one contribution which I had made. Actually my contribution got merged a few hours to the deadline. I wasn't on pressure because I knew I had given it my all. </p>
<p>During the contribution phase, I also met with my mentors to put together my internship proposal and I should say that it is important to draft that proposal with your mentor(s) than alone. Make the mentor part of your journey. Make sure they are not surprised or questioning what you could be up to. </p>
<p>After the deadline, I continued contributing to the project since there where issues I could still work on. At that point I was more about learning something new than actually the internship.</p>
<h2>
<strong>The end of the road.</strong>
</h2>
<p>In the end, my journey to being accepted as an Outreachy intern paid off with an acceptance email that I anxiously waited for for more than forty hours. I couldn't be more happier and at that point, I learnt that once you put your mind to anything and remove distractions, you can achieve it. Whereas I was happy that I am going to be getting $7000 after my internship, I was happier that I was going to learn a lot an improve my skills throughout this journey.</p>
react
javascript
webdev