Skip to content

Commit

Permalink
wip
Browse files Browse the repository at this point in the history
  • Loading branch information
lfarroco committed Jul 18, 2023
1 parent a76c1dd commit 9c66dd7
Show file tree
Hide file tree
Showing 1,222 changed files with 51,690 additions and 39,456 deletions.
6 changes: 6 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
lume-buld:
deno task lume

lume-serve:
deno task lume --serve

docker-build:
docker build . -t radar-server

Expand Down
6 changes: 5 additions & 1 deletion _config.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
import lume from "lume/mod.ts";

const site = lume();
const site = lume({
src: "./src/site",
dest: "./_site",
// location: new URL("https://example.com")
});

site.copy("ads.txt");
site.copy("logo.png");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@
<link rel="stylesheet" href="/styles.css"/>
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-2361701055964881" crossorigin="anonymous"></script>
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<style>
@import url('https://fonts.googleapis.com/css2?family=Ubuntu:wght@400;700&display=swap');
</style>
</head>
<body>
<header>
Expand All @@ -35,9 +38,20 @@
<main class="container">
<ins class="adsbygoogle" data-ad-client="ca-pub-2361701055964881" data-ad-slot="9315501947" data-ad-format="auto" data-full-width-responsive="true"></ins>

<article>
<h1>GHCJS: Bringing Haskell to the Front-end</h1>
<div>
<article class="card mt-2">
<div class="card-header">
<h1 class="mb-0">GHCJS: Bringing Haskell to the Front-end</h1>
<div>
<small>2022/12/13</small>
</div>

</div>
<div class="card-body">
<div class="disclaimer">
This article was written by an AI 🤖. The original article can be found <a href="https://engineering.iog.io/2022-12-13-ghc-js-backend-merged/" target="_blank"> here</a>.


</div>
<p>The GHC DevX team at IOG has merged a new JavaScript backend into GHC, enabling Haskell for both front-end and back-end web applications. This means that the next release of GHC will be able to emit code that runs in web browsers without requiring any extra tools.</p>
<p>In a recent post, the team describes the challenges they faced bringing GHCJS to GHC, how they overcame those challenges, and what's left to do. They also provide links to skip ahead to the future of GHCJS, product roadmap, how to help, and build instructions.</p>
<p>JavaScript was chosen as the target language due to its dominance in the client-side programming market share, with 97.3% at the time of writing. The team believes that JavaScript is not going to disappear anytime soon and will become more entrenched as more interactivity is pushed onto the internet.</p>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Dev Radar</title>

<meta charset="UTF-8">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
<link rel="stylesheet" href="/styles.css"/>
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-2361701055964881" crossorigin="anonymous"></script>
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<style>
@import url('https://fonts.googleapis.com/css2?family=Ubuntu:wght@400;700&display=swap');
</style>
</head>
<body>
<header>
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
<div class="container">
<a class="navbar-brand" href="/">
<img src="/logo.png" width="30" height="30" class="d-inline-block align-top" alt="logo"> Dev Radar</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
<li class="nav-item">
<a class="nav-link active" aria-current="page" href="/">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" aria-current="page" href="/topics">Topics</a>
</li>
</ul>
</div>
</div>
</nav>
</header>
<main class="container">
<ins class="adsbygoogle" data-ad-client="ca-pub-2361701055964881" data-ad-slot="9315501947" data-ad-format="auto" data-full-width-responsive="true"></ins>

<article class="card mt-2">
<div class="card-header">
<h1 class="mb-0">Shifting to Standalone Components in Angular</h1>
<div>
<small>2023/05/22</small>
</div>

</div>
<div class="card-body">
<div class="disclaimer">
This article was written by an AI 🤖. The original article can be found <a href="https://blog.bitsrc.io/how-ive-shifted-my-angular-app-to-standalone-components-approach-48c344bb714a" target="_blank"> here</a>.


</div>
<p>Angular is a popular framework for building web applications, and developers are always looking for ways to simplify their code and reduce bundle size. One approach that has gained traction in recent years is the use of standalone components.</p>
<p>Standalone components were introduced as an experimental feature in Angular v14 and have since become a game changer for Angular-based applications. By removing unnecessary imports, standalone components simplify code and reduce bundle size.</p>
<p>The traditional approach to declaring components in Angular involves using ngModules. However, with standalone components, you no longer have to declare components in any module as long as a standalone flag is applied. Here's an example of how to declare a standalone component:</p>
<pre><code class="language-typescript">import { Component } from '@angular/core';

@Component({
selector: 'app-my-standalone-component',
template: `
&lt;h1&gt;Hello, world!&lt;/h1&gt;
`,
standalone: true
})
export class MyStandaloneComponent {}
</code></pre>
<p>Compared to the component declaration in the ngModule-based approach, you'll notice that the imports array is available for standalone components. This means you can import other standalone components and modules if you need them. However, the biggest advantage of standalone components is that you don't have to import the entire CommonModule. Instead, you can import only those functionalities required in your component, which significantly impacts your bundle size.</p>
<p>While standalone components were introduced as an experimental feature, they have become a recommended approach for Angular development. In fact, the Angular team has stated that they will be removing support for the traditional ngModule-based approach in future versions of Angular.</p>
<p>If you're looking to shift to standalone components in your Angular app, there are a few things to keep in mind. First, you'll need to ensure that your app is using Angular v14 or later. Second, you'll need to update your component declarations to include the standalone flag. Finally, you'll need to refactor your code to remove unnecessary imports and take advantage of the reduced bundle size.</p>
<p>In conclusion, standalone components are a powerful tool for simplifying code and reducing bundle size in Angular-based applications. As the Angular team continues to promote this approach, developers should consider shifting their apps to standalone components to stay up-to-date with the latest best practices in Angular development.</p>
</div>
</article>

</main>
<footer class="footer mt-auto py-3 bg-dark">
<div class="container">
<span class="text-muted">2023 | dev-radar</span>
</div>
</footer>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
</body>

</html>
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Dev Radar</title>

<meta charset="UTF-8">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
<link rel="stylesheet" href="/styles.css"/>
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-2361701055964881" crossorigin="anonymous"></script>
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<style>
@import url('https://fonts.googleapis.com/css2?family=Ubuntu:wght@400;700&display=swap');
</style>
</head>
<body>
<header>
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
<div class="container">
<a class="navbar-brand" href="/">
<img src="/logo.png" width="30" height="30" class="d-inline-block align-top" alt="logo"> Dev Radar</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
<li class="nav-item">
<a class="nav-link active" aria-current="page" href="/">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" aria-current="page" href="/topics">Topics</a>
</li>
</ul>
</div>
</div>
</nav>
</header>
<main class="container">
<ins class="adsbygoogle" data-ad-client="ca-pub-2361701055964881" data-ad-slot="9315501947" data-ad-format="auto" data-full-width-responsive="true"></ins>

<article class="card mt-2">
<div class="card-header">
<h1 class="mb-0">GHC 9.6.2 Released: A Bug-Fix Release for Haskell&#39;s Compiler</h1>
<div>
<small>2023/05/23</small>
</div>

</div>
<div class="card-body">
<div class="disclaimer">
This article was written by an AI 🤖. The original article can be found <a href="https://discourse.haskell.org/t/ghc-9-6-2-is-now-available/6308" target="_blank"> here</a>.


</div>
<p>The GHC developers have announced the release of GHC 9.6.2, which is now available for download at downloads.haskell.org. This release is primarily a bug-fix release that addresses several issues found in the previous version.</p>
<p>Bug Fixes
The issues addressed in this release include simplifier and specialisation issues (#22761, #22549), a bug resulting in crashes of programs using the new listThreads# primop (#23071), and a compiler crash triggered by certain uses of quantified constraints (#23171). Various bugs in the Javascript backend have also been fixed (#23399, #23360, #23346).</p>
<p>In addition, a missing write barrier in the non-moving collector's handling of selector thunks resulted in undefined behavior (#22930). The non-moving garbage collector's treatment of weak pointers has been revamped, which should allow more reliable finalization of Weak# closures (#22327). The non-moving garbage collector now bounds the amount of marking it will do during the post-marking stop-the-world phase, greatly reducing tail latencies in some programs (#22929).</p>
<p>Upgrade Promptly
As some of the fixed issues do affect correctness, users are encouraged to upgrade promptly. The full list of changes can be found in the release notes.</p>
<p>Acknowledgments
The GHC developers would like to thank Microsoft Azure, GitHub, IOG, the Zw3rk stake pool, Well-Typed, Tweag I/O, Serokell, Equinix, SimSpace, Haskell Foundation, and other anonymous contributors for their contributions to this release.</p>
<p>Haskell is a popular functional programming language used in a variety of industries, including finance, healthcare, and education. It is known for its strong type system, lazy evaluation, and elegant syntax. GHC (Glasgow Haskell Compiler) is the primary compiler for Haskell, and it is widely used in the community.</p>
<p>For developers who use Haskell, this bug-fix release is an important update that addresses several issues found in the previous version. The revamped treatment of weak pointers and the reduction of tail latencies in some programs are particularly noteworthy improvements. Developers are encouraged to upgrade promptly to take advantage of these fixes.</p>
<p>Here is an example of a code snippet in Haskell that demonstrates the use of a list comprehension:</p>
<pre><code class="language-haskell">-- This function takes a list of numbers and returns a list of their squares
squares :: [Int] -&gt; [Int]
squares xs = [x * x | x &lt;- xs]
</code></pre>
<p>In conclusion, the release of GHC 9.6.2 is an important update for Haskell developers that addresses several issues found in the previous version. The revamped treatment of weak pointers and the reduction of tail latencies in some programs are particularly noteworthy improvements. Developers are encouraged to upgrade promptly to take advantage of these fixes.</p>
</div>
</article>

</main>
<footer class="footer mt-auto py-3 bg-dark">
<div class="container">
<span class="text-muted">2023 | dev-radar</span>
</div>
</footer>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
</body>

</html>
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Dev Radar</title>

<meta charset="UTF-8">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
<link rel="stylesheet" href="/styles.css"/>
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-2361701055964881" crossorigin="anonymous"></script>
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<style>
@import url('https://fonts.googleapis.com/css2?family=Ubuntu:wght@400;700&display=swap');
</style>
</head>
<body>
<header>
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
<div class="container">
<a class="navbar-brand" href="/">
<img src="/logo.png" width="30" height="30" class="d-inline-block align-top" alt="logo"> Dev Radar</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
<li class="nav-item">
<a class="nav-link active" aria-current="page" href="/">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" aria-current="page" href="/topics">Topics</a>
</li>
</ul>
</div>
</div>
</nav>
</header>
<main class="container">
<ins class="adsbygoogle" data-ad-client="ca-pub-2361701055964881" data-ad-slot="9315501947" data-ad-format="auto" data-full-width-responsive="true"></ins>

<article class="card mt-2">
<div class="card-header">
<h1 class="mb-0">Python 3.12.0 Beta 1: What&#39;s New and What to Expect</h1>
<div>
<small>2023/05/23</small>
</div>

</div>
<div class="card-body">
<div class="disclaimer">
This article was written by an AI 🤖. The original article can be found <a href="https://pythoninsider.blogspot.com/2023/05/python-3120-beta-1-released.html" target="_blank"> here</a>.


</div>
<p>Python 3.12.0 beta 1 has been released, marking the feature freeze for the upcoming version of the popular programming language. This beta preview offers developers a glimpse of the major new features and changes that will be included in Python 3.12.</p>
<p>New Features and Changes</p>
<p>Some of the noteworthy changes and additions in Python 3.12 include:</p>
<ul>
<li>
<p>Structural Pattern Matching: This new feature allows developers to match complex structures, such as lists and dictionaries, with ease. It is a powerful tool that can simplify code and make it more readable.</p>
</li>
<li>
<p>Improved Error Messages: Python 3.12 includes improved error messages that provide more context and make debugging easier. This is especially helpful for beginners who are just starting to learn the language.</p>
</li>
<li>
<p>New Modules: Python 3.12 includes several new modules, including zoneinfo, which provides timezone information, and graphlib, which offers graph algorithms.</p>
</li>
<li>
<p>Performance Improvements: Python 3.12 includes several performance improvements, including faster dictionary lookups and optimized bytecode execution.</p>
</li>
</ul>
<p>For a more detailed list of changes and additions, check out the official release notes in the What's new in Python 3.12 document.</p>
<p>What's Next?</p>
<p>The next pre-release of Python 3.12, 3.12.0b2, is scheduled for release on May 29th, 2023. Developers are encouraged to test the beta release and provide feedback to help improve the final version.</p>
<p>Resources</p>
<p>To download Python 3.12.0 beta 1, visit the official Python website. For more information on Python development, including news and updates, check out the Python-Dev Blogs and Blog Archive.</p>
<p>In Conclusion</p>
<p>Python 3.12.0 beta 1 offers developers a sneak peek at the upcoming version of the popular programming language. With new features and improvements, Python 3.12 promises to make coding easier and more efficient. Developers are encouraged to test the beta release and provide feedback to help shape the final version of Python 3.12.</p>
</div>
</article>

</main>
<footer class="footer mt-auto py-3 bg-dark">
<div class="container">
<span class="text-muted">2023 | dev-radar</span>
</div>
</footer>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
</body>

</html>
Loading

0 comments on commit 9c66dd7

Please sign in to comment.