progchan

Textboard BBS.

  • No spam, doxxing, or illegal content.
  • Code blocks via [code]lang ... [/code].
  • For monospace just leave the language blank.
  • Tripcodes via name#secret.
  • Quote links with >>123.
Rules · 規則

349 Name: mothership : 2026-05-06 09:07:24

i am doing a 2 yr computer programming diploma class at my local college and want to do something that can have a positive impact on my city.

my city has about 115k people. we have a decent transit system, but we only have a few spots to renew passes in the city and they all have horrible business hours. i am a daily transit user of this system.

we currently have a mobile app that only shows routes, schedules, and bus locations.

i am doing a 2 yr computer programming diploma class at my local college and want to do something that can have a positive impact on my city.

im in the brainstorming phase of wanting to develop an app that would either work alongside the existing app or replace it. i would like to get a working demo up and running this summer, and then start working with the transit system to implement it by 2027, 2028 at the latest.

i would want the mobile app that accomplishes a few things:

~let people purchase and renew passes or individual tickets via the app, and set up pass subscriptions via their credit card or debit card

~use the app to board the bus, ie tap your phone on a card reader, etc

~collect anonymous analytics data to look for spots needing improvement/upgrades


from what i can see, the system currently uses Trapeze terminals, MIFARE DESfire - based cards and possibly Genfare link.

at first, i thought that it would be possible to use a smartphone's NFC functionality, instead of needing a card. but after looking into it, ive realized that the current cards are RFID-HF and a proprietary system, and that i likely wont have any luck with this route.

but we have barcode scanners that are used to scan transfer passes, so i think the most viable angle would be to use a barcode on a phone screen in an app.

so i have some angles on this.

1. build a complete app system from scratch that does everything in-app or on the server, and generates a bar code that the existing system would scan. i would run it on a local hosting provider.

i am hoping this would require no hardware replacements or retrofitting for the bus fleet, and would let the elderly or people without data or phones continue to use the system "as-is" while letting riders who want to use a app have a system that works seamlessly.

2. based on my research, its likely that the system uses Genfare link, which has a developer api that i could hopefully leverage and might provide a more stable system with less potential issues caused by me.

i dont know this for certain and i will need to look into this.

3. replace the current fare collection system entirely, and replace the collection boxes with nfc/rfid readers.


i think this is unlikely because it would require retrofits and the buses atm dont have cellular connectivity.

i would like to collect anonymized user and ridership data for the purposes of finding out where chokepoints are in the system (as the city is in a semi-rural, conservative, car-centric area, and the bus system basically hasnt been meaningfully improved since the late 90s afaik)

i would like to try to collect info like:

~exact number of riders

~peak ridership hours of the day

~how often buses are late

~how often buses are late to get to stations/hubs, and making people miss transfers.

im hoping that the data eventually can be used to improve the system but plainly pointing out the choke-points and areas needing improvement.

ultimately, i am not hoping to make a ton of money off of this app. i would ofc charge for support and updates, but i would ultimately do it for free if someone would cover server and stripe costs, just because i do want to help the people in my city, as often the people most reliant on transit are often the most underserved and struggling.

350 Name: mothership : 2026-05-06 09:09:44

so one of the issues with barcodes/qr codes is that people could take a photo or screenshot of them and share them.

so i would set it up that the barcode changes say every few minutes, to prevent copying and distribution. or set up some sort of TTL expiry for it.

351 Name: mothership : 2026-05-06 09:13:06

atm i would write the backend with python and SQL. maybe once i learn C# and java i might want to use C# or java but im leaning towards python.

would probably set it up as a docker container and run it on stormweb or something (im canadian and having the backend hosted in canada is a must)


app would probably be some flutter or react thing, idk. maybe just a PWA if possible.

356 Name: progchan !Hbv-BZDL : 2026-05-06 19:13:26

its a cool idea. if your city is already using the barcode scanners I say at least start there. at least with an app the usage would be tied to a user account. python and django or flask with mysql or postgres or mariadb for sql are fine. java / c# are a bit harder. if you're familiar with html/js and want to make a quick app there's cordova and then maybe the barcode could be an svg or something programatic. docker is fine too. you could also just do
apt install python3 postgres

on a vps or the cheapest hosts are usually php / mysql / cpanel and then you don't have to setup anything and you could basically just have raw PHP files for api endpoints if you want and you could do local dev with xamp, wamp or mamp. an endpoint for the scanners to log completed scans for analytics would be good. (linking scans back to the bus, user, and time) the stripe api isn't too bad. make sure to argon2id / bycrypt passwords. anyways I think your plan is good. good luck!
Name:

222 Name: Anonymous : 2026-03-15 10:39:45

https://monkeytype.com/
I cap out at 95. It's really the PO and Q buttons that get me. I just got fucking TINY PINKIES man.
> 8 replies omitted. Click here to view.

271 Name: Anonymous : 2026-04-06 02:32:46

>>270
those kinds of speeds are insane to me. i don't even think in 100 words per minute.

322 Name: Anonymous : 2026-04-18 12:42:16

Does typing speed translate into programming speed? Now days we have all this auto completion and ai shit in general. Can you guys program as fast as you type?

338 Name: Anonymous : 2026-04-24 14:53:52

i don't type but i prompt pretty quick. acutally my typing itself sucks because i'm used to igc

352 Name: Anonymous : 2026-05-06 09:42:29

52 in English.
42 in German (my native language).

353 Name: mothership : 2026-05-06 11:30:48

>>352
i mean in your defense, german has some really long ass words
Name:

323 Name: progchan !05fbr-b_ : 2026-04-18 12:52:20

You never know when a good algorithm will come in handy, so its probably a good idea to start collecting them. Any Algorithm. Any language.

324 Name: progchan !05fbr-b_ : 2026-04-18 12:53:22

>Python Union Find
def findGroups(isConnected: List[List[int]]) -> int:
    count = len(isConnected)
    parent = list(range(count))
    rank = [1] * count
    def find(i):
        if parent[i] != i:
            parent[i] = find(parent[i])
        return parent[i]
    def union(i,j):
        nonlocal count
        pi = find(i)
        pj = find(j)
        if pi == pj:
            return
        count -= 1
        if rank[pi] > rank[pj]:
            parent[pj] = pi
            rank[pi] += rank[pj]
        else:
            parent[pi] = pj
            rank[pj] += rank[pi]
    for i in range(n):
        for j in range(n):
            if isConnected[i][j]:
                union(i,j)
    return count

325 Name: progchan !05fbr-b_ : 2026-04-18 13:17:06

>Python Shoelace
def polygon_area(points: List[List[int]]) -> int:
    n = len(points)
    area = 0
    for i in range(n):
        x1, y1 = points[i]
        x2, y2 = points[(i + 1) % n]  # wrap around
        area += x1 * y2 - x2 * y1
    return abs(area) / 2

333 Name: progchan !05fbr-b_ : 2026-04-21 01:56:01

def topological_sort(edges: List[List[int]]) -> List[int]:
    res = []
    nodes = {x for y in edges for x in y}
    adj = {x:set() for x in nodes}
    for a, b in edges:
        adj[a].add(b)
    visited = {x:0 for x in nodes}
    def dfs(i):
        if visited[i] == 1:
            return False
        if visited[i] == 2:
            return True
        visited[i] = 1
        for n in adj[i]:
            if not dfs(n):
                return False
        visited[i] = 2
        res.append(i)
        return True
    for n in nodes:
        if not dfs(n):
            return []
    return res
topological_sort([[5,4], [4,3], [2,1]]) # [1, 2, 3, 4, 5]

346 Name: progchan !Hbv-BZDL : 2026-05-03 05:36:53

>Longest Increasing Subsequence
def lis(nums: List[int]) -> int:
    res = [nums[0]]
    for n in nums[1:]:
        if n > res[-1]:
            res.append(n)
        else:
            idx = bisect.bisect_left(res, n)
            res[idx] = n
    return res
lis([0,1,0,3,2,3]) # [0, 1, 2, 3]

348 Name: Anonymous : 2026-05-06 02:50:23

>Kind of shitty Adler32 in CL
common lisp
(defparameter +modulo+ 65521)

(defun adler32 (buffer)
  (let ((s1 1)
        (s2 0)
        (result nil))
    (dotimes (n (length buffer))
      (setf s1 (mod (+ s1 (nth n buffer)) +modulo+)
            s2 (mod (+ s2 s1) +modulo+)))
    (setf result (logior (ash s2 16) s1))
  (format t "~X~%" result)))
Name:

272 Name: mothership : 2026-04-07 11:43:34

reddit~ corporate trash algos, Bots, NPCs
facebook ~ corporate trash algos, bots, boomers and racists
twitter ~ algos, dipshits, morons, racists, grifters, bots
bluesky ~ NPCs and bots

4chan ~ bots, feds, jews, racists, blocked on school wifi (yes yes i know about VPNs)

altchans ~ less bots and jews, more feds, less users

discord ~ big servers are shit, small servers are dead mostly
telegram ~ large groups are full of bots, small groups dead
signal ~ bots, hard to find groups

matrix ~ csam
irc ~ pretentious weirdos
> 13 replies omitted. Click here to view.

296 Name: progchan !Hbv-BZDL : 2026-04-10 14:13:16

I saw an add for https://mainchan.com/ today. It's cool to see people making alt chans. Honestly I'm not familiar with modern / active alt chans. Are there any good ones?

304 Name: Anonymous : 2026-04-13 02:16:51

I think you have a myopic view of IRC and alternative imageboards. There are plenty of cool imageboards that have their own culture and regular users. This also applies to IRC. The thing with "more feds" only applies to imageboards that host edgy or otherwise weird content, but not to all imageboards are like that, some are just comfy.

321 Name: Anonymous : 2026-04-18 12:04:26

>>317
>>304
I have a question. What do you think makes social media WORTH visiting / participating in even? For me as soon as there's a sign up its just like fuck this. I used to post on instagram, but now its like fuck it my friends arent there and even the ones that are there won't see it because of all the ads and memes they're subscribed to.

334 Name: Anonymous : 2026-04-21 15:45:04

registration walls kill half the vibe instantly. worth visiting is basically: low friction, actual humans, posts that don't feel SEO generated, and moderation that keeps the place usable without turning it into linkedin.

347 Name: Anonymous : 2026-05-06 01:29:07

>>334
Agree. Having no accounts is a big one, it's just much nicer to have a text box with a reply button, and that's all there is, rather than some complicated forum software (programming a simple textboard is much easier than making the next Xenforo, too). Being able to be at least pseudonymous is a must,. I certainly won't use my real name anywhere online, no matter how great all other aspects of that place are. Anonymity is also great, but less for privacy reasons, and more for social reasons, because anonymity instantly removes all need for interpersonal drama, more often than not dishonesty, and attention-whoring. Besides all that, the community should be unique, either because of some functionality or some special topic to discuss.

>>296
Depends on what you mean with "modern". Tohno-chan is really nice for otaku stuff, and has an active and consistent user base, but it has been around for 15 years or so, so it's barely "modern". Kissu.moe is perhaps more modern, because the board software is being actively expanded to have some unusual and new features, and the admin constantly comes up with new ideas for his imageboard.
Name:

343 Name: mothership : 2026-04-27 07:58:24

https://github.com/2003emachinesDesktop/ESP32_netwatch

im planning on setting it up to run a basic http web server with a basic web UI to let users check logs, and change wifi and domain settings and the checking time.

344 Name: progchan !Hbv-BZDL : 2026-04-27 12:30:25

nice looks good so far! sync'ing the time once an hour and every 5 minutes you're checking wifi connection with lcd stuff. no notes! micro python seems sweet.

345 Name: mothership : 2026-04-30 10:37:42

thanks.

micropython is really nice, i just forget that there isnt support for a lot of the standard python moduals or libraries.

there are a lot of libraries that work in replacement tho. so its not bad.
Name:

339 Name: progchan !Hbv-BZDL : 2026-04-26 13:14:07

Dailies and Random Question or whatever else.

340 Name: progchan !Hbv-BZDL : 2026-04-26 13:15:32

https://leetcode.com/problems/zero-array-transformation-i/

Diff array stuff. This one was tough to conceptualize. If you actually loop through the L to R of each query it'll time you out for n*2 time complexity. So its actually like a presum where each index of diff represents the maximum you can subtract from the input array to try and get each element to zero.

class Solution:
    def isZeroArray(self, nums: List[int], queries: List[List[int]]) -> bool:
        diff = [0] * (len(nums)+1)
        for l,r in queries:
            diff[l] += 1
            diff[r+1] -= 1
        max_diff = 0
        for i, n in enumerate(nums):
            max_diff += diff[i]
            if n - max_diff > 0:
                return False
        return True
Name:

130 Name: Anonymous : 2026-03-01 20:37:11

*.   ⊂⊃  ☆.。.:*・゜☆. .。*:。.
 (ヽ...ハ,,ハ  /     All who post itt :。
  (ヾ ( ・Д・) /      are blessed *゚
  / /( つ  つ  。:*゚゜. by giko neko tenchi
 ( /(/_____|/   ゚*:。.*:。.。.:*・゜☆
> 8 replies omitted. Click here to view.

182 Name: Anonymous : 2026-03-05 05:55:29

I modeled this after myself

8=℈𜰉𜰉 🃏

231 Name: Anonymous : 2026-03-16 11:54:46

⊹࣪﹏𓊝﹏𓂁﹏⊹࣪˖
This website seems cool

232 Name: Anonymous : 2026-03-16 15:05:02

>>231
ya well your mom is cool!

233 Name: Anonymous : 2026-03-16 18:33:04

>>231
・     。        。  ☆
 
   ☆    ∧_∧ o
  。     ( ・Д・ ) < thanks
        ⊂   つ ・     ゚   
 ゚        / / /
  。     し' し'     .    〇
       ・ 
  o  ゚       。  ☆

337 Name: progchan !05fbr-b_ : 2026-04-21 21:19:40

\人人人人人人人/
三 Something 三
三 is happening! 三
/人人人人人人人\

/\   /\
/  \_/  \
       \
 ○   ○ |
   __  |
   | |  |
   /  |  /
    ̄ ̄ /
Name:

314 Name: progchan !05fbr-b_ : 2026-04-17 13:43:58

Programming. Vibing. Studying. Whatevers add it. This is what I'm liking right now:
>Street Fighter II Synthwave By Retro Kid
https://www.youtube.com/watch?v=OZhEWLywwVc

315 Name: progchan !05fbr-b_ : 2026-04-17 14:30:52

Retro Kid's Zelda Synthwave ain't bad either.
https://www.youtube.com/watch?v=j9DDJJl-ibI
Name:

295 Name: progchan !Hbv-BZDL : 2026-04-10 14:06:59

, -──-、
/ リハ ヽ
| |(0  0)| < I'm on Mint
| |  ヮノ|
W   W
I went from ubuntu to mint. But it's probably time to switch again. I'm not gonna lie DHH's Omarchy is looking pretty nice right now.
> 4 replies omitted. Click here to view.

307 Name: mothership : 2026-04-13 10:15:35

tbh my next experiance on linux has been ubuntu. unpopular opinion but i dont mind gnome.

ive tried mint but idk their cinnimon DE makes the whole thing look like a cartoon to me, could never use it for more than a few days.

309 Name: Anonymous : 2026-04-13 13:49:27

I've been using Arch for a little over a decade now. I'm unsure if I'll switch to Artix or got the Gentoo/LFS route with knee bending that has happened to systemd. My DE is just cinnamon, I have used DWM in the past, but it wasn't really for me, but I do use ST as my main terminal emulator.

310 Name: mothership : 2026-04-14 09:35:18

>>309
knee-bending?

311 Name: Anonymous : 2026-04-14 15:14:23

>>310
Bending the knee(kneeling before an authority and/or opinion) to comply with recent law changes in the USA that will "require" all computer users to verify their age with the OS they are using. It was sad to see how quickly devs that contribute to FOSS were quick to comply with an invasive law.

313 Name: Anonymous : 2026-04-14 22:09:44

fuck me I forgot about that whole thing. its absolutely retarded. we already have it across every site. why would adding it to the os even matter? I literally can't tell if its a global conspiracy or if the world keeps getting a little more retarded each day.
Name:

212 Name: Anonymous : 2026-03-11 20:04:55

Making something? Lemme see!
> 6 replies omitted. Click here to view.

251 Name: Anonymous : 2026-03-20 20:56:05

>>250
I really like wikis dedicated to their respective communities and I spent too much time reading Encyclopedia Dramatica as a kid.
My favorite encyclopedia is "Larousse Gastronomique", but most recent version is was published in 2009. There a lot of gaps in Latin, Arab, African, and Asian cuisines in book. So I wanted to fill that gap and take note of the all the other things that are missing from the most recent edition.
Now combining my fascination with lowbrow wikis and my love of food I am able to collect and write about things that I'm interested in without being worried about being judged by someone I have never met.
I would like to have a food forum and wiki available to people at some point, but some how in my all years of playing with software I never bothered to learn the basics of webdev(I know the basics of HTML and CSS, and that's it lol) + as my career continues I'll probably have less and less time to manage something like that

253 Name: Anonymous : 2026-03-21 00:54:02

ooo ED was a good one. old internets has some cool wikis. hmm its pretty easy to throw up a static anonymous site on neocities or whatever and you can just ask ai to generate wiki style pages from your text, but ya doing a whole form and editable wiki even if you use open source and ai is sort of a pain to maintain. but having even a static anonymous site is nice for getting feedback on junk.

306 Name: Anonymous : 2026-04-13 02:30:05

>ask ai to generate wiki style pages from your text,
```bash
for f in files/*.md; do
pandoc $f -f markdown -t html -o "html/$(basename .$f .md).html"
done
```
It's as easy as that in principle, you can add making an index with a 4 lines of awk too. Copy the resources into html with another line. Static site generators and CMS are a scam.

308 Name: mothership : 2026-04-13 10:19:12

right now im building a newwork monitor with an esp32 and an i2c LCD display. written in micropython.

would work but a lot of libraries for python dont woek with micropython.

i wanna do a plant/garden monitoring project using an esp32 and an old raspi. hoping to collect temp, light, soil mosture, etc. would like to work on automated watering and lighting.

might use the pi to do some basic timelapse photos and provide live cam footage, maybe see if i can set up some computer vision libraries to detect plant health and age.

312 Name: Anonymous : 2026-04-14 22:07:00

>>306
pandoc is based. pretty much just works for any conversion.
>>308
esp32 is underrated. you can plug those things into any hardware project for dollars. im absolutely retarded at using any hardware to interface with that shit though like servos were just impossible for me to get right. how are you watering it?
Name:

New thread

Title:
Name: