Open Source Software team
Intro to
November 2nd, 3:30 PM-4:30 PM
Launch into the vast expanse of collaborative development, exploring new frontiers and innovating together!��Self link: acmcsuf.com/oss-meeting-7
🍁
🍂
🍃
🌿
Deno
2
LettuceMeet form
3
Meeting 10/26 recap
Last week’s slides: acmcsuf.com/oss-meeting-6
Last week we had a SvelteKit workshop run by Tomas and Oscar! We are really grateful they stepped up and helped out so thank you for those who stayed interested and came to support them. Feel free to reach out to @Ethan or @Karni in the ACM server (#💗just-chatting or DMs) to get a re-reminder!
REVIEW SYNC NOTES!!! (acmcsuf.com/oss-sync)
4
Next week’s workshop:
Leveraging Social Media for Project Visibility
5
✏️Meeting 11/2 agenda
Time | Topic |
2:45 PM-3:15 PM | Unblocked games in the library: Club Penguin, Neopets, Cool Math, and ethandavidson.com/games |
3:30 PM-3:50 PM | Deno mini-workshop |
3:50 PM-5:00 PM | Get into teams, update sync, continue progress on projects Website redesign: 🔴LIVE🔴 demo on general component for the updated /about + /teams page |
6
What is Deno?
Deno is a secure runtime for JavaScript and TypeScript. It provides a modern and secure environment for running JavaScript and TypeScript code outside of a browser.
7
Deno vs Node.js
Deno is a secure runtime for JavaScript and TypeScript, while node.js is a popular runtime for JavaScript. Deno has built-in security features, better module management, and supports TypeScript natively, while Node.js has a larger ecosystem and more mature libraries.
8
Why not Node.js?
Node.js has faced major security concerns related to supply chain attacks, where malicious actors may inject code into the dependencies of a project. Deno, on the other hand, has built-in security features that aim to mitigate such risks by default. It provides a more secure runtime environment with features like permission-based access, secure module imports, and a centralized module registry.
9
Why not Bun?
The performance benchmarks for Bun appear to be targeted and specifically demonstrate optimizations made for certain aspects of the runtime, rather than offering a comprehensive evaluation of its overall performance across all aspects. As Bun is relatively new, it is reasonable to assume that there is still ample opportunity for further enhancements and refinements.
However, Node.js, being a well-established runtime with a large user base and extensive ecosystem, you may find a stronger investment represented in terms of overall maturity and community support and framework support. On the other hand, Deno, created by the same individual responsible for Node.js, carries a sense of promise and familiarity due to its lineage. It combines the experience of Node.js' creator with a modernized design, enhanced security features, and improved tooling, leaving Node.js to be legacy software.
10
Drop-in replacement
The Bun toolchain is virtually interchangeable with the Node.js toolchain offering backwards compatibility which encourages Node.js projects to adopt Bun.
The Deno toolchain is not drop-in replaceable with the Node.js toolchain. Deno supports many Node.js features, but is not feature complete.
11
Web platform test perfectionism
Deno strives to perfectly support all APIs offered in web browsers. JavaScript is future-proof and the most popular programming language, so it is special compared to all other languages.
12
URL module imports
node is not a good idea to use anymore for supply chain attack issues while deno is secure by default
13
Tooling
14
Developer experience
Deno natively supports TypeScript, meaning that you can write your code in TypeScript without the need for additional transpilation steps. This makes the development process more straightforward and efficient.
15
Infrastructure
Infrastructure as code paradigms refer to the practice of managing and provisioning infrastructure resources using code. Deno Deploy provides out-of-the-box (ootb) primitives that make it convenient to deploy and manage serverless applications.
16
How we use Deno
We use Deno in many of our Discord interaction bots since all they require is a web server.
We use Deno for writing backend programs in TypeScript.
17
HumeTube
HumeTube is an example of a recent program we created using Deno Deploy to easily serve and store our data.
18
Resources
19
New Open Source Software officers
foo
foo
Tomas
Oscar
20
Now break off into groups!
Groups | Projects | People | TODOs |
Group 1 | acmcsuf.com | Sama, Ju Yeong, Nestor, Matthew | Join Karni for live coding demo |
Group 2 | CSUF Surveys | Alex K, Justin P. Lee, Tony | Create a design document, update sync doc |
Group 3 | api.acmcsuf.com Clubannounce | John, Jeremiah Joseph, Tomas | Read over design document, discuss understandings, update sync doc |
Group 4 | acmcsuf.com/quiz | Alan, Brian | Discuss additional features, update sync doc |
Group 5 | Form | Katie, Alex P. | Read over design document, update sync docs |
Group 6 | Crying Counter Pdf2png Archive acmBall 2 Finder | Vamsi Eric Rohan Jacob Mark | Discuss amongst each other on your understandings of the projects and what the next step should be in achieving progress, update sync document |
21
Stick around!
🕕6:00 PM-7:00 PM
🌎MH 464
This is related to the Trends project–If the topic interests you, reach out to assist!
AI Team: Audio in AI
22
Next week’s workshop
basics
Deno
📅Thursday, November 2nd
🕒3:30 PM - 4:30 PM
🌎MH 655
Deno + Project work sessions