pull down to refresh

SN Journey Day 1

Personal Background

I'm an economist who's always liked computery stuff. I consider myself to be of "medium" technical proficiency. I know my way around a Linux. I've run a Bitcoin and Lightning node raw from command line. I've contributed code to tech companies, mostly data science and machine learning stuff using Python and SQL. I use R and Python every day for research, but no experience in Javascript or developing web apps. Still consider myself very green in many of the areas that would be needed to contribute to SN. So this will be a learning journey for me.

SN Dev Objective

My primary interest in helping with SN development is to better understand its database and analytics stack. I would like to contribute to developing more detailed and customizable analytics dashboards, so Stackers can better understand things like territory metrics, platform growth, and maybe even what makes for a good post.
In the longer run, if @k00b would be willing to open SN's historical data to me, I'd like to be able to conduct some academic research on the economics of discussion forums with micropayments. It's a pretty unique marketplace we have here, and there are surely some interesting insights to be derived.

Day 1 of the journey

First things first, I navigate to the SN Github repo: https://github.com/stackernews/stacker.news. It tell me to install Docker so I do that.
I'm on a Windows (don't hate me, i'm just working from my home desktop.) So i get Docker Desktop for Windows. I have to install WSL (Windows Subsystem for Linux). No problem, everything goes smoothly.
Next, I git clone https://github.com/stackernews/stacker.news from the Windows terminal and run ./sndev start. Didn't work, looks like Windows Terminal can't run shell scripts? If it can, I don't know how.
No worries, I'll just open up Ubuntu on Windows and work from a virtual linux environment. I clone the repo, hit ./sndev start, and the dev environment begins setting itself up.
The first thing I notice is the cool progress bars:
Then, as I watch the log keep going, it dawned on me the complexity of this project. This isn't just some web app, it's a web app that is dealing with real money transactions and it needs to be integrated with a live lightning node while constantly querying the Bitcoin blockchain. I'm a total noob when it comes to app development, and the first thing I try to dip my toes into is this?? Will I be able to get this thing actually working?
After a few minutes, it looks like everything finished setting up and the service is running. So I point my browser to localhost:3000 and sure enough, I get a running Stacker.News app populated with a bunch of example posts. Success!
Since I'm primarily interested in analytics, I go to the analytics page. Based on this, example registrations go back to 6/22 and example activity mostly goes back a few months; though there are a miniscule number of posts going back to '22.
This leaves me wondering what populates the example database for the SN dev environment. I'm sure I'll find it in the codebase if I look hard enough.
Well, I think that's enough for now. I have to take my kid out to swimming (trust me, I'd rather be coding.) Sadly, I probably only have an hour or two a week to look at this, at most. So we'll see if I ever manage to actually contribute anything. But I'll keep posting whenever I get back to it. Setting goals for myself, my next steps are probably the following:
  • Look to see if there's an easy issue I could try my hand at solving
  • See if I can play around with modfiying the analytics page.
Wish me luck...
42 sats \ 0 replies \ @sox 9 Feb
Amazing! Welcome to the FOSS side of SN! Like every collaborator I started by crunching through these issues and made my way towards greater levels of difficulty and I have no doubt in you succeeding. Sometimes little bumps on the road can easily discourage anyone, feel free to reach out, maybe we can remove those bumps and move forward, together. Start little, become the greatest!
This leaves me wondering what populates the example database for the SN dev environment. I'm sure I'll find it in the codebase if I look hard enough.
hint: it's called seed :P
reply
I wish you all the best and congratulations! I'll be eagerly waiting what results your efforts bring in.
reply
This is so cool. I'm very dumb around technical stuff, so I'd find a project like this overwhelming, but I'll be fascinated to follow your updates.
reply
This is fantastic! I'm strictly a voyeur, but please keep posting about your experiences. With your economics background, who know where you can take this.
reply
Noice! I started the journey last year.
You’ve inspired me so hopefully I can get back to it soon. Where I left off, I got stuck with some MinGW issue when trying to make changes to the database. I think it’s a Windows thing. 😅
reply
If you have any advice on this @koob or @ek, that would be great. Otherwise, I might try to set up the dev environment on a Linux machine next.
reply
In my day job I manage a team of power bi developers. I wonder what application is used to run the analytics for SN?
It is basic, but clean and straightforward but gets the job done. Unsure what tools are in the pipeline for more advanced analytics (Tableau,Alterix, PowerBI)?
reply
Appears you doing all backend database dev stuffs! Definitely cool! I’m on my own personal journey let’s say you are light years ahead of me but this is def cool to see other Stackers take on a Dev role to improve the site
reply
Great to know it. It will help me a lot.
reply
Very cool
reply
Good luck, mate
Really appreciate your intention to make this place great
reply
I didn't read all of this, but it's cool to see more folks get setup to contribute to SN!
reply
Fascinating. I enjoy reading about what fellow devs are doing.
reply
Hey, congratulations and good luck. I'm excited to see what you implement!
I'd love to see more analytics about platform growth. I'd also like to see analytics for posts such as how many people with cowboy hats reply vs not, or how many of the people who replied zapped the post etc.
reply