asbjorn
November 6, 2020, 2:45pm
57
Alrighty I put up my devember post!
It’s a rough overview of the why and the how of what I’m building (Matrix web comments thing).
I intentionally left out a bunch of interesting design details, to try and keep it brief.
So if you have any questions, come and talk to me! I’ll gladly elaborate
Let me get this disclaimer out of the way first:
I am developing this as part of my bachelor’s project. That means I have already been working on it since the beginning of October, and will continue working on it (at least) until the end of 2020.
Also, I am unsure of whether I am allowed to publish any code yet - if I receive PR’s before I submit my report, is that plagiarism? To be on the safe side, I’m going to delay release until January 2021.
Now, lets get into it!
I am building a system for embeddable web comments, which uses the Matrix protocol.
It’s a thing you can add to your static (or not) website, to get a comments section where the back-end is any Matrix server.
It’s essentially a competitor to Disqus or Facebook Comments - but decentralized and open source using Matrix!
If you’re not familiar with Matrix: it’s essentially an instant-messaging protocol, that federates messages between any number of participating Matrix servers.
The architecture is essentially like email, but much better for instant messages, custom multimedia stuff, and group conversations.
It also has a bunch of interesting features, like easily bridging to other protocols (like irc, slack, discord).
Useful links include: https://matrix.org https://element.io
Using Matrix for web comments has some interesting properties:
Client independence
You can participate in the comment conversation from a large number of existing clients
Redundancy
If the default server goes down, you can still access the conversation through any other server (which has previously federated the room).
Privacy
You don’t have to authenticate against any specific server. You only have to authenticate against the Matrix server that you trust.
Freedom from third-party influence
The antithesis to this would be using Facebook Comments, in which case Facebook decides what you can and cannot say. When basing it on an open spec like Matrix, you can point your comments section towards a Matrix server you t…
4 Likes
When you make more progress than expected you enter the challenge.
I have wanted to explore the esp32 and learn micropython, mainly to see how far this combo can go before you need more horse power. I want to explore automation, “web dev”, device interface (real microcontroller stuff), addressable LED control, and whatever else comes my way as explore this micro.
I have been wanting for a while now to delve into Micropython and see what all the fuss was about and did not expect it to go so smoothly, so I have for that reason decided to enter the #devember2020 challenge and post here what I am able to finish by years end and perhaps continue on.
First goal is to familiarize myself with the hardware, in this case I have been eyeing the esp32 for a while now. Datasheet here It is hard to believe what it can do especially for buying a board from microcenter for $10.
Second goal is just simply finding out what can I do with this board and micropython.
2 Likes
Absolutely not! Devember technically starts in december.
3 Likes
My Devember project is to make and RPM package for plex player and see what it takes to do/maintain it.
Hello folks,
I found a project to expand my skillset some for Devember2020!
Plex seemingly doesn’t have a player client on Fedora or RPM packages, and I want to change that.
What do I know:
Basically nothing about coding and/or packages or how to make one.
Some scripting in bash and powershell.
A mediocre amount of Sever knowledge which won’t be any help in this project.
Lots of fun historical facts, equally useless
What do I want to learn:
How to make a package, how to deploy it on different systems and how to maintain it.
Why?
Well firstly I use plex and fedora, so it seems prudent to actually stop using the web version and start using the client. Not because it’s inherently better, but because it’s inherently easier for my kid and girlfriend to use.
Secondly, I want to know what goes into making a package, deploying and testing it.
Stages:
1: Find information on past projects or other helpful resources
2: find requirements for making a package and how it actually works
3: make a package and see what it takes to actually make it work
4: test on multiple machines
5: deploy in a way other people can get and use the package
6: get a nice beer because I did it and i deserve a reward!
2 Likes
Excellent!
I don’t see enough people getting into package maintenance. Very happy to see this! Not glamorous work, but stuff that needs doing nonetheless.
1 Like
Player1
November 10, 2020, 5:24pm
62
Hi there! I’m new here.
My project is to improve AI in computer games or other simulators. Effectively “cockfighting AI” (or bots) for leaderboards.
The challenge for the Devember2020 is to aim to finish my “corona-project” that I started a couple of months ago. It is a bit bigger than something that I could do in a month. I’ve just managed to put a “beta version” of the website up. Not all functionality is there yet. The basics work but that’s about it. I wanted to have something to show before posting here.
Alright, I’m new here. I saw the announcement last week on YouTube. Greetings and salutations!
I did start this side project a couple of months ago. This was soon after I was made to work from home due to corona (not beer). I’m hoping to get a proper first version out before the end of the year and I thought this challenge came at an opportune time.
The project is a little meta for this challenge:
A website for programming AI bots for a turn-based game.
The bots compete on leaderboards for the best ranking.
Source-code for all the competing bots will be published after a period of time. Likely in “seasons”.
Motivation for the project:
Some computer games just have a terrible AI. How could this situation be improved?
Learning AI can be challenging and there are so many different ways of doing it. Learning from other people’s code in a shared environment is a great way to learn.
To even start writing and practising AI a lot has to be set in place to begin. On computer game bots a lot gets in the way such as interpreting screen and mimicing user input. How could the barrier to entry be lowered?
Personal motivations:
I like writing bots for computer games, especially the grindy ones, but they can get you banned.
Learn and use some OTT tech that is normally used in large scale projects, in this small project.
Tech being used:
Mainly Java Spring, Go, Python and JavaScript. (More Go in the future and less Java!)
Currently about 15 microservices in 2 separate compute clusters.
The web-facing cluster is using Kubernetes.
ReactJS SPA for the front end.
Mixing x86 and ARM.
I’ve worked quite hard in the past week or so to get a beta version of the website up and running. I thought it would be much more interesting to share if I can actually show something. I’ve signed up to Linode and I’m using their 60-day trial deal. There are a number of parts still missing from the whole project, such as (the objectives for Devember2020):
A proper CI/CD chain and not all ser…
2 Likes
BoKKeR
November 15, 2020, 9:02am
64
This might not be 100% fair as I work full time as a developer since 2018, happy to have the option to work from home in these times.
A while ago (8 months) I started working on a side project that I am trying to urgently get to MVP this month. Think pcpartpicker but for custom keyboards. You pick the parts, submit the builds, filter builds based on parts. Collaborate over part specifications.
Here is the dev URL in the meanwhile. https://dev.keyb.io
Hoping to setup grafana under devember to get a real time dashboard and track traffic and server usage.
project thread Keyb.io pcpartpicker for keyboards RELEASED
EDIT: I moved the update to a new post Welcome to Level1 Devember!
3 Likes
asbjorn
November 15, 2020, 8:10pm
65
That sounds amazing!
You should put up a thread dedicated to the project. I’d love to follow along on updates.
1 Like
BoKKeR
November 15, 2020, 8:12pm
66
I posted the project thread at the end of the last post.
1 Like
asbjorn
November 15, 2020, 8:12pm
67
Hahaha I guess I skim too fast
1 Like
Here is my devember project. It’s an installer for blind users to get arch up and running without spending days trying to figure out how to enable speech services and the like.
A little over a year ago a blind user reached out to me to help him fix the talking arch distro. At the time, the version wasn’t compatible with the latest archiso build system and so we built a version that worked.
I’ve been working on this project for over a year and this month began building in some scripted features for blind users to complete installs without having to tab back and forth between the installer and the wiki. Also, the scripts make some changes to the default installs to turn on accessible features that normally would prevent a blind user from finishing the install on their own.
Currently I have the system built with the talking version of espeak as the default selection and I have also written a systemd service to change the fonts on both the talking and silent version to sun12x22 which helps folks with low vision get around in the terminal. (In order to run scripts in the new archiso build system, developers must add them to a systemd service now.)
I have built out the install for i3 and have it running fully accessible from the get go. I have numerous other DEs to add such as Cinnamon, Gnome, XFCE and KDE to name a few. Some of these are less or more accessible out of the box, KDE being one that I know has serious issues due to it’s reliance on QT.
The basic idea here is to have an arch install that can be built in about 20 minutes or so with the most basic options, the user can get into their main system and then customize afterwards. I just want it to get the install done, have orca running and the speech-dispatcher cooking.
Things I’m working on over the course of the next month or so:
add more customization to packages, currently there is a broad list of packages installed, so giving more options seems wise
build out accessible installs for Gnome, Mate and Cinnamon similar to how I have i3 running
add more readme data and create a sub directory to house them
add a list package option for each grouping of packages
add a more detai…
8 Likes
Here is the link for my Devember project.
The plan is to create a gift exchange platform (think secret santa) whilst learning Go and Vue
FokkFeis does Devember 2020
The idea.
Gift exchange platform
Technology stack I want to learn
Vue JS frontend
Go backend
Bonus stuff
Automatic deployment
Automatic testing
Docker
Features that we want to implement
User signup
– Users signup with a username/Name and email so they can take part in the gift exchange
Exchange groups
– isolated groups that can be created by the user.
– invitation code to join the exchange group
– Group owner can set a date for the “draw” of users to exchange gift
– Group owner can set the maximum gift value.
Day of the exchange
– Guessing who gave you the gift.
– opt in displaying the result
Minimum viable product
Backend
Pool of emails tagged with a name.
Giving each entry a name to give a gift to
Sending each entry an email with information about who to give the gift
Frontend
Displaying the list of emails in the pool
Displaying who was assigned to who
Blogging section
Day -13
Hello everyone.
As this is my first Devember I thought it would be fitting to scope this way out of proportions. Since I have almost no experience in creating Go code or Vue code this will mostly be a learning exercise.
I expect that I’ll be able to create the MVP in Go by the end of the month but adding the desired features would be a fun achievement.
The plan is to only create the workflow for the project until 1st December. Then the actual coding will start.
I hope that I’ll be able to do daily updates during December but until then i will try to do periodic updates.
I will of course deploy this on Linode as I just got the $100 credit.
Until next time.
– FF
5 Likes
moofree
November 17, 2020, 11:55am
70
My Devember goal is to implement a Puyo Puyo style game using Rust with the embedded-graphics crate on a development board running a GD32 RISC-V microcontroller with a tiny little ~1 inch 160x80 LCD screen (the Sipeed Longan Nano.)
I’ve got a post over on Community Blogs, but can’t link here.
Don’t expect my code to be especially “idiomatic” Rust, I’m not a software engineer- just a guy trying to get something to work without the standard library or an allocator. My current code is more like two different prototypes that I need to get working together- so no github link yet (if I could post links. :D)
4 Likes
For Devember 2020, I created a supercut of “protips” from the Level 1 News!
I use youtube-dl to download the auto-generated captions and a python script to search for the phrase “protip” and download/trip the episodes to the correct timestamps. Hope you all enjoy!
For #devember2020 I took a stab at creating a supercut of all the “protips” from the Level 1 News.
I used youtube-dl to download the auto-generated captions from every episode of the news. Then I wrote a python script to search the captions for the phrase “protip” and download/trim the episodes to the correct timestamps with youtube-dl and ffmpeg.
This process involves downloading every episode with a protip. I’ve hardcoded the limit to download the videos at <=1080p resolution, which speeds things up but it still takes hours. If you want to try this and your internet is slow (like mine) consider running on a Linode VPC with gigabit internet!
The scripts work - I mean, they certainly find protips, but I can’t be sure they find every last one. I don’t know if you can really be sure of the true count without re-watching the entire news. However, it does work well enough to make a fun supercut!
Here are the scripts I wrote and readme explaining how to use them:
Here’s a supercut with all the “protips” I found in a single video:
[Level 1 Techs, Protip Supercut]
Happy #devember2020 !
3 Likes
As with a lot of these tutorial type things, the biggest problem I have is finding a problem to solve. If anyone could suggest some topics that I could use to kickstart my voyage into this new cloud based thingy. Without the crazy problems thrown at you in a commercial space, coming up with yet another “bubblesort” is just a real pain. Again any help would be appreciated.
1 Like
Hi!
My Devember project is to improve my webdev skils and increase my free time by creating a Union member management tool for my union.
Thanks for holding this awesome event!
4 Likes
Even though I’m a reasonably experienced programmer, my FOSS contributions are pretty weak. I have been attempting to be a more active contributor for a long time now. So my #devember2020 project is to fix one bug a week in a FOSS project I use.
Hello! I’m a somewhat experienced programmer (mostly Python), so not sure if its as much of a challenge to code regularly. It however has been a challenge to code on things I like, e.g. contributing to open source projects I use regularly. So I want to take up the challenge of fixing one bug in an open source project every week.
I want to pick bugs that have been outstanding for a while. Even though I’m aiming for one bug-fix a week, a more realistic goal might be one bug-fix every two weeks. I started this in July, but so far have been able to fix only one! I started working on another only recently. Below I’ll list my progress, and keep updating the list as I finish each one.
Pandas : Indexing of Sparse dataframes: https://github.com/pandas-dev/pandas/pull/34908
Pandas : Crash when replacing NaNs in a dataframe: https://github.com/pandas-dev/pandas/issues/31687 WIP
I also have a few other side projects, not sure I’ll get around to them. I’ll list them here anyway; maybe it’ll shame me into making progress
Build a data validation library in Python that can also be applied on contiguous arrays like NumPy arrays or Pandas dataframes without losing performance.
Finish building my RPi NAS with the RADXA SATA HAT , I mostly have the parts (with some variations).
Build an RPi HQ camera .
5 Likes
This is genuinely great.
I’ve been trying to contribute more to open source projects. It’s been p4oving harder than it seems. I’ve got an open feature PR that’s been going on since June! (Though I might just be a shit programmer)
1 Like
Ya, even if you ignore the social and psychological factors, contributing to FOSS projects can be a bit daunting. My biggest challenge has been to gain familiarity with the codebase. There is so much history behind every decision, it can be quite overwhelming.
I think my recent progress has been thanks to good debuggers I put in some effort to learn a bit more of the commands, and options, and thanks to effective UIs like VScode and pudb
.
BTW, good luck with your PR
2 Likes